From 6eae490c2495af86703aa086695faad4daa5cba7 Mon Sep 17 00:00:00 2001 From: Aolkzyeoer Date: Fri, 11 Sep 2026 19:49:03 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E7=A7=BB=E5=8B=95=E5=88=B01.21.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + .vscode/launch.json | 40 +- README.md | 2 +- build.gradle | 11 +- gradle.properties | 20 +- list/recipes.txt | 2 - net/minecraft/world/item/Item.java | 823 --- .../event/MovementInputUpdateEvent.java | 39 - settings.gradle | 4 - .../blockstates/amethyst_lantern.json | 7 + .../decisland/blockstates/ancient_ice.json | 7 + .../assets/decisland/blockstates/ash.json | 7 + .../blockstates/baby_blue_eyes_flower.json | 7 + .../decisland/blockstates/balloon_flower.json | 7 + .../blockstates/bizarre_chilli_crop.json | 28 + .../blockstates/black_flower_block.json | 7 + .../blockstates/blue_flower_block.json | 7 + .../decisland/blockstates/blue_gem_ore.json | 7 + .../blockstates/blue_ice_brick_block.json | 7 + .../decisland/blockstates/breeze_flower.json | 7 + .../decisland/blockstates/butter_flower.json | 7 + .../decisland/blockstates/butterfly_pea.json | 7 + .../decisland/blockstates/candy_block.json | 7 + .../blockstates/chiseled_ice_brick.json | 7 + .../decisland/blockstates/cloud_flower.json | 7 + .../blockstates/compress_flower_block.json | 7 + .../decisland/blockstates/compressed_ice.json | 7 + .../decisland/blockstates/corn_crop.json | 34 + .../decisland/blockstates/crimson_lamp.json | 7 + .../assets/decisland/blockstates/crinum.json | 7 + .../decisland/blockstates/dandelion.json | 7 + .../decisland/blockstates/deep_dandelion.json | 7 + .../decisland/blockstates/depart_grass.json | 7 + .../blockstates/desert_fan_flower.json | 7 + .../decisland/blockstates/end_coal_ore.json | 7 + .../blockstates/end_diamond_ore.json | 7 + .../blockstates/end_emerald_ore.json | 7 + .../decisland/blockstates/end_gold_ore.json | 7 + .../decisland/blockstates/end_iron_ore.json | 7 + .../decisland/blockstates/end_lapis_ore.json | 7 + .../assets/decisland/blockstates/end_ore.json | 7 + .../blockstates/end_redstone_ore.json | 7 + .../blockstates/experience_flower_crop.json | 28 + .../decisland/blockstates/fan_flower.json | 7 + .../blockstates/flower_ghost_block.json | 7 + .../blockstates/fritillary_crop.json | 28 + .../blockstates/frozen_mirror_flower.json | 7 + .../decisland/blockstates/gold_flower.json | 7 + .../decisland/blockstates/golden_lamp.json | 7 + .../decisland/blockstates/hammer_flower.json | 7 + .../blockstates/houttuynia_crop.json | 28 + .../blockstates/ice_brick_block.json | 7 + .../decisland/blockstates/ice_lantern.json | 7 + .../blockstates/ice_mixed_brick.json | 7 + .../decisland/blockstates/lamp_flower.json | 7 + .../blockstates/lava_flower_crop.json | 28 + .../decisland/blockstates/lava_ore.json | 7 + .../decisland/blockstates/leaves_flower.json | 7 + .../decisland/blockstates/leek_crop.json | 28 + .../decisland/blockstates/light_obsidian.json | 7 + .../decisland/blockstates/lurk_bud.json | 7 + .../decisland/blockstates/lurk_fruit.json | 7 + .../decisland/blockstates/lurk_grass.json | 7 + .../decisland/blockstates/lurk_log.json | 16 + .../decisland/blockstates/lurk_mushroom.json | 7 + .../decisland/blockstates/lurk_orchid.json | 7 + .../decisland/blockstates/lurk_spring.json | 7 + .../decisland/blockstates/maple_flower.json | 7 + .../blockstates/mock_strawberry.json | 7 + .../decisland/blockstates/mooli_crop.json | 28 + .../decisland/blockstates/mouth_flower.json | 7 + .../blockstates/nether_coal_ore.json | 7 + .../blockstates/nether_dandelion.json | 7 + .../blockstates/nether_diamond_ore.json | 7 + .../blockstates/nether_emerald_ore.json | 7 + .../blockstates/nether_iron_ore.json | 7 + .../blockstates/nether_lapis_ore.json | 7 + .../blockstates/nether_redstone_ore.json | 7 + .../blockstates/nether_stick_flower.json | 7 + .../blockstates/nightmare_block.json | 7 + .../decisland/blockstates/pink_dandelion.json | 7 + .../blockstates/pink_fan_flower.json | 7 + .../blockstates/pink_flower_block.json | 7 + .../blockstates/red_flower_block.json | 7 + .../decisland/blockstates/red_gem_ore.json | 7 + .../blockstates/red_spider_lily.json | 7 + .../decisland/blockstates/red_stonebrick.json | 7 + .../decisland/blockstates/rice_crop.json | 28 + .../decisland/blockstates/rosemary.json | 7 + .../blockstates/rotten_flesh_block.json | 7 + .../decisland/blockstates/russet_grass.json | 7 + .../blockstates/smooth_amethyst_block.json | 7 + .../decisland/blockstates/snow_flower.json | 7 + .../decisland/blockstates/snow_lotus.json | 7 + .../blockstates/solidified_lava_block.json | 7 + .../blockstates/soul_soil_diamond_ore.json | 7 + .../decisland/blockstates/soybean_crop.json | 28 + .../decisland/blockstates/spark_flower.json | 7 + .../decisland/blockstates/spell_flower.json | 7 + .../decisland/blockstates/star_flower.json | 7 + .../decisland/blockstates/steel_block.json | 7 + .../decisland/blockstates/stick_flower.json | 7 + .../decisland/blockstates/stream_ore.json | 7 + .../assets/decisland/blockstates/thyme.json | 7 + .../decisland/blockstates/uranium_block.json | 7 + .../decisland/blockstates/uranium_ore.json | 7 + .../blockstates/white_flower_block.json | 7 + .../decisland/blockstates/wither_cone.json | 7 + .../blockstates/yellow_butterfly_flower.json | 7 + .../blockstates/yellow_flower_block.json | 7 + .../assets/decisland/lang/en_us.json | 4462 +++++++++++++++++ .../assets/decisland/lang/zh_cn.json | 4462 +++++++++++++++++ .../models/block/amethyst_lantern.json | 6 + .../decisland/models/block/ancient_ice.json | 6 + .../assets/decisland/models/block/ash.json | 6 + .../models/block/baby_blue_eyes_flower.json | 6 + .../models/block/balloon_flower.json | 6 + .../block/bizarre_chilli_crop_stage0.json | 6 + .../block/bizarre_chilli_crop_stage1.json | 6 + .../block/bizarre_chilli_crop_stage2.json | 6 + .../block/bizarre_chilli_crop_stage3.json | 6 + .../block/bizarre_chilli_crop_stage4.json | 6 + .../block/bizarre_chilli_crop_stage5.json | 6 + .../block/bizarre_chilli_crop_stage6.json | 6 + .../models/block/black_flower_block.json | 6 + .../models/block/blue_flower_block.json | 6 + .../decisland/models/block/blue_gem_ore.json | 6 + .../models/block/blue_ice_brick_block.json | 6 + .../decisland/models/block/breeze_flower.json | 6 + .../decisland/models/block/butter_flower.json | 6 + .../decisland/models/block/butterfly_pea.json | 6 + .../decisland/models/block/candy_block.json | 6 + .../models/block/chiseled_ice_brick.json | 6 + .../decisland/models/block/cloud_flower.json | 6 + .../models/block/compress_flower_block.json | 6 + .../models/block/compressed_ice.json | 6 + .../models/block/corn_crop_lower_stage0.json | 6 + .../models/block/corn_crop_lower_stage1.json | 6 + .../models/block/corn_crop_lower_stage2.json | 6 + .../models/block/corn_crop_lower_stage3.json | 6 + .../models/block/corn_crop_lower_stage4.json | 6 + .../models/block/corn_crop_upper_stage0.json | 6 + .../models/block/corn_crop_upper_stage1.json | 6 + .../models/block/corn_crop_upper_stage2.json | 6 + .../models/block/corn_crop_upper_stage3.json | 6 + .../decisland/models/block/crimson_lamp.json | 8 + .../assets/decisland/models/block/crinum.json | 6 + .../decisland/models/block/dandelion.json | 6 + .../models/block/deep_dandelion.json | 6 + .../decisland/models/block/depart_grass.json | 6 + .../models/block/desert_fan_flower.json | 6 + .../decisland/models/block/end_coal_ore.json | 6 + .../models/block/end_diamond_ore.json | 6 + .../models/block/end_emerald_ore.json | 6 + .../decisland/models/block/end_gold_ore.json | 6 + .../decisland/models/block/end_iron_ore.json | 6 + .../decisland/models/block/end_lapis_ore.json | 6 + .../decisland/models/block/end_ore.json | 6 + .../models/block/end_redstone_ore.json | 6 + .../block/experience_flower_crop_stage0.json | 6 + .../block/experience_flower_crop_stage1.json | 6 + .../block/experience_flower_crop_stage2.json | 6 + .../decisland/models/block/fan_flower.json | 6 + .../models/block/flower_ghost_block.json | 6 + .../models/block/fritillary_crop_stage0.json | 6 + .../models/block/fritillary_crop_stage1.json | 6 + .../models/block/fritillary_crop_stage2.json | 6 + .../models/block/fritillary_crop_stage3.json | 6 + .../models/block/fritillary_crop_stage4.json | 6 + .../models/block/frozen_mirror_flower.json | 6 + .../decisland/models/block/gold_flower.json | 6 + .../decisland/models/block/golden_lamp.json | 8 + .../decisland/models/block/hammer_flower.json | 6 + .../models/block/houttuynia_crop_stage0.json | 6 + .../models/block/houttuynia_crop_stage1.json | 6 + .../models/block/houttuynia_crop_stage2.json | 6 + .../models/block/houttuynia_crop_stage3.json | 6 + .../models/block/ice_brick_block.json | 6 + .../decisland/models/block/ice_lantern.json | 6 + .../models/block/ice_mixed_brick.json | 6 + .../decisland/models/block/lamp_flower.json | 6 + .../models/block/lava_flower_crop_stage0.json | 6 + .../models/block/lava_flower_crop_stage1.json | 6 + .../models/block/lava_flower_crop_stage2.json | 6 + .../models/block/lava_flower_crop_stage3.json | 6 + .../models/block/lava_flower_crop_stage4.json | 6 + .../decisland/models/block/lava_ore.json | 6 + .../decisland/models/block/leaves_flower.json | 6 + .../models/block/leek_crop_stage0.json | 6 + .../models/block/leek_crop_stage1.json | 6 + .../models/block/leek_crop_stage2.json | 6 + .../models/block/light_obsidian.json | 6 + .../decisland/models/block/lurk_bud.json | 6 + .../decisland/models/block/lurk_fruit.json | 6 + .../decisland/models/block/lurk_grass.json | 6 + .../decisland/models/block/lurk_log.json | 7 + .../decisland/models/block/lurk_mushroom.json | 6 + .../decisland/models/block/lurk_orchid.json | 6 + .../decisland/models/block/lurk_spring.json | 6 + .../decisland/models/block/maple_flower.json | 6 + .../models/block/mock_strawberry.json | 6 + .../models/block/mooli_crop_stage0.json | 6 + .../models/block/mooli_crop_stage1.json | 6 + .../models/block/mooli_crop_stage2.json | 6 + .../models/block/mooli_crop_stage3.json | 6 + .../decisland/models/block/mouth_flower.json | 6 + .../models/block/nether_coal_ore.json | 6 + .../models/block/nether_dandelion.json | 6 + .../models/block/nether_diamond_ore.json | 6 + .../models/block/nether_emerald_ore.json | 6 + .../models/block/nether_iron_ore.json | 6 + .../models/block/nether_lapis_ore.json | 6 + .../models/block/nether_redstone_ore.json | 6 + .../models/block/nether_stick_flower.json | 6 + .../models/block/nightmare_block.json | 6 + .../models/block/pink_dandelion.json | 6 + .../models/block/pink_fan_flower.json | 6 + .../models/block/pink_flower_block.json | 6 + .../models/block/red_flower_block.json | 6 + .../decisland/models/block/red_gem_ore.json | 6 + .../models/block/red_spider_lily.json | 6 + .../models/block/red_stonebrick.json | 6 + .../models/block/rice_crop_stage0.json | 6 + .../models/block/rice_crop_stage1.json | 6 + .../models/block/rice_crop_stage2.json | 6 + .../models/block/rice_crop_stage3.json | 6 + .../models/block/rice_crop_stage4.json | 6 + .../models/block/rice_crop_stage5.json | 6 + .../decisland/models/block/rosemary.json | 6 + .../models/block/rotten_flesh_block.json | 6 + .../decisland/models/block/russet_grass.json | 6 + .../models/block/smooth_amethyst_block.json | 6 + .../decisland/models/block/snow_flower.json | 6 + .../decisland/models/block/snow_lotus.json | 6 + .../models/block/solidified_lava_block.json | 6 + .../models/block/soul_soil_diamond_ore.json | 6 + .../models/block/soybean_crop_stage0.json | 6 + .../models/block/soybean_crop_stage1.json | 6 + .../models/block/soybean_crop_stage2.json | 6 + .../models/block/soybean_crop_stage3.json | 6 + .../models/block/soybean_crop_stage4.json | 6 + .../decisland/models/block/spark_flower.json | 6 + .../decisland/models/block/spell_flower.json | 6 + .../decisland/models/block/star_flower.json | 6 + .../decisland/models/block/steel_block.json | 6 + .../decisland/models/block/stick_flower.json | 6 + .../decisland/models/block/stream_ore.json | 6 + .../assets/decisland/models/block/thyme.json | 6 + .../decisland/models/block/uranium_block.json | 6 + .../decisland/models/block/uranium_ore.json | 6 + .../models/block/white_flower_block.json | 6 + .../decisland/models/block/wither_cone.json | 6 + .../models/block/yellow_butterfly_flower.json | 6 + .../models/block/yellow_flower_block.json | 6 + .../decisland/models/item/a_bowl_of_rice.json | 6 + .../models/item/a_piece_of_salmon.json | 6 + .../decisland/models/item/absolute_zero.json | 6 + .../models/item/abyssal_controller_mask.json | 6 + .../decisland/models/item/agent_mask.json | 6 + .../decisland/models/item/alchemic_stone.json | 6 + .../decisland/models/item/alex_mask.json | 6 + .../decisland/models/item/allay_mask.json | 6 + .../decisland/models/item/amethyst_axe.json | 6 + .../decisland/models/item/amethyst_boots.json | 6 + .../models/item/amethyst_chestplate.json | 6 + .../models/item/amethyst_dagger.json | 6 + .../decisland/models/item/amethyst_dart.json | 6 + .../models/item/amethyst_helmet.json | 6 + .../models/item/amethyst_lantern.json | 3 + .../models/item/amethyst_leggings.json | 6 + .../models/item/amethyst_pickaxe.json | 6 + .../models/item/amethyst_ray_staff.json | 6 + .../decisland/models/item/amethyst_sword.json | 6 + .../decisland/models/item/ancient_ice.json | 3 + .../decisland/models/item/apple_juice.json | 6 + .../decisland/models/item/apple_pie.json | 6 + .../models/item/archer_bullet_bag.json | 6 + .../decisland/models/item/archer_hat.json | 6 + .../models/item/archer_stones_bag.json | 6 + .../models/item/arctic_fox_mask.json | 6 + .../assets/decisland/models/item/ash.json | 3 + .../decisland/models/item/ash_blaze_mask.json | 6 + .../assets/decisland/models/item/ash_key.json | 6 + .../models/item/ash_knight_mask.json | 6 + .../decisland/models/item/ash_pufferfish.json | 6 + .../models/item/ash_pufferfish_mask.json | 6 + .../decisland/models/item/autumn_leaves.json | 6 + .../models/item/axolotl_blue_mask.json | 6 + .../models/item/axolotl_cyan_mask.json | 6 + .../models/item/axolotl_gold_mask.json | 6 + .../models/item/axolotl_lucy_mask.json | 6 + .../models/item/axolotl_wild_mask.json | 6 + .../models/item/baby_blue_eyes_flower.json | 6 + .../decisland/models/item/balloon_flower.json | 6 + .../decisland/models/item/bamboo_katana.json | 6 + .../decisland/models/item/bat_bait.json | 6 + .../decisland/models/item/bat_mask.json | 6 + .../decisland/models/item/bat_wing.json | 6 + .../decisland/models/item/bee_mask.json | 6 + .../decisland/models/item/bizarre_chilli.json | 6 + .../models/item/bizarre_chilli_seeds.json | 6 + .../decisland/models/item/black_courtesy.json | 6 + .../models/item/black_flower_block.json | 3 + .../decisland/models/item/black_shoes.json | 6 + .../decisland/models/item/black_shorts.json | 6 + .../decisland/models/item/blaze_mask.json | 6 + .../decisland/models/item/blizzard_staff.json | 6 + .../decisland/models/item/blizzard_sword.json | 6 + .../models/item/blood_bullet_bag.json | 6 + .../decisland/models/item/blood_mare.json | 6 + .../decisland/models/item/blood_sickle.json | 6 + .../decisland/models/item/blood_worm.json | 6 + .../decisland/models/item/blue_cat_ears.json | 6 + .../models/item/blue_flower_block.json | 3 + .../decisland/models/item/blue_gem.json | 6 + .../models/item/blue_gem_debris.json | 6 + .../decisland/models/item/blue_gem_hat.json | 6 + .../decisland/models/item/blue_gem_ore.json | 3 + .../models/item/blue_ice_brick_block.json | 3 + .../decisland/models/item/blue_jellyfish.json | 6 + .../decisland/models/item/bone_sword.json | 6 + .../decisland/models/item/book_of_deep.json | 6 + .../decisland/models/item/boomber_mask.json | 6 + .../assets/decisland/models/item/bracken.json | 6 + .../decisland/models/item/brain_rice.json | 6 + .../decisland/models/item/breeze_flower.json | 6 + .../models/item/brown_bear_mask.json | 6 + .../models/item/brown_mooshroom_mask.json | 6 + .../decisland/models/item/bullet_bag.json | 6 + .../decisland/models/item/butter_flower.json | 6 + .../decisland/models/item/butterfly_pea.json | 6 + .../decisland/models/item/cactus_sword.json | 6 + .../models/item/camouflage_pants.json | 6 + .../assets/decisland/models/item/candy.json | 6 + .../decisland/models/item/candy_block.json | 3 + .../decisland/models/item/candy_cane.json | 6 + .../models/item/cave_spider_mask.json | 6 + .../models/item/challenge_of_ash.json | 6 + .../decisland/models/item/chicken_mask.json | 6 + .../models/item/chiseled_ice_brick.json | 3 + .../models/item/chocolate_cookie.json | 6 + .../decisland/models/item/chocolates.json | 6 + .../decisland/models/item/christmas_cap.json | 6 + .../decisland/models/item/cloud_flower.json | 6 + .../decisland/models/item/coal_fish.json | 6 + .../decisland/models/item/coal_nugget.json | 6 + .../assets/decisland/models/item/cob.json | 6 + .../models/item/coffee_of_lileyi.json | 6 + .../models/item/complete_bat_wing.json | 6 + .../models/item/compress_flower_block.json | 3 + .../decisland/models/item/compressed_ice.json | 3 + .../decisland/models/item/cooked_brain.json | 6 + .../models/item/copper_battleaxe.json | 6 + .../decisland/models/item/copper_dagger.json | 6 + .../decisland/models/item/copper_dart.json | 6 + .../decisland/models/item/copper_sickle.json | 6 + .../decisland/models/item/coral_axe.json | 6 + .../decisland/models/item/coral_dart.json | 6 + .../decisland/models/item/coral_ingot.json | 6 + .../decisland/models/item/coral_pickaxe.json | 6 + .../decisland/models/item/coral_sword.json | 6 + .../assets/decisland/models/item/corn.json | 6 + .../decisland/models/item/corn_seeds.json | 6 + .../models/item/corrupted_sword.json | 6 + .../decisland/models/item/cow_mask.json | 6 + .../decisland/models/item/crab_leg.json | 6 + .../models/item/crab_leg_cooked.json | 6 + .../decisland/models/item/creeper_mask.json | 6 + .../decisland/models/item/crimson_lamp.json | 3 + .../models/item/crimson_slime_mask.json | 6 + .../assets/decisland/models/item/crinum.json | 6 + .../decisland/models/item/crying_boots.json | 6 + .../models/item/crying_chestplate.json | 6 + .../decisland/models/item/crying_helmet.json | 6 + .../models/item/crying_leggings.json | 6 + .../models/item/crystal_nucleus.json | 6 + .../assets/decisland/models/item/cudgel.json | 6 + .../decisland/models/item/dandelion.json | 6 + .../models/item/dark_blue_jacket.json | 6 + .../decisland/models/item/dark_debris.json | 6 + .../decisland/models/item/dark_pearl.json | 6 + .../models/item/dark_snow_man_mask.json | 6 + .../decisland/models/item/dark_stone.json | 6 + .../models/item/dark_werewolf_mask.json | 6 + .../models/item/dark_zombie_mask.json | 6 + .../models/item/dead_wood_dagger.json | 6 + .../models/item/dead_wood_rapier.json | 6 + .../models/item/decrepit_atlantis.json | 6 + .../decisland/models/item/deep_dandelion.json | 6 + .../decisland/models/item/deep_staff.json | 6 + .../decisland/models/item/depart_grass.json | 6 + .../models/item/desert_fan_flower.json | 6 + .../decisland/models/item/diamond_apple.json | 6 + .../models/item/diamond_apple_enchanted.json | 6 + .../models/item/diamond_crystal_nucleus.json | 6 + .../decisland/models/item/diamond_dagger.json | 6 + .../decisland/models/item/diamond_dart.json | 6 + .../decisland/models/item/diamond_fish.json | 6 + .../decisland/models/item/diamond_nugget.json | 6 + .../decisland/models/item/diamond_ring.json | 6 + .../decisland/models/item/diamond_sickle.json | 6 + .../decisland/models/item/diamond_staff.json | 6 + .../decisland/models/item/dirt_boots.json | 6 + .../models/item/dirt_chestplate.json | 6 + .../decisland/models/item/dirt_helmet.json | 6 + .../decisland/models/item/dirt_leggings.json | 6 + .../decisland/models/item/dolphin_mask.json | 6 + .../decisland/models/item/drowned_mask.json | 6 + .../decisland/models/item/dust_destroyer.json | 6 + .../decisland/models/item/dust_ring.json | 6 + .../models/item/elf_of_ash_mask.json | 6 + .../models/item/elf_of_chaos_mask.json | 6 + .../models/item/elf_of_deep_mask.json | 6 + .../models/item/elf_of_leaves_mask.json | 6 + .../decisland/models/item/emerald_apple.json | 6 + .../models/item/emerald_apple_enchanted.json | 6 + .../decisland/models/item/emerald_axe.json | 6 + .../decisland/models/item/emerald_boots.json | 6 + .../models/item/emerald_chestplate.json | 6 + .../decisland/models/item/emerald_dagger.json | 6 + .../decisland/models/item/emerald_dart.json | 6 + .../decisland/models/item/emerald_fish.json | 6 + .../decisland/models/item/emerald_helmet.json | 6 + .../models/item/emerald_leggings.json | 6 + .../decisland/models/item/emerald_nugget.json | 6 + .../models/item/emerald_pickaxe.json | 6 + .../decisland/models/item/emerald_ring.json | 6 + .../decisland/models/item/emerald_staff.json | 6 + .../decisland/models/item/emerald_sword.json | 6 + .../decisland/models/item/empty_totem.json | 6 + .../decisland/models/item/end_coal_ore.json | 3 + .../models/item/end_diamond_ore.json | 3 + .../models/item/end_emerald_ore.json | 3 + .../decisland/models/item/end_gold_ore.json | 3 + .../decisland/models/item/end_iron_ore.json | 3 + .../decisland/models/item/end_lapis_ore.json | 3 + .../assets/decisland/models/item/end_ore.json | 3 + .../models/item/end_redstone_ore.json | 3 + .../models/item/end_stone_golem_mask.json | 6 + .../decisland/models/item/ender_bone.json | 6 + .../decisland/models/item/ender_breath.json | 6 + .../decisland/models/item/ender_core.json | 6 + .../models/item/ender_crystal_nucleus.json | 6 + .../decisland/models/item/ender_egg.json | 6 + .../decisland/models/item/ender_fish.json | 6 + .../decisland/models/item/ender_powder.json | 6 + .../decisland/models/item/ender_ring.json | 6 + .../decisland/models/item/ender_stone.json | 6 + .../models/item/ender_substance.json | 6 + .../models/item/ender_witch_mask.json | 6 + .../decisland/models/item/enderman_mask.json | 6 + .../models/item/energy_ray_staff.json | 6 + .../models/item/enriched_uranium.json | 6 + .../decisland/models/item/entity_soul.json | 6 + .../models/item/entity_soul_mask.json | 6 + .../decisland/models/item/es_clothes.json | 6 + .../decisland/models/item/es_pants.json | 6 + .../decisland/models/item/es_shoes.json | 6 + .../models/item/everlasting_winter_boots.json | 6 + .../item/everlasting_winter_chestplate.json | 6 + .../item/everlasting_winter_dagger.json | 6 + .../models/item/everlasting_winter_dart.json | 6 + .../item/everlasting_winter_flintlock.json | 6 + .../item/everlasting_winter_ghast_mask.json | 6 + .../item/everlasting_winter_helmet.json | 6 + .../models/item/everlasting_winter_ingot.json | 6 + .../item/everlasting_winter_leggings.json | 6 + .../item/everlasting_winter_sickle.json | 6 + .../models/item/everlasting_winter_staff.json | 6 + .../models/item/everlasting_winter_stick.json | 6 + .../models/item/everlasting_winter_sword.json | 6 + .../models/item/evil_snow_man_mask.json | 6 + .../models/item/experience_book.json | 6 + .../models/item/experience_book_empty.json | 6 + .../item/experience_book_pro_empty.json | 6 + .../models/item/experience_flower_seeds.json | 6 + .../decisland/models/item/eye_of_nature.json | 6 + .../decisland/models/item/fan_flower.json | 6 + .../decisland/models/item/fang_mace.json | 6 + .../decisland/models/item/farmer_hat.json | 6 + .../models/item/final_crystal_nucleus.json | 6 + .../decisland/models/item/fire_ring.json | 6 + .../decisland/models/item/firefly_bottle.json | 6 + .../models/item/flare_magic_book.json | 6 + .../decisland/models/item/flintlock.json | 6 + .../models/item/flintlock_bullet.json | 6 + .../decisland/models/item/flintlock_pro.json | 6 + .../decisland/models/item/flower_essence.json | 6 + .../models/item/following_particle.json | 6 + .../models/item/formal_style_clothes.json | 6 + .../models/item/formal_style_pants.json | 6 + .../decisland/models/item/fox_mask.json | 6 + .../decisland/models/item/frank_mask.json | 6 + .../decisland/models/item/fried_egg.json | 6 + .../models/item/fried_melon_seed.json | 6 + .../decisland/models/item/fritillary.json | 6 + .../models/item/fritillary_seeds.json | 6 + .../decisland/models/item/frozen_ball.json | 6 + .../decisland/models/item/frozen_boots.json | 6 + .../models/item/frozen_chestplate.json | 6 + .../decisland/models/item/frozen_dart.json | 6 + .../decisland/models/item/frozen_fish.json | 6 + .../decisland/models/item/frozen_helmet.json | 6 + .../models/item/frozen_leggings.json | 6 + .../models/item/frozen_mirror_flower.json | 6 + .../decisland/models/item/frozen_power.json | 6 + .../models/item/frozen_power_debris.json | 6 + .../models/item/frozen_ray_staff.json | 6 + .../models/item/frozen_spider_mask.json | 6 + .../decisland/models/item/frozen_staff.json | 6 + .../decisland/models/item/gargoyle_mask.json | 6 + .../decisland/models/item/gas_bomb.json | 6 + .../decisland/models/item/ghast_mask.json | 6 + .../decisland/models/item/ghost_dagger.json | 6 + .../decisland/models/item/ghost_essence.json | 6 + .../models/item/ghost_flintlock.json | 6 + .../decisland/models/item/ghost_ingot.json | 6 + .../decisland/models/item/ghost_sickle.json | 6 + .../decisland/models/item/ghost_sword.json | 6 + .../models/item/giant_bat_wings.json | 6 + .../decisland/models/item/giant_ivy.json | 6 + .../models/item/gingerbread_man.json | 6 + .../models/item/gingerbread_man_mask.json | 6 + .../models/item/gingerbread_sword.json | 6 + .../decisland/models/item/glamor_clothes.json | 6 + .../decisland/models/item/glamor_pants.json | 6 + .../decisland/models/item/glamor_shoes.json | 6 + .../decisland/models/item/glass_axe.json | 6 + .../decisland/models/item/glass_ingot.json | 6 + .../decisland/models/item/glass_pickaxe.json | 6 + .../decisland/models/item/glass_tank.json | 6 + .../decisland/models/item/goblin_mask.json | 6 + .../decisland/models/item/gold_dart.json | 6 + .../decisland/models/item/gold_fish.json | 6 + .../decisland/models/item/gold_flower.json | 6 + .../decisland/models/item/gold_ring.json | 6 + .../decisland/models/item/gold_sickle.json | 6 + .../decisland/models/item/gold_yuanbao.json | 6 + .../decisland/models/item/golden_dagger.json | 6 + .../decisland/models/item/golden_lamp.json | 3 + .../decisland/models/item/golden_staff.json | 6 + .../decisland/models/item/gray_shoes.json | 6 + .../assets/decisland/models/item/growth.json | 6 + .../models/item/guardian_elder_mask.json | 6 + .../decisland/models/item/guardian_mask.json | 6 + .../decisland/models/item/guide_book.json | 6 + .../decisland/models/item/hammer_flower.json | 6 + .../decisland/models/item/hanyi_clothes.json | 6 + .../models/item/hanyi_hair_accessories.json | 6 + .../decisland/models/item/hanyi_pants.json | 6 + .../decisland/models/item/hanyi_shoes.json | 6 + .../models/item/hard_bamboo_katana.json | 6 + .../decisland/models/item/hard_lollipop.json | 6 + .../decisland/models/item/haste_potion.json | 6 + .../decisland/models/item/health_nugget.json | 6 + .../decisland/models/item/health_stone.json | 6 + .../decisland/models/item/heart_egg.json | 6 + .../decisland/models/item/heart_ring.json | 6 + .../decisland/models/item/hemp_rope.json | 6 + .../decisland/models/item/herb_bag.json | 6 + .../item/high_concentration_uranium.json | 6 + .../models/item/host_of_deep_mask.json | 6 + .../decisland/models/item/houttuynia.json | 6 + .../models/item/houttuynia_seeds.json | 6 + .../decisland/models/item/hunter_book.json | 6 + .../models/item/hunter_bullet_bag.json | 6 + .../decisland/models/item/husk_mask.json | 6 + .../decisland/models/item/ice_blaze_mask.json | 6 + .../decisland/models/item/ice_brick.json | 6 + .../models/item/ice_brick_block.json | 3 + .../decisland/models/item/ice_cream.json | 6 + .../decisland/models/item/ice_heart.json | 6 + .../decisland/models/item/ice_ingot.json | 6 + .../decisland/models/item/ice_lantern.json | 3 + .../models/item/ice_mixed_brick.json | 3 + .../decisland/models/item/ice_nugget.json | 6 + .../assets/decisland/models/item/ice_rod.json | 6 + .../decisland/models/item/ice_sword.json | 6 + .../models/item/ice_zombie_mask.json | 6 + .../decisland/models/item/illager_mask.json | 6 + .../decisland/models/item/illager_sword.json | 6 + .../item/infinite_crystal_nucleus_1.json | 6 + .../item/infinite_crystal_nucleus_2.json | 6 + .../item/infinite_crystal_nucleus_3.json | 6 + .../decisland/models/item/intestine.json | 6 + .../decisland/models/item/iron_apple.json | 6 + .../models/item/iron_apple_enchanted.json | 6 + .../decisland/models/item/iron_dagger.json | 6 + .../decisland/models/item/iron_dart.json | 6 + .../decisland/models/item/iron_fish.json | 6 + .../models/item/iron_golem_mask.json | 6 + .../decisland/models/item/iron_key.json | 6 + .../decisland/models/item/iron_sickle.json | 6 + .../decisland/models/item/iron_staff.json | 6 + .../decisland/models/item/iron_stick.json | 6 + .../assets/decisland/models/item/jacket.json | 6 + .../models/item/jellyfish_staff.json | 6 + .../jellyfish_staff_projectile_render.json | 6 + .../decisland/models/item/jiuzhi_jacket.json | 6 + .../decisland/models/item/jiuzhi_pants.json | 6 + .../decisland/models/item/jiuzhi_shoes.json | 6 + .../decisland/models/item/knight_helmet.json | 6 + .../decisland/models/item/lamp_flower.json | 6 + .../assets/decisland/models/item/lamprey.json | 6 + .../decisland/models/item/lapis_apple.json | 6 + .../models/item/lapis_bullet_render.json | 6 + .../decisland/models/item/lapis_dagger.json | 6 + .../models/item/lapis_magic_book.json | 6 + .../decisland/models/item/lapis_nugget.json | 6 + .../decisland/models/item/lapis_staff.json | 6 + .../decisland/models/item/lapis_sword.json | 6 + .../decisland/models/item/lava_boots.json | 6 + .../models/item/lava_bullet_bag.json | 6 + .../models/item/lava_chestplate.json | 6 + .../decisland/models/item/lava_dart.json | 6 + .../decisland/models/item/lava_essence.json | 6 + .../decisland/models/item/lava_flintlock.json | 6 + .../models/item/lava_flower_seeds.json | 6 + .../decisland/models/item/lava_helmet.json | 6 + .../decisland/models/item/lava_ingot.json | 6 + .../decisland/models/item/lava_leggings.json | 6 + .../decisland/models/item/lava_nugget.json | 6 + .../decisland/models/item/lava_ore.json | 3 + .../decisland/models/item/lava_sword.json | 6 + .../decisland/models/item/leaves_dagger.json | 6 + .../decisland/models/item/leaves_flower.json | 6 + .../models/item/leaves_golem_mask.json | 6 + .../assets/decisland/models/item/leek.json | 6 + .../decisland/models/item/leek_cooked.json | 6 + .../decisland/models/item/leek_seeds.json | 6 + .../decisland/models/item/lester_clothes.json | 6 + .../decisland/models/item/lester_pants.json | 6 + .../decisland/models/item/lester_shoes.json | 6 + .../decisland/models/item/light_obsidian.json | 3 + .../models/item/lightning_stone.json | 6 + .../decisland/models/item/lollipop.json | 6 + .../decisland/models/item/long_bread.json | 6 + .../decisland/models/item/lurk_bud.json | 6 + .../decisland/models/item/lurk_fruit.json | 6 + .../decisland/models/item/lurk_grass.json | 6 + .../decisland/models/item/lurk_log.json | 3 + .../decisland/models/item/lurk_mushroom.json | 6 + .../decisland/models/item/lurk_orchid.json | 6 + .../decisland/models/item/lurk_spring.json | 6 + .../decisland/models/item/magic_article.json | 6 + .../models/item/magic_chest_debris.json | 6 + .../decisland/models/item/magic_crystal.json | 6 + .../models/item/magic_ice_cream.json | 6 + .../decisland/models/item/magic_powder.json | 6 + .../models/item/magic_surge_core.json | 6 + .../models/item/magma_cube_mask.json | 6 + .../decisland/models/item/maple_flower.json | 6 + .../decisland/models/item/melon_piece.json | 6 + .../models/item/mind_controller.json | 6 + .../models/item/mock_strawberry.json | 6 + .../assets/decisland/models/item/mooli.json | 6 + .../decisland/models/item/mooli_seeds.json | 6 + .../decisland/models/item/moon_jellyfish.json | 6 + .../decisland/models/item/mooshroom_mask.json | 6 + .../decisland/models/item/mouth_flower.json | 6 + .../decisland/models/item/muddy_ball.json | 6 + .../decisland/models/item/muddy_fish.json | 6 + .../decisland/models/item/mummy_mask.json | 6 + .../models/item/mummy_skeleton_mask.json | 6 + .../decisland/models/item/mushroom_mask.json | 6 + .../decisland/models/item/mysterious_key.json | 6 + .../models/item/mysterious_key_debris.json | 6 + .../models/item/mystical_skeleton_mask.json | 6 + .../decisland/models/item/natural_ring.json | 6 + .../decisland/models/item/nature_essence.json | 6 + .../decisland/models/item/nautilus_alive.json | 6 + .../models/item/nether_coal_ore.json | 3 + .../models/item/nether_creeper_mask.json | 6 + .../models/item/nether_dandelion.json | 6 + .../models/item/nether_diamond_ore.json | 3 + .../models/item/nether_emerald_ore.json | 3 + .../models/item/nether_golem_mask.json | 6 + .../models/item/nether_iron_ore.json | 3 + .../models/item/nether_lapis_ore.json | 3 + .../models/item/nether_phantom_mask.json | 6 + .../models/item/nether_redstone_ore.json | 3 + .../models/item/nether_skeleton_mask.json | 6 + .../item/nether_skeleton_wizard_mask.json | 6 + .../models/item/nether_stick_flower.json | 6 + .../models/item/netherite_dagger.json | 6 + .../decisland/models/item/netherite_dart.json | 6 + .../models/item/netherite_sickle.json | 6 + .../decisland/models/item/night_sword.json | 6 + .../decisland/models/item/nightmare.json | 6 + .../models/item/obsidian_golem_mask.json | 6 + .../decisland/models/item/old_book.json | 6 + .../models/item/old_monster_mask.json | 6 + .../assets/decisland/models/item/perch.json | 6 + .../decisland/models/item/perch_cooked.json | 6 + .../decisland/models/item/phantom_mask.json | 6 + .../decisland/models/item/pig_mask.json | 6 + .../models/item/piglin_chestplate.json | 6 + .../models/item/piglin_leggings.json | 6 + .../decisland/models/item/pigzombie_mask.json | 6 + .../decisland/models/item/pine_cone.json | 6 + .../decisland/models/item/pink_dandelion.json | 6 + .../models/item/pink_fan_flower.json | 6 + .../models/item/pink_flower_block.json | 3 + .../decisland/models/item/pink_jellyfish.json | 6 + .../models/item/pirate_bullet_bag.json | 6 + .../models/item/player_ghost_mask.json | 6 + .../decisland/models/item/poison_dart.json | 6 + .../decisland/models/item/poison_fish.json | 6 + .../decisland/models/item/poison_gland.json | 6 + .../models/item/polar_wolf_mask.json | 6 + .../decisland/models/item/polarbear_mask.json | 6 + .../models/item/pollution_algae.json | 6 + .../decisland/models/item/potato_rice.json | 6 + .../decisland/models/item/predators_mask.json | 6 + .../models/item/prehistoric_monster_mask.json | 6 + .../models/item/pufferfish_mask.json | 6 + .../decisland/models/item/pulse_stone.json | 6 + .../decisland/models/item/pumpkin_candy.json | 6 + .../decisland/models/item/pure_ingot.json | 6 + .../models/item/radiate_creeper_mask.json | 6 + .../models/item/radiate_crystal.json | 6 + .../models/item/radiate_enderman_mask.json | 6 + .../assets/decisland/models/item/rapier.json | 6 + .../models/item/red_flower_block.json | 3 + .../assets/decisland/models/item/red_gem.json | 6 + .../decisland/models/item/red_gem_debris.json | 6 + .../decisland/models/item/red_gem_hat.json | 6 + .../decisland/models/item/red_gem_ore.json | 3 + .../models/item/red_spider_lily.json | 6 + .../decisland/models/item/red_stonebrick.json | 3 + .../decisland/models/item/redstone_apple.json | 6 + .../models/item/redstone_apple_enchanted.json | 6 + .../models/item/resistance_potion.json | 6 + .../assets/decisland/models/item/rice.json | 6 + .../decisland/models/item/rice_seeds.json | 6 + .../decisland/models/item/rice_wine.json | 6 + .../decisland/models/item/rosemary.json | 6 + .../models/item/rotten_flesh_block.json | 3 + .../decisland/models/item/rough_steel.json | 6 + .../decisland/models/item/rumorer_mask.json | 6 + .../decisland/models/item/rupert_boots.json | 6 + .../models/item/rupert_chestplate.json | 6 + .../decisland/models/item/rupert_helmet.json | 6 + .../models/item/rupert_leggings.json | 6 + .../decisland/models/item/russet_grass.json | 6 + .../assets/decisland/models/item/sardine.json | 6 + .../decisland/models/item/scale_sword.json | 6 + .../decisland/models/item/scimitar.json | 6 + .../models/item/sea_turtle_mask.json | 6 + .../decisland/models/item/sea_urchin.json | 6 + .../models/item/shadow_creeper_mask.json | 6 + .../decisland/models/item/shadow_crystal.json | 6 + .../decisland/models/item/shadow_feather.json | 6 + .../models/item/shadow_of_sea_mask.json | 6 + .../models/item/shadow_skeleton_mask.json | 6 + .../models/item/shadow_zombie_mask.json | 6 + .../decisland/models/item/sharp_coral.json | 6 + .../assets/decisland/models/item/shell.json | 6 + .../models/item/short_flintlock.json | 6 + .../decisland/models/item/shulker_helmet.json | 6 + .../decisland/models/item/shulker_mask.json | 6 + .../models/item/skeleton_assassin_mask.json | 6 + .../decisland/models/item/skeleton_fish.json | 6 + .../models/item/skeleton_knight_mask.json | 6 + .../decisland/models/item/skeleton_mask.json | 6 + .../decisland/models/item/slime_axe.json | 6 + .../decisland/models/item/slime_mask.json | 6 + .../decisland/models/item/slime_pickaxe.json | 6 + .../decisland/models/item/sliver_yuanbao.json | 6 + .../decisland/models/item/small_stone.json | 6 + .../models/item/small_stone_block.json | 6 + .../decisland/models/item/smoke_bomb.json | 6 + .../models/item/smooth_amethyst_block.json | 3 + .../decisland/models/item/snailfish.json | 6 + .../decisland/models/item/snow_flower.json | 6 + .../decisland/models/item/snow_lotus.json | 6 + .../models/item/snowball_magic_book.json | 6 + .../models/item/solidified_lava_block.json | 3 + .../assets/decisland/models/item/soul.json | 6 + .../models/item/soul_blaze_mask.json | 6 + .../decisland/models/item/soul_blaze_rod.json | 6 + .../decisland/models/item/soul_key.json | 6 + .../models/item/soul_skeleton_mask.json | 6 + .../models/item/soul_soil_diamond_ore.json | 3 + .../decisland/models/item/soul_staff.json | 6 + .../models/item/soul_wake_bullet_render.json | 6 + .../models/item/soul_zombie_mask.json | 6 + .../assets/decisland/models/item/soybean.json | 6 + .../decisland/models/item/spark_flower.json | 6 + .../decisland/models/item/spell_flower.json | 6 + .../decisland/models/item/spider_mask.json | 6 + .../decisland/models/item/spiral_shell.json | 6 + .../decisland/models/item/spurt_egg.json | 6 + .../decisland/models/item/squid_mask.json | 6 + .../decisland/models/item/star_debris.json | 6 + .../decisland/models/item/star_flintlock.json | 6 + .../decisland/models/item/star_flower.json | 6 + .../models/item/steel_battleaxe.json | 6 + .../decisland/models/item/steel_block.json | 3 + .../decisland/models/item/steel_boots.json | 6 + .../models/item/steel_chestplate.json | 6 + .../decisland/models/item/steel_dagger.json | 6 + .../decisland/models/item/steel_dart.json | 6 + .../decisland/models/item/steel_helmet.json | 6 + .../decisland/models/item/steel_ingot.json | 6 + .../decisland/models/item/steel_leggings.json | 6 + .../decisland/models/item/steel_nugget.json | 6 + .../decisland/models/item/steel_sickle.json | 6 + .../decisland/models/item/steel_sword.json | 6 + .../decisland/models/item/steve_mask.json | 6 + .../decisland/models/item/stick_flower.json | 6 + .../decisland/models/item/sticky_ash.json | 6 + .../decisland/models/item/stone_boots.json | 6 + .../models/item/stone_chestplate.json | 6 + .../decisland/models/item/stone_dagger.json | 6 + .../decisland/models/item/stone_dart.json | 6 + .../decisland/models/item/stone_helmet.json | 6 + .../decisland/models/item/stone_leggings.json | 6 + .../decisland/models/item/stones_bag.json | 6 + .../models/item/storm_battleaxe.json | 6 + .../models/item/storm_flintlock.json | 6 + .../decisland/models/item/storm_staff.json | 6 + .../decisland/models/item/straw_rope.json | 6 + .../models/item/stray_chestplate.json | 6 + .../decisland/models/item/stray_helmet.json | 6 + .../decisland/models/item/stray_leggings.json | 6 + .../decisland/models/item/stray_mask.json | 6 + .../decisland/models/item/stream_dart.json | 6 + .../decisland/models/item/stream_ore.json | 3 + .../decisland/models/item/stream_stone.json | 6 + .../decisland/models/item/strider_mask.json | 6 + .../decisland/models/item/striped_pants.json | 6 + .../decisland/models/item/sun_stone.json | 6 + .../models/item/swamp_drowned_mask.json | 6 + .../models/item/swamp_golem_mask.json | 6 + .../decisland/models/item/sword_fish.json | 6 + .../decisland/models/item/sword_of_deep.json | 6 + .../decisland/models/item/sword_of_guard.json | 6 + .../models/item/sword_of_halloween.json | 6 + .../decisland/models/item/the_blade.json | 6 + .../models/item/the_imperial_sword.json | 6 + .../decisland/models/item/throwable_bomb.json | 6 + .../decisland/models/item/thunder_rapier.json | 6 + .../decisland/models/item/thunder_staff.json | 6 + .../assets/decisland/models/item/thyme.json | 6 + .../decisland/models/item/time_compass.json | 6 + .../models/item/tnt_creeper_mask.json | 6 + .../assets/decisland/models/item/tofu.json | 6 + .../decisland/models/item/tropical_fish.json | 6 + .../models/item/tropical_fish_cooked.json | 6 + .../decisland/models/item/turtle_boots.json | 6 + .../models/item/turtle_chestplate.json | 6 + .../models/item/turtle_leggings.json | 6 + .../decisland/models/item/turtle_sword.json | 6 + .../models/item/uniform_clothes.json | 6 + .../decisland/models/item/uniform_pants.json | 6 + .../assets/decisland/models/item/uranium.json | 6 + .../decisland/models/item/uranium_apple.json | 6 + .../decisland/models/item/uranium_block.json | 3 + .../decisland/models/item/uranium_ore.json | 3 + .../models/item/vengeful_ghost_mask.json | 6 + .../decisland/models/item/vex_mask.json | 6 + .../decisland/models/item/villager_mask.json | 6 + .../models/item/void_whispering_dagger.json | 6 + .../assets/decisland/models/item/vortex.json | 6 + .../models/item/wandering_trader_mask.json | 6 + .../decisland/models/item/warden_sword.json | 6 + .../models/item/warped_skeleton_mask.json | 6 + .../assets/decisland/models/item/waste.json | 6 + .../models/item/wave_magic_book.json | 6 + .../decisland/models/item/werewolf_mask.json | 6 + .../models/item/white_flower_block.json | 3 + .../decisland/models/item/white_shoes.json | 6 + .../decisland/models/item/white_t_shirt.json | 6 + .../decisland/models/item/wind_dagger.json | 6 + .../decisland/models/item/wind_of_shadow.json | 6 + .../decisland/models/item/wine_glass.json | 6 + .../models/item/wings_from_deep.json | 6 + .../decisland/models/item/witch_hat.json | 6 + .../decisland/models/item/witch_mask.json | 6 + .../decisland/models/item/wither_cone.json | 6 + .../models/item/wither_invulnerable_mask.json | 6 + .../decisland/models/item/wither_mask.json | 6 + .../models/item/wither_skeleton_mask.json | 6 + .../models/item/wither_substance.json | 6 + .../decisland/models/item/wolf_mask.json | 6 + .../decisland/models/item/wood_boots.json | 6 + .../models/item/wood_chestplate.json | 6 + .../decisland/models/item/wood_dart.json | 6 + .../decisland/models/item/wood_helmet.json | 6 + .../decisland/models/item/wood_leggings.json | 6 + .../decisland/models/item/wooden_dagger.json | 6 + .../decisland/models/item/wooden_staff.json | 6 + .../models/item/yellow_butterfly_flower.json | 6 + .../models/item/yellow_flower_block.json | 3 + .../models/item/yellow_jellyfish.json | 6 + .../decisland/models/item/zombie_brain.json | 6 + .../decisland/models/item/zombie_fish.json | 6 + .../decisland/models/item/zombie_mask.json | 6 + .../models/item/zombie_summoner_mask.json | 6 + .../models/item/zombie_villager_mask.json | 6 + .../models/item/zombie_warrior_mask.json | 6 + .../recipes/combat/amethyst_dagger.json | 32 + .../recipes/combat/copper_battleaxe.json | 32 + .../recipes/combat/copper_dagger.json | 32 + .../recipes/combat/diamond_dagger.json | 32 + .../recipes/combat/emerald_dagger.json | 32 + .../combat/everlasting_winter_dagger.json | 32 + .../combat/everlasting_winter_sword.json | 32 + .../recipes/combat/ghost_dagger.json | 32 + .../recipes/combat/ghost_sword.json | 32 + .../recipes/combat/gold_dagger.json | 32 + .../advancement/recipes/combat/growth.json | 32 + .../recipes/combat/iron_dagger.json | 32 + .../recipes/combat/lapis_dagger.json | 32 + .../recipes/combat/leaves_dagger.json | 32 + .../recipes/combat/netherite_dagger.json | 32 + .../recipes/combat/steel_battleaxe.json | 32 + .../recipes/combat/steel_dagger.json | 32 + .../recipes/combat/stone_dagger.json | 32 + .../recipes/combat/the_imperial_sword.json | 32 + .../recipes/combat/thunder_rapier.json | 32 + .../advancement/recipes/combat/vortex.json | 32 + .../recipes/combat/wind_dagger.json | 32 + .../recipes/combat/wind_of_shadow.json | 32 + .../recipes/combat/wooden_dagger.json | 32 + .../wooden_dagger_from_crimson_planks.json | 32 + .../wooden_dagger_from_warped_planks.json | 32 + .../recipes/food/a_bowl_of_rice.json | 32 + .../food/crab_leg_cooked_from_blasting.json | 32 + ...crab_leg_cooked_from_campfire_cooking.json | 32 + .../food/crab_leg_cooked_from_smelting.json | 32 + .../food/crab_leg_cooked_from_smoking.json | 32 + .../leek_cooked_from_campfire_cooking.json | 32 + .../food/leek_cooked_from_smelting.json | 32 + .../food/leek_cooked_from_smoking.json | 32 + .../perch_cooked_from_campfire_cooking.json | 32 + .../food/perch_cooked_from_smelting.json | 32 + .../food/perch_cooked_from_smoking.json | 32 + .../advancement/recipes/food/rice.json | 32 + .../advancement/recipes/food/rice_wine.json | 32 + .../misc/blast_furnace_copper_battleaxe.json | 32 + .../misc/blast_furnace_diamond_axe.json | 32 + .../misc/blast_furnace_diamond_dagger.json | 32 + .../misc/blast_furnace_diamond_pickaxe.json | 32 + .../misc/blast_furnace_emerald_dagger.json | 32 + .../misc/blast_furnace_golden_dagger.json | 32 + .../misc/blast_furnace_steel_battleaxe.json | 32 + .../misc/blast_furnace_steel_dagger.json | 32 + .../misc/everlasting_winter_stick.json | 32 + .../recipes/misc/frozen_power.json | 32 + .../misc/furnace_copper_battleaxe.json | 32 + .../recipes/misc/furnace_diamond_axe.json | 32 + .../recipes/misc/furnace_diamond_dagger.json | 32 + .../recipes/misc/furnace_diamond_pickaxe.json | 32 + .../recipes/misc/furnace_emerald_dagger.json | 32 + .../recipes/misc/furnace_golden_dagger.json | 32 + .../recipes/misc/furnace_steel_battleaxe.json | 32 + .../recipes/misc/furnace_steel_dagger.json | 32 + .../recipes/tools/amethyst_axe.json | 32 + .../recipes/tools/amethyst_pickaxe.json | 32 + .../advancement/recipes/tools/coral_axe.json | 32 + .../recipes/tools/coral_pickaxe.json | 32 + .../recipes/tools/emerald_axe.json | 32 + .../recipes/tools/emerald_pickaxe.json | 32 + .../advancement/recipes/tools/glass_axe.json | 32 + .../recipes/tools/glass_pickaxe.json | 32 + .../advancement/recipes/tools/slime_axe.json | 32 + .../recipes/tools/slime_pickaxe.json | 32 + .../loot_table/blocks/amethyst_lantern.json | 21 + .../loot_table/blocks/ancient_ice.json | 21 + .../blocks/baby_blue_eyes_flower.json | 21 + .../loot_table/blocks/balloon_flower.json | 21 + .../blocks/bizarre_chilli_crop.json | 69 + .../loot_table/blocks/black_flower_block.json | 21 + .../loot_table/blocks/blue_flower_block.json | 21 + .../loot_table/blocks/blue_gem_ore.json | 56 + .../blocks/blue_ice_brick_block.json | 21 + .../loot_table/blocks/breeze_flower.json | 21 + .../loot_table/blocks/butter_flower.json | 21 + .../loot_table/blocks/butterfly_pea.json | 21 + .../loot_table/blocks/candy_block.json | 21 + .../loot_table/blocks/chiseled_ice_brick.json | 21 + .../loot_table/blocks/cloud_flower.json | 21 + .../blocks/compress_flower_block.json | 21 + .../loot_table/blocks/compressed_ice.json | 21 + .../loot_table/blocks/corn_crop.json | 50 + .../loot_table/blocks/crimson_lamp.json | 21 + .../decisland/loot_table/blocks/crinum.json | 21 + .../loot_table/blocks/dandelion.json | 21 + .../loot_table/blocks/deep_dandelion.json | 21 + .../loot_table/blocks/depart_grass.json | 21 + .../loot_table/blocks/desert_fan_flower.json | 21 + .../loot_table/blocks/end_coal_ore.json | 56 + .../loot_table/blocks/end_diamond_ore.json | 56 + .../loot_table/blocks/end_emerald_ore.json | 56 + .../loot_table/blocks/end_gold_ore.json | 56 + .../loot_table/blocks/end_iron_ore.json | 56 + .../loot_table/blocks/end_lapis_ore.json | 56 + .../decisland/loot_table/blocks/end_ore.json | 56 + .../loot_table/blocks/end_redstone_ore.json | 56 + .../blocks/experience_flower_crop.json | 69 + .../loot_table/blocks/fan_flower.json | 21 + .../loot_table/blocks/fritillary_crop.json | 69 + .../blocks/frozen_mirror_flower.json | 21 + .../loot_table/blocks/gold_flower.json | 21 + .../loot_table/blocks/golden_lamp.json | 21 + .../loot_table/blocks/hammer_flower.json | 21 + .../loot_table/blocks/houttuynia_crop.json | 69 + .../loot_table/blocks/ice_brick_block.json | 21 + .../loot_table/blocks/ice_lantern.json | 21 + .../loot_table/blocks/ice_mixed_brick.json | 21 + .../loot_table/blocks/lamp_flower.json | 21 + .../loot_table/blocks/lava_flower_crop.json | 69 + .../decisland/loot_table/blocks/lava_ore.json | 21 + .../loot_table/blocks/leaves_flower.json | 21 + .../loot_table/blocks/leek_crop.json | 69 + .../loot_table/blocks/light_obsidian.json | 21 + .../decisland/loot_table/blocks/lurk_bud.json | 21 + .../loot_table/blocks/lurk_fruit.json | 21 + .../loot_table/blocks/lurk_grass.json | 21 + .../decisland/loot_table/blocks/lurk_log.json | 21 + .../loot_table/blocks/lurk_mushroom.json | 21 + .../loot_table/blocks/lurk_orchid.json | 21 + .../loot_table/blocks/lurk_spring.json | 21 + .../loot_table/blocks/maple_flower.json | 21 + .../loot_table/blocks/mock_strawberry.json | 21 + .../loot_table/blocks/mooli_crop.json | 69 + .../loot_table/blocks/mouth_flower.json | 21 + .../loot_table/blocks/nether_coal_ore.json | 56 + .../loot_table/blocks/nether_dandelion.json | 21 + .../loot_table/blocks/nether_diamond_ore.json | 56 + .../loot_table/blocks/nether_emerald_ore.json | 56 + .../loot_table/blocks/nether_iron_ore.json | 56 + .../loot_table/blocks/nether_lapis_ore.json | 56 + .../blocks/nether_redstone_ore.json | 56 + .../blocks/nether_stick_flower.json | 21 + .../loot_table/blocks/pink_dandelion.json | 21 + .../loot_table/blocks/pink_fan_flower.json | 21 + .../loot_table/blocks/pink_flower_block.json | 21 + .../loot_table/blocks/red_flower_block.json | 21 + .../loot_table/blocks/red_gem_ore.json | 56 + .../loot_table/blocks/red_spider_lily.json | 21 + .../loot_table/blocks/red_stonebrick.json | 21 + .../loot_table/blocks/rice_crop.json | 69 + .../decisland/loot_table/blocks/rosemary.json | 21 + .../loot_table/blocks/rotten_flesh_block.json | 21 + .../loot_table/blocks/russet_grass.json | 21 + .../blocks/smooth_amethyst_block.json | 21 + .../loot_table/blocks/snow_flower.json | 21 + .../loot_table/blocks/snow_lotus.json | 21 + .../blocks/solidified_lava_block.json | 21 + .../blocks/soul_soil_diamond_ore.json | 56 + .../loot_table/blocks/soybean_crop.json | 69 + .../loot_table/blocks/spark_flower.json | 21 + .../loot_table/blocks/spell_flower.json | 21 + .../loot_table/blocks/star_flower.json | 21 + .../loot_table/blocks/steel_block.json | 21 + .../loot_table/blocks/stick_flower.json | 21 + .../loot_table/blocks/stream_ore.json | 21 + .../decisland/loot_table/blocks/thyme.json | 21 + .../loot_table/blocks/uranium_block.json | 21 + .../loot_table/blocks/uranium_ore.json | 21 + .../loot_table/blocks/white_flower_block.json | 21 + .../loot_table/blocks/wither_cone.json | 21 + .../blocks/yellow_butterfly_flower.json | 21 + .../blocks/yellow_flower_block.json | 21 + .../data/decisland/recipe/a_bowl_of_rice.json | 20 + .../data/decisland/recipe/amethyst_axe.json | 21 + .../decisland/recipe/amethyst_dagger.json | 20 + .../decisland/recipe/amethyst_pickaxe.json | 21 + .../blast_furnace_copper_battleaxe.json | 13 + .../recipe/blast_furnace_diamond_axe.json | 13 + .../recipe/blast_furnace_diamond_dagger.json | 13 + .../recipe/blast_furnace_diamond_pickaxe.json | 13 + .../recipe/blast_furnace_emerald_dagger.json | 13 + .../recipe/blast_furnace_golden_dagger.json | 13 + .../recipe/blast_furnace_steel_battleaxe.json | 13 + .../recipe/blast_furnace_steel_dagger.json | 13 + .../decisland/recipe/copper_battleaxe.json | 21 + .../data/decisland/recipe/copper_dagger.json | 20 + .../data/decisland/recipe/coral_axe.json | 21 + .../data/decisland/recipe/coral_pickaxe.json | 21 + .../recipe/crab_leg_cooked_from_blasting.json | 13 + ...crab_leg_cooked_from_campfire_cooking.json | 13 + .../recipe/crab_leg_cooked_from_smelting.json | 13 + .../recipe/crab_leg_cooked_from_smoking.json | 13 + .../data/decisland/recipe/diamond_dagger.json | 20 + .../data/decisland/recipe/emerald_axe.json | 21 + .../data/decisland/recipe/emerald_dagger.json | 20 + .../decisland/recipe/emerald_pickaxe.json | 21 + .../recipe/everlasting_winter_dagger.json | 24 + .../recipe/everlasting_winter_stick.json | 16 + .../recipe/everlasting_winter_sword.json | 24 + .../data/decisland/recipe/frozen_power.json | 31 + .../recipe/furnace_copper_battleaxe.json | 13 + .../decisland/recipe/furnace_diamond_axe.json | 13 + .../recipe/furnace_diamond_dagger.json | 13 + .../recipe/furnace_diamond_pickaxe.json | 13 + .../recipe/furnace_emerald_dagger.json | 13 + .../recipe/furnace_golden_dagger.json | 13 + .../recipe/furnace_steel_battleaxe.json | 13 + .../recipe/furnace_steel_dagger.json | 13 + .../data/decisland/recipe/ghost_dagger.json | 20 + .../data/decisland/recipe/ghost_sword.json | 21 + .../data/decisland/recipe/glass_axe.json | 21 + .../data/decisland/recipe/glass_pickaxe.json | 21 + .../data/decisland/recipe/gold_dagger.json | 20 + .../data/decisland/recipe/growth.json | 27 + .../data/decisland/recipe/iron_dagger.json | 20 + .../data/decisland/recipe/lapis_dagger.json | 20 + .../data/decisland/recipe/leaves_dagger.json | 20 + .../leek_cooked_from_campfire_cooking.json | 13 + .../recipe/leek_cooked_from_smelting.json | 13 + .../recipe/leek_cooked_from_smoking.json | 13 + .../decisland/recipe/netherite_dagger.json | 20 + .../perch_cooked_from_campfire_cooking.json | 13 + .../recipe/perch_cooked_from_smelting.json | 13 + .../recipe/perch_cooked_from_smoking.json | 13 + .../resources/data/decisland/recipe/rice.json | 16 + .../data/decisland/recipe/rice_wine.json | 20 + .../data/decisland/recipe/slime_axe.json | 21 + .../data/decisland/recipe/slime_pickaxe.json | 21 + .../decisland/recipe/steel_battleaxe.json | 24 + .../data/decisland/recipe/steel_dagger.json | 20 + .../data/decisland/recipe/stone_dagger.json | 20 + .../decisland/recipe/the_imperial_sword.json | 24 + .../data/decisland/recipe/thunder_rapier.json | 27 + .../data/decisland/recipe/vortex.json | 24 + .../data/decisland/recipe/wind_dagger.json | 20 + .../data/decisland/recipe/wind_of_shadow.json | 24 + .../data/decisland/recipe/wooden_dagger.json | 20 + .../wooden_dagger_from_crimson_planks.json | 20 + .../wooden_dagger_from_warped_planks.json | 20 + .../data/decisland/tags/item/axe.json | 7 + .../data/decisland/tags/item/dagger.json | 21 + .../data/decisland/tags/item/dart.json | 20 + .../data/decisland/tags/item/gun.json | 12 + .../data/decisland/tags/item/katana.json | 9 + .../data/decisland/tags/item/magic_book.json | 7 + .../decisland/tags/item/magic_weapon.json | 26 + .../decisland/tags/item/melee_weapon.json | 78 + .../decisland/tags/item/range_weapon.json | 12 + .../data/decisland/tags/item/rapier.json | 7 + .../tags/item/repairs_amethyst_armor.json | 8 + .../decisland/tags/item/repairs_fashion.json | 8 + .../data/decisland/tags/item/sickle.json | 13 + .../data/decisland/tags/item/staff.json | 23 + .../data/decisland/tags/item/sundries.json | 9 + .../data/decisland/tags/item/sword.json | 41 + .../decisland/tags/item/thrown_weapon.json | 29 + .../minecraft/tags/block/mineable/axe.json | 5 + .../tags/block/mineable/pickaxe.json | 39 + .../tags/block/needs_diamond_tool.json | 5 + .../minecraft/tags/block/needs_iron_tool.json | 16 + .../tags/block/needs_stone_tool.json | 9 + .../data/minecraft/tags/item/axes.json | 12 + .../data/minecraft/tags/item/pickaxes.json | 9 + .../neoforge/data_maps/item/compostables.json | 100 + .../data_maps/item/furnace_fuels.json | 82 + src/main/java/com/dec/decisland/Config.kt | 4 +- .../java/com/dec/decisland/DecIslandClient.kt | 14 +- .../decisland/DecIslandModDataGenerator.kt | 12 +- .../decisland/attachment/ModAttachments.kt | 14 +- .../com/dec/decisland/block/BlockConfig.kt | 12 +- .../java/com/dec/decisland/block/ModBlocks.kt | 153 +- .../decisland/block/custom/CornCropBlock.kt | 24 +- .../block/custom/FlowerGhostBlock.java | 6 +- .../block/custom/NightmareBlock.java | 6 +- .../decisland/block/custom/SimpleCropBlock.kt | 14 +- .../block/custom/SimplePlantBlock.kt | 12 +- .../block/custom/SnowPortalBlock.java | 34 +- .../dec/decisland/client/DizzinessClient.kt | 2 +- .../bedrock/BedrockBillboardParticle.kt | 44 +- .../client/bedrock/BedrockEmitterManager.kt | 8 +- .../model/BedrockAnimatedEntityModel.kt | 37 +- .../bedrock/model/BedrockEntityAssets.kt | 18 +- .../model/BedrockTextureMeshSupport.kt | 139 +- .../dec/decisland/client/fog/VoidFogConfig.kt | 26 +- .../dec/decisland/client/fog/VoidFogEvents.kt | 13 +- .../decisland/client/gui/ClientManaOverlay.kt | 37 +- .../decisland/client/model/ClothesModel.kt | 15 +- .../dec/decisland/client/model/EmptyModel.kt | 30 +- .../client/model/FashionArmorModel.kt | 59 +- .../renderer/BedrockProjectileRenderer.kt | 49 +- .../decisland/client/renderer/DartRenderer.kt | 62 +- .../client/renderer/EmptyRenderer.kt | 14 +- .../renderer/EnergyBallBedrockRenderer.kt | 14 +- .../FashionArmorClientItemExtensions.kt | 38 +- .../renderer/MaskClientItemExtensions.kt | 39 +- .../client/renderer/PumpkinBombRenderer.kt | 56 +- .../client/renderer/state/DartRenderState.kt | 10 - .../renderer/state/NormalRenderState.kt | 5 - .../datagen/ModBlockLootTablesProvider.kt | 2 +- .../decisland/datagen/ModBlockTagsProvider.kt | 4 +- .../decisland/datagen/ModItemTagsProvider.kt | 9 +- .../decisland/datagen/ModModelsProvider.kt | 78 +- .../decisland/datagen/ModRecipeProvider.kt | 37 +- .../datagen/RecipeProvider/RecipeContext.kt | 4 - .../datagen/RecipeProvider/RecipeCriteria.kt | 6 +- .../datagen/RecipeProvider/RecipeDsl.kt | 30 +- .../RecipeProvider/RecipeIngredient.kt | 2 +- .../SmithingTrimRecipeConfig.kt | 12 +- .../RecipeProvider/recipe/WeaponRecipes.kt | 4 +- .../dec/decisland/effect/DizzinessEffect.kt | 2 +- .../com/dec/decisland/entity/ModEntities.kt | 181 +- .../entity/custom/PumpkinBombEntity.kt | 13 +- .../entity/custom/WitherCloudEntity.kt | 25 +- .../entity/projectile/AmethystEnergyRay.kt | 4 +- .../entity/projectile/BlizzardEnergy.kt | 8 +- .../projectile/CustomInertiaProjectile.kt | 48 + .../decisland/entity/projectile/DeepEnergy.kt | 4 +- .../decisland/entity/projectile/EnergyBall.kt | 6 +- .../decisland/entity/projectile/EnergyRay.kt | 4 +- .../projectile/FireflyBottleProjectile.kt | 6 +- .../projectile/FlintlockBulletEntity.kt | 4 +- .../entity/projectile/FrozenBallProjectile.kt | 10 +- .../entity/projectile/FrozenEnergyBall.kt | 4 +- .../decisland/entity/projectile/FrozenRay.kt | 8 +- .../entity/projectile/GasBombProjectile.kt | 12 +- .../entity/projectile/GrowingEnergyRay.kt | 10 +- .../projectile/JellyfishStaffProjectile.kt | 4 +- .../entity/projectile/LapisBullet.kt | 14 +- .../projectile/MindControllerProjectile.kt | 4 +- .../entity/projectile/MuddyBallProjectile.kt | 4 +- .../entity/projectile/NightmareProjectile.kt | 10 +- .../entity/projectile/NightmareRay.kt | 6 +- .../entity/projectile/NightmareSpore.kt | 6 +- .../projectile/ParticleRayProjectile.kt | 10 +- .../entity/projectile/SmokeBombProjectile.kt | 10 +- .../decisland/entity/projectile/SnowEnergy.kt | 8 +- .../entity/projectile/SoulWakeBullet.kt | 4 +- .../entity/projectile/SpotsByBook.kt | 6 +- .../entity/projectile/SpotsOverflow.kt | 12 +- .../decisland/entity/projectile/StormFuse.kt | 12 +- .../projectile/ThrowableBombProjectile.kt | 4 +- .../entity/projectile/ThrownAshPufferfish.kt | 4 +- .../entity/projectile/ThrownStickyAsh.kt | 10 +- .../entity/projectile/ThunderBall.kt | 3 +- .../projectile/VisibleMagicBallProjectile.kt | 8 +- .../decisland/entity/projectile/WaveEnergy.kt | 4 +- .../entity/projectile/dart/DartEntity.kt | 13 +- .../entity/projectile/dart/ModDarts.kt | 10 +- .../events/AccessoryCombatEffects.kt | 30 +- .../dec/decisland/events/ArmorSetEffects.kt | 12 +- .../dec/decisland/events/ModClientEvents.kt | 14 +- .../dec/decisland/events/ModEventBusEvents.kt | 1 - .../java/com/dec/decisland/item/ItemConfig.kt | 4 +- .../dec/decisland/item/ModArmorMaterials.kt | 88 +- .../dec/decisland/item/ModEquipmentAssets.kt | 43 +- .../com/dec/decisland/item/ModFuelItem.kt | 3 +- .../java/com/dec/decisland/item/ModItems.kt | 85 +- .../com/dec/decisland/item/ModToolMaterial.kt | 7 +- .../com/dec/decisland/item/ToolMaterial.kt | 94 + .../dec/decisland/item/category/Accessory.kt | 2 +- .../com/dec/decisland/item/category/Armor.kt | 117 +- .../com/dec/decisland/item/category/Crop.kt | 7 +- .../dec/decisland/item/category/Fashion.kt | 23 +- .../com/dec/decisland/item/category/Fish.kt | 66 +- .../com/dec/decisland/item/category/Food.kt | 201 +- .../dec/decisland/item/category/SummonItem.kt | 4 +- .../com/dec/decisland/item/category/Tool.kt | 7 +- .../com/dec/decisland/item/category/Weapon.kt | 70 +- .../dec/decisland/item/compat/ItemCompat.kt | 65 + .../item/compat/ModProjectileUtil.kt | 30 + .../dec/decisland/item/custom/AbsoluteZero.kt | 30 +- .../decisland/item/custom/AshPufferfish.kt | 8 +- .../dec/decisland/item/custom/BambooKatana.kt | 8 +- .../decisland/item/custom/BatchBSwordItem.kt | 86 +- .../decisland/item/custom/BattleaxeItem.kt | 24 +- .../decisland/item/custom/BlizzardStaff.kt | 4 +- .../dec/decisland/item/custom/BloodMare.kt | 27 +- .../decisland/item/custom/BloodSickleItem.kt | 34 +- .../dec/decisland/item/custom/DaggerItem.kt | 41 +- .../dec/decisland/item/custom/DiamondStaff.kt | 14 +- .../item/custom/DustDestroyerItem.kt | 13 +- .../dec/decisland/item/custom/EnderFish.kt | 6 +- .../item/custom/ExperienceBookEmptyItem.kt | 12 +- .../item/custom/ExperienceBookItem.kt | 10 +- .../item/custom/ExperienceBookProEmptyItem.kt | 12 +- .../decisland/item/custom/FireflyBottle.kt | 8 +- .../decisland/item/custom/FlareMagicBook.kt | 41 +- .../dec/decisland/item/custom/FrozenBall.kt | 8 +- .../decisland/item/custom/FrozenRayStaff.kt | 4 +- .../dec/decisland/item/custom/FrozenStaff.kt | 24 +- .../com/dec/decisland/item/custom/GasBomb.kt | 8 +- .../decisland/item/custom/GhostSwordItem.kt | 11 +- .../dec/decisland/item/custom/GrowthItem.kt | 9 +- .../decisland/item/custom/GuideBookItem.kt | 9 +- .../decisland/item/custom/HardBambooKatana.kt | 6 +- .../decisland/item/custom/HealthBoostItem.kt | 2 +- .../dec/decisland/item/custom/IllagerSword.kt | 24 +- .../com/dec/decisland/item/custom/Katana.kt | 26 +- .../dec/decisland/item/custom/MagicWeapon.kt | 17 +- .../item/custom/ManaGainBoostItem.kt | 2 +- .../decisland/item/custom/ManaRestoreItem.kt | 21 +- .../com/dec/decisland/item/custom/Mask.kt | 8 +- .../decisland/item/custom/MaxManaBoostItem.kt | 2 +- .../decisland/item/custom/MindController.kt | 8 +- .../dec/decisland/item/custom/MuddyBall.kt | 8 +- .../dec/decisland/item/custom/NightSword.kt | 31 +- .../dec/decisland/item/custom/Nightmare.kt | 25 +- .../decisland/item/custom/ProjectileStaff.kt | 6 +- .../dec/decisland/item/custom/RapierItem.kt | 39 +- .../dec/decisland/item/custom/SickleItem.kt | 94 +- .../dec/decisland/item/custom/SmokeBomb.kt | 8 +- .../dec/decisland/item/custom/StickyAsh.kt | 8 +- .../dec/decisland/item/custom/SwordFish.kt | 3 +- .../decisland/item/custom/SwordOfGuardItem.kt | 2 +- .../item/custom/SwordOfHalloweenItem.kt | 11 +- .../com/dec/decisland/item/custom/TheBlade.kt | 6 +- .../decisland/item/custom/ThrowableBomb.kt | 8 +- .../item/custom/VoidWhisperingDaggerItem.kt | 15 +- .../item/custom/accessory/HeartRingItem.kt | 2 +- .../dec/decisland/item/custom/dart/Dart.kt | 12 +- .../com/dec/decisland/item/gun/GunItem.kt | 32 +- .../java/com/dec/decisland/mana/ManaSystem.kt | 10 +- .../mixin/ItemCooldownsAccessor.java | 5 +- .../mixin/ThrowableProjectileMixin.kt | 36 - .../client/EquipmentLayerRendererMixin.java | 56 - .../mixin/client/FlintlockAimCameraMixin.java | 11 +- .../client/FlintlockAimCrosshairMixin.java | 9 +- .../mixin/client/FlintlockAimFovMixin.java | 9 +- .../mixin/client/GunHoldHandsMixin.java | 10 +- .../client/GunHoldThirdPersonPoseMixin.java | 20 +- .../GunThirdPersonStraightArmMixin.java | 18 +- .../dec/decisland/network/AttackPayload.kt | 4 +- .../com/dec/decisland/network/DashPayload.kt | 4 +- .../dec/decisland/network/ManaSyncPayload.kt | 4 +- .../com/dec/decisland/network/Networking.kt | 8 +- .../dec/decisland/network/RecoilPayload.kt | 4 +- .../network/SpawnBedrockEmitterPayload.kt | 8 +- .../dec/decisland/particles/ModParticles.kt | 32 +- .../custom/AbsoluteZeroSmokeSeedParticle.kt | 1 - .../custom/AbsoluteZeroSmokeSingleParticle.kt | 9 +- .../particles/custom/BlizzardWakeParticle.kt | 10 +- .../particles/custom/ImperialTotemParticle.kt | 9 +- .../com/dec/decisland/tag/ModBlockTags.kt | 4 +- .../java/com/dec/decisland/tag/ModItemTags.kt | 4 +- .../world/portal/SnowPortalShape.java | 4 +- .../world/portal/SnowPortalTeleporter.java | 17 +- .../worldgen/FractalSurfaceChunkGenerator.kt | 44 +- .../worldgen/FractalSurfaceSettings.kt | 6 +- .../dec/decisland/worldgen/ModDimensions.kt | 6 +- .../resources/META-INF/accesstransformer.cfg | 5 + src/main/resources/decisland.mixins.json | 4 +- .../templates/META-INF/neoforge.mods.toml | 8 +- 1347 files changed, 23716 insertions(+), 2714 deletions(-) delete mode 100644 net/minecraft/world/item/Item.java delete mode 100644 net/neoforged/neoforge/client/event/MovementInputUpdateEvent.java create mode 100644 src/generated/resources/assets/decisland/blockstates/amethyst_lantern.json create mode 100644 src/generated/resources/assets/decisland/blockstates/ancient_ice.json create mode 100644 src/generated/resources/assets/decisland/blockstates/ash.json create mode 100644 src/generated/resources/assets/decisland/blockstates/baby_blue_eyes_flower.json create mode 100644 src/generated/resources/assets/decisland/blockstates/balloon_flower.json create mode 100644 src/generated/resources/assets/decisland/blockstates/bizarre_chilli_crop.json create mode 100644 src/generated/resources/assets/decisland/blockstates/black_flower_block.json create mode 100644 src/generated/resources/assets/decisland/blockstates/blue_flower_block.json create mode 100644 src/generated/resources/assets/decisland/blockstates/blue_gem_ore.json create mode 100644 src/generated/resources/assets/decisland/blockstates/blue_ice_brick_block.json create mode 100644 src/generated/resources/assets/decisland/blockstates/breeze_flower.json create mode 100644 src/generated/resources/assets/decisland/blockstates/butter_flower.json create mode 100644 src/generated/resources/assets/decisland/blockstates/butterfly_pea.json create mode 100644 src/generated/resources/assets/decisland/blockstates/candy_block.json create mode 100644 src/generated/resources/assets/decisland/blockstates/chiseled_ice_brick.json create mode 100644 src/generated/resources/assets/decisland/blockstates/cloud_flower.json create mode 100644 src/generated/resources/assets/decisland/blockstates/compress_flower_block.json create mode 100644 src/generated/resources/assets/decisland/blockstates/compressed_ice.json create mode 100644 src/generated/resources/assets/decisland/blockstates/corn_crop.json create mode 100644 src/generated/resources/assets/decisland/blockstates/crimson_lamp.json create mode 100644 src/generated/resources/assets/decisland/blockstates/crinum.json create mode 100644 src/generated/resources/assets/decisland/blockstates/dandelion.json create mode 100644 src/generated/resources/assets/decisland/blockstates/deep_dandelion.json create mode 100644 src/generated/resources/assets/decisland/blockstates/depart_grass.json create mode 100644 src/generated/resources/assets/decisland/blockstates/desert_fan_flower.json create mode 100644 src/generated/resources/assets/decisland/blockstates/end_coal_ore.json create mode 100644 src/generated/resources/assets/decisland/blockstates/end_diamond_ore.json create mode 100644 src/generated/resources/assets/decisland/blockstates/end_emerald_ore.json create mode 100644 src/generated/resources/assets/decisland/blockstates/end_gold_ore.json create mode 100644 src/generated/resources/assets/decisland/blockstates/end_iron_ore.json create mode 100644 src/generated/resources/assets/decisland/blockstates/end_lapis_ore.json create mode 100644 src/generated/resources/assets/decisland/blockstates/end_ore.json create mode 100644 src/generated/resources/assets/decisland/blockstates/end_redstone_ore.json create mode 100644 src/generated/resources/assets/decisland/blockstates/experience_flower_crop.json create mode 100644 src/generated/resources/assets/decisland/blockstates/fan_flower.json create mode 100644 src/generated/resources/assets/decisland/blockstates/flower_ghost_block.json create mode 100644 src/generated/resources/assets/decisland/blockstates/fritillary_crop.json create mode 100644 src/generated/resources/assets/decisland/blockstates/frozen_mirror_flower.json create mode 100644 src/generated/resources/assets/decisland/blockstates/gold_flower.json create mode 100644 src/generated/resources/assets/decisland/blockstates/golden_lamp.json create mode 100644 src/generated/resources/assets/decisland/blockstates/hammer_flower.json create mode 100644 src/generated/resources/assets/decisland/blockstates/houttuynia_crop.json create mode 100644 src/generated/resources/assets/decisland/blockstates/ice_brick_block.json create mode 100644 src/generated/resources/assets/decisland/blockstates/ice_lantern.json create mode 100644 src/generated/resources/assets/decisland/blockstates/ice_mixed_brick.json create mode 100644 src/generated/resources/assets/decisland/blockstates/lamp_flower.json create mode 100644 src/generated/resources/assets/decisland/blockstates/lava_flower_crop.json create mode 100644 src/generated/resources/assets/decisland/blockstates/lava_ore.json create mode 100644 src/generated/resources/assets/decisland/blockstates/leaves_flower.json create mode 100644 src/generated/resources/assets/decisland/blockstates/leek_crop.json create mode 100644 src/generated/resources/assets/decisland/blockstates/light_obsidian.json create mode 100644 src/generated/resources/assets/decisland/blockstates/lurk_bud.json create mode 100644 src/generated/resources/assets/decisland/blockstates/lurk_fruit.json create mode 100644 src/generated/resources/assets/decisland/blockstates/lurk_grass.json create mode 100644 src/generated/resources/assets/decisland/blockstates/lurk_log.json create mode 100644 src/generated/resources/assets/decisland/blockstates/lurk_mushroom.json create mode 100644 src/generated/resources/assets/decisland/blockstates/lurk_orchid.json create mode 100644 src/generated/resources/assets/decisland/blockstates/lurk_spring.json create mode 100644 src/generated/resources/assets/decisland/blockstates/maple_flower.json create mode 100644 src/generated/resources/assets/decisland/blockstates/mock_strawberry.json create mode 100644 src/generated/resources/assets/decisland/blockstates/mooli_crop.json create mode 100644 src/generated/resources/assets/decisland/blockstates/mouth_flower.json create mode 100644 src/generated/resources/assets/decisland/blockstates/nether_coal_ore.json create mode 100644 src/generated/resources/assets/decisland/blockstates/nether_dandelion.json create mode 100644 src/generated/resources/assets/decisland/blockstates/nether_diamond_ore.json create mode 100644 src/generated/resources/assets/decisland/blockstates/nether_emerald_ore.json create mode 100644 src/generated/resources/assets/decisland/blockstates/nether_iron_ore.json create mode 100644 src/generated/resources/assets/decisland/blockstates/nether_lapis_ore.json create mode 100644 src/generated/resources/assets/decisland/blockstates/nether_redstone_ore.json create mode 100644 src/generated/resources/assets/decisland/blockstates/nether_stick_flower.json create mode 100644 src/generated/resources/assets/decisland/blockstates/nightmare_block.json create mode 100644 src/generated/resources/assets/decisland/blockstates/pink_dandelion.json create mode 100644 src/generated/resources/assets/decisland/blockstates/pink_fan_flower.json create mode 100644 src/generated/resources/assets/decisland/blockstates/pink_flower_block.json create mode 100644 src/generated/resources/assets/decisland/blockstates/red_flower_block.json create mode 100644 src/generated/resources/assets/decisland/blockstates/red_gem_ore.json create mode 100644 src/generated/resources/assets/decisland/blockstates/red_spider_lily.json create mode 100644 src/generated/resources/assets/decisland/blockstates/red_stonebrick.json create mode 100644 src/generated/resources/assets/decisland/blockstates/rice_crop.json create mode 100644 src/generated/resources/assets/decisland/blockstates/rosemary.json create mode 100644 src/generated/resources/assets/decisland/blockstates/rotten_flesh_block.json create mode 100644 src/generated/resources/assets/decisland/blockstates/russet_grass.json create mode 100644 src/generated/resources/assets/decisland/blockstates/smooth_amethyst_block.json create mode 100644 src/generated/resources/assets/decisland/blockstates/snow_flower.json create mode 100644 src/generated/resources/assets/decisland/blockstates/snow_lotus.json create mode 100644 src/generated/resources/assets/decisland/blockstates/solidified_lava_block.json create mode 100644 src/generated/resources/assets/decisland/blockstates/soul_soil_diamond_ore.json create mode 100644 src/generated/resources/assets/decisland/blockstates/soybean_crop.json create mode 100644 src/generated/resources/assets/decisland/blockstates/spark_flower.json create mode 100644 src/generated/resources/assets/decisland/blockstates/spell_flower.json create mode 100644 src/generated/resources/assets/decisland/blockstates/star_flower.json create mode 100644 src/generated/resources/assets/decisland/blockstates/steel_block.json create mode 100644 src/generated/resources/assets/decisland/blockstates/stick_flower.json create mode 100644 src/generated/resources/assets/decisland/blockstates/stream_ore.json create mode 100644 src/generated/resources/assets/decisland/blockstates/thyme.json create mode 100644 src/generated/resources/assets/decisland/blockstates/uranium_block.json create mode 100644 src/generated/resources/assets/decisland/blockstates/uranium_ore.json create mode 100644 src/generated/resources/assets/decisland/blockstates/white_flower_block.json create mode 100644 src/generated/resources/assets/decisland/blockstates/wither_cone.json create mode 100644 src/generated/resources/assets/decisland/blockstates/yellow_butterfly_flower.json create mode 100644 src/generated/resources/assets/decisland/blockstates/yellow_flower_block.json create mode 100644 src/generated/resources/assets/decisland/lang/en_us.json create mode 100644 src/generated/resources/assets/decisland/lang/zh_cn.json create mode 100644 src/generated/resources/assets/decisland/models/block/amethyst_lantern.json create mode 100644 src/generated/resources/assets/decisland/models/block/ancient_ice.json create mode 100644 src/generated/resources/assets/decisland/models/block/ash.json create mode 100644 src/generated/resources/assets/decisland/models/block/baby_blue_eyes_flower.json create mode 100644 src/generated/resources/assets/decisland/models/block/balloon_flower.json create mode 100644 src/generated/resources/assets/decisland/models/block/bizarre_chilli_crop_stage0.json create mode 100644 src/generated/resources/assets/decisland/models/block/bizarre_chilli_crop_stage1.json create mode 100644 src/generated/resources/assets/decisland/models/block/bizarre_chilli_crop_stage2.json create mode 100644 src/generated/resources/assets/decisland/models/block/bizarre_chilli_crop_stage3.json create mode 100644 src/generated/resources/assets/decisland/models/block/bizarre_chilli_crop_stage4.json create mode 100644 src/generated/resources/assets/decisland/models/block/bizarre_chilli_crop_stage5.json create mode 100644 src/generated/resources/assets/decisland/models/block/bizarre_chilli_crop_stage6.json create mode 100644 src/generated/resources/assets/decisland/models/block/black_flower_block.json create mode 100644 src/generated/resources/assets/decisland/models/block/blue_flower_block.json create mode 100644 src/generated/resources/assets/decisland/models/block/blue_gem_ore.json create mode 100644 src/generated/resources/assets/decisland/models/block/blue_ice_brick_block.json create mode 100644 src/generated/resources/assets/decisland/models/block/breeze_flower.json create mode 100644 src/generated/resources/assets/decisland/models/block/butter_flower.json create mode 100644 src/generated/resources/assets/decisland/models/block/butterfly_pea.json create mode 100644 src/generated/resources/assets/decisland/models/block/candy_block.json create mode 100644 src/generated/resources/assets/decisland/models/block/chiseled_ice_brick.json create mode 100644 src/generated/resources/assets/decisland/models/block/cloud_flower.json create mode 100644 src/generated/resources/assets/decisland/models/block/compress_flower_block.json create mode 100644 src/generated/resources/assets/decisland/models/block/compressed_ice.json create mode 100644 src/generated/resources/assets/decisland/models/block/corn_crop_lower_stage0.json create mode 100644 src/generated/resources/assets/decisland/models/block/corn_crop_lower_stage1.json create mode 100644 src/generated/resources/assets/decisland/models/block/corn_crop_lower_stage2.json create mode 100644 src/generated/resources/assets/decisland/models/block/corn_crop_lower_stage3.json create mode 100644 src/generated/resources/assets/decisland/models/block/corn_crop_lower_stage4.json create mode 100644 src/generated/resources/assets/decisland/models/block/corn_crop_upper_stage0.json create mode 100644 src/generated/resources/assets/decisland/models/block/corn_crop_upper_stage1.json create mode 100644 src/generated/resources/assets/decisland/models/block/corn_crop_upper_stage2.json create mode 100644 src/generated/resources/assets/decisland/models/block/corn_crop_upper_stage3.json create mode 100644 src/generated/resources/assets/decisland/models/block/crimson_lamp.json create mode 100644 src/generated/resources/assets/decisland/models/block/crinum.json create mode 100644 src/generated/resources/assets/decisland/models/block/dandelion.json create mode 100644 src/generated/resources/assets/decisland/models/block/deep_dandelion.json create mode 100644 src/generated/resources/assets/decisland/models/block/depart_grass.json create mode 100644 src/generated/resources/assets/decisland/models/block/desert_fan_flower.json create mode 100644 src/generated/resources/assets/decisland/models/block/end_coal_ore.json create mode 100644 src/generated/resources/assets/decisland/models/block/end_diamond_ore.json create mode 100644 src/generated/resources/assets/decisland/models/block/end_emerald_ore.json create mode 100644 src/generated/resources/assets/decisland/models/block/end_gold_ore.json create mode 100644 src/generated/resources/assets/decisland/models/block/end_iron_ore.json create mode 100644 src/generated/resources/assets/decisland/models/block/end_lapis_ore.json create mode 100644 src/generated/resources/assets/decisland/models/block/end_ore.json create mode 100644 src/generated/resources/assets/decisland/models/block/end_redstone_ore.json create mode 100644 src/generated/resources/assets/decisland/models/block/experience_flower_crop_stage0.json create mode 100644 src/generated/resources/assets/decisland/models/block/experience_flower_crop_stage1.json create mode 100644 src/generated/resources/assets/decisland/models/block/experience_flower_crop_stage2.json create mode 100644 src/generated/resources/assets/decisland/models/block/fan_flower.json create mode 100644 src/generated/resources/assets/decisland/models/block/flower_ghost_block.json create mode 100644 src/generated/resources/assets/decisland/models/block/fritillary_crop_stage0.json create mode 100644 src/generated/resources/assets/decisland/models/block/fritillary_crop_stage1.json create mode 100644 src/generated/resources/assets/decisland/models/block/fritillary_crop_stage2.json create mode 100644 src/generated/resources/assets/decisland/models/block/fritillary_crop_stage3.json create mode 100644 src/generated/resources/assets/decisland/models/block/fritillary_crop_stage4.json create mode 100644 src/generated/resources/assets/decisland/models/block/frozen_mirror_flower.json create mode 100644 src/generated/resources/assets/decisland/models/block/gold_flower.json create mode 100644 src/generated/resources/assets/decisland/models/block/golden_lamp.json create mode 100644 src/generated/resources/assets/decisland/models/block/hammer_flower.json create mode 100644 src/generated/resources/assets/decisland/models/block/houttuynia_crop_stage0.json create mode 100644 src/generated/resources/assets/decisland/models/block/houttuynia_crop_stage1.json create mode 100644 src/generated/resources/assets/decisland/models/block/houttuynia_crop_stage2.json create mode 100644 src/generated/resources/assets/decisland/models/block/houttuynia_crop_stage3.json create mode 100644 src/generated/resources/assets/decisland/models/block/ice_brick_block.json create mode 100644 src/generated/resources/assets/decisland/models/block/ice_lantern.json create mode 100644 src/generated/resources/assets/decisland/models/block/ice_mixed_brick.json create mode 100644 src/generated/resources/assets/decisland/models/block/lamp_flower.json create mode 100644 src/generated/resources/assets/decisland/models/block/lava_flower_crop_stage0.json create mode 100644 src/generated/resources/assets/decisland/models/block/lava_flower_crop_stage1.json create mode 100644 src/generated/resources/assets/decisland/models/block/lava_flower_crop_stage2.json create mode 100644 src/generated/resources/assets/decisland/models/block/lava_flower_crop_stage3.json create mode 100644 src/generated/resources/assets/decisland/models/block/lava_flower_crop_stage4.json create mode 100644 src/generated/resources/assets/decisland/models/block/lava_ore.json create mode 100644 src/generated/resources/assets/decisland/models/block/leaves_flower.json create mode 100644 src/generated/resources/assets/decisland/models/block/leek_crop_stage0.json create mode 100644 src/generated/resources/assets/decisland/models/block/leek_crop_stage1.json create mode 100644 src/generated/resources/assets/decisland/models/block/leek_crop_stage2.json create mode 100644 src/generated/resources/assets/decisland/models/block/light_obsidian.json create mode 100644 src/generated/resources/assets/decisland/models/block/lurk_bud.json create mode 100644 src/generated/resources/assets/decisland/models/block/lurk_fruit.json create mode 100644 src/generated/resources/assets/decisland/models/block/lurk_grass.json create mode 100644 src/generated/resources/assets/decisland/models/block/lurk_log.json create mode 100644 src/generated/resources/assets/decisland/models/block/lurk_mushroom.json create mode 100644 src/generated/resources/assets/decisland/models/block/lurk_orchid.json create mode 100644 src/generated/resources/assets/decisland/models/block/lurk_spring.json create mode 100644 src/generated/resources/assets/decisland/models/block/maple_flower.json create mode 100644 src/generated/resources/assets/decisland/models/block/mock_strawberry.json create mode 100644 src/generated/resources/assets/decisland/models/block/mooli_crop_stage0.json create mode 100644 src/generated/resources/assets/decisland/models/block/mooli_crop_stage1.json create mode 100644 src/generated/resources/assets/decisland/models/block/mooli_crop_stage2.json create mode 100644 src/generated/resources/assets/decisland/models/block/mooli_crop_stage3.json create mode 100644 src/generated/resources/assets/decisland/models/block/mouth_flower.json create mode 100644 src/generated/resources/assets/decisland/models/block/nether_coal_ore.json create mode 100644 src/generated/resources/assets/decisland/models/block/nether_dandelion.json create mode 100644 src/generated/resources/assets/decisland/models/block/nether_diamond_ore.json create mode 100644 src/generated/resources/assets/decisland/models/block/nether_emerald_ore.json create mode 100644 src/generated/resources/assets/decisland/models/block/nether_iron_ore.json create mode 100644 src/generated/resources/assets/decisland/models/block/nether_lapis_ore.json create mode 100644 src/generated/resources/assets/decisland/models/block/nether_redstone_ore.json create mode 100644 src/generated/resources/assets/decisland/models/block/nether_stick_flower.json create mode 100644 src/generated/resources/assets/decisland/models/block/nightmare_block.json create mode 100644 src/generated/resources/assets/decisland/models/block/pink_dandelion.json create mode 100644 src/generated/resources/assets/decisland/models/block/pink_fan_flower.json create mode 100644 src/generated/resources/assets/decisland/models/block/pink_flower_block.json create mode 100644 src/generated/resources/assets/decisland/models/block/red_flower_block.json create mode 100644 src/generated/resources/assets/decisland/models/block/red_gem_ore.json create mode 100644 src/generated/resources/assets/decisland/models/block/red_spider_lily.json create mode 100644 src/generated/resources/assets/decisland/models/block/red_stonebrick.json create mode 100644 src/generated/resources/assets/decisland/models/block/rice_crop_stage0.json create mode 100644 src/generated/resources/assets/decisland/models/block/rice_crop_stage1.json create mode 100644 src/generated/resources/assets/decisland/models/block/rice_crop_stage2.json create mode 100644 src/generated/resources/assets/decisland/models/block/rice_crop_stage3.json create mode 100644 src/generated/resources/assets/decisland/models/block/rice_crop_stage4.json create mode 100644 src/generated/resources/assets/decisland/models/block/rice_crop_stage5.json create mode 100644 src/generated/resources/assets/decisland/models/block/rosemary.json create mode 100644 src/generated/resources/assets/decisland/models/block/rotten_flesh_block.json create mode 100644 src/generated/resources/assets/decisland/models/block/russet_grass.json create mode 100644 src/generated/resources/assets/decisland/models/block/smooth_amethyst_block.json create mode 100644 src/generated/resources/assets/decisland/models/block/snow_flower.json create mode 100644 src/generated/resources/assets/decisland/models/block/snow_lotus.json create mode 100644 src/generated/resources/assets/decisland/models/block/solidified_lava_block.json create mode 100644 src/generated/resources/assets/decisland/models/block/soul_soil_diamond_ore.json create mode 100644 src/generated/resources/assets/decisland/models/block/soybean_crop_stage0.json create mode 100644 src/generated/resources/assets/decisland/models/block/soybean_crop_stage1.json create mode 100644 src/generated/resources/assets/decisland/models/block/soybean_crop_stage2.json create mode 100644 src/generated/resources/assets/decisland/models/block/soybean_crop_stage3.json create mode 100644 src/generated/resources/assets/decisland/models/block/soybean_crop_stage4.json create mode 100644 src/generated/resources/assets/decisland/models/block/spark_flower.json create mode 100644 src/generated/resources/assets/decisland/models/block/spell_flower.json create mode 100644 src/generated/resources/assets/decisland/models/block/star_flower.json create mode 100644 src/generated/resources/assets/decisland/models/block/steel_block.json create mode 100644 src/generated/resources/assets/decisland/models/block/stick_flower.json create mode 100644 src/generated/resources/assets/decisland/models/block/stream_ore.json create mode 100644 src/generated/resources/assets/decisland/models/block/thyme.json create mode 100644 src/generated/resources/assets/decisland/models/block/uranium_block.json create mode 100644 src/generated/resources/assets/decisland/models/block/uranium_ore.json create mode 100644 src/generated/resources/assets/decisland/models/block/white_flower_block.json create mode 100644 src/generated/resources/assets/decisland/models/block/wither_cone.json create mode 100644 src/generated/resources/assets/decisland/models/block/yellow_butterfly_flower.json create mode 100644 src/generated/resources/assets/decisland/models/block/yellow_flower_block.json create mode 100644 src/generated/resources/assets/decisland/models/item/a_bowl_of_rice.json create mode 100644 src/generated/resources/assets/decisland/models/item/a_piece_of_salmon.json create mode 100644 src/generated/resources/assets/decisland/models/item/absolute_zero.json create mode 100644 src/generated/resources/assets/decisland/models/item/abyssal_controller_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/agent_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/alchemic_stone.json create mode 100644 src/generated/resources/assets/decisland/models/item/alex_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/allay_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/amethyst_axe.json create mode 100644 src/generated/resources/assets/decisland/models/item/amethyst_boots.json create mode 100644 src/generated/resources/assets/decisland/models/item/amethyst_chestplate.json create mode 100644 src/generated/resources/assets/decisland/models/item/amethyst_dagger.json create mode 100644 src/generated/resources/assets/decisland/models/item/amethyst_dart.json create mode 100644 src/generated/resources/assets/decisland/models/item/amethyst_helmet.json create mode 100644 src/generated/resources/assets/decisland/models/item/amethyst_lantern.json create mode 100644 src/generated/resources/assets/decisland/models/item/amethyst_leggings.json create mode 100644 src/generated/resources/assets/decisland/models/item/amethyst_pickaxe.json create mode 100644 src/generated/resources/assets/decisland/models/item/amethyst_ray_staff.json create mode 100644 src/generated/resources/assets/decisland/models/item/amethyst_sword.json create mode 100644 src/generated/resources/assets/decisland/models/item/ancient_ice.json create mode 100644 src/generated/resources/assets/decisland/models/item/apple_juice.json create mode 100644 src/generated/resources/assets/decisland/models/item/apple_pie.json create mode 100644 src/generated/resources/assets/decisland/models/item/archer_bullet_bag.json create mode 100644 src/generated/resources/assets/decisland/models/item/archer_hat.json create mode 100644 src/generated/resources/assets/decisland/models/item/archer_stones_bag.json create mode 100644 src/generated/resources/assets/decisland/models/item/arctic_fox_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/ash.json create mode 100644 src/generated/resources/assets/decisland/models/item/ash_blaze_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/ash_key.json create mode 100644 src/generated/resources/assets/decisland/models/item/ash_knight_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/ash_pufferfish.json create mode 100644 src/generated/resources/assets/decisland/models/item/ash_pufferfish_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/autumn_leaves.json create mode 100644 src/generated/resources/assets/decisland/models/item/axolotl_blue_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/axolotl_cyan_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/axolotl_gold_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/axolotl_lucy_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/axolotl_wild_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/baby_blue_eyes_flower.json create mode 100644 src/generated/resources/assets/decisland/models/item/balloon_flower.json create mode 100644 src/generated/resources/assets/decisland/models/item/bamboo_katana.json create mode 100644 src/generated/resources/assets/decisland/models/item/bat_bait.json create mode 100644 src/generated/resources/assets/decisland/models/item/bat_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/bat_wing.json create mode 100644 src/generated/resources/assets/decisland/models/item/bee_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/bizarre_chilli.json create mode 100644 src/generated/resources/assets/decisland/models/item/bizarre_chilli_seeds.json create mode 100644 src/generated/resources/assets/decisland/models/item/black_courtesy.json create mode 100644 src/generated/resources/assets/decisland/models/item/black_flower_block.json create mode 100644 src/generated/resources/assets/decisland/models/item/black_shoes.json create mode 100644 src/generated/resources/assets/decisland/models/item/black_shorts.json create mode 100644 src/generated/resources/assets/decisland/models/item/blaze_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/blizzard_staff.json create mode 100644 src/generated/resources/assets/decisland/models/item/blizzard_sword.json create mode 100644 src/generated/resources/assets/decisland/models/item/blood_bullet_bag.json create mode 100644 src/generated/resources/assets/decisland/models/item/blood_mare.json create mode 100644 src/generated/resources/assets/decisland/models/item/blood_sickle.json create mode 100644 src/generated/resources/assets/decisland/models/item/blood_worm.json create mode 100644 src/generated/resources/assets/decisland/models/item/blue_cat_ears.json create mode 100644 src/generated/resources/assets/decisland/models/item/blue_flower_block.json create mode 100644 src/generated/resources/assets/decisland/models/item/blue_gem.json create mode 100644 src/generated/resources/assets/decisland/models/item/blue_gem_debris.json create mode 100644 src/generated/resources/assets/decisland/models/item/blue_gem_hat.json create mode 100644 src/generated/resources/assets/decisland/models/item/blue_gem_ore.json create mode 100644 src/generated/resources/assets/decisland/models/item/blue_ice_brick_block.json create mode 100644 src/generated/resources/assets/decisland/models/item/blue_jellyfish.json create mode 100644 src/generated/resources/assets/decisland/models/item/bone_sword.json create mode 100644 src/generated/resources/assets/decisland/models/item/book_of_deep.json create mode 100644 src/generated/resources/assets/decisland/models/item/boomber_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/bracken.json create mode 100644 src/generated/resources/assets/decisland/models/item/brain_rice.json create mode 100644 src/generated/resources/assets/decisland/models/item/breeze_flower.json create mode 100644 src/generated/resources/assets/decisland/models/item/brown_bear_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/brown_mooshroom_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/bullet_bag.json create mode 100644 src/generated/resources/assets/decisland/models/item/butter_flower.json create mode 100644 src/generated/resources/assets/decisland/models/item/butterfly_pea.json create mode 100644 src/generated/resources/assets/decisland/models/item/cactus_sword.json create mode 100644 src/generated/resources/assets/decisland/models/item/camouflage_pants.json create mode 100644 src/generated/resources/assets/decisland/models/item/candy.json create mode 100644 src/generated/resources/assets/decisland/models/item/candy_block.json create mode 100644 src/generated/resources/assets/decisland/models/item/candy_cane.json create mode 100644 src/generated/resources/assets/decisland/models/item/cave_spider_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/challenge_of_ash.json create mode 100644 src/generated/resources/assets/decisland/models/item/chicken_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/chiseled_ice_brick.json create mode 100644 src/generated/resources/assets/decisland/models/item/chocolate_cookie.json create mode 100644 src/generated/resources/assets/decisland/models/item/chocolates.json create mode 100644 src/generated/resources/assets/decisland/models/item/christmas_cap.json create mode 100644 src/generated/resources/assets/decisland/models/item/cloud_flower.json create mode 100644 src/generated/resources/assets/decisland/models/item/coal_fish.json create mode 100644 src/generated/resources/assets/decisland/models/item/coal_nugget.json create mode 100644 src/generated/resources/assets/decisland/models/item/cob.json create mode 100644 src/generated/resources/assets/decisland/models/item/coffee_of_lileyi.json create mode 100644 src/generated/resources/assets/decisland/models/item/complete_bat_wing.json create mode 100644 src/generated/resources/assets/decisland/models/item/compress_flower_block.json create mode 100644 src/generated/resources/assets/decisland/models/item/compressed_ice.json create mode 100644 src/generated/resources/assets/decisland/models/item/cooked_brain.json create mode 100644 src/generated/resources/assets/decisland/models/item/copper_battleaxe.json create mode 100644 src/generated/resources/assets/decisland/models/item/copper_dagger.json create mode 100644 src/generated/resources/assets/decisland/models/item/copper_dart.json create mode 100644 src/generated/resources/assets/decisland/models/item/copper_sickle.json create mode 100644 src/generated/resources/assets/decisland/models/item/coral_axe.json create mode 100644 src/generated/resources/assets/decisland/models/item/coral_dart.json create mode 100644 src/generated/resources/assets/decisland/models/item/coral_ingot.json create mode 100644 src/generated/resources/assets/decisland/models/item/coral_pickaxe.json create mode 100644 src/generated/resources/assets/decisland/models/item/coral_sword.json create mode 100644 src/generated/resources/assets/decisland/models/item/corn.json create mode 100644 src/generated/resources/assets/decisland/models/item/corn_seeds.json create mode 100644 src/generated/resources/assets/decisland/models/item/corrupted_sword.json create mode 100644 src/generated/resources/assets/decisland/models/item/cow_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/crab_leg.json create mode 100644 src/generated/resources/assets/decisland/models/item/crab_leg_cooked.json create mode 100644 src/generated/resources/assets/decisland/models/item/creeper_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/crimson_lamp.json create mode 100644 src/generated/resources/assets/decisland/models/item/crimson_slime_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/crinum.json create mode 100644 src/generated/resources/assets/decisland/models/item/crying_boots.json create mode 100644 src/generated/resources/assets/decisland/models/item/crying_chestplate.json create mode 100644 src/generated/resources/assets/decisland/models/item/crying_helmet.json create mode 100644 src/generated/resources/assets/decisland/models/item/crying_leggings.json create mode 100644 src/generated/resources/assets/decisland/models/item/crystal_nucleus.json create mode 100644 src/generated/resources/assets/decisland/models/item/cudgel.json create mode 100644 src/generated/resources/assets/decisland/models/item/dandelion.json create mode 100644 src/generated/resources/assets/decisland/models/item/dark_blue_jacket.json create mode 100644 src/generated/resources/assets/decisland/models/item/dark_debris.json create mode 100644 src/generated/resources/assets/decisland/models/item/dark_pearl.json create mode 100644 src/generated/resources/assets/decisland/models/item/dark_snow_man_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/dark_stone.json create mode 100644 src/generated/resources/assets/decisland/models/item/dark_werewolf_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/dark_zombie_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/dead_wood_dagger.json create mode 100644 src/generated/resources/assets/decisland/models/item/dead_wood_rapier.json create mode 100644 src/generated/resources/assets/decisland/models/item/decrepit_atlantis.json create mode 100644 src/generated/resources/assets/decisland/models/item/deep_dandelion.json create mode 100644 src/generated/resources/assets/decisland/models/item/deep_staff.json create mode 100644 src/generated/resources/assets/decisland/models/item/depart_grass.json create mode 100644 src/generated/resources/assets/decisland/models/item/desert_fan_flower.json create mode 100644 src/generated/resources/assets/decisland/models/item/diamond_apple.json create mode 100644 src/generated/resources/assets/decisland/models/item/diamond_apple_enchanted.json create mode 100644 src/generated/resources/assets/decisland/models/item/diamond_crystal_nucleus.json create mode 100644 src/generated/resources/assets/decisland/models/item/diamond_dagger.json create mode 100644 src/generated/resources/assets/decisland/models/item/diamond_dart.json create mode 100644 src/generated/resources/assets/decisland/models/item/diamond_fish.json create mode 100644 src/generated/resources/assets/decisland/models/item/diamond_nugget.json create mode 100644 src/generated/resources/assets/decisland/models/item/diamond_ring.json create mode 100644 src/generated/resources/assets/decisland/models/item/diamond_sickle.json create mode 100644 src/generated/resources/assets/decisland/models/item/diamond_staff.json create mode 100644 src/generated/resources/assets/decisland/models/item/dirt_boots.json create mode 100644 src/generated/resources/assets/decisland/models/item/dirt_chestplate.json create mode 100644 src/generated/resources/assets/decisland/models/item/dirt_helmet.json create mode 100644 src/generated/resources/assets/decisland/models/item/dirt_leggings.json create mode 100644 src/generated/resources/assets/decisland/models/item/dolphin_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/drowned_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/dust_destroyer.json create mode 100644 src/generated/resources/assets/decisland/models/item/dust_ring.json create mode 100644 src/generated/resources/assets/decisland/models/item/elf_of_ash_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/elf_of_chaos_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/elf_of_deep_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/elf_of_leaves_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/emerald_apple.json create mode 100644 src/generated/resources/assets/decisland/models/item/emerald_apple_enchanted.json create mode 100644 src/generated/resources/assets/decisland/models/item/emerald_axe.json create mode 100644 src/generated/resources/assets/decisland/models/item/emerald_boots.json create mode 100644 src/generated/resources/assets/decisland/models/item/emerald_chestplate.json create mode 100644 src/generated/resources/assets/decisland/models/item/emerald_dagger.json create mode 100644 src/generated/resources/assets/decisland/models/item/emerald_dart.json create mode 100644 src/generated/resources/assets/decisland/models/item/emerald_fish.json create mode 100644 src/generated/resources/assets/decisland/models/item/emerald_helmet.json create mode 100644 src/generated/resources/assets/decisland/models/item/emerald_leggings.json create mode 100644 src/generated/resources/assets/decisland/models/item/emerald_nugget.json create mode 100644 src/generated/resources/assets/decisland/models/item/emerald_pickaxe.json create mode 100644 src/generated/resources/assets/decisland/models/item/emerald_ring.json create mode 100644 src/generated/resources/assets/decisland/models/item/emerald_staff.json create mode 100644 src/generated/resources/assets/decisland/models/item/emerald_sword.json create mode 100644 src/generated/resources/assets/decisland/models/item/empty_totem.json create mode 100644 src/generated/resources/assets/decisland/models/item/end_coal_ore.json create mode 100644 src/generated/resources/assets/decisland/models/item/end_diamond_ore.json create mode 100644 src/generated/resources/assets/decisland/models/item/end_emerald_ore.json create mode 100644 src/generated/resources/assets/decisland/models/item/end_gold_ore.json create mode 100644 src/generated/resources/assets/decisland/models/item/end_iron_ore.json create mode 100644 src/generated/resources/assets/decisland/models/item/end_lapis_ore.json create mode 100644 src/generated/resources/assets/decisland/models/item/end_ore.json create mode 100644 src/generated/resources/assets/decisland/models/item/end_redstone_ore.json create mode 100644 src/generated/resources/assets/decisland/models/item/end_stone_golem_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/ender_bone.json create mode 100644 src/generated/resources/assets/decisland/models/item/ender_breath.json create mode 100644 src/generated/resources/assets/decisland/models/item/ender_core.json create mode 100644 src/generated/resources/assets/decisland/models/item/ender_crystal_nucleus.json create mode 100644 src/generated/resources/assets/decisland/models/item/ender_egg.json create mode 100644 src/generated/resources/assets/decisland/models/item/ender_fish.json create mode 100644 src/generated/resources/assets/decisland/models/item/ender_powder.json create mode 100644 src/generated/resources/assets/decisland/models/item/ender_ring.json create mode 100644 src/generated/resources/assets/decisland/models/item/ender_stone.json create mode 100644 src/generated/resources/assets/decisland/models/item/ender_substance.json create mode 100644 src/generated/resources/assets/decisland/models/item/ender_witch_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/enderman_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/energy_ray_staff.json create mode 100644 src/generated/resources/assets/decisland/models/item/enriched_uranium.json create mode 100644 src/generated/resources/assets/decisland/models/item/entity_soul.json create mode 100644 src/generated/resources/assets/decisland/models/item/entity_soul_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/es_clothes.json create mode 100644 src/generated/resources/assets/decisland/models/item/es_pants.json create mode 100644 src/generated/resources/assets/decisland/models/item/es_shoes.json create mode 100644 src/generated/resources/assets/decisland/models/item/everlasting_winter_boots.json create mode 100644 src/generated/resources/assets/decisland/models/item/everlasting_winter_chestplate.json create mode 100644 src/generated/resources/assets/decisland/models/item/everlasting_winter_dagger.json create mode 100644 src/generated/resources/assets/decisland/models/item/everlasting_winter_dart.json create mode 100644 src/generated/resources/assets/decisland/models/item/everlasting_winter_flintlock.json create mode 100644 src/generated/resources/assets/decisland/models/item/everlasting_winter_ghast_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/everlasting_winter_helmet.json create mode 100644 src/generated/resources/assets/decisland/models/item/everlasting_winter_ingot.json create mode 100644 src/generated/resources/assets/decisland/models/item/everlasting_winter_leggings.json create mode 100644 src/generated/resources/assets/decisland/models/item/everlasting_winter_sickle.json create mode 100644 src/generated/resources/assets/decisland/models/item/everlasting_winter_staff.json create mode 100644 src/generated/resources/assets/decisland/models/item/everlasting_winter_stick.json create mode 100644 src/generated/resources/assets/decisland/models/item/everlasting_winter_sword.json create mode 100644 src/generated/resources/assets/decisland/models/item/evil_snow_man_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/experience_book.json create mode 100644 src/generated/resources/assets/decisland/models/item/experience_book_empty.json create mode 100644 src/generated/resources/assets/decisland/models/item/experience_book_pro_empty.json create mode 100644 src/generated/resources/assets/decisland/models/item/experience_flower_seeds.json create mode 100644 src/generated/resources/assets/decisland/models/item/eye_of_nature.json create mode 100644 src/generated/resources/assets/decisland/models/item/fan_flower.json create mode 100644 src/generated/resources/assets/decisland/models/item/fang_mace.json create mode 100644 src/generated/resources/assets/decisland/models/item/farmer_hat.json create mode 100644 src/generated/resources/assets/decisland/models/item/final_crystal_nucleus.json create mode 100644 src/generated/resources/assets/decisland/models/item/fire_ring.json create mode 100644 src/generated/resources/assets/decisland/models/item/firefly_bottle.json create mode 100644 src/generated/resources/assets/decisland/models/item/flare_magic_book.json create mode 100644 src/generated/resources/assets/decisland/models/item/flintlock.json create mode 100644 src/generated/resources/assets/decisland/models/item/flintlock_bullet.json create mode 100644 src/generated/resources/assets/decisland/models/item/flintlock_pro.json create mode 100644 src/generated/resources/assets/decisland/models/item/flower_essence.json create mode 100644 src/generated/resources/assets/decisland/models/item/following_particle.json create mode 100644 src/generated/resources/assets/decisland/models/item/formal_style_clothes.json create mode 100644 src/generated/resources/assets/decisland/models/item/formal_style_pants.json create mode 100644 src/generated/resources/assets/decisland/models/item/fox_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/frank_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/fried_egg.json create mode 100644 src/generated/resources/assets/decisland/models/item/fried_melon_seed.json create mode 100644 src/generated/resources/assets/decisland/models/item/fritillary.json create mode 100644 src/generated/resources/assets/decisland/models/item/fritillary_seeds.json create mode 100644 src/generated/resources/assets/decisland/models/item/frozen_ball.json create mode 100644 src/generated/resources/assets/decisland/models/item/frozen_boots.json create mode 100644 src/generated/resources/assets/decisland/models/item/frozen_chestplate.json create mode 100644 src/generated/resources/assets/decisland/models/item/frozen_dart.json create mode 100644 src/generated/resources/assets/decisland/models/item/frozen_fish.json create mode 100644 src/generated/resources/assets/decisland/models/item/frozen_helmet.json create mode 100644 src/generated/resources/assets/decisland/models/item/frozen_leggings.json create mode 100644 src/generated/resources/assets/decisland/models/item/frozen_mirror_flower.json create mode 100644 src/generated/resources/assets/decisland/models/item/frozen_power.json create mode 100644 src/generated/resources/assets/decisland/models/item/frozen_power_debris.json create mode 100644 src/generated/resources/assets/decisland/models/item/frozen_ray_staff.json create mode 100644 src/generated/resources/assets/decisland/models/item/frozen_spider_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/frozen_staff.json create mode 100644 src/generated/resources/assets/decisland/models/item/gargoyle_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/gas_bomb.json create mode 100644 src/generated/resources/assets/decisland/models/item/ghast_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/ghost_dagger.json create mode 100644 src/generated/resources/assets/decisland/models/item/ghost_essence.json create mode 100644 src/generated/resources/assets/decisland/models/item/ghost_flintlock.json create mode 100644 src/generated/resources/assets/decisland/models/item/ghost_ingot.json create mode 100644 src/generated/resources/assets/decisland/models/item/ghost_sickle.json create mode 100644 src/generated/resources/assets/decisland/models/item/ghost_sword.json create mode 100644 src/generated/resources/assets/decisland/models/item/giant_bat_wings.json create mode 100644 src/generated/resources/assets/decisland/models/item/giant_ivy.json create mode 100644 src/generated/resources/assets/decisland/models/item/gingerbread_man.json create mode 100644 src/generated/resources/assets/decisland/models/item/gingerbread_man_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/gingerbread_sword.json create mode 100644 src/generated/resources/assets/decisland/models/item/glamor_clothes.json create mode 100644 src/generated/resources/assets/decisland/models/item/glamor_pants.json create mode 100644 src/generated/resources/assets/decisland/models/item/glamor_shoes.json create mode 100644 src/generated/resources/assets/decisland/models/item/glass_axe.json create mode 100644 src/generated/resources/assets/decisland/models/item/glass_ingot.json create mode 100644 src/generated/resources/assets/decisland/models/item/glass_pickaxe.json create mode 100644 src/generated/resources/assets/decisland/models/item/glass_tank.json create mode 100644 src/generated/resources/assets/decisland/models/item/goblin_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/gold_dart.json create mode 100644 src/generated/resources/assets/decisland/models/item/gold_fish.json create mode 100644 src/generated/resources/assets/decisland/models/item/gold_flower.json create mode 100644 src/generated/resources/assets/decisland/models/item/gold_ring.json create mode 100644 src/generated/resources/assets/decisland/models/item/gold_sickle.json create mode 100644 src/generated/resources/assets/decisland/models/item/gold_yuanbao.json create mode 100644 src/generated/resources/assets/decisland/models/item/golden_dagger.json create mode 100644 src/generated/resources/assets/decisland/models/item/golden_lamp.json create mode 100644 src/generated/resources/assets/decisland/models/item/golden_staff.json create mode 100644 src/generated/resources/assets/decisland/models/item/gray_shoes.json create mode 100644 src/generated/resources/assets/decisland/models/item/growth.json create mode 100644 src/generated/resources/assets/decisland/models/item/guardian_elder_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/guardian_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/guide_book.json create mode 100644 src/generated/resources/assets/decisland/models/item/hammer_flower.json create mode 100644 src/generated/resources/assets/decisland/models/item/hanyi_clothes.json create mode 100644 src/generated/resources/assets/decisland/models/item/hanyi_hair_accessories.json create mode 100644 src/generated/resources/assets/decisland/models/item/hanyi_pants.json create mode 100644 src/generated/resources/assets/decisland/models/item/hanyi_shoes.json create mode 100644 src/generated/resources/assets/decisland/models/item/hard_bamboo_katana.json create mode 100644 src/generated/resources/assets/decisland/models/item/hard_lollipop.json create mode 100644 src/generated/resources/assets/decisland/models/item/haste_potion.json create mode 100644 src/generated/resources/assets/decisland/models/item/health_nugget.json create mode 100644 src/generated/resources/assets/decisland/models/item/health_stone.json create mode 100644 src/generated/resources/assets/decisland/models/item/heart_egg.json create mode 100644 src/generated/resources/assets/decisland/models/item/heart_ring.json create mode 100644 src/generated/resources/assets/decisland/models/item/hemp_rope.json create mode 100644 src/generated/resources/assets/decisland/models/item/herb_bag.json create mode 100644 src/generated/resources/assets/decisland/models/item/high_concentration_uranium.json create mode 100644 src/generated/resources/assets/decisland/models/item/host_of_deep_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/houttuynia.json create mode 100644 src/generated/resources/assets/decisland/models/item/houttuynia_seeds.json create mode 100644 src/generated/resources/assets/decisland/models/item/hunter_book.json create mode 100644 src/generated/resources/assets/decisland/models/item/hunter_bullet_bag.json create mode 100644 src/generated/resources/assets/decisland/models/item/husk_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/ice_blaze_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/ice_brick.json create mode 100644 src/generated/resources/assets/decisland/models/item/ice_brick_block.json create mode 100644 src/generated/resources/assets/decisland/models/item/ice_cream.json create mode 100644 src/generated/resources/assets/decisland/models/item/ice_heart.json create mode 100644 src/generated/resources/assets/decisland/models/item/ice_ingot.json create mode 100644 src/generated/resources/assets/decisland/models/item/ice_lantern.json create mode 100644 src/generated/resources/assets/decisland/models/item/ice_mixed_brick.json create mode 100644 src/generated/resources/assets/decisland/models/item/ice_nugget.json create mode 100644 src/generated/resources/assets/decisland/models/item/ice_rod.json create mode 100644 src/generated/resources/assets/decisland/models/item/ice_sword.json create mode 100644 src/generated/resources/assets/decisland/models/item/ice_zombie_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/illager_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/illager_sword.json create mode 100644 src/generated/resources/assets/decisland/models/item/infinite_crystal_nucleus_1.json create mode 100644 src/generated/resources/assets/decisland/models/item/infinite_crystal_nucleus_2.json create mode 100644 src/generated/resources/assets/decisland/models/item/infinite_crystal_nucleus_3.json create mode 100644 src/generated/resources/assets/decisland/models/item/intestine.json create mode 100644 src/generated/resources/assets/decisland/models/item/iron_apple.json create mode 100644 src/generated/resources/assets/decisland/models/item/iron_apple_enchanted.json create mode 100644 src/generated/resources/assets/decisland/models/item/iron_dagger.json create mode 100644 src/generated/resources/assets/decisland/models/item/iron_dart.json create mode 100644 src/generated/resources/assets/decisland/models/item/iron_fish.json create mode 100644 src/generated/resources/assets/decisland/models/item/iron_golem_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/iron_key.json create mode 100644 src/generated/resources/assets/decisland/models/item/iron_sickle.json create mode 100644 src/generated/resources/assets/decisland/models/item/iron_staff.json create mode 100644 src/generated/resources/assets/decisland/models/item/iron_stick.json create mode 100644 src/generated/resources/assets/decisland/models/item/jacket.json create mode 100644 src/generated/resources/assets/decisland/models/item/jellyfish_staff.json create mode 100644 src/generated/resources/assets/decisland/models/item/jellyfish_staff_projectile_render.json create mode 100644 src/generated/resources/assets/decisland/models/item/jiuzhi_jacket.json create mode 100644 src/generated/resources/assets/decisland/models/item/jiuzhi_pants.json create mode 100644 src/generated/resources/assets/decisland/models/item/jiuzhi_shoes.json create mode 100644 src/generated/resources/assets/decisland/models/item/knight_helmet.json create mode 100644 src/generated/resources/assets/decisland/models/item/lamp_flower.json create mode 100644 src/generated/resources/assets/decisland/models/item/lamprey.json create mode 100644 src/generated/resources/assets/decisland/models/item/lapis_apple.json create mode 100644 src/generated/resources/assets/decisland/models/item/lapis_bullet_render.json create mode 100644 src/generated/resources/assets/decisland/models/item/lapis_dagger.json create mode 100644 src/generated/resources/assets/decisland/models/item/lapis_magic_book.json create mode 100644 src/generated/resources/assets/decisland/models/item/lapis_nugget.json create mode 100644 src/generated/resources/assets/decisland/models/item/lapis_staff.json create mode 100644 src/generated/resources/assets/decisland/models/item/lapis_sword.json create mode 100644 src/generated/resources/assets/decisland/models/item/lava_boots.json create mode 100644 src/generated/resources/assets/decisland/models/item/lava_bullet_bag.json create mode 100644 src/generated/resources/assets/decisland/models/item/lava_chestplate.json create mode 100644 src/generated/resources/assets/decisland/models/item/lava_dart.json create mode 100644 src/generated/resources/assets/decisland/models/item/lava_essence.json create mode 100644 src/generated/resources/assets/decisland/models/item/lava_flintlock.json create mode 100644 src/generated/resources/assets/decisland/models/item/lava_flower_seeds.json create mode 100644 src/generated/resources/assets/decisland/models/item/lava_helmet.json create mode 100644 src/generated/resources/assets/decisland/models/item/lava_ingot.json create mode 100644 src/generated/resources/assets/decisland/models/item/lava_leggings.json create mode 100644 src/generated/resources/assets/decisland/models/item/lava_nugget.json create mode 100644 src/generated/resources/assets/decisland/models/item/lava_ore.json create mode 100644 src/generated/resources/assets/decisland/models/item/lava_sword.json create mode 100644 src/generated/resources/assets/decisland/models/item/leaves_dagger.json create mode 100644 src/generated/resources/assets/decisland/models/item/leaves_flower.json create mode 100644 src/generated/resources/assets/decisland/models/item/leaves_golem_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/leek.json create mode 100644 src/generated/resources/assets/decisland/models/item/leek_cooked.json create mode 100644 src/generated/resources/assets/decisland/models/item/leek_seeds.json create mode 100644 src/generated/resources/assets/decisland/models/item/lester_clothes.json create mode 100644 src/generated/resources/assets/decisland/models/item/lester_pants.json create mode 100644 src/generated/resources/assets/decisland/models/item/lester_shoes.json create mode 100644 src/generated/resources/assets/decisland/models/item/light_obsidian.json create mode 100644 src/generated/resources/assets/decisland/models/item/lightning_stone.json create mode 100644 src/generated/resources/assets/decisland/models/item/lollipop.json create mode 100644 src/generated/resources/assets/decisland/models/item/long_bread.json create mode 100644 src/generated/resources/assets/decisland/models/item/lurk_bud.json create mode 100644 src/generated/resources/assets/decisland/models/item/lurk_fruit.json create mode 100644 src/generated/resources/assets/decisland/models/item/lurk_grass.json create mode 100644 src/generated/resources/assets/decisland/models/item/lurk_log.json create mode 100644 src/generated/resources/assets/decisland/models/item/lurk_mushroom.json create mode 100644 src/generated/resources/assets/decisland/models/item/lurk_orchid.json create mode 100644 src/generated/resources/assets/decisland/models/item/lurk_spring.json create mode 100644 src/generated/resources/assets/decisland/models/item/magic_article.json create mode 100644 src/generated/resources/assets/decisland/models/item/magic_chest_debris.json create mode 100644 src/generated/resources/assets/decisland/models/item/magic_crystal.json create mode 100644 src/generated/resources/assets/decisland/models/item/magic_ice_cream.json create mode 100644 src/generated/resources/assets/decisland/models/item/magic_powder.json create mode 100644 src/generated/resources/assets/decisland/models/item/magic_surge_core.json create mode 100644 src/generated/resources/assets/decisland/models/item/magma_cube_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/maple_flower.json create mode 100644 src/generated/resources/assets/decisland/models/item/melon_piece.json create mode 100644 src/generated/resources/assets/decisland/models/item/mind_controller.json create mode 100644 src/generated/resources/assets/decisland/models/item/mock_strawberry.json create mode 100644 src/generated/resources/assets/decisland/models/item/mooli.json create mode 100644 src/generated/resources/assets/decisland/models/item/mooli_seeds.json create mode 100644 src/generated/resources/assets/decisland/models/item/moon_jellyfish.json create mode 100644 src/generated/resources/assets/decisland/models/item/mooshroom_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/mouth_flower.json create mode 100644 src/generated/resources/assets/decisland/models/item/muddy_ball.json create mode 100644 src/generated/resources/assets/decisland/models/item/muddy_fish.json create mode 100644 src/generated/resources/assets/decisland/models/item/mummy_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/mummy_skeleton_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/mushroom_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/mysterious_key.json create mode 100644 src/generated/resources/assets/decisland/models/item/mysterious_key_debris.json create mode 100644 src/generated/resources/assets/decisland/models/item/mystical_skeleton_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/natural_ring.json create mode 100644 src/generated/resources/assets/decisland/models/item/nature_essence.json create mode 100644 src/generated/resources/assets/decisland/models/item/nautilus_alive.json create mode 100644 src/generated/resources/assets/decisland/models/item/nether_coal_ore.json create mode 100644 src/generated/resources/assets/decisland/models/item/nether_creeper_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/nether_dandelion.json create mode 100644 src/generated/resources/assets/decisland/models/item/nether_diamond_ore.json create mode 100644 src/generated/resources/assets/decisland/models/item/nether_emerald_ore.json create mode 100644 src/generated/resources/assets/decisland/models/item/nether_golem_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/nether_iron_ore.json create mode 100644 src/generated/resources/assets/decisland/models/item/nether_lapis_ore.json create mode 100644 src/generated/resources/assets/decisland/models/item/nether_phantom_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/nether_redstone_ore.json create mode 100644 src/generated/resources/assets/decisland/models/item/nether_skeleton_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/nether_skeleton_wizard_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/nether_stick_flower.json create mode 100644 src/generated/resources/assets/decisland/models/item/netherite_dagger.json create mode 100644 src/generated/resources/assets/decisland/models/item/netherite_dart.json create mode 100644 src/generated/resources/assets/decisland/models/item/netherite_sickle.json create mode 100644 src/generated/resources/assets/decisland/models/item/night_sword.json create mode 100644 src/generated/resources/assets/decisland/models/item/nightmare.json create mode 100644 src/generated/resources/assets/decisland/models/item/obsidian_golem_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/old_book.json create mode 100644 src/generated/resources/assets/decisland/models/item/old_monster_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/perch.json create mode 100644 src/generated/resources/assets/decisland/models/item/perch_cooked.json create mode 100644 src/generated/resources/assets/decisland/models/item/phantom_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/pig_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/piglin_chestplate.json create mode 100644 src/generated/resources/assets/decisland/models/item/piglin_leggings.json create mode 100644 src/generated/resources/assets/decisland/models/item/pigzombie_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/pine_cone.json create mode 100644 src/generated/resources/assets/decisland/models/item/pink_dandelion.json create mode 100644 src/generated/resources/assets/decisland/models/item/pink_fan_flower.json create mode 100644 src/generated/resources/assets/decisland/models/item/pink_flower_block.json create mode 100644 src/generated/resources/assets/decisland/models/item/pink_jellyfish.json create mode 100644 src/generated/resources/assets/decisland/models/item/pirate_bullet_bag.json create mode 100644 src/generated/resources/assets/decisland/models/item/player_ghost_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/poison_dart.json create mode 100644 src/generated/resources/assets/decisland/models/item/poison_fish.json create mode 100644 src/generated/resources/assets/decisland/models/item/poison_gland.json create mode 100644 src/generated/resources/assets/decisland/models/item/polar_wolf_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/polarbear_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/pollution_algae.json create mode 100644 src/generated/resources/assets/decisland/models/item/potato_rice.json create mode 100644 src/generated/resources/assets/decisland/models/item/predators_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/prehistoric_monster_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/pufferfish_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/pulse_stone.json create mode 100644 src/generated/resources/assets/decisland/models/item/pumpkin_candy.json create mode 100644 src/generated/resources/assets/decisland/models/item/pure_ingot.json create mode 100644 src/generated/resources/assets/decisland/models/item/radiate_creeper_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/radiate_crystal.json create mode 100644 src/generated/resources/assets/decisland/models/item/radiate_enderman_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/rapier.json create mode 100644 src/generated/resources/assets/decisland/models/item/red_flower_block.json create mode 100644 src/generated/resources/assets/decisland/models/item/red_gem.json create mode 100644 src/generated/resources/assets/decisland/models/item/red_gem_debris.json create mode 100644 src/generated/resources/assets/decisland/models/item/red_gem_hat.json create mode 100644 src/generated/resources/assets/decisland/models/item/red_gem_ore.json create mode 100644 src/generated/resources/assets/decisland/models/item/red_spider_lily.json create mode 100644 src/generated/resources/assets/decisland/models/item/red_stonebrick.json create mode 100644 src/generated/resources/assets/decisland/models/item/redstone_apple.json create mode 100644 src/generated/resources/assets/decisland/models/item/redstone_apple_enchanted.json create mode 100644 src/generated/resources/assets/decisland/models/item/resistance_potion.json create mode 100644 src/generated/resources/assets/decisland/models/item/rice.json create mode 100644 src/generated/resources/assets/decisland/models/item/rice_seeds.json create mode 100644 src/generated/resources/assets/decisland/models/item/rice_wine.json create mode 100644 src/generated/resources/assets/decisland/models/item/rosemary.json create mode 100644 src/generated/resources/assets/decisland/models/item/rotten_flesh_block.json create mode 100644 src/generated/resources/assets/decisland/models/item/rough_steel.json create mode 100644 src/generated/resources/assets/decisland/models/item/rumorer_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/rupert_boots.json create mode 100644 src/generated/resources/assets/decisland/models/item/rupert_chestplate.json create mode 100644 src/generated/resources/assets/decisland/models/item/rupert_helmet.json create mode 100644 src/generated/resources/assets/decisland/models/item/rupert_leggings.json create mode 100644 src/generated/resources/assets/decisland/models/item/russet_grass.json create mode 100644 src/generated/resources/assets/decisland/models/item/sardine.json create mode 100644 src/generated/resources/assets/decisland/models/item/scale_sword.json create mode 100644 src/generated/resources/assets/decisland/models/item/scimitar.json create mode 100644 src/generated/resources/assets/decisland/models/item/sea_turtle_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/sea_urchin.json create mode 100644 src/generated/resources/assets/decisland/models/item/shadow_creeper_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/shadow_crystal.json create mode 100644 src/generated/resources/assets/decisland/models/item/shadow_feather.json create mode 100644 src/generated/resources/assets/decisland/models/item/shadow_of_sea_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/shadow_skeleton_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/shadow_zombie_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/sharp_coral.json create mode 100644 src/generated/resources/assets/decisland/models/item/shell.json create mode 100644 src/generated/resources/assets/decisland/models/item/short_flintlock.json create mode 100644 src/generated/resources/assets/decisland/models/item/shulker_helmet.json create mode 100644 src/generated/resources/assets/decisland/models/item/shulker_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/skeleton_assassin_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/skeleton_fish.json create mode 100644 src/generated/resources/assets/decisland/models/item/skeleton_knight_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/skeleton_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/slime_axe.json create mode 100644 src/generated/resources/assets/decisland/models/item/slime_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/slime_pickaxe.json create mode 100644 src/generated/resources/assets/decisland/models/item/sliver_yuanbao.json create mode 100644 src/generated/resources/assets/decisland/models/item/small_stone.json create mode 100644 src/generated/resources/assets/decisland/models/item/small_stone_block.json create mode 100644 src/generated/resources/assets/decisland/models/item/smoke_bomb.json create mode 100644 src/generated/resources/assets/decisland/models/item/smooth_amethyst_block.json create mode 100644 src/generated/resources/assets/decisland/models/item/snailfish.json create mode 100644 src/generated/resources/assets/decisland/models/item/snow_flower.json create mode 100644 src/generated/resources/assets/decisland/models/item/snow_lotus.json create mode 100644 src/generated/resources/assets/decisland/models/item/snowball_magic_book.json create mode 100644 src/generated/resources/assets/decisland/models/item/solidified_lava_block.json create mode 100644 src/generated/resources/assets/decisland/models/item/soul.json create mode 100644 src/generated/resources/assets/decisland/models/item/soul_blaze_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/soul_blaze_rod.json create mode 100644 src/generated/resources/assets/decisland/models/item/soul_key.json create mode 100644 src/generated/resources/assets/decisland/models/item/soul_skeleton_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/soul_soil_diamond_ore.json create mode 100644 src/generated/resources/assets/decisland/models/item/soul_staff.json create mode 100644 src/generated/resources/assets/decisland/models/item/soul_wake_bullet_render.json create mode 100644 src/generated/resources/assets/decisland/models/item/soul_zombie_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/soybean.json create mode 100644 src/generated/resources/assets/decisland/models/item/spark_flower.json create mode 100644 src/generated/resources/assets/decisland/models/item/spell_flower.json create mode 100644 src/generated/resources/assets/decisland/models/item/spider_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/spiral_shell.json create mode 100644 src/generated/resources/assets/decisland/models/item/spurt_egg.json create mode 100644 src/generated/resources/assets/decisland/models/item/squid_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/star_debris.json create mode 100644 src/generated/resources/assets/decisland/models/item/star_flintlock.json create mode 100644 src/generated/resources/assets/decisland/models/item/star_flower.json create mode 100644 src/generated/resources/assets/decisland/models/item/steel_battleaxe.json create mode 100644 src/generated/resources/assets/decisland/models/item/steel_block.json create mode 100644 src/generated/resources/assets/decisland/models/item/steel_boots.json create mode 100644 src/generated/resources/assets/decisland/models/item/steel_chestplate.json create mode 100644 src/generated/resources/assets/decisland/models/item/steel_dagger.json create mode 100644 src/generated/resources/assets/decisland/models/item/steel_dart.json create mode 100644 src/generated/resources/assets/decisland/models/item/steel_helmet.json create mode 100644 src/generated/resources/assets/decisland/models/item/steel_ingot.json create mode 100644 src/generated/resources/assets/decisland/models/item/steel_leggings.json create mode 100644 src/generated/resources/assets/decisland/models/item/steel_nugget.json create mode 100644 src/generated/resources/assets/decisland/models/item/steel_sickle.json create mode 100644 src/generated/resources/assets/decisland/models/item/steel_sword.json create mode 100644 src/generated/resources/assets/decisland/models/item/steve_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/stick_flower.json create mode 100644 src/generated/resources/assets/decisland/models/item/sticky_ash.json create mode 100644 src/generated/resources/assets/decisland/models/item/stone_boots.json create mode 100644 src/generated/resources/assets/decisland/models/item/stone_chestplate.json create mode 100644 src/generated/resources/assets/decisland/models/item/stone_dagger.json create mode 100644 src/generated/resources/assets/decisland/models/item/stone_dart.json create mode 100644 src/generated/resources/assets/decisland/models/item/stone_helmet.json create mode 100644 src/generated/resources/assets/decisland/models/item/stone_leggings.json create mode 100644 src/generated/resources/assets/decisland/models/item/stones_bag.json create mode 100644 src/generated/resources/assets/decisland/models/item/storm_battleaxe.json create mode 100644 src/generated/resources/assets/decisland/models/item/storm_flintlock.json create mode 100644 src/generated/resources/assets/decisland/models/item/storm_staff.json create mode 100644 src/generated/resources/assets/decisland/models/item/straw_rope.json create mode 100644 src/generated/resources/assets/decisland/models/item/stray_chestplate.json create mode 100644 src/generated/resources/assets/decisland/models/item/stray_helmet.json create mode 100644 src/generated/resources/assets/decisland/models/item/stray_leggings.json create mode 100644 src/generated/resources/assets/decisland/models/item/stray_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/stream_dart.json create mode 100644 src/generated/resources/assets/decisland/models/item/stream_ore.json create mode 100644 src/generated/resources/assets/decisland/models/item/stream_stone.json create mode 100644 src/generated/resources/assets/decisland/models/item/strider_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/striped_pants.json create mode 100644 src/generated/resources/assets/decisland/models/item/sun_stone.json create mode 100644 src/generated/resources/assets/decisland/models/item/swamp_drowned_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/swamp_golem_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/sword_fish.json create mode 100644 src/generated/resources/assets/decisland/models/item/sword_of_deep.json create mode 100644 src/generated/resources/assets/decisland/models/item/sword_of_guard.json create mode 100644 src/generated/resources/assets/decisland/models/item/sword_of_halloween.json create mode 100644 src/generated/resources/assets/decisland/models/item/the_blade.json create mode 100644 src/generated/resources/assets/decisland/models/item/the_imperial_sword.json create mode 100644 src/generated/resources/assets/decisland/models/item/throwable_bomb.json create mode 100644 src/generated/resources/assets/decisland/models/item/thunder_rapier.json create mode 100644 src/generated/resources/assets/decisland/models/item/thunder_staff.json create mode 100644 src/generated/resources/assets/decisland/models/item/thyme.json create mode 100644 src/generated/resources/assets/decisland/models/item/time_compass.json create mode 100644 src/generated/resources/assets/decisland/models/item/tnt_creeper_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/tofu.json create mode 100644 src/generated/resources/assets/decisland/models/item/tropical_fish.json create mode 100644 src/generated/resources/assets/decisland/models/item/tropical_fish_cooked.json create mode 100644 src/generated/resources/assets/decisland/models/item/turtle_boots.json create mode 100644 src/generated/resources/assets/decisland/models/item/turtle_chestplate.json create mode 100644 src/generated/resources/assets/decisland/models/item/turtle_leggings.json create mode 100644 src/generated/resources/assets/decisland/models/item/turtle_sword.json create mode 100644 src/generated/resources/assets/decisland/models/item/uniform_clothes.json create mode 100644 src/generated/resources/assets/decisland/models/item/uniform_pants.json create mode 100644 src/generated/resources/assets/decisland/models/item/uranium.json create mode 100644 src/generated/resources/assets/decisland/models/item/uranium_apple.json create mode 100644 src/generated/resources/assets/decisland/models/item/uranium_block.json create mode 100644 src/generated/resources/assets/decisland/models/item/uranium_ore.json create mode 100644 src/generated/resources/assets/decisland/models/item/vengeful_ghost_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/vex_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/villager_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/void_whispering_dagger.json create mode 100644 src/generated/resources/assets/decisland/models/item/vortex.json create mode 100644 src/generated/resources/assets/decisland/models/item/wandering_trader_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/warden_sword.json create mode 100644 src/generated/resources/assets/decisland/models/item/warped_skeleton_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/waste.json create mode 100644 src/generated/resources/assets/decisland/models/item/wave_magic_book.json create mode 100644 src/generated/resources/assets/decisland/models/item/werewolf_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/white_flower_block.json create mode 100644 src/generated/resources/assets/decisland/models/item/white_shoes.json create mode 100644 src/generated/resources/assets/decisland/models/item/white_t_shirt.json create mode 100644 src/generated/resources/assets/decisland/models/item/wind_dagger.json create mode 100644 src/generated/resources/assets/decisland/models/item/wind_of_shadow.json create mode 100644 src/generated/resources/assets/decisland/models/item/wine_glass.json create mode 100644 src/generated/resources/assets/decisland/models/item/wings_from_deep.json create mode 100644 src/generated/resources/assets/decisland/models/item/witch_hat.json create mode 100644 src/generated/resources/assets/decisland/models/item/witch_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/wither_cone.json create mode 100644 src/generated/resources/assets/decisland/models/item/wither_invulnerable_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/wither_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/wither_skeleton_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/wither_substance.json create mode 100644 src/generated/resources/assets/decisland/models/item/wolf_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/wood_boots.json create mode 100644 src/generated/resources/assets/decisland/models/item/wood_chestplate.json create mode 100644 src/generated/resources/assets/decisland/models/item/wood_dart.json create mode 100644 src/generated/resources/assets/decisland/models/item/wood_helmet.json create mode 100644 src/generated/resources/assets/decisland/models/item/wood_leggings.json create mode 100644 src/generated/resources/assets/decisland/models/item/wooden_dagger.json create mode 100644 src/generated/resources/assets/decisland/models/item/wooden_staff.json create mode 100644 src/generated/resources/assets/decisland/models/item/yellow_butterfly_flower.json create mode 100644 src/generated/resources/assets/decisland/models/item/yellow_flower_block.json create mode 100644 src/generated/resources/assets/decisland/models/item/yellow_jellyfish.json create mode 100644 src/generated/resources/assets/decisland/models/item/zombie_brain.json create mode 100644 src/generated/resources/assets/decisland/models/item/zombie_fish.json create mode 100644 src/generated/resources/assets/decisland/models/item/zombie_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/zombie_summoner_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/zombie_villager_mask.json create mode 100644 src/generated/resources/assets/decisland/models/item/zombie_warrior_mask.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/combat/amethyst_dagger.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/combat/copper_battleaxe.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/combat/copper_dagger.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/combat/diamond_dagger.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/combat/emerald_dagger.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/combat/everlasting_winter_dagger.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/combat/everlasting_winter_sword.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/combat/ghost_dagger.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/combat/ghost_sword.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/combat/gold_dagger.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/combat/growth.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/combat/iron_dagger.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/combat/lapis_dagger.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/combat/leaves_dagger.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/combat/netherite_dagger.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/combat/steel_battleaxe.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/combat/steel_dagger.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/combat/stone_dagger.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/combat/the_imperial_sword.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/combat/thunder_rapier.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/combat/vortex.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/combat/wind_dagger.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/combat/wind_of_shadow.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/combat/wooden_dagger.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/combat/wooden_dagger_from_crimson_planks.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/combat/wooden_dagger_from_warped_planks.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/food/a_bowl_of_rice.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/food/crab_leg_cooked_from_blasting.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/food/crab_leg_cooked_from_campfire_cooking.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/food/crab_leg_cooked_from_smelting.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/food/crab_leg_cooked_from_smoking.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/food/leek_cooked_from_campfire_cooking.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/food/leek_cooked_from_smelting.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/food/leek_cooked_from_smoking.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/food/perch_cooked_from_campfire_cooking.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/food/perch_cooked_from_smelting.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/food/perch_cooked_from_smoking.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/food/rice.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/food/rice_wine.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/misc/blast_furnace_copper_battleaxe.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/misc/blast_furnace_diamond_axe.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/misc/blast_furnace_diamond_dagger.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/misc/blast_furnace_diamond_pickaxe.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/misc/blast_furnace_emerald_dagger.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/misc/blast_furnace_golden_dagger.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/misc/blast_furnace_steel_battleaxe.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/misc/blast_furnace_steel_dagger.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/misc/everlasting_winter_stick.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/misc/frozen_power.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/misc/furnace_copper_battleaxe.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/misc/furnace_diamond_axe.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/misc/furnace_diamond_dagger.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/misc/furnace_diamond_pickaxe.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/misc/furnace_emerald_dagger.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/misc/furnace_golden_dagger.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/misc/furnace_steel_battleaxe.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/misc/furnace_steel_dagger.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/tools/amethyst_axe.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/tools/amethyst_pickaxe.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/tools/coral_axe.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/tools/coral_pickaxe.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/tools/emerald_axe.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/tools/emerald_pickaxe.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/tools/glass_axe.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/tools/glass_pickaxe.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/tools/slime_axe.json create mode 100644 src/generated/resources/data/decisland/advancement/recipes/tools/slime_pickaxe.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/amethyst_lantern.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/ancient_ice.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/baby_blue_eyes_flower.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/balloon_flower.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/bizarre_chilli_crop.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/black_flower_block.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/blue_flower_block.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/blue_gem_ore.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/blue_ice_brick_block.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/breeze_flower.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/butter_flower.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/butterfly_pea.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/candy_block.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/chiseled_ice_brick.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/cloud_flower.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/compress_flower_block.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/compressed_ice.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/corn_crop.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/crimson_lamp.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/crinum.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/dandelion.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/deep_dandelion.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/depart_grass.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/desert_fan_flower.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/end_coal_ore.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/end_diamond_ore.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/end_emerald_ore.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/end_gold_ore.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/end_iron_ore.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/end_lapis_ore.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/end_ore.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/end_redstone_ore.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/experience_flower_crop.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/fan_flower.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/fritillary_crop.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/frozen_mirror_flower.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/gold_flower.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/golden_lamp.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/hammer_flower.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/houttuynia_crop.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/ice_brick_block.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/ice_lantern.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/ice_mixed_brick.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/lamp_flower.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/lava_flower_crop.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/lava_ore.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/leaves_flower.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/leek_crop.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/light_obsidian.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/lurk_bud.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/lurk_fruit.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/lurk_grass.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/lurk_log.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/lurk_mushroom.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/lurk_orchid.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/lurk_spring.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/maple_flower.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/mock_strawberry.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/mooli_crop.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/mouth_flower.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/nether_coal_ore.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/nether_dandelion.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/nether_diamond_ore.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/nether_emerald_ore.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/nether_iron_ore.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/nether_lapis_ore.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/nether_redstone_ore.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/nether_stick_flower.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/pink_dandelion.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/pink_fan_flower.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/pink_flower_block.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/red_flower_block.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/red_gem_ore.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/red_spider_lily.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/red_stonebrick.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/rice_crop.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/rosemary.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/rotten_flesh_block.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/russet_grass.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/smooth_amethyst_block.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/snow_flower.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/snow_lotus.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/solidified_lava_block.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/soul_soil_diamond_ore.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/soybean_crop.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/spark_flower.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/spell_flower.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/star_flower.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/steel_block.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/stick_flower.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/stream_ore.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/thyme.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/uranium_block.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/uranium_ore.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/white_flower_block.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/wither_cone.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/yellow_butterfly_flower.json create mode 100644 src/generated/resources/data/decisland/loot_table/blocks/yellow_flower_block.json create mode 100644 src/generated/resources/data/decisland/recipe/a_bowl_of_rice.json create mode 100644 src/generated/resources/data/decisland/recipe/amethyst_axe.json create mode 100644 src/generated/resources/data/decisland/recipe/amethyst_dagger.json create mode 100644 src/generated/resources/data/decisland/recipe/amethyst_pickaxe.json create mode 100644 src/generated/resources/data/decisland/recipe/blast_furnace_copper_battleaxe.json create mode 100644 src/generated/resources/data/decisland/recipe/blast_furnace_diamond_axe.json create mode 100644 src/generated/resources/data/decisland/recipe/blast_furnace_diamond_dagger.json create mode 100644 src/generated/resources/data/decisland/recipe/blast_furnace_diamond_pickaxe.json create mode 100644 src/generated/resources/data/decisland/recipe/blast_furnace_emerald_dagger.json create mode 100644 src/generated/resources/data/decisland/recipe/blast_furnace_golden_dagger.json create mode 100644 src/generated/resources/data/decisland/recipe/blast_furnace_steel_battleaxe.json create mode 100644 src/generated/resources/data/decisland/recipe/blast_furnace_steel_dagger.json create mode 100644 src/generated/resources/data/decisland/recipe/copper_battleaxe.json create mode 100644 src/generated/resources/data/decisland/recipe/copper_dagger.json create mode 100644 src/generated/resources/data/decisland/recipe/coral_axe.json create mode 100644 src/generated/resources/data/decisland/recipe/coral_pickaxe.json create mode 100644 src/generated/resources/data/decisland/recipe/crab_leg_cooked_from_blasting.json create mode 100644 src/generated/resources/data/decisland/recipe/crab_leg_cooked_from_campfire_cooking.json create mode 100644 src/generated/resources/data/decisland/recipe/crab_leg_cooked_from_smelting.json create mode 100644 src/generated/resources/data/decisland/recipe/crab_leg_cooked_from_smoking.json create mode 100644 src/generated/resources/data/decisland/recipe/diamond_dagger.json create mode 100644 src/generated/resources/data/decisland/recipe/emerald_axe.json create mode 100644 src/generated/resources/data/decisland/recipe/emerald_dagger.json create mode 100644 src/generated/resources/data/decisland/recipe/emerald_pickaxe.json create mode 100644 src/generated/resources/data/decisland/recipe/everlasting_winter_dagger.json create mode 100644 src/generated/resources/data/decisland/recipe/everlasting_winter_stick.json create mode 100644 src/generated/resources/data/decisland/recipe/everlasting_winter_sword.json create mode 100644 src/generated/resources/data/decisland/recipe/frozen_power.json create mode 100644 src/generated/resources/data/decisland/recipe/furnace_copper_battleaxe.json create mode 100644 src/generated/resources/data/decisland/recipe/furnace_diamond_axe.json create mode 100644 src/generated/resources/data/decisland/recipe/furnace_diamond_dagger.json create mode 100644 src/generated/resources/data/decisland/recipe/furnace_diamond_pickaxe.json create mode 100644 src/generated/resources/data/decisland/recipe/furnace_emerald_dagger.json create mode 100644 src/generated/resources/data/decisland/recipe/furnace_golden_dagger.json create mode 100644 src/generated/resources/data/decisland/recipe/furnace_steel_battleaxe.json create mode 100644 src/generated/resources/data/decisland/recipe/furnace_steel_dagger.json create mode 100644 src/generated/resources/data/decisland/recipe/ghost_dagger.json create mode 100644 src/generated/resources/data/decisland/recipe/ghost_sword.json create mode 100644 src/generated/resources/data/decisland/recipe/glass_axe.json create mode 100644 src/generated/resources/data/decisland/recipe/glass_pickaxe.json create mode 100644 src/generated/resources/data/decisland/recipe/gold_dagger.json create mode 100644 src/generated/resources/data/decisland/recipe/growth.json create mode 100644 src/generated/resources/data/decisland/recipe/iron_dagger.json create mode 100644 src/generated/resources/data/decisland/recipe/lapis_dagger.json create mode 100644 src/generated/resources/data/decisland/recipe/leaves_dagger.json create mode 100644 src/generated/resources/data/decisland/recipe/leek_cooked_from_campfire_cooking.json create mode 100644 src/generated/resources/data/decisland/recipe/leek_cooked_from_smelting.json create mode 100644 src/generated/resources/data/decisland/recipe/leek_cooked_from_smoking.json create mode 100644 src/generated/resources/data/decisland/recipe/netherite_dagger.json create mode 100644 src/generated/resources/data/decisland/recipe/perch_cooked_from_campfire_cooking.json create mode 100644 src/generated/resources/data/decisland/recipe/perch_cooked_from_smelting.json create mode 100644 src/generated/resources/data/decisland/recipe/perch_cooked_from_smoking.json create mode 100644 src/generated/resources/data/decisland/recipe/rice.json create mode 100644 src/generated/resources/data/decisland/recipe/rice_wine.json create mode 100644 src/generated/resources/data/decisland/recipe/slime_axe.json create mode 100644 src/generated/resources/data/decisland/recipe/slime_pickaxe.json create mode 100644 src/generated/resources/data/decisland/recipe/steel_battleaxe.json create mode 100644 src/generated/resources/data/decisland/recipe/steel_dagger.json create mode 100644 src/generated/resources/data/decisland/recipe/stone_dagger.json create mode 100644 src/generated/resources/data/decisland/recipe/the_imperial_sword.json create mode 100644 src/generated/resources/data/decisland/recipe/thunder_rapier.json create mode 100644 src/generated/resources/data/decisland/recipe/vortex.json create mode 100644 src/generated/resources/data/decisland/recipe/wind_dagger.json create mode 100644 src/generated/resources/data/decisland/recipe/wind_of_shadow.json create mode 100644 src/generated/resources/data/decisland/recipe/wooden_dagger.json create mode 100644 src/generated/resources/data/decisland/recipe/wooden_dagger_from_crimson_planks.json create mode 100644 src/generated/resources/data/decisland/recipe/wooden_dagger_from_warped_planks.json create mode 100644 src/generated/resources/data/decisland/tags/item/axe.json create mode 100644 src/generated/resources/data/decisland/tags/item/dagger.json create mode 100644 src/generated/resources/data/decisland/tags/item/dart.json create mode 100644 src/generated/resources/data/decisland/tags/item/gun.json create mode 100644 src/generated/resources/data/decisland/tags/item/katana.json create mode 100644 src/generated/resources/data/decisland/tags/item/magic_book.json create mode 100644 src/generated/resources/data/decisland/tags/item/magic_weapon.json create mode 100644 src/generated/resources/data/decisland/tags/item/melee_weapon.json create mode 100644 src/generated/resources/data/decisland/tags/item/range_weapon.json create mode 100644 src/generated/resources/data/decisland/tags/item/rapier.json create mode 100644 src/generated/resources/data/decisland/tags/item/repairs_amethyst_armor.json create mode 100644 src/generated/resources/data/decisland/tags/item/repairs_fashion.json create mode 100644 src/generated/resources/data/decisland/tags/item/sickle.json create mode 100644 src/generated/resources/data/decisland/tags/item/staff.json create mode 100644 src/generated/resources/data/decisland/tags/item/sundries.json create mode 100644 src/generated/resources/data/decisland/tags/item/sword.json create mode 100644 src/generated/resources/data/decisland/tags/item/thrown_weapon.json create mode 100644 src/generated/resources/data/minecraft/tags/block/mineable/axe.json create mode 100644 src/generated/resources/data/minecraft/tags/block/mineable/pickaxe.json create mode 100644 src/generated/resources/data/minecraft/tags/block/needs_diamond_tool.json create mode 100644 src/generated/resources/data/minecraft/tags/block/needs_iron_tool.json create mode 100644 src/generated/resources/data/minecraft/tags/block/needs_stone_tool.json create mode 100644 src/generated/resources/data/minecraft/tags/item/axes.json create mode 100644 src/generated/resources/data/minecraft/tags/item/pickaxes.json create mode 100644 src/generated/resources/data/neoforge/data_maps/item/compostables.json create mode 100644 src/generated/resources/data/neoforge/data_maps/item/furnace_fuels.json delete mode 100644 src/main/java/com/dec/decisland/client/renderer/state/DartRenderState.kt delete mode 100644 src/main/java/com/dec/decisland/client/renderer/state/NormalRenderState.kt create mode 100644 src/main/java/com/dec/decisland/entity/projectile/CustomInertiaProjectile.kt create mode 100644 src/main/java/com/dec/decisland/item/ToolMaterial.kt create mode 100644 src/main/java/com/dec/decisland/item/compat/ItemCompat.kt create mode 100644 src/main/java/com/dec/decisland/item/compat/ModProjectileUtil.kt delete mode 100644 src/main/java/com/dec/decisland/mixin/ThrowableProjectileMixin.kt delete mode 100644 src/main/java/com/dec/decisland/mixin/client/EquipmentLayerRendererMixin.java create mode 100644 src/main/resources/META-INF/accesstransformer.cfg diff --git a/.gitignore b/.gitignore index 02535b8..e71539a 100644 --- a/.gitignore +++ b/.gitignore @@ -29,4 +29,5 @@ _tmp_fabric_source _tmp_bedrock_source generated +!src/generated/ .* \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json index 6ffc9f5..35e7979 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -6,17 +6,17 @@ "request": "launch", "name": "Client", "presentation": { - "group": "Mod Development - DecIsland", + "group": "Mod Development - DecIslandNeoforge-main", "order": 0 }, - "projectName": "DecIsland", + "projectName": "DecIslandNeoforge-main", "mainClass": "net.neoforged.devlaunch.Main", "args": [ - "@E:\\MCJEMod\\DecIsland\\build\\moddev\\clientRunProgramArgs.txt" + "@F:\\DecIslandNeoforge-main\\build\\moddev\\clientRunProgramArgs.txt" ], "vmArgs": [ - "@E:\\MCJEMod\\DecIsland\\build\\moddev\\clientRunVmArgs.txt", - "-Dfml.modFolders\u003ddecisland%%E:\\MCJEMod\\DecIsland\\bin\\main" + "@F:\\DecIslandNeoforge-main\\build\\moddev\\clientRunVmArgs.txt", + "-Dfml.modFolders\u003ddecisland%%F:\\DecIslandNeoforge-main\\bin\\main" ], "cwd": "${workspaceFolder}\\run", "env": {}, @@ -28,17 +28,17 @@ "request": "launch", "name": "Data", "presentation": { - "group": "Mod Development - DecIsland", + "group": "Mod Development - DecIslandNeoforge-main", "order": 1 }, - "projectName": "DecIsland", + "projectName": "DecIslandNeoforge-main", "mainClass": "net.neoforged.devlaunch.Main", "args": [ - "@E:\\MCJEMod\\DecIsland\\build\\moddev\\dataRunProgramArgs.txt" + "@F:\\DecIslandNeoforge-main\\build\\moddev\\dataRunProgramArgs.txt" ], "vmArgs": [ - "@E:\\MCJEMod\\DecIsland\\build\\moddev\\dataRunVmArgs.txt", - "-Dfml.modFolders\u003ddecisland%%E:\\MCJEMod\\DecIsland\\bin\\main" + "@F:\\DecIslandNeoforge-main\\build\\moddev\\dataRunVmArgs.txt", + "-Dfml.modFolders\u003ddecisland%%F:\\DecIslandNeoforge-main\\bin\\main" ], "cwd": "${workspaceFolder}\\run", "env": {}, @@ -50,17 +50,17 @@ "request": "launch", "name": "GameTestServer", "presentation": { - "group": "Mod Development - DecIsland", + "group": "Mod Development - DecIslandNeoforge-main", "order": 2 }, - "projectName": "DecIsland", + "projectName": "DecIslandNeoforge-main", "mainClass": "net.neoforged.devlaunch.Main", "args": [ - "@E:\\MCJEMod\\DecIsland\\build\\moddev\\gameTestServerRunProgramArgs.txt" + "@F:\\DecIslandNeoforge-main\\build\\moddev\\gameTestServerRunProgramArgs.txt" ], "vmArgs": [ - "@E:\\MCJEMod\\DecIsland\\build\\moddev\\gameTestServerRunVmArgs.txt", - "-Dfml.modFolders\u003ddecisland%%E:\\MCJEMod\\DecIsland\\bin\\main" + "@F:\\DecIslandNeoforge-main\\build\\moddev\\gameTestServerRunVmArgs.txt", + "-Dfml.modFolders\u003ddecisland%%F:\\DecIslandNeoforge-main\\bin\\main" ], "cwd": "${workspaceFolder}\\run", "env": {}, @@ -72,17 +72,17 @@ "request": "launch", "name": "Server", "presentation": { - "group": "Mod Development - DecIsland", + "group": "Mod Development - DecIslandNeoforge-main", "order": 3 }, - "projectName": "DecIsland", + "projectName": "DecIslandNeoforge-main", "mainClass": "net.neoforged.devlaunch.Main", "args": [ - "@E:\\MCJEMod\\DecIsland\\build\\moddev\\serverRunProgramArgs.txt" + "@F:\\DecIslandNeoforge-main\\build\\moddev\\serverRunProgramArgs.txt" ], "vmArgs": [ - "@E:\\MCJEMod\\DecIsland\\build\\moddev\\serverRunVmArgs.txt", - "-Dfml.modFolders\u003ddecisland%%E:\\MCJEMod\\DecIsland\\bin\\main" + "@F:\\DecIslandNeoforge-main\\build\\moddev\\serverRunVmArgs.txt", + "-Dfml.modFolders\u003ddecisland%%F:\\DecIslandNeoforge-main\\bin\\main" ], "cwd": "${workspaceFolder}\\run", "env": {}, diff --git a/README.md b/README.md index 055d621..b47f7d7 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ BiliBili: LiLeyi ## Version -So far, we support Minecraft 1.21.11 and Neoforge 21.11.38-beta +So far, we support Minecraft 1.21.1 and Neoforge 21.1.247 ## 物品移植进度(基岩版 → JE) diff --git a/build.gradle b/build.gradle index f8e692f..5df7074 100644 --- a/build.gradle +++ b/build.gradle @@ -41,7 +41,7 @@ base { archivesName = mod_id } -// Mojang ships Java 21 to end users in 1.21.11, so mods should target Java 21. +// Minecraft 1.21.1 requires Java 21, so the project targets Java 21. java.toolchain.languageVersion = JavaLanguageVersion.of(21) neoForge { @@ -59,6 +59,13 @@ neoForge { // Default run configurations. // These can be tweaked, removed, or duplicated as needed. runs { + // MC <= 1.21.3: BootstrapLauncher starts the game with isolated classloaders that + // cannot see the JVM -cp, so non-mod library dependencies (e.g. the Kotlin stdlib) + // must be put on each run's legacy classpath to be visible at runtime. + configureEach { run -> + run.additionalRuntimeClasspathConfiguration.extendsFrom(configurations.implementation) + } + client { client() @@ -81,7 +88,7 @@ neoForge { } data { - clientData() + data() // example of overriding the workingDirectory set in configureEach above, uncomment if you want to use it // gameDirectory = project.file('run-data') diff --git a/gradle.properties b/gradle.properties index a64bad6..1840137 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,24 +1,24 @@ # Sets default memory used for gradle commands. Can be overridden by user or command line properties. org.gradle.jvmargs=-Xmx1G -org.gradle.daemon=true -org.gradle.parallel=true -org.gradle.caching=true -org.gradle.configuration-cache=true +org.gradle.daemon=false +org.gradle.parallel=false +org.gradle.caching=false +org.gradle.configuration-cache=false #read more on this at https://github.com/neoforged/ModDevGradle?tab=readme-ov-file#better-minecraft-parameter-names--javadoc-parchment # you can also find the latest versions at: https://parchmentmc.org/docs/getting-started -parchment_minecraft_version=1.21.11 -parchment_mappings_version=2025.12.20 +parchment_minecraft_version=1.21.1 +parchment_mappings_version=2024.11.17 # Environment Properties # You can find the latest versions here: https://projects.neoforged.net/neoforged/neoforge # The Minecraft version must agree with the Neo version to get a valid artifact -minecraft_version=1.21.11 +minecraft_version=1.21.1 # The Minecraft version range can use any release version of Minecraft as bounds. # Snapshots, pre-releases, and release candidates are not guaranteed to sort properly # as they do not follow standard versioning conventions. -minecraft_version_range=[1.21.11] +minecraft_version_range=[1.21.1] # The Neo version must agree with the Minecraft version to get a valid artifact -neo_version=21.11.38-beta +neo_version=21.1.247 ## Mod Properties @@ -30,7 +30,7 @@ mod_name=DecIsland # The license of the mod. Review your options at https://choosealicense.com/. All Rights Reserved is the default. mod_license=All Rights Reserved # The mod version. See https://semver.org/ -mod_version=1.0.0-1.21.11 +mod_version=1.0.0-1.21.1 # The group ID for the mod. It is only important when publishing as an artifact to a Maven repository. # This should match the base package used for the mod sources. # See https://maven.apache.org/guides/mini/guide-naming-conventions.html diff --git a/list/recipes.txt b/list/recipes.txt index af23e0d..885e0de 100644 --- a/list/recipes.txt +++ b/list/recipes.txt @@ -3,7 +3,6 @@ amethyst_axe amethyst_dagger amethyst_pickaxe blast_furnace_copper_battleaxe -blast_furnace_copper_dagger blast_furnace_diamond_axe blast_furnace_diamond_dagger blast_furnace_diamond_pickaxe @@ -29,7 +28,6 @@ everlasting_winter_sword flintlock_bullet frozen_power furnace_copper_battleaxe -furnace_copper_dagger furnace_diamond_axe furnace_diamond_dagger furnace_diamond_pickaxe diff --git a/net/minecraft/world/item/Item.java b/net/minecraft/world/item/Item.java deleted file mode 100644 index c49cc60..0000000 --- a/net/minecraft/world/item/Item.java +++ /dev/null @@ -1,823 +0,0 @@ -package net.minecraft.world.item; - -import com.google.common.annotations.VisibleForTesting; -import com.google.common.collect.Maps; -import com.mojang.logging.LogUtils; -import com.mojang.serialization.Codec; -import com.mojang.serialization.DataResult; -import java.util.Map; -import java.util.Objects; -import java.util.Optional; -import java.util.function.Consumer; -import net.minecraft.SharedConstants; -import net.minecraft.core.BlockPos; -import net.minecraft.core.Holder; -import net.minecraft.core.HolderGetter; -import net.minecraft.core.HolderLookup; -import net.minecraft.core.HolderSet; -import net.minecraft.core.component.DataComponentMap; -import net.minecraft.core.component.DataComponentType; -import net.minecraft.core.component.DataComponents; -import net.minecraft.core.registries.BuiltInRegistries; -import net.minecraft.core.registries.Registries; -import net.minecraft.nbt.CompoundTag; -import net.minecraft.network.RegistryFriendlyByteBuf; -import net.minecraft.network.chat.CommonComponents; -import net.minecraft.network.chat.Component; -import net.minecraft.network.codec.ByteBufCodecs; -import net.minecraft.network.codec.StreamCodec; -import net.minecraft.resources.DependantName; -import net.minecraft.resources.Identifier; -import net.minecraft.resources.ResourceKey; -import net.minecraft.server.level.ServerLevel; -import net.minecraft.sounds.SoundEvents; -import net.minecraft.tags.BlockTags; -import net.minecraft.tags.DamageTypeTags; -import net.minecraft.tags.EntityTypeTags; -import net.minecraft.tags.TagKey; -import net.minecraft.util.Mth; -import net.minecraft.util.Util; -import net.minecraft.world.Difficulty; -import net.minecraft.world.InteractionHand; -import net.minecraft.world.InteractionResult; -import net.minecraft.world.damagesource.DamageSource; -import net.minecraft.world.damagesource.DamageTypes; -import net.minecraft.world.entity.Entity; -import net.minecraft.world.entity.EntityType; -import net.minecraft.world.entity.EquipmentSlot; -import net.minecraft.world.entity.EquipmentSlotGroup; -import net.minecraft.world.entity.LivingEntity; -import net.minecraft.world.entity.SlotAccess; -import net.minecraft.world.entity.ai.attributes.AttributeModifier; -import net.minecraft.world.entity.ai.attributes.Attributes; -import net.minecraft.world.entity.item.ItemEntity; -import net.minecraft.world.entity.player.Player; -import net.minecraft.world.flag.FeatureElement; -import net.minecraft.world.flag.FeatureFlag; -import net.minecraft.world.flag.FeatureFlagSet; -import net.minecraft.world.flag.FeatureFlags; -import net.minecraft.world.food.FoodProperties; -import net.minecraft.world.inventory.ClickAction; -import net.minecraft.world.inventory.Slot; -import net.minecraft.world.inventory.tooltip.TooltipComponent; -import net.minecraft.world.item.component.AttackRange; -import net.minecraft.world.item.component.Consumable; -import net.minecraft.world.item.component.Consumables; -import net.minecraft.world.item.component.DamageResistant; -import net.minecraft.world.item.component.ItemAttributeModifiers; -import net.minecraft.world.item.component.KineticWeapon; -import net.minecraft.world.item.component.PiercingWeapon; -import net.minecraft.world.item.component.ProvidesTrimMaterial; -import net.minecraft.world.item.component.SwingAnimation; -import net.minecraft.world.item.component.Tool; -import net.minecraft.world.item.component.TooltipDisplay; -import net.minecraft.world.item.component.TypedEntityData; -import net.minecraft.world.item.component.UseCooldown; -import net.minecraft.world.item.component.UseEffects; -import net.minecraft.world.item.component.UseRemainder; -import net.minecraft.world.item.component.Weapon; -import net.minecraft.world.item.context.UseOnContext; -import net.minecraft.world.item.enchantment.Enchantable; -import net.minecraft.world.item.enchantment.Repairable; -import net.minecraft.world.item.equipment.ArmorMaterial; -import net.minecraft.world.item.equipment.ArmorType; -import net.minecraft.world.item.equipment.Equippable; -import net.minecraft.world.item.equipment.trim.TrimMaterial; -import net.minecraft.world.level.ClipContext; -import net.minecraft.world.level.ItemLike; -import net.minecraft.world.level.Level; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.saveddata.maps.MapId; -import net.minecraft.world.level.saveddata.maps.MapItemSavedData; -import net.minecraft.world.phys.BlockHitResult; -import net.minecraft.world.phys.Vec3; -import org.jspecify.annotations.Nullable; -import org.slf4j.Logger; - -public class Item implements FeatureElement, ItemLike, net.neoforged.neoforge.common.extensions.IItemExtension { - public static final Codec> CODEC = BuiltInRegistries.ITEM - .holderByNameCodec() - .validate( - p_381630_ -> p_381630_.is(Items.AIR.builtInRegistryHolder()) - ? DataResult.error(() -> "Item must not be minecraft:air") - : DataResult.success(p_381630_) - ); - public static final StreamCodec> STREAM_CODEC = ByteBufCodecs.holderRegistry(Registries.ITEM); - private static final Logger LOGGER = LogUtils.getLogger(); - public static final Map BY_BLOCK = net.neoforged.neoforge.registries.GameData.getBlockItemMap(); - public static final Identifier BASE_ATTACK_DAMAGE_ID = Identifier.withDefaultNamespace("base_attack_damage"); - public static final Identifier BASE_ATTACK_SPEED_ID = Identifier.withDefaultNamespace("base_attack_speed"); - public static final int DEFAULT_MAX_STACK_SIZE = 64; - public static final int ABSOLUTE_MAX_STACK_SIZE = 99; - public static final int MAX_BAR_WIDTH = 13; - protected static final int APPROXIMATELY_INFINITE_USE_DURATION = 72000; - private final Holder.Reference builtInRegistryHolder = BuiltInRegistries.ITEM.createIntrusiveHolder(this); - private DataComponentMap components; - private final @Nullable Item craftingRemainingItem; - protected final String descriptionId; - private final FeatureFlagSet requiredFeatures; - private net.neoforged.neoforge.transfer.item.@Nullable ItemResource defaultResource; - - public static int getId(Item item) { - return item == null ? 0 : BuiltInRegistries.ITEM.getId(item); - } - - public static Item byId(int id) { - return BuiltInRegistries.ITEM.byId(id); - } - - @Deprecated - public static Item byBlock(Block block) { - return BY_BLOCK.getOrDefault(block, Items.AIR); - } - - public Item(Item.Properties properties) { - this.descriptionId = properties.effectiveDescriptionId(); - this.components = properties.buildAndValidateComponents(Component.translatable(this.descriptionId), properties.effectiveModel()); - this.craftingRemainingItem = properties.craftingRemainingItem; - this.requiredFeatures = properties.requiredFeatures; - if (SharedConstants.IS_RUNNING_IN_IDE && false) { - String s = this.getClass().getSimpleName(); - if (!s.endsWith("Item")) { - LOGGER.error("Item classes should end with Item and {} doesn't.", s); - } - } - this.canCombineRepair = properties.canCombineRepair; - } - - @Deprecated - public Holder.Reference builtInRegistryHolder() { - return this.builtInRegistryHolder; - } - - public DataComponentMap components() { - return this.components; - } - - /** @deprecated Neo: do not use, use {@link net.neoforged.neoforge.event.ModifyDefaultComponentsEvent the event} instead */ - @org.jetbrains.annotations.ApiStatus.Internal @Deprecated - public void modifyDefaultComponentsFrom(net.minecraft.core.component.DataComponentPatch patch) { - if (!net.neoforged.neoforge.internal.RegistrationEvents.canModifyComponents()) throw new IllegalStateException("Default components cannot be modified now!"); - var builder = DataComponentMap.builder().addAll(components); - patch.entrySet().forEach(entry -> builder.set((DataComponentType)entry.getKey(), entry.getValue().orElse(null))); - components = Properties.validateComponents(builder.build()); - defaultResource = null; - } - - /** @deprecated Neo: do not use, use {@link net.neoforged.neoforge.transfer.item.ItemResource#of} instead. */ - @org.jetbrains.annotations.ApiStatus.Internal @Deprecated - public net.neoforged.neoforge.transfer.item.ItemResource computeDefaultResource(java.util.function.Function resourceConstructor) { - if (this.defaultResource == null) { - this.defaultResource = resourceConstructor.apply(this); - } - return this.defaultResource; - } - - public int getDefaultMaxStackSize() { - return this.components.getOrDefault(DataComponents.MAX_STACK_SIZE, 1); - } - - /** - * Called as the item is being used by an entity. - */ - public void onUseTick(Level level, LivingEntity livingEntity, ItemStack stack, int remainingUseDuration) { - } - - /** - * @deprecated Forge: {@link - * net.neoforged.neoforge.common.extensions.IItemExtension#onDestroyed - * (ItemEntity, DamageSource) Use damage source sensitive version} - */ - @Deprecated - public void onDestroyed(ItemEntity itemEntity) { - } - - public boolean canDestroyBlock(ItemStack stack, BlockState state, Level level, BlockPos pos, LivingEntity entity) { - Tool tool = stack.get(DataComponents.TOOL); - return tool != null && !tool.canDestroyBlocksInCreative() ? !(entity instanceof Player player && player.getAbilities().instabuild) : true; - } - - @Override - public Item asItem() { - return this; - } - - /** - * Called when this item is used when targeting a Block - */ - public InteractionResult useOn(UseOnContext context) { - return InteractionResult.PASS; - } - - public float getDestroySpeed(ItemStack stack, BlockState state) { - Tool tool = stack.get(DataComponents.TOOL); - return tool != null ? tool.getMiningSpeed(state) : 1.0F; - } - - public InteractionResult use(Level level, Player player, InteractionHand hand) { - ItemStack itemstack = player.getItemInHand(hand); - Consumable consumable = itemstack.get(DataComponents.CONSUMABLE); - if (consumable != null) { - return consumable.startConsuming(player, itemstack, hand); - } else { - Equippable equippable = itemstack.get(DataComponents.EQUIPPABLE); - if (equippable != null && equippable.swappable()) { - return equippable.swapWithEquipmentSlot(itemstack, player); - } else if (itemstack.has(DataComponents.BLOCKS_ATTACKS)) { - player.startUsingItem(hand); - return InteractionResult.CONSUME; - } else { - KineticWeapon kineticweapon = itemstack.get(DataComponents.KINETIC_WEAPON); - if (kineticweapon != null) { - player.startUsingItem(hand); - kineticweapon.makeSound(player); - return InteractionResult.CONSUME; - } else { - return InteractionResult.PASS; - } - } - } - } - - /** - * Called when the player finishes using this Item (E.g. finishes eating.). Not called when the player stops using the Item before the action is complete. - */ - public ItemStack finishUsingItem(ItemStack stack, Level level, LivingEntity livingEntity) { - Consumable consumable = stack.get(DataComponents.CONSUMABLE); - return consumable != null ? consumable.onConsume(level, livingEntity, stack) : stack; - } - - public boolean isBarVisible(ItemStack stack) { - return stack.isDamaged(); - } - - public int getBarWidth(ItemStack stack) { - return Mth.clamp(Math.round(13.0F - stack.getDamageValue() * 13.0F / stack.getMaxDamage()), 0, 13); - } - - public int getBarColor(ItemStack stack) { - int i = stack.getMaxDamage(); - float f = Math.max(0.0F, ((float)i - stack.getDamageValue()) / i); - return Mth.hsvToRgb(f / 3.0F, 1.0F, 1.0F); - } - - public boolean overrideStackedOnOther(ItemStack stack, Slot slot, ClickAction action, Player player) { - return false; - } - - public boolean overrideOtherStackedOnMe( - ItemStack stack, ItemStack other, Slot slot, ClickAction action, Player player, SlotAccess access - ) { - return false; - } - - public float getAttackDamageBonus(Entity target, float damage, DamageSource damageSource) { - return 0.0F; - } - - @Deprecated - public @Nullable DamageSource getItemDamageSource(LivingEntity entity) { - return null; - } - - public void hurtEnemy(ItemStack stack, LivingEntity target, LivingEntity attacker) { - } - - public void postHurtEnemy(ItemStack stack, LivingEntity target, LivingEntity attacker) { - } - - /** - * Called when a {@link net.minecraft.world.level.block.Block} is destroyed using this Item. Return {@code true} to trigger the "Use Item" statistic. - */ - public boolean mineBlock(ItemStack stack, Level level, BlockState state, BlockPos pos, LivingEntity miningEntity) { - Tool tool = stack.get(DataComponents.TOOL); - if (tool == null) { - return false; - } else { - if (!level.isClientSide() && state.getDestroySpeed(level, pos) != 0.0F && tool.damagePerBlock() > 0) { - stack.hurtAndBreak(tool.damagePerBlock(), miningEntity, EquipmentSlot.MAINHAND); - } - - return true; - } - } - - public boolean isCorrectToolForDrops(ItemStack stack, BlockState state) { - Tool tool = stack.get(DataComponents.TOOL); - return tool != null && tool.isCorrectForDrops(state); - } - - /** - * Try interacting with given entity. Return {@code InteractionResult.PASS} if nothing should happen. - */ - public InteractionResult interactLivingEntity(ItemStack stack, Player player, LivingEntity interactionTarget, InteractionHand usedHand) { - return InteractionResult.PASS; - } - - @Override - public String toString() { - return BuiltInRegistries.ITEM.wrapAsHolder(this).getRegisteredName(); - } - - @Deprecated // Use ItemStack sensitive version. - public final ItemStack getCraftingRemainder() { - return this.craftingRemainingItem == null ? ItemStack.EMPTY : new ItemStack(this.craftingRemainingItem); - } - - public void inventoryTick(ItemStack stack, ServerLevel level, Entity entity, @Nullable EquipmentSlot slot) { - } - - public void onCraftedBy(ItemStack stack, Player player) { - this.onCraftedPostProcess(stack, player.level()); - } - - public void onCraftedPostProcess(ItemStack stack, Level level) { - } - - public ItemUseAnimation getUseAnimation(ItemStack stack) { - Consumable consumable = stack.get(DataComponents.CONSUMABLE); - if (consumable != null) { - return consumable.animation(); - } else if (stack.has(DataComponents.BLOCKS_ATTACKS)) { - return ItemUseAnimation.BLOCK; - } else { - return stack.has(DataComponents.KINETIC_WEAPON) ? ItemUseAnimation.SPEAR : ItemUseAnimation.NONE; - } - } - - public int getUseDuration(ItemStack stack, LivingEntity entity) { - Consumable consumable = stack.get(DataComponents.CONSUMABLE); - if (consumable != null) { - return consumable.consumeTicks(); - } else { - return !stack.has(DataComponents.BLOCKS_ATTACKS) && !stack.has(DataComponents.KINETIC_WEAPON) ? 0 : 72000; - } - } - - public boolean releaseUsing(ItemStack stack, Level level, LivingEntity entity, int timeLeft) { - return false; - } - - @Deprecated - public void appendHoverText( - ItemStack stack, Item.TooltipContext context, TooltipDisplay tooltipDisplay, Consumer tooltipAdder, TooltipFlag flag - ) { - } - - public Optional getTooltipImage(ItemStack stack) { - return Optional.empty(); - } - - @VisibleForTesting - public final String getDescriptionId() { - return this.descriptionId; - } - - public final Component getName() { - return this.components.getOrDefault(DataComponents.ITEM_NAME, CommonComponents.EMPTY); - } - - public Component getName(ItemStack stack) { - return stack.getComponents().getOrDefault(DataComponents.ITEM_NAME, CommonComponents.EMPTY); - } - - /** - * Returns {@code true} if this item has an enchantment glint. By default, this returns {@code stack.isEnchanted()}, but other items can override it (for instance, written books always return true). - * - * Note that if you override this method, you generally want to also call the super version (on {@link Item}) to get the glint for enchanted items. Of course, that is unnecessary if the overwritten version always returns true. - */ - public boolean isFoil(ItemStack stack) { - return stack.isEnchanted(); - } - - public static BlockHitResult getPlayerPOVHitResult(Level level, Player player, ClipContext.Fluid fluidMode) { - Vec3 vec3 = player.getEyePosition(); - Vec3 vec31 = vec3.add(player.calculateViewVector(player.getXRot(), player.getYRot()).scale(player.blockInteractionRange())); - return level.clip(new ClipContext(vec3, vec31, ClipContext.Block.OUTLINE, fluidMode, player)); - } - - /** - * If this stack's item is a crossbow - */ - public boolean useOnRelease(ItemStack stack) { - return stack.getItem() == Items.CROSSBOW; - } - - protected final boolean canCombineRepair; - - @Override - public boolean isCombineRepairable(ItemStack stack) { - return canCombineRepair && isDamageable(stack); - } - - public ItemStack getDefaultInstance() { - return new ItemStack(this); - } - - /** - * @deprecated Neo: call {@link net.neoforged.neoforge.common.extensions.IItemStackExtension#canFitInsideContainerItems()} instead, - * prefer overriding {@link net.neoforged.neoforge.common.extensions.IItemExtension#canFitInsideContainerItems(ItemStack)} - * @implNote It is recommended to still override this to ensure mods calling this instead of the extension still behave safely. - */ - @Deprecated - public boolean canFitInsideContainerItems() { - return true; - } - - @Override - public FeatureFlagSet requiredFeatures() { - return this.requiredFeatures; - } - - public boolean shouldPrintOpWarning(ItemStack stack, @Nullable Player player) { - return false; - } - - public static class Properties implements net.neoforged.neoforge.common.extensions.IItemPropertiesExtensions { - private static final DependantName BLOCK_DESCRIPTION_ID = p_466642_ -> Util.makeDescriptionId("block", p_466642_.identifier()); - private static final DependantName ITEM_DESCRIPTION_ID = p_466643_ -> Util.makeDescriptionId("item", p_466643_.identifier()); - private final DataComponentMap.Builder components = DataComponentMap.builder().addAll(DataComponents.COMMON_ITEM_COMPONENTS); - @Nullable Item craftingRemainingItem; - FeatureFlagSet requiredFeatures = FeatureFlags.VANILLA_SET; - private @Nullable ResourceKey id; - private DependantName descriptionId = ITEM_DESCRIPTION_ID; - private final DependantName model = ResourceKey::identifier; - private boolean canCombineRepair = true; - - public Item.Properties setNoCombineRepair() { - canCombineRepair = false; - return this; - } - - public Item.Properties food(FoodProperties food) { - return this.food(food, Consumables.DEFAULT_FOOD); - } - - public Item.Properties food(FoodProperties food, Consumable consumable) { - return this.component(DataComponents.FOOD, food).component(DataComponents.CONSUMABLE, consumable); - } - - public Item.Properties usingConvertsTo(Item usingConvertsTo) { - return this.component(DataComponents.USE_REMAINDER, new UseRemainder(new ItemStack(usingConvertsTo))); - } - - public Item.Properties useCooldown(float useCooldown) { - return this.component(DataComponents.USE_COOLDOWN, new UseCooldown(useCooldown)); - } - - public Item.Properties stacksTo(int maxStackSize) { - return this.component(DataComponents.MAX_STACK_SIZE, maxStackSize); - } - - public Item.Properties durability(int maxDamage) { - this.component(DataComponents.MAX_DAMAGE, maxDamage); - this.component(DataComponents.MAX_STACK_SIZE, 1); - this.component(DataComponents.DAMAGE, 0); - return this; - } - - public Item.Properties craftRemainder(Item craftingRemainingItem) { - this.craftingRemainingItem = craftingRemainingItem; - return this; - } - - public Item.Properties rarity(Rarity rarity) { - return this.component(DataComponents.RARITY, rarity); - } - - public Item.Properties fireResistant() { - return this.component(DataComponents.DAMAGE_RESISTANT, new DamageResistant(DamageTypeTags.IS_FIRE)); - } - - public Item.Properties jukeboxPlayable(ResourceKey song) { - return this.component(DataComponents.JUKEBOX_PLAYABLE, new JukeboxPlayable(new EitherHolder<>(song))); - } - - public Item.Properties enchantable(int enchantmentValue) { - return this.component(DataComponents.ENCHANTABLE, new Enchantable(enchantmentValue)); - } - - public Item.Properties repairable(Item repairItem) { - return this.component(DataComponents.REPAIRABLE, new Repairable(HolderSet.direct(repairItem.builtInRegistryHolder()))); - } - - public Item.Properties repairable(TagKey repairItems) { - HolderGetter holdergetter = BuiltInRegistries.acquireBootstrapRegistrationLookup(BuiltInRegistries.ITEM); - return this.component(DataComponents.REPAIRABLE, new Repairable(holdergetter.getOrThrow(repairItems))); - } - - public Item.Properties equippable(EquipmentSlot slot) { - return this.component(DataComponents.EQUIPPABLE, Equippable.builder(slot).build()); - } - - public Item.Properties equippableUnswappable(EquipmentSlot slot) { - return this.component(DataComponents.EQUIPPABLE, Equippable.builder(slot).setSwappable(false).build()); - } - - public Item.Properties tool(ToolMaterial material, TagKey mineableBlocks, float attackDamage, float attackSpeed, float disableBlockingForSeconds) { - return material.applyToolProperties(this, mineableBlocks, attackDamage, attackSpeed, disableBlockingForSeconds); - } - - public Item.Properties pickaxe(ToolMaterial material, float attackDamage, float attackSpeed) { - return this.tool(material, BlockTags.MINEABLE_WITH_PICKAXE, attackDamage, attackSpeed, 0.0F); - } - - public Item.Properties axe(ToolMaterial material, float attackDamage, float attackSpeed) { - return this.tool(material, BlockTags.MINEABLE_WITH_AXE, attackDamage, attackSpeed, 5.0F); - } - - public Item.Properties hoe(ToolMaterial material, float attackDamage, float attackSpeed) { - return this.tool(material, BlockTags.MINEABLE_WITH_HOE, attackDamage, attackSpeed, 0.0F); - } - - public Item.Properties shovel(ToolMaterial material, float attackDamage, float attackSpeed) { - return this.tool(material, BlockTags.MINEABLE_WITH_SHOVEL, attackDamage, attackSpeed, 0.0F); - } - - public Item.Properties sword(ToolMaterial material, float attackDamage, float attackSpeed) { - return material.applySwordProperties(this, attackDamage, attackSpeed); - } - - public Item.Properties spear( - ToolMaterial material, - float swingDuration, - float damageMultiplier, - float delay, - float dismountMaxDuration, - float dismountMinSpeed, - float knockbackMaxDuration, - float knockbackMinSpeed, - float damageMaxDuration, - float damageMinSpeed - ) { - return this.durability(material.durability()) - .repairable(material.repairItems()) - .enchantable(material.enchantmentValue()) - .component(DataComponents.DAMAGE_TYPE, new EitherHolder<>(DamageTypes.SPEAR)) - .component( - DataComponents.KINETIC_WEAPON, - new KineticWeapon( - 10, - (int)(delay * 20.0F), - KineticWeapon.Condition.ofAttackerSpeed((int)(dismountMaxDuration * 20.0F), dismountMinSpeed), - KineticWeapon.Condition.ofAttackerSpeed((int)(knockbackMaxDuration * 20.0F), knockbackMinSpeed), - KineticWeapon.Condition.ofRelativeSpeed((int)(damageMaxDuration * 20.0F), damageMinSpeed), - 0.38F, - damageMultiplier, - Optional.of(material == ToolMaterial.WOOD ? SoundEvents.SPEAR_WOOD_USE : SoundEvents.SPEAR_USE), - Optional.of(material == ToolMaterial.WOOD ? SoundEvents.SPEAR_WOOD_HIT : SoundEvents.SPEAR_HIT) - ) - ) - .component( - DataComponents.PIERCING_WEAPON, - new PiercingWeapon( - true, - false, - Optional.of(material == ToolMaterial.WOOD ? SoundEvents.SPEAR_WOOD_ATTACK : SoundEvents.SPEAR_ATTACK), - Optional.of(material == ToolMaterial.WOOD ? SoundEvents.SPEAR_WOOD_HIT : SoundEvents.SPEAR_HIT) - ) - ) - .component(DataComponents.ATTACK_RANGE, new AttackRange(2.0F, 4.5F, 2.0F, 6.5F, 0.125F, 0.5F)) - .component(DataComponents.MINIMUM_ATTACK_CHARGE, 1.0F) - .component(DataComponents.SWING_ANIMATION, new SwingAnimation(SwingAnimationType.STAB, (int)(swingDuration * 20.0F))) - .attributes( - ItemAttributeModifiers.builder() - .add( - Attributes.ATTACK_DAMAGE, - new AttributeModifier(Item.BASE_ATTACK_DAMAGE_ID, 0.0F + material.attackDamageBonus(), AttributeModifier.Operation.ADD_VALUE), - EquipmentSlotGroup.MAINHAND - ) - .add( - Attributes.ATTACK_SPEED, - new AttributeModifier(Item.BASE_ATTACK_SPEED_ID, 1.0F / swingDuration - 4.0, AttributeModifier.Operation.ADD_VALUE), - EquipmentSlotGroup.MAINHAND - ) - .build() - ) - .component(DataComponents.USE_EFFECTS, new UseEffects(true, false, 1.0F)) - .component(DataComponents.WEAPON, new Weapon(1)); - } - - public Item.Properties spawnEgg(EntityType entityType) { - return this.component(DataComponents.ENTITY_DATA, TypedEntityData.of(entityType, new CompoundTag())); - } - - public Item.Properties humanoidArmor(ArmorMaterial material, ArmorType type) { - return this.durability(type.getDurability(material.durability())) - .attributes(material.createAttributes(type)) - .enchantable(material.enchantmentValue()) - .component( - DataComponents.EQUIPPABLE, - Equippable.builder(type.getSlot()).setEquipSound(material.equipSound()).setAsset(material.assetId()).build() - ) - .repairable(material.repairIngredient()); - } - - public Item.Properties wolfArmor(ArmorMaterial material) { - return this.durability(ArmorType.BODY.getDurability(material.durability())) - .attributes(material.createAttributes(ArmorType.BODY)) - .repairable(material.repairIngredient()) - .component( - DataComponents.EQUIPPABLE, - Equippable.builder(EquipmentSlot.BODY) - .setEquipSound(material.equipSound()) - .setAsset(material.assetId()) - .setAllowedEntities(HolderSet.direct(EntityType.WOLF.builtInRegistryHolder())) - .setCanBeSheared(true) - .setShearingSound(BuiltInRegistries.SOUND_EVENT.wrapAsHolder(SoundEvents.ARMOR_UNEQUIP_WOLF)) - .build() - ) - .component(DataComponents.BREAK_SOUND, SoundEvents.WOLF_ARMOR_BREAK) - .stacksTo(1); - } - - public Item.Properties horseArmor(ArmorMaterial material) { - HolderGetter> holdergetter = BuiltInRegistries.acquireBootstrapRegistrationLookup(BuiltInRegistries.ENTITY_TYPE); - return this.attributes(material.createAttributes(ArmorType.BODY)) - .component( - DataComponents.EQUIPPABLE, - Equippable.builder(EquipmentSlot.BODY) - .setEquipSound(SoundEvents.HORSE_ARMOR) - .setAsset(material.assetId()) - .setAllowedEntities(holdergetter.getOrThrow(EntityTypeTags.CAN_WEAR_HORSE_ARMOR)) - .setDamageOnHurt(false) - .setCanBeSheared(true) - .setShearingSound(SoundEvents.HORSE_ARMOR_UNEQUIP) - .build() - ) - .stacksTo(1); - } - - public Item.Properties nautilusArmor(ArmorMaterial material) { - HolderGetter> holdergetter = BuiltInRegistries.acquireBootstrapRegistrationLookup(BuiltInRegistries.ENTITY_TYPE); - return this.attributes(material.createAttributes(ArmorType.BODY)) - .component( - DataComponents.EQUIPPABLE, - Equippable.builder(EquipmentSlot.BODY) - .setEquipSound(SoundEvents.ARMOR_EQUIP_NAUTILUS) - .setAsset(material.assetId()) - .setAllowedEntities(holdergetter.getOrThrow(EntityTypeTags.CAN_WEAR_NAUTILUS_ARMOR)) - .setDamageOnHurt(false) - .setEquipOnInteract(true) - .setCanBeSheared(true) - .setShearingSound(SoundEvents.ARMOR_UNEQUIP_NAUTILUS) - .build() - ) - .stacksTo(1); - } - - public Item.Properties trimMaterial(ResourceKey trimMaterial) { - return this.component(DataComponents.PROVIDES_TRIM_MATERIAL, new ProvidesTrimMaterial(trimMaterial)); - } - - public Item.Properties requiredFeatures(FeatureFlag... requiredFeatures) { - this.requiredFeatures = FeatureFlags.REGISTRY.subset(requiredFeatures); - return this; - } - - public Item.Properties setId(ResourceKey id) { - this.id = id; - return this; - } - - public Item.Properties overrideDescription(String description) { - this.descriptionId = DependantName.fixed(description); - return this; - } - - public Item.Properties useBlockDescriptionPrefix() { - this.descriptionId = BLOCK_DESCRIPTION_ID; - return this; - } - - public Item.Properties useItemDescriptionPrefix() { - this.descriptionId = ITEM_DESCRIPTION_ID; - return this; - } - - protected String effectiveDescriptionId() { - return this.descriptionId.get(Objects.requireNonNull(this.id, "Item id not set")); - } - - public Identifier effectiveModel() { - return this.model.get(Objects.requireNonNull(this.id, "Item id not set")); - } - - public Item.Properties component(DataComponentType component, T value) { - net.neoforged.neoforge.common.CommonHooks.validateComponent(value); - this.components.set(component, value); - return this; - } - - public Item.Properties attributes(ItemAttributeModifiers attributes) { - return this.component(DataComponents.ATTRIBUTE_MODIFIERS, attributes); - } - - DataComponentMap buildAndValidateComponents(Component itemName, Identifier itemModel) { - DataComponentMap datacomponentmap = this.components.set(DataComponents.ITEM_NAME, itemName).set(DataComponents.ITEM_MODEL, itemModel).build(); - return validateComponents(datacomponentmap); - } - - public static DataComponentMap validateComponents(DataComponentMap datacomponentmap) { - if (datacomponentmap.has(DataComponents.DAMAGE) && datacomponentmap.getOrDefault(DataComponents.MAX_STACK_SIZE, 1) > 1) { - throw new IllegalStateException("Item cannot have both durability and be stackable"); - } else { - return datacomponentmap; - } - } - } - - public interface TooltipContext { - Item.TooltipContext EMPTY = new Item.TooltipContext() { - @Override - public HolderLookup.@Nullable Provider registries() { - return null; - } - - @Override - public float tickRate() { - return 20.0F; - } - - @Override - public @Nullable MapItemSavedData mapData(MapId p_339618_) { - return null; - } - - @Override - public boolean isPeaceful() { - return false; - } - }; - - HolderLookup.@Nullable Provider registries(); - - float tickRate(); - - @Nullable MapItemSavedData mapData(MapId mapId); - - boolean isPeaceful(); - - /** - * Neo: Returns the level if it's available. - */ - @Nullable - default Level level() { - return null; - } - - static Item.TooltipContext of(final @Nullable Level level) { - return level == null ? EMPTY : new Item.TooltipContext() { - @Override - public HolderLookup.Provider registries() { - return level.registryAccess(); - } - - @Override - public float tickRate() { - return level.tickRateManager().tickrate(); - } - - @Override - public MapItemSavedData mapData(MapId p_339628_) { - return level.getMapData(p_339628_); - } - - @Override - public boolean isPeaceful() { - return level.getDifficulty() == Difficulty.PEACEFUL; - } - - @Override - public Level level() { - return level; - } - }; - } - - static Item.TooltipContext of(final HolderLookup.Provider registries) { - return new Item.TooltipContext() { - @Override - public HolderLookup.Provider registries() { - return registries; - } - - @Override - public float tickRate() { - return 20.0F; - } - - @Override - public @Nullable MapItemSavedData mapData(MapId p_339679_) { - return null; - } - - @Override - public boolean isPeaceful() { - return false; - } - }; - } - } -} diff --git a/net/neoforged/neoforge/client/event/MovementInputUpdateEvent.java b/net/neoforged/neoforge/client/event/MovementInputUpdateEvent.java deleted file mode 100644 index 4fa6142..0000000 --- a/net/neoforged/neoforge/client/event/MovementInputUpdateEvent.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright (c) Forge Development LLC and contributors - * SPDX-License-Identifier: LGPL-2.1-only - */ - -package net.neoforged.neoforge.client.event; - -import net.minecraft.client.player.ClientInput; -import net.minecraft.world.entity.player.Player; -import net.neoforged.bus.api.Event; -import net.neoforged.fml.LogicalSide; -import net.neoforged.neoforge.common.NeoForge; -import net.neoforged.neoforge.event.entity.player.PlayerEvent; -import org.jetbrains.annotations.ApiStatus; - -/** - *

Fired after the player's movement inputs are updated.

- * - *

This event is not {@linkplain ICancellableEvent cancellable}, and does not {@linkplain Event.HasResult have a result}.

- * - *

This event is fired on the {@linkplain NeoForge#EVENT_BUS main Forge event bus}, - * only on the {@linkplain LogicalSide#CLIENT logical client}.

- */ -public class MovementInputUpdateEvent extends PlayerEvent { - private final ClientInput input; - - @ApiStatus.Internal - public MovementInputUpdateEvent(Player player, ClientInput input) { - super(player); - this.input = input; - } - - /** - * {@return the player's movement inputs} - */ - public ClientInput getInput() { - return input; - } -} diff --git a/settings.gradle b/settings.gradle index 5741bb7..8feb3df 100644 --- a/settings.gradle +++ b/settings.gradle @@ -6,7 +6,3 @@ pluginManagement { id 'org.jetbrains.kotlin.jvm' version '2.2.0' } } - -plugins { - id 'org.gradle.toolchains.foojay-resolver-convention' version '1.0.0' -} diff --git a/src/generated/resources/assets/decisland/blockstates/amethyst_lantern.json b/src/generated/resources/assets/decisland/blockstates/amethyst_lantern.json new file mode 100644 index 0000000..c1da7ef --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/amethyst_lantern.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/amethyst_lantern" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/ancient_ice.json b/src/generated/resources/assets/decisland/blockstates/ancient_ice.json new file mode 100644 index 0000000..7a1e5db --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/ancient_ice.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/ancient_ice" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/ash.json b/src/generated/resources/assets/decisland/blockstates/ash.json new file mode 100644 index 0000000..7a95aba --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/ash.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/ash" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/baby_blue_eyes_flower.json b/src/generated/resources/assets/decisland/blockstates/baby_blue_eyes_flower.json new file mode 100644 index 0000000..c1f50ee --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/baby_blue_eyes_flower.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/baby_blue_eyes_flower" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/balloon_flower.json b/src/generated/resources/assets/decisland/blockstates/balloon_flower.json new file mode 100644 index 0000000..e6ebaac --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/balloon_flower.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/balloon_flower" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/bizarre_chilli_crop.json b/src/generated/resources/assets/decisland/blockstates/bizarre_chilli_crop.json new file mode 100644 index 0000000..8c9a0fa --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/bizarre_chilli_crop.json @@ -0,0 +1,28 @@ +{ + "variants": { + "age=0": { + "model": "decisland:block/bizarre_chilli_crop_stage0" + }, + "age=1": { + "model": "decisland:block/bizarre_chilli_crop_stage0" + }, + "age=2": { + "model": "decisland:block/bizarre_chilli_crop_stage1" + }, + "age=3": { + "model": "decisland:block/bizarre_chilli_crop_stage2" + }, + "age=4": { + "model": "decisland:block/bizarre_chilli_crop_stage3" + }, + "age=5": { + "model": "decisland:block/bizarre_chilli_crop_stage4" + }, + "age=6": { + "model": "decisland:block/bizarre_chilli_crop_stage5" + }, + "age=7": { + "model": "decisland:block/bizarre_chilli_crop_stage6" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/black_flower_block.json b/src/generated/resources/assets/decisland/blockstates/black_flower_block.json new file mode 100644 index 0000000..80ade03 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/black_flower_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/black_flower_block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/blue_flower_block.json b/src/generated/resources/assets/decisland/blockstates/blue_flower_block.json new file mode 100644 index 0000000..9ac92fb --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/blue_flower_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/blue_flower_block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/blue_gem_ore.json b/src/generated/resources/assets/decisland/blockstates/blue_gem_ore.json new file mode 100644 index 0000000..10db6f1 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/blue_gem_ore.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/blue_gem_ore" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/blue_ice_brick_block.json b/src/generated/resources/assets/decisland/blockstates/blue_ice_brick_block.json new file mode 100644 index 0000000..7e8f50a --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/blue_ice_brick_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/blue_ice_brick_block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/breeze_flower.json b/src/generated/resources/assets/decisland/blockstates/breeze_flower.json new file mode 100644 index 0000000..795b296 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/breeze_flower.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/breeze_flower" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/butter_flower.json b/src/generated/resources/assets/decisland/blockstates/butter_flower.json new file mode 100644 index 0000000..e4cf37e --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/butter_flower.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/butter_flower" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/butterfly_pea.json b/src/generated/resources/assets/decisland/blockstates/butterfly_pea.json new file mode 100644 index 0000000..7e3e7e5 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/butterfly_pea.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/butterfly_pea" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/candy_block.json b/src/generated/resources/assets/decisland/blockstates/candy_block.json new file mode 100644 index 0000000..0015960 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/candy_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/candy_block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/chiseled_ice_brick.json b/src/generated/resources/assets/decisland/blockstates/chiseled_ice_brick.json new file mode 100644 index 0000000..2638ad0 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/chiseled_ice_brick.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/chiseled_ice_brick" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/cloud_flower.json b/src/generated/resources/assets/decisland/blockstates/cloud_flower.json new file mode 100644 index 0000000..0d471f2 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/cloud_flower.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/cloud_flower" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/compress_flower_block.json b/src/generated/resources/assets/decisland/blockstates/compress_flower_block.json new file mode 100644 index 0000000..f83cdb1 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/compress_flower_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/compress_flower_block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/compressed_ice.json b/src/generated/resources/assets/decisland/blockstates/compressed_ice.json new file mode 100644 index 0000000..7f7d9ec --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/compressed_ice.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/compressed_ice" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/corn_crop.json b/src/generated/resources/assets/decisland/blockstates/corn_crop.json new file mode 100644 index 0000000..f4f035c --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/corn_crop.json @@ -0,0 +1,34 @@ +{ + "variants": { + "age=0,half=lower": { + "model": "decisland:block/corn_crop_lower_stage0" + }, + "age=0,half=upper": { + "model": "decisland:block/corn_crop_upper_stage0" + }, + "age=1,half=lower": { + "model": "decisland:block/corn_crop_lower_stage1" + }, + "age=1,half=upper": { + "model": "decisland:block/corn_crop_upper_stage1" + }, + "age=2,half=lower": { + "model": "decisland:block/corn_crop_lower_stage2" + }, + "age=2,half=upper": { + "model": "decisland:block/corn_crop_upper_stage2" + }, + "age=3,half=lower": { + "model": "decisland:block/corn_crop_lower_stage3" + }, + "age=3,half=upper": { + "model": "decisland:block/corn_crop_upper_stage3" + }, + "age=4,half=lower": { + "model": "decisland:block/corn_crop_lower_stage4" + }, + "age=4,half=upper": { + "model": "decisland:block/corn_crop_upper_stage3" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/crimson_lamp.json b/src/generated/resources/assets/decisland/blockstates/crimson_lamp.json new file mode 100644 index 0000000..054019e --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/crimson_lamp.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/crimson_lamp" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/crinum.json b/src/generated/resources/assets/decisland/blockstates/crinum.json new file mode 100644 index 0000000..2b894e8 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/crinum.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/crinum" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/dandelion.json b/src/generated/resources/assets/decisland/blockstates/dandelion.json new file mode 100644 index 0000000..7c80e0b --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/dandelion.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/dandelion" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/deep_dandelion.json b/src/generated/resources/assets/decisland/blockstates/deep_dandelion.json new file mode 100644 index 0000000..826db80 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/deep_dandelion.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/deep_dandelion" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/depart_grass.json b/src/generated/resources/assets/decisland/blockstates/depart_grass.json new file mode 100644 index 0000000..4c899da --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/depart_grass.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/depart_grass" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/desert_fan_flower.json b/src/generated/resources/assets/decisland/blockstates/desert_fan_flower.json new file mode 100644 index 0000000..cb27d44 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/desert_fan_flower.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/desert_fan_flower" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/end_coal_ore.json b/src/generated/resources/assets/decisland/blockstates/end_coal_ore.json new file mode 100644 index 0000000..f78a386 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/end_coal_ore.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/end_coal_ore" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/end_diamond_ore.json b/src/generated/resources/assets/decisland/blockstates/end_diamond_ore.json new file mode 100644 index 0000000..cb55395 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/end_diamond_ore.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/end_diamond_ore" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/end_emerald_ore.json b/src/generated/resources/assets/decisland/blockstates/end_emerald_ore.json new file mode 100644 index 0000000..475fe74 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/end_emerald_ore.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/end_emerald_ore" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/end_gold_ore.json b/src/generated/resources/assets/decisland/blockstates/end_gold_ore.json new file mode 100644 index 0000000..44b7eba --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/end_gold_ore.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/end_gold_ore" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/end_iron_ore.json b/src/generated/resources/assets/decisland/blockstates/end_iron_ore.json new file mode 100644 index 0000000..d91c31f --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/end_iron_ore.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/end_iron_ore" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/end_lapis_ore.json b/src/generated/resources/assets/decisland/blockstates/end_lapis_ore.json new file mode 100644 index 0000000..3291e35 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/end_lapis_ore.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/end_lapis_ore" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/end_ore.json b/src/generated/resources/assets/decisland/blockstates/end_ore.json new file mode 100644 index 0000000..285b725 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/end_ore.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/end_ore" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/end_redstone_ore.json b/src/generated/resources/assets/decisland/blockstates/end_redstone_ore.json new file mode 100644 index 0000000..0f3a9e2 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/end_redstone_ore.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/end_redstone_ore" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/experience_flower_crop.json b/src/generated/resources/assets/decisland/blockstates/experience_flower_crop.json new file mode 100644 index 0000000..1c786f4 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/experience_flower_crop.json @@ -0,0 +1,28 @@ +{ + "variants": { + "age=0": { + "model": "decisland:block/experience_flower_crop_stage0" + }, + "age=1": { + "model": "decisland:block/experience_flower_crop_stage0" + }, + "age=2": { + "model": "decisland:block/experience_flower_crop_stage0" + }, + "age=3": { + "model": "decisland:block/experience_flower_crop_stage1" + }, + "age=4": { + "model": "decisland:block/experience_flower_crop_stage1" + }, + "age=5": { + "model": "decisland:block/experience_flower_crop_stage1" + }, + "age=6": { + "model": "decisland:block/experience_flower_crop_stage2" + }, + "age=7": { + "model": "decisland:block/experience_flower_crop_stage2" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/fan_flower.json b/src/generated/resources/assets/decisland/blockstates/fan_flower.json new file mode 100644 index 0000000..0f3e58b --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/fan_flower.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/fan_flower" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/flower_ghost_block.json b/src/generated/resources/assets/decisland/blockstates/flower_ghost_block.json new file mode 100644 index 0000000..c5f84b1 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/flower_ghost_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/flower_ghost_block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/fritillary_crop.json b/src/generated/resources/assets/decisland/blockstates/fritillary_crop.json new file mode 100644 index 0000000..80d47a0 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/fritillary_crop.json @@ -0,0 +1,28 @@ +{ + "variants": { + "age=0": { + "model": "decisland:block/fritillary_crop_stage0" + }, + "age=1": { + "model": "decisland:block/fritillary_crop_stage0" + }, + "age=2": { + "model": "decisland:block/fritillary_crop_stage1" + }, + "age=3": { + "model": "decisland:block/fritillary_crop_stage1" + }, + "age=4": { + "model": "decisland:block/fritillary_crop_stage2" + }, + "age=5": { + "model": "decisland:block/fritillary_crop_stage3" + }, + "age=6": { + "model": "decisland:block/fritillary_crop_stage3" + }, + "age=7": { + "model": "decisland:block/fritillary_crop_stage4" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/frozen_mirror_flower.json b/src/generated/resources/assets/decisland/blockstates/frozen_mirror_flower.json new file mode 100644 index 0000000..ad6601f --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/frozen_mirror_flower.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/frozen_mirror_flower" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/gold_flower.json b/src/generated/resources/assets/decisland/blockstates/gold_flower.json new file mode 100644 index 0000000..a325b5e --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/gold_flower.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/gold_flower" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/golden_lamp.json b/src/generated/resources/assets/decisland/blockstates/golden_lamp.json new file mode 100644 index 0000000..57cfafe --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/golden_lamp.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/golden_lamp" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/hammer_flower.json b/src/generated/resources/assets/decisland/blockstates/hammer_flower.json new file mode 100644 index 0000000..72221e4 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/hammer_flower.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/hammer_flower" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/houttuynia_crop.json b/src/generated/resources/assets/decisland/blockstates/houttuynia_crop.json new file mode 100644 index 0000000..c04e510 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/houttuynia_crop.json @@ -0,0 +1,28 @@ +{ + "variants": { + "age=0": { + "model": "decisland:block/houttuynia_crop_stage0" + }, + "age=1": { + "model": "decisland:block/houttuynia_crop_stage0" + }, + "age=2": { + "model": "decisland:block/houttuynia_crop_stage1" + }, + "age=3": { + "model": "decisland:block/houttuynia_crop_stage1" + }, + "age=4": { + "model": "decisland:block/houttuynia_crop_stage2" + }, + "age=5": { + "model": "decisland:block/houttuynia_crop_stage2" + }, + "age=6": { + "model": "decisland:block/houttuynia_crop_stage3" + }, + "age=7": { + "model": "decisland:block/houttuynia_crop_stage3" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/ice_brick_block.json b/src/generated/resources/assets/decisland/blockstates/ice_brick_block.json new file mode 100644 index 0000000..09cdbd5 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/ice_brick_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/ice_brick_block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/ice_lantern.json b/src/generated/resources/assets/decisland/blockstates/ice_lantern.json new file mode 100644 index 0000000..391daf0 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/ice_lantern.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/ice_lantern" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/ice_mixed_brick.json b/src/generated/resources/assets/decisland/blockstates/ice_mixed_brick.json new file mode 100644 index 0000000..d586a36 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/ice_mixed_brick.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/ice_mixed_brick" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/lamp_flower.json b/src/generated/resources/assets/decisland/blockstates/lamp_flower.json new file mode 100644 index 0000000..f3298c2 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/lamp_flower.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/lamp_flower" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/lava_flower_crop.json b/src/generated/resources/assets/decisland/blockstates/lava_flower_crop.json new file mode 100644 index 0000000..dd7e339 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/lava_flower_crop.json @@ -0,0 +1,28 @@ +{ + "variants": { + "age=0": { + "model": "decisland:block/lava_flower_crop_stage0" + }, + "age=1": { + "model": "decisland:block/lava_flower_crop_stage0" + }, + "age=2": { + "model": "decisland:block/lava_flower_crop_stage1" + }, + "age=3": { + "model": "decisland:block/lava_flower_crop_stage1" + }, + "age=4": { + "model": "decisland:block/lava_flower_crop_stage2" + }, + "age=5": { + "model": "decisland:block/lava_flower_crop_stage3" + }, + "age=6": { + "model": "decisland:block/lava_flower_crop_stage3" + }, + "age=7": { + "model": "decisland:block/lava_flower_crop_stage4" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/lava_ore.json b/src/generated/resources/assets/decisland/blockstates/lava_ore.json new file mode 100644 index 0000000..ab09d56 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/lava_ore.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/lava_ore" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/leaves_flower.json b/src/generated/resources/assets/decisland/blockstates/leaves_flower.json new file mode 100644 index 0000000..79b6341 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/leaves_flower.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/leaves_flower" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/leek_crop.json b/src/generated/resources/assets/decisland/blockstates/leek_crop.json new file mode 100644 index 0000000..514c4c3 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/leek_crop.json @@ -0,0 +1,28 @@ +{ + "variants": { + "age=0": { + "model": "decisland:block/leek_crop_stage0" + }, + "age=1": { + "model": "decisland:block/leek_crop_stage0" + }, + "age=2": { + "model": "decisland:block/leek_crop_stage1" + }, + "age=3": { + "model": "decisland:block/leek_crop_stage1" + }, + "age=4": { + "model": "decisland:block/leek_crop_stage1" + }, + "age=5": { + "model": "decisland:block/leek_crop_stage2" + }, + "age=6": { + "model": "decisland:block/leek_crop_stage2" + }, + "age=7": { + "model": "decisland:block/leek_crop_stage2" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/light_obsidian.json b/src/generated/resources/assets/decisland/blockstates/light_obsidian.json new file mode 100644 index 0000000..8d63aea --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/light_obsidian.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/light_obsidian" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/lurk_bud.json b/src/generated/resources/assets/decisland/blockstates/lurk_bud.json new file mode 100644 index 0000000..d02f37a --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/lurk_bud.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/lurk_bud" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/lurk_fruit.json b/src/generated/resources/assets/decisland/blockstates/lurk_fruit.json new file mode 100644 index 0000000..968c4b9 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/lurk_fruit.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/lurk_fruit" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/lurk_grass.json b/src/generated/resources/assets/decisland/blockstates/lurk_grass.json new file mode 100644 index 0000000..99df7e2 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/lurk_grass.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/lurk_grass" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/lurk_log.json b/src/generated/resources/assets/decisland/blockstates/lurk_log.json new file mode 100644 index 0000000..0ab0664 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/lurk_log.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "decisland:block/lurk_log", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "decisland:block/lurk_log" + }, + "axis=z": { + "model": "decisland:block/lurk_log", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/lurk_mushroom.json b/src/generated/resources/assets/decisland/blockstates/lurk_mushroom.json new file mode 100644 index 0000000..cc9d4d7 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/lurk_mushroom.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/lurk_mushroom" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/lurk_orchid.json b/src/generated/resources/assets/decisland/blockstates/lurk_orchid.json new file mode 100644 index 0000000..223b308 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/lurk_orchid.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/lurk_orchid" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/lurk_spring.json b/src/generated/resources/assets/decisland/blockstates/lurk_spring.json new file mode 100644 index 0000000..495ff20 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/lurk_spring.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/lurk_spring" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/maple_flower.json b/src/generated/resources/assets/decisland/blockstates/maple_flower.json new file mode 100644 index 0000000..5a1ae42 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/maple_flower.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/maple_flower" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/mock_strawberry.json b/src/generated/resources/assets/decisland/blockstates/mock_strawberry.json new file mode 100644 index 0000000..3307867 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/mock_strawberry.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/mock_strawberry" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/mooli_crop.json b/src/generated/resources/assets/decisland/blockstates/mooli_crop.json new file mode 100644 index 0000000..678e950 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/mooli_crop.json @@ -0,0 +1,28 @@ +{ + "variants": { + "age=0": { + "model": "decisland:block/mooli_crop_stage0" + }, + "age=1": { + "model": "decisland:block/mooli_crop_stage0" + }, + "age=2": { + "model": "decisland:block/mooli_crop_stage1" + }, + "age=3": { + "model": "decisland:block/mooli_crop_stage1" + }, + "age=4": { + "model": "decisland:block/mooli_crop_stage2" + }, + "age=5": { + "model": "decisland:block/mooli_crop_stage2" + }, + "age=6": { + "model": "decisland:block/mooli_crop_stage3" + }, + "age=7": { + "model": "decisland:block/mooli_crop_stage3" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/mouth_flower.json b/src/generated/resources/assets/decisland/blockstates/mouth_flower.json new file mode 100644 index 0000000..2006ba0 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/mouth_flower.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/mouth_flower" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/nether_coal_ore.json b/src/generated/resources/assets/decisland/blockstates/nether_coal_ore.json new file mode 100644 index 0000000..da98bce --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/nether_coal_ore.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/nether_coal_ore" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/nether_dandelion.json b/src/generated/resources/assets/decisland/blockstates/nether_dandelion.json new file mode 100644 index 0000000..aa6c4a1 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/nether_dandelion.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/nether_dandelion" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/nether_diamond_ore.json b/src/generated/resources/assets/decisland/blockstates/nether_diamond_ore.json new file mode 100644 index 0000000..f4df802 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/nether_diamond_ore.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/nether_diamond_ore" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/nether_emerald_ore.json b/src/generated/resources/assets/decisland/blockstates/nether_emerald_ore.json new file mode 100644 index 0000000..0845d83 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/nether_emerald_ore.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/nether_emerald_ore" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/nether_iron_ore.json b/src/generated/resources/assets/decisland/blockstates/nether_iron_ore.json new file mode 100644 index 0000000..f40996f --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/nether_iron_ore.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/nether_iron_ore" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/nether_lapis_ore.json b/src/generated/resources/assets/decisland/blockstates/nether_lapis_ore.json new file mode 100644 index 0000000..c4f58d2 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/nether_lapis_ore.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/nether_lapis_ore" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/nether_redstone_ore.json b/src/generated/resources/assets/decisland/blockstates/nether_redstone_ore.json new file mode 100644 index 0000000..63dc4c3 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/nether_redstone_ore.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/nether_redstone_ore" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/nether_stick_flower.json b/src/generated/resources/assets/decisland/blockstates/nether_stick_flower.json new file mode 100644 index 0000000..9ba200d --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/nether_stick_flower.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/nether_stick_flower" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/nightmare_block.json b/src/generated/resources/assets/decisland/blockstates/nightmare_block.json new file mode 100644 index 0000000..1df6a54 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/nightmare_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/nightmare_block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/pink_dandelion.json b/src/generated/resources/assets/decisland/blockstates/pink_dandelion.json new file mode 100644 index 0000000..cc51d63 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/pink_dandelion.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/pink_dandelion" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/pink_fan_flower.json b/src/generated/resources/assets/decisland/blockstates/pink_fan_flower.json new file mode 100644 index 0000000..e729084 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/pink_fan_flower.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/pink_fan_flower" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/pink_flower_block.json b/src/generated/resources/assets/decisland/blockstates/pink_flower_block.json new file mode 100644 index 0000000..6e8178a --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/pink_flower_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/pink_flower_block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/red_flower_block.json b/src/generated/resources/assets/decisland/blockstates/red_flower_block.json new file mode 100644 index 0000000..65fa05b --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/red_flower_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/red_flower_block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/red_gem_ore.json b/src/generated/resources/assets/decisland/blockstates/red_gem_ore.json new file mode 100644 index 0000000..ba83a9b --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/red_gem_ore.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/red_gem_ore" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/red_spider_lily.json b/src/generated/resources/assets/decisland/blockstates/red_spider_lily.json new file mode 100644 index 0000000..0001a2f --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/red_spider_lily.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/red_spider_lily" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/red_stonebrick.json b/src/generated/resources/assets/decisland/blockstates/red_stonebrick.json new file mode 100644 index 0000000..93fb6da --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/red_stonebrick.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/red_stonebrick" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/rice_crop.json b/src/generated/resources/assets/decisland/blockstates/rice_crop.json new file mode 100644 index 0000000..5d50d25 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/rice_crop.json @@ -0,0 +1,28 @@ +{ + "variants": { + "age=0": { + "model": "decisland:block/rice_crop_stage0" + }, + "age=1": { + "model": "decisland:block/rice_crop_stage0" + }, + "age=2": { + "model": "decisland:block/rice_crop_stage1" + }, + "age=3": { + "model": "decisland:block/rice_crop_stage2" + }, + "age=4": { + "model": "decisland:block/rice_crop_stage3" + }, + "age=5": { + "model": "decisland:block/rice_crop_stage3" + }, + "age=6": { + "model": "decisland:block/rice_crop_stage4" + }, + "age=7": { + "model": "decisland:block/rice_crop_stage5" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/rosemary.json b/src/generated/resources/assets/decisland/blockstates/rosemary.json new file mode 100644 index 0000000..65b4936 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/rosemary.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/rosemary" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/rotten_flesh_block.json b/src/generated/resources/assets/decisland/blockstates/rotten_flesh_block.json new file mode 100644 index 0000000..8bce627 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/rotten_flesh_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/rotten_flesh_block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/russet_grass.json b/src/generated/resources/assets/decisland/blockstates/russet_grass.json new file mode 100644 index 0000000..bfdbc82 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/russet_grass.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/russet_grass" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/smooth_amethyst_block.json b/src/generated/resources/assets/decisland/blockstates/smooth_amethyst_block.json new file mode 100644 index 0000000..f3a147c --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/smooth_amethyst_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/smooth_amethyst_block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/snow_flower.json b/src/generated/resources/assets/decisland/blockstates/snow_flower.json new file mode 100644 index 0000000..f5e4a14 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/snow_flower.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/snow_flower" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/snow_lotus.json b/src/generated/resources/assets/decisland/blockstates/snow_lotus.json new file mode 100644 index 0000000..d5530df --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/snow_lotus.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/snow_lotus" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/solidified_lava_block.json b/src/generated/resources/assets/decisland/blockstates/solidified_lava_block.json new file mode 100644 index 0000000..1efc664 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/solidified_lava_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/solidified_lava_block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/soul_soil_diamond_ore.json b/src/generated/resources/assets/decisland/blockstates/soul_soil_diamond_ore.json new file mode 100644 index 0000000..970ac59 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/soul_soil_diamond_ore.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/soul_soil_diamond_ore" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/soybean_crop.json b/src/generated/resources/assets/decisland/blockstates/soybean_crop.json new file mode 100644 index 0000000..1203129 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/soybean_crop.json @@ -0,0 +1,28 @@ +{ + "variants": { + "age=0": { + "model": "decisland:block/soybean_crop_stage0" + }, + "age=1": { + "model": "decisland:block/soybean_crop_stage0" + }, + "age=2": { + "model": "decisland:block/soybean_crop_stage1" + }, + "age=3": { + "model": "decisland:block/soybean_crop_stage1" + }, + "age=4": { + "model": "decisland:block/soybean_crop_stage2" + }, + "age=5": { + "model": "decisland:block/soybean_crop_stage3" + }, + "age=6": { + "model": "decisland:block/soybean_crop_stage3" + }, + "age=7": { + "model": "decisland:block/soybean_crop_stage4" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/spark_flower.json b/src/generated/resources/assets/decisland/blockstates/spark_flower.json new file mode 100644 index 0000000..9648f17 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/spark_flower.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/spark_flower" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/spell_flower.json b/src/generated/resources/assets/decisland/blockstates/spell_flower.json new file mode 100644 index 0000000..058f7e0 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/spell_flower.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/spell_flower" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/star_flower.json b/src/generated/resources/assets/decisland/blockstates/star_flower.json new file mode 100644 index 0000000..d093dd3 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/star_flower.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/star_flower" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/steel_block.json b/src/generated/resources/assets/decisland/blockstates/steel_block.json new file mode 100644 index 0000000..429ec12 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/steel_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/steel_block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/stick_flower.json b/src/generated/resources/assets/decisland/blockstates/stick_flower.json new file mode 100644 index 0000000..819d046 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/stick_flower.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/stick_flower" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/stream_ore.json b/src/generated/resources/assets/decisland/blockstates/stream_ore.json new file mode 100644 index 0000000..e632e80 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/stream_ore.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/stream_ore" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/thyme.json b/src/generated/resources/assets/decisland/blockstates/thyme.json new file mode 100644 index 0000000..c17d857 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/thyme.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/thyme" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/uranium_block.json b/src/generated/resources/assets/decisland/blockstates/uranium_block.json new file mode 100644 index 0000000..c19672b --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/uranium_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/uranium_block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/uranium_ore.json b/src/generated/resources/assets/decisland/blockstates/uranium_ore.json new file mode 100644 index 0000000..ccc8f2c --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/uranium_ore.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/uranium_ore" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/white_flower_block.json b/src/generated/resources/assets/decisland/blockstates/white_flower_block.json new file mode 100644 index 0000000..00bd6e8 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/white_flower_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/white_flower_block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/wither_cone.json b/src/generated/resources/assets/decisland/blockstates/wither_cone.json new file mode 100644 index 0000000..fa0e9f1 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/wither_cone.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/wither_cone" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/yellow_butterfly_flower.json b/src/generated/resources/assets/decisland/blockstates/yellow_butterfly_flower.json new file mode 100644 index 0000000..b2fe32f --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/yellow_butterfly_flower.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/yellow_butterfly_flower" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/blockstates/yellow_flower_block.json b/src/generated/resources/assets/decisland/blockstates/yellow_flower_block.json new file mode 100644 index 0000000..10b4b90 --- /dev/null +++ b/src/generated/resources/assets/decisland/blockstates/yellow_flower_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "decisland:block/yellow_flower_block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/lang/en_us.json b/src/generated/resources/assets/decisland/lang/en_us.json new file mode 100644 index 0000000..8f5f823 --- /dev/null +++ b/src/generated/resources/assets/decisland/lang/en_us.json @@ -0,0 +1,4462 @@ +{ + "action.hint.exit.dec:brown_bear": "Tap jump or sneak to exit the brown bear", + "action.hint.exit.dec:simple_car": "Tap jump or sneak to exit the simple car", + "action.hint.exit.dec:simple_glider": "Tap jump or sneak to exit the simple glider", + "action.interact.collect": "Collect", + "action.interact.ride.brown_bear": "Ride", + "action.interact.ride.polar_wolf": "Ride", + "action.interact.scarecrow_resort": "Resort", + "block.decisland.abyssal_summoner": "Abyssal Summoner", + "block.decisland.amethyst_lantern": "Amethyst Lantern", + "block.decisland.ancient_ice": "Ancient Ice", + "block.decisland.ash": "Ash", + "block.decisland.ash_cage": "Ash Cage", + "block.decisland.ash_summoner": "Ash Summoner", + "block.decisland.baby_blue_eyes_flower": "Baby Blue Eyes Flower", + "block.decisland.baby_blue_eyes_flower_crop": "Baby Blue Eyes Flower", + "block.decisland.balloon_flower": "Balloon Flower", + "block.decisland.balloon_flower_crop": "Balloon Flower", + "block.decisland.bat_summoner": "Bat Summoner", + "block.decisland.bizarre_chilli_crop": "Bizarre Chilli Crop", + "block.decisland.black_flower_block": "Black Flower Block", + "block.decisland.blue_flower_block": "Blue Flower Block", + "block.decisland.blue_gem_ore": "Blue Gem Ore", + "block.decisland.blue_ice_brick_block": "Blue Ice Brick Block", + "block.decisland.bracken_crop": "Bracken Crop", + "block.decisland.breeze_flower": "Breeze Flower", + "block.decisland.breeze_flower_crop": "Breeze Flower", + "block.decisland.broken_dirt": "Broken Dirt", + "block.decisland.butter_flower": "Butter Flower", + "block.decisland.butter_flower_crop": "Butter Flower", + "block.decisland.butterfly_pea": "Butterfly Pea", + "block.decisland.butterfly_pea_crop": "Butterfly Pea", + "block.decisland.candy_block": "Candy Block", + "block.decisland.cave_crate": "Cave Crate", + "block.decisland.chiseled_ice_brick": "Chiseled Ice Brick", + "block.decisland.christmas_gift_block": "Christmas Gift", + "block.decisland.cloud_flower": "Cloud Flower", + "block.decisland.cloud_flower_crop": "Cloud Flower", + "block.decisland.compress_flower_block": "Compress Flower Block", + "block.decisland.compressed_ice": "Compressed Ice", + "block.decisland.corn_crop": "Corn Crop", + "block.decisland.crate": "Crate", + "block.decisland.crimson_lamp": "Crimson Lamp", + "block.decisland.crinum": "Crinum", + "block.decisland.crinum_crop": "Crinum", + "block.decisland.dandelion": "Dandelion", + "block.decisland.dandelion_crop": "Dandelion", + "block.decisland.deep_dandelion": "Deep Dandelion", + "block.decisland.deep_dandelion_crop": "Deep Dandelion", + "block.decisland.deep_summoner": "Deep Summoner", + "block.decisland.depart_grass": "Depart Grass", + "block.decisland.depart_grass_crop": "Depart Grass", + "block.decisland.desert_fan_flower": "Desert Fan Flower", + "block.decisland.desert_fan_flower_crop": "Desert Fan Flower", + "block.decisland.dirt_ghost_block": "Dirt Ghost Block", + "block.decisland.enchanted_summoner": "Enchanted Summoner", + "block.decisland.end_altar": "End Altar", + "block.decisland.end_coal_ore": "End Coal Ore", + "block.decisland.end_diamond_ore": "End Diamond Ore", + "block.decisland.end_emerald_ore": "End Emerald Ore", + "block.decisland.end_gold_ore": "End Gold Ore", + "block.decisland.end_iron_ore": "End Iron Ore", + "block.decisland.end_lapis_ore": "End Lapis Ore", + "block.decisland.end_ore": "End Ore", + "block.decisland.end_redstone_ore": "End Redstone Ore", + "block.decisland.everlasting_winter_summoner": "Everlasting Winter Summoner", + "block.decisland.experience_flower_crop": "Experience Flower Crop", + "block.decisland.eye_of_nature_log": "Eye Of Nature Log", + "block.decisland.fan_flower": "Fan Flower", + "block.decisland.fan_flower_crop": "Fan Flower", + "block.decisland.flesh_block": "Flesh Block", + "block.decisland.flower_ghost_block": "Flower Ghost Block", + "block.decisland.flowing_block": "Flowing Block", + "block.decisland.forest_summoner": "Forest Summoner", + "block.decisland.fritillary_crop": "Fritillary Crop", + "block.decisland.frozen_cage": "Frozen Cage", + "block.decisland.frozen_crate": "Frozen Crate", + "block.decisland.frozen_mirror_flower": "Frozen Mirror Flower", + "block.decisland.frozen_mirror_flower_crop": "Frozen Mirror Flower", + "block.decisland.fuse": "Fuse", + "block.decisland.ghost_ice": "Ghost Ice", + "block.decisland.gold_flower": "Gold Flower", + "block.decisland.gold_flower_crop": "Gold Flower", + "block.decisland.golden_bookshelf": "Golden Bookshelf", + "block.decisland.golden_bookshelf_frame": "Golden Bookshelf Frame", + "block.decisland.golden_chain": "Golden Chain", + "block.decisland.golden_fence_block": "Golden Fence", + "block.decisland.golden_lamp": "Golden Lamp", + "block.decisland.hammer_flower": "Hammer Flower", + "block.decisland.hammer_flower_crop": "Hammer Flower", + "block.decisland.houttuynia_crop": "Houttuynia Crop", + "block.decisland.ice_bookshelf": "Ice Bookshelf", + "block.decisland.ice_brick_block": "Ice Brick Block", + "block.decisland.ice_lantern": "Ice Lantern", + "block.decisland.ice_mixed_brick": "Mixed Ice Brick", + "block.decisland.ice_rope_block": "Ice Rope Block", + "block.decisland.item_picker": "Item Picker", + "block.decisland.lace_block_black": "Black Lace Block", + "block.decisland.lace_block_light_red": "Light Red Lace Block", + "block.decisland.lamp_flower": "Lamp Flower", + "block.decisland.lamp_flower_crop": "Lamp Flower", + "block.decisland.lampshade": "Lampshade", + "block.decisland.lava_flower_crop": "Lava Flower Crop", + "block.decisland.lava_ore": "Lava Ore", + "block.decisland.leaves_flower": "Leaves Flower", + "block.decisland.leaves_flower_crop": "Leaves Flower", + "block.decisland.leek_crop": "Leek Crop", + "block.decisland.light_obsidian": "Light Obsidian", + "block.decisland.lightning_summoner": "Lightning Summoner", + "block.decisland.lurk_block": "Lurk Block", + "block.decisland.lurk_bud": "Lurk Bud", + "block.decisland.lurk_bud_crop": "Lurk Bud", + "block.decisland.lurk_end_stone": "Lurk End Stone", + "block.decisland.lurk_fruit": "Lurk Fruit", + "block.decisland.lurk_fruit_crop": "Lurk Fruit", + "block.decisland.lurk_grass": "Lurk Grass", + "block.decisland.lurk_log": "Lurk Log", + "block.decisland.lurk_mushroom": "Lurk Mushroom", + "block.decisland.lurk_mushroom_lit": "Lurk Mushroom Lit", + "block.decisland.lurk_orchid": "Lurk Orchid", + "block.decisland.lurk_orchid_crop": "Lurk Orchid", + "block.decisland.lurk_spring": "Lurk Spring", + "block.decisland.magic_letter_box": "Magic Letter Box", + "block.decisland.maple_flower": "Maple Flower", + "block.decisland.maple_flower_crop": "Maple Flower", + "block.decisland.mine": "Mine", + "block.decisland.mining_machine": "Mining Machine", + "block.decisland.mock_strawberry": "Mock Strawberry", + "block.decisland.mock_strawberry_crop": "Mock Strawberry", + "block.decisland.monitor": "Monitor", + "block.decisland.monitor_activated": "Monitor Activated", + "block.decisland.mooli_crop": "Mooli Crop", + "block.decisland.mouth_flower": "Mouth Flower", + "block.decisland.mouth_flower_crop": "Mouth Flower", + "block.decisland.nether_coal_ore": "Nether Coal Ore", + "block.decisland.nether_dandelion": "Nether Dandelion", + "block.decisland.nether_dandelion_crop": "Nether Dandelion", + "block.decisland.nether_diamond_ore": "Nether Diamond Ore", + "block.decisland.nether_emerald_ore": "Nether Emerald Ore", + "block.decisland.nether_iron_ore": "Nether Iron Ore", + "block.decisland.nether_lapis_ore": "Nether Lapis Ore", + "block.decisland.nether_redstone_ore": "Nether Redstone Ore", + "block.decisland.nether_stick_flower": "Nether Stick Flower", + "block.decisland.nether_stick_flower_crop": "Nether Stick Flower", + "block.decisland.nightmare_block": "Nightmare Block", + "block.decisland.nuke_block": "Nuke", + "block.decisland.patterned_vase_red_block": "Patterned Vase Red", + "block.decisland.pink_dandelion": "Pink Dandelion", + "block.decisland.pink_dandelion_crop": "Pink Dandelion", + "block.decisland.pink_fan_flower": "Pink Fan Flower", + "block.decisland.pink_fan_flower_crop": "Pink Fan Flower", + "block.decisland.pink_flower_block": "Pink Flower Block", + "block.decisland.plain_tower_summoner": "Plain Tower Summoner", + "block.decisland.purpur_summoner": "Purpur Summoner", + "block.decisland.radiate_dirt": "Radiate Dirt", + "block.decisland.radiate_stone": "Radiate Stone", + "block.decisland.radiate_stonebrick": "Radiate Stonebrick", + "block.decisland.raining_summoner": "Raining Summoner", + "block.decisland.red_flower_block": "Red Flower Block", + "block.decisland.red_gem_ore": "Red Gem Ore", + "block.decisland.red_lantern": "Red Lantern", + "block.decisland.red_patterned_stonebrick": "Red Patterned Stonebrick", + "block.decisland.red_spider_lily": "Red Spider Lily", + "block.decisland.red_spider_lily_crop": "Red Spider Lily", + "block.decisland.red_stonebrick": "Red Stonebrick", + "block.decisland.rice_crop": "Rice Crop", + "block.decisland.rosemary": "Rosemary", + "block.decisland.rosemary_crop": "Rosemary", + "block.decisland.rotten_flesh_block": "Rotten Flesh Block", + "block.decisland.russet_grass": "Russet Grass", + "block.decisland.russet_grass_crop": "Russet Grass", + "block.decisland.scale_block": "Scale Block", + "block.decisland.small_stone_block_entity": "Small Stone", + "block.decisland.smooth_amethyst_block": "Smooth Amethyst Block", + "block.decisland.snow_brick_block": "Snow Brick Block", + "block.decisland.snow_flower": "Snow Flower", + "block.decisland.snow_flower_crop": "Snow Flower", + "block.decisland.snow_lotus": "Snow Lotus Crop", + "block.decisland.snow_lotus_crop": "Snow Lotus Crop", + "block.decisland.solidified_lava_block": "Solidified Lava Block", + "block.decisland.soul_soil_diamond_ore": "Soul Soil Diamond Ore", + "block.decisland.soul_summoner": "Soul Summoner", + "block.decisland.soybean_crop": "Soybean Crop", + "block.decisland.spark_flower": "Spark Flower", + "block.decisland.spark_flower_crop": "Spark Flower", + "block.decisland.spell_flower": "Spell Flower", + "block.decisland.spell_flower_crop": "Spell Flower", + "block.decisland.star_flower": "Star Flower", + "block.decisland.star_flower_crop": "Star Flower", + "block.decisland.steel_block": "Steel Block", + "block.decisland.stick_flower": "Stick Flower", + "block.decisland.stick_flower_crop": "Stick Flower", + "block.decisland.stone_heap": "Stone Heap", + "block.decisland.stone_road": "Stone Road", + "block.decisland.stream_ore": "Stream Ore", + "block.decisland.summoner": "Summoner", + "block.decisland.sunny_summoner": "Sunny Summoner", + "block.decisland.sweet_berries_block": "Sweet Berries Block", + "block.decisland.thin_rope_block": "Thin Rope Block", + "block.decisland.thyme": "Thyme", + "block.decisland.thyme_crop": "Thyme", + "block.decisland.trellis": "Trellis", + "block.decisland.trellis_cover": "Trellis Cover", + "block.decisland.uranium_block": "Uranium Block", + "block.decisland.uranium_ore": "Uranium Ore", + "block.decisland.white_flower_block": "White Flower Block", + "block.decisland.wither_cone": "Wither Cone", + "block.decisland.wither_cone_crop": "Wither Cone", + "block.decisland.yellow_butterfly_flower": "Yellow Butterfly Flower", + "block.decisland.yellow_butterfly_flower_crop": "Yellow Butterfly Flower", + "block.decisland.yellow_flower_block": "Yellow Flower Block", + "boss.dec:abyssal_controller.name": "Abyssal Controller", + "boss.dec:ash_horse.name": "Ash Horse", + "boss.dec:ash_horse_head.name": "Ash Horse Head", + "boss.dec:ash_knight.name": "Ash Knight", + "boss.dec:ash_knight_head.name": "Ash Knight Head", + "boss.dec:ash_sword.name": "Ash Sword", + "boss.dec:enchant_illager.name": "Enchant Illager", + "boss.dec:entity_soul.name": "Entity Soul", + "boss.dec:escaped_soul.name": "Escaped Soul", + "boss.dec:everlasting_winter_ghast.name": "Everlasting Winter Ghast", + "boss.dec:host_of_deep.name": "Host Of Deep", + "boss.dec:king_of_pillager.name": "King Of Pillager", + "boss.dec:leaves_golem.name": "Leaves Golem", + "boss.dec:predators.name": "Predators", + "boss.dec:shadow_soul.name": "Shadow Soul", + "createWorldScreen.immediaterespawn": "Immediate Respawn§4§lForce Close§r", + "dec:itemGroup.name.bullet_bags": "Bullet Bags", + "dec:itemGroup.name.bullets": "Bullets", + "dec:itemGroup.name.clothes_boots": "Shoes", + "dec:itemGroup.name.clothes_chestplates": "Coats and Jackets", + "dec:itemGroup.name.clothes_helmets": "Hats and Headwears", + "dec:itemGroup.name.clothes_leggings": "Trousers", + "dec:itemGroup.name.crates": "Crates", + "dec:itemGroup.name.crystal_nucleus": "Crystal Nucleus", + "dec:itemGroup.name.daggers": "Daggers", + "dec:itemGroup.name.darts": "Darts", + "dec:itemGroup.name.destroy_staffs": "Destroy Staffs", + "dec:itemGroup.name.evil_crystals": "Evil Crystals", + "dec:itemGroup.name.flintlocks": "Flintlocks", + "dec:itemGroup.name.heart_eggs": "Heart Eggs", + "dec:itemGroup.name.ingots": "Ingots", + "dec:itemGroup.name.katanas": "Katanas", + "dec:itemGroup.name.magic_accessories": "Magic Accessories", + "dec:itemGroup.name.magic_books": "Magic Books", + "dec:itemGroup.name.magic_gems": "Magic Gems", + "dec:itemGroup.name.masks": "Masks", + "dec:itemGroup.name.night_event_items": "Night Event Items", + "dec:itemGroup.name.nuggets": "Nuggets", + "dec:itemGroup.name.other_books": "Other Books", + "dec:itemGroup.name.rapiers": "rapiers", + "dec:itemGroup.name.rings": "Rings", + "dec:itemGroup.name.sickles": "Sickles", + "dec:itemGroup.name.spears": "Spears", + "dec:itemGroup.name.staffs": "Staffs", + "dec:itemGroup.name.sticks_and_rods": "Sticks and Rods", + "dec:itemGroup.name.stream_machines": "Stream Machines", + "dec:itemGroup.name.summon_items": "Summon Items", + "dec:itemGroup.name.summoners": "Summoners", + "dec:itemGroup.name.thrown_sundries": "Thrown Sundries", + "dec:itemGroup.name.totems": "Totems", + "effect.decisland.dizziness": "Dizziness", + "entity.decisland.abyssal_controller": "Abyssal Controller", + "entity.decisland.abyssal_shadow": "Abyssal Shadow", + "entity.decisland.amethyst_dart": "Amethyst Dart", + "entity.decisland.amethyst_energy_ball": "Amethyst Energy Ball", + "entity.decisland.amethyst_energy_ray": "Amethyst Energy Ray", + "entity.decisland.angry_chicken": "Angry Chicken", + "entity.decisland.archer": "Archer", + "entity.decisland.ash_blaze": "Ash Blaze", + "entity.decisland.ash_bomb": "Ash Bomb", + "entity.decisland.ash_energy": "Ash Energy", + "entity.decisland.ash_horse_head": "Ash Horse Head", + "entity.decisland.ash_knight": "Ash Knight", + "entity.decisland.ash_knight_head": "Ash Knight Head", + "entity.decisland.ash_pufferfish": "Ash Pufferfish", + "entity.decisland.ash_sword": "Ash Sword", + "entity.decisland.ash_sword_phantom": "Ash Sword Phantom", + "entity.decisland.baby_ender_dragon": "Baby Ender Dragon", + "entity.decisland.bamboo_yataghan": "Bamboo Yataghan", + "entity.decisland.bat_charger": "Bat Charger", + "entity.decisland.blackstone_thorn": "Blackstone Thorn", + "entity.decisland.blizzard_by_laser": "Blizzard Energy", + "entity.decisland.blizzard_energy": "Blizzard Energy", + "entity.decisland.blood_zombie": "Blood Zombie", + "entity.decisland.bomber": "Bomber", + "entity.decisland.brown_bear": "Brown Bear", + "entity.decisland.bullet_by_catapult_explode": "Bullet", + "entity.decisland.bullet_by_catapult_normal": "Bullet", + "entity.decisland.bullet_by_echo_of_deep": "Echo of Deep Bullet", + "entity.decisland.bullet_by_everlasting_winter_flintlock": "Everlasting Winter Bullet", + "entity.decisland.bullet_by_flintlock": "Bullet", + "entity.decisland.bullet_by_flintlock_pro": "Bullet", + "entity.decisland.bullet_by_ghost_flintlock": "Ghost Bullet", + "entity.decisland.bullet_by_lava_flintlock": "Lava Bullet", + "entity.decisland.bullet_by_short_flintlock": "Bullet", + "entity.decisland.bullet_by_star_flintlock": "Star Bullet", + "entity.decisland.bullet_by_storm_flintlock": "Storm Bullet", + "entity.decisland.carnager": "Carnager", + "entity.decisland.caterpillar": "Caterpillar", + "entity.decisland.chest_monster": "Chest Monster", + "entity.decisland.chester": "Chester", + "entity.decisland.clam": "Clam", + "entity.decisland.concentrated_ice": "Concentrated Ice", + "entity.decisland.concentrated_ice_big": "Concentrated Ice Big", + "entity.decisland.concentrated_soul_bullet": "Concentrated Soul Bullet", + "entity.decisland.copper_dart": "Copper Dart", + "entity.decisland.coral_dart": "Coral Dart", + "entity.decisland.crab": "Crab", + "entity.decisland.crimson_slime": "Crimson Slime", + "entity.decisland.dark_snow_man": "Dark Snow Man", + "entity.decisland.dark_werewolf": "Dark WereWolf", + "entity.decisland.deep_cloud": "Deep Cloud", + "entity.decisland.deep_energy": "Deep Energy", + "entity.decisland.diamond_dart": "Diamond Dart", + "entity.decisland.doctor": "Doctor", + "entity.decisland.dragon_fireball_by_player": "Dragon Fireball", + "entity.decisland.dragon_head": "Dragon Head", + "entity.decisland.elf_of_ash": "Elf Of Ash", + "entity.decisland.elf_of_chaos": "Elf Of Chaos", + "entity.decisland.elf_of_deep": "Elf Of Deep", + "entity.decisland.elf_of_dust": "Elf Of Dust", + "entity.decisland.elf_of_leaves": "Elf Of Leaves", + "entity.decisland.emerald_dart": "Emerald Dart", + "entity.decisland.enchant_armor": "Enchant Armor", + "entity.decisland.enchant_armor_by_boss": "Enchant Armor", + "entity.decisland.enchant_diamond_armor": "Enchant Diamond Armor", + "entity.decisland.enchant_illager": "Enchant Illager", + "entity.decisland.enchant_illager_1": "Enchant Illager", + "entity.decisland.enchant_illager_2": "Enchant Illager", + "entity.decisland.end_stone_golem": "Endstone Golem", + "entity.decisland.ender_breath": "Ender Breath", + "entity.decisland.ender_snail": "Ender Snail", + "entity.decisland.ender_snake": "Ender Snake", + "entity.decisland.ender_snake_ball": "Ender Snake Ball", + "entity.decisland.ender_witch": "Ender Witch", + "entity.decisland.ender_witch_puppet": "Ender Witch Puppet", + "entity.decisland.energy_ball": "Energy Ball", + "entity.decisland.energy_ray": "Energy Ray", + "entity.decisland.entity_soul": "Entity Soul", + "entity.decisland.entity_soul_1": "Entity Soul", + "entity.decisland.escaped_soul": "Escaped Soul", + "entity.decisland.escaped_soul_1": "Escaped Soul", + "entity.decisland.escaped_soul_2": "Escaped Soul", + "entity.decisland.escaped_soul_3": "Escaped Soul", + "entity.decisland.escaped_soul_entity": "Escaped Soul", + "entity.decisland.everlasting_winter_crystal": "Everlasting Winter Crystal", + "entity.decisland.everlasting_winter_dart": "Everlasting Dart", + "entity.decisland.everlasting_winter_ghast": "Everlasting Winter Ghast", + "entity.decisland.everlasting_winter_ghast_1": "Everlasting Winter Ghast", + "entity.decisland.everlasting_winter_shadow": "Everlasting Winter Shadow", + "entity.decisland.evil_snow_man": "Evil Snow Man", + "entity.decisland.fake_fireball": "Fireball", + "entity.decisland.fire_storm": "Fire Storm", + "entity.decisland.firefly_bottle": "Firefly Bottle", + "entity.decisland.friendly_little_soul": "Friendly Little Soul", + "entity.decisland.friendly_spider": "Friendly Spider", + "entity.decisland.frozen_ball": "Frozen Ball", + "entity.decisland.frozen_ball_inaccurated": "Frozen Ball", + "entity.decisland.frozen_dart": "Frozen Dart", + "entity.decisland.frozen_energy_ball": "Frozen Energy Ball", + "entity.decisland.frozen_ghast": "Frozen Ghast", + "entity.decisland.frozen_heart": "Frozen Heart", + "entity.decisland.frozen_heart_sleeping": "Frozen Heart Sleeping", + "entity.decisland.frozen_man": "Frozen Man", + "entity.decisland.frozen_ray": "Frozen Ray", + "entity.decisland.frozen_shadow": "Frozen Shadow", + "entity.decisland.frozen_spider": "Frozen Spider", + "entity.decisland.gargoyle": "Gargoyle", + "entity.decisland.gas_bomb": "Gas Bomb", + "entity.decisland.ghost_diamond_axe": "Ghost Diamond Axe", + "entity.decisland.ghost_diamond_staff": "Ghost Diamond Staff", + "entity.decisland.ghost_diamond_sword": "Ghost Diamond Sword", + "entity.decisland.ghost_iron_axe": "Ghost Iron Axe", + "entity.decisland.ghost_iron_sword": "Ghost Iron Sword", + "entity.decisland.ghost_wooden_staff": "Ghost Wooden Staff", + "entity.decisland.ghost_wooden_sword": "Ghost Wooden Sword", + "entity.decisland.gingerbread_man_by_totem": "Gingerbread Man", + "entity.decisland.goblin": "Goblin", + "entity.decisland.goblin_sniper": "Goblin Sniper", + "entity.decisland.goblin_wizard": "Goblin Wizard", + "entity.decisland.gold_dart": "Gold Dart", + "entity.decisland.golden_energy_ball": "Golden Energy Ball", + "entity.decisland.gravestone": "Gravestone", + "entity.decisland.growing_energy_ray": "Growing Energy Ray", + "entity.decisland.hard_bubble": "Hard Bubble", + "entity.decisland.hook_rope": "Hook Rope", + "entity.decisland.host_of_deep": "Host Of Deep", + "entity.decisland.host_of_deep_1": "Host Of Deep", + "entity.decisland.host_of_deep_2": "Host Of Deep", + "entity.decisland.ice_bat": "Ice Bat", + "entity.decisland.ice_blaze": "Ice Blaze", + "entity.decisland.ice_block": "Ice Block", + "entity.decisland.ice_creeper": "Ice Creeper", + "entity.decisland.ice_fallblock": "Ice Block", + "entity.decisland.ice_hook_rope": "Ice Hook Rope", + "entity.decisland.ice_monster": "Ice Monster", + "entity.decisland.ice_spirit": "Ice Spirit", + "entity.decisland.ice_thorn": "Ice Thorn", + "entity.decisland.ice_wizard": "Ice Wizard", + "entity.decisland.ice_zombie": "Ice Zombie", + "entity.decisland.illusion_zombie": "Illusion Zombie", + "entity.decisland.illusioner": "Illusioner", + "entity.decisland.iron_dart": "Iron Dart", + "entity.decisland.jungle_spider": "Jungle Spider", + "entity.decisland.king_of_pillager": "King Of Pillager", + "entity.decisland.lapis_bomb": "Lapis Bomb", + "entity.decisland.lava_dart": "Lava Dart", + "entity.decisland.lava_lizard": "Lava Lizard", + "entity.decisland.leaves_golem": "Leaves Golem", + "entity.decisland.leaves_knife": "Leaves Knife", + "entity.decisland.levitation_cloud": "Levitation Cloud", + "entity.decisland.levitation_dirt_wall": "Levitation Dirt Wall", + "entity.decisland.life_insect": "Life Insect", + "entity.decisland.little_bat": "Little Bat", + "entity.decisland.little_soul": "Little Soul", + "entity.decisland.lurk_skeleton": "Lurk Skeleton", + "entity.decisland.lurk_zombie": "Lurk Zombie", + "entity.decisland.mind_controller": "Mind Controller", + "entity.decisland.mine": "Mine", + "entity.decisland.muddy_ball": "Muddy Ball", + "entity.decisland.mummy": "Mummy", + "entity.decisland.mummy_skeleton": "Mummy Skeleton", + "entity.decisland.murloc": "Murloc", + "entity.decisland.murloc_wizard": "Murloc Wizard", + "entity.decisland.mushroom_monster": "Mushroom Monster", + "entity.decisland.mushroom_zombie": "Mushroom Zombie", + "entity.decisland.mystical_skeleton": "Mystical Skeleton", + "entity.decisland.nautilus": "Nautilus", + "entity.decisland.nether_creeper": "Nether Creeper", + "entity.decisland.nether_golem": "Nether Golem", + "entity.decisland.nether_phantom": "Nether Phantom", + "entity.decisland.nether_skeleton": "Nether Skeleton", + "entity.decisland.nether_skeleton_wizard": "Nether Skeleton Wizard", + "entity.decisland.netherite_dart": "Netherite Dart", + "entity.decisland.nightmare_ray": "Nightmare Ray", + "entity.decisland.nightmare_spore": "Nightmare Spore", + "entity.decisland.nuke": "Nuke", + "entity.decisland.obsidian_golem": "Obsidian Golem", + "entity.decisland.pillager_by_boss": "Pillager", + "entity.decisland.pirate": "Pirate", + "entity.decisland.player_ghost": "Player Ghost", + "entity.decisland.poison_dart": "Poison Dart", + "entity.decisland.poison_powder": "Poison Powder", + "entity.decisland.poison_spit": "Poison Spit", + "entity.decisland.polar_wolf": "Polar Wolf", + "entity.decisland.predators": "Predators", + "entity.decisland.pumpkin_bomb": "Pumpkin Bomb", + "entity.decisland.pumpkin_slime": "Pumpkin Slime", + "entity.decisland.pure_energy_ball": "Pure Energy Ball", + "entity.decisland.radiate_cloud": "Radiate Cloud", + "entity.decisland.radiate_creeper": "Radiate Creeper", + "entity.decisland.radiate_crystal": "Radiate Crystal", + "entity.decisland.radiate_enderman": "Radiate Enderman", + "entity.decisland.radiate_fog": "Radiate Fog", + "entity.decisland.radiate_skeleton": "Radiate Skeleton", + "entity.decisland.radiate_spider": "Radiate Spider", + "entity.decisland.real_soul": "Real Soul", + "entity.decisland.rumorer": "Rumorer", + "entity.decisland.sardine": "Sardine", + "entity.decisland.saucer": "Saucer", + "entity.decisland.saucer_ray": "Saucer Ray", + "entity.decisland.scarecrow": "Scarecrow", + "entity.decisland.sea_urchin": "Sea Uranium", + "entity.decisland.shadow_archer": "Shadow Archer", + "entity.decisland.shadow_creeper": "Shadow Creeper", + "entity.decisland.shadow_crystal": "Shadow Crystal", + "entity.decisland.shadow_of_deep": "Shadow Of Deep", + "entity.decisland.shadow_of_sea": "Shadow Of Sea", + "entity.decisland.shadow_portal": "Shadow Portal", + "entity.decisland.shadow_skeleton": "Shadow Skeleton", + "entity.decisland.shadow_skeleton_puppet": "Shadow Skeleton Puppet", + "entity.decisland.shadow_soul_1": "Shadow Soul", + "entity.decisland.shadow_soul_2": "Shadow Soul", + "entity.decisland.shadow_zombie": "Shadow Zombie", + "entity.decisland.shadow_zombie_puppet": "Shadow Zombie Puppet", + "entity.decisland.short_wither_cloud": "Short Winter Winter Cloud", + "entity.decisland.simple_car": "Simple Car", + "entity.decisland.simple_glider": "Simple Glider", + "entity.decisland.skeleton_assassin": "Skeleton Assassin", + "entity.decisland.skeleton_knight": "Skeleton Knight", + "entity.decisland.skeleton_knight_commander": "Skeleton Knight Commander", + "entity.decisland.skeleton_warrior": "Skeleton Warrior", + "entity.decisland.skeleton_wizard": "Skeleton Wizard", + "entity.decisland.small_stone_block": "Small Stone Block", + "entity.decisland.smoke_bomb": "Smoke Bomb", + "entity.decisland.snow_energy": "Snow Energy", + "entity.decisland.soldier": "Soldier", + "entity.decisland.son_of_chaos": "Son Of Chaos", + "entity.decisland.son_of_nature": "Son Of Nature", + "entity.decisland.soul": "Soul", + "entity.decisland.soul_blaze": "Soul Blaze", + "entity.decisland.soul_fireball": "Soul Fireball", + "entity.decisland.soul_insect": "Soul Insect", + "entity.decisland.soul_skeleton": "Soul Skeleton", + "entity.decisland.soul_soldier": "Soul Soldier", + "entity.decisland.soul_wake_bullet": "Soul Wake Bullet", + "entity.decisland.soul_zombie": "Soul Zombie", + "entity.decisland.sports_by_book": "Sports By Book", + "entity.decisland.spots": "Spots", + "entity.decisland.spots_overflow": "Spots Overflow", + "entity.decisland.star": "Star", + "entity.decisland.steel_dart": "Steel Dart", + "entity.decisland.stone_dart": "Stone Dart", + "entity.decisland.stone_golem": "Stone Golem", + "entity.decisland.storm_energy_ball": "Storm Energy Ball", + "entity.decisland.storm_fuse": "Storm Fuse", + "entity.decisland.stream_dart": "Stream Dart", + "entity.decisland.stream_energy_ball": "Stream Energy Ball", + "entity.decisland.sun_energy": "Sun Energy", + "entity.decisland.supply_package": "Supply Package", + "entity.decisland.swamp_drowned": "Swamp Drowned", + "entity.decisland.swamp_golem": "Swamp Golem", + "entity.decisland.thrown_bomb": "Thrown Bomb", + "entity.decisland.thunder_ball": "Thunder Ball", + "entity.decisland.tnt_creeper": "TNT Creeper", + "entity.decisland.tnt_snow_man": "TNT Snow Man", + "entity.decisland.vampire_bat": "Vampire Bat", + "entity.decisland.vampire_bat_by_boss": "Vampire Bat", + "entity.decisland.vengeful_ghost": "Vengeful Ghost", + "entity.decisland.village_portal": "Village Portal", + "entity.decisland.vindicator_by_boss": "Vindicator", + "entity.decisland.void_whispering_dagger": "The Void Whispering", + "entity.decisland.warped_skeleton": "Warped Skeleton", + "entity.decisland.watcher": "Watcher", + "entity.decisland.wave_energy": "Wave Energy", + "entity.decisland.wave_energy_inaccurated": "Wave Energy Inaccurated", + "entity.decisland.werewolf": "Werewolf", + "entity.decisland.winter_energy": "Winter Energy", + "entity.decisland.wither_cloud": "Winter Cloud", + "entity.decisland.wood_dart": "Wood Dart", + "entity.decisland.zombie_fish": "Zombie Fish", + "entity.decisland.zombie_summoner": "Zombie Summoner", + "entity.decisland.zombie_warrior": "Zombie Warrior", + "event.dec:radiate_crystal.name": "Pollution", + "event.dec:shadow_crystal.name": "Shadow Intrusion", + "item.decisland.a_bowl_of_rice": "A Bowl of Rice", + "item.decisland.a_piece_of_salmon": "a Piece of Salmon", + "item.decisland.absolute_zero": "Absolute Zero", + "item.decisland.abyssal_controller_mask": "Abyssal Controller Mask", + "item.decisland.agent_mask": "Agent Mask", + "item.decisland.alchemic_stone": "Alchemic Stone", + "item.decisland.alex_mask": "Alex Mask", + "item.decisland.allay_mask": "Allay Mask", + "item.decisland.amethyst_axe": "Amethyst Axe", + "item.decisland.amethyst_boots": "Amethyst Boots", + "item.decisland.amethyst_chestplate": "Amethyst Chestplate", + "item.decisland.amethyst_dagger": "Amethyst Dagger", + "item.decisland.amethyst_dart": "Amethyst Dart", + "item.decisland.amethyst_helmet": "Amethyst Hemlet", + "item.decisland.amethyst_leggings": "Amethyst Leggings", + "item.decisland.amethyst_pickaxe": "Amethyst Pickaxe", + "item.decisland.amethyst_ray_staff": "Amethyst Ray Sfaff", + "item.decisland.amethyst_sword": "Amethyst Sword", + "item.decisland.angel_purification": "Angel Purification", + "item.decisland.apple_juice": "Apple Juice", + "item.decisland.apple_pie": "Apple Pie", + "item.decisland.archer_bullet_bag": "Archer Bullet Bag", + "item.decisland.archer_hat": "Archer Hat", + "item.decisland.archer_stones_bag": "Archer Stones Bag", + "item.decisland.arctic_fox_mask": "Arcitc Fox Mask", + "item.decisland.ash_blaze_mask": "Ash Blaze Mask", + "item.decisland.ash_key": "Ash Key", + "item.decisland.ash_knight_mask": "Ash Knight Mask", + "item.decisland.ash_pufferfish": "Inflamed Ash Pufferfish", + "item.decisland.ash_pufferfish_mask": "Ash Pufferfish Mask", + "item.decisland.autumn_leaves": "Autumn Leaves", + "item.decisland.axolotl_blue_mask": "Axolotl Blue Mask", + "item.decisland.axolotl_cyan_mask": "Axolotl Cyan Mask", + "item.decisland.axolotl_gold_mask": "Axolotl Gold Mask", + "item.decisland.axolotl_lucy_mask": "Axolotl Lucy Mask", + "item.decisland.axolotl_wild_mask": "Axolotl Wild Mask", + "item.decisland.baby_blue_eyes_flower": "Baby Blue Eyes Flower", + "item.decisland.balloon_flower": "Balloon Flower", + "item.decisland.bamboo_katana": "Bamboo Katana", + "item.decisland.bamboo_yataghan": "Bamboo Yataghan", + "item.decisland.bat_bait": "Bat Bait", + "item.decisland.bat_mask": "Bat Mask", + "item.decisland.bat_staff": "Bat Staff", + "item.decisland.bat_wing": "Incomplete Bat Wing", + "item.decisland.bee_mask": "Bee Mask", + "item.decisland.bizarre_chilli": "Bizarre Chilli", + "item.decisland.bizarre_chilli_seeds": "Bizarre Chilli Seeds", + "item.decisland.black_courtesy": "Black Courtesy", + "item.decisland.black_shoes": "Black Shoes", + "item.decisland.black_shorts": "Black Shorts", + "item.decisland.blaze_mask": "Blaze Mask", + "item.decisland.blaze_staff": "Blaze Staff", + "item.decisland.blizzard_staff": "Blizzard Staff", + "item.decisland.blizzard_sword": "Blizzard Sword", + "item.decisland.blood_bullet_bag": "Blood Bullet Bag", + "item.decisland.blood_mare": "Blood Mare", + "item.decisland.blood_meat": "Blood Meat", + "item.decisland.blood_sickle": "Blood Sickle", + "item.decisland.blood_worm": "Blood Worm", + "item.decisland.blue_cat_ears": "Blue Cat Ears", + "item.decisland.blue_gem": "Blue Gem", + "item.decisland.blue_gem_debris": "Blue Gem Debris", + "item.decisland.blue_gem_hat": "Blue Gem Hat", + "item.decisland.blue_jellyfish": "Blue Jellyfish", + "item.decisland.blue_of_the_sea": "Blue Of The Sea", + "item.decisland.bomber": "Bomber", + "item.decisland.bomber_bullet": "Bomber Bullet", + "item.decisland.bone_sword": "Bone Sword", + "item.decisland.book_of_deep": "Book of Deep", + "item.decisland.boomber_mask": "Bommber Mask", + "item.decisland.bracken": "Bracken", + "item.decisland.brain_rice": "Brain Rice", + "item.decisland.breeze_flower": "Breeze Flower", + "item.decisland.brown_bear_mask": "Brown Bear Mask", + "item.decisland.brown_mooshroom_mask": "Brown Mooshroom Mask", + "item.decisland.bullet_bag": "Bullet Bag", + "item.decisland.butter_flower": "Butter Flower", + "item.decisland.butterfly_pea": "Butterfly Pea", + "item.decisland.cactus_sword": "Cactus Sword", + "item.decisland.camouflage_pants": "Camouflage Pants", + "item.decisland.candy": "Candy", + "item.decisland.candy_cane": "Candy Cane", + "item.decisland.catapult": "Catapult", + "item.decisland.cave_spider_mask": "Cave Spider Mask", + "item.decisland.challenge_of_ash": "Challenge Of Ash", + "item.decisland.chaos_staff": "Chaos Staff", + "item.decisland.chicken_mask": "Chicken Mask", + "item.decisland.chicken_staff": "Chicken Staff", + "item.decisland.chocolate_cookie": "Chocolate Cookie", + "item.decisland.chocolates": "Chocolates", + "item.decisland.christmas_cap": "Christmas Cap", + "item.decisland.christmas_gift": "Christmas Gift", + "item.decisland.christmas_sock": "Christmas Sock", + "item.decisland.cloud_flower": "Cloud Flower", + "item.decisland.coal_fish": "Coal Fish", + "item.decisland.coal_nugget": "Coal Nugget", + "item.decisland.cob": "Cob", + "item.decisland.coffee_of_lileyi": "Coffee Of LiLeyi", + "item.decisland.complete_bat_wing": "Complete Bat Wing", + "item.decisland.cooked_brain": "Cooked Brain", + "item.decisland.copper_battleaxe": "Copper Battleaxe", + "item.decisland.copper_dagger": "Copper Dagger", + "item.decisland.copper_dart": "Copper Dart", + "item.decisland.copper_sickle": "Copper Sickle", + "item.decisland.coral_axe": "Coral Axe", + "item.decisland.coral_dart": "Coral Dart", + "item.decisland.coral_ingot": "Coral Ingot", + "item.decisland.coral_pickaxe": "Coral Pickaxe", + "item.decisland.coral_sword": "Coral Sword", + "item.decisland.corn": "Corn", + "item.decisland.corn_seeds": "Corn Seeds", + "item.decisland.corrupted_sword": "Corrupted Sword", + "item.decisland.cow_mask": "Cow Mask", + "item.decisland.crab_leg": "Crab Leg", + "item.decisland.crab_leg_cooked": "Cooked Crab Leg", + "item.decisland.creeper_mask": "Creeper Mask", + "item.decisland.crimson_slime_mask": "Crimson Slime Mask", + "item.decisland.crinum": "Crinum", + "item.decisland.crying_boots": "Crying Boots", + "item.decisland.crying_chestplate": "Crying Chestplate", + "item.decisland.crying_helmet": "Crying Helmet", + "item.decisland.crying_leggings": "Crying Leggings", + "item.decisland.crystal_nucleus": "Crystal Nucleus", + "item.decisland.cudgel": "Cudgel", + "item.decisland.dandelion": "Dandelion", + "item.decisland.dark_blue_jacket": "Dark Blue Jacket", + "item.decisland.dark_debris": "Dark Debris", + "item.decisland.dark_pearl": "Dark Pearl", + "item.decisland.dark_snow_man_mask": "Dark Snow Man Mask", + "item.decisland.dark_stone": "Dark Stone", + "item.decisland.dark_werewolf_mask": "Dark Werewolf Mask", + "item.decisland.dark_zombie_mask": "Dark Zombie Mask", + "item.decisland.dead_wood_dagger": "Dead Wood Dagger", + "item.decisland.dead_wood_rapier": "Dead Wood Rapier", + "item.decisland.decrepit_atlantis": "Decrepit Atlantis", + "item.decisland.deep_dandelion": "Deep Dandelion", + "item.decisland.deep_staff": "Devil Of Deep", + "item.decisland.depart_grass": "Depart Grass", + "item.decisland.desert_fan_flower": "Desert Fan Flower", + "item.decisland.destroy_staff": "Destroy Staff", + "item.decisland.diamond_apple": "Diamond Apple", + "item.decisland.diamond_apple_enchanted": "Enchanted Diamond Apple", + "item.decisland.diamond_crystal_nucleus": "Diamond Crystal Nucleus", + "item.decisland.diamond_dagger": "Diamond Dagger", + "item.decisland.diamond_dart": "Diamond Dart", + "item.decisland.diamond_fish": "Diamond Fish", + "item.decisland.diamond_nugget": "Diamond Nugget", + "item.decisland.diamond_ring": "Diamond Ring", + "item.decisland.diamond_sickle": "Damond Sickle", + "item.decisland.diamond_staff": "Diamond Staff", + "item.decisland.dirt_boots": "Dirt Boots", + "item.decisland.dirt_chestplate": "Dirt Chestplate", + "item.decisland.dirt_helmet": "Dirt Helmet", + "item.decisland.dirt_leggings": "Dirt Leggings", + "item.decisland.dolphin_mask": "Dolphin Mask", + "item.decisland.dragon_fireball_by_player": "Dragon Fireball", + "item.decisland.drift_bottle": "Drift Bottle", + "item.decisland.drowned_mask": "Drowned Mask", + "item.decisland.dust_destroyer": "Dust Destroy", + "item.decisland.dust_ring": "Dust Ring", + "item.decisland.dust_staff": "Dust Staff", + "item.decisland.echo_of_deep": "Echo of Deep", + "item.decisland.elf_of_ash_mask": "Elf Of Ash Mask", + "item.decisland.elf_of_chaos_mask": "Elf Of Chaos Mask", + "item.decisland.elf_of_deep_mask": "Elf Of Deep Mask", + "item.decisland.elf_of_leaves_mask": "Elf Of Leaves Mask", + "item.decisland.emerald_apple": "Emerald Apple", + "item.decisland.emerald_apple_enchanted": "Enchanted Emerald Apple", + "item.decisland.emerald_axe": "Emerald Axe", + "item.decisland.emerald_boots": "Emerald Boots", + "item.decisland.emerald_chestplate": "Emerald Chestplate", + "item.decisland.emerald_dagger": "Emerald Dagger", + "item.decisland.emerald_dart": "Emerald Dart", + "item.decisland.emerald_fish": "Emerald Fish", + "item.decisland.emerald_helmet": "Emerald Hemlet", + "item.decisland.emerald_leggings": "Emerald Leggings", + "item.decisland.emerald_nugget": "Emerald Nugget", + "item.decisland.emerald_pickaxe": "Emerald Pickaxe", + "item.decisland.emerald_ring": "Emerald Ring", + "item.decisland.emerald_staff": "Emerald Staff", + "item.decisland.emerald_sword": "Emerald Sword", + "item.decisland.empty_totem": "Empty Totem", + "item.decisland.end_stone_golem_mask": "End Stone Golem Mask", + "item.decisland.ender_bone": "Ender Bone", + "item.decisland.ender_breath": "Ender Breath", + "item.decisland.ender_core": "Ender Core", + "item.decisland.ender_crystal_nucleus": "Ender Crystal Nucleus", + "item.decisland.ender_egg": "Ender Egg", + "item.decisland.ender_fish": "Ender Fish", + "item.decisland.ender_powder": "Ender Powder", + "item.decisland.ender_ring": "Ender Ring", + "item.decisland.ender_stone": "Ender Stone", + "item.decisland.ender_substance": "Ender Substance", + "item.decisland.ender_witch_mask": "Ender Witch Mask", + "item.decisland.enderman_mask": "Enderman Mask", + "item.decisland.energy_ray_staff": "Energy Ray Staff", + "item.decisland.energy_totem": "Energy Totem", + "item.decisland.enriched_uranium": "Enriched Uranium", + "item.decisland.entity_soul": "Entity Soul", + "item.decisland.entity_soul_mask": "Entity Soul Mask", + "item.decisland.es_clothes": "Es Clothes", + "item.decisland.es_pants": "Es Pants", + "item.decisland.es_shoes": "Es Shoes", + "item.decisland.everlasting_winter_boots": "Everlasting Winter Boots", + "item.decisland.everlasting_winter_chestplate": "Everlasting Winter Chestplate", + "item.decisland.everlasting_winter_dagger": "Everlasting Winter Dagger", + "item.decisland.everlasting_winter_dart": "Everlasting Dart", + "item.decisland.everlasting_winter_flintlock": "Everlasting Winter Flintlock", + "item.decisland.everlasting_winter_ghast_mask": "Everlasting Winter Ghast Mask", + "item.decisland.everlasting_winter_heart": "Everlasting Winter Heart", + "item.decisland.everlasting_winter_helmet": "Everlasting Winter Helmet", + "item.decisland.everlasting_winter_ingot": "Everlasting Winter Ingot", + "item.decisland.everlasting_winter_leggings": "Everlasting Winter Leggings", + "item.decisland.everlasting_winter_sickle": "Everlasting Winter Sickle", + "item.decisland.everlasting_winter_staff": "Everlasting Winter Staff", + "item.decisland.everlasting_winter_stick": "Everlasting Winter Stick", + "item.decisland.everlasting_winter_sword": "Everlasting Winter Sword", + "item.decisland.evil_snow_man_mask": "Evil Snow Man Mask", + "item.decisland.experience_book": "Experience Book", + "item.decisland.experience_book_empty": "Empty Experience Book", + "item.decisland.experience_book_pro_empty": "Empty Experience Book Pro", + "item.decisland.experience_flower_seeds": "experience Flower Seeds", + "item.decisland.exploding_pellets": "Exploding Pellets", + "item.decisland.eye_of_nature": "Eye Of Nature", + "item.decisland.fan_flower": "Fan Flower", + "item.decisland.fang_mace": "Fang Mace", + "item.decisland.farmer_hat": "Farmer Hat", + "item.decisland.final_crystal_nucleus": "Final Crystal Nucleus", + "item.decisland.fire_heart": "Fire Heart", + "item.decisland.fire_ring": "Fire Ring", + "item.decisland.fire_totem": "Fire Totem", + "item.decisland.firefly_bottle": "Firefly Bottle", + "item.decisland.flare_magic_book": "Flare Magic Book", + "item.decisland.flintlock": "Flintlock", + "item.decisland.flintlock_bullet": "Flintlock Bullet", + "item.decisland.flintlock_pro": "Flintlock Pro", + "item.decisland.flower_essence": "Flower Essence", + "item.decisland.following_particle": "Following Particle", + "item.decisland.formal_style_clothes": "Formal style Clothes", + "item.decisland.formal_style_pants": "Formal style Pants", + "item.decisland.fox_mask": "Fox Mask", + "item.decisland.frank_mask": "Frank Mask", + "item.decisland.fried_egg": "Fried Egg", + "item.decisland.fried_melon_seed": "Fried Melon Seed", + "item.decisland.fritillary": "Fritillary", + "item.decisland.fritillary_seeds": "Fritillary Seeds", + "item.decisland.frozen_ball": "Frozen Ball", + "item.decisland.frozen_boots": "Frozen Boots", + "item.decisland.frozen_chestplate": "Frozen Chestplate", + "item.decisland.frozen_dart": "Frozen Dart", + "item.decisland.frozen_fish": "Frozen Fish", + "item.decisland.frozen_helmet": "Frozen Helmet", + "item.decisland.frozen_leggings": "Frozen Leggings", + "item.decisland.frozen_mirror_flower": "Frozen Mirror Flower", + "item.decisland.frozen_power": "Frozen Power", + "item.decisland.frozen_power_debris": "Frozen Power Debris", + "item.decisland.frozen_ray_staff": "Frozen Ray Staff", + "item.decisland.frozen_spider_mask": "Frozen Spider Mask", + "item.decisland.frozen_staff": "Frozen Staff", + "item.decisland.gargoyle_mask": "Gargoyle Mask", + "item.decisland.gas_bomb": "Gas Bomb", + "item.decisland.ghast_mask": "Ghast Mask", + "item.decisland.ghost_dagger": "The Raider Of Soul", + "item.decisland.ghost_dirt_wall": "Ghost Dirt Wall", + "item.decisland.ghost_essence": "Ghost Essence", + "item.decisland.ghost_flintlock": "Ghost Flintlock", + "item.decisland.ghost_ingot": "Ghost Ingot", + "item.decisland.ghost_sickle": "The Reaper Of Soul", + "item.decisland.ghost_summoner": "Ghost Summoner", + "item.decisland.ghost_sword": "The Absorber Of Soul", + "item.decisland.giant_bat_wings": "Giant Bat Wings", + "item.decisland.giant_ivy": "Giant Ivy", + "item.decisland.gingerbread_man": "Gingerbread Man", + "item.decisland.gingerbread_man_mask": "Gingerbread Man Mask", + "item.decisland.gingerbread_sword": "Gingerbread Sword", + "item.decisland.gingerbread_totem": "Gingerbread Totem", + "item.decisland.glamor_clothes": "Glamor Clothes", + "item.decisland.glamor_pants": "Glamor Pants", + "item.decisland.glamor_shoes": "Glamor Shoes", + "item.decisland.glass_axe": "Glass Axe", + "item.decisland.glass_ingot": "Glass Ingot", + "item.decisland.glass_pickaxe": "Glass Pickaxe", + "item.decisland.glass_tank": "Glass Tank", + "item.decisland.goblin_mask": "Goblin Mask", + "item.decisland.god_of_destroy": "God Of Destroy", + "item.decisland.god_of_sun": "God Of Sun", + "item.decisland.gold_dart": "Gold Dart", + "item.decisland.gold_fish": "Gold Fish", + "item.decisland.gold_flower": "Gold Flower", + "item.decisland.gold_ring": "Gold Ring", + "item.decisland.gold_sickle": "Golden Sickle", + "item.decisland.gold_yuanbao": "Gold Yuanbao", + "item.decisland.golden_dagger": "Golden Dagger", + "item.decisland.golden_fence": "Golden Fence", + "item.decisland.golden_staff": "Golden Staff", + "item.decisland.grapeshot_frozen_ball": "Grapeshot Frozen Ball", + "item.decisland.gray_shoes": "Gray Shoes", + "item.decisland.growth": "Growth", + "item.decisland.guardian_elder_mask": "Guardian Elder Mask", + "item.decisland.guardian_mask": "Guardian Mask", + "item.decisland.guide_book": "Guide Book", + "item.decisland.hammer_flower": "Hammer Flower", + "item.decisland.hanyi_clothes": "Hanyi Clothes", + "item.decisland.hanyi_hair_accessories": "Hanyi Hair Accessories", + "item.decisland.hanyi_pants": "Hanyi Pants", + "item.decisland.hanyi_shoes": "Hanyi Shoes", + "item.decisland.hard_bamboo_katana": "Hard Bamboo Katana", + "item.decisland.hard_lollipop": "Hard Lollipop", + "item.decisland.haste_potion": "Haste Potion", + "item.decisland.health_nugget": "Health Nugget", + "item.decisland.health_stone": "Health Stone", + "item.decisland.heart_egg": "Heart Egg", + "item.decisland.heart_ring": "Heart Ring", + "item.decisland.hemp_rope": "Hemp Rope", + "item.decisland.herb_bag": "Herb Bag", + "item.decisland.high_concentration_uranium": "High Concentration Uranium", + "item.decisland.hook_rope": "Hook Rope", + "item.decisland.host_of_deep_mask": "Host Of Deep Mask", + "item.decisland.houttuynia": "Houttuynia", + "item.decisland.houttuynia_seeds": "Houttuynia Seeds", + "item.decisland.hunter_book": "Book of Hunter", + "item.decisland.hunter_bullet_bag": "Hunter Bullet Bag", + "item.decisland.husk_mask": "Huck Mask", + "item.decisland.ice_blaze_mask": "Ice Blaze Mask", + "item.decisland.ice_brick": "Ice Brick", + "item.decisland.ice_cream": "Ice Cream", + "item.decisland.ice_heart": "Heart Of Ice", + "item.decisland.ice_hook_rope": "Ice Hook Rope", + "item.decisland.ice_ingot": "Ice Ingot", + "item.decisland.ice_nugget": "Ice Nugget", + "item.decisland.ice_rod": "Ice Rod", + "item.decisland.ice_sword": "Ice Sword", + "item.decisland.ice_zombie_mask": "Ice Zombie Mask", + "item.decisland.illager_mask": "Illager Mask", + "item.decisland.illager_sword": "Illager Sword", + "item.decisland.infinite_crystal_nucleus_1": "Infinite Crystal Nucleus I", + "item.decisland.infinite_crystal_nucleus_2": "Infinite Crystal Nucleus II", + "item.decisland.infinite_crystal_nucleus_3": "Infinite Crystal Nucleus III", + "item.decisland.intestine": "Intestine", + "item.decisland.iron_apple": "Iron Apple", + "item.decisland.iron_apple_enchanted": "Enchanted Iron Apple", + "item.decisland.iron_bow": "Iron Bow", + "item.decisland.iron_dagger": "Iron Dagger", + "item.decisland.iron_dart": "Iron Dart", + "item.decisland.iron_fish": "Iron Fish", + "item.decisland.iron_golem_mask": "Iron Golem Mask", + "item.decisland.iron_key": "Iron Key", + "item.decisland.iron_sickle": "Iron Sickle", + "item.decisland.iron_staff": "Iron Staff", + "item.decisland.iron_stick": "Iron Stick", + "item.decisland.jacket": "Jacket", + "item.decisland.jellyfish_staff": "Jellyfish Staff", + "item.decisland.jellyfish_staff_projectile_render": "Jellyfish Staff Projectile Render", + "item.decisland.jiuzhi_jacket": "Jiuzhi Jacket", + "item.decisland.jiuzhi_pants": "Jiuzhi Pants", + "item.decisland.jiuzhi_shoes": "Jiuzhi Shoes", + "item.decisland.knight_helmet": "Helmet Of Knight", + "item.decisland.lamp_flower": "Lamp Flower", + "item.decisland.lamprey": "Lamprey", + "item.decisland.lapis_apple": "Lapis Apple", + "item.decisland.lapis_bullet_render": "Lapis Bullet Render", + "item.decisland.lapis_dagger": "Lapis Dagger", + "item.decisland.lapis_magic_book": "Lapis Magic Book", + "item.decisland.lapis_nugget": "Lapis Nugget", + "item.decisland.lapis_staff": "Lapis Staff", + "item.decisland.lapis_sword": "Lapis Sword", + "item.decisland.lava_boots": "Lava Boots", + "item.decisland.lava_bullet_bag": "Lava Bullet Bag", + "item.decisland.lava_chestplate": "Lava Chestplate", + "item.decisland.lava_dart": "Lava Dart", + "item.decisland.lava_essence": "Lava Essence", + "item.decisland.lava_flintlock": "Lava Flintlock", + "item.decisland.lava_flower_seeds": "Lava Flower Seeds", + "item.decisland.lava_helmet": "Lava Helmet", + "item.decisland.lava_ingot": "Lava Ingot", + "item.decisland.lava_leggings": "Lava Leggings", + "item.decisland.lava_nugget": "Lava Nugget", + "item.decisland.lava_sword": "Lava Sword", + "item.decisland.leaves_dagger": "Leaves Dagger", + "item.decisland.leaves_flower": "Leaves Flower", + "item.decisland.leaves_golem_mask": "Leaves Golem Mask", + "item.decisland.leaves_knife": "Leaves Knife", + "item.decisland.leek": "Leek", + "item.decisland.leek_cooked": "Cooked Leek", + "item.decisland.leek_seeds": "Leek Seeds", + "item.decisland.lester_clothes": "Lester Clothes", + "item.decisland.lester_pants": "Lester Pants", + "item.decisland.lester_shoes": "Lester Shoes", + "item.decisland.levitation_cloud": "Levitation Cloud", + "item.decisland.levitation_dirt_wall": "Levitation Dirt Wall", + "item.decisland.lightning_stone": "Lightning Stone", + "item.decisland.lollipop": "Lollipop", + "item.decisland.long_bread": "Long Bread", + "item.decisland.lurk_bud": "Lurk Bud", + "item.decisland.lurk_fruit": "Lurk Fruit", + "item.decisland.lurk_orchid": "Lurk Orchid", + "item.decisland.magic_article": "Magic Article", + "item.decisland.magic_chest_debris": "Magic Chest Debris", + "item.decisland.magic_crystal": "Magic Crystal", + "item.decisland.magic_ice_cream": "Magic Ice Cream", + "item.decisland.magic_mask_bag": "Magic Mask Bag", + "item.decisland.magic_powder": "Magic Powder", + "item.decisland.magic_scroll_blue": "Blue Magic Scroll", + "item.decisland.magic_surge_core": "Magic Surge Core", + "item.decisland.magma_cube_mask": "Magma Cube Mask", + "item.decisland.maple_flower": "Maple Flower", + "item.decisland.melon_piece": "Melon Piece", + "item.decisland.mind_controller": "Mind Controller", + "item.decisland.mock_strawberry": "Mock Strawberry", + "item.decisland.mooli": "Mooli", + "item.decisland.mooli_seeds": "Mooli Seeds", + "item.decisland.moon_jellyfish": "Moon Jellyfish", + "item.decisland.mooshroom_mask": "Mooshroom Mask", + "item.decisland.mouth_flower": "Mouth Flower", + "item.decisland.muddy_ball": "Muddy Ball", + "item.decisland.muddy_fish": "Muddy Fish", + "item.decisland.mummy_mask": "Mummy Mask", + "item.decisland.mummy_skeleton_mask": "Mummy Skeleton Mask", + "item.decisland.mushroom_mask": "Mushroom Mask", + "item.decisland.mysterious_key": "Mysterious Key", + "item.decisland.mysterious_key_debris": "Mysterious Key Debris", + "item.decisland.mystical_skeleton_mask": "Mystical Skeleton Mask", + "item.decisland.natural_ring": "Natural Ring", + "item.decisland.natural_spear": "Natural Spear", + "item.decisland.nature_essence": "Nature Essence", + "item.decisland.nautilus_alive": "Nautilus Alive", + "item.decisland.nether_creeper_mask": "Nether Creeper Mask", + "item.decisland.nether_dandelion": "Nether Dandelion", + "item.decisland.nether_golem_mask": "Nether Golem Mask", + "item.decisland.nether_phantom_mask": "Nether Phantom Mask", + "item.decisland.nether_skeleton_mask": "Nether Skeleton Mask", + "item.decisland.nether_skeleton_wizard_mask": "Nether Skeleton Wizard Mask", + "item.decisland.nether_stick_flower": "Nether Stick Flower", + "item.decisland.netherite_dagger": "Netherite Dagger", + "item.decisland.netherite_dart": "Netherite Dart", + "item.decisland.netherite_sickle": "Netherite Sickle", + "item.decisland.night_sword": "The Night", + "item.decisland.nightmare": "Nightmare", + "item.decisland.obsidian_golem_mask": "Obsdian Golem Mask", + "item.decisland.ocean_totem": "Ocean Totem", + "item.decisland.old_book": "Ancient Book", + "item.decisland.old_monster_mask": "Old Monster Mask", + "item.decisland.paraffin_bucket": "Paraffin Bucket", + "item.decisland.patterned_vase_red": "Patterned Vase Red", + "item.decisland.perch": "Perch", + "item.decisland.perch_cooked": "Cooked Perch", + "item.decisland.phantom_mask": "Phantom Mask", + "item.decisland.pig_mask": "Pig Mask", + "item.decisland.piglin_chestplate": "Piglin Chestplate", + "item.decisland.piglin_leggings": "Piglin Leggings", + "item.decisland.pigzombie_mask": "Pigzombie Mask", + "item.decisland.pine_cone": "Pine Cone", + "item.decisland.pink_dandelion": "Pink Dandelion", + "item.decisland.pink_fan_flower": "Pink Fan Flower", + "item.decisland.pink_jellyfish": "Pink Jellyfish", + "item.decisland.pirate_bullet_bag": "Pirate Bullet Bag", + "item.decisland.player_ghost_mask": "Player Ghost Mask", + "item.decisland.poison_bag": "Poison Bag", + "item.decisland.poison_dart": "Poison Dart", + "item.decisland.poison_fish": "Poison Fish", + "item.decisland.poison_gland": "Poison Gland", + "item.decisland.polar_wolf_mask": "Polar Wolf Mask", + "item.decisland.polarbear_mask": "Polarbear Mask", + "item.decisland.pollution_algae": "Pollutional Algae", + "item.decisland.potato_rice": "Potato Rice", + "item.decisland.predators_mask": "Predators Mask", + "item.decisland.prehistoric_monster_mask": "Prehistoric Monster Mask", + "item.decisland.pufferfish_mask": "Pufferfish Mask", + "item.decisland.pulse_stone": "Pulse Stone", + "item.decisland.pumpkin_candy": "Pumpkin Candy", + "item.decisland.pure_ingot": "Pure Ingot", + "item.decisland.radiate_creeper_mask": "Radiate Creeper Mask", + "item.decisland.radiate_crystal": "Radiate Crystal", + "item.decisland.radiate_enderman_mask": "Radiate Enderman Mask", + "item.decisland.radiate_spreader": "Radiate Spreader", + "item.decisland.radiate_sword": "Radiate Sword", + "item.decisland.rapier": "Rapier", + "item.decisland.red_bag": "Red Bag", + "item.decisland.red_gem": "Red Gem", + "item.decisland.red_gem_debris": "Red Gem Debris", + "item.decisland.red_gem_hat": "Red Gem Hat", + "item.decisland.red_spider_lily": "Red Spider Lily", + "item.decisland.redstone_apple": "Redstone Apple", + "item.decisland.redstone_apple_enchanted": "Enchanted Redstone Apple", + "item.decisland.resistance_potion": "Resistance Potion", + "item.decisland.rice": "Rice", + "item.decisland.rice_seeds": "Rice Seeds", + "item.decisland.rice_wine": "Rice Wine", + "item.decisland.rosemary": "Rosemary", + "item.decisland.rough_steel": "Rough Steel", + "item.decisland.rumorer_mask": "Rumorer Mask", + "item.decisland.rupert_boots": "Rupert Boots", + "item.decisland.rupert_chestplate": "Rupert Chestplate", + "item.decisland.rupert_helmet": "Rupert Helmet", + "item.decisland.rupert_leggings": "Rupert Leggings", + "item.decisland.russet_grass": "Russet Grass", + "item.decisland.sardine": "Sardine", + "item.decisland.scale_sword": "Scale Sword", + "item.decisland.scarecrow": "Scarecrow", + "item.decisland.scimitar": "Scimitar", + "item.decisland.sea_turtle_mask": "Sea Turtle Mask", + "item.decisland.sea_urchin": "Sea Urchin", + "item.decisland.shadow_creeper_mask": "Shadow Creeper Mask", + "item.decisland.shadow_crystal": "Shadow Crystal", + "item.decisland.shadow_feather": "Shadow Feather", + "item.decisland.shadow_of_sea_mask": "Shadow Of Sea Mask", + "item.decisland.shadow_skeleton_mask": "Shadow Skeleton Mask", + "item.decisland.shadow_zombie_mask": "Shadow Zombie Mask", + "item.decisland.sharp_coral": "Sharp Coral", + "item.decisland.shell": "Shell", + "item.decisland.short_flintlock": "Short Flintlock", + "item.decisland.shulker_helmet": "Shulker Helmet", + "item.decisland.shulker_mask": "Shulker Mask", + "item.decisland.simple_car": "Simple Car", + "item.decisland.simple_glider": "Simple Glider", + "item.decisland.skeleton_assassin_mask": "Skeleton Assassin Mask", + "item.decisland.skeleton_fish": "Skeleton Fish", + "item.decisland.skeleton_knight_mask": "Skeleton Knight Mask", + "item.decisland.skeleton_mask": "Skeleton Mask", + "item.decisland.slime_axe": "Slime Axe", + "item.decisland.slime_mask": "Slime Mask", + "item.decisland.slime_pickaxe": "Slime Pickaxe", + "item.decisland.sliver_yuanbao": "Sliver Yuanbao", + "item.decisland.small_stone": "Small Stone", + "item.decisland.small_stone_block": "Small Stone Block", + "item.decisland.smoke_bomb": "Smoke Bomb", + "item.decisland.snailfish": "Snailfish", + "item.decisland.snow_flower": "Snow Flower", + "item.decisland.snow_lotus": "Snow Lotus", + "item.decisland.snowball_magic_book": "Snowball Magic Book", + "item.decisland.soul": "Soul", + "item.decisland.soul_blaze_mask": "Soul Blaze Mask", + "item.decisland.soul_blaze_rod": "Soul Blaze Rod", + "item.decisland.soul_fireball": "Soul Fireball", + "item.decisland.soul_key": "Soul Key", + "item.decisland.soul_skeleton_mask": "Soul Skeleton Mask", + "item.decisland.soul_staff": "The Breath Of Soul", + "item.decisland.soul_wake_bullet_render": "Soul Wake Bullet Render", + "item.decisland.soul_zombie_mask": "Soul Zombie Mask", + "item.decisland.soybean": "Soybean", + "item.decisland.spark_flower": "Spark Flower", + "item.decisland.spell_flower": "Spell Flower", + "item.decisland.spider_mask": "Spider Mask", + "item.decisland.spider_staff": "Spider Staff", + "item.decisland.spiral_shell": "Spiral Shell", + "item.decisland.spurt_egg": "Spurt Egg", + "item.decisland.squid_mask": "Squid Mask", + "item.decisland.star_debris": "Star Debris", + "item.decisland.star_flintlock": "Star Flintlock", + "item.decisland.star_flower": "Star Flower", + "item.decisland.star_sword": "The Bursting Star", + "item.decisland.steel_battleaxe": "Steel Battleaxe", + "item.decisland.steel_boots": "Steel Boots", + "item.decisland.steel_chestplate": "Steel Chestplate", + "item.decisland.steel_dagger": "Steel Dagger", + "item.decisland.steel_dart": "Steel Dart", + "item.decisland.steel_helmet": "Steel Helmet", + "item.decisland.steel_ingot": "Steel Ingot", + "item.decisland.steel_leggings": "Steel Leggings", + "item.decisland.steel_nugget": "Steel Nugget", + "item.decisland.steel_sickle": "Steel Sickle", + "item.decisland.steel_sword": "Steel Sword", + "item.decisland.steve_mask": "Steve Mask", + "item.decisland.stick_flower": "Stick Flower", + "item.decisland.sticky_ash": "Sticky Ash", + "item.decisland.stone_boots": "Stone Boots", + "item.decisland.stone_chestplate": "Stone Chestplate", + "item.decisland.stone_dagger": "Stone Dagger", + "item.decisland.stone_dart": "Stone Dart", + "item.decisland.stone_helmet": "Stone Helmet", + "item.decisland.stone_leggings": "Stone Leggings", + "item.decisland.stones_bag": "Stones Bag", + "item.decisland.storm_battleaxe": "Storm Battleaxe", + "item.decisland.storm_flintlock": "Storm Flintlock", + "item.decisland.storm_giant_sword": "Storm Giant Sword", + "item.decisland.storm_staff": "Storm Staff", + "item.decisland.straw_rope": "Straw Rope", + "item.decisland.stray_chestplate": "Stray Chestplate", + "item.decisland.stray_helmet": "Stray Helmet", + "item.decisland.stray_leggings": "Stray Leggings", + "item.decisland.stray_mask": "Stray Mask", + "item.decisland.stream_dart": "Stream Dart", + "item.decisland.stream_stone": "Stream Stone", + "item.decisland.strider_mask": "Strider Mask", + "item.decisland.striped_pants": "Striped Pants", + "item.decisland.sun_stone": "Sun Stone", + "item.decisland.swamp_drowned_mask": "Swamp Drowned Mask", + "item.decisland.swamp_golem_mask": "Swamp Golem Mask", + "item.decisland.sword_fish": "Sword Fish", + "item.decisland.sword_of_deep": "Black Domain", + "item.decisland.sword_of_guard": "The Spirit Of Guard", + "item.decisland.sword_of_halloween": "Sword Of Halloween", + "item.decisland.tear_from_dream": "Tear from Dream", + "item.decisland.the_blade": "The Blade", + "item.decisland.the_imperial_sword": "the Imperial Sword", + "item.decisland.throwable_bomb": "Throwable Bomb", + "item.decisland.thunder_rapier": "Thunder Rapier", + "item.decisland.thunder_staff": "Thunder Staff", + "item.decisland.thyme": "Thyme", + "item.decisland.time_compass": "Time Compass", + "item.decisland.tnt_creeper_mask": "Tnt Creeper Mask", + "item.decisland.tofu": "Tofu", + "item.decisland.tropical_fish": "Tropical Fish", + "item.decisland.tropical_fish_cooked": "Cooked Tropical Fish", + "item.decisland.turtle_boots": "Turtle Boots", + "item.decisland.turtle_chestplate": "Turtle Chestplate", + "item.decisland.turtle_leggings": "Turtle Leggings", + "item.decisland.turtle_sword": "Turtle Sword", + "item.decisland.uniform_clothes": "Uniform Clothes", + "item.decisland.uniform_pants": "Uniform Pants", + "item.decisland.unknow_book": "Unknow Book", + "item.decisland.uranium": "Uranium", + "item.decisland.uranium_apple": "Uranium Apple", + "item.decisland.vengeful_ghost_mask": "Vengeful Ghost Mask", + "item.decisland.vex_mask": "Vex Mask", + "item.decisland.village_guardian": "Village Guardian", + "item.decisland.villager_mask": "Villager Mask", + "item.decisland.void_whispering_dagger": "The Void Whispering", + "item.decisland.vortex": "Vortex", + "item.decisland.wandering_trader_mask": "Wandering Trader Mask", + "item.decisland.warden_sword": "Warden Sword", + "item.decisland.warped_skeleton_mask": "Warped Skeleton Mask", + "item.decisland.waste": "Waste", + "item.decisland.wave_magic_book": "Wave Magic Book", + "item.decisland.werewolf_mask": "Werewolf Mask", + "item.decisland.white_shoes": "White Shoes", + "item.decisland.white_t_shirt": "White T Shirt", + "item.decisland.wind_dagger": "Wind Dagger", + "item.decisland.wind_of_shadow": "Wind Of Shadow", + "item.decisland.wine_glass": "Wine Glass", + "item.decisland.wings_from_deep": "Wings From Deep", + "item.decisland.witch_hat": "Witch Hat", + "item.decisland.witch_mask": "Witch Mask", + "item.decisland.wither_cone": "Wither Cone", + "item.decisland.wither_invulnerable_mask": "Wither Invulnerable Mask", + "item.decisland.wither_mask": "Wither Mask", + "item.decisland.wither_skeleton_mask": "Wither Skeleton Mask", + "item.decisland.wither_substance": "Wither Substance", + "item.decisland.wolf_mask": "Wolf Mask", + "item.decisland.wood_boots": "Wood Boots", + "item.decisland.wood_chestplate": "Wood Chestplate", + "item.decisland.wood_dart": "Wood Dart", + "item.decisland.wood_helmet": "Wood Helmet", + "item.decisland.wood_leggings": "Wood Leggings", + "item.decisland.wooden_dagger": "Wooden Dagger", + "item.decisland.wooden_enchant_book": "Wooden Enchant Book", + "item.decisland.wooden_staff": "Wooden Staff", + "item.decisland.yellow_butterfly_flower": "Yellow Butterfly Flower", + "item.decisland.yellow_jellyfish": "Yellow Jellyfish", + "item.decisland.zombie_brain": "Zombie Brain", + "item.decisland.zombie_fish": "Zombie Fish", + "item.decisland.zombie_mask": "Zombie Mask", + "item.decisland.zombie_summoner_mask": "Zombie Summoner Mask", + "item.decisland.zombie_villager_mask": "Zombie Villager Mask", + "item.decisland.zombie_warrior_mask": "Zombie Warrior Mask", + "item.record_star.desc": "fish - 拥抱星辰", + "item.spawn_egg.entity.dec:abyssal_controller.name": "Spawn Abyssal Controller", + "item.spawn_egg.entity.dec:archer.name": "Spawn Archer", + "item.spawn_egg.entity.dec:ash_blaze.name": "Spawn Ash Blaze", + "item.spawn_egg.entity.dec:ash_knight.name": "Spawn Ash Knight", + "item.spawn_egg.entity.dec:ash_pufferfish.name": "Spawn Ash Pufferfish", + "item.spawn_egg.entity.dec:baby_ender_dragon.name": "Spawn Baby Ender Dragon", + "item.spawn_egg.entity.dec:blood_zombie.name": "Spawn Blood Zombie", + "item.spawn_egg.entity.dec:bomber.name": "Spawn Bomber", + "item.spawn_egg.entity.dec:brown_bear.name": "Spawn Brown Bear", + "item.spawn_egg.entity.dec:carnager.name": "Spawn Carnager", + "item.spawn_egg.entity.dec:caterpillar.name": "Spawn Caterpillar", + "item.spawn_egg.entity.dec:chest_monster.name": "Spawn Chest Monster", + "item.spawn_egg.entity.dec:chester.name": "Spawn Chester", + "item.spawn_egg.entity.dec:clam.name": "Spawn Clam", + "item.spawn_egg.entity.dec:crab.name": "Spawn Crab", + "item.spawn_egg.entity.dec:crimson_slime.name": "Spawn Crimson Slime", + "item.spawn_egg.entity.dec:dark_snow_man.name": "Spawn Dark Snow Man", + "item.spawn_egg.entity.dec:dark_werewolf.name": "Spawn Dark Werewolf", + "item.spawn_egg.entity.dec:doctor.name": "Spawn Doctor", + "item.spawn_egg.entity.dec:elf_of_ash.name": "Spawn Elf Of Ash", + "item.spawn_egg.entity.dec:elf_of_chaos.name": "Spawn Elf Of Chaos", + "item.spawn_egg.entity.dec:elf_of_deep.name": "Spawn Elf Of Deep", + "item.spawn_egg.entity.dec:elf_of_leaves.name": "Spawn Elf Of Leaves", + "item.spawn_egg.entity.dec:enchant_armor.name": "Spawn Enchant Armor", + "item.spawn_egg.entity.dec:enchant_diamond_armor.name": "Spawn Enchant Diamond Armor", + "item.spawn_egg.entity.dec:enchant_illager.name": "Spawn Enchant Illager", + "item.spawn_egg.entity.dec:end_stone_golem.name": "Spawn Endstone Golem", + "item.spawn_egg.entity.dec:ender_snail.name": "Spawn Ender Snail", + "item.spawn_egg.entity.dec:ender_snake.name": "Spawn Ender Snake", + "item.spawn_egg.entity.dec:ender_witch.name": "Spawn Ender Witch", + "item.spawn_egg.entity.dec:entity_soul.name": "Spawn Entity Soul", + "item.spawn_egg.entity.dec:escaped_soul.name": "Spawn Escaped Soul", + "item.spawn_egg.entity.dec:everlasting_winter_ghast.name": "Spawn Everlasting Winter Ghast", + "item.spawn_egg.entity.dec:evil_snow_man.name": "Spawn Evil Snow Man", + "item.spawn_egg.entity.dec:frozen_ghast.name": "Spawn Frozen Ghast", + "item.spawn_egg.entity.dec:frozen_heart.name": "Spawn Frozen Heart", + "item.spawn_egg.entity.dec:frozen_man.name": "Spawn Frozen Man", + "item.spawn_egg.entity.dec:frozen_shadow.name": "Spawn Frozen Shadow", + "item.spawn_egg.entity.dec:frozen_spider.name": "Spawn Frozen Spider", + "item.spawn_egg.entity.dec:gargoyle.name": "Spawn Gargoyle", + "item.spawn_egg.entity.dec:ghost_diamond_axe.name": "Spawn Ghost Diamond Axe", + "item.spawn_egg.entity.dec:ghost_diamond_staff.name": "Spawn Ghost Diamond Staff", + "item.spawn_egg.entity.dec:ghost_diamond_sword.name": "Spawn Ghost Diamond Sword", + "item.spawn_egg.entity.dec:ghost_iron_axe.name": "Spawn Ghost Iron Axe", + "item.spawn_egg.entity.dec:ghost_iron_sword.name": "Spawn Ghost Iron Sword", + "item.spawn_egg.entity.dec:ghost_wooden_staff.name": "Spawn Ghost Wooden Staff", + "item.spawn_egg.entity.dec:goblin.name": "Spawn Goblin", + "item.spawn_egg.entity.dec:goblin_sniper.name": "Spawn Goblin Sniper", + "item.spawn_egg.entity.dec:goblin_wizard.name": "Spawn Goblin Wizard", + "item.spawn_egg.entity.dec:host_of_deep.name": "Spawn Host Of Deep", + "item.spawn_egg.entity.dec:ice_bat.name": "Spawn Ice Bat", + "item.spawn_egg.entity.dec:ice_blaze.name": "Spawn Ice Blaze", + "item.spawn_egg.entity.dec:ice_creeper.name": "Spawn Ice Creeper", + "item.spawn_egg.entity.dec:ice_monster.name": "Spawn Ice Monster", + "item.spawn_egg.entity.dec:ice_spirit.name": "Spawn Ice Spirit", + "item.spawn_egg.entity.dec:ice_wizard.name": "Spawn Ice Wizard", + "item.spawn_egg.entity.dec:ice_zombie.name": "Spawn Ice Zombie", + "item.spawn_egg.entity.dec:illusion_zombie.name": "Spawn Illusion Zombie", + "item.spawn_egg.entity.dec:illusioner.name": "Spawn Illusioner", + "item.spawn_egg.entity.dec:jungle_spider.name": "Spawn Jungle Spider", + "item.spawn_egg.entity.dec:king_of_pillager.name": "Spawn King Of Pillager", + "item.spawn_egg.entity.dec:lava_lizard.name": "Spawn Lava Lizard", + "item.spawn_egg.entity.dec:leaves_golem.name": "Spawn Leaves Golem", + "item.spawn_egg.entity.dec:life_insect.name": "Spawn Life Insect", + "item.spawn_egg.entity.dec:lurk_skeleton.name": "Spawn Lurk Skeleton", + "item.spawn_egg.entity.dec:lurk_zombie.name": "Spawn Lurk Zombie", + "item.spawn_egg.entity.dec:mummy.name": "Spawn Mummy", + "item.spawn_egg.entity.dec:mummy_skeleton.name": "Spawn Mummy Skeleton", + "item.spawn_egg.entity.dec:murloc.name": "Spawn Murloc", + "item.spawn_egg.entity.dec:murloc_wizard.name": "Spawn Murloc Wizard", + "item.spawn_egg.entity.dec:mushroom_monster.name": "Spawn Mushroom Monster", + "item.spawn_egg.entity.dec:mushroom_zombie.name": "Spawn Mushroom Zombie", + "item.spawn_egg.entity.dec:mystical_skeleton.name": "Spawn Mystical Skeleton", + "item.spawn_egg.entity.dec:nautilus.name": "Spawn Nautilus", + "item.spawn_egg.entity.dec:nether_creeper.name": "Spawn Nether Creeper", + "item.spawn_egg.entity.dec:nether_golem.name": "Spawn Nether Golem", + "item.spawn_egg.entity.dec:nether_phantom.name": "Spawn Nether Phantom", + "item.spawn_egg.entity.dec:nether_skeleton.name": "Spawn Nether Skeleton", + "item.spawn_egg.entity.dec:nether_skeleton_wizard.name": "Spawn Nether Skeleton Wizard", + "item.spawn_egg.entity.dec:obsidian_golem.name": "Spawn Obsidian Golem", + "item.spawn_egg.entity.dec:pirate.name": "Spawn Pirate", + "item.spawn_egg.entity.dec:player_ghost.name": "Spawn Player Ghost", + "item.spawn_egg.entity.dec:polar_wolf.name": "Spawn Polar Wolf", + "item.spawn_egg.entity.dec:predators.name": "Spawn Predators", + "item.spawn_egg.entity.dec:pumpkin_slime.name": "Spawn Pumpkin Slime", + "item.spawn_egg.entity.dec:radiate_creeper.name": "Spawn Radiate Creeper", + "item.spawn_egg.entity.dec:radiate_enderman.name": "Spawn Radiate Enderman", + "item.spawn_egg.entity.dec:radiate_skeleton.name": "Spawn Radiate Skeleton", + "item.spawn_egg.entity.dec:radiate_spider.name": "Spawn Radiate Spider", + "item.spawn_egg.entity.dec:real_soul.name": "Spawn Real Soul", + "item.spawn_egg.entity.dec:rumorer.name": "Spawn Rumorer", + "item.spawn_egg.entity.dec:sardine.name": "Spawn Sardine", + "item.spawn_egg.entity.dec:saucer.name": "Spawn Saucer", + "item.spawn_egg.entity.dec:sea_urchin.name": "Spawn Sea Urchin", + "item.spawn_egg.entity.dec:shadow_archer.name": "Spawn Shadow Archer", + "item.spawn_egg.entity.dec:shadow_creeper.name": "Spawn Shadow Creeper", + "item.spawn_egg.entity.dec:shadow_of_deep.name": "Spawn Shadow Of Deep", + "item.spawn_egg.entity.dec:shadow_of_sea.name": "Spawn Shadow Of Sea", + "item.spawn_egg.entity.dec:shadow_skeleton.name": "Spawn Shadow Skeleton", + "item.spawn_egg.entity.dec:shadow_zombie.name": "Spawn Shadow Zombie", + "item.spawn_egg.entity.dec:skeleton_assassin.name": "Spawn Skeleton Assassin", + "item.spawn_egg.entity.dec:skeleton_knight.name": "Spawn Skeleton Knight", + "item.spawn_egg.entity.dec:skeleton_knight_commander.name": "Spawn Skeleton Knight Commander", + "item.spawn_egg.entity.dec:skeleton_warrior.name": "Spawn Skeleton Warrior", + "item.spawn_egg.entity.dec:skeleton_wizard.name": "Spawn Skeleton Wizard", + "item.spawn_egg.entity.dec:soldier.name": "Spawn Soldier", + "item.spawn_egg.entity.dec:soul.name": "Spawn Soul", + "item.spawn_egg.entity.dec:soul_blaze.name": "Spawn Soul Blaze", + "item.spawn_egg.entity.dec:soul_insect.name": "Spawn Soul Insect", + "item.spawn_egg.entity.dec:soul_skeleton.name": "Spawn Soul Skeleton", + "item.spawn_egg.entity.dec:soul_soldier.name": "Spawn Soul Soldier", + "item.spawn_egg.entity.dec:soul_zombie.name": "Spawn Soul Zombie", + "item.spawn_egg.entity.dec:star.name": "Spawn Star", + "item.spawn_egg.entity.dec:stone_golem.name": "Spawn Stone Golem", + "item.spawn_egg.entity.dec:swamp_drowned.name": "Spawn Swamp Drowned", + "item.spawn_egg.entity.dec:swamp_golem.name": "Spawn Swamp Golem", + "item.spawn_egg.entity.dec:tnt_creeper.name": "Spawn TNT Creeper", + "item.spawn_egg.entity.dec:tnt_snow_man.name": "Spawn TNT Snow Man", + "item.spawn_egg.entity.dec:vampire_bat.name": "Spawn Vampire Bat", + "item.spawn_egg.entity.dec:vengeful_ghost.name": "Spawn Vengeful Ghost", + "item.spawn_egg.entity.dec:warped_skeleton.name": "Spawn Warped Skeleton", + "item.spawn_egg.entity.dec:watcher.name": "Spawn Watcher", + "item.spawn_egg.entity.dec:werewolf.name": "Spawn Werewolf", + "item.spawn_egg.entity.dec:zombie_fish.name": "Spawn Zombie Fish", + "item.spawn_egg.entity.dec:zombie_summoner.name": "Spawn Zombie Summoner", + "item.spawn_egg.entity.dec:zombie_warrior.name": "Spawn Zombie Warrior", + "itemGroup.decisland_accessories_tab": "DecIsland Accessories", + "itemGroup.decisland_crops_tab": "DecIsland Crops", + "itemGroup.decisland_foods_tab": "DecIsland Foods", + "itemGroup.decisland_masks_tab": "DecIsland Masks", + "itemGroup.decisland_materials_tab": "DecIsland Materials", + "itemGroup.decisland_misc_tab": "DecIsland Misc", + "itemGroup.decisland_nature_tab": "DecIsland Nature", + "itemGroup.decisland_weapons_tab": "DecIsland Weapons", + "mini_boss.dec:baby_ender_dragon.name": "Baby Ender Dragon", + "mini_boss.dec:dark_werewolf.name": "Dark Werewolf", + "mini_boss.dec:frozen_heart.name": "Frozen Heart", + "mini_boss.dec:life_insect.name": "Life Insect", + "mini_boss.dec:nether_golem.name": "Nether Golem", + "mini_boss.dec:obsidian_golem.name": "Obsidian Golem", + "mini_boss.dec:piglin_brute.name": "Piglin Brute", + "mini_boss.dec:skeleton_knight_commander.name": "Skeleton Knight Commander", + "mini_boss.dec:star.name": "Star", + "mini_boss.dec:swamp_golem.name": "Swamp Golem", + "mini_boss.dec:vengeful_ghost.name": "Vengeful Ghost", + "text.decisland.abyssal_summoner_unlock_fail": "§aThe seal from lower floor's scale blocks has not been destroyed yet", + "text.decisland.blood_meat_already": "§aThere they are now", + "text.decisland.blood_meat_day": "§aIt cannot lure anything in daytime", + "text.decisland.blood_meat_success": "§aThey are coming...", + "text.decisland.blue_gem_magic_up": "§aMax magic point has been increased to:", + "text.decisland.blue_gem_max": "§aYou need red gem to increase your magic point furtherly.", + "text.decisland.command_fail": "§aYou are not allowed to use the command", + "text.decisland.command_help": "§aEnter the command \">/help\" in your chat bar and send it out to get all the new commands' description", + "text.decisland.command_help_1": "§a>/help Used to get the instruction of new added commands(Authority needed:Anyone)", + "text.decisland.command_help_2": "§a>/creators Used to show the gratitude list(Authority needed:Anyone)", + "text.decisland.command_help_3": "§a>/diemode test Used to test whether the diemode is opened or not,or whether it can be opened(Authority needed:Anyone)", + "text.decisland.command_help_4": "§a>/diemode open Used to open diemode(Authority needed:Owner)", + "text.decisland.command_help_5": "§a>/magic display true Used to display everyone's magic point(Authority needed:Op)", + "text.decisland.command_help_6": "§a>/magic display false Used to close the display of everyone's magic point(Authority needed:Op)", + "text.decisland.creator_list_1": "§bLiLeyi - Main Creator", + "text.decisland.creator_list_10": "§bQ儿 - Offer inspiration and textures", + "text.decisland.creator_list_11": "§bSpiffyTerror - Offer models and animations", + "text.decisland.creator_list_12": "§b竹翼团队 - Offer skins and upload to Chinese version Minecraft", + "text.decisland.creator_list_13": "§b悸动天使 - Command support", + "text.decisland.creator_list_14": "§b晴风 - Super Armor", + "text.decisland.creator_list_15": "§b画盒豆腐 - Offer inspiration", + "text.decisland.creator_list_16": "§b兔块子 - Offer a part of entities", + "text.decisland.creator_list_17": "§b传说中阿库西斯教教徒 - Offer inspiration,story and buildings", + "text.decisland.creator_list_18": "§b枫雪白霜 - Offer inspiration and textures", + "text.decisland.creator_list_19": "§b碧月狐 - Technical support", + "text.decisland.creator_list_2": "§bEnderghostScale - Artificial Meat,some monsters,thrown bomb and technical support", + "text.decisland.creator_list_20": "§bFulank彡North cat - Offer inspiration and textures", + "text.decisland.creator_list_21": "§b一只朴实无华的蒜头王八 - Offer inspiration and textures and test", + "text.decisland.creator_list_22": "§bKirisamePPSH - Offer structures and textures", + "text.decisland.creator_list_23": "§bMiku4962 - Offer inspiration and test", + "text.decisland.creator_list_24": "§bMr.龙灵 - Offer structures and textures", + "text.decisland.creator_list_25": "§bHanYi - Offer inspiration and textures and structure", + "text.decisland.creator_list_26": "§bKucerLuo - Structure", + "text.decisland.creator_list_27": "§bRepforce - Structure", + "text.decisland.creator_list_28": "§b豆沙 - Some Monsters,Structure", + "text.decisland.creator_list_29": "§b夜长生 - Structure", + "text.decisland.creator_list_3": "§bhaveyouwantto - Technical support", + "text.decisland.creator_list_30": "§b默笙 - Structure", + "text.decisland.creator_list_31": "§bStereoRoom411 - Structure", + "text.decisland.creator_list_32": "§b岚天 - Structure", + "text.decisland.creator_list_33": "§bDoubtful Pig - Structure", + "text.decisland.creator_list_34": "§bLZN - Structure", + "text.decisland.creator_list_35": "§b纸盒Alifang - Offer animations", + "text.decisland.creator_list_36": "§bKale - Art designer,structure,items and technical support", + "text.decisland.creator_list_37": "§bLolktype - Structure,introduction", + "text.decisland.creator_list_38": "§bKoffyt93 - Structure", + "text.decisland.creator_list_39": "§b幻想贝壳 - Structure,textures", + "text.decisland.creator_list_4": "§bhuo鱼一只 - Technical support", + "text.decisland.creator_list_40": "§bSpelwrog - textures,inspirations", + "text.decisland.creator_list_5": "§bAR_UnryAllenCN - Technical support", + "text.decisland.creator_list_6": "§bAA剑侠 - Sapi part and technical support", + "text.decisland.creator_list_7": "§b世心 - Werewolf", + "text.decisland.creator_list_8": "§b論娘 - Illusioner", + "text.decisland.creator_list_9": "§b荷叶 - Offer inspiration and newbie guide", + "text.decisland.diemode_already_die": "§4§lOur Journey will welcome every traveller without body odor.The person who has body odor can freak others out...Please let me have a look,what's the difference between you and a corpse?", + "text.decisland.diemode_cannot_close": "§4§lStruggling when you are close to the god of death will influence the experience of your long journey.", + "text.decisland.diemode_cannot_close_already_die": "§4§lWelcome to trying again,if you could get up off the ground covering with the blood of your last life.", + "text.decisland.diemode_gmcheat": "§4§lChanging the path of your journey is not what a civilized traveller should do.", + "text.decisland.diemode_not_owner": "§eOnly owner can open the mode.", + "text.decisland.diemode_open": "§4§lWelcome.Hope your inside is as clean as your soul,in order to prevent scarying other travellers.Please pay attention,do not let you,or your companions get body odor.If something happens to him,it should not be him.We hate those who changes the path,because their soul are out of body.There,look,there are so many people along the way.And beware of what under your feet,how many corpse have been there?Good luck.", + "text.decisland.diemode_spectator": "§4§lGlory than those who change the path at least", + "text.decisland.diemode_spectator_gmcheat": "§4§lTravellers like you are not welcome to us", + "text.decisland.diemode_test_close": "§aDiemode is closed and can be open", + "text.decisland.diemode_test_close_cannot_open_die": "§aDiemode is closed and cannot be open,because somebody has already dead", + "text.decisland.diemode_test_close_cannot_open_gmc": "§aDiemode is closed and cannot be open,because of cheating", + "text.decisland.diemode_test_open": "§aDiemode is open", + "text.decisland.ender_egg_max": "§aHealth Point 12,your health point is full.", + "text.decisland.everlasting_winter_heart_already": "§aThe cold wave is here", + "text.decisland.everlasting_winter_heart_day": "§aToo hot,too bright", + "text.decisland.everlasting_winter_heart_success": "§aYour body start to shake......", + "text.decisland.experience_book_empty_fail": "§aWho cares about so little experience?", + "text.decisland.guide_book_0": "§aGuide Book", + "text.decisland.guide_book_1": "§aYou're week,don't let them get close to you.Be careful at night,or the monsters will kill you easily.If fog gather at night,don't go out for your own safty", + "text.decisland.guide_book_2": "§a", + "text.decisland.guide_book_3": "§a", + "text.decisland.heart_egg_max": "§aHealth Point is greater than or equal to 8,you need spurt eggs or ender eggs to increase your health point furtherly.", + "text.decisland.hunter_book_coordinate_1": "§aTask location:", + "text.decisland.hunter_book_coordinate_2": ",", + "text.decisland.hunter_book_new": "§aNew task location released", + "text.decisland.hunter_book_not_complete": "§aYou do not reach the location yet", + "text.decisland.hunter_book_success": "§aYou did it", + "text.decisland.i_inviolable": "§aDestorying is not allowed here......", + "text.decisland.killed_by_boss": "§eYou are defeated by the Boss", + "text.decisland.load_fail": "§bLoading fail,please check your minecraft version,and whether the import is succeeded", + "text.decisland.load_ok": "§bLoading complete", + "text.decisland.magic_crystal_magicgain_up": "§aYour speed of gaining magic has increased to:", + "text.decisland.magic_crystal_max": "§aYour speed of gaining magic has reached the limit.", + "text.decisland.magic_display_off": "Magic display has been closed", + "text.decisland.magic_display_on": "Magic display has been opened", + "text.decisland.omit": "§b......", + "text.decisland.qq_group": "§eFeedback and testing QQ group - 486864907", + "text.decisland.radiate_crystal_defeated": "§eThe world has been purfied", + "text.decisland.red_gem_magic_up": "§aMax magic point has been increased to:", + "text.decisland.red_gem_max": "§aYour max magic has reached the limit.", + "text.decisland.red_gem_not_enough": "§aYour magic point is below 40,and need blue gem to increase it to 40,then red gem can be used.", + "text.decisland.shadow_crystal_defeated": "§eThe shadow from ancient has receded", + "text.decisland.shadow_crystal_fail": "§eStructure is imcompleted", + "text.decisland.spurt_egg_max": "§aHealth Point is greater than or equal to 10,you need ender eggs to increase your health point furtherly.", + "text.decisland.summon_abyssal_controller": "§eAbyssal Controller has been summoned", + "text.decisland.summon_ash_knight": "§eAsh Knight has been summoned", + "text.decisland.summon_enchant_illager": "§eEnchant Illager has been summoned", + "text.decisland.summon_entity_soul": "§eEntity Soul has been summoned", + "text.decisland.summon_escaped_soul": "§eEscaped soul has been summoned", + "text.decisland.summon_everlasting_winter_ghast": "§eEverlasting Winter Ghast has been summoned", + "text.decisland.summon_host_of_deep": "§eHost Of Deep has been summoned", + "text.decisland.summon_king_of_pillager": "§eKing Of Pillager has been summoned", + "text.decisland.summon_leaves_golem": "§eLeaves golem has been summoned", + "text.decisland.summon_predators": "§ePredators has been summoned", + "text.decisland.summon_radiate_crystal": "§eRadiate crystal has been summoned", + "text.decisland.summon_shadow_crystal": "§eShadow crystal has been summoned", + "text.decisland.task_000_body": "Wear a whole set of lava armor.Lava ingot and nugget can be found in some nether structure,and some nether monsters can drop them.Reward:a lava bucket,32 lava darts,1213 exp.", + "text.decisland.task_000_complete": "Task Complete!Making the spurt egg needs the lava ingot as well!", + "text.decisland.task_000_title": "No More Coldness!", + "text.decisland.task_001_body": "Wear a whole set of frozen armor.Some frozen monsters can drop ice ingot,especially in the everlasting winter tower.Reward:an ice ingot,a frozen power,1321 exp.", + "text.decisland.task_001_complete": "Task Complete!You need seven frozen power debris to create a complete one,then you can unlock the summoner on the tower.", + "text.decisland.task_001_title": "No More Hotness!", + "text.decisland.task_002_body": "Wear a whole set of rupert armor.You can get the martials in the nether.Reward:a blue gem,a soul staff,15 soul fireball,1422 exp.", + "text.decisland.task_002_complete": "Task Complete!You can find the deep garden in the crismon forest,and you will challenge the host of deep there.", + "text.decisland.task_002_title": "The Hardest Equipment?", + "text.decisland.task_003_body": "Wear a whole set of amethyst armor.Reward:7 magic nucleus,a diamond crystal,964 exp.", + "text.decisland.task_003_complete": "Task Complete!It seems that the plain tower has a host.", + "text.decisland.task_003_title": "Refraction!", + "text.decisland.task_004_body": "Wear a whole set of copper armor.Reward:53 logs,a eye of nature,381 exp.", + "text.decisland.task_004_complete": "Task Complete!You can find giant trees in the forest.Use an iron key on the summoner on the top of the tree to summon leaves golem.", + "text.decisland.task_004_title": "The Weight Of Earth!", + "text.decisland.task_005_body": "Wear a whole set of crying armor.Reward:46 magic powder,7 ender pearls,3 health stone,2 lava ingot,1623 exp.", + "text.decisland.task_005_complete": "Task Complete!But beware of the negative effects.", + "text.decisland.task_005_title": "Immersion", + "text.decisland.task_006_body": "Wear a whole set of emerald armor.Reward:5 glass ingots,3 iron sticks,1724 exp.", + "text.decisland.task_006_complete": "Task Complete!It is said that there is a sword called village guardian.Hold it and look up to the sky at the same time,then you can feel the power from anicient.", + "text.decisland.task_006_title": "Wealth Leakage", + "text.decisland.task_007_body": "Wear a whole set of everlasting winter armor.Reward:165 frozen ball,31 grapeshot frozen balls,5 everlasting winter ingots,the Imperial Sword,2310 exp.", + "text.decisland.task_007_complete": "Task Complete!But did you really defeated everlasting winter ghast?", + "text.decisland.task_007_title": "Numb Body", + "text.decisland.task_008_body": "Wear the knight helmet,iron chestplate,leggings and boots.Only does the skeleton knight commander appear at skeleton night.Reward:a blood meat,1 bone sword,945 exp.", + "text.decisland.task_008_complete": "Task Complete!The time the mist appears is the time danger appears", + "text.decisland.task_008_title": "Power Of Knight", + "text.decisland.task_009_body": "Wear the witch hat.Reward:5 potions,423 exp.", + "text.decisland.task_009_complete": "Task Complete!Chest monster likes ore blocks.", + "text.decisland.task_009_title": "Witch?", + "text.decisland.task_010_body": "I don't know who will receive this mail.It's my first time to use item transmission,but...can who receive this transmiss a paper as reply?Hand in 1 paper.Reward:72 exp.", + "text.decisland.task_010_complete": "Task Complete!", + "text.decisland.task_010_title": "Magic Mail NO:99W file00", + "text.decisland.task_011_body": "Oh!Thank you for your last reply,thanks!It's my first item transmission homework after all!Teacher praised me!Emmmm...do I send it to wrong person?It's awkward to be wrong...after all!Thanks the two strangers who receive these two mails!Click to finish this task.Reward:71 exp.", + "text.decisland.task_011_complete": "Task Complete!", + "text.decisland.task_011_title": "Magic Mail NO:99W file01", + "text.decisland.task_012_body": "Send a book which my friend for me to stranger,but I don't need two same books!Click to finish this task.Reward:1 lapis magic book.", + "text.decisland.task_012_complete": "Task Complete!", + "text.decisland.task_012_title": "Magic Mail NO:99W file02", + "text.decisland.task_013_body": "Emmmm,the kind-mind,who see this mail,can you give something to eat!Hand in 16 long bread,8 chocolate.Reward:3 blue magic scroll,751 exp.", + "text.decisland.task_013_complete": "Task Complete!", + "text.decisland.task_013_title": "Magic Mail NO:99W file35", + "text.decisland.task_014_body": "Comrades!Who receive this mail,whether you are yiwu soldier or from southern village,for the kids who die near me,put off your weapons please,put off meaningless war please,it's meaningless!Hand in 1 iron sword.Reward:68 exp.", + "text.decisland.task_014_complete": "Task Complete!", + "text.decisland.task_014_title": "Magic Mail NO:99W file36", + "text.decisland.task_015_body": "The handwriting in this scroll is illegible.Though it's picked from the cooking bench,it's earliest handwriting must be strenged:\"Dimly...nothing,for sure.\"Hand in 14 dandelion.Reward:142 exp.", + "text.decisland.task_015_complete": "Task Complete!", + "text.decisland.task_015_title": "Magic Mail NO:9#%", + "text.decisland.task_016_body": "Ah!Always be lack of wood in winter!They're all wet with snow!Uncle!Why I am always so unluck and stupid!Hand in 64 charcoal.Reward:671 exp.", + "text.decisland.task_016_complete": "Task Complete!", + "text.decisland.task_016_title": "Wood emergence!", + "text.decisland.task_017_body": "What the hell!God you disobey me!What's wrong with the extract price of dozens of emeralds!Why there's no people buy my goods!If you have the guts,bring rainstorm!Hand in 1 water bucket,12 snow block.Reward:512 exp.", + "text.decisland.task_017_complete": "Task Complete!", + "text.decisland.task_017_title": "Damnation for god", + "text.decisland.task_018_body": "Give me candy,give me candy.Hand in 3 candy.Reward:224 exp.", + "text.decisland.task_018_complete": "Task Complete!", + "text.decisland.task_018_title": "Lalala!Candy!", + "text.decisland.task_019_body": "Alcohol is a first-grade carcinogen! Drink...Alas, let me finish! I know it touches your interests!Hand in 16 rice wine.Reward:375 exp.", + "text.decisland.task_019_complete": "Task Complete!", + "text.decisland.task_019_title": "Wine brewing technology", + "text.decisland.task_020_body": "Hand in 4 netherite ingot.Reward:1-3 star debris,1213 exp.", + "text.decisland.task_020_complete": "Task Complete!", + "text.decisland.task_020_title": "Ore trading!", + "text.decisland.task_021_body": "Hand in 1 ice ingot,35 gold ingot,62 iron ingot.Reward:1-2 netherite debris,742 exp.", + "text.decisland.task_021_complete": "Task Complete!", + "text.decisland.task_021_title": "Ore trading!", + "text.decisland.task_022_body": "Hand in 42 amethyst shards,31 stream stone.Reward:1-2 lava ingot,941 exp.", + "text.decisland.task_022_complete": "Task Complete!", + "text.decisland.task_022_title": "Ore trading!", + "text.decisland.task_023_body": "Hand in 1 ice ingot.Reward:8-20 amethyst shards,421 exp.", + "text.decisland.task_023_complete": "Task Complete!", + "text.decisland.task_023_title": "Ore trading!", + "text.decisland.task_024_body": "Hand in 4 coral ingot.Reward:13-31 iron ingot,761 exp.", + "text.decisland.task_024_complete": "Task Complete!", + "text.decisland.task_024_title": "Ore trading!", + "text.decisland.task_025_body": "Hand in 34 prismarine shard,14 stream stone.Reward:2-4 glass ingot,842 exp.", + "text.decisland.task_025_complete": "Task Complete!", + "text.decisland.task_025_title": "Ore trading!", + "text.decisland.task_026_body": "Hand in 2 ghost ingot.Reward:2-4 netherite debris,1231 exp.", + "text.decisland.task_026_complete": "Task Complete!", + "text.decisland.task_026_title": "Ore trading!", + "text.decisland.task_027_body": "Hand in 1 pure ingot.Reward:12-25 iron ingot,24-31 gold ingot,541 exp.", + "text.decisland.task_027_complete": "Task Complete!", + "text.decisland.task_027_title": "Ore trading!", + "text.decisland.task_028_body": "Hand in 41 steel ingot.Reward:1-2 netherite ingot,2-3 glass ingot,1342 exp.", + "text.decisland.task_028_complete": "Task Complete!", + "text.decisland.task_028_title": "Ore trading!", + "text.decisland.task_029_body": "Hand in 2 star debris,1 lava ingot.Reward:2-4 netherite ingot.1433 exp.", + "text.decisland.task_029_complete": "Task Complete!", + "text.decisland.task_029_title": "Ore trading!", + "text.decisland.task_030_body": "Hand in 2 echo shard.Reward:21-48 iron ingot,978 exp.", + "text.decisland.task_030_complete": "Task Complete!", + "text.decisland.task_030_title": "Ore trading!", + "text.decisland.task_031_body": "Hand in 13 stream stone.Reward:1 mysterious key debris,134 exp.", + "text.decisland.task_031_complete": "Task Complete!", + "text.decisland.task_031_title": "Black market transaction order", + "text.decisland.task_032_body": "Hand in 32 stream stone,26 lapis lazuli.Reward:1-4 pollution algae,164 exp.", + "text.decisland.task_032_complete": "Task Complete!", + "text.decisland.task_032_title": "Black market transaction order", + "text.decisland.task_033_body": "Hand in 21 stream stone,42 lapis lazuli.Reward:9-13 crystal nucleus,432 exp.", + "text.decisland.task_033_complete": "Task Complete!", + "text.decisland.task_033_title": "Black market transaction order", + "text.decisland.task_034_body": "Hand in 14 stream stone.Reward:1-4 ender bone,331 exp.", + "text.decisland.task_034_complete": "Task Complete!", + "text.decisland.task_034_title": "Black market transaction order", + "text.decisland.task_035_body": "Hand in 31 stream stone,42 lapis lazuli.Reward:5-11 eye of nature,451 exp.", + "text.decisland.task_035_complete": "Task Complete!", + "text.decisland.task_035_title": "Black market transaction order", + "text.decisland.task_036_body": "Hand in 34 stream stone,13 lapis lazuli.Reward:1-3 flower essence,433 exp.", + "text.decisland.task_036_complete": "Task Complete!", + "text.decisland.task_036_title": "Black market transaction order", + "text.decisland.task_037_body": "Hand in 21 stream stone,41 lapis lazuli.Reward:31 magic powder,264 exp.", + "text.decisland.task_037_complete": "Task Complete!", + "text.decisland.task_037_title": "Black market transaction order", + "text.decisland.task_038_body": "Hand in 31 stream stone,44 lapis lazuli.Reward:3-8 soul blaze rod,612 exp.", + "text.decisland.task_038_complete": "Task Complete!", + "text.decisland.task_038_title": "Black market transaction order", + "text.decisland.task_039_body": "Hand in 71 stream stone,42 lapis lazuli.Reward:3-7 wither substance,951 exp.", + "text.decisland.task_039_complete": "Task Complete!", + "text.decisland.task_039_title": "Black market transaction order", + "text.decisland.task_040_body": "Hand in 31 stream stone.Reward:2 soul,541 exp.", + "text.decisland.task_040_complete": "Task Complete!", + "text.decisland.task_040_title": "Black market transaction order", + "text.decisland.task_041_body": "Hand in 72 stream stone.Reward:1 blood meat,845 exp.", + "text.decisland.task_041_complete": "Task Complete!", + "text.decisland.task_041_title": "Black market transaction order", + "text.decisland.task_042_body": "Hand in 64 birch log.Reward:3 emerald,421 exp.", + "text.decisland.task_042_complete": "Task Complete!", + "text.decisland.task_042_title": "Wood acquisition", + "text.decisland.task_043_body": "Hand in 73 oak log.Reward:1 blue gem,562 exp.", + "text.decisland.task_043_complete": "Task Complete!", + "text.decisland.task_043_title": "Wood acquisition", + "text.decisland.task_044_body": "Hand in 134 oak log.Reward:1 red gem,741 exp.", + "text.decisland.task_044_complete": "Task Complete!", + "text.decisland.task_044_title": "Wood acquisition", + "text.decisland.task_045_body": "Hand in 85 rice.Reward:854 exp.", + "text.decisland.task_045_complete": "Task Complete!", + "text.decisland.task_045_title": "Farmland tycoon", + "text.decisland.task_046_body": "Hand in 75 soybean.Reward:951 exp.", + "text.decisland.task_046_complete": "Task Complete!", + "text.decisland.task_046_title": "Farmland tycoon", + "text.decisland.task_047_body": "Hand in 76 leek.Reward:1034 exp.", + "text.decisland.task_047_complete": "Task Complete!", + "text.decisland.task_047_title": "Farmland tycoon", + "text.decisland.task_048_body": "Hand in 73 bracken.Reward:1045 exp.", + "text.decisland.task_048_complete": "Task Complete!", + "text.decisland.task_048_title": "Farmland tycoon", + "text.decisland.task_049_body": "Hand in 93 houttuynia.Reward:1641 exp.", + "text.decisland.task_049_complete": "Task Complete!", + "text.decisland.task_049_title": "Farmland tycoon", + "text.decisland.task_050_body": "Hand in 64 fritillary.Reward:1241 exp.", + "text.decisland.task_050_complete": "Task Complete!", + "text.decisland.task_050_title": "Farmland tycoon", + "text.decisland.task_051_body": "Hand in 95 bizarre chilli.Reward:1541 exp.", + "text.decisland.task_051_complete": "Task Complete!", + "text.decisland.task_051_title": "Farmland tycoon", + "text.decisland.task_052_body": "Hand in 4 a bowl of rice.Reward:375 exp.", + "text.decisland.task_052_complete": "Task Complete!", + "text.decisland.task_052_title": "Food order", + "text.decisland.task_053_body": "Hand in 4 potato rice.Reward:498 exp.", + "text.decisland.task_053_complete": "Task Complete!", + "text.decisland.task_053_title": "Food order", + "text.decisland.task_054_body": "Hand in 17 rice wine.Reward:783 exp.", + "text.decisland.task_054_complete": "Task Complete!", + "text.decisland.task_054_title": "Food order", + "text.decisland.task_055_body": "Hand in 27 cooked brain.Reward:273 exp.", + "text.decisland.task_055_complete": "Task Complete!", + "text.decisland.task_055_title": "Food order", + "text.decisland.task_056_body": "Hand in 4 sea urchin.Reward:751 exp.", + "text.decisland.task_056_complete": "Task Complete!", + "text.decisland.task_056_title": "Food order", + "text.decisland.task_057_body": "Hand in 3 shell.Reward:482 exp.", + "text.decisland.task_057_complete": "Task Complete!", + "text.decisland.task_057_title": "Food order", + "text.decisland.task_058_body": "Hand in 78 melon piece.Reward:754 exp.", + "text.decisland.task_058_complete": "Task Complete!", + "text.decisland.task_058_title": "Food order", + "text.decisland.task_059_body": "Hand in 64 fried melon seed.Reward:751 exp.", + "text.decisland.task_059_complete": "Task Complete!", + "text.decisland.task_059_title": "Food order", + "text.decisland.task_060_body": "Hand in 74 apple pie.Reward:1752 exp.", + "text.decisland.task_060_complete": "Task Complete!", + "text.decisland.task_060_title": "Food order", + "text.decisland.task_061_body": "Hand in 32 chocolate cookie.Reward:1342 exp.", + "text.decisland.task_061_complete": "Task Complete!", + "text.decisland.task_061_title": "Food order", + "text.decisland.task_062_body": "Hand in 18 fried egg.Reward:754 exp.", + "text.decisland.task_062_complete": "Task Complete!", + "text.decisland.task_062_title": "Food order", + "text.decisland.task_063_body": "Hand in 6 ender fish.Reward:571 exp.", + "text.decisland.task_063_complete": "Task Complete!", + "text.decisland.task_063_title": "Food order", + "text.decisland.task_064_body": "Hand in 16snailfish.Reward:751 exp.", + "text.decisland.task_064_complete": "Task Complete!", + "text.decisland.task_064_title": "Food order", + "text.decisland.task_065_body": "Hand in 7 spiral shell.Reward:1375 exp.", + "text.decisland.task_065_complete": "Task Complete!", + "text.decisland.task_065_title": "Food order", + "text.decisland.task_066_body": "Hand in 2 sword fish.Reward:1243 exp.", + "text.decisland.task_066_complete": "Task Complete!", + "text.decisland.task_066_title": "Food order", + "text.decisland.task_067_body": "Hand in 72 tropical fish.Reward:1375 exp.", + "text.decisland.task_067_complete": "Task Complete!", + "text.decisland.task_067_title": "Food order", + "text.decisland.task_068_body": "Hand in 76 tropical fish cooked.Reward:1471 exp.", + "text.decisland.task_068_complete": "Task Complete!", + "text.decisland.task_068_title": "Food order", + "text.decisland.task_069_body": "Hand in 75 candy.Reward:791 exp.", + "text.decisland.task_069_complete": "Task Complete!", + "text.decisland.task_069_title": "Food order", + "text.decisland.task_070_body": "Hand in 14 lollipop.Reward:1672 exp.", + "text.decisland.task_070_complete": "Task Complete!", + "text.decisland.task_070_title": "Food order", + "text.decisland.task_071_body": "Hand in 17 hard lollipop.Reward:1851 exp.", + "text.decisland.task_071_complete": "Task Complete!", + "text.decisland.task_071_title": "Food order", + "text.decisland.task_072_body": "Hand in 1 long bread.Reward:214 exp.", + "text.decisland.task_072_complete": "Task Complete!", + "text.decisland.task_072_title": "Food order", + "text.decisland.task_073_body": "Hand in 64 tofu.Reward:985 exp.", + "text.decisland.task_073_complete": "Task Complete!", + "text.decisland.task_073_title": "Food order", + "text.decisland.task_074_body": "Hand in 1 apple juice.Reward:276 exp.", + "text.decisland.task_074_complete": "Task Complete!", + "text.decisland.task_074_title": "Food order", + "text.decisland.task_075_body": "Hand in 6 crab leg.Reward:375 exp.", + "text.decisland.task_075_complete": "Task Complete!", + "text.decisland.task_075_title": "Food order", + "text.decisland.task_076_body": "Hand in 6 crab leg cooked.Reward:457 exp.", + "text.decisland.task_076_complete": "Task Complete!", + "text.decisland.task_076_title": "Food order", + "text.decisland.task_077_body": "Hand in 1 pine cone.Reward:384 exp.", + "text.decisland.task_077_complete": "Task Complete!", + "text.decisland.task_077_title": "Food order", + "text.decisland.task_078_body": "Hand in 15 artificial meat.Reward:572 exp.", + "text.decisland.task_078_complete": "Task Complete!", + "text.decisland.task_078_title": "Food order", + "text.decisland.task_079_body": "Hand in 1 nautilus alive.Reward:427 exp.", + "text.decisland.task_079_complete": "Task Complete!", + "text.decisland.task_079_title": "Food order", + "text.decisland.task_080_body": "Hand in 16 a piece of salmon.Reward:432 exp.", + "text.decisland.task_080_complete": "Task Complete!", + "text.decisland.task_080_title": "Food order", + "text.decisland.task_081_body": "Hand in 16 lamprey.Reward:1864 exp.", + "text.decisland.task_081_complete": "Task Complete!", + "text.decisland.task_081_title": "Food order", + "text.decisland.task_082_body": "Hand in 16 perch.Reward:675 exp.", + "text.decisland.task_082_complete": "Task Complete!", + "text.decisland.task_082_title": "Food order", + "text.decisland.task_083_body": "Hand in 17 perch cooked.Reward:791 exp.", + "text.decisland.task_083_complete": "Task Complete!", + "text.decisland.task_083_title": "Food order", + "text.decisland.task_084_body": "Hand in 1 blue jellyfish.Reward:754 exp.", + "text.decisland.task_084_complete": "Task Complete!", + "text.decisland.task_084_title": "Food order", + "text.decisland.task_085_body": "Hand in 1 pink jellyfish.Reward:473 exp.", + "text.decisland.task_085_complete": "Task Complete!", + "text.decisland.task_085_title": "Food order", + "text.decisland.task_086_body": "Hand in 1 yellow jellyfish.Reward:521 exp.", + "text.decisland.task_086_complete": "Task Complete!", + "text.decisland.task_086_title": "Food order", + "text.decisland.task_087_body": "Hand in 64 chocolate.Reward:1427 exp.", + "text.decisland.task_087_complete": "Task Complete!", + "text.decisland.task_087_title": "Food order", + "text.decisland.task_088_body": "Hand in 16 gingerbread man.Reward:1213 exp.", + "text.decisland.task_088_complete": "Task Complete!", + "text.decisland.task_088_title": "Food order", + "text.decisland.task_089_body": "Hand in 1 gingerbread sword.Reward:746 exp.", + "text.decisland.task_089_complete": "Task Complete!", + "text.decisland.task_089_title": "Food order", + "text.decisland.task_090_body": "Hand in 1 candy cane.Reward:754 exp.", + "text.decisland.task_090_complete": "Task Complete!", + "text.decisland.task_090_title": "Food order", + "text.decisland.task_091_body": "Hand in 1 gingerbread totem.Reward:781 exp.", + "text.decisland.task_091_complete": "Task Complete!", + "text.decisland.task_091_title": "Food order", + "text.decisland.task_092_body": "Hand in 15 sardine.Reward:542 exp.", + "text.decisland.task_092_complete": "Task Complete!", + "text.decisland.task_092_title": "Food order", + "text.decisland.task_093_body": "Hand in 81 cooked leek.Reward:1312 exp.", + "text.decisland.task_093_complete": "Task Complete!", + "text.decisland.task_093_title": "Food order", + "text.decisland.task_094_body": "Hand in 3 ice cream.Reward:572 exp.", + "text.decisland.task_094_complete": "Task Complete!", + "text.decisland.task_094_title": "Food order", + "text.decisland.task_095_body": "Hand in 1 magic ice cream.Reward:711 exp.", + "text.decisland.task_095_complete": "Task Complete!", + "text.decisland.task_095_title": "Food order", + "text.decisland.task_096_body": "Hand in 1 cooked potato.Reward:157 exp.", + "text.decisland.task_096_complete": "Task Complete!", + "text.decisland.task_096_title": "Food order", + "text.decisland.task_097_body": "Hand in 77 beetroot.Reward:1170 exp.", + "text.decisland.task_097_complete": "Task Complete!", + "text.decisland.task_097_title": "Food order", + "text.decisland.task_098_body": "Hand in 18 bread.Reward:312 exp.", + "text.decisland.task_098_complete": "Task Complete!", + "text.decisland.task_098_title": "Food order", + "text.decisland.task_099_body": "Hand in 1 cake.Reward:127 exp.", + "text.decisland.task_099_complete": "Task Complete!", + "text.decisland.task_099_title": "Food order", + "text.decisland.task_100_body": "Hand in 72 carrot.Reward:1210 exp.", + "text.decisland.task_100_complete": "Task Complete!", + "text.decisland.task_100_title": "Food order", + "text.decisland.task_101_body": "Hand in 251 chorus fruit.Reward:1241 exp.", + "text.decisland.task_101_complete": "Task Complete!", + "text.decisland.task_101_title": "Food order", + "text.decisland.task_102_body": "Hand in 73 cooked chicken.Reward:1512 exp.", + "text.decisland.task_102_complete": "Task Complete!", + "text.decisland.task_102_title": "Food order", + "text.decisland.task_103_body": "Hand in 72 cooked cod.Reward:1572 exp.", + "text.decisland.task_103_complete": "Task Complete!", + "text.decisland.task_103_title": "Food order", + "text.decisland.task_104_body": "Hand in 72 cooked mutton.Reward:1542 exp.", + "text.decisland.task_104_complete": "Task Complete!", + "text.decisland.task_104_title": "Food order", + "text.decisland.task_105_body": "Hand in 71 cooked porkchop.Reward:1531 exp.", + "text.decisland.task_105_complete": "Task Complete!", + "text.decisland.task_105_title": "Food order", + "text.decisland.task_106_body": "Hand in 31 cooked rabbit.Reward:741 exp.", + "text.decisland.task_106_complete": "Task Complete!", + "text.decisland.task_106_title": "Food order", + "text.decisland.task_107_body": "Hand in 214 cooked salmon.Reward:1513 exp.", + "text.decisland.task_107_complete": "Task Complete!", + "text.decisland.task_107_title": "Food order", + "text.decisland.task_108_body": "Hand in 71 cookie.Reward:774 exp.", + "text.decisland.task_108_complete": "Task Complete!", + "text.decisland.task_108_title": "Food order", + "text.decisland.task_109_body": "Hand in 81 dried kelp.Reward:794 exp.", + "text.decisland.task_109_complete": "Task Complete!", + "text.decisland.task_109_title": "Food order", + "text.decisland.task_110_body": "Hand in 21 pumpkin pie.Reward:721 exp.", + "text.decisland.task_110_complete": "Task Complete!", + "text.decisland.task_110_title": "Food order", + "text.decisland.task_111_body": "Hand in 417 sweet berries.Reward:711 exp.", + "text.decisland.task_111_complete": "Task Complete!", + "text.decisland.task_111_title": "Food order", + "text.decisland.task_112_body": "Hand in 423 glowing berries.Reward:320 exp.", + "text.decisland.task_112_complete": "Task Complete!", + "text.decisland.task_112_title": "Food order", + "text.decisland.task_113_body": "Player level reach 40.Reward:300 exp.", + "text.decisland.task_113_complete": "Task Complete!", + "text.decisland.task_113_title": "Harvest order from nether", + "text.decisland.task_114_body": "", + "text.decisland.task_114_complete": "Task Complete!", + "text.decisland.task_114_title": "", + "text.decisland.task_115_body": "", + "text.decisland.task_115_complete": "Task Complete!", + "text.decisland.task_115_title": "", + "text.decisland.task_116_body": "", + "text.decisland.task_116_complete": "Task Complete!", + "text.decisland.task_116_title": "", + "text.decisland.task_117_body": "", + "text.decisland.task_117_complete": "Task Complete!", + "text.decisland.task_117_title": "", + "text.decisland.task_118_body": "", + "text.decisland.task_118_complete": "Task Complete!", + "text.decisland.task_118_title": "", + "text.decisland.task_119_body": "", + "text.decisland.task_119_complete": "Task Complete!", + "text.decisland.task_119_title": "", + "text.decisland.task_120_body": "", + "text.decisland.task_120_complete": "Task Complete!", + "text.decisland.task_120_title": "", + "text.decisland.task_121_body": "", + "text.decisland.task_121_complete": "Task Complete!", + "text.decisland.task_121_title": "", + "text.decisland.task_122_body": "", + "text.decisland.task_122_complete": "Task Complete!", + "text.decisland.task_122_title": "", + "text.decisland.task_123_body": "", + "text.decisland.task_123_complete": "Task Complete!", + "text.decisland.task_123_title": "", + "text.decisland.task_124_body": "", + "text.decisland.task_124_complete": "Task Complete!", + "text.decisland.task_124_title": "", + "text.decisland.task_125_body": "", + "text.decisland.task_125_complete": "Task Complete!", + "text.decisland.task_125_title": "", + "text.decisland.task_126_body": "", + "text.decisland.task_126_complete": "Task Complete!", + "text.decisland.task_126_title": "", + "text.decisland.task_127_body": "", + "text.decisland.task_127_complete": "Task Complete!", + "text.decisland.task_127_title": "", + "text.decisland.task_128_body": "", + "text.decisland.task_128_complete": "Task Complete!", + "text.decisland.task_128_title": "", + "text.decisland.task_129_body": "", + "text.decisland.task_129_complete": "Task Complete!", + "text.decisland.task_129_title": "", + "text.decisland.task_130_body": "", + "text.decisland.task_130_complete": "Task Complete!", + "text.decisland.task_130_title": "", + "text.decisland.task_131_body": "", + "text.decisland.task_131_complete": "Task Complete!", + "text.decisland.task_131_title": "", + "text.decisland.task_132_body": "", + "text.decisland.task_132_complete": "Task Complete!", + "text.decisland.task_132_title": "", + "text.decisland.task_133_body": "", + "text.decisland.task_133_complete": "Task Complete!", + "text.decisland.task_133_title": "", + "text.decisland.task_134_body": "", + "text.decisland.task_134_complete": "Task Complete!", + "text.decisland.task_134_title": "", + "text.decisland.task_135_body": "", + "text.decisland.task_135_complete": "Task Complete!", + "text.decisland.task_135_title": "", + "text.decisland.task_136_body": "", + "text.decisland.task_136_complete": "Task Complete!", + "text.decisland.task_136_title": "", + "text.decisland.task_137_body": "", + "text.decisland.task_137_complete": "Task Complete!", + "text.decisland.task_137_title": "", + "text.decisland.task_138_body": "", + "text.decisland.task_138_complete": "Task Complete!", + "text.decisland.task_138_title": "", + "text.decisland.task_139_body": "", + "text.decisland.task_139_complete": "Task Complete!", + "text.decisland.task_139_title": "", + "text.decisland.task_140_body": "", + "text.decisland.task_140_complete": "Task Complete!", + "text.decisland.task_140_title": "", + "text.decisland.task_141_body": "", + "text.decisland.task_141_complete": "Task Complete!", + "text.decisland.task_141_title": "", + "text.decisland.task_142_body": "", + "text.decisland.task_142_complete": "Task Complete!", + "text.decisland.task_142_title": "", + "text.decisland.task_143_body": "", + "text.decisland.task_143_complete": "Task Complete!", + "text.decisland.task_143_title": "", + "text.decisland.task_144_body": "", + "text.decisland.task_144_complete": "Task Complete!", + "text.decisland.task_144_title": "", + "text.decisland.task_145_body": "", + "text.decisland.task_145_complete": "Task Complete!", + "text.decisland.task_145_title": "", + "text.decisland.task_146_body": "", + "text.decisland.task_146_complete": "Task Complete!", + "text.decisland.task_146_title": "", + "text.decisland.task_147_body": "", + "text.decisland.task_147_complete": "Task Complete!", + "text.decisland.task_147_title": "", + "text.decisland.task_148_body": "", + "text.decisland.task_148_complete": "Task Complete!", + "text.decisland.task_148_title": "", + "text.decisland.task_149_body": "", + "text.decisland.task_149_complete": "Task Complete!", + "text.decisland.task_149_title": "", + "text.decisland.task_150_body": "", + "text.decisland.task_150_complete": "Task Complete!", + "text.decisland.task_150_title": "", + "text.decisland.task_151_body": "", + "text.decisland.task_151_complete": "Task Complete!", + "text.decisland.task_151_title": "", + "text.decisland.task_152_body": "", + "text.decisland.task_152_complete": "Task Complete!", + "text.decisland.task_152_title": "", + "text.decisland.task_153_body": "", + "text.decisland.task_153_complete": "Task Complete!", + "text.decisland.task_153_title": "", + "text.decisland.task_154_body": "", + "text.decisland.task_154_complete": "Task Complete!", + "text.decisland.task_154_title": "", + "text.decisland.task_155_body": "", + "text.decisland.task_155_complete": "Task Complete!", + "text.decisland.task_155_title": "", + "text.decisland.task_156_body": "", + "text.decisland.task_156_complete": "Task Complete!", + "text.decisland.task_156_title": "", + "text.decisland.task_157_body": "", + "text.decisland.task_157_complete": "Task Complete!", + "text.decisland.task_157_title": "", + "text.decisland.task_158_body": "", + "text.decisland.task_158_complete": "Task Complete!", + "text.decisland.task_158_title": "", + "text.decisland.task_159_body": "", + "text.decisland.task_159_complete": "Task Complete!", + "text.decisland.task_159_title": "", + "text.decisland.task_160_body": "", + "text.decisland.task_160_complete": "Task Complete!", + "text.decisland.task_160_title": "", + "text.decisland.task_161_body": "", + "text.decisland.task_161_complete": "Task Complete!", + "text.decisland.task_161_title": "", + "text.decisland.task_162_body": "", + "text.decisland.task_162_complete": "Task Complete!", + "text.decisland.task_162_title": "", + "text.decisland.task_163_body": "", + "text.decisland.task_163_complete": "Task Complete!", + "text.decisland.task_163_title": "", + "text.decisland.task_164_body": "", + "text.decisland.task_164_complete": "Task Complete!", + "text.decisland.task_164_title": "", + "text.decisland.task_165_body": "", + "text.decisland.task_165_complete": "Task Complete!", + "text.decisland.task_165_title": "", + "text.decisland.task_166_body": "", + "text.decisland.task_166_complete": "Task Complete!", + "text.decisland.task_166_title": "", + "text.decisland.task_167_body": "", + "text.decisland.task_167_complete": "Task Complete!", + "text.decisland.task_167_title": "", + "text.decisland.task_168_body": "", + "text.decisland.task_168_complete": "Task Complete!", + "text.decisland.task_168_title": "", + "text.decisland.task_169_body": "", + "text.decisland.task_169_complete": "Task Complete!", + "text.decisland.task_169_title": "", + "text.decisland.task_170_body": "", + "text.decisland.task_170_complete": "Task Complete!", + "text.decisland.task_170_title": "", + "text.decisland.task_171_body": "", + "text.decisland.task_171_complete": "Task Complete!", + "text.decisland.task_171_title": "", + "text.decisland.task_172_body": "", + "text.decisland.task_172_complete": "Task Complete!", + "text.decisland.task_172_title": "", + "text.decisland.task_173_body": "", + "text.decisland.task_173_complete": "Task Complete!", + "text.decisland.task_173_title": "", + "text.decisland.task_174_body": "", + "text.decisland.task_174_complete": "Task Complete!", + "text.decisland.task_174_title": "", + "text.decisland.task_175_body": "", + "text.decisland.task_175_complete": "Task Complete!", + "text.decisland.task_175_title": "", + "text.decisland.task_176_body": "", + "text.decisland.task_176_complete": "Task Complete!", + "text.decisland.task_176_title": "", + "text.decisland.task_177_body": "", + "text.decisland.task_177_complete": "Task Complete!", + "text.decisland.task_177_title": "", + "text.decisland.task_178_body": "", + "text.decisland.task_178_complete": "Task Complete!", + "text.decisland.task_178_title": "", + "text.decisland.task_179_body": "", + "text.decisland.task_179_complete": "Task Complete!", + "text.decisland.task_179_title": "", + "text.decisland.task_180_body": "", + "text.decisland.task_180_complete": "Task Complete!", + "text.decisland.task_180_title": "", + "text.decisland.task_181_body": "", + "text.decisland.task_181_complete": "Task Complete!", + "text.decisland.task_181_title": "", + "text.decisland.task_182_body": "", + "text.decisland.task_182_complete": "Task Complete!", + "text.decisland.task_182_title": "", + "text.decisland.task_183_body": "", + "text.decisland.task_183_complete": "Task Complete!", + "text.decisland.task_183_title": "", + "text.decisland.task_184_body": "", + "text.decisland.task_184_complete": "Task Complete!", + "text.decisland.task_184_title": "", + "text.decisland.task_185_body": "", + "text.decisland.task_185_complete": "Task Complete!", + "text.decisland.task_185_title": "", + "text.decisland.task_186_body": "", + "text.decisland.task_186_complete": "Task Complete!", + "text.decisland.task_186_title": "", + "text.decisland.task_187_body": "", + "text.decisland.task_187_complete": "Task Complete!", + "text.decisland.task_187_title": "", + "text.decisland.task_188_body": "", + "text.decisland.task_188_complete": "Task Complete!", + "text.decisland.task_188_title": "", + "text.decisland.task_189_body": "", + "text.decisland.task_189_complete": "Task Complete!", + "text.decisland.task_189_title": "", + "text.decisland.task_190_body": "", + "text.decisland.task_190_complete": "Task Complete!", + "text.decisland.task_190_title": "", + "text.decisland.task_191_body": "", + "text.decisland.task_191_complete": "Task Complete!", + "text.decisland.task_191_title": "", + "text.decisland.task_192_body": "", + "text.decisland.task_192_complete": "Task Complete!", + "text.decisland.task_192_title": "", + "text.decisland.task_193_body": "", + "text.decisland.task_193_complete": "Task Complete!", + "text.decisland.task_193_title": "", + "text.decisland.task_194_body": "", + "text.decisland.task_194_complete": "Task Complete!", + "text.decisland.task_194_title": "", + "text.decisland.task_195_body": "", + "text.decisland.task_195_complete": "Task Complete!", + "text.decisland.task_195_title": "", + "text.decisland.task_196_body": "", + "text.decisland.task_196_complete": "Task Complete!", + "text.decisland.task_196_title": "", + "text.decisland.task_197_body": "", + "text.decisland.task_197_complete": "Task Complete!", + "text.decisland.task_197_title": "", + "text.decisland.task_198_body": "", + "text.decisland.task_198_complete": "Task Complete!", + "text.decisland.task_198_title": "", + "text.decisland.task_199_body": "", + "text.decisland.task_199_complete": "Task Complete!", + "text.decisland.task_199_title": "", + "text.decisland.task_200_body": "", + "text.decisland.task_200_complete": "Task Complete!", + "text.decisland.task_200_title": "", + "text.decisland.task_201_body": "", + "text.decisland.task_201_complete": "Task Complete!", + "text.decisland.task_201_title": "", + "text.decisland.task_202_body": "", + "text.decisland.task_202_complete": "Task Complete!", + "text.decisland.task_202_title": "", + "text.decisland.task_203_body": "", + "text.decisland.task_203_complete": "Task Complete!", + "text.decisland.task_203_title": "", + "text.decisland.task_204_body": "", + "text.decisland.task_204_complete": "Task Complete!", + "text.decisland.task_204_title": "", + "text.decisland.task_205_body": "", + "text.decisland.task_205_complete": "Task Complete!", + "text.decisland.task_205_title": "", + "text.decisland.task_206_body": "", + "text.decisland.task_206_complete": "Task Complete!", + "text.decisland.task_206_title": "", + "text.decisland.task_207_body": "", + "text.decisland.task_207_complete": "Task Complete!", + "text.decisland.task_207_title": "", + "text.decisland.task_208_body": "", + "text.decisland.task_208_complete": "Task Complete!", + "text.decisland.task_208_title": "", + "text.decisland.task_209_body": "", + "text.decisland.task_209_complete": "Task Complete!", + "text.decisland.task_209_title": "", + "text.decisland.task_210_body": "", + "text.decisland.task_210_complete": "Task Complete!", + "text.decisland.task_210_title": "", + "text.decisland.task_211_body": "", + "text.decisland.task_211_complete": "Task Complete!", + "text.decisland.task_211_title": "", + "text.decisland.task_212_body": "", + "text.decisland.task_212_complete": "Task Complete!", + "text.decisland.task_212_title": "", + "text.decisland.task_213_body": "", + "text.decisland.task_213_complete": "Task Complete!", + "text.decisland.task_213_title": "", + "text.decisland.task_214_body": "", + "text.decisland.task_214_complete": "Task Complete!", + "text.decisland.task_214_title": "", + "text.decisland.task_215_body": "", + "text.decisland.task_215_complete": "Task Complete!", + "text.decisland.task_215_title": "", + "text.decisland.task_216_body": "", + "text.decisland.task_216_complete": "Task Complete!", + "text.decisland.task_216_title": "", + "text.decisland.task_217_body": "", + "text.decisland.task_217_complete": "Task Complete!", + "text.decisland.task_217_title": "", + "text.decisland.task_218_body": "", + "text.decisland.task_218_complete": "Task Complete!", + "text.decisland.task_218_title": "", + "text.decisland.task_219_body": "", + "text.decisland.task_219_complete": "Task Complete!", + "text.decisland.task_219_title": "", + "text.decisland.task_220_body": "", + "text.decisland.task_220_complete": "Task Complete!", + "text.decisland.task_220_title": "", + "text.decisland.task_221_body": "", + "text.decisland.task_221_complete": "Task Complete!", + "text.decisland.task_221_title": "", + "text.decisland.task_222_body": "", + "text.decisland.task_222_complete": "Task Complete!", + "text.decisland.task_222_title": "", + "text.decisland.task_223_body": "", + "text.decisland.task_223_complete": "Task Complete!", + "text.decisland.task_223_title": "", + "text.decisland.task_224_body": "", + "text.decisland.task_224_complete": "Task Complete!", + "text.decisland.task_224_title": "", + "text.decisland.task_225_body": "", + "text.decisland.task_225_complete": "Task Complete!", + "text.decisland.task_225_title": "", + "text.decisland.task_226_body": "", + "text.decisland.task_226_complete": "Task Complete!", + "text.decisland.task_226_title": "", + "text.decisland.task_227_body": "", + "text.decisland.task_227_complete": "Task Complete!", + "text.decisland.task_227_title": "", + "text.decisland.task_228_body": "", + "text.decisland.task_228_complete": "Task Complete!", + "text.decisland.task_228_title": "", + "text.decisland.task_229_body": "", + "text.decisland.task_229_complete": "Task Complete!", + "text.decisland.task_229_title": "", + "text.decisland.task_230_body": "", + "text.decisland.task_230_complete": "Task Complete!", + "text.decisland.task_230_title": "", + "text.decisland.task_231_body": "", + "text.decisland.task_231_complete": "Task Complete!", + "text.decisland.task_231_title": "", + "text.decisland.task_232_body": "", + "text.decisland.task_232_complete": "Task Complete!", + "text.decisland.task_232_title": "", + "text.decisland.task_233_body": "", + "text.decisland.task_233_complete": "Task Complete!", + "text.decisland.task_233_title": "", + "text.decisland.task_234_body": "", + "text.decisland.task_234_complete": "Task Complete!", + "text.decisland.task_234_title": "", + "text.decisland.task_235_body": "", + "text.decisland.task_235_complete": "Task Complete!", + "text.decisland.task_235_title": "", + "text.decisland.task_236_body": "", + "text.decisland.task_236_complete": "Task Complete!", + "text.decisland.task_236_title": "", + "text.decisland.task_237_body": "", + "text.decisland.task_237_complete": "Task Complete!", + "text.decisland.task_237_title": "", + "text.decisland.task_238_body": "", + "text.decisland.task_238_complete": "Task Complete!", + "text.decisland.task_238_title": "", + "text.decisland.task_239_body": "", + "text.decisland.task_239_complete": "Task Complete!", + "text.decisland.task_239_title": "", + "text.decisland.task_240_body": "", + "text.decisland.task_240_complete": "Task Complete!", + "text.decisland.task_240_title": "", + "text.decisland.task_241_body": "", + "text.decisland.task_241_complete": "Task Complete!", + "text.decisland.task_241_title": "", + "text.decisland.task_242_body": "", + "text.decisland.task_242_complete": "Task Complete!", + "text.decisland.task_242_title": "", + "text.decisland.task_243_body": "", + "text.decisland.task_243_complete": "Task Complete!", + "text.decisland.task_243_title": "", + "text.decisland.task_244_body": "", + "text.decisland.task_244_complete": "Task Complete!", + "text.decisland.task_244_title": "", + "text.decisland.task_245_body": "", + "text.decisland.task_245_complete": "Task Complete!", + "text.decisland.task_245_title": "", + "text.decisland.task_246_body": "", + "text.decisland.task_246_complete": "Task Complete!", + "text.decisland.task_246_title": "", + "text.decisland.task_247_body": "", + "text.decisland.task_247_complete": "Task Complete!", + "text.decisland.task_247_title": "", + "text.decisland.task_248_body": "", + "text.decisland.task_248_complete": "Task Complete!", + "text.decisland.task_248_title": "", + "text.decisland.task_249_body": "", + "text.decisland.task_249_complete": "Task Complete!", + "text.decisland.task_249_title": "", + "text.decisland.task_250_body": "", + "text.decisland.task_250_complete": "Task Complete!", + "text.decisland.task_250_title": "", + "text.decisland.task_251_body": "", + "text.decisland.task_251_complete": "Task Complete!", + "text.decisland.task_251_title": "", + "text.decisland.task_252_body": "", + "text.decisland.task_252_complete": "Task Complete!", + "text.decisland.task_252_title": "", + "text.decisland.task_253_body": "", + "text.decisland.task_253_complete": "Task Complete!", + "text.decisland.task_253_title": "", + "text.decisland.task_254_body": "", + "text.decisland.task_254_complete": "Task Complete!", + "text.decisland.task_254_title": "", + "text.decisland.task_255_body": "", + "text.decisland.task_255_complete": "Task Complete!", + "text.decisland.task_255_title": "", + "text.decisland.task_256_body": "", + "text.decisland.task_256_complete": "Task Complete!", + "text.decisland.task_256_title": "", + "text.decisland.task_257_body": "", + "text.decisland.task_257_complete": "Task Complete!", + "text.decisland.task_257_title": "", + "text.decisland.task_258_body": "", + "text.decisland.task_258_complete": "Task Complete!", + "text.decisland.task_258_title": "", + "text.decisland.task_259_body": "", + "text.decisland.task_259_complete": "Task Complete!", + "text.decisland.task_259_title": "", + "text.decisland.task_260_body": "", + "text.decisland.task_260_complete": "Task Complete!", + "text.decisland.task_260_title": "", + "text.decisland.task_261_body": "", + "text.decisland.task_261_complete": "Task Complete!", + "text.decisland.task_261_title": "", + "text.decisland.task_262_body": "", + "text.decisland.task_262_complete": "Task Complete!", + "text.decisland.task_262_title": "", + "text.decisland.task_263_body": "", + "text.decisland.task_263_complete": "Task Complete!", + "text.decisland.task_263_title": "", + "text.decisland.task_264_body": "", + "text.decisland.task_264_complete": "Task Complete!", + "text.decisland.task_264_title": "", + "text.decisland.task_265_body": "", + "text.decisland.task_265_complete": "Task Complete!", + "text.decisland.task_265_title": "", + "text.decisland.task_266_body": "", + "text.decisland.task_266_complete": "Task Complete!", + "text.decisland.task_266_title": "", + "text.decisland.task_267_body": "", + "text.decisland.task_267_complete": "Task Complete!", + "text.decisland.task_267_title": "", + "text.decisland.task_268_body": "", + "text.decisland.task_268_complete": "Task Complete!", + "text.decisland.task_268_title": "", + "text.decisland.task_269_body": "", + "text.decisland.task_269_complete": "Task Complete!", + "text.decisland.task_269_title": "", + "text.decisland.task_270_body": "", + "text.decisland.task_270_complete": "Task Complete!", + "text.decisland.task_270_title": "", + "text.decisland.task_271_body": "", + "text.decisland.task_271_complete": "Task Complete!", + "text.decisland.task_271_title": "", + "text.decisland.task_272_body": "", + "text.decisland.task_272_complete": "Task Complete!", + "text.decisland.task_272_title": "", + "text.decisland.task_273_body": "", + "text.decisland.task_273_complete": "Task Complete!", + "text.decisland.task_273_title": "", + "text.decisland.task_274_body": "", + "text.decisland.task_274_complete": "Task Complete!", + "text.decisland.task_274_title": "", + "text.decisland.task_275_body": "", + "text.decisland.task_275_complete": "Task Complete!", + "text.decisland.task_275_title": "", + "text.decisland.task_276_body": "", + "text.decisland.task_276_complete": "Task Complete!", + "text.decisland.task_276_title": "", + "text.decisland.task_277_body": "", + "text.decisland.task_277_complete": "Task Complete!", + "text.decisland.task_277_title": "", + "text.decisland.task_278_body": "", + "text.decisland.task_278_complete": "Task Complete!", + "text.decisland.task_278_title": "", + "text.decisland.task_279_body": "", + "text.decisland.task_279_complete": "Task Complete!", + "text.decisland.task_279_title": "", + "text.decisland.task_280_body": "", + "text.decisland.task_280_complete": "Task Complete!", + "text.decisland.task_280_title": "", + "text.decisland.task_281_body": "", + "text.decisland.task_281_complete": "Task Complete!", + "text.decisland.task_281_title": "", + "text.decisland.task_282_body": "", + "text.decisland.task_282_complete": "Task Complete!", + "text.decisland.task_282_title": "", + "text.decisland.task_283_body": "", + "text.decisland.task_283_complete": "Task Complete!", + "text.decisland.task_283_title": "", + "text.decisland.task_284_body": "", + "text.decisland.task_284_complete": "Task Complete!", + "text.decisland.task_284_title": "", + "text.decisland.task_285_body": "", + "text.decisland.task_285_complete": "Task Complete!", + "text.decisland.task_285_title": "", + "text.decisland.task_286_body": "", + "text.decisland.task_286_complete": "Task Complete!", + "text.decisland.task_286_title": "", + "text.decisland.task_287_body": "", + "text.decisland.task_287_complete": "Task Complete!", + "text.decisland.task_287_title": "", + "text.decisland.task_288_body": "", + "text.decisland.task_288_complete": "Task Complete!", + "text.decisland.task_288_title": "", + "text.decisland.task_289_body": "", + "text.decisland.task_289_complete": "Task Complete!", + "text.decisland.task_289_title": "", + "text.decisland.task_290_body": "", + "text.decisland.task_290_complete": "Task Complete!", + "text.decisland.task_290_title": "", + "text.decisland.task_291_body": "", + "text.decisland.task_291_complete": "Task Complete!", + "text.decisland.task_291_title": "", + "text.decisland.task_292_body": "", + "text.decisland.task_292_complete": "Task Complete!", + "text.decisland.task_292_title": "", + "text.decisland.task_293_body": "", + "text.decisland.task_293_complete": "Task Complete!", + "text.decisland.task_293_title": "", + "text.decisland.task_294_body": "", + "text.decisland.task_294_complete": "Task Complete!", + "text.decisland.task_294_title": "", + "text.decisland.task_295_body": "", + "text.decisland.task_295_complete": "Task Complete!", + "text.decisland.task_295_title": "", + "text.decisland.task_296_body": "", + "text.decisland.task_296_complete": "Task Complete!", + "text.decisland.task_296_title": "", + "text.decisland.task_297_body": "", + "text.decisland.task_297_complete": "Task Complete!", + "text.decisland.task_297_title": "", + "text.decisland.task_298_body": "", + "text.decisland.task_298_complete": "Task Complete!", + "text.decisland.task_298_title": "", + "text.decisland.task_299_body": "", + "text.decisland.task_299_complete": "Task Complete!", + "text.decisland.task_299_title": "", + "text.decisland.task_300_body": "", + "text.decisland.task_300_complete": "Task Complete!", + "text.decisland.task_300_title": "", + "text.decisland.task_301_body": "", + "text.decisland.task_301_complete": "Task Complete!", + "text.decisland.task_301_title": "", + "text.decisland.task_302_body": "", + "text.decisland.task_302_complete": "Task Complete!", + "text.decisland.task_302_title": "", + "text.decisland.task_303_body": "", + "text.decisland.task_303_complete": "Task Complete!", + "text.decisland.task_303_title": "", + "text.decisland.task_304_body": "", + "text.decisland.task_304_complete": "Task Complete!", + "text.decisland.task_304_title": "", + "text.decisland.task_305_body": "", + "text.decisland.task_305_complete": "Task Complete!", + "text.decisland.task_305_title": "", + "text.decisland.task_306_body": "", + "text.decisland.task_306_complete": "Task Complete!", + "text.decisland.task_306_title": "", + "text.decisland.task_307_body": "", + "text.decisland.task_307_complete": "Task Complete!", + "text.decisland.task_307_title": "", + "text.decisland.task_308_body": "", + "text.decisland.task_308_complete": "Task Complete!", + "text.decisland.task_308_title": "", + "text.decisland.task_309_body": "", + "text.decisland.task_309_complete": "Task Complete!", + "text.decisland.task_309_title": "", + "text.decisland.task_310_body": "", + "text.decisland.task_310_complete": "Task Complete!", + "text.decisland.task_310_title": "", + "text.decisland.task_311_body": "", + "text.decisland.task_311_complete": "Task Complete!", + "text.decisland.task_311_title": "", + "text.decisland.task_312_body": "", + "text.decisland.task_312_complete": "Task Complete!", + "text.decisland.task_312_title": "", + "text.decisland.task_313_body": "", + "text.decisland.task_313_complete": "Task Complete!", + "text.decisland.task_313_title": "", + "text.decisland.task_314_body": "", + "text.decisland.task_314_complete": "Task Complete!", + "text.decisland.task_314_title": "", + "text.decisland.task_315_body": "", + "text.decisland.task_315_complete": "Task Complete!", + "text.decisland.task_315_title": "", + "text.decisland.task_316_body": "", + "text.decisland.task_316_complete": "Task Complete!", + "text.decisland.task_316_title": "", + "text.decisland.task_317_body": "", + "text.decisland.task_317_complete": "Task Complete!", + "text.decisland.task_317_title": "", + "text.decisland.task_318_body": "", + "text.decisland.task_318_complete": "Task Complete!", + "text.decisland.task_318_title": "", + "text.decisland.task_319_body": "", + "text.decisland.task_319_complete": "Task Complete!", + "text.decisland.task_319_title": "", + "text.decisland.task_320_body": "", + "text.decisland.task_320_complete": "Task Complete!", + "text.decisland.task_320_title": "", + "text.decisland.task_321_body": "", + "text.decisland.task_321_complete": "Task Complete!", + "text.decisland.task_321_title": "", + "text.decisland.task_322_body": "", + "text.decisland.task_322_complete": "Task Complete!", + "text.decisland.task_322_title": "", + "text.decisland.task_323_body": "", + "text.decisland.task_323_complete": "Task Complete!", + "text.decisland.task_323_title": "", + "text.decisland.task_324_body": "", + "text.decisland.task_324_complete": "Task Complete!", + "text.decisland.task_324_title": "", + "text.decisland.task_325_body": "", + "text.decisland.task_325_complete": "Task Complete!", + "text.decisland.task_325_title": "", + "text.decisland.task_326_body": "", + "text.decisland.task_326_complete": "Task Complete!", + "text.decisland.task_326_title": "", + "text.decisland.task_327_body": "", + "text.decisland.task_327_complete": "Task Complete!", + "text.decisland.task_327_title": "", + "text.decisland.task_328_body": "", + "text.decisland.task_328_complete": "Task Complete!", + "text.decisland.task_328_title": "", + "text.decisland.task_329_body": "", + "text.decisland.task_329_complete": "Task Complete!", + "text.decisland.task_329_title": "", + "text.decisland.task_330_body": "", + "text.decisland.task_330_complete": "Task Complete!", + "text.decisland.task_330_title": "", + "text.decisland.task_331_body": "", + "text.decisland.task_331_complete": "Task Complete!", + "text.decisland.task_331_title": "", + "text.decisland.task_332_body": "", + "text.decisland.task_332_complete": "Task Complete!", + "text.decisland.task_332_title": "", + "text.decisland.task_333_body": "", + "text.decisland.task_333_complete": "Task Complete!", + "text.decisland.task_333_title": "", + "text.decisland.task_334_body": "", + "text.decisland.task_334_complete": "Task Complete!", + "text.decisland.task_334_title": "", + "text.decisland.task_335_body": "", + "text.decisland.task_335_complete": "Task Complete!", + "text.decisland.task_335_title": "", + "text.decisland.task_336_body": "", + "text.decisland.task_336_complete": "Task Complete!", + "text.decisland.task_336_title": "", + "text.decisland.task_337_body": "", + "text.decisland.task_337_complete": "Task Complete!", + "text.decisland.task_337_title": "", + "text.decisland.task_338_body": "", + "text.decisland.task_338_complete": "Task Complete!", + "text.decisland.task_338_title": "", + "text.decisland.task_339_body": "", + "text.decisland.task_339_complete": "Task Complete!", + "text.decisland.task_339_title": "", + "text.decisland.task_340_body": "", + "text.decisland.task_340_complete": "Task Complete!", + "text.decisland.task_340_title": "", + "text.decisland.task_341_body": "", + "text.decisland.task_341_complete": "Task Complete!", + "text.decisland.task_341_title": "", + "text.decisland.task_342_body": "", + "text.decisland.task_342_complete": "Task Complete!", + "text.decisland.task_342_title": "", + "text.decisland.task_343_body": "", + "text.decisland.task_343_complete": "Task Complete!", + "text.decisland.task_343_title": "", + "text.decisland.task_344_body": "", + "text.decisland.task_344_complete": "Task Complete!", + "text.decisland.task_344_title": "", + "text.decisland.task_345_body": "", + "text.decisland.task_345_complete": "Task Complete!", + "text.decisland.task_345_title": "", + "text.decisland.task_346_body": "", + "text.decisland.task_346_complete": "Task Complete!", + "text.decisland.task_346_title": "", + "text.decisland.task_347_body": "", + "text.decisland.task_347_complete": "Task Complete!", + "text.decisland.task_347_title": "", + "text.decisland.task_348_body": "", + "text.decisland.task_348_complete": "Task Complete!", + "text.decisland.task_348_title": "", + "text.decisland.task_349_body": "", + "text.decisland.task_349_complete": "Task Complete!", + "text.decisland.task_349_title": "", + "text.decisland.task_350_body": "", + "text.decisland.task_350_complete": "Task Complete!", + "text.decisland.task_350_title": "", + "text.decisland.task_351_body": "", + "text.decisland.task_351_complete": "Task Complete!", + "text.decisland.task_351_title": "", + "text.decisland.task_352_body": "", + "text.decisland.task_352_complete": "Task Complete!", + "text.decisland.task_352_title": "", + "text.decisland.task_353_body": "", + "text.decisland.task_353_complete": "Task Complete!", + "text.decisland.task_353_title": "", + "text.decisland.task_354_body": "", + "text.decisland.task_354_complete": "Task Complete!", + "text.decisland.task_354_title": "", + "text.decisland.task_355_body": "", + "text.decisland.task_355_complete": "Task Complete!", + "text.decisland.task_355_title": "", + "text.decisland.task_356_body": "", + "text.decisland.task_356_complete": "Task Complete!", + "text.decisland.task_356_title": "", + "text.decisland.task_357_body": "", + "text.decisland.task_357_complete": "Task Complete!", + "text.decisland.task_357_title": "", + "text.decisland.task_358_body": "", + "text.decisland.task_358_complete": "Task Complete!", + "text.decisland.task_358_title": "", + "text.decisland.task_359_body": "", + "text.decisland.task_359_complete": "Task Complete!", + "text.decisland.task_359_title": "", + "text.decisland.task_360_body": "", + "text.decisland.task_360_complete": "Task Complete!", + "text.decisland.task_360_title": "", + "text.decisland.task_361_body": "", + "text.decisland.task_361_complete": "Task Complete!", + "text.decisland.task_361_title": "", + "text.decisland.task_362_body": "", + "text.decisland.task_362_complete": "Task Complete!", + "text.decisland.task_362_title": "", + "text.decisland.task_363_body": "", + "text.decisland.task_363_complete": "Task Complete!", + "text.decisland.task_363_title": "", + "text.decisland.task_364_body": "", + "text.decisland.task_364_complete": "Task Complete!", + "text.decisland.task_364_title": "", + "text.decisland.task_365_body": "", + "text.decisland.task_365_complete": "Task Complete!", + "text.decisland.task_365_title": "", + "text.decisland.task_366_body": "", + "text.decisland.task_366_complete": "Task Complete!", + "text.decisland.task_366_title": "", + "text.decisland.task_367_body": "", + "text.decisland.task_367_complete": "Task Complete!", + "text.decisland.task_367_title": "", + "text.decisland.task_368_body": "", + "text.decisland.task_368_complete": "Task Complete!", + "text.decisland.task_368_title": "", + "text.decisland.task_369_body": "", + "text.decisland.task_369_complete": "Task Complete!", + "text.decisland.task_369_title": "", + "text.decisland.task_370_body": "", + "text.decisland.task_370_complete": "Task Complete!", + "text.decisland.task_370_title": "", + "text.decisland.task_371_body": "", + "text.decisland.task_371_complete": "Task Complete!", + "text.decisland.task_371_title": "", + "text.decisland.task_372_body": "", + "text.decisland.task_372_complete": "Task Complete!", + "text.decisland.task_372_title": "", + "text.decisland.task_373_body": "", + "text.decisland.task_373_complete": "Task Complete!", + "text.decisland.task_373_title": "", + "text.decisland.task_374_body": "", + "text.decisland.task_374_complete": "Task Complete!", + "text.decisland.task_374_title": "", + "text.decisland.task_375_body": "", + "text.decisland.task_375_complete": "Task Complete!", + "text.decisland.task_375_title": "", + "text.decisland.task_376_body": "", + "text.decisland.task_376_complete": "Task Complete!", + "text.decisland.task_376_title": "", + "text.decisland.task_377_body": "", + "text.decisland.task_377_complete": "Task Complete!", + "text.decisland.task_377_title": "", + "text.decisland.task_378_body": "", + "text.decisland.task_378_complete": "Task Complete!", + "text.decisland.task_378_title": "", + "text.decisland.task_379_body": "", + "text.decisland.task_379_complete": "Task Complete!", + "text.decisland.task_379_title": "", + "text.decisland.task_380_body": "", + "text.decisland.task_380_complete": "Task Complete!", + "text.decisland.task_380_title": "", + "text.decisland.task_381_body": "", + "text.decisland.task_381_complete": "Task Complete!", + "text.decisland.task_381_title": "", + "text.decisland.task_382_body": "", + "text.decisland.task_382_complete": "Task Complete!", + "text.decisland.task_382_title": "", + "text.decisland.task_383_body": "", + "text.decisland.task_383_complete": "Task Complete!", + "text.decisland.task_383_title": "", + "text.decisland.task_384_body": "", + "text.decisland.task_384_complete": "Task Complete!", + "text.decisland.task_384_title": "", + "text.decisland.task_385_body": "", + "text.decisland.task_385_complete": "Task Complete!", + "text.decisland.task_385_title": "", + "text.decisland.task_386_body": "", + "text.decisland.task_386_complete": "Task Complete!", + "text.decisland.task_386_title": "", + "text.decisland.task_387_body": "", + "text.decisland.task_387_complete": "Task Complete!", + "text.decisland.task_387_title": "", + "text.decisland.task_388_body": "", + "text.decisland.task_388_complete": "Task Complete!", + "text.decisland.task_388_title": "", + "text.decisland.task_389_body": "", + "text.decisland.task_389_complete": "Task Complete!", + "text.decisland.task_389_title": "", + "text.decisland.task_390_body": "", + "text.decisland.task_390_complete": "Task Complete!", + "text.decisland.task_390_title": "", + "text.decisland.task_391_body": "", + "text.decisland.task_391_complete": "Task Complete!", + "text.decisland.task_391_title": "", + "text.decisland.task_392_body": "", + "text.decisland.task_392_complete": "Task Complete!", + "text.decisland.task_392_title": "", + "text.decisland.task_393_body": "", + "text.decisland.task_393_complete": "Task Complete!", + "text.decisland.task_393_title": "", + "text.decisland.task_394_body": "", + "text.decisland.task_394_complete": "Task Complete!", + "text.decisland.task_394_title": "", + "text.decisland.task_395_body": "", + "text.decisland.task_395_complete": "Task Complete!", + "text.decisland.task_395_title": "", + "text.decisland.task_396_body": "", + "text.decisland.task_396_complete": "Task Complete!", + "text.decisland.task_396_title": "", + "text.decisland.task_397_body": "", + "text.decisland.task_397_complete": "Task Complete!", + "text.decisland.task_397_title": "", + "text.decisland.task_398_body": "", + "text.decisland.task_398_complete": "Task Complete!", + "text.decisland.task_398_title": "", + "text.decisland.task_399_body": "", + "text.decisland.task_399_complete": "Task Complete!", + "text.decisland.task_399_title": "", + "text.decisland.task_400_body": "", + "text.decisland.task_400_complete": "Task Complete!", + "text.decisland.task_400_title": "", + "text.decisland.task_401_body": "", + "text.decisland.task_401_complete": "Task Complete!", + "text.decisland.task_401_title": "", + "text.decisland.task_402_body": "", + "text.decisland.task_402_complete": "Task Complete!", + "text.decisland.task_402_title": "", + "text.decisland.task_403_body": "", + "text.decisland.task_403_complete": "Task Complete!", + "text.decisland.task_403_title": "", + "text.decisland.task_404_body": "", + "text.decisland.task_404_complete": "Task Complete!", + "text.decisland.task_404_title": "", + "text.decisland.task_405_body": "", + "text.decisland.task_405_complete": "Task Complete!", + "text.decisland.task_405_title": "", + "text.decisland.task_406_body": "", + "text.decisland.task_406_complete": "Task Complete!", + "text.decisland.task_406_title": "", + "text.decisland.task_407_body": "", + "text.decisland.task_407_complete": "Task Complete!", + "text.decisland.task_407_title": "", + "text.decisland.task_408_body": "", + "text.decisland.task_408_complete": "Task Complete!", + "text.decisland.task_408_title": "", + "text.decisland.task_409_body": "", + "text.decisland.task_409_complete": "Task Complete!", + "text.decisland.task_409_title": "", + "text.decisland.task_410_body": "", + "text.decisland.task_410_complete": "Task Complete!", + "text.decisland.task_410_title": "", + "text.decisland.task_411_body": "", + "text.decisland.task_411_complete": "Task Complete!", + "text.decisland.task_411_title": "", + "text.decisland.task_412_body": "", + "text.decisland.task_412_complete": "Task Complete!", + "text.decisland.task_412_title": "", + "text.decisland.task_413_body": "", + "text.decisland.task_413_complete": "Task Complete!", + "text.decisland.task_413_title": "", + "text.decisland.task_414_body": "", + "text.decisland.task_414_complete": "Task Complete!", + "text.decisland.task_414_title": "", + "text.decisland.task_415_body": "", + "text.decisland.task_415_complete": "Task Complete!", + "text.decisland.task_415_title": "", + "text.decisland.task_416_body": "", + "text.decisland.task_416_complete": "Task Complete!", + "text.decisland.task_416_title": "", + "text.decisland.task_417_body": "", + "text.decisland.task_417_complete": "Task Complete!", + "text.decisland.task_417_title": "", + "text.decisland.task_418_body": "", + "text.decisland.task_418_complete": "Task Complete!", + "text.decisland.task_418_title": "", + "text.decisland.task_419_body": "", + "text.decisland.task_419_complete": "Task Complete!", + "text.decisland.task_419_title": "", + "text.decisland.task_420_body": "", + "text.decisland.task_420_complete": "Task Complete!", + "text.decisland.task_420_title": "", + "text.decisland.task_421_body": "", + "text.decisland.task_421_complete": "Task Complete!", + "text.decisland.task_421_title": "", + "text.decisland.task_422_body": "", + "text.decisland.task_422_complete": "Task Complete!", + "text.decisland.task_422_title": "", + "text.decisland.task_423_body": "", + "text.decisland.task_423_complete": "Task Complete!", + "text.decisland.task_423_title": "", + "text.decisland.task_424_body": "", + "text.decisland.task_424_complete": "Task Complete!", + "text.decisland.task_424_title": "", + "text.decisland.task_425_body": "", + "text.decisland.task_425_complete": "Task Complete!", + "text.decisland.task_425_title": "", + "text.decisland.task_426_body": "", + "text.decisland.task_426_complete": "Task Complete!", + "text.decisland.task_426_title": "", + "text.decisland.task_427_body": "", + "text.decisland.task_427_complete": "Task Complete!", + "text.decisland.task_427_title": "", + "text.decisland.task_428_body": "", + "text.decisland.task_428_complete": "Task Complete!", + "text.decisland.task_428_title": "", + "text.decisland.task_429_body": "", + "text.decisland.task_429_complete": "Task Complete!", + "text.decisland.task_429_title": "", + "text.decisland.task_430_body": "", + "text.decisland.task_430_complete": "Task Complete!", + "text.decisland.task_430_title": "", + "text.decisland.task_431_body": "", + "text.decisland.task_431_complete": "Task Complete!", + "text.decisland.task_431_title": "", + "text.decisland.task_432_body": "", + "text.decisland.task_432_complete": "Task Complete!", + "text.decisland.task_432_title": "", + "text.decisland.task_433_body": "", + "text.decisland.task_433_complete": "Task Complete!", + "text.decisland.task_433_title": "", + "text.decisland.task_434_body": "", + "text.decisland.task_434_complete": "Task Complete!", + "text.decisland.task_434_title": "", + "text.decisland.task_435_body": "", + "text.decisland.task_435_complete": "Task Complete!", + "text.decisland.task_435_title": "", + "text.decisland.task_436_body": "", + "text.decisland.task_436_complete": "Task Complete!", + "text.decisland.task_436_title": "", + "text.decisland.task_437_body": "", + "text.decisland.task_437_complete": "Task Complete!", + "text.decisland.task_437_title": "", + "text.decisland.task_438_body": "", + "text.decisland.task_438_complete": "Task Complete!", + "text.decisland.task_438_title": "", + "text.decisland.task_439_body": "", + "text.decisland.task_439_complete": "Task Complete!", + "text.decisland.task_439_title": "", + "text.decisland.task_440_body": "", + "text.decisland.task_440_complete": "Task Complete!", + "text.decisland.task_440_title": "", + "text.decisland.task_441_body": "", + "text.decisland.task_441_complete": "Task Complete!", + "text.decisland.task_441_title": "", + "text.decisland.task_442_body": "", + "text.decisland.task_442_complete": "Task Complete!", + "text.decisland.task_442_title": "", + "text.decisland.task_443_body": "", + "text.decisland.task_443_complete": "Task Complete!", + "text.decisland.task_443_title": "", + "text.decisland.task_444_body": "", + "text.decisland.task_444_complete": "Task Complete!", + "text.decisland.task_444_title": "", + "text.decisland.task_445_body": "", + "text.decisland.task_445_complete": "Task Complete!", + "text.decisland.task_445_title": "", + "text.decisland.task_446_body": "", + "text.decisland.task_446_complete": "Task Complete!", + "text.decisland.task_446_title": "", + "text.decisland.task_447_body": "", + "text.decisland.task_447_complete": "Task Complete!", + "text.decisland.task_447_title": "", + "text.decisland.task_448_body": "", + "text.decisland.task_448_complete": "Task Complete!", + "text.decisland.task_448_title": "", + "text.decisland.task_449_body": "", + "text.decisland.task_449_complete": "Task Complete!", + "text.decisland.task_449_title": "", + "text.decisland.task_450_body": "", + "text.decisland.task_450_complete": "Task Complete!", + "text.decisland.task_450_title": "", + "text.decisland.task_451_body": "", + "text.decisland.task_451_complete": "Task Complete!", + "text.decisland.task_451_title": "", + "text.decisland.task_452_body": "", + "text.decisland.task_452_complete": "Task Complete!", + "text.decisland.task_452_title": "", + "text.decisland.task_453_body": "", + "text.decisland.task_453_complete": "Task Complete!", + "text.decisland.task_453_title": "", + "text.decisland.task_454_body": "", + "text.decisland.task_454_complete": "Task Complete!", + "text.decisland.task_454_title": "", + "text.decisland.task_455_body": "", + "text.decisland.task_455_complete": "Task Complete!", + "text.decisland.task_455_title": "", + "text.decisland.task_456_body": "", + "text.decisland.task_456_complete": "Task Complete!", + "text.decisland.task_456_title": "", + "text.decisland.task_457_body": "", + "text.decisland.task_457_complete": "Task Complete!", + "text.decisland.task_457_title": "", + "text.decisland.task_458_body": "", + "text.decisland.task_458_complete": "Task Complete!", + "text.decisland.task_458_title": "", + "text.decisland.task_459_body": "", + "text.decisland.task_459_complete": "Task Complete!", + "text.decisland.task_459_title": "", + "text.decisland.task_460_body": "", + "text.decisland.task_460_complete": "Task Complete!", + "text.decisland.task_460_title": "", + "text.decisland.task_461_body": "", + "text.decisland.task_461_complete": "Task Complete!", + "text.decisland.task_461_title": "", + "text.decisland.task_462_body": "", + "text.decisland.task_462_complete": "Task Complete!", + "text.decisland.task_462_title": "", + "text.decisland.task_463_body": "", + "text.decisland.task_463_complete": "Task Complete!", + "text.decisland.task_463_title": "", + "text.decisland.task_464_body": "", + "text.decisland.task_464_complete": "Task Complete!", + "text.decisland.task_464_title": "", + "text.decisland.task_465_body": "", + "text.decisland.task_465_complete": "Task Complete!", + "text.decisland.task_465_title": "", + "text.decisland.task_466_body": "", + "text.decisland.task_466_complete": "Task Complete!", + "text.decisland.task_466_title": "", + "text.decisland.task_467_body": "", + "text.decisland.task_467_complete": "Task Complete!", + "text.decisland.task_467_title": "", + "text.decisland.task_468_body": "", + "text.decisland.task_468_complete": "Task Complete!", + "text.decisland.task_468_title": "", + "text.decisland.task_469_body": "", + "text.decisland.task_469_complete": "Task Complete!", + "text.decisland.task_469_title": "", + "text.decisland.task_470_body": "", + "text.decisland.task_470_complete": "Task Complete!", + "text.decisland.task_470_title": "", + "text.decisland.task_471_body": "", + "text.decisland.task_471_complete": "Task Complete!", + "text.decisland.task_471_title": "", + "text.decisland.task_472_body": "", + "text.decisland.task_472_complete": "Task Complete!", + "text.decisland.task_472_title": "", + "text.decisland.task_473_body": "", + "text.decisland.task_473_complete": "Task Complete!", + "text.decisland.task_473_title": "", + "text.decisland.task_474_body": "", + "text.decisland.task_474_complete": "Task Complete!", + "text.decisland.task_474_title": "", + "text.decisland.task_475_body": "", + "text.decisland.task_475_complete": "Task Complete!", + "text.decisland.task_475_title": "", + "text.decisland.task_476_body": "", + "text.decisland.task_476_complete": "Task Complete!", + "text.decisland.task_476_title": "", + "text.decisland.task_477_body": "", + "text.decisland.task_477_complete": "Task Complete!", + "text.decisland.task_477_title": "", + "text.decisland.task_478_body": "", + "text.decisland.task_478_complete": "Task Complete!", + "text.decisland.task_478_title": "", + "text.decisland.task_479_body": "", + "text.decisland.task_479_complete": "Task Complete!", + "text.decisland.task_479_title": "", + "text.decisland.task_480_body": "", + "text.decisland.task_480_complete": "Task Complete!", + "text.decisland.task_480_title": "", + "text.decisland.task_481_body": "", + "text.decisland.task_481_complete": "Task Complete!", + "text.decisland.task_481_title": "", + "text.decisland.task_482_body": "", + "text.decisland.task_482_complete": "Task Complete!", + "text.decisland.task_482_title": "", + "text.decisland.task_483_body": "", + "text.decisland.task_483_complete": "Task Complete!", + "text.decisland.task_483_title": "", + "text.decisland.task_484_body": "", + "text.decisland.task_484_complete": "Task Complete!", + "text.decisland.task_484_title": "", + "text.decisland.task_485_body": "", + "text.decisland.task_485_complete": "Task Complete!", + "text.decisland.task_485_title": "", + "text.decisland.task_486_body": "", + "text.decisland.task_486_complete": "Task Complete!", + "text.decisland.task_486_title": "", + "text.decisland.task_487_body": "", + "text.decisland.task_487_complete": "Task Complete!", + "text.decisland.task_487_title": "", + "text.decisland.task_488_body": "", + "text.decisland.task_488_complete": "Task Complete!", + "text.decisland.task_488_title": "", + "text.decisland.task_489_body": "", + "text.decisland.task_489_complete": "Task Complete!", + "text.decisland.task_489_title": "", + "text.decisland.task_490_body": "", + "text.decisland.task_490_complete": "Task Complete!", + "text.decisland.task_490_title": "", + "text.decisland.task_491_body": "", + "text.decisland.task_491_complete": "Task Complete!", + "text.decisland.task_491_title": "", + "text.decisland.task_492_body": "", + "text.decisland.task_492_complete": "Task Complete!", + "text.decisland.task_492_title": "", + "text.decisland.task_493_body": "", + "text.decisland.task_493_complete": "Task Complete!", + "text.decisland.task_493_title": "", + "text.decisland.task_494_body": "", + "text.decisland.task_494_complete": "Task Complete!", + "text.decisland.task_494_title": "", + "text.decisland.task_495_body": "", + "text.decisland.task_495_complete": "Task Complete!", + "text.decisland.task_495_title": "", + "text.decisland.task_496_body": "", + "text.decisland.task_496_complete": "Task Complete!", + "text.decisland.task_496_title": "", + "text.decisland.task_497_body": "", + "text.decisland.task_497_complete": "Task Complete!", + "text.decisland.task_497_title": "", + "text.decisland.task_498_body": "", + "text.decisland.task_498_complete": "Task Complete!", + "text.decisland.task_498_title": "", + "text.decisland.task_499_body": "", + "text.decisland.task_499_complete": "Task Complete!", + "text.decisland.task_499_title": "", + "text.decisland.task_500_body": "", + "text.decisland.task_500_complete": "Task Complete!", + "text.decisland.task_500_title": "", + "text.decisland.task_501_body": "", + "text.decisland.task_501_complete": "Task Complete!", + "text.decisland.task_501_title": "", + "text.decisland.task_502_body": "", + "text.decisland.task_502_complete": "Task Complete!", + "text.decisland.task_502_title": "", + "text.decisland.task_503_body": "", + "text.decisland.task_503_complete": "Task Complete!", + "text.decisland.task_503_title": "", + "text.decisland.task_504_body": "", + "text.decisland.task_504_complete": "Task Complete!", + "text.decisland.task_504_title": "", + "text.decisland.task_505_body": "", + "text.decisland.task_505_complete": "Task Complete!", + "text.decisland.task_505_title": "", + "text.decisland.task_506_body": "", + "text.decisland.task_506_complete": "Task Complete!", + "text.decisland.task_506_title": "", + "text.decisland.task_507_body": "", + "text.decisland.task_507_complete": "Task Complete!", + "text.decisland.task_507_title": "", + "text.decisland.task_508_body": "", + "text.decisland.task_508_complete": "Task Complete!", + "text.decisland.task_508_title": "", + "text.decisland.task_509_body": "", + "text.decisland.task_509_complete": "Task Complete!", + "text.decisland.task_509_title": "", + "text.decisland.task_510_body": "", + "text.decisland.task_510_complete": "Task Complete!", + "text.decisland.task_510_title": "", + "text.decisland.task_511_body": "", + "text.decisland.task_511_complete": "Task Complete!", + "text.decisland.task_511_title": "", + "text.decisland.task_512_body": "", + "text.decisland.task_512_complete": "Task Complete!", + "text.decisland.task_512_title": "", + "text.decisland.task_513_body": "", + "text.decisland.task_513_complete": "Task Complete!", + "text.decisland.task_513_title": "", + "text.decisland.task_514_body": "", + "text.decisland.task_514_complete": "Task Complete!", + "text.decisland.task_514_title": "", + "text.decisland.task_515_body": "", + "text.decisland.task_515_complete": "Task Complete!", + "text.decisland.task_515_title": "", + "text.decisland.task_516_body": "", + "text.decisland.task_516_complete": "Task Complete!", + "text.decisland.task_516_title": "", + "text.decisland.task_517_body": "", + "text.decisland.task_517_complete": "Task Complete!", + "text.decisland.task_517_title": "", + "text.decisland.task_518_body": "", + "text.decisland.task_518_complete": "Task Complete!", + "text.decisland.task_518_title": "", + "text.decisland.task_519_body": "", + "text.decisland.task_519_complete": "Task Complete!", + "text.decisland.task_519_title": "", + "text.decisland.task_520_body": "", + "text.decisland.task_520_complete": "Task Complete!", + "text.decisland.task_520_title": "", + "text.decisland.task_521_body": "", + "text.decisland.task_521_complete": "Task Complete!", + "text.decisland.task_521_title": "", + "text.decisland.task_522_body": "", + "text.decisland.task_522_complete": "Task Complete!", + "text.decisland.task_522_title": "", + "text.decisland.task_523_body": "", + "text.decisland.task_523_complete": "Task Complete!", + "text.decisland.task_523_title": "", + "text.decisland.task_524_body": "", + "text.decisland.task_524_complete": "Task Complete!", + "text.decisland.task_524_title": "", + "text.decisland.task_525_body": "", + "text.decisland.task_525_complete": "Task Complete!", + "text.decisland.task_525_title": "", + "text.decisland.task_526_body": "", + "text.decisland.task_526_complete": "Task Complete!", + "text.decisland.task_526_title": "", + "text.decisland.task_527_body": "", + "text.decisland.task_527_complete": "Task Complete!", + "text.decisland.task_527_title": "", + "text.decisland.task_528_body": "", + "text.decisland.task_528_complete": "Task Complete!", + "text.decisland.task_528_title": "", + "text.decisland.task_529_body": "", + "text.decisland.task_529_complete": "Task Complete!", + "text.decisland.task_529_title": "", + "text.decisland.task_530_body": "", + "text.decisland.task_530_complete": "Task Complete!", + "text.decisland.task_530_title": "", + "text.decisland.task_531_body": "", + "text.decisland.task_531_complete": "Task Complete!", + "text.decisland.task_531_title": "", + "text.decisland.task_532_body": "", + "text.decisland.task_532_complete": "Task Complete!", + "text.decisland.task_532_title": "", + "text.decisland.task_533_body": "", + "text.decisland.task_533_complete": "Task Complete!", + "text.decisland.task_533_title": "", + "text.decisland.task_534_body": "", + "text.decisland.task_534_complete": "Task Complete!", + "text.decisland.task_534_title": "", + "text.decisland.task_535_body": "", + "text.decisland.task_535_complete": "Task Complete!", + "text.decisland.task_535_title": "", + "text.decisland.task_536_body": "", + "text.decisland.task_536_complete": "Task Complete!", + "text.decisland.task_536_title": "", + "text.decisland.task_537_body": "", + "text.decisland.task_537_complete": "Task Complete!", + "text.decisland.task_537_title": "", + "text.decisland.task_538_body": "", + "text.decisland.task_538_complete": "Task Complete!", + "text.decisland.task_538_title": "", + "text.decisland.task_539_body": "", + "text.decisland.task_539_complete": "Task Complete!", + "text.decisland.task_539_title": "", + "text.decisland.task_540_body": "", + "text.decisland.task_540_complete": "Task Complete!", + "text.decisland.task_540_title": "", + "text.decisland.task_541_body": "", + "text.decisland.task_541_complete": "Task Complete!", + "text.decisland.task_541_title": "", + "text.decisland.task_542_body": "", + "text.decisland.task_542_complete": "Task Complete!", + "text.decisland.task_542_title": "", + "text.decisland.task_543_body": "", + "text.decisland.task_543_complete": "Task Complete!", + "text.decisland.task_543_title": "", + "text.decisland.task_544_body": "", + "text.decisland.task_544_complete": "Task Complete!", + "text.decisland.task_544_title": "", + "text.decisland.task_545_body": "", + "text.decisland.task_545_complete": "Task Complete!", + "text.decisland.task_545_title": "", + "text.decisland.task_546_body": "", + "text.decisland.task_546_complete": "Task Complete!", + "text.decisland.task_546_title": "", + "text.decisland.task_547_body": "", + "text.decisland.task_547_complete": "Task Complete!", + "text.decisland.task_547_title": "", + "text.decisland.task_548_body": "", + "text.decisland.task_548_complete": "Task Complete!", + "text.decisland.task_548_title": "", + "text.decisland.task_549_body": "", + "text.decisland.task_549_complete": "Task Complete!", + "text.decisland.task_549_title": "", + "text.decisland.task_550_body": "", + "text.decisland.task_550_complete": "Task Complete!", + "text.decisland.task_550_title": "", + "text.decisland.task_551_body": "", + "text.decisland.task_551_complete": "Task Complete!", + "text.decisland.task_551_title": "", + "text.decisland.task_552_body": "", + "text.decisland.task_552_complete": "Task Complete!", + "text.decisland.task_552_title": "", + "text.decisland.task_553_body": "", + "text.decisland.task_553_complete": "Task Complete!", + "text.decisland.task_553_title": "", + "text.decisland.task_554_body": "", + "text.decisland.task_554_complete": "Task Complete!", + "text.decisland.task_554_title": "", + "text.decisland.task_555_body": "", + "text.decisland.task_555_complete": "Task Complete!", + "text.decisland.task_555_title": "", + "text.decisland.task_556_body": "", + "text.decisland.task_556_complete": "Task Complete!", + "text.decisland.task_556_title": "", + "text.decisland.task_557_body": "", + "text.decisland.task_557_complete": "Task Complete!", + "text.decisland.task_557_title": "", + "text.decisland.task_558_body": "", + "text.decisland.task_558_complete": "Task Complete!", + "text.decisland.task_558_title": "", + "text.decisland.task_559_body": "", + "text.decisland.task_559_complete": "Task Complete!", + "text.decisland.task_559_title": "", + "text.decisland.task_560_body": "", + "text.decisland.task_560_complete": "Task Complete!", + "text.decisland.task_560_title": "", + "text.decisland.task_561_body": "", + "text.decisland.task_561_complete": "Task Complete!", + "text.decisland.task_561_title": "", + "text.decisland.task_562_body": "", + "text.decisland.task_562_complete": "Task Complete!", + "text.decisland.task_562_title": "", + "text.decisland.task_563_body": "", + "text.decisland.task_563_complete": "Task Complete!", + "text.decisland.task_563_title": "", + "text.decisland.task_564_body": "", + "text.decisland.task_564_complete": "Task Complete!", + "text.decisland.task_564_title": "", + "text.decisland.task_565_body": "", + "text.decisland.task_565_complete": "Task Complete!", + "text.decisland.task_565_title": "", + "text.decisland.task_566_body": "", + "text.decisland.task_566_complete": "Task Complete!", + "text.decisland.task_566_title": "", + "text.decisland.task_567_body": "", + "text.decisland.task_567_complete": "Task Complete!", + "text.decisland.task_567_title": "", + "text.decisland.task_568_body": "", + "text.decisland.task_568_complete": "Task Complete!", + "text.decisland.task_568_title": "", + "text.decisland.task_569_body": "", + "text.decisland.task_569_complete": "Task Complete!", + "text.decisland.task_569_title": "", + "text.decisland.task_570_body": "", + "text.decisland.task_570_complete": "Task Complete!", + "text.decisland.task_570_title": "", + "text.decisland.task_571_body": "", + "text.decisland.task_571_complete": "Task Complete!", + "text.decisland.task_571_title": "", + "text.decisland.task_572_body": "", + "text.decisland.task_572_complete": "Task Complete!", + "text.decisland.task_572_title": "", + "text.decisland.task_573_body": "", + "text.decisland.task_573_complete": "Task Complete!", + "text.decisland.task_573_title": "", + "text.decisland.task_574_body": "", + "text.decisland.task_574_complete": "Task Complete!", + "text.decisland.task_574_title": "", + "text.decisland.task_575_body": "", + "text.decisland.task_575_complete": "Task Complete!", + "text.decisland.task_575_title": "", + "text.decisland.task_576_body": "", + "text.decisland.task_576_complete": "Task Complete!", + "text.decisland.task_576_title": "", + "text.decisland.task_577_body": "", + "text.decisland.task_577_complete": "Task Complete!", + "text.decisland.task_577_title": "", + "text.decisland.task_578_body": "", + "text.decisland.task_578_complete": "Task Complete!", + "text.decisland.task_578_title": "", + "text.decisland.task_579_body": "", + "text.decisland.task_579_complete": "Task Complete!", + "text.decisland.task_579_title": "", + "text.decisland.task_580_body": "", + "text.decisland.task_580_complete": "Task Complete!", + "text.decisland.task_580_title": "", + "text.decisland.task_581_body": "", + "text.decisland.task_581_complete": "Task Complete!", + "text.decisland.task_581_title": "", + "text.decisland.task_582_body": "", + "text.decisland.task_582_complete": "Task Complete!", + "text.decisland.task_582_title": "", + "text.decisland.task_583_body": "", + "text.decisland.task_583_complete": "Task Complete!", + "text.decisland.task_583_title": "", + "text.decisland.task_584_body": "", + "text.decisland.task_584_complete": "Task Complete!", + "text.decisland.task_584_title": "", + "text.decisland.task_585_body": "", + "text.decisland.task_585_complete": "Task Complete!", + "text.decisland.task_585_title": "", + "text.decisland.task_586_body": "", + "text.decisland.task_586_complete": "Task Complete!", + "text.decisland.task_586_title": "", + "text.decisland.task_587_body": "", + "text.decisland.task_587_complete": "Task Complete!", + "text.decisland.task_587_title": "", + "text.decisland.task_588_body": "", + "text.decisland.task_588_complete": "Task Complete!", + "text.decisland.task_588_title": "", + "text.decisland.task_589_body": "", + "text.decisland.task_589_complete": "Task Complete!", + "text.decisland.task_589_title": "", + "text.decisland.task_590_body": "", + "text.decisland.task_590_complete": "Task Complete!", + "text.decisland.task_590_title": "", + "text.decisland.task_591_body": "", + "text.decisland.task_591_complete": "Task Complete!", + "text.decisland.task_591_title": "", + "text.decisland.task_592_body": "", + "text.decisland.task_592_complete": "Task Complete!", + "text.decisland.task_592_title": "", + "text.decisland.task_593_body": "", + "text.decisland.task_593_complete": "Task Complete!", + "text.decisland.task_593_title": "", + "text.decisland.task_594_body": "", + "text.decisland.task_594_complete": "Task Complete!", + "text.decisland.task_594_title": "", + "text.decisland.task_595_body": "", + "text.decisland.task_595_complete": "Task Complete!", + "text.decisland.task_595_title": "", + "text.decisland.task_596_body": "", + "text.decisland.task_596_complete": "Task Complete!", + "text.decisland.task_596_title": "", + "text.decisland.task_597_body": "", + "text.decisland.task_597_complete": "Task Complete!", + "text.decisland.task_597_title": "", + "text.decisland.task_598_body": "", + "text.decisland.task_598_complete": "Task Complete!", + "text.decisland.task_598_title": "", + "text.decisland.task_599_body": "", + "text.decisland.task_599_complete": "Task Complete!", + "text.decisland.task_599_title": "", + "text.decisland.task_600_body": "", + "text.decisland.task_600_complete": "Task Complete!", + "text.decisland.task_600_title": "", + "text.decisland.task_601_body": "", + "text.decisland.task_601_complete": "Task Complete!", + "text.decisland.task_601_title": "", + "text.decisland.task_602_body": "", + "text.decisland.task_602_complete": "Task Complete!", + "text.decisland.task_602_title": "", + "text.decisland.task_603_body": "", + "text.decisland.task_603_complete": "Task Complete!", + "text.decisland.task_603_title": "", + "text.decisland.task_604_body": "", + "text.decisland.task_604_complete": "Task Complete!", + "text.decisland.task_604_title": "", + "text.decisland.task_605_body": "", + "text.decisland.task_605_complete": "Task Complete!", + "text.decisland.task_605_title": "", + "text.decisland.task_606_body": "", + "text.decisland.task_606_complete": "Task Complete!", + "text.decisland.task_606_title": "", + "text.decisland.task_607_body": "", + "text.decisland.task_607_complete": "Task Complete!", + "text.decisland.task_607_title": "", + "text.decisland.task_608_body": "", + "text.decisland.task_608_complete": "Task Complete!", + "text.decisland.task_608_title": "", + "text.decisland.task_609_body": "", + "text.decisland.task_609_complete": "Task Complete!", + "text.decisland.task_609_title": "", + "text.decisland.task_610_body": "", + "text.decisland.task_610_complete": "Task Complete!", + "text.decisland.task_610_title": "", + "text.decisland.task_611_body": "", + "text.decisland.task_611_complete": "Task Complete!", + "text.decisland.task_611_title": "", + "text.decisland.task_612_body": "", + "text.decisland.task_612_complete": "Task Complete!", + "text.decisland.task_612_title": "", + "text.decisland.task_613_body": "", + "text.decisland.task_613_complete": "Task Complete!", + "text.decisland.task_613_title": "", + "text.decisland.task_614_body": "", + "text.decisland.task_614_complete": "Task Complete!", + "text.decisland.task_614_title": "", + "text.decisland.task_615_body": "", + "text.decisland.task_615_complete": "Task Complete!", + "text.decisland.task_615_title": "", + "text.decisland.task_616_body": "", + "text.decisland.task_616_complete": "Task Complete!", + "text.decisland.task_616_title": "", + "text.decisland.task_617_body": "", + "text.decisland.task_617_complete": "Task Complete!", + "text.decisland.task_617_title": "", + "text.decisland.task_618_body": "", + "text.decisland.task_618_complete": "Task Complete!", + "text.decisland.task_618_title": "", + "text.decisland.task_619_body": "", + "text.decisland.task_619_complete": "Task Complete!", + "text.decisland.task_619_title": "", + "text.decisland.task_620_body": "", + "text.decisland.task_620_complete": "Task Complete!", + "text.decisland.task_620_title": "", + "text.decisland.task_621_body": "", + "text.decisland.task_621_complete": "Task Complete!", + "text.decisland.task_621_title": "", + "text.decisland.task_622_body": "", + "text.decisland.task_622_complete": "Task Complete!", + "text.decisland.task_622_title": "", + "text.decisland.task_623_body": "", + "text.decisland.task_623_complete": "Task Complete!", + "text.decisland.task_623_title": "", + "text.decisland.task_624_body": "", + "text.decisland.task_624_complete": "Task Complete!", + "text.decisland.task_624_title": "", + "text.decisland.task_625_body": "", + "text.decisland.task_625_complete": "Task Complete!", + "text.decisland.task_625_title": "", + "text.decisland.task_626_body": "", + "text.decisland.task_626_complete": "Task Complete!", + "text.decisland.task_626_title": "", + "text.decisland.task_627_body": "", + "text.decisland.task_627_complete": "Task Complete!", + "text.decisland.task_627_title": "", + "text.decisland.task_628_body": "", + "text.decisland.task_628_complete": "Task Complete!", + "text.decisland.task_628_title": "", + "text.decisland.task_629_body": "", + "text.decisland.task_629_complete": "Task Complete!", + "text.decisland.task_629_title": "", + "text.decisland.task_630_body": "", + "text.decisland.task_630_complete": "Task Complete!", + "text.decisland.task_630_title": "", + "text.decisland.task_631_body": "", + "text.decisland.task_631_complete": "Task Complete!", + "text.decisland.task_631_title": "", + "text.decisland.task_632_body": "", + "text.decisland.task_632_complete": "Task Complete!", + "text.decisland.task_632_title": "", + "text.decisland.task_633_body": "", + "text.decisland.task_633_complete": "Task Complete!", + "text.decisland.task_633_title": "", + "text.decisland.task_634_body": "", + "text.decisland.task_634_complete": "Task Complete!", + "text.decisland.task_634_title": "", + "text.decisland.task_635_body": "", + "text.decisland.task_635_complete": "Task Complete!", + "text.decisland.task_635_title": "", + "text.decisland.task_636_body": "", + "text.decisland.task_636_complete": "Task Complete!", + "text.decisland.task_636_title": "", + "text.decisland.task_637_body": "", + "text.decisland.task_637_complete": "Task Complete!", + "text.decisland.task_637_title": "", + "text.decisland.task_638_body": "", + "text.decisland.task_638_complete": "Task Complete!", + "text.decisland.task_638_title": "", + "text.decisland.task_639_body": "", + "text.decisland.task_639_complete": "Task Complete!", + "text.decisland.task_639_title": "", + "text.decisland.task_640_body": "", + "text.decisland.task_640_complete": "Task Complete!", + "text.decisland.task_640_title": "", + "text.decisland.task_641_body": "", + "text.decisland.task_641_complete": "Task Complete!", + "text.decisland.task_641_title": "", + "text.decisland.task_642_body": "", + "text.decisland.task_642_complete": "Task Complete!", + "text.decisland.task_642_title": "", + "text.decisland.task_643_body": "", + "text.decisland.task_643_complete": "Task Complete!", + "text.decisland.task_643_title": "", + "text.decisland.task_644_body": "", + "text.decisland.task_644_complete": "Task Complete!", + "text.decisland.task_644_title": "", + "text.decisland.task_645_body": "", + "text.decisland.task_645_complete": "Task Complete!", + "text.decisland.task_645_title": "", + "text.decisland.task_646_body": "", + "text.decisland.task_646_complete": "Task Complete!", + "text.decisland.task_646_title": "", + "text.decisland.task_647_body": "", + "text.decisland.task_647_complete": "Task Complete!", + "text.decisland.task_647_title": "", + "text.decisland.task_648_body": "", + "text.decisland.task_648_complete": "Task Complete!", + "text.decisland.task_648_title": "", + "text.decisland.task_649_body": "", + "text.decisland.task_649_complete": "Task Complete!", + "text.decisland.task_649_title": "", + "text.decisland.task_650_body": "", + "text.decisland.task_650_complete": "Task Complete!", + "text.decisland.task_650_title": "", + "text.decisland.task_651_body": "", + "text.decisland.task_651_complete": "Task Complete!", + "text.decisland.task_651_title": "", + "text.decisland.task_652_body": "", + "text.decisland.task_652_complete": "Task Complete!", + "text.decisland.task_652_title": "", + "text.decisland.task_653_body": "", + "text.decisland.task_653_complete": "Task Complete!", + "text.decisland.task_653_title": "", + "text.decisland.task_654_body": "", + "text.decisland.task_654_complete": "Task Complete!", + "text.decisland.task_654_title": "", + "text.decisland.task_655_body": "", + "text.decisland.task_655_complete": "Task Complete!", + "text.decisland.task_655_title": "", + "text.decisland.task_656_body": "", + "text.decisland.task_656_complete": "Task Complete!", + "text.decisland.task_656_title": "", + "text.decisland.task_657_body": "", + "text.decisland.task_657_complete": "Task Complete!", + "text.decisland.task_657_title": "", + "text.decisland.task_658_body": "", + "text.decisland.task_658_complete": "Task Complete!", + "text.decisland.task_658_title": "", + "text.decisland.task_659_body": "", + "text.decisland.task_659_complete": "Task Complete!", + "text.decisland.task_659_title": "", + "text.decisland.task_660_body": "", + "text.decisland.task_660_complete": "Task Complete!", + "text.decisland.task_660_title": "", + "text.decisland.task_661_body": "", + "text.decisland.task_661_complete": "Task Complete!", + "text.decisland.task_661_title": "", + "text.decisland.task_662_body": "", + "text.decisland.task_662_complete": "Task Complete!", + "text.decisland.task_662_title": "", + "text.decisland.task_663_body": "", + "text.decisland.task_663_complete": "Task Complete!", + "text.decisland.task_663_title": "", + "text.decisland.task_664_body": "", + "text.decisland.task_664_complete": "Task Complete!", + "text.decisland.task_664_title": "", + "text.decisland.task_665_body": "", + "text.decisland.task_665_complete": "Task Complete!", + "text.decisland.task_665_title": "", + "text.decisland.task_666_body": "", + "text.decisland.task_666_complete": "Task Complete!", + "text.decisland.task_666_title": "", + "text.decisland.task_667_body": "", + "text.decisland.task_667_complete": "Task Complete!", + "text.decisland.task_667_title": "", + "text.decisland.task_668_body": "", + "text.decisland.task_668_complete": "Task Complete!", + "text.decisland.task_668_title": "", + "text.decisland.task_669_body": "", + "text.decisland.task_669_complete": "Task Complete!", + "text.decisland.task_669_title": "", + "text.decisland.task_670_body": "", + "text.decisland.task_670_complete": "Task Complete!", + "text.decisland.task_670_title": "", + "text.decisland.task_671_body": "", + "text.decisland.task_671_complete": "Task Complete!", + "text.decisland.task_671_title": "", + "text.decisland.task_672_body": "", + "text.decisland.task_672_complete": "Task Complete!", + "text.decisland.task_672_title": "", + "text.decisland.task_673_body": "", + "text.decisland.task_673_complete": "Task Complete!", + "text.decisland.task_673_title": "", + "text.decisland.task_674_body": "", + "text.decisland.task_674_complete": "Task Complete!", + "text.decisland.task_674_title": "", + "text.decisland.task_675_body": "", + "text.decisland.task_675_complete": "Task Complete!", + "text.decisland.task_675_title": "", + "text.decisland.task_676_body": "", + "text.decisland.task_676_complete": "Task Complete!", + "text.decisland.task_676_title": "", + "text.decisland.task_677_body": "", + "text.decisland.task_677_complete": "Task Complete!", + "text.decisland.task_677_title": "", + "text.decisland.task_678_body": "", + "text.decisland.task_678_complete": "Task Complete!", + "text.decisland.task_678_title": "", + "text.decisland.task_679_body": "", + "text.decisland.task_679_complete": "Task Complete!", + "text.decisland.task_679_title": "", + "text.decisland.task_680_body": "", + "text.decisland.task_680_complete": "Task Complete!", + "text.decisland.task_680_title": "", + "text.decisland.task_681_body": "", + "text.decisland.task_681_complete": "Task Complete!", + "text.decisland.task_681_title": "", + "text.decisland.task_682_body": "", + "text.decisland.task_682_complete": "Task Complete!", + "text.decisland.task_682_title": "", + "text.decisland.task_683_body": "", + "text.decisland.task_683_complete": "Task Complete!", + "text.decisland.task_683_title": "", + "text.decisland.task_684_body": "", + "text.decisland.task_684_complete": "Task Complete!", + "text.decisland.task_684_title": "", + "text.decisland.task_685_body": "", + "text.decisland.task_685_complete": "Task Complete!", + "text.decisland.task_685_title": "", + "text.decisland.task_686_body": "", + "text.decisland.task_686_complete": "Task Complete!", + "text.decisland.task_686_title": "", + "text.decisland.task_687_body": "", + "text.decisland.task_687_complete": "Task Complete!", + "text.decisland.task_687_title": "", + "text.decisland.task_688_body": "", + "text.decisland.task_688_complete": "Task Complete!", + "text.decisland.task_688_title": "", + "text.decisland.task_689_body": "", + "text.decisland.task_689_complete": "Task Complete!", + "text.decisland.task_689_title": "", + "text.decisland.task_690_body": "", + "text.decisland.task_690_complete": "Task Complete!", + "text.decisland.task_690_title": "", + "text.decisland.task_691_body": "", + "text.decisland.task_691_complete": "Task Complete!", + "text.decisland.task_691_title": "", + "text.decisland.task_692_body": "", + "text.decisland.task_692_complete": "Task Complete!", + "text.decisland.task_692_title": "", + "text.decisland.task_693_body": "", + "text.decisland.task_693_complete": "Task Complete!", + "text.decisland.task_693_title": "", + "text.decisland.task_694_body": "", + "text.decisland.task_694_complete": "Task Complete!", + "text.decisland.task_694_title": "", + "text.decisland.task_695_body": "", + "text.decisland.task_695_complete": "Task Complete!", + "text.decisland.task_695_title": "", + "text.decisland.task_696_body": "", + "text.decisland.task_696_complete": "Task Complete!", + "text.decisland.task_696_title": "", + "text.decisland.task_697_body": "", + "text.decisland.task_697_complete": "Task Complete!", + "text.decisland.task_697_title": "", + "text.decisland.task_698_body": "", + "text.decisland.task_698_complete": "Task Complete!", + "text.decisland.task_698_title": "", + "text.decisland.task_699_body": "", + "text.decisland.task_699_complete": "Task Complete!", + "text.decisland.task_699_title": "", + "text.decisland.task_700_body": "", + "text.decisland.task_700_complete": "Task Complete!", + "text.decisland.task_700_title": "", + "text.decisland.task_701_body": "", + "text.decisland.task_701_complete": "Task Complete!", + "text.decisland.task_701_title": "", + "text.decisland.task_702_body": "", + "text.decisland.task_702_complete": "Task Complete!", + "text.decisland.task_702_title": "", + "text.decisland.task_703_body": "", + "text.decisland.task_703_complete": "Task Complete!", + "text.decisland.task_703_title": "", + "text.decisland.task_704_body": "", + "text.decisland.task_704_complete": "Task Complete!", + "text.decisland.task_704_title": "", + "text.decisland.task_705_body": "", + "text.decisland.task_705_complete": "Task Complete!", + "text.decisland.task_705_title": "", + "text.decisland.task_706_body": "", + "text.decisland.task_706_complete": "Task Complete!", + "text.decisland.task_706_title": "", + "text.decisland.task_707_body": "", + "text.decisland.task_707_complete": "Task Complete!", + "text.decisland.task_707_title": "", + "text.decisland.task_708_body": "", + "text.decisland.task_708_complete": "Task Complete!", + "text.decisland.task_708_title": "", + "text.decisland.task_709_body": "", + "text.decisland.task_709_complete": "Task Complete!", + "text.decisland.task_709_title": "", + "text.decisland.task_710_body": "", + "text.decisland.task_710_complete": "Task Complete!", + "text.decisland.task_710_title": "", + "text.decisland.task_711_body": "", + "text.decisland.task_711_complete": "Task Complete!", + "text.decisland.task_711_title": "", + "text.decisland.task_712_body": "", + "text.decisland.task_712_complete": "Task Complete!", + "text.decisland.task_712_title": "", + "text.decisland.task_713_body": "", + "text.decisland.task_713_complete": "Task Complete!", + "text.decisland.task_713_title": "", + "text.decisland.task_714_body": "", + "text.decisland.task_714_complete": "Task Complete!", + "text.decisland.task_714_title": "", + "text.decisland.task_715_body": "", + "text.decisland.task_715_complete": "Task Complete!", + "text.decisland.task_715_title": "", + "text.decisland.task_716_body": "", + "text.decisland.task_716_complete": "Task Complete!", + "text.decisland.task_716_title": "", + "text.decisland.task_717_body": "", + "text.decisland.task_717_complete": "Task Complete!", + "text.decisland.task_717_title": "", + "text.decisland.task_718_body": "", + "text.decisland.task_718_complete": "Task Complete!", + "text.decisland.task_718_title": "", + "text.decisland.task_719_body": "", + "text.decisland.task_719_complete": "Task Complete!", + "text.decisland.task_719_title": "", + "text.decisland.task_720_body": "", + "text.decisland.task_720_complete": "Task Complete!", + "text.decisland.task_720_title": "", + "text.decisland.task_721_body": "", + "text.decisland.task_721_complete": "Task Complete!", + "text.decisland.task_721_title": "", + "text.decisland.task_722_body": "", + "text.decisland.task_722_complete": "Task Complete!", + "text.decisland.task_722_title": "", + "text.decisland.task_723_body": "", + "text.decisland.task_723_complete": "Task Complete!", + "text.decisland.task_723_title": "", + "text.decisland.task_724_body": "", + "text.decisland.task_724_complete": "Task Complete!", + "text.decisland.task_724_title": "", + "text.decisland.task_725_body": "", + "text.decisland.task_725_complete": "Task Complete!", + "text.decisland.task_725_title": "", + "text.decisland.task_726_body": "", + "text.decisland.task_726_complete": "Task Complete!", + "text.decisland.task_726_title": "", + "text.decisland.task_727_body": "", + "text.decisland.task_727_complete": "Task Complete!", + "text.decisland.task_727_title": "", + "text.decisland.task_728_body": "", + "text.decisland.task_728_complete": "Task Complete!", + "text.decisland.task_728_title": "", + "text.decisland.task_729_body": "", + "text.decisland.task_729_complete": "Task Complete!", + "text.decisland.task_729_title": "", + "text.decisland.task_730_body": "", + "text.decisland.task_730_complete": "Task Complete!", + "text.decisland.task_730_title": "", + "text.decisland.task_731_body": "", + "text.decisland.task_731_complete": "Task Complete!", + "text.decisland.task_731_title": "", + "text.decisland.task_732_body": "", + "text.decisland.task_732_complete": "Task Complete!", + "text.decisland.task_732_title": "", + "text.decisland.task_733_body": "", + "text.decisland.task_733_complete": "Task Complete!", + "text.decisland.task_733_title": "", + "text.decisland.task_734_body": "", + "text.decisland.task_734_complete": "Task Complete!", + "text.decisland.task_734_title": "", + "text.decisland.task_735_body": "", + "text.decisland.task_735_complete": "Task Complete!", + "text.decisland.task_735_title": "", + "text.decisland.task_736_body": "", + "text.decisland.task_736_complete": "Task Complete!", + "text.decisland.task_736_title": "", + "text.decisland.task_737_body": "", + "text.decisland.task_737_complete": "Task Complete!", + "text.decisland.task_737_title": "", + "text.decisland.task_738_body": "", + "text.decisland.task_738_complete": "Task Complete!", + "text.decisland.task_738_title": "", + "text.decisland.task_739_body": "", + "text.decisland.task_739_complete": "Task Complete!", + "text.decisland.task_739_title": "", + "text.decisland.task_740_body": "", + "text.decisland.task_740_complete": "Task Complete!", + "text.decisland.task_740_title": "", + "text.decisland.task_741_body": "", + "text.decisland.task_741_complete": "Task Complete!", + "text.decisland.task_741_title": "", + "text.decisland.task_742_body": "", + "text.decisland.task_742_complete": "Task Complete!", + "text.decisland.task_742_title": "", + "text.decisland.task_743_body": "", + "text.decisland.task_743_complete": "Task Complete!", + "text.decisland.task_743_title": "", + "text.decisland.task_744_body": "", + "text.decisland.task_744_complete": "Task Complete!", + "text.decisland.task_744_title": "", + "text.decisland.task_745_body": "", + "text.decisland.task_745_complete": "Task Complete!", + "text.decisland.task_745_title": "", + "text.decisland.task_746_body": "", + "text.decisland.task_746_complete": "Task Complete!", + "text.decisland.task_746_title": "", + "text.decisland.task_747_body": "", + "text.decisland.task_747_complete": "Task Complete!", + "text.decisland.task_747_title": "", + "text.decisland.task_748_body": "", + "text.decisland.task_748_complete": "Task Complete!", + "text.decisland.task_748_title": "", + "text.decisland.task_749_body": "", + "text.decisland.task_749_complete": "Task Complete!", + "text.decisland.task_749_title": "", + "text.decisland.task_750_body": "", + "text.decisland.task_750_complete": "Task Complete!", + "text.decisland.task_750_title": "", + "text.decisland.task_751_body": "", + "text.decisland.task_751_complete": "Task Complete!", + "text.decisland.task_751_title": "", + "text.decisland.task_752_body": "", + "text.decisland.task_752_complete": "Task Complete!", + "text.decisland.task_752_title": "", + "text.decisland.task_753_body": "", + "text.decisland.task_753_complete": "Task Complete!", + "text.decisland.task_753_title": "", + "text.decisland.task_754_body": "", + "text.decisland.task_754_complete": "Task Complete!", + "text.decisland.task_754_title": "", + "text.decisland.task_755_body": "", + "text.decisland.task_755_complete": "Task Complete!", + "text.decisland.task_755_title": "", + "text.decisland.task_756_body": "", + "text.decisland.task_756_complete": "Task Complete!", + "text.decisland.task_756_title": "", + "text.decisland.task_757_body": "", + "text.decisland.task_757_complete": "Task Complete!", + "text.decisland.task_757_title": "", + "text.decisland.task_758_body": "", + "text.decisland.task_758_complete": "Task Complete!", + "text.decisland.task_758_title": "", + "text.decisland.task_759_body": "", + "text.decisland.task_759_complete": "Task Complete!", + "text.decisland.task_759_title": "", + "text.decisland.task_760_body": "", + "text.decisland.task_760_complete": "Task Complete!", + "text.decisland.task_760_title": "", + "text.decisland.task_761_body": "", + "text.decisland.task_761_complete": "Task Complete!", + "text.decisland.task_761_title": "", + "text.decisland.task_762_body": "", + "text.decisland.task_762_complete": "Task Complete!", + "text.decisland.task_762_title": "", + "text.decisland.task_763_body": "", + "text.decisland.task_763_complete": "Task Complete!", + "text.decisland.task_763_title": "", + "text.decisland.task_764_body": "", + "text.decisland.task_764_complete": "Task Complete!", + "text.decisland.task_764_title": "", + "text.decisland.task_765_body": "", + "text.decisland.task_765_complete": "Task Complete!", + "text.decisland.task_765_title": "", + "text.decisland.task_766_body": "", + "text.decisland.task_766_complete": "Task Complete!", + "text.decisland.task_766_title": "", + "text.decisland.task_767_body": "", + "text.decisland.task_767_complete": "Task Complete!", + "text.decisland.task_767_title": "", + "text.decisland.task_768_body": "", + "text.decisland.task_768_complete": "Task Complete!", + "text.decisland.task_768_title": "", + "text.decisland.task_769_body": "", + "text.decisland.task_769_complete": "Task Complete!", + "text.decisland.task_769_title": "", + "text.decisland.task_770_body": "", + "text.decisland.task_770_complete": "Task Complete!", + "text.decisland.task_770_title": "", + "text.decisland.task_771_body": "", + "text.decisland.task_771_complete": "Task Complete!", + "text.decisland.task_771_title": "", + "text.decisland.task_772_body": "", + "text.decisland.task_772_complete": "Task Complete!", + "text.decisland.task_772_title": "", + "text.decisland.task_773_body": "", + "text.decisland.task_773_complete": "Task Complete!", + "text.decisland.task_773_title": "", + "text.decisland.task_774_body": "", + "text.decisland.task_774_complete": "Task Complete!", + "text.decisland.task_774_title": "", + "text.decisland.task_775_body": "", + "text.decisland.task_775_complete": "Task Complete!", + "text.decisland.task_775_title": "", + "text.decisland.task_776_body": "", + "text.decisland.task_776_complete": "Task Complete!", + "text.decisland.task_776_title": "", + "text.decisland.task_777_body": "", + "text.decisland.task_777_complete": "Task Complete!", + "text.decisland.task_777_title": "", + "text.decisland.task_778_body": "", + "text.decisland.task_778_complete": "Task Complete!", + "text.decisland.task_778_title": "", + "text.decisland.task_779_body": "", + "text.decisland.task_779_complete": "Task Complete!", + "text.decisland.task_779_title": "", + "text.decisland.task_780_body": "", + "text.decisland.task_780_complete": "Task Complete!", + "text.decisland.task_780_title": "", + "text.decisland.task_781_body": "", + "text.decisland.task_781_complete": "Task Complete!", + "text.decisland.task_781_title": "", + "text.decisland.task_782_body": "", + "text.decisland.task_782_complete": "Task Complete!", + "text.decisland.task_782_title": "", + "text.decisland.task_783_body": "", + "text.decisland.task_783_complete": "Task Complete!", + "text.decisland.task_783_title": "", + "text.decisland.task_784_body": "", + "text.decisland.task_784_complete": "Task Complete!", + "text.decisland.task_784_title": "", + "text.decisland.task_785_body": "", + "text.decisland.task_785_complete": "Task Complete!", + "text.decisland.task_785_title": "", + "text.decisland.task_786_body": "", + "text.decisland.task_786_complete": "Task Complete!", + "text.decisland.task_786_title": "", + "text.decisland.task_787_body": "", + "text.decisland.task_787_complete": "Task Complete!", + "text.decisland.task_787_title": "", + "text.decisland.task_788_body": "", + "text.decisland.task_788_complete": "Task Complete!", + "text.decisland.task_788_title": "", + "text.decisland.task_789_body": "", + "text.decisland.task_789_complete": "Task Complete!", + "text.decisland.task_789_title": "", + "text.decisland.task_790_body": "", + "text.decisland.task_790_complete": "Task Complete!", + "text.decisland.task_790_title": "", + "text.decisland.task_791_body": "", + "text.decisland.task_791_complete": "Task Complete!", + "text.decisland.task_791_title": "", + "text.decisland.task_792_body": "", + "text.decisland.task_792_complete": "Task Complete!", + "text.decisland.task_792_title": "", + "text.decisland.task_793_body": "", + "text.decisland.task_793_complete": "Task Complete!", + "text.decisland.task_793_title": "", + "text.decisland.task_794_body": "", + "text.decisland.task_794_complete": "Task Complete!", + "text.decisland.task_794_title": "", + "text.decisland.task_795_body": "", + "text.decisland.task_795_complete": "Task Complete!", + "text.decisland.task_795_title": "", + "text.decisland.task_796_body": "", + "text.decisland.task_796_complete": "Task Complete!", + "text.decisland.task_796_title": "", + "text.decisland.task_797_body": "", + "text.decisland.task_797_complete": "Task Complete!", + "text.decisland.task_797_title": "", + "text.decisland.task_798_body": "", + "text.decisland.task_798_complete": "Task Complete!", + "text.decisland.task_798_title": "", + "text.decisland.task_799_body": "", + "text.decisland.task_799_complete": "Task Complete!", + "text.decisland.task_799_title": "", + "text.decisland.task_800_body": "", + "text.decisland.task_800_complete": "Task Complete!", + "text.decisland.task_800_title": "", + "text.decisland.task_801_body": "", + "text.decisland.task_801_complete": "Task Complete!", + "text.decisland.task_801_title": "", + "text.decisland.task_802_body": "", + "text.decisland.task_802_complete": "Task Complete!", + "text.decisland.task_802_title": "", + "text.decisland.task_803_body": "", + "text.decisland.task_803_complete": "Task Complete!", + "text.decisland.task_803_title": "", + "text.decisland.task_804_body": "", + "text.decisland.task_804_complete": "Task Complete!", + "text.decisland.task_804_title": "", + "text.decisland.task_805_body": "", + "text.decisland.task_805_complete": "Task Complete!", + "text.decisland.task_805_title": "", + "text.decisland.task_806_body": "", + "text.decisland.task_806_complete": "Task Complete!", + "text.decisland.task_806_title": "", + "text.decisland.task_807_body": "", + "text.decisland.task_807_complete": "Task Complete!", + "text.decisland.task_807_title": "", + "text.decisland.task_808_body": "", + "text.decisland.task_808_complete": "Task Complete!", + "text.decisland.task_808_title": "", + "text.decisland.task_809_body": "", + "text.decisland.task_809_complete": "Task Complete!", + "text.decisland.task_809_title": "", + "text.decisland.task_810_body": "", + "text.decisland.task_810_complete": "Task Complete!", + "text.decisland.task_810_title": "", + "text.decisland.task_811_body": "", + "text.decisland.task_811_complete": "Task Complete!", + "text.decisland.task_811_title": "", + "text.decisland.task_812_body": "", + "text.decisland.task_812_complete": "Task Complete!", + "text.decisland.task_812_title": "", + "text.decisland.task_813_body": "", + "text.decisland.task_813_complete": "Task Complete!", + "text.decisland.task_813_title": "", + "text.decisland.task_814_body": "", + "text.decisland.task_814_complete": "Task Complete!", + "text.decisland.task_814_title": "", + "text.decisland.task_815_body": "", + "text.decisland.task_815_complete": "Task Complete!", + "text.decisland.task_815_title": "", + "text.decisland.task_816_body": "", + "text.decisland.task_816_complete": "Task Complete!", + "text.decisland.task_816_title": "", + "text.decisland.task_817_body": "", + "text.decisland.task_817_complete": "Task Complete!", + "text.decisland.task_817_title": "", + "text.decisland.task_818_body": "", + "text.decisland.task_818_complete": "Task Complete!", + "text.decisland.task_818_title": "", + "text.decisland.task_819_body": "", + "text.decisland.task_819_complete": "Task Complete!", + "text.decisland.task_819_title": "", + "text.decisland.task_820_body": "", + "text.decisland.task_820_complete": "Task Complete!", + "text.decisland.task_820_title": "", + "text.decisland.task_821_body": "", + "text.decisland.task_821_complete": "Task Complete!", + "text.decisland.task_821_title": "", + "text.decisland.task_822_body": "", + "text.decisland.task_822_complete": "Task Complete!", + "text.decisland.task_822_title": "", + "text.decisland.task_823_body": "", + "text.decisland.task_823_complete": "Task Complete!", + "text.decisland.task_823_title": "", + "text.decisland.task_824_body": "", + "text.decisland.task_824_complete": "Task Complete!", + "text.decisland.task_824_title": "", + "text.decisland.task_825_body": "", + "text.decisland.task_825_complete": "Task Complete!", + "text.decisland.task_825_title": "", + "text.decisland.task_826_body": "", + "text.decisland.task_826_complete": "Task Complete!", + "text.decisland.task_826_title": "", + "text.decisland.task_827_body": "", + "text.decisland.task_827_complete": "Task Complete!", + "text.decisland.task_827_title": "", + "text.decisland.task_828_body": "", + "text.decisland.task_828_complete": "Task Complete!", + "text.decisland.task_828_title": "", + "text.decisland.task_829_body": "", + "text.decisland.task_829_complete": "Task Complete!", + "text.decisland.task_829_title": "", + "text.decisland.task_830_body": "", + "text.decisland.task_830_complete": "Task Complete!", + "text.decisland.task_830_title": "", + "text.decisland.task_831_body": "", + "text.decisland.task_831_complete": "Task Complete!", + "text.decisland.task_831_title": "", + "text.decisland.task_832_body": "", + "text.decisland.task_832_complete": "Task Complete!", + "text.decisland.task_832_title": "", + "text.decisland.task_833_body": "", + "text.decisland.task_833_complete": "Task Complete!", + "text.decisland.task_833_title": "", + "text.decisland.task_834_body": "", + "text.decisland.task_834_complete": "Task Complete!", + "text.decisland.task_834_title": "", + "text.decisland.task_835_body": "", + "text.decisland.task_835_complete": "Task Complete!", + "text.decisland.task_835_title": "", + "text.decisland.task_836_body": "", + "text.decisland.task_836_complete": "Task Complete!", + "text.decisland.task_836_title": "", + "text.decisland.task_837_body": "", + "text.decisland.task_837_complete": "Task Complete!", + "text.decisland.task_837_title": "", + "text.decisland.task_838_body": "", + "text.decisland.task_838_complete": "Task Complete!", + "text.decisland.task_838_title": "", + "text.decisland.task_839_body": "", + "text.decisland.task_839_complete": "Task Complete!", + "text.decisland.task_839_title": "", + "text.decisland.task_840_body": "", + "text.decisland.task_840_complete": "Task Complete!", + "text.decisland.task_840_title": "", + "text.decisland.task_841_body": "", + "text.decisland.task_841_complete": "Task Complete!", + "text.decisland.task_841_title": "", + "text.decisland.task_842_body": "", + "text.decisland.task_842_complete": "Task Complete!", + "text.decisland.task_842_title": "", + "text.decisland.task_843_body": "", + "text.decisland.task_843_complete": "Task Complete!", + "text.decisland.task_843_title": "", + "text.decisland.task_844_body": "", + "text.decisland.task_844_complete": "Task Complete!", + "text.decisland.task_844_title": "", + "text.decisland.task_845_body": "", + "text.decisland.task_845_complete": "Task Complete!", + "text.decisland.task_845_title": "", + "text.decisland.task_846_body": "", + "text.decisland.task_846_complete": "Task Complete!", + "text.decisland.task_846_title": "", + "text.decisland.task_847_body": "", + "text.decisland.task_847_complete": "Task Complete!", + "text.decisland.task_847_title": "", + "text.decisland.task_848_body": "", + "text.decisland.task_848_complete": "Task Complete!", + "text.decisland.task_848_title": "", + "text.decisland.task_849_body": "", + "text.decisland.task_849_complete": "Task Complete!", + "text.decisland.task_849_title": "", + "text.decisland.task_850_body": "", + "text.decisland.task_850_complete": "Task Complete!", + "text.decisland.task_850_title": "", + "text.decisland.task_851_body": "", + "text.decisland.task_851_complete": "Task Complete!", + "text.decisland.task_851_title": "", + "text.decisland.task_852_body": "", + "text.decisland.task_852_complete": "Task Complete!", + "text.decisland.task_852_title": "", + "text.decisland.task_853_body": "", + "text.decisland.task_853_complete": "Task Complete!", + "text.decisland.task_853_title": "", + "text.decisland.task_854_body": "", + "text.decisland.task_854_complete": "Task Complete!", + "text.decisland.task_854_title": "", + "text.decisland.task_855_body": "", + "text.decisland.task_855_complete": "Task Complete!", + "text.decisland.task_855_title": "", + "text.decisland.task_856_body": "", + "text.decisland.task_856_complete": "Task Complete!", + "text.decisland.task_856_title": "", + "text.decisland.task_857_body": "", + "text.decisland.task_857_complete": "Task Complete!", + "text.decisland.task_857_title": "", + "text.decisland.task_858_body": "", + "text.decisland.task_858_complete": "Task Complete!", + "text.decisland.task_858_title": "", + "text.decisland.task_859_body": "", + "text.decisland.task_859_complete": "Task Complete!", + "text.decisland.task_859_title": "", + "text.decisland.task_860_body": "", + "text.decisland.task_860_complete": "Task Complete!", + "text.decisland.task_860_title": "", + "text.decisland.task_861_body": "", + "text.decisland.task_861_complete": "Task Complete!", + "text.decisland.task_861_title": "", + "text.decisland.task_862_body": "", + "text.decisland.task_862_complete": "Task Complete!", + "text.decisland.task_862_title": "", + "text.decisland.task_863_body": "", + "text.decisland.task_863_complete": "Task Complete!", + "text.decisland.task_863_title": "", + "text.decisland.task_864_body": "", + "text.decisland.task_864_complete": "Task Complete!", + "text.decisland.task_864_title": "", + "text.decisland.task_865_body": "", + "text.decisland.task_865_complete": "Task Complete!", + "text.decisland.task_865_title": "", + "text.decisland.task_866_body": "", + "text.decisland.task_866_complete": "Task Complete!", + "text.decisland.task_866_title": "", + "text.decisland.task_867_body": "", + "text.decisland.task_867_complete": "Task Complete!", + "text.decisland.task_867_title": "", + "text.decisland.task_868_body": "", + "text.decisland.task_868_complete": "Task Complete!", + "text.decisland.task_868_title": "", + "text.decisland.task_869_body": "", + "text.decisland.task_869_complete": "Task Complete!", + "text.decisland.task_869_title": "", + "text.decisland.task_870_body": "", + "text.decisland.task_870_complete": "Task Complete!", + "text.decisland.task_870_title": "", + "text.decisland.task_871_body": "", + "text.decisland.task_871_complete": "Task Complete!", + "text.decisland.task_871_title": "", + "text.decisland.task_872_body": "", + "text.decisland.task_872_complete": "Task Complete!", + "text.decisland.task_872_title": "", + "text.decisland.task_873_body": "", + "text.decisland.task_873_complete": "Task Complete!", + "text.decisland.task_873_title": "", + "text.decisland.task_874_body": "", + "text.decisland.task_874_complete": "Task Complete!", + "text.decisland.task_874_title": "", + "text.decisland.task_875_body": "", + "text.decisland.task_875_complete": "Task Complete!", + "text.decisland.task_875_title": "", + "text.decisland.task_876_body": "", + "text.decisland.task_876_complete": "Task Complete!", + "text.decisland.task_876_title": "", + "text.decisland.task_877_body": "", + "text.decisland.task_877_complete": "Task Complete!", + "text.decisland.task_877_title": "", + "text.decisland.task_878_body": "", + "text.decisland.task_878_complete": "Task Complete!", + "text.decisland.task_878_title": "", + "text.decisland.task_879_body": "", + "text.decisland.task_879_complete": "Task Complete!", + "text.decisland.task_879_title": "", + "text.decisland.task_880_body": "", + "text.decisland.task_880_complete": "Task Complete!", + "text.decisland.task_880_title": "", + "text.decisland.task_881_body": "", + "text.decisland.task_881_complete": "Task Complete!", + "text.decisland.task_881_title": "", + "text.decisland.task_882_body": "", + "text.decisland.task_882_complete": "Task Complete!", + "text.decisland.task_882_title": "", + "text.decisland.task_883_body": "", + "text.decisland.task_883_complete": "Task Complete!", + "text.decisland.task_883_title": "", + "text.decisland.task_884_body": "", + "text.decisland.task_884_complete": "Task Complete!", + "text.decisland.task_884_title": "", + "text.decisland.task_885_body": "", + "text.decisland.task_885_complete": "Task Complete!", + "text.decisland.task_885_title": "", + "text.decisland.task_886_body": "", + "text.decisland.task_886_complete": "Task Complete!", + "text.decisland.task_886_title": "", + "text.decisland.task_887_body": "", + "text.decisland.task_887_complete": "Task Complete!", + "text.decisland.task_887_title": "", + "text.decisland.task_888_body": "", + "text.decisland.task_888_complete": "Task Complete!", + "text.decisland.task_888_title": "", + "text.decisland.task_889_body": "", + "text.decisland.task_889_complete": "Task Complete!", + "text.decisland.task_889_title": "", + "text.decisland.task_890_body": "", + "text.decisland.task_890_complete": "Task Complete!", + "text.decisland.task_890_title": "", + "text.decisland.task_891_body": "", + "text.decisland.task_891_complete": "Task Complete!", + "text.decisland.task_891_title": "", + "text.decisland.task_892_body": "", + "text.decisland.task_892_complete": "Task Complete!", + "text.decisland.task_892_title": "", + "text.decisland.task_893_body": "", + "text.decisland.task_893_complete": "Task Complete!", + "text.decisland.task_893_title": "", + "text.decisland.task_894_body": "", + "text.decisland.task_894_complete": "Task Complete!", + "text.decisland.task_894_title": "", + "text.decisland.task_895_body": "", + "text.decisland.task_895_complete": "Task Complete!", + "text.decisland.task_895_title": "", + "text.decisland.task_896_body": "", + "text.decisland.task_896_complete": "Task Complete!", + "text.decisland.task_896_title": "", + "text.decisland.task_897_body": "", + "text.decisland.task_897_complete": "Task Complete!", + "text.decisland.task_897_title": "", + "text.decisland.task_898_body": "", + "text.decisland.task_898_complete": "Task Complete!", + "text.decisland.task_898_title": "", + "text.decisland.task_899_body": "", + "text.decisland.task_899_complete": "Task Complete!", + "text.decisland.task_899_title": "", + "text.decisland.task_900_body": "", + "text.decisland.task_900_complete": "Task Complete!", + "text.decisland.task_900_title": "", + "text.decisland.task_901_body": "", + "text.decisland.task_901_complete": "Task Complete!", + "text.decisland.task_901_title": "", + "text.decisland.task_902_body": "", + "text.decisland.task_902_complete": "Task Complete!", + "text.decisland.task_902_title": "", + "text.decisland.task_903_body": "", + "text.decisland.task_903_complete": "Task Complete!", + "text.decisland.task_903_title": "", + "text.decisland.task_904_body": "", + "text.decisland.task_904_complete": "Task Complete!", + "text.decisland.task_904_title": "", + "text.decisland.task_905_body": "", + "text.decisland.task_905_complete": "Task Complete!", + "text.decisland.task_905_title": "", + "text.decisland.task_906_body": "", + "text.decisland.task_906_complete": "Task Complete!", + "text.decisland.task_906_title": "", + "text.decisland.task_907_body": "", + "text.decisland.task_907_complete": "Task Complete!", + "text.decisland.task_907_title": "", + "text.decisland.task_908_body": "", + "text.decisland.task_908_complete": "Task Complete!", + "text.decisland.task_908_title": "", + "text.decisland.task_909_body": "", + "text.decisland.task_909_complete": "Task Complete!", + "text.decisland.task_909_title": "", + "text.decisland.task_910_body": "", + "text.decisland.task_910_complete": "Task Complete!", + "text.decisland.task_910_title": "", + "text.decisland.task_911_body": "", + "text.decisland.task_911_complete": "Task Complete!", + "text.decisland.task_911_title": "", + "text.decisland.task_912_body": "", + "text.decisland.task_912_complete": "Task Complete!", + "text.decisland.task_912_title": "", + "text.decisland.task_913_body": "", + "text.decisland.task_913_complete": "Task Complete!", + "text.decisland.task_913_title": "", + "text.decisland.task_914_body": "", + "text.decisland.task_914_complete": "Task Complete!", + "text.decisland.task_914_title": "", + "text.decisland.task_915_body": "", + "text.decisland.task_915_complete": "Task Complete!", + "text.decisland.task_915_title": "", + "text.decisland.task_916_body": "", + "text.decisland.task_916_complete": "Task Complete!", + "text.decisland.task_916_title": "", + "text.decisland.task_917_body": "", + "text.decisland.task_917_complete": "Task Complete!", + "text.decisland.task_917_title": "", + "text.decisland.task_918_body": "", + "text.decisland.task_918_complete": "Task Complete!", + "text.decisland.task_918_title": "", + "text.decisland.task_919_body": "", + "text.decisland.task_919_complete": "Task Complete!", + "text.decisland.task_919_title": "", + "text.decisland.task_920_body": "", + "text.decisland.task_920_complete": "Task Complete!", + "text.decisland.task_920_title": "", + "text.decisland.task_921_body": "", + "text.decisland.task_921_complete": "Task Complete!", + "text.decisland.task_921_title": "", + "text.decisland.task_922_body": "", + "text.decisland.task_922_complete": "Task Complete!", + "text.decisland.task_922_title": "", + "text.decisland.task_923_body": "", + "text.decisland.task_923_complete": "Task Complete!", + "text.decisland.task_923_title": "", + "text.decisland.task_924_body": "", + "text.decisland.task_924_complete": "Task Complete!", + "text.decisland.task_924_title": "", + "text.decisland.task_925_body": "", + "text.decisland.task_925_complete": "Task Complete!", + "text.decisland.task_925_title": "", + "text.decisland.task_926_body": "", + "text.decisland.task_926_complete": "Task Complete!", + "text.decisland.task_926_title": "", + "text.decisland.task_927_body": "", + "text.decisland.task_927_complete": "Task Complete!", + "text.decisland.task_927_title": "", + "text.decisland.task_928_body": "", + "text.decisland.task_928_complete": "Task Complete!", + "text.decisland.task_928_title": "", + "text.decisland.task_929_body": "", + "text.decisland.task_929_complete": "Task Complete!", + "text.decisland.task_929_title": "", + "text.decisland.task_930_body": "", + "text.decisland.task_930_complete": "Task Complete!", + "text.decisland.task_930_title": "", + "text.decisland.task_931_body": "", + "text.decisland.task_931_complete": "Task Complete!", + "text.decisland.task_931_title": "", + "text.decisland.task_932_body": "", + "text.decisland.task_932_complete": "Task Complete!", + "text.decisland.task_932_title": "", + "text.decisland.task_933_body": "", + "text.decisland.task_933_complete": "Task Complete!", + "text.decisland.task_933_title": "", + "text.decisland.task_934_body": "", + "text.decisland.task_934_complete": "Task Complete!", + "text.decisland.task_934_title": "", + "text.decisland.task_935_body": "", + "text.decisland.task_935_complete": "Task Complete!", + "text.decisland.task_935_title": "", + "text.decisland.task_936_body": "", + "text.decisland.task_936_complete": "Task Complete!", + "text.decisland.task_936_title": "", + "text.decisland.task_937_body": "", + "text.decisland.task_937_complete": "Task Complete!", + "text.decisland.task_937_title": "", + "text.decisland.task_938_body": "", + "text.decisland.task_938_complete": "Task Complete!", + "text.decisland.task_938_title": "", + "text.decisland.task_939_body": "", + "text.decisland.task_939_complete": "Task Complete!", + "text.decisland.task_939_title": "", + "text.decisland.task_940_body": "", + "text.decisland.task_940_complete": "Task Complete!", + "text.decisland.task_940_title": "", + "text.decisland.task_941_body": "", + "text.decisland.task_941_complete": "Task Complete!", + "text.decisland.task_941_title": "", + "text.decisland.task_942_body": "", + "text.decisland.task_942_complete": "Task Complete!", + "text.decisland.task_942_title": "", + "text.decisland.task_943_body": "", + "text.decisland.task_943_complete": "Task Complete!", + "text.decisland.task_943_title": "", + "text.decisland.task_944_body": "", + "text.decisland.task_944_complete": "Task Complete!", + "text.decisland.task_944_title": "", + "text.decisland.task_945_body": "", + "text.decisland.task_945_complete": "Task Complete!", + "text.decisland.task_945_title": "", + "text.decisland.task_946_body": "", + "text.decisland.task_946_complete": "Task Complete!", + "text.decisland.task_946_title": "", + "text.decisland.task_947_body": "", + "text.decisland.task_947_complete": "Task Complete!", + "text.decisland.task_947_title": "", + "text.decisland.task_948_body": "", + "text.decisland.task_948_complete": "Task Complete!", + "text.decisland.task_948_title": "", + "text.decisland.task_949_body": "", + "text.decisland.task_949_complete": "Task Complete!", + "text.decisland.task_949_title": "", + "text.decisland.task_950_body": "", + "text.decisland.task_950_complete": "Task Complete!", + "text.decisland.task_950_title": "", + "text.decisland.task_951_body": "", + "text.decisland.task_951_complete": "Task Complete!", + "text.decisland.task_951_title": "", + "text.decisland.task_952_body": "", + "text.decisland.task_952_complete": "Task Complete!", + "text.decisland.task_952_title": "", + "text.decisland.task_953_body": "", + "text.decisland.task_953_complete": "Task Complete!", + "text.decisland.task_953_title": "", + "text.decisland.task_954_body": "", + "text.decisland.task_954_complete": "Task Complete!", + "text.decisland.task_954_title": "", + "text.decisland.task_955_body": "", + "text.decisland.task_955_complete": "Task Complete!", + "text.decisland.task_955_title": "", + "text.decisland.task_956_body": "", + "text.decisland.task_956_complete": "Task Complete!", + "text.decisland.task_956_title": "", + "text.decisland.task_957_body": "", + "text.decisland.task_957_complete": "Task Complete!", + "text.decisland.task_957_title": "", + "text.decisland.task_958_body": "", + "text.decisland.task_958_complete": "Task Complete!", + "text.decisland.task_958_title": "", + "text.decisland.task_959_body": "", + "text.decisland.task_959_complete": "Task Complete!", + "text.decisland.task_959_title": "", + "text.decisland.task_960_body": "", + "text.decisland.task_960_complete": "Task Complete!", + "text.decisland.task_960_title": "", + "text.decisland.task_961_body": "", + "text.decisland.task_961_complete": "Task Complete!", + "text.decisland.task_961_title": "", + "text.decisland.task_962_body": "", + "text.decisland.task_962_complete": "Task Complete!", + "text.decisland.task_962_title": "", + "text.decisland.task_963_body": "", + "text.decisland.task_963_complete": "Task Complete!", + "text.decisland.task_963_title": "", + "text.decisland.task_964_body": "", + "text.decisland.task_964_complete": "Task Complete!", + "text.decisland.task_964_title": "", + "text.decisland.task_965_body": "", + "text.decisland.task_965_complete": "Task Complete!", + "text.decisland.task_965_title": "", + "text.decisland.task_966_body": "", + "text.decisland.task_966_complete": "Task Complete!", + "text.decisland.task_966_title": "", + "text.decisland.task_967_body": "", + "text.decisland.task_967_complete": "Task Complete!", + "text.decisland.task_967_title": "", + "text.decisland.task_968_body": "", + "text.decisland.task_968_complete": "Task Complete!", + "text.decisland.task_968_title": "", + "text.decisland.task_969_body": "", + "text.decisland.task_969_complete": "Task Complete!", + "text.decisland.task_969_title": "", + "text.decisland.task_970_body": "", + "text.decisland.task_970_complete": "Task Complete!", + "text.decisland.task_970_title": "", + "text.decisland.task_971_body": "", + "text.decisland.task_971_complete": "Task Complete!", + "text.decisland.task_971_title": "", + "text.decisland.task_972_body": "", + "text.decisland.task_972_complete": "Task Complete!", + "text.decisland.task_972_title": "", + "text.decisland.task_973_body": "", + "text.decisland.task_973_complete": "Task Complete!", + "text.decisland.task_973_title": "", + "text.decisland.task_974_body": "", + "text.decisland.task_974_complete": "Task Complete!", + "text.decisland.task_974_title": "", + "text.decisland.task_975_body": "", + "text.decisland.task_975_complete": "Task Complete!", + "text.decisland.task_975_title": "", + "text.decisland.task_976_body": "", + "text.decisland.task_976_complete": "Task Complete!", + "text.decisland.task_976_title": "", + "text.decisland.task_977_body": "", + "text.decisland.task_977_complete": "Task Complete!", + "text.decisland.task_977_title": "", + "text.decisland.task_978_body": "", + "text.decisland.task_978_complete": "Task Complete!", + "text.decisland.task_978_title": "", + "text.decisland.task_979_body": "", + "text.decisland.task_979_complete": "Task Complete!", + "text.decisland.task_979_title": "", + "text.decisland.task_980_body": "", + "text.decisland.task_980_complete": "Task Complete!", + "text.decisland.task_980_title": "", + "text.decisland.task_981_body": "", + "text.decisland.task_981_complete": "Task Complete!", + "text.decisland.task_981_title": "", + "text.decisland.task_982_body": "", + "text.decisland.task_982_complete": "Task Complete!", + "text.decisland.task_982_title": "", + "text.decisland.task_983_body": "", + "text.decisland.task_983_complete": "Task Complete!", + "text.decisland.task_983_title": "", + "text.decisland.task_984_body": "", + "text.decisland.task_984_complete": "Task Complete!", + "text.decisland.task_984_title": "", + "text.decisland.task_985_body": "", + "text.decisland.task_985_complete": "Task Complete!", + "text.decisland.task_985_title": "", + "text.decisland.task_986_body": "", + "text.decisland.task_986_complete": "Task Complete!", + "text.decisland.task_986_title": "", + "text.decisland.task_987_body": "", + "text.decisland.task_987_complete": "Task Complete!", + "text.decisland.task_987_title": "", + "text.decisland.task_988_body": "", + "text.decisland.task_988_complete": "Task Complete!", + "text.decisland.task_988_title": "", + "text.decisland.task_989_body": "", + "text.decisland.task_989_complete": "Task Complete!", + "text.decisland.task_989_title": "", + "text.decisland.task_990_body": "", + "text.decisland.task_990_complete": "Task Complete!", + "text.decisland.task_990_title": "", + "text.decisland.task_991_body": "", + "text.decisland.task_991_complete": "Task Complete!", + "text.decisland.task_991_title": "", + "text.decisland.task_992_body": "", + "text.decisland.task_992_complete": "Task Complete!", + "text.decisland.task_992_title": "", + "text.decisland.task_993_body": "", + "text.decisland.task_993_complete": "Task Complete!", + "text.decisland.task_993_title": "", + "text.decisland.task_994_body": "", + "text.decisland.task_994_complete": "Task Complete!", + "text.decisland.task_994_title": "", + "text.decisland.task_995_body": "", + "text.decisland.task_995_complete": "Task Complete!", + "text.decisland.task_995_title": "", + "text.decisland.task_996_body": "", + "text.decisland.task_996_complete": "Task Complete!", + "text.decisland.task_996_title": "", + "text.decisland.task_997_body": "", + "text.decisland.task_997_complete": "Task Complete!", + "text.decisland.task_997_title": "", + "text.decisland.task_998_body": "", + "text.decisland.task_998_complete": "Task Complete!", + "text.decisland.task_998_title": "", + "text.decisland.task_999_body": "", + "text.decisland.task_999_complete": "Task Complete!", + "text.decisland.task_999_title": "", + "text.decisland.task_choose_body": "Choose a task to know more about it", + "text.decisland.task_choose_title": "Task", + "text.decisland.task_complete_button": "Complete", + "text.decisland.task_fail": "Task do not complete", + "text.decisland.thanks": "§eIn the end,heartflet thanks to persons who make a contribute to the Addon.", + "text.decisland.uptohpl2": "§aHealth Point 5->6.", + "text.decisland.uptohpl3": "§aHealth Point 6->7.", + "text.decisland.uptohpl4": "§aHealth Point 7->8,you need spurt eggs to increase your health point furtherly.", + "text.decisland.uptohpl5": "§aHealth Point 8->9.", + "text.decisland.uptohpl6": "§aHealth Point 9->10,you need ender eggs to increase your health point furtherly.", + "text.decisland.uptohpl7": "§aHealth Point 10->11.", + "text.decisland.uptohpl8": "§aHealth Point 11->12,your health point is full.", + "text.decisland.village_guardian_fail_boss": "§aYour power has been controlled", + "text.decisland.village_guardian_fail_rotate": "§aThe power of the sword seemed to be given by sky" +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/lang/zh_cn.json b/src/generated/resources/assets/decisland/lang/zh_cn.json new file mode 100644 index 0000000..a1ceb38 --- /dev/null +++ b/src/generated/resources/assets/decisland/lang/zh_cn.json @@ -0,0 +1,4462 @@ +{ + "action.hint.exit.dec:brown_bear": "棕熊,蹲下或跳跃离开", + "action.hint.exit.dec:simple_car": "简单小车,蹲下或跳跃离开", + "action.hint.exit.dec:simple_glider": "简单滑翔机,蹲下或跳跃离开", + "action.interact.collect": "采集", + "action.interact.ride.brown_bear": "骑乘", + "action.interact.ride.polar_wolf": "骑乘", + "action.interact.scarecrow_resort": "回收", + "block.decisland.abyssal_summoner": "深海召唤者", + "block.decisland.amethyst_lantern": "紫水晶灯", + "block.decisland.ancient_ice": "远古冰块", + "block.decisland.ash": "灰烬", + "block.decisland.ash_cage": "灰烬牢笼", + "block.decisland.ash_summoner": "灰烬召唤者", + "block.decisland.baby_blue_eyes_flower": "喜林草", + "block.decisland.baby_blue_eyes_flower_crop": "喜林草", + "block.decisland.balloon_flower": "桔梗花", + "block.decisland.balloon_flower_crop": "桔梗花", + "block.decisland.bat_summoner": "蝙蝠召唤者", + "block.decisland.bizarre_chilli_crop": "奇异椒", + "block.decisland.black_flower_block": "黑花团", + "block.decisland.blue_flower_block": "蓝花团", + "block.decisland.blue_gem_ore": "蓝宝石矿", + "block.decisland.blue_ice_brick_block": "蓝冰砖块", + "block.decisland.bracken_crop": "蕨菜", + "block.decisland.breeze_flower": "微风之歌", + "block.decisland.breeze_flower_crop": "微风之歌", + "block.decisland.broken_dirt": "破碎土", + "block.decisland.butter_flower": "黄油郁金香", + "block.decisland.butter_flower_crop": "黄油郁金香", + "block.decisland.butterfly_pea": "蝴蝶豌豆花", + "block.decisland.butterfly_pea_crop": "蝴蝶豌豆花", + "block.decisland.candy_block": "糖果块", + "block.decisland.cave_crate": "洞穴板条箱", + "block.decisland.chiseled_ice_brick": "雕文冰砖", + "block.decisland.christmas_gift_block": "圣诞礼物", + "block.decisland.cloud_flower": "坠云", + "block.decisland.cloud_flower_crop": "坠云", + "block.decisland.compress_flower_block": "压缩花团", + "block.decisland.compressed_ice": "压缩冰", + "block.decisland.corn_crop": "玉米", + "block.decisland.crate": "板条箱", + "block.decisland.crimson_lamp": "绯红之灯", + "block.decisland.crinum": "海百合", + "block.decisland.crinum_crop": "海百合", + "block.decisland.dandelion": "蒲公英花苞", + "block.decisland.dandelion_crop": "蒲公英花苞", + "block.decisland.deep_dandelion": "深渊蒲公英", + "block.decisland.deep_dandelion_crop": "深渊蒲公英", + "block.decisland.deep_summoner": "深渊召唤者", + "block.decisland.depart_grass": "相思草", + "block.decisland.depart_grass_crop": "相思草", + "block.decisland.desert_fan_flower": "沙扇花", + "block.decisland.desert_fan_flower_crop": "沙扇花", + "block.decisland.dirt_ghost_block": "幽魂土块", + "block.decisland.enchanted_summoner": "附魔召唤者", + "block.decisland.end_altar": "终末祭坛", + "block.decisland.end_coal_ore": "末影煤矿", + "block.decisland.end_diamond_ore": "末影钻石矿", + "block.decisland.end_emerald_ore": "末影绿宝石矿", + "block.decisland.end_gold_ore": "末影金矿", + "block.decisland.end_iron_ore": "末影铁矿", + "block.decisland.end_lapis_ore": "末影青金石矿", + "block.decisland.end_ore": "末影矿", + "block.decisland.end_redstone_ore": "末影红石矿", + "block.decisland.everlasting_winter_summoner": "永冬召唤者", + "block.decisland.experience_flower_crop": "经验花", + "block.decisland.eye_of_nature_log": "自然之眼木", + "block.decisland.fan_flower": "扇叶菊", + "block.decisland.fan_flower_crop": "扇叶菊", + "block.decisland.flesh_block": "肉块", + "block.decisland.flower_ghost_block": "幽魂花团", + "block.decisland.flowing_block": "流动块", + "block.decisland.forest_summoner": "深林召唤者", + "block.decisland.fritillary_crop": "贝母", + "block.decisland.frozen_cage": "极寒牢笼", + "block.decisland.frozen_crate": "冰冻板条箱", + "block.decisland.frozen_mirror_flower": "冰镜花", + "block.decisland.frozen_mirror_flower_crop": "冰镜花", + "block.decisland.fuse": "导火索", + "block.decisland.ghost_ice": "幽魂冰", + "block.decisland.gold_flower": "金钱子", + "block.decisland.gold_flower_crop": "金钱子", + "block.decisland.golden_bookshelf": "流金书架", + "block.decisland.golden_bookshelf_frame": "流金书架框架", + "block.decisland.golden_chain": "流金锁链", + "block.decisland.golden_fence_block": "流金栏杆", + "block.decisland.golden_lamp": "流金之灯", + "block.decisland.hammer_flower": "碧十字", + "block.decisland.hammer_flower_crop": "碧十字", + "block.decisland.houttuynia_crop": "折耳根", + "block.decisland.ice_bookshelf": "冰书架", + "block.decisland.ice_brick_block": "冰砖块", + "block.decisland.ice_lantern": "冰灯", + "block.decisland.ice_mixed_brick": "混合冰砖", + "block.decisland.ice_rope_block": "冰绳块", + "block.decisland.item_picker": "物品捡拾机", + "block.decisland.lace_block_black": "深红蕾丝块", + "block.decisland.lace_block_light_red": "浅红蕾丝块", + "block.decisland.lamp_flower": "灯笼花", + "block.decisland.lamp_flower_crop": "灯笼花", + "block.decisland.lampshade": "灯罩", + "block.decisland.lava_flower_crop": "岩浆花", + "block.decisland.lava_ore": "岩浆矿石", + "block.decisland.leaves_flower": "绿叶花", + "block.decisland.leaves_flower_crop": "绿叶花", + "block.decisland.leek_crop": "韭菜植物", + "block.decisland.light_obsidian": "轻质黑曜石", + "block.decisland.lightning_summoner": "雷电召唤者", + "block.decisland.lurk_block": "潜影块", + "block.decisland.lurk_bud": "潜声芽", + "block.decisland.lurk_bud_crop": "潜声芽", + "block.decisland.lurk_end_stone": "潜影末地石", + "block.decisland.lurk_fruit": "潜声果", + "block.decisland.lurk_fruit_crop": "潜声果", + "block.decisland.lurk_grass": "潜影草", + "block.decisland.lurk_log": "潜影木", + "block.decisland.lurk_mushroom": "潜影蘑菇", + "block.decisland.lurk_mushroom_lit": "发光的潜影蘑菇", + "block.decisland.lurk_orchid": "潜声兰", + "block.decisland.lurk_orchid_crop": "潜声兰", + "block.decisland.lurk_spring": "潜影树苗", + "block.decisland.magic_letter_box": "魔法信箱", + "block.decisland.maple_flower": "绫枫花", + "block.decisland.maple_flower_crop": "绫枫花", + "block.decisland.mine": "地雷", + "block.decisland.mining_machine": "挖掘机器", + "block.decisland.mock_strawberry": "蛇莓", + "block.decisland.mock_strawberry_crop": "蛇莓", + "block.decisland.monitor": "监察者", + "block.decisland.monitor_activated": "激活的监察者", + "block.decisland.mooli_crop": "白萝卜", + "block.decisland.mouth_flower": "嘴唇花", + "block.decisland.mouth_flower_crop": "嘴唇花", + "block.decisland.nether_coal_ore": "地狱煤矿", + "block.decisland.nether_dandelion": "地狱蒲公英", + "block.decisland.nether_dandelion_crop": "地狱蒲公英", + "block.decisland.nether_diamond_ore": "地狱钻石矿", + "block.decisland.nether_emerald_ore": "地狱绿宝石矿", + "block.decisland.nether_iron_ore": "地狱铁矿", + "block.decisland.nether_lapis_ore": "地狱青金石矿", + "block.decisland.nether_redstone_ore": "地狱红石矿", + "block.decisland.nether_stick_flower": "矮棍花", + "block.decisland.nether_stick_flower_crop": "矮棍花", + "block.decisland.nightmare_block": "夜魔块", + "block.decisland.nuke_block": "核弹", + "block.decisland.patterned_vase_red_block": "红色纹饰花瓶", + "block.decisland.pink_dandelion": "星云蒲公英", + "block.decisland.pink_dandelion_crop": "星云蒲公英", + "block.decisland.pink_fan_flower": "粉扇花", + "block.decisland.pink_fan_flower_crop": "粉扇花", + "block.decisland.pink_flower_block": "粉花团", + "block.decisland.plain_tower_summoner": "平原塔召唤者", + "block.decisland.purpur_summoner": "紫铂召唤者", + "block.decisland.radiate_dirt": "辐射土", + "block.decisland.radiate_stone": "辐射石头", + "block.decisland.radiate_stonebrick": "辐射石砖", + "block.decisland.raining_summoner": "求雨者", + "block.decisland.red_flower_block": "红花团", + "block.decisland.red_gem_ore": "红宝石矿", + "block.decisland.red_lantern": "红灯笼", + "block.decisland.red_patterned_stonebrick": "红色纹饰瓷砖", + "block.decisland.red_spider_lily": "绽金彼岸", + "block.decisland.red_spider_lily_crop": "绽金彼岸", + "block.decisland.red_stonebrick": "红色石砖", + "block.decisland.rice_crop": "水稻植物", + "block.decisland.rosemary": "迷迭香", + "block.decisland.rosemary_crop": "迷迭香", + "block.decisland.rotten_flesh_block": "腐肉块", + "block.decisland.russet_grass": "赤褐草", + "block.decisland.russet_grass_crop": "赤褐草", + "block.decisland.scale_block": "鱼鳞块", + "block.decisland.small_stone_block_entity": "小石子", + "block.decisland.smooth_amethyst_block": "磨制紫水晶块", + "block.decisland.snow_brick_block": "雪砖块", + "block.decisland.snow_flower": "雪地圣女", + "block.decisland.snow_flower_crop": "雪地圣女", + "block.decisland.snow_lotus": "雪莲花", + "block.decisland.snow_lotus_crop": "雪莲花", + "block.decisland.solidified_lava_block": "凝固岩浆块", + "block.decisland.soul_soil_diamond_ore": "镶钻的灵魂土", + "block.decisland.soul_summoner": "灵魂召唤者", + "block.decisland.soybean_crop": "大豆植物", + "block.decisland.spark_flower": "庭院丁香", + "block.decisland.spark_flower_crop": "庭院丁香", + "block.decisland.spell_flower": "印法花", + "block.decisland.spell_flower_crop": "印法花", + "block.decisland.star_flower": "星星花", + "block.decisland.star_flower_crop": "星星花", + "block.decisland.steel_block": "钢块", + "block.decisland.stick_flower": "点星花棒", + "block.decisland.stick_flower_crop": "点星花棒", + "block.decisland.stone_heap": "石堆", + "block.decisland.stone_road": "石子路", + "block.decisland.stream_ore": "溪流矿", + "block.decisland.summoner": "召唤者", + "block.decisland.sunny_summoner": "晴天召唤者", + "block.decisland.sweet_berries_block": "甜浆果块", + "block.decisland.thin_rope_block": "细绳块", + "block.decisland.thyme": "百里香", + "block.decisland.thyme_crop": "百里香", + "block.decisland.trellis": "种植架", + "block.decisland.trellis_cover": "横向种植架", + "block.decisland.uranium_block": "铀块", + "block.decisland.uranium_ore": "铀矿石", + "block.decisland.white_flower_block": "白花团", + "block.decisland.wither_cone": "枯萎锥", + "block.decisland.wither_cone_crop": "枯萎锥", + "block.decisland.yellow_butterfly_flower": "黄蝴蝶花", + "block.decisland.yellow_butterfly_flower_crop": "黄蝴蝶花", + "block.decisland.yellow_flower_block": "黄花团", + "boss.dec:abyssal_controller.name": "深海牢笼", + "boss.dec:ash_horse.name": "灰烬马", + "boss.dec:ash_horse_head.name": "灰烬马的头", + "boss.dec:ash_knight.name": "灰烬骑士", + "boss.dec:ash_knight_head.name": "灰烬之首", + "boss.dec:ash_sword.name": "灰烬之刃", + "boss.dec:enchant_illager.name": "附魔师", + "boss.dec:entity_soul.name": "实体灵魂", + "boss.dec:escaped_soul.name": "逃逸之魂", + "boss.dec:everlasting_winter_ghast.name": "永冬恶魂", + "boss.dec:host_of_deep.name": "深渊之主", + "boss.dec:king_of_pillager.name": "掠夺者之王", + "boss.dec:leaves_golem.name": "绿叶精华", + "boss.dec:predators.name": "扑食者", + "boss.dec:shadow_soul.name": "暗影之魂", + "createWorldScreen.immediaterespawn": "立即重生§4§l强制关闭§r", + "dec:itemGroup.name.bullet_bags": "子弹带", + "dec:itemGroup.name.bullets": "子弹", + "dec:itemGroup.name.clothes_boots": "鞋", + "dec:itemGroup.name.clothes_chestplates": "上衣", + "dec:itemGroup.name.clothes_helmets": "头饰和帽子", + "dec:itemGroup.name.clothes_leggings": "裤子", + "dec:itemGroup.name.crates": "板条箱", + "dec:itemGroup.name.crystal_nucleus": "晶核", + "dec:itemGroup.name.daggers": "短剑", + "dec:itemGroup.name.darts": "手里剑", + "dec:itemGroup.name.destroy_staffs": "破坏法杖", + "dec:itemGroup.name.evil_crystals": "邪恶水晶", + "dec:itemGroup.name.flintlocks": "枪", + "dec:itemGroup.name.heart_eggs": "生命蛋", + "dec:itemGroup.name.ingots": "锭", + "dec:itemGroup.name.katanas": "太刀", + "dec:itemGroup.name.magic_accessories": "魔法饰品", + "dec:itemGroup.name.magic_books": "魔法书", + "dec:itemGroup.name.magic_gems": "魔法宝石", + "dec:itemGroup.name.masks": "面具", + "dec:itemGroup.name.night_event_items": "夜晚事件物品", + "dec:itemGroup.name.nuggets": "粒", + "dec:itemGroup.name.other_books": "其他书", + "dec:itemGroup.name.rapiers": "刺剑", + "dec:itemGroup.name.rings": "戒指", + "dec:itemGroup.name.sickles": "镰刀", + "dec:itemGroup.name.spears": "长矛", + "dec:itemGroup.name.staffs": "法杖", + "dec:itemGroup.name.sticks_and_rods": "棍棒", + "dec:itemGroup.name.stream_machines": "溪流机械", + "dec:itemGroup.name.summon_items": "召唤物", + "dec:itemGroup.name.summoners": "召唤者", + "dec:itemGroup.name.thrown_sundries": "投掷物", + "dec:itemGroup.name.totems": "图腾", + "effect.decisland.dizziness": "眩晕", + "entity.decisland.abyssal_controller": "深海牢笼", + "entity.decisland.abyssal_shadow": "深海之影", + "entity.decisland.amethyst_dart": "紫水晶手里剑", + "entity.decisland.amethyst_energy_ball": "紫水晶能量球", + "entity.decisland.amethyst_energy_ray": "紫水晶射线", + "entity.decisland.angry_chicken": "愤怒小鸡", + "entity.decisland.archer": "弓箭手", + "entity.decisland.ash_blaze": "灰烬烈焰人", + "entity.decisland.ash_bomb": "灰烬炸弹", + "entity.decisland.ash_energy": "灰烬能量", + "entity.decisland.ash_horse_head": "灰烬马的头", + "entity.decisland.ash_knight": "灰烬骑士", + "entity.decisland.ash_knight_head": "灰烬之首", + "entity.decisland.ash_pufferfish": "灰烬豚", + "entity.decisland.ash_sword": "灰烬之刃", + "entity.decisland.ash_sword_phantom": "灰烬剑影", + "entity.decisland.baby_ender_dragon": "末影幼龙", + "entity.decisland.bamboo_yataghan": "竹长剑", + "entity.decisland.bat_charger": "蝙蝠冲锋者", + "entity.decisland.blackstone_thorn": "黑石刺", + "entity.decisland.blizzard_by_laser": "暴雪能量", + "entity.decisland.blizzard_energy": "暴雪能量", + "entity.decisland.blood_zombie": "血肉之躯", + "entity.decisland.bomber": "轰炸者", + "entity.decisland.brown_bear": "棕熊", + "entity.decisland.bullet_by_catapult_explode": "弹丸", + "entity.decisland.bullet_by_catapult_normal": "弹丸", + "entity.decisland.bullet_by_echo_of_deep": "深渊弹", + "entity.decisland.bullet_by_everlasting_winter_flintlock": "永冬弹", + "entity.decisland.bullet_by_flintlock": "子弹", + "entity.decisland.bullet_by_flintlock_pro": "子弹", + "entity.decisland.bullet_by_ghost_flintlock": "幽魂弹", + "entity.decisland.bullet_by_lava_flintlock": "岩浆弹", + "entity.decisland.bullet_by_short_flintlock": "子弹", + "entity.decisland.bullet_by_star_flintlock": "落星弹", + "entity.decisland.bullet_by_storm_flintlock": "风暴弹", + "entity.decisland.carnager": "屠杀者", + "entity.decisland.caterpillar": "毛毛虫", + "entity.decisland.chest_monster": "箱子怪", + "entity.decisland.chester": "储存者", + "entity.decisland.clam": "蛤", + "entity.decisland.concentrated_ice": "浓缩冰", + "entity.decisland.concentrated_ice_big": "大型浓缩冰", + "entity.decisland.concentrated_soul_bullet": "浓缩灵魂弹", + "entity.decisland.copper_dart": "铜手里剑", + "entity.decisland.coral_dart": "珊瑚手里剑", + "entity.decisland.crab": "螃蟹", + "entity.decisland.crimson_slime": "绯红史莱姆", + "entity.decisland.dark_snow_man": "黑暗雪人", + "entity.decisland.dark_werewolf": "暗狼人", + "entity.decisland.deep_cloud": "深渊魔雾", + "entity.decisland.deep_energy": "深渊能量", + "entity.decisland.diamond_dart": "钻石手里剑", + "entity.decisland.doctor": "医生", + "entity.decisland.dragon_fireball_by_player": "龙息弹", + "entity.decisland.dragon_head": "龙头", + "entity.decisland.elf_of_ash": "灰烬精灵", + "entity.decisland.elf_of_chaos": "混沌之灵", + "entity.decisland.elf_of_deep": "深渊精灵", + "entity.decisland.elf_of_dust": "尘埃精灵", + "entity.decisland.elf_of_leaves": "绿叶精灵", + "entity.decisland.emerald_dart": "绿宝石手里剑", + "entity.decisland.enchant_armor": "附魔盔甲", + "entity.decisland.enchant_armor_by_boss": "附魔盔甲", + "entity.decisland.enchant_diamond_armor": "附魔钻石甲", + "entity.decisland.enchant_illager": "附魔师", + "entity.decisland.enchant_illager_1": "附魔师", + "entity.decisland.enchant_illager_2": "附魔师", + "entity.decisland.end_stone_golem": "末地石傀儡", + "entity.decisland.ender_breath": "末影之息", + "entity.decisland.ender_snail": "末影蜗牛", + "entity.decisland.ender_snake": "末影蟒", + "entity.decisland.ender_snake_ball": "末影莽球", + "entity.decisland.ender_witch": "末影女巫", + "entity.decisland.ender_witch_puppet": "末影女巫分身", + "entity.decisland.energy_ball": "能量球", + "entity.decisland.energy_ray": "能量射线", + "entity.decisland.entity_soul": "真实之魂", + "entity.decisland.entity_soul_1": "真实之魂", + "entity.decisland.escaped_soul": "逃逸之魂", + "entity.decisland.escaped_soul_1": "逃逸之魂", + "entity.decisland.escaped_soul_2": "逃逸之魂", + "entity.decisland.escaped_soul_3": "逃逸之魂", + "entity.decisland.escaped_soul_entity": "逃逸之魂", + "entity.decisland.everlasting_winter_crystal": "永冬水晶", + "entity.decisland.everlasting_winter_dart": "永冬手里剑", + "entity.decisland.everlasting_winter_ghast": "永冬恶魂", + "entity.decisland.everlasting_winter_ghast_1": "永冬恶魂", + "entity.decisland.everlasting_winter_shadow": "永冬之影", + "entity.decisland.evil_snow_man": "邪恶雪人", + "entity.decisland.fake_fireball": "火球", + "entity.decisland.fire_storm": "烈焰风暴", + "entity.decisland.firefly_bottle": "萤火虫瓶", + "entity.decisland.friendly_little_soul": "友好小幽灵", + "entity.decisland.friendly_spider": "友好蜘蛛", + "entity.decisland.frozen_ball": "冰霜球", + "entity.decisland.frozen_ball_inaccurated": "冰霜球", + "entity.decisland.frozen_dart": "霜冻手里剑", + "entity.decisland.frozen_energy_ball": "冰冻能量球", + "entity.decisland.frozen_ghast": "冰霜恶魂", + "entity.decisland.frozen_heart": "冰冻之心", + "entity.decisland.frozen_heart_sleeping": "睡着的冰冻之心", + "entity.decisland.frozen_man": "冰人", + "entity.decisland.frozen_ray": "冰冻射线", + "entity.decisland.frozen_shadow": "寒霜之影", + "entity.decisland.frozen_spider": "冰冻蜘蛛", + "entity.decisland.gargoyle": "石像鬼", + "entity.decisland.gas_bomb": "毒气弹", + "entity.decisland.ghost_diamond_axe": "鬼魂钻石斧", + "entity.decisland.ghost_diamond_staff": "鬼魂钻石法杖", + "entity.decisland.ghost_diamond_sword": "鬼魂钻石剑", + "entity.decisland.ghost_iron_axe": "鬼魂铁斧", + "entity.decisland.ghost_iron_sword": "鬼魂铁剑", + "entity.decisland.ghost_wooden_staff": "鬼魂木法杖", + "entity.decisland.ghost_wooden_sword": "鬼魂木剑", + "entity.decisland.gingerbread_man_by_totem": "姜饼人", + "entity.decisland.goblin": "哥布林", + "entity.decisland.goblin_sniper": "哥布林狙击手", + "entity.decisland.goblin_wizard": "哥布林法师", + "entity.decisland.gold_dart": "金手里剑", + "entity.decisland.golden_energy_ball": "黄金能量球", + "entity.decisland.gravestone": "墓碑", + "entity.decisland.growing_energy_ray": "生长能量射线", + "entity.decisland.hard_bubble": "硬化泡泡", + "entity.decisland.hook_rope": "钩索", + "entity.decisland.host_of_deep": "深渊之主", + "entity.decisland.host_of_deep_1": "深渊之主", + "entity.decisland.host_of_deep_2": "深渊之主", + "entity.decisland.ice_bat": "冰冻蝙蝠", + "entity.decisland.ice_blaze": "寒霜人", + "entity.decisland.ice_block": "冰块", + "entity.decisland.ice_creeper": "冰冻苦力怕", + "entity.decisland.ice_fallblock": "冰块", + "entity.decisland.ice_hook_rope": "极寒钩锁", + "entity.decisland.ice_monster": "冰雪怪", + "entity.decisland.ice_spirit": "冰魂", + "entity.decisland.ice_thorn": "冰刺", + "entity.decisland.ice_wizard": "寒潮法师", + "entity.decisland.ice_zombie": "寒冰僵尸", + "entity.decisland.illusion_zombie": "幻影僵尸", + "entity.decisland.illusioner": "幻术师", + "entity.decisland.iron_dart": "铁手里剑", + "entity.decisland.jungle_spider": "丛林蜘蛛", + "entity.decisland.king_of_pillager": "掠夺者之王", + "entity.decisland.lapis_bomb": "青金石冲击波", + "entity.decisland.lava_dart": "炙热手里剑", + "entity.decisland.lava_lizard": "熔岩蜥蜴", + "entity.decisland.leaves_golem": "绿叶精华", + "entity.decisland.leaves_knife": "绿叶飞刀", + "entity.decisland.levitation_cloud": "悬浮云", + "entity.decisland.levitation_dirt_wall": "漂浮土墙", + "entity.decisland.life_insect": "生命虫", + "entity.decisland.little_bat": "小蝙蝠", + "entity.decisland.little_soul": "小幽灵", + "entity.decisland.lurk_skeleton": "潜声骷髅", + "entity.decisland.lurk_zombie": "潜声僵尸", + "entity.decisland.mind_controller": "意识束缚者", + "entity.decisland.mine": "地雷", + "entity.decisland.muddy_ball": "泥球", + "entity.decisland.mummy": "木乃伊", + "entity.decisland.mummy_skeleton": "干尸", + "entity.decisland.murloc": "鱼人", + "entity.decisland.murloc_wizard": "鱼人法师", + "entity.decisland.mushroom_monster": "蘑菇怪", + "entity.decisland.mushroom_zombie": "真菌僵尸", + "entity.decisland.mystical_skeleton": "神秘骷髅", + "entity.decisland.nautilus": "鹦鹉螺", + "entity.decisland.nether_creeper": "地狱苦力怕", + "entity.decisland.nether_golem": "地狱傀儡", + "entity.decisland.nether_phantom": "地狱幻翼", + "entity.decisland.nether_skeleton": "地狱骷髅", + "entity.decisland.nether_skeleton_wizard": "地狱骷髅法师", + "entity.decisland.netherite_dart": "下界合金手里剑", + "entity.decisland.nightmare_ray": "夜魔射线", + "entity.decisland.nightmare_spore": "夜魔孢子", + "entity.decisland.nuke": "点燃的核弹", + "entity.decisland.obsidian_golem": "黑曜石傀儡", + "entity.decisland.pillager_by_boss": "掠夺者", + "entity.decisland.pirate": "海盗", + "entity.decisland.player_ghost": "不屈的灵魂", + "entity.decisland.poison_dart": "剧毒手里剑", + "entity.decisland.poison_powder": "剧毒粉末", + "entity.decisland.poison_spit": "剧毒唾液", + "entity.decisland.polar_wolf": "北极狼", + "entity.decisland.predators": "扑食者", + "entity.decisland.pumpkin_bomb": "南瓜炸弹", + "entity.decisland.pumpkin_slime": "南瓜头史莱姆", + "entity.decisland.pure_energy_ball": "纯洁能量球", + "entity.decisland.radiate_cloud": "污染云", + "entity.decisland.radiate_creeper": "辐射苦力怕", + "entity.decisland.radiate_crystal": "辐射水晶", + "entity.decisland.radiate_enderman": "辐射末影人", + "entity.decisland.radiate_fog": "污染雾", + "entity.decisland.radiate_skeleton": "辐射骷髅", + "entity.decisland.radiate_spider": "辐射蜘蛛", + "entity.decisland.real_soul": "真魂", + "entity.decisland.rumorer": "灵异闻者", + "entity.decisland.sardine": "沙丁鱼", + "entity.decisland.saucer": "飞碟", + "entity.decisland.saucer_ray": "飞碟射线", + "entity.decisland.scarecrow": "稻草人", + "entity.decisland.sea_urchin": "海胆", + "entity.decisland.shadow_archer": "暗影射手", + "entity.decisland.shadow_creeper": "暗影苦力怕", + "entity.decisland.shadow_crystal": "暗影水晶", + "entity.decisland.shadow_of_deep": "深渊之影", + "entity.decisland.shadow_of_sea": "幻影海妖", + "entity.decisland.shadow_portal": "暗影传送门", + "entity.decisland.shadow_skeleton": "暗影骷髅", + "entity.decisland.shadow_skeleton_puppet": "暗影骷髅分身", + "entity.decisland.shadow_soul_1": "暗影灵魂", + "entity.decisland.shadow_soul_2": "暗影灵魂", + "entity.decisland.shadow_zombie": "暗影僵尸", + "entity.decisland.shadow_zombie_puppet": "暗影僵尸分身", + "entity.decisland.short_wither_cloud": "短暂凋零云雾", + "entity.decisland.simple_car": "简单小车", + "entity.decisland.simple_glider": "简单滑翔机", + "entity.decisland.skeleton_assassin": "骷髅刺客", + "entity.decisland.skeleton_knight": "骷髅骑士", + "entity.decisland.skeleton_knight_commander": "骷髅骑士长", + "entity.decisland.skeleton_warrior": "骷髅战士", + "entity.decisland.skeleton_wizard": "骷髅法师", + "entity.decisland.small_stone_block": "扔出的石块", + "entity.decisland.smoke_bomb": "烟雾弹", + "entity.decisland.snow_energy": "雪能量", + "entity.decisland.soldier": "士兵", + "entity.decisland.son_of_nature": "自然之子", + "entity.decisland.soon_of_chaos": "混沌之子", + "entity.decisland.soul": "灵魂", + "entity.decisland.soul_blaze": "灵魂烈焰人", + "entity.decisland.soul_fireball": "灵魂烈焰弹", + "entity.decisland.soul_insect": "灵魂虫", + "entity.decisland.soul_skeleton": "灵魂骷髅", + "entity.decisland.soul_soldier": "灵魂士兵", + "entity.decisland.soul_wake_bullet": "灵魂尾迹", + "entity.decisland.soul_zombie": "灵魂僵尸", + "entity.decisland.sports_by_book": "魔法黑子", + "entity.decisland.spots": "黑子", + "entity.decisland.spots_overflow": "溢出耀斑", + "entity.decisland.star": "星星", + "entity.decisland.steel_dart": "钢手里剑", + "entity.decisland.stone_dart": "石手里剑", + "entity.decisland.stone_golem": "石头傀儡", + "entity.decisland.storm_energy_ball": "风暴能量球", + "entity.decisland.storm_fuse": "暴风引信", + "entity.decisland.stream_dart": "涌动手里剑", + "entity.decisland.stream_energy_ball": "溪流能量球", + "entity.decisland.sun_energy": "太阳能量", + "entity.decisland.supply_package": "补给包", + "entity.decisland.swamp_drowned": "淤骸", + "entity.decisland.swamp_golem": "沼泽巨怪", + "entity.decisland.thrown_bomb": "炸药包", + "entity.decisland.thunder_ball": "球状闪电", + "entity.decisland.tnt_creeper": "TNT苦力怕", + "entity.decisland.tnt_snow_man": "TNT雪人", + "entity.decisland.vampire_bat": "吸血蝙蝠", + "entity.decisland.vampire_bat_by_boss": "吸血蝙蝠", + "entity.decisland.vengeful_ghost": "怨魂", + "entity.decisland.village_portal": "村庄传送门", + "entity.decisland.vindicator_by_boss": "卫道士", + "entity.decisland.void_whispering_dagger": "虚空之低语", + "entity.decisland.warped_skeleton": "扭曲骷髅", + "entity.decisland.watcher": "看守者", + "entity.decisland.wave_energy": "潮涌能量", + "entity.decisland.wave_energy_inaccurated": "潮涌能量", + "entity.decisland.werewolf": "狼人", + "entity.decisland.winter_energy": "冬季能量", + "entity.decisland.wither_cloud": "凋零云雾", + "entity.decisland.wood_dart": "木手里剑", + "entity.decisland.zombie_fish": "僵尸鱼", + "entity.decisland.zombie_summoner": "僵尸召唤师", + "entity.decisland.zombie_warrior": "僵尸战士", + "event.dec:radiate_crystal.name": "污染", + "event.dec:shadow_crystal.name": "暗影侵袭", + "item.decisland.a_bowl_of_rice": "米饭", + "item.decisland.a_piece_of_salmon": "生鱼片", + "item.decisland.absolute_zero": "绝对零度", + "item.decisland.abyssal_controller_mask": "深海牢笼面具", + "item.decisland.agent_mask": "机器人面具", + "item.decisland.alchemic_stone": "炼金石", + "item.decisland.alex_mask": "艾利克斯面具", + "item.decisland.allay_mask": "悦灵面具", + "item.decisland.amethyst_axe": "紫水晶斧", + "item.decisland.amethyst_boots": "紫水晶靴子", + "item.decisland.amethyst_chestplate": "紫水晶胸甲", + "item.decisland.amethyst_dagger": "紫水晶短剑", + "item.decisland.amethyst_dart": "紫水晶手里剑", + "item.decisland.amethyst_helmet": "紫水晶头盔", + "item.decisland.amethyst_leggings": "紫水晶护腿", + "item.decisland.amethyst_pickaxe": "紫水晶镐", + "item.decisland.amethyst_ray_staff": "紫水晶射线杖", + "item.decisland.amethyst_sword": "紫水晶剑", + "item.decisland.angel_purification": "净化使者", + "item.decisland.apple_juice": "苹果汁", + "item.decisland.apple_pie": "苹果派", + "item.decisland.archer_bullet_bag": "射手子弹袋", + "item.decisland.archer_hat": "射手帽", + "item.decisland.archer_stones_bag": "射手石子袋", + "item.decisland.arctic_fox_mask": "雪狐面具", + "item.decisland.ash_blaze_mask": "灰烬烈焰人面具", + "item.decisland.ash_key": "灰烬钥匙", + "item.decisland.ash_knight_mask": "灰烬骑士面具", + "item.decisland.ash_pufferfish": "红肿灰烬豚", + "item.decisland.ash_pufferfish_mask": "灰烬河豚面具", + "item.decisland.autumn_leaves": "秋叶", + "item.decisland.axolotl_blue_mask": "蓝色美西螈面具", + "item.decisland.axolotl_cyan_mask": "青色美西螈面具", + "item.decisland.axolotl_gold_mask": "金色美西螈面具", + "item.decisland.axolotl_lucy_mask": "粉红色美西螈面具", + "item.decisland.axolotl_wild_mask": "棕色面具", + "item.decisland.baby_blue_eyes_flower": "喜林草", + "item.decisland.balloon_flower": "桔梗花", + "item.decisland.bamboo_katana": "竹太刀", + "item.decisland.bamboo_yataghan": "竹长剑", + "item.decisland.bat_bait": "蝙蝠诱饵", + "item.decisland.bat_mask": "蝙蝠面具", + "item.decisland.bat_staff": "蝙蝠杖", + "item.decisland.bat_wing": "残缺蝙蝠翅", + "item.decisland.bee_mask": "蜜蜂面具", + "item.decisland.bizarre_chilli": "奇异椒", + "item.decisland.bizarre_chilli_seeds": "奇异椒种子", + "item.decisland.black_courtesy": "黑礼帽", + "item.decisland.black_shoes": "黑鞋子", + "item.decisland.black_shorts": "黑短裤", + "item.decisland.blaze_mask": "烈焰人面具", + "item.decisland.blaze_staff": "烈焰法杖", + "item.decisland.blizzard_staff": "暴风雪法杖", + "item.decisland.blizzard_sword": "暴雪之剑", + "item.decisland.blood_bullet_bag": "血肉子弹袋", + "item.decisland.blood_mare": "血魔", + "item.decisland.blood_meat": "血腥肉块", + "item.decisland.blood_sickle": "血色镰刀", + "item.decisland.blood_worm": "血蠕虫", + "item.decisland.blue_cat_ears": "蓝色猫耳", + "item.decisland.blue_gem": "蓝宝石", + "item.decisland.blue_gem_debris": "蓝宝石碎片", + "item.decisland.blue_gem_hat": "蓝宝石帽", + "item.decisland.blue_jellyfish": "蓝水母", + "item.decisland.blue_of_the_sea": "海之忧伤", + "item.decisland.bomber": "轰炸者", + "item.decisland.bomber_bullet": "轰炸弹", + "item.decisland.bone_sword": "骨刃", + "item.decisland.book_of_deep": "深渊之书", + "item.decisland.boomber_mask": "轰炸者面具", + "item.decisland.bracken": "蕨菜", + "item.decisland.brain_rice": "脑花拌饭", + "item.decisland.breeze_flower": "微风之歌", + "item.decisland.brown_bear_mask": "棕熊面具", + "item.decisland.brown_mooshroom_mask": "棕色蘑菇牛面具", + "item.decisland.bullet_bag": "子弹袋", + "item.decisland.butter_flower": "黄油郁金香", + "item.decisland.butterfly_pea": "蝴蝶豌豆花", + "item.decisland.cactus_sword": "仙人掌巨剑", + "item.decisland.camouflage_pants": "迷彩裤", + "item.decisland.candy": "糖果", + "item.decisland.candy_cane": "拐棍糖", + "item.decisland.catapult": "弹弓", + "item.decisland.cave_spider_mask": "洞穴蜘蛛面具", + "item.decisland.challenge_of_ash": "灰烬挑战书", + "item.decisland.chaos_staff": "混沌召唤杖", + "item.decisland.chicken_mask": "小鸡面具", + "item.decisland.chicken_staff": "小鸡法杖", + "item.decisland.chocolate_cookie": "巧克力曲奇", + "item.decisland.chocolates": "巧克力", + "item.decisland.christmas_cap": "圣诞帽", + "item.decisland.christmas_gift": "圣诞礼物", + "item.decisland.christmas_sock": "圣诞袜", + "item.decisland.cloud_flower": "坠云", + "item.decisland.coal_fish": "煤炭鱼", + "item.decisland.coal_nugget": "煤炭粒", + "item.decisland.cob": "玉米棒", + "item.decisland.coffee_of_lileyi": "LiLeyi的咖啡", + "item.decisland.complete_bat_wing": "完整蝙蝠翅", + "item.decisland.cooked_brain": "煮熟的大脑", + "item.decisland.copper_battleaxe": "黄铜战斧", + "item.decisland.copper_dagger": "铜短剑", + "item.decisland.copper_dart": "铜手里剑", + "item.decisland.copper_sickle": "黄铜镰刀", + "item.decisland.coral_axe": "珊瑚斧", + "item.decisland.coral_dart": "珊瑚手里剑", + "item.decisland.coral_ingot": "珊瑚锭", + "item.decisland.coral_pickaxe": "珊瑚镐", + "item.decisland.coral_sword": "珊瑚剑", + "item.decisland.corn": "玉米", + "item.decisland.corn_seeds": "玉米粒", + "item.decisland.corrupted_sword": "堕落之剑", + "item.decisland.cow_mask": "牛面具", + "item.decisland.crab_leg": "螃蟹腿", + "item.decisland.crab_leg_cooked": "烤熟的螃蟹腿", + "item.decisland.creeper_mask": "苦力怕面具", + "item.decisland.crimson_slime_mask": "猩红史莱姆面具", + "item.decisland.crinum": "海百合", + "item.decisland.crying_boots": "曜泣之靴", + "item.decisland.crying_chestplate": "曜泣胸甲", + "item.decisland.crying_helmet": "曜泣头盔", + "item.decisland.crying_leggings": "曜泣护腿", + "item.decisland.crystal_nucleus": "魔法晶核", + "item.decisland.cudgel": "木棒", + "item.decisland.dandelion": "蒲公英花苞", + "item.decisland.dark_blue_jacket": "深蓝夹克", + "item.decisland.dark_debris": "暗夜碎片", + "item.decisland.dark_pearl": "暗黑珍珠", + "item.decisland.dark_snow_man_mask": "暗黑雪人面具", + "item.decisland.dark_stone": "黑暗石", + "item.decisland.dark_werewolf_mask": "暗狼人面具", + "item.decisland.dark_zombie_mask": "暗黑僵尸面具", + "item.decisland.dead_wood_dagger": "枯蔓", + "item.decisland.dead_wood_rapier": "枯木之握", + "item.decisland.decrepit_atlantis": "破旧的亚特兰蒂斯", + "item.decisland.deep_dandelion": "深渊蒲公英", + "item.decisland.deep_staff": "深渊之魔", + "item.decisland.depart_grass": "相思草", + "item.decisland.desert_fan_flower": "沙扇花", + "item.decisland.destroy_staff": "破坏神杖", + "item.decisland.diamond_apple": "钻石苹果", + "item.decisland.diamond_apple_enchanted": "附魔钻石苹果", + "item.decisland.diamond_crystal_nucleus": "钻石晶核", + "item.decisland.diamond_dagger": "钻石短剑", + "item.decisland.diamond_dart": "钻石手里剑", + "item.decisland.diamond_fish": "钻石鱼", + "item.decisland.diamond_nugget": "钻石粒", + "item.decisland.diamond_ring": "钻石戒", + "item.decisland.diamond_sickle": "钻石镰刀", + "item.decisland.diamond_staff": "钻石法杖", + "item.decisland.dirt_boots": "泥土靴子", + "item.decisland.dirt_chestplate": "泥土胸甲", + "item.decisland.dirt_helmet": "泥土头盔", + "item.decisland.dirt_leggings": "泥土护腿", + "item.decisland.dolphin_mask": "海豚面具", + "item.decisland.dragon_fireball_by_player": "龙息弹", + "item.decisland.drift_bottle": "漂流瓶", + "item.decisland.drowned_mask": "溺尸面具", + "item.decisland.dust_destroyer": "尘灭者", + "item.decisland.dust_ring": "尘埃戒", + "item.decisland.dust_staff": "尘埃召唤杖", + "item.decisland.echo_of_deep": "深渊回影", + "item.decisland.elf_of_ash_mask": "灰烬精灵面具", + "item.decisland.elf_of_chaos_mask": "混乱精灵面具面具", + "item.decisland.elf_of_deep_mask": "深渊精灵面具", + "item.decisland.elf_of_leaves_mask": "绿叶精灵面具", + "item.decisland.emerald_apple": "绿宝石苹果", + "item.decisland.emerald_apple_enchanted": "附魔绿宝石苹果", + "item.decisland.emerald_axe": "绿宝石斧", + "item.decisland.emerald_boots": "绿宝石靴子", + "item.decisland.emerald_chestplate": "绿宝石胸甲", + "item.decisland.emerald_dagger": "绿宝石短剑", + "item.decisland.emerald_dart": "绿宝石手里剑", + "item.decisland.emerald_fish": "绿宝石鱼", + "item.decisland.emerald_helmet": "绿宝石头盔", + "item.decisland.emerald_leggings": "绿宝石护腿", + "item.decisland.emerald_nugget": "绿宝石粒", + "item.decisland.emerald_pickaxe": "绿宝石镐", + "item.decisland.emerald_ring": "绿宝石戒", + "item.decisland.emerald_staff": "绿宝石法杖", + "item.decisland.emerald_sword": "绿宝石剑", + "item.decisland.empty_totem": "空图腾", + "item.decisland.end_stone_golem_mask": "末地石傀儡面具", + "item.decisland.ender_bone": "末影骨", + "item.decisland.ender_breath": "末影之息", + "item.decisland.ender_core": "末影核心", + "item.decisland.ender_crystal_nucleus": "末影晶核", + "item.decisland.ender_egg": "末影蛋", + "item.decisland.ender_fish": "末影鱼", + "item.decisland.ender_powder": "末影粉末", + "item.decisland.ender_ring": "末影戒", + "item.decisland.ender_stone": "末影石", + "item.decisland.ender_substance": "潜影物质", + "item.decisland.ender_witch_mask": "末影女巫面具", + "item.decisland.enderman_mask": "末影人面具", + "item.decisland.energy_ray_staff": "能量射线杖", + "item.decisland.energy_totem": "能量图腾", + "item.decisland.enriched_uranium": "浓缩铀", + "item.decisland.entity_soul": "实体灵魂", + "item.decisland.entity_soul_mask": "实体灵魂面具", + "item.decisland.es_clothes": "ES上衣", + "item.decisland.es_pants": "ES裤子", + "item.decisland.es_shoes": "ES鞋子", + "item.decisland.everlasting_winter_boots": "永冬靴", + "item.decisland.everlasting_winter_chestplate": "永冬胸甲", + "item.decisland.everlasting_winter_dagger": "永冬短剑", + "item.decisland.everlasting_winter_dart": "永冬手里剑", + "item.decisland.everlasting_winter_flintlock": "永冬枪", + "item.decisland.everlasting_winter_ghast_mask": "永冬恶魂面具", + "item.decisland.everlasting_winter_heart": "永冬之心", + "item.decisland.everlasting_winter_helmet": "永冬头盔", + "item.decisland.everlasting_winter_ingot": "永冬锭", + "item.decisland.everlasting_winter_leggings": "永冬护腿", + "item.decisland.everlasting_winter_sickle": "永冬镰刀", + "item.decisland.everlasting_winter_staff": "永冬法杖", + "item.decisland.everlasting_winter_stick": "永冬棍", + "item.decisland.everlasting_winter_sword": "永冬长剑", + "item.decisland.evil_snow_man_mask": "邪恶雪人面具", + "item.decisland.experience_book": "经验书", + "item.decisland.experience_book_empty": "空的经验书", + "item.decisland.experience_book_pro_empty": "空的汲取之书", + "item.decisland.experience_flower_seeds": "经验花种", + "item.decisland.exploding_pellets": "爆炸弹丸", + "item.decisland.eye_of_nature": "自然之眼", + "item.decisland.fan_flower": "扇叶菊", + "item.decisland.fang_mace": "狼牙棒", + "item.decisland.farmer_hat": "草帽", + "item.decisland.final_crystal_nucleus": "终极晶核", + "item.decisland.fire_heart": "烈火之心", + "item.decisland.fire_ring": "烈焰戒", + "item.decisland.fire_totem": "火焰图腾", + "item.decisland.firefly_bottle": "萤火虫瓶", + "item.decisland.flare_magic_book": "耀斑魔法书", + "item.decisland.flintlock": "燧发枪", + "item.decisland.flintlock_bullet": "子弹", + "item.decisland.flintlock_pro": "强力燧发枪", + "item.decisland.flower_essence": "花之精华", + "item.decisland.following_particle": "跟随粒子", + "item.decisland.formal_style_clothes": "西装上衣", + "item.decisland.formal_style_pants": "西装裤子", + "item.decisland.fox_mask": "狐狸面具", + "item.decisland.frank_mask": "弗兰克面具", + "item.decisland.fried_egg": "煎蛋", + "item.decisland.fried_melon_seed": "炒瓜子", + "item.decisland.fritillary": "贝母", + "item.decisland.fritillary_seeds": "贝母种子", + "item.decisland.frozen_ball": "冰霜魔法球", + "item.decisland.frozen_boots": "霜冻靴", + "item.decisland.frozen_chestplate": "霜冻甲", + "item.decisland.frozen_dart": "霜冻手里剑", + "item.decisland.frozen_fish": "冰霜鱼", + "item.decisland.frozen_helmet": "霜冻头盔", + "item.decisland.frozen_leggings": "霜冻护腿", + "item.decisland.frozen_mirror_flower": "冰镜花", + "item.decisland.frozen_power": "冰霜能量", + "item.decisland.frozen_power_debris": "冰霜能量碎片", + "item.decisland.frozen_ray_staff": "冰能量射线杖", + "item.decisland.frozen_spider_mask": "冰冻蜘蛛面具", + "item.decisland.frozen_staff": "冰法杖", + "item.decisland.gargoyle_mask": "石像鬼面具", + "item.decisland.gas_bomb": "毒气弹", + "item.decisland.ghast_mask": "恶魂面具", + "item.decisland.ghost_dagger": "灵魂突击者", + "item.decisland.ghost_dirt_wall": "鬼魂土墙", + "item.decisland.ghost_essence": "幽魂精华", + "item.decisland.ghost_flintlock": "幽魂猎杀者", + "item.decisland.ghost_ingot": "幽魂锭", + "item.decisland.ghost_sickle": "灵魂收割者", + "item.decisland.ghost_summoner": "唤魂者", + "item.decisland.ghost_sword": "灵魂吸收者", + "item.decisland.giant_bat_wings": "巨型蝙蝠翅", + "item.decisland.giant_ivy": "巨藤", + "item.decisland.gingerbread_man": "姜饼人", + "item.decisland.gingerbread_man_mask": "姜饼人面具", + "item.decisland.gingerbread_sword": "姜饼剑", + "item.decisland.gingerbread_totem": "姜饼图腾", + "item.decisland.glamor_clothes": "嫵上衣", + "item.decisland.glamor_pants": "嫵裤子", + "item.decisland.glamor_shoes": "嫵鞋", + "item.decisland.glass_axe": "玻璃斧", + "item.decisland.glass_ingot": "玻璃锭", + "item.decisland.glass_pickaxe": "玻璃镐", + "item.decisland.glass_tank": "玻璃缸", + "item.decisland.goblin_mask": "哥布林面具", + "item.decisland.god_of_destroy": "破坏之神", + "item.decisland.god_of_sun": "太阳神", + "item.decisland.gold_dart": "金手里剑", + "item.decisland.gold_fish": "金矿鱼", + "item.decisland.gold_flower": "金钱子", + "item.decisland.gold_ring": "金戒", + "item.decisland.gold_sickle": "金镰刀", + "item.decisland.gold_yuanbao": "金元宝", + "item.decisland.golden_dagger": "金短剑", + "item.decisland.golden_fence": "流金栅栏", + "item.decisland.golden_staff": "黄金法杖", + "item.decisland.grapeshot_frozen_ball": "霰弹冰霜魔法球", + "item.decisland.gray_shoes": "灰鞋", + "item.decisland.growth": "生长者", + "item.decisland.guardian_elder_mask": "守卫者面具", + "item.decisland.guardian_mask": "远古守卫者面具", + "item.decisland.guide_book": "指引之书", + "item.decisland.hammer_flower": "碧十字", + "item.decisland.hanyi_clothes": "寒翼上衣", + "item.decisland.hanyi_hair_accessories": "寒翼发饰", + "item.decisland.hanyi_pants": "寒翼裤子", + "item.decisland.hanyi_shoes": "寒翼鞋子", + "item.decisland.hard_bamboo_katana": "硬化竹太刀", + "item.decisland.hard_lollipop": "硬化棒棒糖", + "item.decisland.haste_potion": "挖掘药水", + "item.decisland.health_nugget": "生命粒", + "item.decisland.health_stone": "生命石", + "item.decisland.heart_egg": "生命蛋", + "item.decisland.heart_ring": "生命戒", + "item.decisland.hemp_rope": "麻绳", + "item.decisland.herb_bag": "草药包", + "item.decisland.high_concentration_uranium": "高纯度铀", + "item.decisland.hook_rope": "钩锁", + "item.decisland.host_of_deep_mask": "深渊之主面具", + "item.decisland.houttuynia": "折耳根", + "item.decisland.houttuynia_seeds": "折耳根种子", + "item.decisland.hunter_book": "猎人之书", + "item.decisland.hunter_bullet_bag": "猎人子弹袋", + "item.decisland.husk_mask": "剥皮者面具", + "item.decisland.ice_blaze_mask": "寒霜人面具", + "item.decisland.ice_brick": "冰砖", + "item.decisland.ice_cream": "冰淇淋", + "item.decisland.ice_heart": "冰冻之心", + "item.decisland.ice_hook_rope": "极寒钩锁", + "item.decisland.ice_ingot": "冰锭", + "item.decisland.ice_nugget": "冰粒", + "item.decisland.ice_rod": "寒霜棍", + "item.decisland.ice_sword": "冰棱", + "item.decisland.ice_zombie_mask": "寒冰僵尸面具", + "item.decisland.illager_mask": "刌民面具", + "item.decisland.illager_sword": "绝望长剑", + "item.decisland.infinite_crystal_nucleus_1": "无限晶核I", + "item.decisland.infinite_crystal_nucleus_2": "无限晶核II", + "item.decisland.infinite_crystal_nucleus_3": "无限晶核III", + "item.decisland.intestine": "肠子", + "item.decisland.iron_apple": "铁苹果", + "item.decisland.iron_apple_enchanted": "附魔铁苹果", + "item.decisland.iron_bow": "铁弓", + "item.decisland.iron_dagger": "铁短剑", + "item.decisland.iron_dart": "铁手里剑", + "item.decisland.iron_fish": "铁矿鱼", + "item.decisland.iron_golem_mask": "铁傀儡面具", + "item.decisland.iron_key": "铁钥匙", + "item.decisland.iron_sickle": "铁镰刀", + "item.decisland.iron_staff": "铁法杖", + "item.decisland.iron_stick": "铁棍", + "item.decisland.jacket": "夹克衫", + "item.decisland.jellyfish_staff": "水母杖", + "item.decisland.jellyfish_staff_projectile_render": "水母法杖射弹渲染", + "item.decisland.jiuzhi_jacket": "玖治夹克", + "item.decisland.jiuzhi_pants": "玖治裤子", + "item.decisland.jiuzhi_shoes": "玖治鞋", + "item.decisland.knight_helmet": "骑士头盔", + "item.decisland.lamp_flower": "灯笼花", + "item.decisland.lamprey": "七鳃鳗", + "item.decisland.lapis_apple": "青金石苹果", + "item.decisland.lapis_bullet_render": "青金石弹渲染", + "item.decisland.lapis_dagger": "青金石短剑", + "item.decisland.lapis_magic_book": "青金石魔法书", + "item.decisland.lapis_nugget": "青金石粒", + "item.decisland.lapis_staff": "青金石法杖", + "item.decisland.lapis_sword": "青金石剑", + "item.decisland.lava_boots": "狱岩靴子", + "item.decisland.lava_bullet_bag": "熔岩子弹袋", + "item.decisland.lava_chestplate": "狱岩胸甲", + "item.decisland.lava_dart": "炙热手里剑", + "item.decisland.lava_essence": "岩浆精华", + "item.decisland.lava_flintlock": "岩浆涌动", + "item.decisland.lava_flower_seeds": "岩浆花种子", + "item.decisland.lava_helmet": "狱岩头盔", + "item.decisland.lava_ingot": "岩浆锭", + "item.decisland.lava_leggings": "狱岩护腿", + "item.decisland.lava_nugget": "炙热粒", + "item.decisland.lava_sword": "岩浆之剑", + "item.decisland.leaves_dagger": "绿叶短刀", + "item.decisland.leaves_flower": "绿叶花", + "item.decisland.leaves_golem_mask": "绿叶精华面具", + "item.decisland.leaves_knife": "绿叶飞刀", + "item.decisland.leek": "韭菜", + "item.decisland.leek_cooked": "熟韭菜", + "item.decisland.leek_seeds": "韭菜种子", + "item.decisland.lester_clothes": "里斯特上衣", + "item.decisland.lester_pants": "里斯特裤子", + "item.decisland.lester_shoes": "里斯特鞋", + "item.decisland.levitation_cloud": "悬浮云", + "item.decisland.levitation_dirt_wall": "飘浮土墙", + "item.decisland.lightning_stone": "雷电石", + "item.decisland.lollipop": "棒棒糖", + "item.decisland.long_bread": "长面包", + "item.decisland.lurk_bud": "潜声芽", + "item.decisland.lurk_fruit": "潜声果", + "item.decisland.lurk_orchid": "潜声兰", + "item.decisland.magic_article": "魔法充能条", + "item.decisland.magic_chest_debris": "魔法箱子碎片", + "item.decisland.magic_crystal": "魔法水晶", + "item.decisland.magic_ice_cream": "魔法冰淇淋", + "item.decisland.magic_mask_bag": "魔法面具袋", + "item.decisland.magic_powder": "魔法粉末", + "item.decisland.magic_scroll_blue": "蓝魔法卷轴", + "item.decisland.magic_surge_core": "魔法涌动核心", + "item.decisland.magma_cube_mask": "岩浆怪面具", + "item.decisland.maple_flower": "绫枫花", + "item.decisland.melon_piece": "西瓜片", + "item.decisland.mind_controller": "束缚者", + "item.decisland.mock_strawberry": "蛇莓", + "item.decisland.mooli": "白萝卜", + "item.decisland.mooli_seeds": "白萝卜种子", + "item.decisland.moon_jellyfish": "海月水母", + "item.decisland.mooshroom_mask": "蘑菇牛面具", + "item.decisland.mouth_flower": "嘴唇花", + "item.decisland.muddy_ball": "泥球", + "item.decisland.muddy_fish": "泥鱼", + "item.decisland.mummy_mask": "木乃伊面具", + "item.decisland.mummy_skeleton_mask": "干尸面具", + "item.decisland.mushroom_mask": "蘑菇面具", + "item.decisland.mysterious_key": "神秘钥匙", + "item.decisland.mysterious_key_debris": "神秘钥匙碎片", + "item.decisland.mystical_skeleton_mask": "神秘骷髅面具", + "item.decisland.natural_ring": "自然戒", + "item.decisland.natural_spear": "自然之矛", + "item.decisland.nature_essence": "自然精华", + "item.decisland.nautilus_alive": "活的鹦鹉螺", + "item.decisland.nether_creeper_mask": "地狱苦力怕面具", + "item.decisland.nether_dandelion": "地狱蒲公英", + "item.decisland.nether_golem_mask": "地狱傀儡面具", + "item.decisland.nether_phantom_mask": "地狱幻翼面具", + "item.decisland.nether_skeleton_mask": "地狱骷髅面具", + "item.decisland.nether_skeleton_wizard_mask": "地狱骷髅法师面具", + "item.decisland.nether_stick_flower": "矮棍花", + "item.decisland.netherite_dagger": "下界合金短剑", + "item.decisland.netherite_dart": "下界合金手里剑", + "item.decisland.netherite_sickle": "下界合金镰刀", + "item.decisland.night_sword": "夜之刃", + "item.decisland.nightmare": "夜魔", + "item.decisland.obsidian_golem_mask": "黑曜石傀儡面具", + "item.decisland.ocean_totem": "海洋图腾", + "item.decisland.old_book": "古老的书", + "item.decisland.old_monster_mask": "老怪物面具", + "item.decisland.paraffin_bucket": "煤油桶", + "item.decisland.patterned_vase_red": "红色纹饰花瓶", + "item.decisland.perch": "鲈鱼", + "item.decisland.perch_cooked": "烤鲈鱼", + "item.decisland.phantom_mask": "幻翼面具面具", + "item.decisland.pig_mask": "猪面具", + "item.decisland.piglin_chestplate": "猪灵护甲", + "item.decisland.piglin_leggings": "猪灵护腿", + "item.decisland.pigzombie_mask": "僵尸猪人面具", + "item.decisland.pine_cone": "松果", + "item.decisland.pink_dandelion": "星云蒲公英", + "item.decisland.pink_fan_flower": "粉扇花", + "item.decisland.pink_jellyfish": "粉水母", + "item.decisland.pirate_bullet_bag": "海盗子弹袋", + "item.decisland.player_ghost_mask": "鬼魂面具", + "item.decisland.poison_bag": "毒囊", + "item.decisland.poison_dart": "剧毒手里剑", + "item.decisland.poison_fish": "剧毒鱼", + "item.decisland.poison_gland": "剧毒腺体", + "item.decisland.polar_wolf_mask": "北极狼面具", + "item.decisland.polarbear_mask": "北极熊面具", + "item.decisland.pollution_algae": "污染海藻", + "item.decisland.potato_rice": "土豆焖饭", + "item.decisland.predators_mask": "扑食者面具", + "item.decisland.prehistoric_monster_mask": "远古怪物面具", + "item.decisland.pufferfish_mask": "河豚面具", + "item.decisland.pulse_stone": "脉冲石", + "item.decisland.pumpkin_candy": "南瓜糖", + "item.decisland.pure_ingot": "纯洁之锭", + "item.decisland.radiate_creeper_mask": "辐射苦力怕面具", + "item.decisland.radiate_crystal": "辐射水晶", + "item.decisland.radiate_enderman_mask": "辐射末影人面具", + "item.decisland.radiate_spreader": "堕落之神", + "item.decisland.radiate_sword": "堕落圣刃", + "item.decisland.rapier": "刺剑", + "item.decisland.red_bag": "红包", + "item.decisland.red_gem": "红宝石", + "item.decisland.red_gem_debris": "红宝石碎片", + "item.decisland.red_gem_hat": "红宝石帽", + "item.decisland.red_spider_lily": "绽金彼岸", + "item.decisland.redstone_apple": "红石苹果", + "item.decisland.redstone_apple_enchanted": "附魔红石苹果", + "item.decisland.resistance_potion": "抗性药水", + "item.decisland.rice": "米", + "item.decisland.rice_seeds": "水稻种子", + "item.decisland.rice_wine": "米酒", + "item.decisland.rosemary": "迷迭香", + "item.decisland.rough_steel": "粗制钢料", + "item.decisland.rumorer_mask": "灵异面具", + "item.decisland.rupert_boots": "鲁伯特靴", + "item.decisland.rupert_chestplate": "鲁伯特胸甲", + "item.decisland.rupert_helmet": "鲁伯特头盔", + "item.decisland.rupert_leggings": "鲁伯特护腿", + "item.decisland.russet_grass": "赤褐草", + "item.decisland.sardine": "沙丁鱼", + "item.decisland.scale_sword": "鳞之刃", + "item.decisland.scarecrow": "稻草人", + "item.decisland.scimitar": "弯刀", + "item.decisland.sea_turtle_mask": "海龟面具", + "item.decisland.sea_urchin": "海胆", + "item.decisland.shadow_creeper_mask": "暗影苦力怕面具", + "item.decisland.shadow_crystal": "暗影水晶", + "item.decisland.shadow_feather": "暗影羽", + "item.decisland.shadow_of_sea_mask": "幻翼海妖面具", + "item.decisland.shadow_skeleton_mask": "幻翼骷髅面具", + "item.decisland.shadow_zombie_mask": "幻翼僵尸面具", + "item.decisland.sharp_coral": "尖锐珊瑚", + "item.decisland.shell": "贝壳", + "item.decisland.short_flintlock": "短燧发枪", + "item.decisland.shulker_helmet": "潜影头盔", + "item.decisland.shulker_mask": "潜影贝面具", + "item.decisland.simple_car": "简单小车", + "item.decisland.simple_glider": "简单滑翔机", + "item.decisland.skeleton_assassin_mask": "骷髅刺客面具", + "item.decisland.skeleton_fish": "骷髅鱼", + "item.decisland.skeleton_knight_mask": "骷髅骑士面具", + "item.decisland.skeleton_mask": "骷髅面具", + "item.decisland.slime_axe": "史莱姆斧", + "item.decisland.slime_mask": "史莱姆面具", + "item.decisland.slime_pickaxe": "史莱姆镐", + "item.decisland.sliver_yuanbao": "银元宝", + "item.decisland.small_stone": "小石子", + "item.decisland.small_stone_block": "小石块", + "item.decisland.smoke_bomb": "烟雾弹", + "item.decisland.snailfish": "狮子鱼", + "item.decisland.snow_flower": "雪地圣女", + "item.decisland.snow_lotus": "雪莲花", + "item.decisland.snowball_magic_book": "冰冻能量书", + "item.decisland.soul": "灵魂", + "item.decisland.soul_blaze_mask": "灵魂烈焰人面具", + "item.decisland.soul_blaze_rod": "灵魂烈焰棒", + "item.decisland.soul_fireball": "灵魂烈焰弹", + "item.decisland.soul_key": "灵魂钥匙", + "item.decisland.soul_skeleton_mask": "灵魂骷髅面具", + "item.decisland.soul_staff": "灵魂之息", + "item.decisland.soul_wake_bullet_render": "灵魂尾迹渲染", + "item.decisland.soul_zombie_mask": "灵魂僵尸面具", + "item.decisland.soybean": "大豆", + "item.decisland.spark_flower": "庭院丁香", + "item.decisland.spell_flower": "印法花", + "item.decisland.spider_mask": "蜘蛛面具", + "item.decisland.spider_staff": "蜘蛛法杖", + "item.decisland.spiral_shell": "螺蛳", + "item.decisland.spurt_egg": "迸发蛋", + "item.decisland.squid_mask": "鱿鱼面具", + "item.decisland.star_debris": "星体碎片", + "item.decisland.star_flintlock": "星落", + "item.decisland.star_flower": "星星花", + "item.decisland.star_sword": "迸发之星", + "item.decisland.steel_battleaxe": "钢战斧", + "item.decisland.steel_boots": "钢靴", + "item.decisland.steel_chestplate": "钢胸甲", + "item.decisland.steel_dagger": "钢短剑", + "item.decisland.steel_dart": "钢手里剑", + "item.decisland.steel_helmet": "钢头盔", + "item.decisland.steel_ingot": "钢锭", + "item.decisland.steel_leggings": "钢护腿", + "item.decisland.steel_nugget": "钢粒", + "item.decisland.steel_sickle": "钢镰刀", + "item.decisland.steel_sword": "钢剑", + "item.decisland.steve_mask": "史蒂夫面具", + "item.decisland.stick_flower": "点星花棒", + "item.decisland.sticky_ash": "粘稠灰烬", + "item.decisland.stone_boots": "石头靴子", + "item.decisland.stone_chestplate": "石头胸甲", + "item.decisland.stone_dagger": "石短剑", + "item.decisland.stone_dart": "石手里剑", + "item.decisland.stone_helmet": "石头头盔", + "item.decisland.stone_leggings": "石头护腿", + "item.decisland.stones_bag": "石子袋", + "item.decisland.storm_battleaxe": "暴风眼", + "item.decisland.storm_flintlock": "风暴之迁", + "item.decisland.storm_giant_sword": "风暴巨剑", + "item.decisland.storm_staff": "暴风", + "item.decisland.straw_rope": "草绳", + "item.decisland.stray_chestplate": "流浪者胸甲", + "item.decisland.stray_helmet": "流浪者头盔", + "item.decisland.stray_leggings": "流浪者护腿", + "item.decisland.stray_mask": "流浪者面具", + "item.decisland.stream_dart": "涌动手里剑", + "item.decisland.stream_stone": "溪流石", + "item.decisland.strider_mask": "炽足兽面具", + "item.decisland.striped_pants": "条纹裤", + "item.decisland.sun_stone": "日光石", + "item.decisland.swamp_drowned_mask": "淤骸面具", + "item.decisland.swamp_golem_mask": "沼泽巨怪面具", + "item.decisland.sword_fish": "剑鱼", + "item.decisland.sword_of_deep": "黑域", + "item.decisland.sword_of_guard": "侍卫之灵", + "item.decisland.sword_of_halloween": "万圣之刃", + "item.decisland.tear_from_dream": "梦境之泪", + "item.decisland.the_blade": "刃", + "item.decisland.the_imperial_sword": "尚方宝剑", + "item.decisland.throwable_bomb": "炸药包", + "item.decisland.thunder_rapier": "破雷", + "item.decisland.thunder_staff": "雷云之杖", + "item.decisland.thyme": "百里香", + "item.decisland.time_compass": "时间指针", + "item.decisland.tnt_creeper_mask": "TNT苦力怕面具", + "item.decisland.tofu": "豆腐", + "item.decisland.tropical_fish": "热带鱼", + "item.decisland.tropical_fish_cooked": "烤熟的热带鱼", + "item.decisland.turtle_boots": "海龟脚", + "item.decisland.turtle_chestplate": "海龟甲", + "item.decisland.turtle_leggings": "海龟腿", + "item.decisland.turtle_sword": "龟刃剑", + "item.decisland.uniform_clothes": "校服上衣", + "item.decisland.uniform_pants": "校服裤子", + "item.decisland.unknow_book": "未知的书", + "item.decisland.uranium": "铀", + "item.decisland.uranium_apple": "铀苹果", + "item.decisland.vengeful_ghost_mask": "怨魂面具", + "item.decisland.vex_mask": "恼鬼面具", + "item.decisland.village_guardian": "村庄守卫", + "item.decisland.villager_mask": "村民面具", + "item.decisland.void_whispering_dagger": "虚空之低语", + "item.decisland.vortex": "旋涡", + "item.decisland.wandering_trader_mask": "流浪商人面具", + "item.decisland.warden_sword": "匿潜刃", + "item.decisland.warped_skeleton_mask": "扭曲骷髅面具", + "item.decisland.waste": "废料", + "item.decisland.wave_magic_book": "波涌魔法书", + "item.decisland.werewolf_mask": "狼人面具", + "item.decisland.white_shoes": "白鞋", + "item.decisland.white_t_shirt": "白短袖", + "item.decisland.wind_dagger": "冽风", + "item.decisland.wind_of_shadow": "暗影之风", + "item.decisland.wine_glass": "酒杯", + "item.decisland.wings_from_deep": "深渊之翼", + "item.decisland.witch_hat": "女巫帽", + "item.decisland.witch_mask": "女巫面具", + "item.decisland.wither_cone": "枯萎锥", + "item.decisland.wither_invulnerable_mask": "坚固凋灵面具面具", + "item.decisland.wither_mask": "凋零面具", + "item.decisland.wither_skeleton_mask": "凋灵骷髅面具", + "item.decisland.wither_substance": "凋零物质", + "item.decisland.wolf_mask": "狼面具", + "item.decisland.wood_boots": "木叶战靴", + "item.decisland.wood_chestplate": "木叶衣甲", + "item.decisland.wood_dart": "木手里剑", + "item.decisland.wood_helmet": "木叶头冠", + "item.decisland.wood_leggings": "木叶护腿", + "item.decisland.wooden_dagger": "木短剑", + "item.decisland.wooden_enchant_book": "木制附魔书", + "item.decisland.wooden_staff": "木法杖", + "item.decisland.yellow_butterfly_flower": "黄蝴蝶花", + "item.decisland.yellow_jellyfish": "黄水母", + "item.decisland.zombie_brain": "僵尸大脑", + "item.decisland.zombie_fish": "僵尸鱼", + "item.decisland.zombie_mask": "僵尸面具", + "item.decisland.zombie_summoner_mask": "僵尸召唤师面具", + "item.decisland.zombie_villager_mask": "僵尸村民面具", + "item.decisland.zombie_warrior_mask": "僵尸战士面具", + "item.record_star.desc": "fish - 拥抱星辰", + "item.spawn_egg.entity.dec:abyssal_controller.name": "生成 深海牢笼", + "item.spawn_egg.entity.dec:archer.name": "生成 弓箭手", + "item.spawn_egg.entity.dec:ash_blaze.name": "生成 灰烬烈焰人", + "item.spawn_egg.entity.dec:ash_knight.name": "生成 灰烬骑士", + "item.spawn_egg.entity.dec:ash_pufferfish.name": "生成 灰烬豚", + "item.spawn_egg.entity.dec:baby_ender_dragon.name": "生成 末影幼龙", + "item.spawn_egg.entity.dec:blood_zombie.name": "生成 血肉之躯", + "item.spawn_egg.entity.dec:bomber.name": "生成 轰炸者", + "item.spawn_egg.entity.dec:brown_bear.name": "生成 棕熊", + "item.spawn_egg.entity.dec:carnager.name": "生成 屠杀者", + "item.spawn_egg.entity.dec:caterpillar.name": "生成 毛毛虫", + "item.spawn_egg.entity.dec:chest_monster.name": "生成 箱子怪", + "item.spawn_egg.entity.dec:chester.name": "生成 储存者", + "item.spawn_egg.entity.dec:clam.name": "生成 蛤", + "item.spawn_egg.entity.dec:crab.name": "生成 螃蟹", + "item.spawn_egg.entity.dec:crimson_slime.name": "生成 绯红史莱姆", + "item.spawn_egg.entity.dec:dark_snow_man.name": "生成 黑暗雪人", + "item.spawn_egg.entity.dec:dark_werewolf.name": "生成 暗狼人", + "item.spawn_egg.entity.dec:doctor.name": "生成 医生", + "item.spawn_egg.entity.dec:elf_of_ash.name": "生成 灰烬精灵", + "item.spawn_egg.entity.dec:elf_of_chaos.name": "生成 混沌之灵", + "item.spawn_egg.entity.dec:elf_of_deep.name": "生成 深渊精灵", + "item.spawn_egg.entity.dec:elf_of_leaves.name": "生成 绿叶精灵", + "item.spawn_egg.entity.dec:enchant_armor.name": "生成 附魔盔甲", + "item.spawn_egg.entity.dec:enchant_diamond_armor.name": "生成 附魔钻石甲", + "item.spawn_egg.entity.dec:enchant_illager.name": "生成 附魔师", + "item.spawn_egg.entity.dec:end_stone_golem.name": "生成 末地石傀儡", + "item.spawn_egg.entity.dec:ender_snail.name": "生成 末影蜗牛", + "item.spawn_egg.entity.dec:ender_snake.name": "生成 末影蟒", + "item.spawn_egg.entity.dec:ender_witch.name": "生成 末影女巫", + "item.spawn_egg.entity.dec:entity_soul.name": "生成 真实之魂", + "item.spawn_egg.entity.dec:escaped_soul.name": "生成 逃逸之魂", + "item.spawn_egg.entity.dec:everlasting_winter_ghast.name": "生成 永冬恶魂", + "item.spawn_egg.entity.dec:evil_snow_man.name": "生成 邪恶雪人", + "item.spawn_egg.entity.dec:frozen_ghast.name": "生成 冰霜恶魂", + "item.spawn_egg.entity.dec:frozen_heart.name": "生成 冰冻之心", + "item.spawn_egg.entity.dec:frozen_man.name": "生成 冰人", + "item.spawn_egg.entity.dec:frozen_shadow.name": "生成 寒霜之影", + "item.spawn_egg.entity.dec:frozen_spider.name": "生成 冰冻蜘蛛", + "item.spawn_egg.entity.dec:gargoyle.name": "生成 石像鬼", + "item.spawn_egg.entity.dec:ghost_diamond_axe.name": "生成 鬼魂钻石斧", + "item.spawn_egg.entity.dec:ghost_diamond_staff.name": "生成 鬼魂钻石法杖", + "item.spawn_egg.entity.dec:ghost_diamond_sword.name": "生成 鬼魂钻石剑", + "item.spawn_egg.entity.dec:ghost_iron_axe.name": "生成 鬼魂铁斧", + "item.spawn_egg.entity.dec:ghost_iron_sword.name": "生成 鬼魂铁剑", + "item.spawn_egg.entity.dec:ghost_wooden_staff.name": "生成 鬼魂木法杖", + "item.spawn_egg.entity.dec:goblin.name": "生成 哥布林", + "item.spawn_egg.entity.dec:goblin_sniper.name": "生成 哥布林狙击手", + "item.spawn_egg.entity.dec:goblin_wizard.name": "生成 哥布林法师", + "item.spawn_egg.entity.dec:host_of_deep.name": "生成 深渊之主", + "item.spawn_egg.entity.dec:ice_bat.name": "生成 冰冻蝙蝠", + "item.spawn_egg.entity.dec:ice_blaze.name": "生成 寒霜人", + "item.spawn_egg.entity.dec:ice_creeper.name": "生成 冰冻苦力怕", + "item.spawn_egg.entity.dec:ice_monster.name": "生成 冰雪怪", + "item.spawn_egg.entity.dec:ice_spirit.name": "生成 冰魂", + "item.spawn_egg.entity.dec:ice_wizard.name": "生成 寒潮法师", + "item.spawn_egg.entity.dec:ice_zombie.name": "生成 寒冰僵尸", + "item.spawn_egg.entity.dec:illusion_zombie.name": "生成 幻影僵尸", + "item.spawn_egg.entity.dec:illusioner.name": "生成 幻术师", + "item.spawn_egg.entity.dec:jungle_spider.name": "生成 丛林蜘蛛", + "item.spawn_egg.entity.dec:king_of_pillager.name": "生成 掠夺者之王", + "item.spawn_egg.entity.dec:lava_lizard.name": "生成 熔岩蜥蜴", + "item.spawn_egg.entity.dec:leaves_golem.name": "生成 绿叶精华", + "item.spawn_egg.entity.dec:life_insect.name": "生成 生命虫", + "item.spawn_egg.entity.dec:lurk_skeleton.name": "生成 潜声骷髅", + "item.spawn_egg.entity.dec:lurk_zombie.name": "生成 潜声僵尸", + "item.spawn_egg.entity.dec:mummy.name": "生成 木乃伊", + "item.spawn_egg.entity.dec:mummy_skeleton.name": "生成 干尸", + "item.spawn_egg.entity.dec:murloc.name": "生成 鱼人", + "item.spawn_egg.entity.dec:murloc_wizard.name": "生成 鱼人法师", + "item.spawn_egg.entity.dec:mushroom_monster.name": "生成 蘑菇怪", + "item.spawn_egg.entity.dec:mushroom_zombie.name": "生成 真菌僵尸", + "item.spawn_egg.entity.dec:mystical_skeleton.name": "生成 神秘骷髅", + "item.spawn_egg.entity.dec:nautilus.name": "生成 鹦鹉螺", + "item.spawn_egg.entity.dec:nether_creeper.name": "生成 地狱苦力怕", + "item.spawn_egg.entity.dec:nether_golem.name": "生成 地狱傀儡", + "item.spawn_egg.entity.dec:nether_phantom.name": "生成 地狱幻翼", + "item.spawn_egg.entity.dec:nether_skeleton.name": "生成 地狱骷髅", + "item.spawn_egg.entity.dec:nether_skeleton_wizard.name": "生成 地狱骷髅法师", + "item.spawn_egg.entity.dec:obsidian_golem.name": "生成 黑曜石傀儡", + "item.spawn_egg.entity.dec:pirate.name": "生成 海盗", + "item.spawn_egg.entity.dec:player_ghost.name": "生成 不屈的灵魂", + "item.spawn_egg.entity.dec:polar_wolf.name": "生成 北极狼", + "item.spawn_egg.entity.dec:predators.name": "生成 扑食者", + "item.spawn_egg.entity.dec:pumpkin_slime.name": "生成 南瓜头史莱姆", + "item.spawn_egg.entity.dec:radiate_creeper.name": "生成 辐射苦力怕", + "item.spawn_egg.entity.dec:radiate_enderman.name": "生成 辐射末影人", + "item.spawn_egg.entity.dec:radiate_skeleton.name": "生成 辐射骷髅", + "item.spawn_egg.entity.dec:radiate_spider.name": "生成 辐射蜘蛛", + "item.spawn_egg.entity.dec:real_soul.name": "生成 真魂", + "item.spawn_egg.entity.dec:rumorer.name": "生成 灵异闻者", + "item.spawn_egg.entity.dec:sardine.name": "生成 沙丁鱼", + "item.spawn_egg.entity.dec:saucer.name": "生成 飞碟", + "item.spawn_egg.entity.dec:sea_urchin.name": "生成 海胆", + "item.spawn_egg.entity.dec:shadow_archer.name": "生成 暗影射手", + "item.spawn_egg.entity.dec:shadow_creeper.name": "生成 暗影苦力怕", + "item.spawn_egg.entity.dec:shadow_of_deep.name": "生成 深渊之影", + "item.spawn_egg.entity.dec:shadow_of_sea.name": "生成 幻影海妖", + "item.spawn_egg.entity.dec:shadow_skeleton.name": "生成 暗影骷髅", + "item.spawn_egg.entity.dec:shadow_zombie.name": "生成 暗影僵尸", + "item.spawn_egg.entity.dec:skeleton_assassin.name": "生成 骷髅刺客", + "item.spawn_egg.entity.dec:skeleton_knight.name": "生成 骷髅骑士", + "item.spawn_egg.entity.dec:skeleton_knight_commander.name": "生成 骷髅骑士长", + "item.spawn_egg.entity.dec:skeleton_warrior.name": "生成 骷髅战士", + "item.spawn_egg.entity.dec:skeleton_wizard.name": "生成 骷髅法师", + "item.spawn_egg.entity.dec:soldier.name": "生成 士兵", + "item.spawn_egg.entity.dec:soul.name": "生成 灵魂", + "item.spawn_egg.entity.dec:soul_blaze.name": "生成 灵魂烈焰人", + "item.spawn_egg.entity.dec:soul_insect.name": "生成 灵魂虫", + "item.spawn_egg.entity.dec:soul_skeleton.name": "生成 灵魂骷髅", + "item.spawn_egg.entity.dec:soul_soldier.name": "生成 灵魂士兵", + "item.spawn_egg.entity.dec:soul_zombie.name": "生成 灵魂僵尸", + "item.spawn_egg.entity.dec:star.name": "生成 星星", + "item.spawn_egg.entity.dec:stone_golem.name": "生成 石头傀儡", + "item.spawn_egg.entity.dec:swamp_drowned.name": "生成 淤骸", + "item.spawn_egg.entity.dec:swamp_golem.name": "生成 沼泽巨怪", + "item.spawn_egg.entity.dec:tnt_creeper.name": "生成 TNT苦力怕", + "item.spawn_egg.entity.dec:tnt_snow_man.name": "生成 TNT雪人", + "item.spawn_egg.entity.dec:vampire_bat.name": "生成 吸血蝙蝠", + "item.spawn_egg.entity.dec:vengeful_ghost.name": "生成 怨魂", + "item.spawn_egg.entity.dec:warped_skeleton.name": "生成 扭曲骷髅", + "item.spawn_egg.entity.dec:watcher.name": "生成 看守者", + "item.spawn_egg.entity.dec:werewolf.name": "生成 狼人", + "item.spawn_egg.entity.dec:zombie_fish.name": "生成 僵尸鱼", + "item.spawn_egg.entity.dec:zombie_summoner.name": "生成 僵尸召唤师", + "item.spawn_egg.entity.dec:zombie_warrior.name": "生成 僵尸战士", + "itemGroup.decisland_accessories_tab": "DecIsland 饰品", + "itemGroup.decisland_crops_tab": "DecIsland 作物", + "itemGroup.decisland_foods_tab": "DecIsland 食物", + "itemGroup.decisland_masks_tab": "DecIsland 面具", + "itemGroup.decisland_materials_tab": "DecIsland 材料", + "itemGroup.decisland_misc_tab": "DecIsland 杂物", + "itemGroup.decisland_nature_tab": "DecIsland 自然", + "itemGroup.decisland_weapons_tab": "DecIsland 武器", + "mini_boss.dec:baby_ender_dragon.name": "末影幼龙", + "mini_boss.dec:dark_werewolf.name": "暗狼人", + "mini_boss.dec:frozen_heart.name": "冰冻之心", + "mini_boss.dec:life_insect.name": "生命虫", + "mini_boss.dec:nether_golem.name": "地狱傀儡", + "mini_boss.dec:obsidian_golem.name": "黑曜石傀儡", + "mini_boss.dec:piglin_brute.name": "猪灵暴君", + "mini_boss.dec:skeleton_knight_commander.name": "骷髅骑士长", + "mini_boss.dec:star.name": "星星", + "mini_boss.dec:swamp_golem.name": "沼泽巨怪", + "mini_boss.dec:vengeful_ghost.name": "怨魂", + "text.decisland.abyssal_summoner_unlock_fail": "§a下层的鱼鳞封印未被解开", + "text.decisland.blood_meat_already": "§a他们已经在这了", + "text.decisland.blood_meat_day": "§a白天这似乎不能引诱任何东西", + "text.decisland.blood_meat_success": "§a他们来了......", + "text.decisland.blue_gem_magic_up": "§a最大魔法已被提升至:", + "text.decisland.blue_gem_max": "§a需用红宝石进一步提升最大魔法值", + "text.decisland.command_fail": "§a无权限", + "text.decisland.command_help": "§a在聊天栏输入指令\">/help\"并发出获得所有新指令的使用指南", + "text.decisland.command_help_1": "§a>/help 用于获取有关新指令的帮助(权限需求:所有)", + "text.decisland.command_help_2": "§a>/creators 用于列出感谢名单(权限需求:所有)", + "text.decisland.command_help_3": "§a>/diemode test 用于检测死亡模式是否开启,或是否可开启(权限需求:所有)", + "text.decisland.command_help_4": "§a>/diemode open 用于开启死亡模式(权限需求:房主)", + "text.decisland.command_help_5": "§a>/magic display true 用于开启魔法显示(权限需求:管理员)", + "text.decisland.command_help_6": "§a>/magic display false 用于关闭魔法显示(权限需求:管理员)", + "text.decisland.creator_list_1": "§bLiLeyi - 主要制作者", + "text.decisland.creator_list_10": "§bQ儿 - 贴图、提供灵感", + "text.decisland.creator_list_11": "§bSpiffyTerror - 模型、生物动画", + "text.decisland.creator_list_12": "§b竹翼团队 - 皮肤", + "text.decisland.creator_list_13": "§b悸动天使 - 指令支持", + "text.decisland.creator_list_14": "§b晴风 - 霸体核心", + "text.decisland.creator_list_15": "§b画盒豆腐 - 提供灵感", + "text.decisland.creator_list_16": "§b兔块子 - 部分实体", + "text.decisland.creator_list_17": "§b传说中阿库西斯教教徒 - 提供灵感、剧情、建筑", + "text.decisland.creator_list_18": "§b枫雪白霜 - 提供灵感和贴图", + "text.decisland.creator_list_19": "§b碧月狐 - 技术支持", + "text.decisland.creator_list_2": "§bEnderghostScale - 人造肉、部分怪物、投掷炸药和技术支持", + "text.decisland.creator_list_20": "§bFulank彡North cat - 提供贴图、灵感", + "text.decisland.creator_list_21": "§b一只朴实无华的蒜头王八 - 提供贴图、灵感和测试", + "text.decisland.creator_list_22": "§bKirisamePPSH - 提供建筑、贴图", + "text.decisland.creator_list_23": "§bMiku4962 - 提供贴图和测试", + "text.decisland.creator_list_24": "§bMr.龙灵 - 提供结构和贴图", + "text.decisland.creator_list_25": "§b寒翼 - 灵感、建筑和贴图", + "text.decisland.creator_list_26": "§bKucerLuo - 建筑", + "text.decisland.creator_list_27": "§bRepforce - 建筑", + "text.decisland.creator_list_28": "§b豆沙 - 部分怪物、建筑", + "text.decisland.creator_list_29": "§b夜长生 - 建筑", + "text.decisland.creator_list_3": "§bhaveyouwantto - 技术支持", + "text.decisland.creator_list_30": "§b默笙 - 建筑", + "text.decisland.creator_list_31": "§bStereoRoom411 - 建筑", + "text.decisland.creator_list_32": "§b岚天 - 建筑", + "text.decisland.creator_list_33": "§b一只有疑问的猪 - 建筑", + "text.decisland.creator_list_34": "§bLZN - 建筑", + "text.decisland.creator_list_35": "§b纸盒Alifang - 生物动画", + "text.decisland.creator_list_36": "§bKale - 美工、建筑、设计、物品和技术支持等", + "text.decisland.creator_list_37": "§bLolktype - 建筑、介绍", + "text.decisland.creator_list_38": "§bKoffyt93 - 建筑", + "text.decisland.creator_list_39": "§b幻想贝壳 - 建筑、贴图", + "text.decisland.creator_list_4": "§bhuo鱼一只 - 技术支持", + "text.decisland.creator_list_40": "§bSpelwrog - 贴图、灵感", + "text.decisland.creator_list_5": "§bAR_UnryAllenCN - 技术支持", + "text.decisland.creator_list_6": "§bAA剑侠 - Sapi部分和技术支持", + "text.decisland.creator_list_7": "§b世心 - 狼人,暗狼人", + "text.decisland.creator_list_8": "§b論娘 - 幻术师", + "text.decisland.creator_list_9": "§b荷叶 - 提供灵感,新手指南", + "text.decisland.diemode_already_die": "§4§l本旅途欢迎每一位没有尸臭的旅客,因为这样会吓到其他旅客......请让我看看,您和尸体的区别是什么?", + "text.decisland.diemode_cannot_close": "§4§l垂死挣扎会影响您的旅途体验。", + "text.decisland.diemode_cannot_close_already_die": "§4§l欢迎再次体验,如果您还能从满是前世鲜血的地上爬起来。", + "text.decisland.diemode_gmcheat": "§4§l擅自更改旅途路线可不是一个文明旅客该做的事。", + "text.decisland.diemode_not_owner": "§e只有房主才能开启此模式。", + "text.decisland.diemode_open": "§4§l欢迎加入。希望你的内心和灵魂一样干净,以防止它们恐吓到其他旅客。请注意,不要让你,以及同伴带上尸臭。若他发生了一些变化,它已不再是他。我们不欢迎那些私自改动路线的旅客,因他们的灵魂已经出离身体。噢,看看,一路上已有多少人了。再看看你的脚下,已有多少尸体?祝你好运。", + "text.decisland.diemode_spectator": "§4§l至少比篡改路径的旅客光荣", + "text.decisland.diemode_spectator_gmcheat": "§4§l我们不欢迎这样的旅客", + "text.decisland.diemode_test_close": "§a死亡模式未开启,可开启", + "text.decisland.diemode_test_close_cannot_open_die": "§a死亡模式已关闭,无法开启,因为已有人死亡", + "text.decisland.diemode_test_close_cannot_open_gmc": "§a死亡模式已关闭,无法开启,因为已经作弊", + "text.decisland.diemode_test_open": "§a死亡模式已开启", + "text.decisland.ender_egg_max": "§a生命值12,生命值已满", + "text.decisland.everlasting_winter_heart_already": "§a寒潮已经到来", + "text.decisland.everlasting_winter_heart_day": "§a太热,太亮", + "text.decisland.everlasting_winter_heart_success": "§a你的身体开始颤抖......", + "text.decisland.experience_book_empty_fail": "§a如此干涸的经验谁会渴望呢?", + "text.decisland.guide_book_0": "§a指导书", + "text.decisland.guide_book_1": "§a你很虚弱,所以请不要让它们轻易的靠近你。在夜间需额外消息,否则怪物能轻易将你撕成碎片。如果雾气在夜间聚集,为了你的安全,请不要出门。", + "text.decisland.guide_book_2": "§a", + "text.decisland.guide_book_3": "§a", + "text.decisland.heart_egg_max": "§a生命值大于等于8,需用迸发蛋或末影蛋进一步提升生命值", + "text.decisland.hunter_book_coordinate_1": "§a任务地点:", + "text.decisland.hunter_book_coordinate_2": ",", + "text.decisland.hunter_book_new": "§a新任务地点已发布", + "text.decisland.hunter_book_not_complete": "§a你还没有到达任务地点", + "text.decisland.hunter_book_success": "§a你已到达任务地点", + "text.decisland.i_inviolable": "§a破坏是不被允许的......", + "text.decisland.killed_by_boss": "§e你已被Boss击败", + "text.decisland.load_fail": "§b加载失败,请检查游戏版本是否支持该Addon,以及Addon导入是否正确", + "text.decisland.load_ok": "§b加载完成", + "text.decisland.magic_crystal_magicgain_up": "§a魔法恢复速度已提升至:", + "text.decisland.magic_crystal_max": "§a魔法恢复速度已达到极限", + "text.decisland.magic_display_off": "魔法值显示已关闭", + "text.decisland.magic_display_on": "魔法值显示已开启", + "text.decisland.omit": "§b......", + "text.decisland.qq_group": "§e反馈和测试群号 - 486864907", + "text.decisland.radiate_crystal_defeated": "§e世界已被净化", + "text.decisland.red_gem_magic_up": "§a最大魔法已被提升至:", + "text.decisland.red_gem_max": "§a最大魔法值已满", + "text.decisland.red_gem_not_enough": "§a魔法值不足40,需用蓝宝石提升魔法值至40才能使用红宝石", + "text.decisland.shadow_crystal_defeated": "§e来自远古的暗影已经减退", + "text.decisland.shadow_crystal_fail": "§e结构不完整", + "text.decisland.spurt_egg_max": "§a生命值大于等于10,需用末影蛋进一步提升生命值", + "text.decisland.summon_abyssal_controller": "§e深海牢笼已被召唤", + "text.decisland.summon_ash_knight": "§e灰烬骑士已被召唤", + "text.decisland.summon_enchant_illager": "§e附魔师已被召唤", + "text.decisland.summon_entity_soul": "§e实体灵魂已被召唤", + "text.decisland.summon_escaped_soul": "§e逃逸之魂已被召唤", + "text.decisland.summon_everlasting_winter_ghast": "§e永冬恶魂已被召唤", + "text.decisland.summon_host_of_deep": "§e深渊之主已被召唤", + "text.decisland.summon_king_of_pillager": "§e掠夺者之王已被召唤", + "text.decisland.summon_leaves_golem": "§e自然精华已被召唤", + "text.decisland.summon_predators": "§e扑食者已被召唤", + "text.decisland.summon_radiate_crystal": "§e辐射水晶已被召唤", + "text.decisland.summon_shadow_crystal": "§e暗影水晶已被召唤", + "text.decisland.task_000_body": "穿上一整套熔岩盔甲。岩浆锭、粒可以打一部分地狱怪物掉落,或一些遗迹中可以找到。奖励:1岩浆桶,32个岩浆手里剑,1213点经验。", + "text.decisland.task_000_complete": "任务完成!迸发蛋的合成也需要岩浆粒哦!", + "text.decisland.task_000_title": "不再寒冷!", + "text.decisland.task_001_body": "穿上一整套霜冻盔甲。很多雪地怪物可以掉落冰锭,特别是永冬塔中的怪物。奖励:1冰锭,1霜冻能量碎片,1321点经验。", + "text.decisland.task_001_complete": "任务完成!你需要七个霜冻能量碎片,才能合成一个完整的霜冻能量以解开塔上召唤者的锁。", + "text.decisland.task_001_title": "不再炎热!", + "text.decisland.task_002_body": "穿上一整套鲁伯特盔甲。可以在地狱搜集材料。奖励:1灵魂之息,15个灵魂烈焰弹,1422点经验。", + "text.decisland.task_002_complete": "任务完成!你可以在绯红森林里找到深渊花园,并在那里挑战深渊之主。", + "text.decisland.task_002_title": "最坚硬的装备?", + "text.decisland.task_003_body": "穿上一整套紫水晶盔甲。奖励:1蓝宝石,7魔法晶核,1钻石晶核,961点经验。", + "text.decisland.task_003_complete": "任务完成!平原上的高大哨塔似乎有主人。", + "text.decisland.task_003_title": "折射!", + "text.decisland.task_004_body": "穿上一整套铜盔甲。奖励:53橡木原木,1自然之眼,381点经验。", + "text.decisland.task_004_complete": "任务完成!你可以在森林里找到巨大的树,用铁钥匙点击树顶召唤者即可召唤绿叶之精华。", + "text.decisland.task_004_title": "大地的重量!", + "text.decisland.task_005_body": "穿上一整套哭泣盔甲。奖励:46魔法粉末,7末影珍珠,3生命石,2岩浆锭,1623点经验。", + "text.decisland.task_005_complete": "任务完成!不过小心带来的负面效果。", + "text.decisland.task_005_title": "浸入", + "text.decisland.task_006_body": "穿上一整套绿宝石盔甲。奖励:5玻璃锭,3铁棍,1724点经验。", + "text.decisland.task_006_complete": "任务完成!传说有一把叫做村庄守卫者的剑,望向天空可以感受到远古之力。", + "text.decisland.task_006_title": "财富外漏", + "text.decisland.task_007_body": "穿上一整套永冬盔甲。奖励:165冰霜魔法球,31霰弹冰霜魔法球,5永冬锭,1尚方宝剑,2310点经验。", + "text.decisland.task_007_complete": "任务完成!不过你真的击败永冬恶魂了吗?", + "text.decisland.task_007_title": "麻木躯体", + "text.decisland.task_008_body": "戴上骑士头盔,穿上铁胸甲,护腿,靴子。只有在骷髅之夜时骷髅骑士长才会出现。奖励:1血腥的肉,1骨剑,945点经验。", + "text.decisland.task_008_complete": "任务完成!迷雾来临之时即是危险来临之时。", + "text.decisland.task_008_title": "骑士之力", + "text.decisland.task_009_body": "戴上女巫帽。奖励:5药水,423点经验。", + "text.decisland.task_009_complete": "任务完成!宝箱怪喜欢矿物块。", + "text.decisland.task_009_title": "女巫?", + "text.decisland.task_010_body": "我不晓得谁会收到这份邮件,物件传输我第一次用,但。。。收到的人,能传输一张纸作为回复吗? 任务要求:提交1纸。奖励:72点经验。", + "text.decisland.task_010_complete": "任务完成!", + "text.decisland.task_010_title": "魔法邮件NO:99W 归档00", + "text.decisland.task_011_body": "噢!非常感谢你上一次的回信,谢谢你!毕竟是我的第一次传输魔法作业!先生还表扬了我呢!嗯。。。应该没有传错人吧?错了可就尴尬了。。。总之!感谢收到这两封信的陌生人们! 点击完成任务。奖励:71经验。", + "text.decisland.task_011_complete": "任务完成!", + "text.decisland.task_011_title": "魔法邮件NO:99W 归档01", + "text.decisland.task_012_body": "送陌生人们一本书,那是我朋友送我的,不过我不需要两本! 任务要求:点击完成任务。奖励:1青金石魔法书。", + "text.decisland.task_012_complete": "任务完成!", + "text.decisland.task_012_title": "魔法邮件NO:99W 归档02", + "text.decisland.task_013_body": "那个,看到这封信的好心人,能给我口吃的吗!任务要求:提交长面包16个和巧克力8个。奖励:3蓝魔法卷轴,751点经验。", + "text.decisland.task_013_complete": "任务完成!", + "text.decisland.task_013_title": "魔法邮件NO:99W 归档35", + "text.decisland.task_014_body": "同志们!收到魔法邮件的,无论您是外面的义乌军,还是村南的,就在我身边的已经干瘪的,失去心跳的孩子们,放下吧,没有意义的争执,没有意义啊!提交1铁剑。奖励:68点经验。", + "text.decisland.task_014_complete": "任务完成!", + "text.decisland.task_014_title": "魔法邮件NO:99W 归档36", + "text.decisland.task_015_body": "这蓝魔法卷轴上面的字迹看不清,虽然像从灶台里捡出来的,但起初的手笔一定干劲有力,“迷迷糊糊......没事,真的。”提交14蒲公英。奖励:142点经验。", + "text.decisland.task_015_complete": "任务完成!", + "text.decisland.task_015_title": "魔法邮件NO:9#%", + "text.decisland.task_016_body": "哎呀!冬天缺木头啊!木材全被雪打湿了!舅啊!你说我怎么那么又倒霉又蠢的!提交64木炭。奖励:671点经验。", + "text.decisland.task_016_complete": "任务完成!", + "text.decisland.task_016_title": "木头紧缺!", + "text.decisland.task_017_body": "他乖乖的!老天爷你就是不服我是吧!东西卖贵几十个绿宝石又怎么了!凭什么生意那么差劲!有种现在就下暴雨带暴雪给我!提交1水桶和12雪块。奖励:512点经验。", + "text.decisland.task_017_complete": "任务完成!", + "text.decisland.task_017_title": "给老天爷的诅咒!", + "text.decisland.task_018_body": "要糖果,要糖果。提交3糖果。奖励:224点经验。", + "text.decisland.task_018_complete": "任务完成!", + "text.decisland.task_018_title": "啦啦啦!糖果糖果!", + "text.decisland.task_019_body": "酒精是一级致癌物!喝酒……诶诶诶,让我把话说完!我知道触及了你们的利益!提交16米酒。奖励:375点经验。", + "text.decisland.task_019_complete": "任务完成!", + "text.decisland.task_019_title": "酿酒技术", + "text.decisland.task_020_body": "提交4下界合金锭。奖励1-3星体碎片,1213点经验。", + "text.decisland.task_020_complete": "任务完成!", + "text.decisland.task_020_title": "矿物交易!", + "text.decisland.task_021_body": "提交1冰锭,35金锭,62铁锭。奖励:1-2下界合金碎片,742点经验。", + "text.decisland.task_021_complete": "任务完成!", + "text.decisland.task_021_title": "矿物交易!", + "text.decisland.task_022_body": "提交42紫水晶碎片,31溪流石。奖励:1-2岩浆锭,941点经验。", + "text.decisland.task_022_complete": "任务完成!", + "text.decisland.task_022_title": "矿物交易!", + "text.decisland.task_023_body": "提交1冰锭。奖励:8-20紫水晶碎片,421点经验。", + "text.decisland.task_023_complete": "任务完成!", + "text.decisland.task_023_title": "矿物交易!", + "text.decisland.task_024_body": "提交4珊瑚锭。奖励:13-31铁锭,761点经验。", + "text.decisland.task_024_complete": "任务完成!", + "text.decisland.task_024_title": "矿物交易!", + "text.decisland.task_025_body": "提交34海晶碎片14溪流石。奖励:2-4玻璃锭,842点经验。", + "text.decisland.task_025_complete": "任务完成!", + "text.decisland.task_025_title": "矿物交易!", + "text.decisland.task_026_body": "提交2幽魂锭。奖励:2-4下界合金碎片,1231点经验。", + "text.decisland.task_026_complete": "任务完成!", + "text.decisland.task_026_title": "矿物交易!", + "text.decisland.task_027_body": "提交1纯洁之锭。奖励:12-25铁锭,24-31金锭,541点经验。", + "text.decisland.task_027_complete": "任务完成!", + "text.decisland.task_027_title": "矿物交易!", + "text.decisland.task_028_body": "提交41钢锭。奖励:1-2下界合金锭,2-3玻璃锭,1342点经验。", + "text.decisland.task_028_complete": "任务完成!", + "text.decisland.task_028_title": "矿物交易!", + "text.decisland.task_029_body": "提交2星体碎片,1岩浆锭。奖励:2-4下界合金锭。1433点经验。", + "text.decisland.task_029_complete": "任务完成!", + "text.decisland.task_029_title": "矿物交易!", + "text.decisland.task_030_body": "提交2影击碎片。奖励:21-48铁锭,978点经验。", + "text.decisland.task_030_complete": "任务完成!", + "text.decisland.task_030_title": "矿物交易!", + "text.decisland.task_031_body": "提交13溪流石。奖励:1神秘钥匙碎片,134点经验。", + "text.decisland.task_031_complete": "任务完成!", + "text.decisland.task_031_title": "黑市交易单", + "text.decisland.task_032_body": "提交32溪流石,26青金石。奖励:1-4污染海藻,164点经验。", + "text.decisland.task_032_complete": "任务完成!", + "text.decisland.task_032_title": "黑市交易单", + "text.decisland.task_033_body": "提交21溪流石,42青金石。奖励:9-13魔法晶核,432点经验。", + "text.decisland.task_033_complete": "任务完成!", + "text.decisland.task_033_title": "黑市交易单", + "text.decisland.task_034_body": "提交14溪流石。奖励:1-4末影骨,331点经验。", + "text.decisland.task_034_complete": "任务完成!", + "text.decisland.task_034_title": "黑市交易单", + "text.decisland.task_035_body": "提交31溪流石,42青金石。奖励:5-11自然之眼,451点经验。", + "text.decisland.task_035_complete": "任务完成!", + "text.decisland.task_035_title": "黑市交易单", + "text.decisland.task_036_body": "提交34溪流石,13青金石。奖励:1-3花之精华,433点经验。", + "text.decisland.task_036_complete": "任务完成!", + "text.decisland.task_036_title": "黑市交易单", + "text.decisland.task_037_body": "提交21溪流石,41青金石。奖励:31魔法粉末,264点经验。", + "text.decisland.task_037_complete": "任务完成!", + "text.decisland.task_037_title": "黑市交易单", + "text.decisland.task_038_body": "提交31溪流石,44青金石。奖励:3-8灵魂烈焰棒,612点经验。", + "text.decisland.task_038_complete": "任务完成!", + "text.decisland.task_038_title": "黑市交易单", + "text.decisland.task_039_body": "提交71溪流石,42青金石。奖励:3-7凋零物质,951点经验。", + "text.decisland.task_039_complete": "任务完成!", + "text.decisland.task_039_title": "黑市交易单", + "text.decisland.task_040_body": "提交31溪流石。奖励:2灵魂,541点经验。", + "text.decisland.task_040_complete": "任务完成!", + "text.decisland.task_040_title": "黑市交易单", + "text.decisland.task_041_body": "提交72溪流石。奖励:1血腥肉块,845点经验。", + "text.decisland.task_041_complete": "任务完成!", + "text.decisland.task_041_title": "黑市交易单", + "text.decisland.task_042_body": "提交64白桦木原木。奖励:3绿宝石,421点经验。", + "text.decisland.task_042_complete": "任务完成!", + "text.decisland.task_042_title": "木材收购", + "text.decisland.task_043_body": "提交73橡木原木。奖励:1蓝宝石,562点经验。", + "text.decisland.task_043_complete": "任务完成!", + "text.decisland.task_043_title": "木材收购", + "text.decisland.task_044_body": "提交134橡木原木。奖励:1红宝石,741点经验。", + "text.decisland.task_044_complete": "任务完成!", + "text.decisland.task_044_title": "木材收购", + "text.decisland.task_045_body": "提交85大米。奖励:854点经验。", + "text.decisland.task_045_complete": "任务完成!", + "text.decisland.task_045_title": "农田大亨", + "text.decisland.task_046_body": "提交75大豆。奖励:951点经验。", + "text.decisland.task_046_complete": "任务完成!", + "text.decisland.task_046_title": "农田大亨", + "text.decisland.task_047_body": "提交76韭菜。奖励:1034点经验。", + "text.decisland.task_047_complete": "任务完成!", + "text.decisland.task_047_title": "农田大亨", + "text.decisland.task_048_body": "提交73蕨菜。奖励:1045点经验。", + "text.decisland.task_048_complete": "任务完成!", + "text.decisland.task_048_title": "农田大亨", + "text.decisland.task_049_body": "提交93折耳根。奖励:1641点经验。", + "text.decisland.task_049_complete": "任务完成!", + "text.decisland.task_049_title": "农田大亨", + "text.decisland.task_050_body": "提交64贝母。奖励:1241点经验。", + "text.decisland.task_050_complete": "任务完成!", + "text.decisland.task_050_title": "农田大亨", + "text.decisland.task_051_body": "提交95奇异椒。奖励:1541点经验。", + "text.decisland.task_051_complete": "任务完成!", + "text.decisland.task_051_title": "农田大亨", + "text.decisland.task_052_body": "提交4一碗饭。奖励:375点经验。", + "text.decisland.task_052_complete": "任务完成!", + "text.decisland.task_052_title": "食物订单", + "text.decisland.task_053_body": "提交4土豆焖饭。奖励:498点经验。", + "text.decisland.task_053_complete": "任务完成!", + "text.decisland.task_053_title": "食物订单", + "text.decisland.task_054_body": "提交17米酒。奖励:783点经验。", + "text.decisland.task_054_complete": "任务完成!", + "text.decisland.task_054_title": "食物订单", + "text.decisland.task_055_body": "提交27煮熟的大脑。奖励:273点经验。", + "text.decisland.task_055_complete": "任务完成!", + "text.decisland.task_055_title": "食物订单", + "text.decisland.task_056_body": "提交4海胆。奖励:751点经验。", + "text.decisland.task_056_complete": "任务完成!", + "text.decisland.task_056_title": "食物订单", + "text.decisland.task_057_body": "提交3贝壳。奖励:482点经验。", + "text.decisland.task_057_complete": "任务完成!", + "text.decisland.task_057_title": "食物订单", + "text.decisland.task_058_body": "提交78西瓜片。奖励:754点经验。", + "text.decisland.task_058_complete": "任务完成!", + "text.decisland.task_058_title": "食物订单", + "text.decisland.task_059_body": "提交64炒瓜子。奖励:751点经验。", + "text.decisland.task_059_complete": "任务完成!", + "text.decisland.task_059_title": "食物订单", + "text.decisland.task_060_body": "提交74苹果派。奖励:1752点经验。", + "text.decisland.task_060_complete": "任务完成!", + "text.decisland.task_060_title": "食物订单", + "text.decisland.task_061_body": "提交32巧克力饼干。奖励:1342点经验。", + "text.decisland.task_061_complete": "任务完成!", + "text.decisland.task_061_title": "食物订单", + "text.decisland.task_062_body": "提交18煎蛋。奖励:754点经验。", + "text.decisland.task_062_complete": "任务完成!", + "text.decisland.task_062_title": "食物订单", + "text.decisland.task_063_body": "提交6末影鱼。奖励:571点经验。", + "text.decisland.task_063_complete": "任务完成!", + "text.decisland.task_063_title": "食物订单", + "text.decisland.task_064_body": "提交16狮子鱼。奖励:751点经验。", + "text.decisland.task_064_complete": "任务完成!", + "text.decisland.task_064_title": "食物订单", + "text.decisland.task_065_body": "提交7螺蛳。奖励:1375点经验。", + "text.decisland.task_065_complete": "任务完成!", + "text.decisland.task_065_title": "食物订单", + "text.decisland.task_066_body": "提交2剑鱼。奖励:1243点经验。", + "text.decisland.task_066_complete": "任务完成!", + "text.decisland.task_066_title": "食物订单", + "text.decisland.task_067_body": "提交72热带鱼。奖励:1375点经验。", + "text.decisland.task_067_complete": "任务完成!", + "text.decisland.task_067_title": "食物订单", + "text.decisland.task_068_body": "提交76烤熟的热带鱼。奖励:1471点经验。", + "text.decisland.task_068_complete": "任务完成!", + "text.decisland.task_068_title": "食物订单", + "text.decisland.task_069_body": "提交75糖果。奖励:791点经验。", + "text.decisland.task_069_complete": "任务完成!", + "text.decisland.task_069_title": "食物订单", + "text.decisland.task_070_body": "提交14棒棒糖。奖励:1672点经验。", + "text.decisland.task_070_complete": "任务完成!", + "text.decisland.task_070_title": "食物订单", + "text.decisland.task_071_body": "提交17硬化棒棒糖。奖励:1851点经验。", + "text.decisland.task_071_complete": "任务完成!", + "text.decisland.task_071_title": "食物订单", + "text.decisland.task_072_body": "提交1长面包。奖励:214点经验。", + "text.decisland.task_072_complete": "任务完成!", + "text.decisland.task_072_title": "食物订单", + "text.decisland.task_073_body": "提交64豆腐。奖励:985点经验。", + "text.decisland.task_073_complete": "任务完成!", + "text.decisland.task_073_title": "食物订单", + "text.decisland.task_074_body": "提交1苹果汁。奖励:276点经验。", + "text.decisland.task_074_complete": "任务完成!", + "text.decisland.task_074_title": "食物订单", + "text.decisland.task_075_body": "提交6螃蟹腿。奖励:375点经验。", + "text.decisland.task_075_complete": "任务完成!", + "text.decisland.task_075_title": "食物订单", + "text.decisland.task_076_body": "提交6烤熟的螃蟹腿。奖励:457点经验。", + "text.decisland.task_076_complete": "任务完成!", + "text.decisland.task_076_title": "食物订单", + "text.decisland.task_077_body": "提交1松果。奖励:384点经验。", + "text.decisland.task_077_complete": "任务完成!", + "text.decisland.task_077_title": "食物订单", + "text.decisland.task_078_body": "提交15人造肉。奖励:572点经验。", + "text.decisland.task_078_complete": "任务完成!", + "text.decisland.task_078_title": "食物订单", + "text.decisland.task_079_body": "提交1活的鹦鹉螺。奖励:427点经验。", + "text.decisland.task_079_complete": "任务完成!", + "text.decisland.task_079_title": "食物订单", + "text.decisland.task_080_body": "提交16三文鱼片。奖励:432点经验。", + "text.decisland.task_080_complete": "任务完成!", + "text.decisland.task_080_title": "食物订单", + "text.decisland.task_081_body": "提交16七鳃鳗。奖励:1864点经验。", + "text.decisland.task_081_complete": "任务完成!", + "text.decisland.task_081_title": "食物订单", + "text.decisland.task_082_body": "提交16鲈鱼。奖励:675点经验。", + "text.decisland.task_082_complete": "任务完成!", + "text.decisland.task_082_title": "食物订单", + "text.decisland.task_083_body": "提交17烤鲈鱼。奖励:791点经验。", + "text.decisland.task_083_complete": "任务完成!", + "text.decisland.task_083_title": "食物订单", + "text.decisland.task_084_body": "提交1蓝水母。奖励:754点经验。", + "text.decisland.task_084_complete": "任务完成!", + "text.decisland.task_084_title": "食物订单", + "text.decisland.task_085_body": "提交1粉水母。奖励:473点经验。", + "text.decisland.task_085_complete": "任务完成!", + "text.decisland.task_085_title": "食物订单", + "text.decisland.task_086_body": "提交1黄水母。奖励:521点经验。", + "text.decisland.task_086_complete": "任务完成!", + "text.decisland.task_086_title": "食物订单", + "text.decisland.task_087_body": "提交64巧克力。奖励:1427点经验。", + "text.decisland.task_087_complete": "任务完成!", + "text.decisland.task_087_title": "食物订单", + "text.decisland.task_088_body": "提交16姜饼人。奖励:1213点经验。", + "text.decisland.task_088_complete": "任务完成!", + "text.decisland.task_088_title": "食物订单", + "text.decisland.task_089_body": "提交1姜饼剑。奖励:746点经验。", + "text.decisland.task_089_complete": "任务完成!", + "text.decisland.task_089_title": "食物订单", + "text.decisland.task_090_body": "提交1拐棍糖。奖励:754点经验。", + "text.decisland.task_090_complete": "任务完成!", + "text.decisland.task_090_title": "食物订单", + "text.decisland.task_091_body": "提交1姜饼图腾。奖励:781点经验。", + "text.decisland.task_091_complete": "任务完成!", + "text.decisland.task_091_title": "食物订单", + "text.decisland.task_092_body": "提交15沙丁鱼。奖励:542点经验。", + "text.decisland.task_092_complete": "任务完成!", + "text.decisland.task_092_title": "食物订单", + "text.decisland.task_093_body": "提交81熟韭菜。奖励:1312点经验。", + "text.decisland.task_093_complete": "任务完成!", + "text.decisland.task_093_title": "食物订单", + "text.decisland.task_094_body": "提交3冰淇淋。奖励:572点经验。", + "text.decisland.task_094_complete": "任务完成!", + "text.decisland.task_094_title": "食物订单", + "text.decisland.task_095_body": "提交1魔法冰淇淋。奖励:711点经验。", + "text.decisland.task_095_complete": "任务完成!", + "text.decisland.task_095_title": "食物订单", + "text.decisland.task_096_body": "提交1烤马铃薯。奖励:157点经验。", + "text.decisland.task_096_complete": "任务完成!", + "text.decisland.task_096_title": "食物订单", + "text.decisland.task_097_body": "提交77甜菜根。奖励:1170点经验。", + "text.decisland.task_097_complete": "任务完成!", + "text.decisland.task_097_title": "食物订单", + "text.decisland.task_098_body": "提交18面包。奖励:312点经验。", + "text.decisland.task_098_complete": "任务完成!", + "text.decisland.task_098_title": "食物订单", + "text.decisland.task_099_body": "提交1蛋糕。奖励:127点经验。", + "text.decisland.task_099_complete": "任务完成!", + "text.decisland.task_099_title": "食物订单", + "text.decisland.task_100_body": "提交72胡萝卜。奖励:1210点经验。", + "text.decisland.task_100_complete": "任务完成!", + "text.decisland.task_100_title": "食物订单", + "text.decisland.task_101_body": "提交251紫颂果。奖励:1241点经验。", + "text.decisland.task_101_complete": "任务完成!", + "text.decisland.task_101_title": "食物订单", + "text.decisland.task_102_body": "提交73熟鸡肉。奖励:1512点经验。", + "text.decisland.task_102_complete": "任务完成!", + "text.decisland.task_102_title": "食物订单", + "text.decisland.task_103_body": "提交72熟鳕鱼。奖励:1572点经验。", + "text.decisland.task_103_complete": "任务完成!", + "text.decisland.task_103_title": "食物订单", + "text.decisland.task_104_body": "提交72熟羊肉。奖励:1542点经验。", + "text.decisland.task_104_complete": "任务完成!", + "text.decisland.task_104_title": "食物订单", + "text.decisland.task_105_body": "提交71熟猪排。奖励:1531点经验。", + "text.decisland.task_105_complete": "任务完成!", + "text.decisland.task_105_title": "食物订单", + "text.decisland.task_106_body": "提交31熟兔肉。奖励:741点经验。", + "text.decisland.task_106_complete": "任务完成!", + "text.decisland.task_106_title": "食物订单", + "text.decisland.task_107_body": "提交214熟鲑鱼 。奖励:1513点经验。", + "text.decisland.task_107_complete": "任务完成!", + "text.decisland.task_107_title": "食物订单", + "text.decisland.task_108_body": "提交71曲奇。奖励:774点经验。", + "text.decisland.task_108_complete": "任务完成!", + "text.decisland.task_108_title": "食物订单", + "text.decisland.task_109_body": "提交81干海带。奖励:794点经验。", + "text.decisland.task_109_complete": "任务完成!", + "text.decisland.task_109_title": "食物订单", + "text.decisland.task_110_body": "提交21南瓜派。奖励:721点经验。", + "text.decisland.task_110_complete": "任务完成!", + "text.decisland.task_110_title": "食物订单", + "text.decisland.task_111_body": "提交417甜浆果。奖励:711点经验。", + "text.decisland.task_111_complete": "任务完成!", + "text.decisland.task_111_title": "食物订单", + "text.decisland.task_112_body": "提交423发光浆果。奖励:320点经验。", + "text.decisland.task_112_complete": "任务完成!", + "text.decisland.task_112_title": "食物订单", + "text.decisland.task_113_body": "玩家经验等级达到40级。奖励:300点经验。", + "text.decisland.task_113_complete": "任务完成!", + "text.decisland.task_113_title": "来自地府的经验收割货单", + "text.decisland.task_114_body": "", + "text.decisland.task_114_complete": "任务完成!", + "text.decisland.task_114_title": "", + "text.decisland.task_115_body": "", + "text.decisland.task_115_complete": "任务完成!", + "text.decisland.task_115_title": "", + "text.decisland.task_116_body": "", + "text.decisland.task_116_complete": "任务完成!", + "text.decisland.task_116_title": "", + "text.decisland.task_117_body": "", + "text.decisland.task_117_complete": "任务完成!", + "text.decisland.task_117_title": "", + "text.decisland.task_118_body": "", + "text.decisland.task_118_complete": "任务完成!", + "text.decisland.task_118_title": "", + "text.decisland.task_119_body": "", + "text.decisland.task_119_complete": "任务完成!", + "text.decisland.task_119_title": "", + "text.decisland.task_120_body": "", + "text.decisland.task_120_complete": "任务完成!", + "text.decisland.task_120_title": "", + "text.decisland.task_121_body": "", + "text.decisland.task_121_complete": "任务完成!", + "text.decisland.task_121_title": "", + "text.decisland.task_122_body": "", + "text.decisland.task_122_complete": "任务完成!", + "text.decisland.task_122_title": "", + "text.decisland.task_123_body": "", + "text.decisland.task_123_complete": "任务完成!", + "text.decisland.task_123_title": "", + "text.decisland.task_124_body": "", + "text.decisland.task_124_complete": "任务完成!", + "text.decisland.task_124_title": "", + "text.decisland.task_125_body": "", + "text.decisland.task_125_complete": "任务完成!", + "text.decisland.task_125_title": "", + "text.decisland.task_126_body": "", + "text.decisland.task_126_complete": "任务完成!", + "text.decisland.task_126_title": "", + "text.decisland.task_127_body": "", + "text.decisland.task_127_complete": "任务完成!", + "text.decisland.task_127_title": "", + "text.decisland.task_128_body": "", + "text.decisland.task_128_complete": "任务完成!", + "text.decisland.task_128_title": "", + "text.decisland.task_129_body": "", + "text.decisland.task_129_complete": "任务完成!", + "text.decisland.task_129_title": "", + "text.decisland.task_130_body": "", + "text.decisland.task_130_complete": "任务完成!", + "text.decisland.task_130_title": "", + "text.decisland.task_131_body": "", + "text.decisland.task_131_complete": "任务完成!", + "text.decisland.task_131_title": "", + "text.decisland.task_132_body": "", + "text.decisland.task_132_complete": "任务完成!", + "text.decisland.task_132_title": "", + "text.decisland.task_133_body": "", + "text.decisland.task_133_complete": "任务完成!", + "text.decisland.task_133_title": "", + "text.decisland.task_134_body": "", + "text.decisland.task_134_complete": "任务完成!", + "text.decisland.task_134_title": "", + "text.decisland.task_135_body": "", + "text.decisland.task_135_complete": "任务完成!", + "text.decisland.task_135_title": "", + "text.decisland.task_136_body": "", + "text.decisland.task_136_complete": "任务完成!", + "text.decisland.task_136_title": "", + "text.decisland.task_137_body": "", + "text.decisland.task_137_complete": "任务完成!", + "text.decisland.task_137_title": "", + "text.decisland.task_138_body": "", + "text.decisland.task_138_complete": "任务完成!", + "text.decisland.task_138_title": "", + "text.decisland.task_139_body": "", + "text.decisland.task_139_complete": "任务完成!", + "text.decisland.task_139_title": "", + "text.decisland.task_140_body": "", + "text.decisland.task_140_complete": "任务完成!", + "text.decisland.task_140_title": "", + "text.decisland.task_141_body": "", + "text.decisland.task_141_complete": "任务完成!", + "text.decisland.task_141_title": "", + "text.decisland.task_142_body": "", + "text.decisland.task_142_complete": "任务完成!", + "text.decisland.task_142_title": "", + "text.decisland.task_143_body": "", + "text.decisland.task_143_complete": "任务完成!", + "text.decisland.task_143_title": "", + "text.decisland.task_144_body": "", + "text.decisland.task_144_complete": "任务完成!", + "text.decisland.task_144_title": "", + "text.decisland.task_145_body": "", + "text.decisland.task_145_complete": "任务完成!", + "text.decisland.task_145_title": "", + "text.decisland.task_146_body": "", + "text.decisland.task_146_complete": "任务完成!", + "text.decisland.task_146_title": "", + "text.decisland.task_147_body": "", + "text.decisland.task_147_complete": "任务完成!", + "text.decisland.task_147_title": "", + "text.decisland.task_148_body": "", + "text.decisland.task_148_complete": "任务完成!", + "text.decisland.task_148_title": "", + "text.decisland.task_149_body": "", + "text.decisland.task_149_complete": "任务完成!", + "text.decisland.task_149_title": "", + "text.decisland.task_150_body": "", + "text.decisland.task_150_complete": "任务完成!", + "text.decisland.task_150_title": "", + "text.decisland.task_151_body": "", + "text.decisland.task_151_complete": "任务完成!", + "text.decisland.task_151_title": "", + "text.decisland.task_152_body": "", + "text.decisland.task_152_complete": "任务完成!", + "text.decisland.task_152_title": "", + "text.decisland.task_153_body": "", + "text.decisland.task_153_complete": "任务完成!", + "text.decisland.task_153_title": "", + "text.decisland.task_154_body": "", + "text.decisland.task_154_complete": "任务完成!", + "text.decisland.task_154_title": "", + "text.decisland.task_155_body": "", + "text.decisland.task_155_complete": "任务完成!", + "text.decisland.task_155_title": "", + "text.decisland.task_156_body": "", + "text.decisland.task_156_complete": "任务完成!", + "text.decisland.task_156_title": "", + "text.decisland.task_157_body": "", + "text.decisland.task_157_complete": "任务完成!", + "text.decisland.task_157_title": "", + "text.decisland.task_158_body": "", + "text.decisland.task_158_complete": "任务完成!", + "text.decisland.task_158_title": "", + "text.decisland.task_159_body": "", + "text.decisland.task_159_complete": "任务完成!", + "text.decisland.task_159_title": "", + "text.decisland.task_160_body": "", + "text.decisland.task_160_complete": "任务完成!", + "text.decisland.task_160_title": "", + "text.decisland.task_161_body": "", + "text.decisland.task_161_complete": "任务完成!", + "text.decisland.task_161_title": "", + "text.decisland.task_162_body": "", + "text.decisland.task_162_complete": "任务完成!", + "text.decisland.task_162_title": "", + "text.decisland.task_163_body": "", + "text.decisland.task_163_complete": "任务完成!", + "text.decisland.task_163_title": "", + "text.decisland.task_164_body": "", + "text.decisland.task_164_complete": "任务完成!", + "text.decisland.task_164_title": "", + "text.decisland.task_165_body": "", + "text.decisland.task_165_complete": "任务完成!", + "text.decisland.task_165_title": "", + "text.decisland.task_166_body": "", + "text.decisland.task_166_complete": "任务完成!", + "text.decisland.task_166_title": "", + "text.decisland.task_167_body": "", + "text.decisland.task_167_complete": "任务完成!", + "text.decisland.task_167_title": "", + "text.decisland.task_168_body": "", + "text.decisland.task_168_complete": "任务完成!", + "text.decisland.task_168_title": "", + "text.decisland.task_169_body": "", + "text.decisland.task_169_complete": "任务完成!", + "text.decisland.task_169_title": "", + "text.decisland.task_170_body": "", + "text.decisland.task_170_complete": "任务完成!", + "text.decisland.task_170_title": "", + "text.decisland.task_171_body": "", + "text.decisland.task_171_complete": "任务完成!", + "text.decisland.task_171_title": "", + "text.decisland.task_172_body": "", + "text.decisland.task_172_complete": "任务完成!", + "text.decisland.task_172_title": "", + "text.decisland.task_173_body": "", + "text.decisland.task_173_complete": "任务完成!", + "text.decisland.task_173_title": "", + "text.decisland.task_174_body": "", + "text.decisland.task_174_complete": "任务完成!", + "text.decisland.task_174_title": "", + "text.decisland.task_175_body": "", + "text.decisland.task_175_complete": "任务完成!", + "text.decisland.task_175_title": "", + "text.decisland.task_176_body": "", + "text.decisland.task_176_complete": "任务完成!", + "text.decisland.task_176_title": "", + "text.decisland.task_177_body": "", + "text.decisland.task_177_complete": "任务完成!", + "text.decisland.task_177_title": "", + "text.decisland.task_178_body": "", + "text.decisland.task_178_complete": "任务完成!", + "text.decisland.task_178_title": "", + "text.decisland.task_179_body": "", + "text.decisland.task_179_complete": "任务完成!", + "text.decisland.task_179_title": "", + "text.decisland.task_180_body": "", + "text.decisland.task_180_complete": "任务完成!", + "text.decisland.task_180_title": "", + "text.decisland.task_181_body": "", + "text.decisland.task_181_complete": "任务完成!", + "text.decisland.task_181_title": "", + "text.decisland.task_182_body": "", + "text.decisland.task_182_complete": "任务完成!", + "text.decisland.task_182_title": "", + "text.decisland.task_183_body": "", + "text.decisland.task_183_complete": "任务完成!", + "text.decisland.task_183_title": "", + "text.decisland.task_184_body": "", + "text.decisland.task_184_complete": "任务完成!", + "text.decisland.task_184_title": "", + "text.decisland.task_185_body": "", + "text.decisland.task_185_complete": "任务完成!", + "text.decisland.task_185_title": "", + "text.decisland.task_186_body": "", + "text.decisland.task_186_complete": "任务完成!", + "text.decisland.task_186_title": "", + "text.decisland.task_187_body": "", + "text.decisland.task_187_complete": "任务完成!", + "text.decisland.task_187_title": "", + "text.decisland.task_188_body": "", + "text.decisland.task_188_complete": "任务完成!", + "text.decisland.task_188_title": "", + "text.decisland.task_189_body": "", + "text.decisland.task_189_complete": "任务完成!", + "text.decisland.task_189_title": "", + "text.decisland.task_190_body": "", + "text.decisland.task_190_complete": "任务完成!", + "text.decisland.task_190_title": "", + "text.decisland.task_191_body": "", + "text.decisland.task_191_complete": "任务完成!", + "text.decisland.task_191_title": "", + "text.decisland.task_192_body": "", + "text.decisland.task_192_complete": "任务完成!", + "text.decisland.task_192_title": "", + "text.decisland.task_193_body": "", + "text.decisland.task_193_complete": "任务完成!", + "text.decisland.task_193_title": "", + "text.decisland.task_194_body": "", + "text.decisland.task_194_complete": "任务完成!", + "text.decisland.task_194_title": "", + "text.decisland.task_195_body": "", + "text.decisland.task_195_complete": "任务完成!", + "text.decisland.task_195_title": "", + "text.decisland.task_196_body": "", + "text.decisland.task_196_complete": "任务完成!", + "text.decisland.task_196_title": "", + "text.decisland.task_197_body": "", + "text.decisland.task_197_complete": "任务完成!", + "text.decisland.task_197_title": "", + "text.decisland.task_198_body": "", + "text.decisland.task_198_complete": "任务完成!", + "text.decisland.task_198_title": "", + "text.decisland.task_199_body": "", + "text.decisland.task_199_complete": "任务完成!", + "text.decisland.task_199_title": "", + "text.decisland.task_200_body": "", + "text.decisland.task_200_complete": "任务完成!", + "text.decisland.task_200_title": "", + "text.decisland.task_201_body": "", + "text.decisland.task_201_complete": "任务完成!", + "text.decisland.task_201_title": "", + "text.decisland.task_202_body": "", + "text.decisland.task_202_complete": "任务完成!", + "text.decisland.task_202_title": "", + "text.decisland.task_203_body": "", + "text.decisland.task_203_complete": "任务完成!", + "text.decisland.task_203_title": "", + "text.decisland.task_204_body": "", + "text.decisland.task_204_complete": "任务完成!", + "text.decisland.task_204_title": "", + "text.decisland.task_205_body": "", + "text.decisland.task_205_complete": "任务完成!", + "text.decisland.task_205_title": "", + "text.decisland.task_206_body": "", + "text.decisland.task_206_complete": "任务完成!", + "text.decisland.task_206_title": "", + "text.decisland.task_207_body": "", + "text.decisland.task_207_complete": "任务完成!", + "text.decisland.task_207_title": "", + "text.decisland.task_208_body": "", + "text.decisland.task_208_complete": "任务完成!", + "text.decisland.task_208_title": "", + "text.decisland.task_209_body": "", + "text.decisland.task_209_complete": "任务完成!", + "text.decisland.task_209_title": "", + "text.decisland.task_210_body": "", + "text.decisland.task_210_complete": "任务完成!", + "text.decisland.task_210_title": "", + "text.decisland.task_211_body": "", + "text.decisland.task_211_complete": "任务完成!", + "text.decisland.task_211_title": "", + "text.decisland.task_212_body": "", + "text.decisland.task_212_complete": "任务完成!", + "text.decisland.task_212_title": "", + "text.decisland.task_213_body": "", + "text.decisland.task_213_complete": "任务完成!", + "text.decisland.task_213_title": "", + "text.decisland.task_214_body": "", + "text.decisland.task_214_complete": "任务完成!", + "text.decisland.task_214_title": "", + "text.decisland.task_215_body": "", + "text.decisland.task_215_complete": "任务完成!", + "text.decisland.task_215_title": "", + "text.decisland.task_216_body": "", + "text.decisland.task_216_complete": "任务完成!", + "text.decisland.task_216_title": "", + "text.decisland.task_217_body": "", + "text.decisland.task_217_complete": "任务完成!", + "text.decisland.task_217_title": "", + "text.decisland.task_218_body": "", + "text.decisland.task_218_complete": "任务完成!", + "text.decisland.task_218_title": "", + "text.decisland.task_219_body": "", + "text.decisland.task_219_complete": "任务完成!", + "text.decisland.task_219_title": "", + "text.decisland.task_220_body": "", + "text.decisland.task_220_complete": "任务完成!", + "text.decisland.task_220_title": "", + "text.decisland.task_221_body": "", + "text.decisland.task_221_complete": "任务完成!", + "text.decisland.task_221_title": "", + "text.decisland.task_222_body": "", + "text.decisland.task_222_complete": "任务完成!", + "text.decisland.task_222_title": "", + "text.decisland.task_223_body": "", + "text.decisland.task_223_complete": "任务完成!", + "text.decisland.task_223_title": "", + "text.decisland.task_224_body": "", + "text.decisland.task_224_complete": "任务完成!", + "text.decisland.task_224_title": "", + "text.decisland.task_225_body": "", + "text.decisland.task_225_complete": "任务完成!", + "text.decisland.task_225_title": "", + "text.decisland.task_226_body": "", + "text.decisland.task_226_complete": "任务完成!", + "text.decisland.task_226_title": "", + "text.decisland.task_227_body": "", + "text.decisland.task_227_complete": "任务完成!", + "text.decisland.task_227_title": "", + "text.decisland.task_228_body": "", + "text.decisland.task_228_complete": "任务完成!", + "text.decisland.task_228_title": "", + "text.decisland.task_229_body": "", + "text.decisland.task_229_complete": "任务完成!", + "text.decisland.task_229_title": "", + "text.decisland.task_230_body": "", + "text.decisland.task_230_complete": "任务完成!", + "text.decisland.task_230_title": "", + "text.decisland.task_231_body": "", + "text.decisland.task_231_complete": "任务完成!", + "text.decisland.task_231_title": "", + "text.decisland.task_232_body": "", + "text.decisland.task_232_complete": "任务完成!", + "text.decisland.task_232_title": "", + "text.decisland.task_233_body": "", + "text.decisland.task_233_complete": "任务完成!", + "text.decisland.task_233_title": "", + "text.decisland.task_234_body": "", + "text.decisland.task_234_complete": "任务完成!", + "text.decisland.task_234_title": "", + "text.decisland.task_235_body": "", + "text.decisland.task_235_complete": "任务完成!", + "text.decisland.task_235_title": "", + "text.decisland.task_236_body": "", + "text.decisland.task_236_complete": "任务完成!", + "text.decisland.task_236_title": "", + "text.decisland.task_237_body": "", + "text.decisland.task_237_complete": "任务完成!", + "text.decisland.task_237_title": "", + "text.decisland.task_238_body": "", + "text.decisland.task_238_complete": "任务完成!", + "text.decisland.task_238_title": "", + "text.decisland.task_239_body": "", + "text.decisland.task_239_complete": "任务完成!", + "text.decisland.task_239_title": "", + "text.decisland.task_240_body": "", + "text.decisland.task_240_complete": "任务完成!", + "text.decisland.task_240_title": "", + "text.decisland.task_241_body": "", + "text.decisland.task_241_complete": "任务完成!", + "text.decisland.task_241_title": "", + "text.decisland.task_242_body": "", + "text.decisland.task_242_complete": "任务完成!", + "text.decisland.task_242_title": "", + "text.decisland.task_243_body": "", + "text.decisland.task_243_complete": "任务完成!", + "text.decisland.task_243_title": "", + "text.decisland.task_244_body": "", + "text.decisland.task_244_complete": "任务完成!", + "text.decisland.task_244_title": "", + "text.decisland.task_245_body": "", + "text.decisland.task_245_complete": "任务完成!", + "text.decisland.task_245_title": "", + "text.decisland.task_246_body": "", + "text.decisland.task_246_complete": "任务完成!", + "text.decisland.task_246_title": "", + "text.decisland.task_247_body": "", + "text.decisland.task_247_complete": "任务完成!", + "text.decisland.task_247_title": "", + "text.decisland.task_248_body": "", + "text.decisland.task_248_complete": "任务完成!", + "text.decisland.task_248_title": "", + "text.decisland.task_249_body": "", + "text.decisland.task_249_complete": "任务完成!", + "text.decisland.task_249_title": "", + "text.decisland.task_250_body": "", + "text.decisland.task_250_complete": "任务完成!", + "text.decisland.task_250_title": "", + "text.decisland.task_251_body": "", + "text.decisland.task_251_complete": "任务完成!", + "text.decisland.task_251_title": "", + "text.decisland.task_252_body": "", + "text.decisland.task_252_complete": "任务完成!", + "text.decisland.task_252_title": "", + "text.decisland.task_253_body": "", + "text.decisland.task_253_complete": "任务完成!", + "text.decisland.task_253_title": "", + "text.decisland.task_254_body": "", + "text.decisland.task_254_complete": "任务完成!", + "text.decisland.task_254_title": "", + "text.decisland.task_255_body": "", + "text.decisland.task_255_complete": "任务完成!", + "text.decisland.task_255_title": "", + "text.decisland.task_256_body": "", + "text.decisland.task_256_complete": "任务完成!", + "text.decisland.task_256_title": "", + "text.decisland.task_257_body": "", + "text.decisland.task_257_complete": "任务完成!", + "text.decisland.task_257_title": "", + "text.decisland.task_258_body": "", + "text.decisland.task_258_complete": "任务完成!", + "text.decisland.task_258_title": "", + "text.decisland.task_259_body": "", + "text.decisland.task_259_complete": "任务完成!", + "text.decisland.task_259_title": "", + "text.decisland.task_260_body": "", + "text.decisland.task_260_complete": "任务完成!", + "text.decisland.task_260_title": "", + "text.decisland.task_261_body": "", + "text.decisland.task_261_complete": "任务完成!", + "text.decisland.task_261_title": "", + "text.decisland.task_262_body": "", + "text.decisland.task_262_complete": "任务完成!", + "text.decisland.task_262_title": "", + "text.decisland.task_263_body": "", + "text.decisland.task_263_complete": "任务完成!", + "text.decisland.task_263_title": "", + "text.decisland.task_264_body": "", + "text.decisland.task_264_complete": "任务完成!", + "text.decisland.task_264_title": "", + "text.decisland.task_265_body": "", + "text.decisland.task_265_complete": "任务完成!", + "text.decisland.task_265_title": "", + "text.decisland.task_266_body": "", + "text.decisland.task_266_complete": "任务完成!", + "text.decisland.task_266_title": "", + "text.decisland.task_267_body": "", + "text.decisland.task_267_complete": "任务完成!", + "text.decisland.task_267_title": "", + "text.decisland.task_268_body": "", + "text.decisland.task_268_complete": "任务完成!", + "text.decisland.task_268_title": "", + "text.decisland.task_269_body": "", + "text.decisland.task_269_complete": "任务完成!", + "text.decisland.task_269_title": "", + "text.decisland.task_270_body": "", + "text.decisland.task_270_complete": "任务完成!", + "text.decisland.task_270_title": "", + "text.decisland.task_271_body": "", + "text.decisland.task_271_complete": "任务完成!", + "text.decisland.task_271_title": "", + "text.decisland.task_272_body": "", + "text.decisland.task_272_complete": "任务完成!", + "text.decisland.task_272_title": "", + "text.decisland.task_273_body": "", + "text.decisland.task_273_complete": "任务完成!", + "text.decisland.task_273_title": "", + "text.decisland.task_274_body": "", + "text.decisland.task_274_complete": "任务完成!", + "text.decisland.task_274_title": "", + "text.decisland.task_275_body": "", + "text.decisland.task_275_complete": "任务完成!", + "text.decisland.task_275_title": "", + "text.decisland.task_276_body": "", + "text.decisland.task_276_complete": "任务完成!", + "text.decisland.task_276_title": "", + "text.decisland.task_277_body": "", + "text.decisland.task_277_complete": "任务完成!", + "text.decisland.task_277_title": "", + "text.decisland.task_278_body": "", + "text.decisland.task_278_complete": "任务完成!", + "text.decisland.task_278_title": "", + "text.decisland.task_279_body": "", + "text.decisland.task_279_complete": "任务完成!", + "text.decisland.task_279_title": "", + "text.decisland.task_280_body": "", + "text.decisland.task_280_complete": "任务完成!", + "text.decisland.task_280_title": "", + "text.decisland.task_281_body": "", + "text.decisland.task_281_complete": "任务完成!", + "text.decisland.task_281_title": "", + "text.decisland.task_282_body": "", + "text.decisland.task_282_complete": "任务完成!", + "text.decisland.task_282_title": "", + "text.decisland.task_283_body": "", + "text.decisland.task_283_complete": "任务完成!", + "text.decisland.task_283_title": "", + "text.decisland.task_284_body": "", + "text.decisland.task_284_complete": "任务完成!", + "text.decisland.task_284_title": "", + "text.decisland.task_285_body": "", + "text.decisland.task_285_complete": "任务完成!", + "text.decisland.task_285_title": "", + "text.decisland.task_286_body": "", + "text.decisland.task_286_complete": "任务完成!", + "text.decisland.task_286_title": "", + "text.decisland.task_287_body": "", + "text.decisland.task_287_complete": "任务完成!", + "text.decisland.task_287_title": "", + "text.decisland.task_288_body": "", + "text.decisland.task_288_complete": "任务完成!", + "text.decisland.task_288_title": "", + "text.decisland.task_289_body": "", + "text.decisland.task_289_complete": "任务完成!", + "text.decisland.task_289_title": "", + "text.decisland.task_290_body": "", + "text.decisland.task_290_complete": "任务完成!", + "text.decisland.task_290_title": "", + "text.decisland.task_291_body": "", + "text.decisland.task_291_complete": "任务完成!", + "text.decisland.task_291_title": "", + "text.decisland.task_292_body": "", + "text.decisland.task_292_complete": "任务完成!", + "text.decisland.task_292_title": "", + "text.decisland.task_293_body": "", + "text.decisland.task_293_complete": "任务完成!", + "text.decisland.task_293_title": "", + "text.decisland.task_294_body": "", + "text.decisland.task_294_complete": "任务完成!", + "text.decisland.task_294_title": "", + "text.decisland.task_295_body": "", + "text.decisland.task_295_complete": "任务完成!", + "text.decisland.task_295_title": "", + "text.decisland.task_296_body": "", + "text.decisland.task_296_complete": "任务完成!", + "text.decisland.task_296_title": "", + "text.decisland.task_297_body": "", + "text.decisland.task_297_complete": "任务完成!", + "text.decisland.task_297_title": "", + "text.decisland.task_298_body": "", + "text.decisland.task_298_complete": "任务完成!", + "text.decisland.task_298_title": "", + "text.decisland.task_299_body": "", + "text.decisland.task_299_complete": "任务完成!", + "text.decisland.task_299_title": "", + "text.decisland.task_300_body": "", + "text.decisland.task_300_complete": "任务完成!", + "text.decisland.task_300_title": "", + "text.decisland.task_301_body": "", + "text.decisland.task_301_complete": "任务完成!", + "text.decisland.task_301_title": "", + "text.decisland.task_302_body": "", + "text.decisland.task_302_complete": "任务完成!", + "text.decisland.task_302_title": "", + "text.decisland.task_303_body": "", + "text.decisland.task_303_complete": "任务完成!", + "text.decisland.task_303_title": "", + "text.decisland.task_304_body": "", + "text.decisland.task_304_complete": "任务完成!", + "text.decisland.task_304_title": "", + "text.decisland.task_305_body": "", + "text.decisland.task_305_complete": "任务完成!", + "text.decisland.task_305_title": "", + "text.decisland.task_306_body": "", + "text.decisland.task_306_complete": "任务完成!", + "text.decisland.task_306_title": "", + "text.decisland.task_307_body": "", + "text.decisland.task_307_complete": "任务完成!", + "text.decisland.task_307_title": "", + "text.decisland.task_308_body": "", + "text.decisland.task_308_complete": "任务完成!", + "text.decisland.task_308_title": "", + "text.decisland.task_309_body": "", + "text.decisland.task_309_complete": "任务完成!", + "text.decisland.task_309_title": "", + "text.decisland.task_310_body": "", + "text.decisland.task_310_complete": "任务完成!", + "text.decisland.task_310_title": "", + "text.decisland.task_311_body": "", + "text.decisland.task_311_complete": "任务完成!", + "text.decisland.task_311_title": "", + "text.decisland.task_312_body": "", + "text.decisland.task_312_complete": "任务完成!", + "text.decisland.task_312_title": "", + "text.decisland.task_313_body": "", + "text.decisland.task_313_complete": "任务完成!", + "text.decisland.task_313_title": "", + "text.decisland.task_314_body": "", + "text.decisland.task_314_complete": "任务完成!", + "text.decisland.task_314_title": "", + "text.decisland.task_315_body": "", + "text.decisland.task_315_complete": "任务完成!", + "text.decisland.task_315_title": "", + "text.decisland.task_316_body": "", + "text.decisland.task_316_complete": "任务完成!", + "text.decisland.task_316_title": "", + "text.decisland.task_317_body": "", + "text.decisland.task_317_complete": "任务完成!", + "text.decisland.task_317_title": "", + "text.decisland.task_318_body": "", + "text.decisland.task_318_complete": "任务完成!", + "text.decisland.task_318_title": "", + "text.decisland.task_319_body": "", + "text.decisland.task_319_complete": "任务完成!", + "text.decisland.task_319_title": "", + "text.decisland.task_320_body": "", + "text.decisland.task_320_complete": "任务完成!", + "text.decisland.task_320_title": "", + "text.decisland.task_321_body": "", + "text.decisland.task_321_complete": "任务完成!", + "text.decisland.task_321_title": "", + "text.decisland.task_322_body": "", + "text.decisland.task_322_complete": "任务完成!", + "text.decisland.task_322_title": "", + "text.decisland.task_323_body": "", + "text.decisland.task_323_complete": "任务完成!", + "text.decisland.task_323_title": "", + "text.decisland.task_324_body": "", + "text.decisland.task_324_complete": "任务完成!", + "text.decisland.task_324_title": "", + "text.decisland.task_325_body": "", + "text.decisland.task_325_complete": "任务完成!", + "text.decisland.task_325_title": "", + "text.decisland.task_326_body": "", + "text.decisland.task_326_complete": "任务完成!", + "text.decisland.task_326_title": "", + "text.decisland.task_327_body": "", + "text.decisland.task_327_complete": "任务完成!", + "text.decisland.task_327_title": "", + "text.decisland.task_328_body": "", + "text.decisland.task_328_complete": "任务完成!", + "text.decisland.task_328_title": "", + "text.decisland.task_329_body": "", + "text.decisland.task_329_complete": "任务完成!", + "text.decisland.task_329_title": "", + "text.decisland.task_330_body": "", + "text.decisland.task_330_complete": "任务完成!", + "text.decisland.task_330_title": "", + "text.decisland.task_331_body": "", + "text.decisland.task_331_complete": "任务完成!", + "text.decisland.task_331_title": "", + "text.decisland.task_332_body": "", + "text.decisland.task_332_complete": "任务完成!", + "text.decisland.task_332_title": "", + "text.decisland.task_333_body": "", + "text.decisland.task_333_complete": "任务完成!", + "text.decisland.task_333_title": "", + "text.decisland.task_334_body": "", + "text.decisland.task_334_complete": "任务完成!", + "text.decisland.task_334_title": "", + "text.decisland.task_335_body": "", + "text.decisland.task_335_complete": "任务完成!", + "text.decisland.task_335_title": "", + "text.decisland.task_336_body": "", + "text.decisland.task_336_complete": "任务完成!", + "text.decisland.task_336_title": "", + "text.decisland.task_337_body": "", + "text.decisland.task_337_complete": "任务完成!", + "text.decisland.task_337_title": "", + "text.decisland.task_338_body": "", + "text.decisland.task_338_complete": "任务完成!", + "text.decisland.task_338_title": "", + "text.decisland.task_339_body": "", + "text.decisland.task_339_complete": "任务完成!", + "text.decisland.task_339_title": "", + "text.decisland.task_340_body": "", + "text.decisland.task_340_complete": "任务完成!", + "text.decisland.task_340_title": "", + "text.decisland.task_341_body": "", + "text.decisland.task_341_complete": "任务完成!", + "text.decisland.task_341_title": "", + "text.decisland.task_342_body": "", + "text.decisland.task_342_complete": "任务完成!", + "text.decisland.task_342_title": "", + "text.decisland.task_343_body": "", + "text.decisland.task_343_complete": "任务完成!", + "text.decisland.task_343_title": "", + "text.decisland.task_344_body": "", + "text.decisland.task_344_complete": "任务完成!", + "text.decisland.task_344_title": "", + "text.decisland.task_345_body": "", + "text.decisland.task_345_complete": "任务完成!", + "text.decisland.task_345_title": "", + "text.decisland.task_346_body": "", + "text.decisland.task_346_complete": "任务完成!", + "text.decisland.task_346_title": "", + "text.decisland.task_347_body": "", + "text.decisland.task_347_complete": "任务完成!", + "text.decisland.task_347_title": "", + "text.decisland.task_348_body": "", + "text.decisland.task_348_complete": "任务完成!", + "text.decisland.task_348_title": "", + "text.decisland.task_349_body": "", + "text.decisland.task_349_complete": "任务完成!", + "text.decisland.task_349_title": "", + "text.decisland.task_350_body": "", + "text.decisland.task_350_complete": "任务完成!", + "text.decisland.task_350_title": "", + "text.decisland.task_351_body": "", + "text.decisland.task_351_complete": "任务完成!", + "text.decisland.task_351_title": "", + "text.decisland.task_352_body": "", + "text.decisland.task_352_complete": "任务完成!", + "text.decisland.task_352_title": "", + "text.decisland.task_353_body": "", + "text.decisland.task_353_complete": "任务完成!", + "text.decisland.task_353_title": "", + "text.decisland.task_354_body": "", + "text.decisland.task_354_complete": "任务完成!", + "text.decisland.task_354_title": "", + "text.decisland.task_355_body": "", + "text.decisland.task_355_complete": "任务完成!", + "text.decisland.task_355_title": "", + "text.decisland.task_356_body": "", + "text.decisland.task_356_complete": "任务完成!", + "text.decisland.task_356_title": "", + "text.decisland.task_357_body": "", + "text.decisland.task_357_complete": "任务完成!", + "text.decisland.task_357_title": "", + "text.decisland.task_358_body": "", + "text.decisland.task_358_complete": "任务完成!", + "text.decisland.task_358_title": "", + "text.decisland.task_359_body": "", + "text.decisland.task_359_complete": "任务完成!", + "text.decisland.task_359_title": "", + "text.decisland.task_360_body": "", + "text.decisland.task_360_complete": "任务完成!", + "text.decisland.task_360_title": "", + "text.decisland.task_361_body": "", + "text.decisland.task_361_complete": "任务完成!", + "text.decisland.task_361_title": "", + "text.decisland.task_362_body": "", + "text.decisland.task_362_complete": "任务完成!", + "text.decisland.task_362_title": "", + "text.decisland.task_363_body": "", + "text.decisland.task_363_complete": "任务完成!", + "text.decisland.task_363_title": "", + "text.decisland.task_364_body": "", + "text.decisland.task_364_complete": "任务完成!", + "text.decisland.task_364_title": "", + "text.decisland.task_365_body": "", + "text.decisland.task_365_complete": "任务完成!", + "text.decisland.task_365_title": "", + "text.decisland.task_366_body": "", + "text.decisland.task_366_complete": "任务完成!", + "text.decisland.task_366_title": "", + "text.decisland.task_367_body": "", + "text.decisland.task_367_complete": "任务完成!", + "text.decisland.task_367_title": "", + "text.decisland.task_368_body": "", + "text.decisland.task_368_complete": "任务完成!", + "text.decisland.task_368_title": "", + "text.decisland.task_369_body": "", + "text.decisland.task_369_complete": "任务完成!", + "text.decisland.task_369_title": "", + "text.decisland.task_370_body": "", + "text.decisland.task_370_complete": "任务完成!", + "text.decisland.task_370_title": "", + "text.decisland.task_371_body": "", + "text.decisland.task_371_complete": "任务完成!", + "text.decisland.task_371_title": "", + "text.decisland.task_372_body": "", + "text.decisland.task_372_complete": "任务完成!", + "text.decisland.task_372_title": "", + "text.decisland.task_373_body": "", + "text.decisland.task_373_complete": "任务完成!", + "text.decisland.task_373_title": "", + "text.decisland.task_374_body": "", + "text.decisland.task_374_complete": "任务完成!", + "text.decisland.task_374_title": "", + "text.decisland.task_375_body": "", + "text.decisland.task_375_complete": "任务完成!", + "text.decisland.task_375_title": "", + "text.decisland.task_376_body": "", + "text.decisland.task_376_complete": "任务完成!", + "text.decisland.task_376_title": "", + "text.decisland.task_377_body": "", + "text.decisland.task_377_complete": "任务完成!", + "text.decisland.task_377_title": "", + "text.decisland.task_378_body": "", + "text.decisland.task_378_complete": "任务完成!", + "text.decisland.task_378_title": "", + "text.decisland.task_379_body": "", + "text.decisland.task_379_complete": "任务完成!", + "text.decisland.task_379_title": "", + "text.decisland.task_380_body": "", + "text.decisland.task_380_complete": "任务完成!", + "text.decisland.task_380_title": "", + "text.decisland.task_381_body": "", + "text.decisland.task_381_complete": "任务完成!", + "text.decisland.task_381_title": "", + "text.decisland.task_382_body": "", + "text.decisland.task_382_complete": "任务完成!", + "text.decisland.task_382_title": "", + "text.decisland.task_383_body": "", + "text.decisland.task_383_complete": "任务完成!", + "text.decisland.task_383_title": "", + "text.decisland.task_384_body": "", + "text.decisland.task_384_complete": "任务完成!", + "text.decisland.task_384_title": "", + "text.decisland.task_385_body": "", + "text.decisland.task_385_complete": "任务完成!", + "text.decisland.task_385_title": "", + "text.decisland.task_386_body": "", + "text.decisland.task_386_complete": "任务完成!", + "text.decisland.task_386_title": "", + "text.decisland.task_387_body": "", + "text.decisland.task_387_complete": "任务完成!", + "text.decisland.task_387_title": "", + "text.decisland.task_388_body": "", + "text.decisland.task_388_complete": "任务完成!", + "text.decisland.task_388_title": "", + "text.decisland.task_389_body": "", + "text.decisland.task_389_complete": "任务完成!", + "text.decisland.task_389_title": "", + "text.decisland.task_390_body": "", + "text.decisland.task_390_complete": "任务完成!", + "text.decisland.task_390_title": "", + "text.decisland.task_391_body": "", + "text.decisland.task_391_complete": "任务完成!", + "text.decisland.task_391_title": "", + "text.decisland.task_392_body": "", + "text.decisland.task_392_complete": "任务完成!", + "text.decisland.task_392_title": "", + "text.decisland.task_393_body": "", + "text.decisland.task_393_complete": "任务完成!", + "text.decisland.task_393_title": "", + "text.decisland.task_394_body": "", + "text.decisland.task_394_complete": "任务完成!", + "text.decisland.task_394_title": "", + "text.decisland.task_395_body": "", + "text.decisland.task_395_complete": "任务完成!", + "text.decisland.task_395_title": "", + "text.decisland.task_396_body": "", + "text.decisland.task_396_complete": "任务完成!", + "text.decisland.task_396_title": "", + "text.decisland.task_397_body": "", + "text.decisland.task_397_complete": "任务完成!", + "text.decisland.task_397_title": "", + "text.decisland.task_398_body": "", + "text.decisland.task_398_complete": "任务完成!", + "text.decisland.task_398_title": "", + "text.decisland.task_399_body": "", + "text.decisland.task_399_complete": "任务完成!", + "text.decisland.task_399_title": "", + "text.decisland.task_400_body": "", + "text.decisland.task_400_complete": "任务完成!", + "text.decisland.task_400_title": "", + "text.decisland.task_401_body": "", + "text.decisland.task_401_complete": "任务完成!", + "text.decisland.task_401_title": "", + "text.decisland.task_402_body": "", + "text.decisland.task_402_complete": "任务完成!", + "text.decisland.task_402_title": "", + "text.decisland.task_403_body": "", + "text.decisland.task_403_complete": "任务完成!", + "text.decisland.task_403_title": "", + "text.decisland.task_404_body": "", + "text.decisland.task_404_complete": "任务完成!", + "text.decisland.task_404_title": "", + "text.decisland.task_405_body": "", + "text.decisland.task_405_complete": "任务完成!", + "text.decisland.task_405_title": "", + "text.decisland.task_406_body": "", + "text.decisland.task_406_complete": "任务完成!", + "text.decisland.task_406_title": "", + "text.decisland.task_407_body": "", + "text.decisland.task_407_complete": "任务完成!", + "text.decisland.task_407_title": "", + "text.decisland.task_408_body": "", + "text.decisland.task_408_complete": "任务完成!", + "text.decisland.task_408_title": "", + "text.decisland.task_409_body": "", + "text.decisland.task_409_complete": "任务完成!", + "text.decisland.task_409_title": "", + "text.decisland.task_410_body": "", + "text.decisland.task_410_complete": "任务完成!", + "text.decisland.task_410_title": "", + "text.decisland.task_411_body": "", + "text.decisland.task_411_complete": "任务完成!", + "text.decisland.task_411_title": "", + "text.decisland.task_412_body": "", + "text.decisland.task_412_complete": "任务完成!", + "text.decisland.task_412_title": "", + "text.decisland.task_413_body": "", + "text.decisland.task_413_complete": "任务完成!", + "text.decisland.task_413_title": "", + "text.decisland.task_414_body": "", + "text.decisland.task_414_complete": "任务完成!", + "text.decisland.task_414_title": "", + "text.decisland.task_415_body": "", + "text.decisland.task_415_complete": "任务完成!", + "text.decisland.task_415_title": "", + "text.decisland.task_416_body": "", + "text.decisland.task_416_complete": "任务完成!", + "text.decisland.task_416_title": "", + "text.decisland.task_417_body": "", + "text.decisland.task_417_complete": "任务完成!", + "text.decisland.task_417_title": "", + "text.decisland.task_418_body": "", + "text.decisland.task_418_complete": "任务完成!", + "text.decisland.task_418_title": "", + "text.decisland.task_419_body": "", + "text.decisland.task_419_complete": "任务完成!", + "text.decisland.task_419_title": "", + "text.decisland.task_420_body": "", + "text.decisland.task_420_complete": "任务完成!", + "text.decisland.task_420_title": "", + "text.decisland.task_421_body": "", + "text.decisland.task_421_complete": "任务完成!", + "text.decisland.task_421_title": "", + "text.decisland.task_422_body": "", + "text.decisland.task_422_complete": "任务完成!", + "text.decisland.task_422_title": "", + "text.decisland.task_423_body": "", + "text.decisland.task_423_complete": "任务完成!", + "text.decisland.task_423_title": "", + "text.decisland.task_424_body": "", + "text.decisland.task_424_complete": "任务完成!", + "text.decisland.task_424_title": "", + "text.decisland.task_425_body": "", + "text.decisland.task_425_complete": "任务完成!", + "text.decisland.task_425_title": "", + "text.decisland.task_426_body": "", + "text.decisland.task_426_complete": "任务完成!", + "text.decisland.task_426_title": "", + "text.decisland.task_427_body": "", + "text.decisland.task_427_complete": "任务完成!", + "text.decisland.task_427_title": "", + "text.decisland.task_428_body": "", + "text.decisland.task_428_complete": "任务完成!", + "text.decisland.task_428_title": "", + "text.decisland.task_429_body": "", + "text.decisland.task_429_complete": "任务完成!", + "text.decisland.task_429_title": "", + "text.decisland.task_430_body": "", + "text.decisland.task_430_complete": "任务完成!", + "text.decisland.task_430_title": "", + "text.decisland.task_431_body": "", + "text.decisland.task_431_complete": "任务完成!", + "text.decisland.task_431_title": "", + "text.decisland.task_432_body": "", + "text.decisland.task_432_complete": "任务完成!", + "text.decisland.task_432_title": "", + "text.decisland.task_433_body": "", + "text.decisland.task_433_complete": "任务完成!", + "text.decisland.task_433_title": "", + "text.decisland.task_434_body": "", + "text.decisland.task_434_complete": "任务完成!", + "text.decisland.task_434_title": "", + "text.decisland.task_435_body": "", + "text.decisland.task_435_complete": "任务完成!", + "text.decisland.task_435_title": "", + "text.decisland.task_436_body": "", + "text.decisland.task_436_complete": "任务完成!", + "text.decisland.task_436_title": "", + "text.decisland.task_437_body": "", + "text.decisland.task_437_complete": "任务完成!", + "text.decisland.task_437_title": "", + "text.decisland.task_438_body": "", + "text.decisland.task_438_complete": "任务完成!", + "text.decisland.task_438_title": "", + "text.decisland.task_439_body": "", + "text.decisland.task_439_complete": "任务完成!", + "text.decisland.task_439_title": "", + "text.decisland.task_440_body": "", + "text.decisland.task_440_complete": "任务完成!", + "text.decisland.task_440_title": "", + "text.decisland.task_441_body": "", + "text.decisland.task_441_complete": "任务完成!", + "text.decisland.task_441_title": "", + "text.decisland.task_442_body": "", + "text.decisland.task_442_complete": "任务完成!", + "text.decisland.task_442_title": "", + "text.decisland.task_443_body": "", + "text.decisland.task_443_complete": "任务完成!", + "text.decisland.task_443_title": "", + "text.decisland.task_444_body": "", + "text.decisland.task_444_complete": "任务完成!", + "text.decisland.task_444_title": "", + "text.decisland.task_445_body": "", + "text.decisland.task_445_complete": "任务完成!", + "text.decisland.task_445_title": "", + "text.decisland.task_446_body": "", + "text.decisland.task_446_complete": "任务完成!", + "text.decisland.task_446_title": "", + "text.decisland.task_447_body": "", + "text.decisland.task_447_complete": "任务完成!", + "text.decisland.task_447_title": "", + "text.decisland.task_448_body": "", + "text.decisland.task_448_complete": "任务完成!", + "text.decisland.task_448_title": "", + "text.decisland.task_449_body": "", + "text.decisland.task_449_complete": "任务完成!", + "text.decisland.task_449_title": "", + "text.decisland.task_450_body": "", + "text.decisland.task_450_complete": "任务完成!", + "text.decisland.task_450_title": "", + "text.decisland.task_451_body": "", + "text.decisland.task_451_complete": "任务完成!", + "text.decisland.task_451_title": "", + "text.decisland.task_452_body": "", + "text.decisland.task_452_complete": "任务完成!", + "text.decisland.task_452_title": "", + "text.decisland.task_453_body": "", + "text.decisland.task_453_complete": "任务完成!", + "text.decisland.task_453_title": "", + "text.decisland.task_454_body": "", + "text.decisland.task_454_complete": "任务完成!", + "text.decisland.task_454_title": "", + "text.decisland.task_455_body": "", + "text.decisland.task_455_complete": "任务完成!", + "text.decisland.task_455_title": "", + "text.decisland.task_456_body": "", + "text.decisland.task_456_complete": "任务完成!", + "text.decisland.task_456_title": "", + "text.decisland.task_457_body": "", + "text.decisland.task_457_complete": "任务完成!", + "text.decisland.task_457_title": "", + "text.decisland.task_458_body": "", + "text.decisland.task_458_complete": "任务完成!", + "text.decisland.task_458_title": "", + "text.decisland.task_459_body": "", + "text.decisland.task_459_complete": "任务完成!", + "text.decisland.task_459_title": "", + "text.decisland.task_460_body": "", + "text.decisland.task_460_complete": "任务完成!", + "text.decisland.task_460_title": "", + "text.decisland.task_461_body": "", + "text.decisland.task_461_complete": "任务完成!", + "text.decisland.task_461_title": "", + "text.decisland.task_462_body": "", + "text.decisland.task_462_complete": "任务完成!", + "text.decisland.task_462_title": "", + "text.decisland.task_463_body": "", + "text.decisland.task_463_complete": "任务完成!", + "text.decisland.task_463_title": "", + "text.decisland.task_464_body": "", + "text.decisland.task_464_complete": "任务完成!", + "text.decisland.task_464_title": "", + "text.decisland.task_465_body": "", + "text.decisland.task_465_complete": "任务完成!", + "text.decisland.task_465_title": "", + "text.decisland.task_466_body": "", + "text.decisland.task_466_complete": "任务完成!", + "text.decisland.task_466_title": "", + "text.decisland.task_467_body": "", + "text.decisland.task_467_complete": "任务完成!", + "text.decisland.task_467_title": "", + "text.decisland.task_468_body": "", + "text.decisland.task_468_complete": "任务完成!", + "text.decisland.task_468_title": "", + "text.decisland.task_469_body": "", + "text.decisland.task_469_complete": "任务完成!", + "text.decisland.task_469_title": "", + "text.decisland.task_470_body": "", + "text.decisland.task_470_complete": "任务完成!", + "text.decisland.task_470_title": "", + "text.decisland.task_471_body": "", + "text.decisland.task_471_complete": "任务完成!", + "text.decisland.task_471_title": "", + "text.decisland.task_472_body": "", + "text.decisland.task_472_complete": "任务完成!", + "text.decisland.task_472_title": "", + "text.decisland.task_473_body": "", + "text.decisland.task_473_complete": "任务完成!", + "text.decisland.task_473_title": "", + "text.decisland.task_474_body": "", + "text.decisland.task_474_complete": "任务完成!", + "text.decisland.task_474_title": "", + "text.decisland.task_475_body": "", + "text.decisland.task_475_complete": "任务完成!", + "text.decisland.task_475_title": "", + "text.decisland.task_476_body": "", + "text.decisland.task_476_complete": "任务完成!", + "text.decisland.task_476_title": "", + "text.decisland.task_477_body": "", + "text.decisland.task_477_complete": "任务完成!", + "text.decisland.task_477_title": "", + "text.decisland.task_478_body": "", + "text.decisland.task_478_complete": "任务完成!", + "text.decisland.task_478_title": "", + "text.decisland.task_479_body": "", + "text.decisland.task_479_complete": "任务完成!", + "text.decisland.task_479_title": "", + "text.decisland.task_480_body": "", + "text.decisland.task_480_complete": "任务完成!", + "text.decisland.task_480_title": "", + "text.decisland.task_481_body": "", + "text.decisland.task_481_complete": "任务完成!", + "text.decisland.task_481_title": "", + "text.decisland.task_482_body": "", + "text.decisland.task_482_complete": "任务完成!", + "text.decisland.task_482_title": "", + "text.decisland.task_483_body": "", + "text.decisland.task_483_complete": "任务完成!", + "text.decisland.task_483_title": "", + "text.decisland.task_484_body": "", + "text.decisland.task_484_complete": "任务完成!", + "text.decisland.task_484_title": "", + "text.decisland.task_485_body": "", + "text.decisland.task_485_complete": "任务完成!", + "text.decisland.task_485_title": "", + "text.decisland.task_486_body": "", + "text.decisland.task_486_complete": "任务完成!", + "text.decisland.task_486_title": "", + "text.decisland.task_487_body": "", + "text.decisland.task_487_complete": "任务完成!", + "text.decisland.task_487_title": "", + "text.decisland.task_488_body": "", + "text.decisland.task_488_complete": "任务完成!", + "text.decisland.task_488_title": "", + "text.decisland.task_489_body": "", + "text.decisland.task_489_complete": "任务完成!", + "text.decisland.task_489_title": "", + "text.decisland.task_490_body": "", + "text.decisland.task_490_complete": "任务完成!", + "text.decisland.task_490_title": "", + "text.decisland.task_491_body": "", + "text.decisland.task_491_complete": "任务完成!", + "text.decisland.task_491_title": "", + "text.decisland.task_492_body": "", + "text.decisland.task_492_complete": "任务完成!", + "text.decisland.task_492_title": "", + "text.decisland.task_493_body": "", + "text.decisland.task_493_complete": "任务完成!", + "text.decisland.task_493_title": "", + "text.decisland.task_494_body": "", + "text.decisland.task_494_complete": "任务完成!", + "text.decisland.task_494_title": "", + "text.decisland.task_495_body": "", + "text.decisland.task_495_complete": "任务完成!", + "text.decisland.task_495_title": "", + "text.decisland.task_496_body": "", + "text.decisland.task_496_complete": "任务完成!", + "text.decisland.task_496_title": "", + "text.decisland.task_497_body": "", + "text.decisland.task_497_complete": "任务完成!", + "text.decisland.task_497_title": "", + "text.decisland.task_498_body": "", + "text.decisland.task_498_complete": "任务完成!", + "text.decisland.task_498_title": "", + "text.decisland.task_499_body": "", + "text.decisland.task_499_complete": "任务完成!", + "text.decisland.task_499_title": "", + "text.decisland.task_500_body": "", + "text.decisland.task_500_complete": "任务完成!", + "text.decisland.task_500_title": "", + "text.decisland.task_501_body": "", + "text.decisland.task_501_complete": "任务完成!", + "text.decisland.task_501_title": "", + "text.decisland.task_502_body": "", + "text.decisland.task_502_complete": "任务完成!", + "text.decisland.task_502_title": "", + "text.decisland.task_503_body": "", + "text.decisland.task_503_complete": "任务完成!", + "text.decisland.task_503_title": "", + "text.decisland.task_504_body": "", + "text.decisland.task_504_complete": "任务完成!", + "text.decisland.task_504_title": "", + "text.decisland.task_505_body": "", + "text.decisland.task_505_complete": "任务完成!", + "text.decisland.task_505_title": "", + "text.decisland.task_506_body": "", + "text.decisland.task_506_complete": "任务完成!", + "text.decisland.task_506_title": "", + "text.decisland.task_507_body": "", + "text.decisland.task_507_complete": "任务完成!", + "text.decisland.task_507_title": "", + "text.decisland.task_508_body": "", + "text.decisland.task_508_complete": "任务完成!", + "text.decisland.task_508_title": "", + "text.decisland.task_509_body": "", + "text.decisland.task_509_complete": "任务完成!", + "text.decisland.task_509_title": "", + "text.decisland.task_510_body": "", + "text.decisland.task_510_complete": "任务完成!", + "text.decisland.task_510_title": "", + "text.decisland.task_511_body": "", + "text.decisland.task_511_complete": "任务完成!", + "text.decisland.task_511_title": "", + "text.decisland.task_512_body": "", + "text.decisland.task_512_complete": "任务完成!", + "text.decisland.task_512_title": "", + "text.decisland.task_513_body": "", + "text.decisland.task_513_complete": "任务完成!", + "text.decisland.task_513_title": "", + "text.decisland.task_514_body": "", + "text.decisland.task_514_complete": "任务完成!", + "text.decisland.task_514_title": "", + "text.decisland.task_515_body": "", + "text.decisland.task_515_complete": "任务完成!", + "text.decisland.task_515_title": "", + "text.decisland.task_516_body": "", + "text.decisland.task_516_complete": "任务完成!", + "text.decisland.task_516_title": "", + "text.decisland.task_517_body": "", + "text.decisland.task_517_complete": "任务完成!", + "text.decisland.task_517_title": "", + "text.decisland.task_518_body": "", + "text.decisland.task_518_complete": "任务完成!", + "text.decisland.task_518_title": "", + "text.decisland.task_519_body": "", + "text.decisland.task_519_complete": "任务完成!", + "text.decisland.task_519_title": "", + "text.decisland.task_520_body": "", + "text.decisland.task_520_complete": "任务完成!", + "text.decisland.task_520_title": "", + "text.decisland.task_521_body": "", + "text.decisland.task_521_complete": "任务完成!", + "text.decisland.task_521_title": "", + "text.decisland.task_522_body": "", + "text.decisland.task_522_complete": "任务完成!", + "text.decisland.task_522_title": "", + "text.decisland.task_523_body": "", + "text.decisland.task_523_complete": "任务完成!", + "text.decisland.task_523_title": "", + "text.decisland.task_524_body": "", + "text.decisland.task_524_complete": "任务完成!", + "text.decisland.task_524_title": "", + "text.decisland.task_525_body": "", + "text.decisland.task_525_complete": "任务完成!", + "text.decisland.task_525_title": "", + "text.decisland.task_526_body": "", + "text.decisland.task_526_complete": "任务完成!", + "text.decisland.task_526_title": "", + "text.decisland.task_527_body": "", + "text.decisland.task_527_complete": "任务完成!", + "text.decisland.task_527_title": "", + "text.decisland.task_528_body": "", + "text.decisland.task_528_complete": "任务完成!", + "text.decisland.task_528_title": "", + "text.decisland.task_529_body": "", + "text.decisland.task_529_complete": "任务完成!", + "text.decisland.task_529_title": "", + "text.decisland.task_530_body": "", + "text.decisland.task_530_complete": "任务完成!", + "text.decisland.task_530_title": "", + "text.decisland.task_531_body": "", + "text.decisland.task_531_complete": "任务完成!", + "text.decisland.task_531_title": "", + "text.decisland.task_532_body": "", + "text.decisland.task_532_complete": "任务完成!", + "text.decisland.task_532_title": "", + "text.decisland.task_533_body": "", + "text.decisland.task_533_complete": "任务完成!", + "text.decisland.task_533_title": "", + "text.decisland.task_534_body": "", + "text.decisland.task_534_complete": "任务完成!", + "text.decisland.task_534_title": "", + "text.decisland.task_535_body": "", + "text.decisland.task_535_complete": "任务完成!", + "text.decisland.task_535_title": "", + "text.decisland.task_536_body": "", + "text.decisland.task_536_complete": "任务完成!", + "text.decisland.task_536_title": "", + "text.decisland.task_537_body": "", + "text.decisland.task_537_complete": "任务完成!", + "text.decisland.task_537_title": "", + "text.decisland.task_538_body": "", + "text.decisland.task_538_complete": "任务完成!", + "text.decisland.task_538_title": "", + "text.decisland.task_539_body": "", + "text.decisland.task_539_complete": "任务完成!", + "text.decisland.task_539_title": "", + "text.decisland.task_540_body": "", + "text.decisland.task_540_complete": "任务完成!", + "text.decisland.task_540_title": "", + "text.decisland.task_541_body": "", + "text.decisland.task_541_complete": "任务完成!", + "text.decisland.task_541_title": "", + "text.decisland.task_542_body": "", + "text.decisland.task_542_complete": "任务完成!", + "text.decisland.task_542_title": "", + "text.decisland.task_543_body": "", + "text.decisland.task_543_complete": "任务完成!", + "text.decisland.task_543_title": "", + "text.decisland.task_544_body": "", + "text.decisland.task_544_complete": "任务完成!", + "text.decisland.task_544_title": "", + "text.decisland.task_545_body": "", + "text.decisland.task_545_complete": "任务完成!", + "text.decisland.task_545_title": "", + "text.decisland.task_546_body": "", + "text.decisland.task_546_complete": "任务完成!", + "text.decisland.task_546_title": "", + "text.decisland.task_547_body": "", + "text.decisland.task_547_complete": "任务完成!", + "text.decisland.task_547_title": "", + "text.decisland.task_548_body": "", + "text.decisland.task_548_complete": "任务完成!", + "text.decisland.task_548_title": "", + "text.decisland.task_549_body": "", + "text.decisland.task_549_complete": "任务完成!", + "text.decisland.task_549_title": "", + "text.decisland.task_550_body": "", + "text.decisland.task_550_complete": "任务完成!", + "text.decisland.task_550_title": "", + "text.decisland.task_551_body": "", + "text.decisland.task_551_complete": "任务完成!", + "text.decisland.task_551_title": "", + "text.decisland.task_552_body": "", + "text.decisland.task_552_complete": "任务完成!", + "text.decisland.task_552_title": "", + "text.decisland.task_553_body": "", + "text.decisland.task_553_complete": "任务完成!", + "text.decisland.task_553_title": "", + "text.decisland.task_554_body": "", + "text.decisland.task_554_complete": "任务完成!", + "text.decisland.task_554_title": "", + "text.decisland.task_555_body": "", + "text.decisland.task_555_complete": "任务完成!", + "text.decisland.task_555_title": "", + "text.decisland.task_556_body": "", + "text.decisland.task_556_complete": "任务完成!", + "text.decisland.task_556_title": "", + "text.decisland.task_557_body": "", + "text.decisland.task_557_complete": "任务完成!", + "text.decisland.task_557_title": "", + "text.decisland.task_558_body": "", + "text.decisland.task_558_complete": "任务完成!", + "text.decisland.task_558_title": "", + "text.decisland.task_559_body": "", + "text.decisland.task_559_complete": "任务完成!", + "text.decisland.task_559_title": "", + "text.decisland.task_560_body": "", + "text.decisland.task_560_complete": "任务完成!", + "text.decisland.task_560_title": "", + "text.decisland.task_561_body": "", + "text.decisland.task_561_complete": "任务完成!", + "text.decisland.task_561_title": "", + "text.decisland.task_562_body": "", + "text.decisland.task_562_complete": "任务完成!", + "text.decisland.task_562_title": "", + "text.decisland.task_563_body": "", + "text.decisland.task_563_complete": "任务完成!", + "text.decisland.task_563_title": "", + "text.decisland.task_564_body": "", + "text.decisland.task_564_complete": "任务完成!", + "text.decisland.task_564_title": "", + "text.decisland.task_565_body": "", + "text.decisland.task_565_complete": "任务完成!", + "text.decisland.task_565_title": "", + "text.decisland.task_566_body": "", + "text.decisland.task_566_complete": "任务完成!", + "text.decisland.task_566_title": "", + "text.decisland.task_567_body": "", + "text.decisland.task_567_complete": "任务完成!", + "text.decisland.task_567_title": "", + "text.decisland.task_568_body": "", + "text.decisland.task_568_complete": "任务完成!", + "text.decisland.task_568_title": "", + "text.decisland.task_569_body": "", + "text.decisland.task_569_complete": "任务完成!", + "text.decisland.task_569_title": "", + "text.decisland.task_570_body": "", + "text.decisland.task_570_complete": "任务完成!", + "text.decisland.task_570_title": "", + "text.decisland.task_571_body": "", + "text.decisland.task_571_complete": "任务完成!", + "text.decisland.task_571_title": "", + "text.decisland.task_572_body": "", + "text.decisland.task_572_complete": "任务完成!", + "text.decisland.task_572_title": "", + "text.decisland.task_573_body": "", + "text.decisland.task_573_complete": "任务完成!", + "text.decisland.task_573_title": "", + "text.decisland.task_574_body": "", + "text.decisland.task_574_complete": "任务完成!", + "text.decisland.task_574_title": "", + "text.decisland.task_575_body": "", + "text.decisland.task_575_complete": "任务完成!", + "text.decisland.task_575_title": "", + "text.decisland.task_576_body": "", + "text.decisland.task_576_complete": "任务完成!", + "text.decisland.task_576_title": "", + "text.decisland.task_577_body": "", + "text.decisland.task_577_complete": "任务完成!", + "text.decisland.task_577_title": "", + "text.decisland.task_578_body": "", + "text.decisland.task_578_complete": "任务完成!", + "text.decisland.task_578_title": "", + "text.decisland.task_579_body": "", + "text.decisland.task_579_complete": "任务完成!", + "text.decisland.task_579_title": "", + "text.decisland.task_580_body": "", + "text.decisland.task_580_complete": "任务完成!", + "text.decisland.task_580_title": "", + "text.decisland.task_581_body": "", + "text.decisland.task_581_complete": "任务完成!", + "text.decisland.task_581_title": "", + "text.decisland.task_582_body": "", + "text.decisland.task_582_complete": "任务完成!", + "text.decisland.task_582_title": "", + "text.decisland.task_583_body": "", + "text.decisland.task_583_complete": "任务完成!", + "text.decisland.task_583_title": "", + "text.decisland.task_584_body": "", + "text.decisland.task_584_complete": "任务完成!", + "text.decisland.task_584_title": "", + "text.decisland.task_585_body": "", + "text.decisland.task_585_complete": "任务完成!", + "text.decisland.task_585_title": "", + "text.decisland.task_586_body": "", + "text.decisland.task_586_complete": "任务完成!", + "text.decisland.task_586_title": "", + "text.decisland.task_587_body": "", + "text.decisland.task_587_complete": "任务完成!", + "text.decisland.task_587_title": "", + "text.decisland.task_588_body": "", + "text.decisland.task_588_complete": "任务完成!", + "text.decisland.task_588_title": "", + "text.decisland.task_589_body": "", + "text.decisland.task_589_complete": "任务完成!", + "text.decisland.task_589_title": "", + "text.decisland.task_590_body": "", + "text.decisland.task_590_complete": "任务完成!", + "text.decisland.task_590_title": "", + "text.decisland.task_591_body": "", + "text.decisland.task_591_complete": "任务完成!", + "text.decisland.task_591_title": "", + "text.decisland.task_592_body": "", + "text.decisland.task_592_complete": "任务完成!", + "text.decisland.task_592_title": "", + "text.decisland.task_593_body": "", + "text.decisland.task_593_complete": "任务完成!", + "text.decisland.task_593_title": "", + "text.decisland.task_594_body": "", + "text.decisland.task_594_complete": "任务完成!", + "text.decisland.task_594_title": "", + "text.decisland.task_595_body": "", + "text.decisland.task_595_complete": "任务完成!", + "text.decisland.task_595_title": "", + "text.decisland.task_596_body": "", + "text.decisland.task_596_complete": "任务完成!", + "text.decisland.task_596_title": "", + "text.decisland.task_597_body": "", + "text.decisland.task_597_complete": "任务完成!", + "text.decisland.task_597_title": "", + "text.decisland.task_598_body": "", + "text.decisland.task_598_complete": "任务完成!", + "text.decisland.task_598_title": "", + "text.decisland.task_599_body": "", + "text.decisland.task_599_complete": "任务完成!", + "text.decisland.task_599_title": "", + "text.decisland.task_600_body": "", + "text.decisland.task_600_complete": "任务完成!", + "text.decisland.task_600_title": "", + "text.decisland.task_601_body": "", + "text.decisland.task_601_complete": "任务完成!", + "text.decisland.task_601_title": "", + "text.decisland.task_602_body": "", + "text.decisland.task_602_complete": "任务完成!", + "text.decisland.task_602_title": "", + "text.decisland.task_603_body": "", + "text.decisland.task_603_complete": "任务完成!", + "text.decisland.task_603_title": "", + "text.decisland.task_604_body": "", + "text.decisland.task_604_complete": "任务完成!", + "text.decisland.task_604_title": "", + "text.decisland.task_605_body": "", + "text.decisland.task_605_complete": "任务完成!", + "text.decisland.task_605_title": "", + "text.decisland.task_606_body": "", + "text.decisland.task_606_complete": "任务完成!", + "text.decisland.task_606_title": "", + "text.decisland.task_607_body": "", + "text.decisland.task_607_complete": "任务完成!", + "text.decisland.task_607_title": "", + "text.decisland.task_608_body": "", + "text.decisland.task_608_complete": "任务完成!", + "text.decisland.task_608_title": "", + "text.decisland.task_609_body": "", + "text.decisland.task_609_complete": "任务完成!", + "text.decisland.task_609_title": "", + "text.decisland.task_610_body": "", + "text.decisland.task_610_complete": "任务完成!", + "text.decisland.task_610_title": "", + "text.decisland.task_611_body": "", + "text.decisland.task_611_complete": "任务完成!", + "text.decisland.task_611_title": "", + "text.decisland.task_612_body": "", + "text.decisland.task_612_complete": "任务完成!", + "text.decisland.task_612_title": "", + "text.decisland.task_613_body": "", + "text.decisland.task_613_complete": "任务完成!", + "text.decisland.task_613_title": "", + "text.decisland.task_614_body": "", + "text.decisland.task_614_complete": "任务完成!", + "text.decisland.task_614_title": "", + "text.decisland.task_615_body": "", + "text.decisland.task_615_complete": "任务完成!", + "text.decisland.task_615_title": "", + "text.decisland.task_616_body": "", + "text.decisland.task_616_complete": "任务完成!", + "text.decisland.task_616_title": "", + "text.decisland.task_617_body": "", + "text.decisland.task_617_complete": "任务完成!", + "text.decisland.task_617_title": "", + "text.decisland.task_618_body": "", + "text.decisland.task_618_complete": "任务完成!", + "text.decisland.task_618_title": "", + "text.decisland.task_619_body": "", + "text.decisland.task_619_complete": "任务完成!", + "text.decisland.task_619_title": "", + "text.decisland.task_620_body": "", + "text.decisland.task_620_complete": "任务完成!", + "text.decisland.task_620_title": "", + "text.decisland.task_621_body": "", + "text.decisland.task_621_complete": "任务完成!", + "text.decisland.task_621_title": "", + "text.decisland.task_622_body": "", + "text.decisland.task_622_complete": "任务完成!", + "text.decisland.task_622_title": "", + "text.decisland.task_623_body": "", + "text.decisland.task_623_complete": "任务完成!", + "text.decisland.task_623_title": "", + "text.decisland.task_624_body": "", + "text.decisland.task_624_complete": "任务完成!", + "text.decisland.task_624_title": "", + "text.decisland.task_625_body": "", + "text.decisland.task_625_complete": "任务完成!", + "text.decisland.task_625_title": "", + "text.decisland.task_626_body": "", + "text.decisland.task_626_complete": "任务完成!", + "text.decisland.task_626_title": "", + "text.decisland.task_627_body": "", + "text.decisland.task_627_complete": "任务完成!", + "text.decisland.task_627_title": "", + "text.decisland.task_628_body": "", + "text.decisland.task_628_complete": "任务完成!", + "text.decisland.task_628_title": "", + "text.decisland.task_629_body": "", + "text.decisland.task_629_complete": "任务完成!", + "text.decisland.task_629_title": "", + "text.decisland.task_630_body": "", + "text.decisland.task_630_complete": "任务完成!", + "text.decisland.task_630_title": "", + "text.decisland.task_631_body": "", + "text.decisland.task_631_complete": "任务完成!", + "text.decisland.task_631_title": "", + "text.decisland.task_632_body": "", + "text.decisland.task_632_complete": "任务完成!", + "text.decisland.task_632_title": "", + "text.decisland.task_633_body": "", + "text.decisland.task_633_complete": "任务完成!", + "text.decisland.task_633_title": "", + "text.decisland.task_634_body": "", + "text.decisland.task_634_complete": "任务完成!", + "text.decisland.task_634_title": "", + "text.decisland.task_635_body": "", + "text.decisland.task_635_complete": "任务完成!", + "text.decisland.task_635_title": "", + "text.decisland.task_636_body": "", + "text.decisland.task_636_complete": "任务完成!", + "text.decisland.task_636_title": "", + "text.decisland.task_637_body": "", + "text.decisland.task_637_complete": "任务完成!", + "text.decisland.task_637_title": "", + "text.decisland.task_638_body": "", + "text.decisland.task_638_complete": "任务完成!", + "text.decisland.task_638_title": "", + "text.decisland.task_639_body": "", + "text.decisland.task_639_complete": "任务完成!", + "text.decisland.task_639_title": "", + "text.decisland.task_640_body": "", + "text.decisland.task_640_complete": "任务完成!", + "text.decisland.task_640_title": "", + "text.decisland.task_641_body": "", + "text.decisland.task_641_complete": "任务完成!", + "text.decisland.task_641_title": "", + "text.decisland.task_642_body": "", + "text.decisland.task_642_complete": "任务完成!", + "text.decisland.task_642_title": "", + "text.decisland.task_643_body": "", + "text.decisland.task_643_complete": "任务完成!", + "text.decisland.task_643_title": "", + "text.decisland.task_644_body": "", + "text.decisland.task_644_complete": "任务完成!", + "text.decisland.task_644_title": "", + "text.decisland.task_645_body": "", + "text.decisland.task_645_complete": "任务完成!", + "text.decisland.task_645_title": "", + "text.decisland.task_646_body": "", + "text.decisland.task_646_complete": "任务完成!", + "text.decisland.task_646_title": "", + "text.decisland.task_647_body": "", + "text.decisland.task_647_complete": "任务完成!", + "text.decisland.task_647_title": "", + "text.decisland.task_648_body": "", + "text.decisland.task_648_complete": "任务完成!", + "text.decisland.task_648_title": "", + "text.decisland.task_649_body": "", + "text.decisland.task_649_complete": "任务完成!", + "text.decisland.task_649_title": "", + "text.decisland.task_650_body": "", + "text.decisland.task_650_complete": "任务完成!", + "text.decisland.task_650_title": "", + "text.decisland.task_651_body": "", + "text.decisland.task_651_complete": "任务完成!", + "text.decisland.task_651_title": "", + "text.decisland.task_652_body": "", + "text.decisland.task_652_complete": "任务完成!", + "text.decisland.task_652_title": "", + "text.decisland.task_653_body": "", + "text.decisland.task_653_complete": "任务完成!", + "text.decisland.task_653_title": "", + "text.decisland.task_654_body": "", + "text.decisland.task_654_complete": "任务完成!", + "text.decisland.task_654_title": "", + "text.decisland.task_655_body": "", + "text.decisland.task_655_complete": "任务完成!", + "text.decisland.task_655_title": "", + "text.decisland.task_656_body": "", + "text.decisland.task_656_complete": "任务完成!", + "text.decisland.task_656_title": "", + "text.decisland.task_657_body": "", + "text.decisland.task_657_complete": "任务完成!", + "text.decisland.task_657_title": "", + "text.decisland.task_658_body": "", + "text.decisland.task_658_complete": "任务完成!", + "text.decisland.task_658_title": "", + "text.decisland.task_659_body": "", + "text.decisland.task_659_complete": "任务完成!", + "text.decisland.task_659_title": "", + "text.decisland.task_660_body": "", + "text.decisland.task_660_complete": "任务完成!", + "text.decisland.task_660_title": "", + "text.decisland.task_661_body": "", + "text.decisland.task_661_complete": "任务完成!", + "text.decisland.task_661_title": "", + "text.decisland.task_662_body": "", + "text.decisland.task_662_complete": "任务完成!", + "text.decisland.task_662_title": "", + "text.decisland.task_663_body": "", + "text.decisland.task_663_complete": "任务完成!", + "text.decisland.task_663_title": "", + "text.decisland.task_664_body": "", + "text.decisland.task_664_complete": "任务完成!", + "text.decisland.task_664_title": "", + "text.decisland.task_665_body": "", + "text.decisland.task_665_complete": "任务完成!", + "text.decisland.task_665_title": "", + "text.decisland.task_666_body": "", + "text.decisland.task_666_complete": "任务完成!", + "text.decisland.task_666_title": "", + "text.decisland.task_667_body": "", + "text.decisland.task_667_complete": "任务完成!", + "text.decisland.task_667_title": "", + "text.decisland.task_668_body": "", + "text.decisland.task_668_complete": "任务完成!", + "text.decisland.task_668_title": "", + "text.decisland.task_669_body": "", + "text.decisland.task_669_complete": "任务完成!", + "text.decisland.task_669_title": "", + "text.decisland.task_670_body": "", + "text.decisland.task_670_complete": "任务完成!", + "text.decisland.task_670_title": "", + "text.decisland.task_671_body": "", + "text.decisland.task_671_complete": "任务完成!", + "text.decisland.task_671_title": "", + "text.decisland.task_672_body": "", + "text.decisland.task_672_complete": "任务完成!", + "text.decisland.task_672_title": "", + "text.decisland.task_673_body": "", + "text.decisland.task_673_complete": "任务完成!", + "text.decisland.task_673_title": "", + "text.decisland.task_674_body": "", + "text.decisland.task_674_complete": "任务完成!", + "text.decisland.task_674_title": "", + "text.decisland.task_675_body": "", + "text.decisland.task_675_complete": "任务完成!", + "text.decisland.task_675_title": "", + "text.decisland.task_676_body": "", + "text.decisland.task_676_complete": "任务完成!", + "text.decisland.task_676_title": "", + "text.decisland.task_677_body": "", + "text.decisland.task_677_complete": "任务完成!", + "text.decisland.task_677_title": "", + "text.decisland.task_678_body": "", + "text.decisland.task_678_complete": "任务完成!", + "text.decisland.task_678_title": "", + "text.decisland.task_679_body": "", + "text.decisland.task_679_complete": "任务完成!", + "text.decisland.task_679_title": "", + "text.decisland.task_680_body": "", + "text.decisland.task_680_complete": "任务完成!", + "text.decisland.task_680_title": "", + "text.decisland.task_681_body": "", + "text.decisland.task_681_complete": "任务完成!", + "text.decisland.task_681_title": "", + "text.decisland.task_682_body": "", + "text.decisland.task_682_complete": "任务完成!", + "text.decisland.task_682_title": "", + "text.decisland.task_683_body": "", + "text.decisland.task_683_complete": "任务完成!", + "text.decisland.task_683_title": "", + "text.decisland.task_684_body": "", + "text.decisland.task_684_complete": "任务完成!", + "text.decisland.task_684_title": "", + "text.decisland.task_685_body": "", + "text.decisland.task_685_complete": "任务完成!", + "text.decisland.task_685_title": "", + "text.decisland.task_686_body": "", + "text.decisland.task_686_complete": "任务完成!", + "text.decisland.task_686_title": "", + "text.decisland.task_687_body": "", + "text.decisland.task_687_complete": "任务完成!", + "text.decisland.task_687_title": "", + "text.decisland.task_688_body": "", + "text.decisland.task_688_complete": "任务完成!", + "text.decisland.task_688_title": "", + "text.decisland.task_689_body": "", + "text.decisland.task_689_complete": "任务完成!", + "text.decisland.task_689_title": "", + "text.decisland.task_690_body": "", + "text.decisland.task_690_complete": "任务完成!", + "text.decisland.task_690_title": "", + "text.decisland.task_691_body": "", + "text.decisland.task_691_complete": "任务完成!", + "text.decisland.task_691_title": "", + "text.decisland.task_692_body": "", + "text.decisland.task_692_complete": "任务完成!", + "text.decisland.task_692_title": "", + "text.decisland.task_693_body": "", + "text.decisland.task_693_complete": "任务完成!", + "text.decisland.task_693_title": "", + "text.decisland.task_694_body": "", + "text.decisland.task_694_complete": "任务完成!", + "text.decisland.task_694_title": "", + "text.decisland.task_695_body": "", + "text.decisland.task_695_complete": "任务完成!", + "text.decisland.task_695_title": "", + "text.decisland.task_696_body": "", + "text.decisland.task_696_complete": "任务完成!", + "text.decisland.task_696_title": "", + "text.decisland.task_697_body": "", + "text.decisland.task_697_complete": "任务完成!", + "text.decisland.task_697_title": "", + "text.decisland.task_698_body": "", + "text.decisland.task_698_complete": "任务完成!", + "text.decisland.task_698_title": "", + "text.decisland.task_699_body": "", + "text.decisland.task_699_complete": "任务完成!", + "text.decisland.task_699_title": "", + "text.decisland.task_700_body": "", + "text.decisland.task_700_complete": "任务完成!", + "text.decisland.task_700_title": "", + "text.decisland.task_701_body": "", + "text.decisland.task_701_complete": "任务完成!", + "text.decisland.task_701_title": "", + "text.decisland.task_702_body": "", + "text.decisland.task_702_complete": "任务完成!", + "text.decisland.task_702_title": "", + "text.decisland.task_703_body": "", + "text.decisland.task_703_complete": "任务完成!", + "text.decisland.task_703_title": "", + "text.decisland.task_704_body": "", + "text.decisland.task_704_complete": "任务完成!", + "text.decisland.task_704_title": "", + "text.decisland.task_705_body": "", + "text.decisland.task_705_complete": "任务完成!", + "text.decisland.task_705_title": "", + "text.decisland.task_706_body": "", + "text.decisland.task_706_complete": "任务完成!", + "text.decisland.task_706_title": "", + "text.decisland.task_707_body": "", + "text.decisland.task_707_complete": "任务完成!", + "text.decisland.task_707_title": "", + "text.decisland.task_708_body": "", + "text.decisland.task_708_complete": "任务完成!", + "text.decisland.task_708_title": "", + "text.decisland.task_709_body": "", + "text.decisland.task_709_complete": "任务完成!", + "text.decisland.task_709_title": "", + "text.decisland.task_710_body": "", + "text.decisland.task_710_complete": "任务完成!", + "text.decisland.task_710_title": "", + "text.decisland.task_711_body": "", + "text.decisland.task_711_complete": "任务完成!", + "text.decisland.task_711_title": "", + "text.decisland.task_712_body": "", + "text.decisland.task_712_complete": "任务完成!", + "text.decisland.task_712_title": "", + "text.decisland.task_713_body": "", + "text.decisland.task_713_complete": "任务完成!", + "text.decisland.task_713_title": "", + "text.decisland.task_714_body": "", + "text.decisland.task_714_complete": "任务完成!", + "text.decisland.task_714_title": "", + "text.decisland.task_715_body": "", + "text.decisland.task_715_complete": "任务完成!", + "text.decisland.task_715_title": "", + "text.decisland.task_716_body": "", + "text.decisland.task_716_complete": "任务完成!", + "text.decisland.task_716_title": "", + "text.decisland.task_717_body": "", + "text.decisland.task_717_complete": "任务完成!", + "text.decisland.task_717_title": "", + "text.decisland.task_718_body": "", + "text.decisland.task_718_complete": "任务完成!", + "text.decisland.task_718_title": "", + "text.decisland.task_719_body": "", + "text.decisland.task_719_complete": "任务完成!", + "text.decisland.task_719_title": "", + "text.decisland.task_720_body": "", + "text.decisland.task_720_complete": "任务完成!", + "text.decisland.task_720_title": "", + "text.decisland.task_721_body": "", + "text.decisland.task_721_complete": "任务完成!", + "text.decisland.task_721_title": "", + "text.decisland.task_722_body": "", + "text.decisland.task_722_complete": "任务完成!", + "text.decisland.task_722_title": "", + "text.decisland.task_723_body": "", + "text.decisland.task_723_complete": "任务完成!", + "text.decisland.task_723_title": "", + "text.decisland.task_724_body": "", + "text.decisland.task_724_complete": "任务完成!", + "text.decisland.task_724_title": "", + "text.decisland.task_725_body": "", + "text.decisland.task_725_complete": "任务完成!", + "text.decisland.task_725_title": "", + "text.decisland.task_726_body": "", + "text.decisland.task_726_complete": "任务完成!", + "text.decisland.task_726_title": "", + "text.decisland.task_727_body": "", + "text.decisland.task_727_complete": "任务完成!", + "text.decisland.task_727_title": "", + "text.decisland.task_728_body": "", + "text.decisland.task_728_complete": "任务完成!", + "text.decisland.task_728_title": "", + "text.decisland.task_729_body": "", + "text.decisland.task_729_complete": "任务完成!", + "text.decisland.task_729_title": "", + "text.decisland.task_730_body": "", + "text.decisland.task_730_complete": "任务完成!", + "text.decisland.task_730_title": "", + "text.decisland.task_731_body": "", + "text.decisland.task_731_complete": "任务完成!", + "text.decisland.task_731_title": "", + "text.decisland.task_732_body": "", + "text.decisland.task_732_complete": "任务完成!", + "text.decisland.task_732_title": "", + "text.decisland.task_733_body": "", + "text.decisland.task_733_complete": "任务完成!", + "text.decisland.task_733_title": "", + "text.decisland.task_734_body": "", + "text.decisland.task_734_complete": "任务完成!", + "text.decisland.task_734_title": "", + "text.decisland.task_735_body": "", + "text.decisland.task_735_complete": "任务完成!", + "text.decisland.task_735_title": "", + "text.decisland.task_736_body": "", + "text.decisland.task_736_complete": "任务完成!", + "text.decisland.task_736_title": "", + "text.decisland.task_737_body": "", + "text.decisland.task_737_complete": "任务完成!", + "text.decisland.task_737_title": "", + "text.decisland.task_738_body": "", + "text.decisland.task_738_complete": "任务完成!", + "text.decisland.task_738_title": "", + "text.decisland.task_739_body": "", + "text.decisland.task_739_complete": "任务完成!", + "text.decisland.task_739_title": "", + "text.decisland.task_740_body": "", + "text.decisland.task_740_complete": "任务完成!", + "text.decisland.task_740_title": "", + "text.decisland.task_741_body": "", + "text.decisland.task_741_complete": "任务完成!", + "text.decisland.task_741_title": "", + "text.decisland.task_742_body": "", + "text.decisland.task_742_complete": "任务完成!", + "text.decisland.task_742_title": "", + "text.decisland.task_743_body": "", + "text.decisland.task_743_complete": "任务完成!", + "text.decisland.task_743_title": "", + "text.decisland.task_744_body": "", + "text.decisland.task_744_complete": "任务完成!", + "text.decisland.task_744_title": "", + "text.decisland.task_745_body": "", + "text.decisland.task_745_complete": "任务完成!", + "text.decisland.task_745_title": "", + "text.decisland.task_746_body": "", + "text.decisland.task_746_complete": "任务完成!", + "text.decisland.task_746_title": "", + "text.decisland.task_747_body": "", + "text.decisland.task_747_complete": "任务完成!", + "text.decisland.task_747_title": "", + "text.decisland.task_748_body": "", + "text.decisland.task_748_complete": "任务完成!", + "text.decisland.task_748_title": "", + "text.decisland.task_749_body": "", + "text.decisland.task_749_complete": "任务完成!", + "text.decisland.task_749_title": "", + "text.decisland.task_750_body": "", + "text.decisland.task_750_complete": "任务完成!", + "text.decisland.task_750_title": "", + "text.decisland.task_751_body": "", + "text.decisland.task_751_complete": "任务完成!", + "text.decisland.task_751_title": "", + "text.decisland.task_752_body": "", + "text.decisland.task_752_complete": "任务完成!", + "text.decisland.task_752_title": "", + "text.decisland.task_753_body": "", + "text.decisland.task_753_complete": "任务完成!", + "text.decisland.task_753_title": "", + "text.decisland.task_754_body": "", + "text.decisland.task_754_complete": "任务完成!", + "text.decisland.task_754_title": "", + "text.decisland.task_755_body": "", + "text.decisland.task_755_complete": "任务完成!", + "text.decisland.task_755_title": "", + "text.decisland.task_756_body": "", + "text.decisland.task_756_complete": "任务完成!", + "text.decisland.task_756_title": "", + "text.decisland.task_757_body": "", + "text.decisland.task_757_complete": "任务完成!", + "text.decisland.task_757_title": "", + "text.decisland.task_758_body": "", + "text.decisland.task_758_complete": "任务完成!", + "text.decisland.task_758_title": "", + "text.decisland.task_759_body": "", + "text.decisland.task_759_complete": "任务完成!", + "text.decisland.task_759_title": "", + "text.decisland.task_760_body": "", + "text.decisland.task_760_complete": "任务完成!", + "text.decisland.task_760_title": "", + "text.decisland.task_761_body": "", + "text.decisland.task_761_complete": "任务完成!", + "text.decisland.task_761_title": "", + "text.decisland.task_762_body": "", + "text.decisland.task_762_complete": "任务完成!", + "text.decisland.task_762_title": "", + "text.decisland.task_763_body": "", + "text.decisland.task_763_complete": "任务完成!", + "text.decisland.task_763_title": "", + "text.decisland.task_764_body": "", + "text.decisland.task_764_complete": "任务完成!", + "text.decisland.task_764_title": "", + "text.decisland.task_765_body": "", + "text.decisland.task_765_complete": "任务完成!", + "text.decisland.task_765_title": "", + "text.decisland.task_766_body": "", + "text.decisland.task_766_complete": "任务完成!", + "text.decisland.task_766_title": "", + "text.decisland.task_767_body": "", + "text.decisland.task_767_complete": "任务完成!", + "text.decisland.task_767_title": "", + "text.decisland.task_768_body": "", + "text.decisland.task_768_complete": "任务完成!", + "text.decisland.task_768_title": "", + "text.decisland.task_769_body": "", + "text.decisland.task_769_complete": "任务完成!", + "text.decisland.task_769_title": "", + "text.decisland.task_770_body": "", + "text.decisland.task_770_complete": "任务完成!", + "text.decisland.task_770_title": "", + "text.decisland.task_771_body": "", + "text.decisland.task_771_complete": "任务完成!", + "text.decisland.task_771_title": "", + "text.decisland.task_772_body": "", + "text.decisland.task_772_complete": "任务完成!", + "text.decisland.task_772_title": "", + "text.decisland.task_773_body": "", + "text.decisland.task_773_complete": "任务完成!", + "text.decisland.task_773_title": "", + "text.decisland.task_774_body": "", + "text.decisland.task_774_complete": "任务完成!", + "text.decisland.task_774_title": "", + "text.decisland.task_775_body": "", + "text.decisland.task_775_complete": "任务完成!", + "text.decisland.task_775_title": "", + "text.decisland.task_776_body": "", + "text.decisland.task_776_complete": "任务完成!", + "text.decisland.task_776_title": "", + "text.decisland.task_777_body": "", + "text.decisland.task_777_complete": "任务完成!", + "text.decisland.task_777_title": "", + "text.decisland.task_778_body": "", + "text.decisland.task_778_complete": "任务完成!", + "text.decisland.task_778_title": "", + "text.decisland.task_779_body": "", + "text.decisland.task_779_complete": "任务完成!", + "text.decisland.task_779_title": "", + "text.decisland.task_780_body": "", + "text.decisland.task_780_complete": "任务完成!", + "text.decisland.task_780_title": "", + "text.decisland.task_781_body": "", + "text.decisland.task_781_complete": "任务完成!", + "text.decisland.task_781_title": "", + "text.decisland.task_782_body": "", + "text.decisland.task_782_complete": "任务完成!", + "text.decisland.task_782_title": "", + "text.decisland.task_783_body": "", + "text.decisland.task_783_complete": "任务完成!", + "text.decisland.task_783_title": "", + "text.decisland.task_784_body": "", + "text.decisland.task_784_complete": "任务完成!", + "text.decisland.task_784_title": "", + "text.decisland.task_785_body": "", + "text.decisland.task_785_complete": "任务完成!", + "text.decisland.task_785_title": "", + "text.decisland.task_786_body": "", + "text.decisland.task_786_complete": "任务完成!", + "text.decisland.task_786_title": "", + "text.decisland.task_787_body": "", + "text.decisland.task_787_complete": "任务完成!", + "text.decisland.task_787_title": "", + "text.decisland.task_788_body": "", + "text.decisland.task_788_complete": "任务完成!", + "text.decisland.task_788_title": "", + "text.decisland.task_789_body": "", + "text.decisland.task_789_complete": "任务完成!", + "text.decisland.task_789_title": "", + "text.decisland.task_790_body": "", + "text.decisland.task_790_complete": "任务完成!", + "text.decisland.task_790_title": "", + "text.decisland.task_791_body": "", + "text.decisland.task_791_complete": "任务完成!", + "text.decisland.task_791_title": "", + "text.decisland.task_792_body": "", + "text.decisland.task_792_complete": "任务完成!", + "text.decisland.task_792_title": "", + "text.decisland.task_793_body": "", + "text.decisland.task_793_complete": "任务完成!", + "text.decisland.task_793_title": "", + "text.decisland.task_794_body": "", + "text.decisland.task_794_complete": "任务完成!", + "text.decisland.task_794_title": "", + "text.decisland.task_795_body": "", + "text.decisland.task_795_complete": "任务完成!", + "text.decisland.task_795_title": "", + "text.decisland.task_796_body": "", + "text.decisland.task_796_complete": "任务完成!", + "text.decisland.task_796_title": "", + "text.decisland.task_797_body": "", + "text.decisland.task_797_complete": "任务完成!", + "text.decisland.task_797_title": "", + "text.decisland.task_798_body": "", + "text.decisland.task_798_complete": "任务完成!", + "text.decisland.task_798_title": "", + "text.decisland.task_799_body": "", + "text.decisland.task_799_complete": "任务完成!", + "text.decisland.task_799_title": "", + "text.decisland.task_800_body": "", + "text.decisland.task_800_complete": "任务完成!", + "text.decisland.task_800_title": "", + "text.decisland.task_801_body": "", + "text.decisland.task_801_complete": "任务完成!", + "text.decisland.task_801_title": "", + "text.decisland.task_802_body": "", + "text.decisland.task_802_complete": "任务完成!", + "text.decisland.task_802_title": "", + "text.decisland.task_803_body": "", + "text.decisland.task_803_complete": "任务完成!", + "text.decisland.task_803_title": "", + "text.decisland.task_804_body": "", + "text.decisland.task_804_complete": "任务完成!", + "text.decisland.task_804_title": "", + "text.decisland.task_805_body": "", + "text.decisland.task_805_complete": "任务完成!", + "text.decisland.task_805_title": "", + "text.decisland.task_806_body": "", + "text.decisland.task_806_complete": "任务完成!", + "text.decisland.task_806_title": "", + "text.decisland.task_807_body": "", + "text.decisland.task_807_complete": "任务完成!", + "text.decisland.task_807_title": "", + "text.decisland.task_808_body": "", + "text.decisland.task_808_complete": "任务完成!", + "text.decisland.task_808_title": "", + "text.decisland.task_809_body": "", + "text.decisland.task_809_complete": "任务完成!", + "text.decisland.task_809_title": "", + "text.decisland.task_810_body": "", + "text.decisland.task_810_complete": "任务完成!", + "text.decisland.task_810_title": "", + "text.decisland.task_811_body": "", + "text.decisland.task_811_complete": "任务完成!", + "text.decisland.task_811_title": "", + "text.decisland.task_812_body": "", + "text.decisland.task_812_complete": "任务完成!", + "text.decisland.task_812_title": "", + "text.decisland.task_813_body": "", + "text.decisland.task_813_complete": "任务完成!", + "text.decisland.task_813_title": "", + "text.decisland.task_814_body": "", + "text.decisland.task_814_complete": "任务完成!", + "text.decisland.task_814_title": "", + "text.decisland.task_815_body": "", + "text.decisland.task_815_complete": "任务完成!", + "text.decisland.task_815_title": "", + "text.decisland.task_816_body": "", + "text.decisland.task_816_complete": "任务完成!", + "text.decisland.task_816_title": "", + "text.decisland.task_817_body": "", + "text.decisland.task_817_complete": "任务完成!", + "text.decisland.task_817_title": "", + "text.decisland.task_818_body": "", + "text.decisland.task_818_complete": "任务完成!", + "text.decisland.task_818_title": "", + "text.decisland.task_819_body": "", + "text.decisland.task_819_complete": "任务完成!", + "text.decisland.task_819_title": "", + "text.decisland.task_820_body": "", + "text.decisland.task_820_complete": "任务完成!", + "text.decisland.task_820_title": "", + "text.decisland.task_821_body": "", + "text.decisland.task_821_complete": "任务完成!", + "text.decisland.task_821_title": "", + "text.decisland.task_822_body": "", + "text.decisland.task_822_complete": "任务完成!", + "text.decisland.task_822_title": "", + "text.decisland.task_823_body": "", + "text.decisland.task_823_complete": "任务完成!", + "text.decisland.task_823_title": "", + "text.decisland.task_824_body": "", + "text.decisland.task_824_complete": "任务完成!", + "text.decisland.task_824_title": "", + "text.decisland.task_825_body": "", + "text.decisland.task_825_complete": "任务完成!", + "text.decisland.task_825_title": "", + "text.decisland.task_826_body": "", + "text.decisland.task_826_complete": "任务完成!", + "text.decisland.task_826_title": "", + "text.decisland.task_827_body": "", + "text.decisland.task_827_complete": "任务完成!", + "text.decisland.task_827_title": "", + "text.decisland.task_828_body": "", + "text.decisland.task_828_complete": "任务完成!", + "text.decisland.task_828_title": "", + "text.decisland.task_829_body": "", + "text.decisland.task_829_complete": "任务完成!", + "text.decisland.task_829_title": "", + "text.decisland.task_830_body": "", + "text.decisland.task_830_complete": "任务完成!", + "text.decisland.task_830_title": "", + "text.decisland.task_831_body": "", + "text.decisland.task_831_complete": "任务完成!", + "text.decisland.task_831_title": "", + "text.decisland.task_832_body": "", + "text.decisland.task_832_complete": "任务完成!", + "text.decisland.task_832_title": "", + "text.decisland.task_833_body": "", + "text.decisland.task_833_complete": "任务完成!", + "text.decisland.task_833_title": "", + "text.decisland.task_834_body": "", + "text.decisland.task_834_complete": "任务完成!", + "text.decisland.task_834_title": "", + "text.decisland.task_835_body": "", + "text.decisland.task_835_complete": "任务完成!", + "text.decisland.task_835_title": "", + "text.decisland.task_836_body": "", + "text.decisland.task_836_complete": "任务完成!", + "text.decisland.task_836_title": "", + "text.decisland.task_837_body": "", + "text.decisland.task_837_complete": "任务完成!", + "text.decisland.task_837_title": "", + "text.decisland.task_838_body": "", + "text.decisland.task_838_complete": "任务完成!", + "text.decisland.task_838_title": "", + "text.decisland.task_839_body": "", + "text.decisland.task_839_complete": "任务完成!", + "text.decisland.task_839_title": "", + "text.decisland.task_840_body": "", + "text.decisland.task_840_complete": "任务完成!", + "text.decisland.task_840_title": "", + "text.decisland.task_841_body": "", + "text.decisland.task_841_complete": "任务完成!", + "text.decisland.task_841_title": "", + "text.decisland.task_842_body": "", + "text.decisland.task_842_complete": "任务完成!", + "text.decisland.task_842_title": "", + "text.decisland.task_843_body": "", + "text.decisland.task_843_complete": "任务完成!", + "text.decisland.task_843_title": "", + "text.decisland.task_844_body": "", + "text.decisland.task_844_complete": "任务完成!", + "text.decisland.task_844_title": "", + "text.decisland.task_845_body": "", + "text.decisland.task_845_complete": "任务完成!", + "text.decisland.task_845_title": "", + "text.decisland.task_846_body": "", + "text.decisland.task_846_complete": "任务完成!", + "text.decisland.task_846_title": "", + "text.decisland.task_847_body": "", + "text.decisland.task_847_complete": "任务完成!", + "text.decisland.task_847_title": "", + "text.decisland.task_848_body": "", + "text.decisland.task_848_complete": "任务完成!", + "text.decisland.task_848_title": "", + "text.decisland.task_849_body": "", + "text.decisland.task_849_complete": "任务完成!", + "text.decisland.task_849_title": "", + "text.decisland.task_850_body": "", + "text.decisland.task_850_complete": "任务完成!", + "text.decisland.task_850_title": "", + "text.decisland.task_851_body": "", + "text.decisland.task_851_complete": "任务完成!", + "text.decisland.task_851_title": "", + "text.decisland.task_852_body": "", + "text.decisland.task_852_complete": "任务完成!", + "text.decisland.task_852_title": "", + "text.decisland.task_853_body": "", + "text.decisland.task_853_complete": "任务完成!", + "text.decisland.task_853_title": "", + "text.decisland.task_854_body": "", + "text.decisland.task_854_complete": "任务完成!", + "text.decisland.task_854_title": "", + "text.decisland.task_855_body": "", + "text.decisland.task_855_complete": "任务完成!", + "text.decisland.task_855_title": "", + "text.decisland.task_856_body": "", + "text.decisland.task_856_complete": "任务完成!", + "text.decisland.task_856_title": "", + "text.decisland.task_857_body": "", + "text.decisland.task_857_complete": "任务完成!", + "text.decisland.task_857_title": "", + "text.decisland.task_858_body": "", + "text.decisland.task_858_complete": "任务完成!", + "text.decisland.task_858_title": "", + "text.decisland.task_859_body": "", + "text.decisland.task_859_complete": "任务完成!", + "text.decisland.task_859_title": "", + "text.decisland.task_860_body": "", + "text.decisland.task_860_complete": "任务完成!", + "text.decisland.task_860_title": "", + "text.decisland.task_861_body": "", + "text.decisland.task_861_complete": "任务完成!", + "text.decisland.task_861_title": "", + "text.decisland.task_862_body": "", + "text.decisland.task_862_complete": "任务完成!", + "text.decisland.task_862_title": "", + "text.decisland.task_863_body": "", + "text.decisland.task_863_complete": "任务完成!", + "text.decisland.task_863_title": "", + "text.decisland.task_864_body": "", + "text.decisland.task_864_complete": "任务完成!", + "text.decisland.task_864_title": "", + "text.decisland.task_865_body": "", + "text.decisland.task_865_complete": "任务完成!", + "text.decisland.task_865_title": "", + "text.decisland.task_866_body": "", + "text.decisland.task_866_complete": "任务完成!", + "text.decisland.task_866_title": "", + "text.decisland.task_867_body": "", + "text.decisland.task_867_complete": "任务完成!", + "text.decisland.task_867_title": "", + "text.decisland.task_868_body": "", + "text.decisland.task_868_complete": "任务完成!", + "text.decisland.task_868_title": "", + "text.decisland.task_869_body": "", + "text.decisland.task_869_complete": "任务完成!", + "text.decisland.task_869_title": "", + "text.decisland.task_870_body": "", + "text.decisland.task_870_complete": "任务完成!", + "text.decisland.task_870_title": "", + "text.decisland.task_871_body": "", + "text.decisland.task_871_complete": "任务完成!", + "text.decisland.task_871_title": "", + "text.decisland.task_872_body": "", + "text.decisland.task_872_complete": "任务完成!", + "text.decisland.task_872_title": "", + "text.decisland.task_873_body": "", + "text.decisland.task_873_complete": "任务完成!", + "text.decisland.task_873_title": "", + "text.decisland.task_874_body": "", + "text.decisland.task_874_complete": "任务完成!", + "text.decisland.task_874_title": "", + "text.decisland.task_875_body": "", + "text.decisland.task_875_complete": "任务完成!", + "text.decisland.task_875_title": "", + "text.decisland.task_876_body": "", + "text.decisland.task_876_complete": "任务完成!", + "text.decisland.task_876_title": "", + "text.decisland.task_877_body": "", + "text.decisland.task_877_complete": "任务完成!", + "text.decisland.task_877_title": "", + "text.decisland.task_878_body": "", + "text.decisland.task_878_complete": "任务完成!", + "text.decisland.task_878_title": "", + "text.decisland.task_879_body": "", + "text.decisland.task_879_complete": "任务完成!", + "text.decisland.task_879_title": "", + "text.decisland.task_880_body": "", + "text.decisland.task_880_complete": "任务完成!", + "text.decisland.task_880_title": "", + "text.decisland.task_881_body": "", + "text.decisland.task_881_complete": "任务完成!", + "text.decisland.task_881_title": "", + "text.decisland.task_882_body": "", + "text.decisland.task_882_complete": "任务完成!", + "text.decisland.task_882_title": "", + "text.decisland.task_883_body": "", + "text.decisland.task_883_complete": "任务完成!", + "text.decisland.task_883_title": "", + "text.decisland.task_884_body": "", + "text.decisland.task_884_complete": "任务完成!", + "text.decisland.task_884_title": "", + "text.decisland.task_885_body": "", + "text.decisland.task_885_complete": "任务完成!", + "text.decisland.task_885_title": "", + "text.decisland.task_886_body": "", + "text.decisland.task_886_complete": "任务完成!", + "text.decisland.task_886_title": "", + "text.decisland.task_887_body": "", + "text.decisland.task_887_complete": "任务完成!", + "text.decisland.task_887_title": "", + "text.decisland.task_888_body": "", + "text.decisland.task_888_complete": "任务完成!", + "text.decisland.task_888_title": "", + "text.decisland.task_889_body": "", + "text.decisland.task_889_complete": "任务完成!", + "text.decisland.task_889_title": "", + "text.decisland.task_890_body": "", + "text.decisland.task_890_complete": "任务完成!", + "text.decisland.task_890_title": "", + "text.decisland.task_891_body": "", + "text.decisland.task_891_complete": "任务完成!", + "text.decisland.task_891_title": "", + "text.decisland.task_892_body": "", + "text.decisland.task_892_complete": "任务完成!", + "text.decisland.task_892_title": "", + "text.decisland.task_893_body": "", + "text.decisland.task_893_complete": "任务完成!", + "text.decisland.task_893_title": "", + "text.decisland.task_894_body": "", + "text.decisland.task_894_complete": "任务完成!", + "text.decisland.task_894_title": "", + "text.decisland.task_895_body": "", + "text.decisland.task_895_complete": "任务完成!", + "text.decisland.task_895_title": "", + "text.decisland.task_896_body": "", + "text.decisland.task_896_complete": "任务完成!", + "text.decisland.task_896_title": "", + "text.decisland.task_897_body": "", + "text.decisland.task_897_complete": "任务完成!", + "text.decisland.task_897_title": "", + "text.decisland.task_898_body": "", + "text.decisland.task_898_complete": "任务完成!", + "text.decisland.task_898_title": "", + "text.decisland.task_899_body": "", + "text.decisland.task_899_complete": "任务完成!", + "text.decisland.task_899_title": "", + "text.decisland.task_900_body": "", + "text.decisland.task_900_complete": "任务完成!", + "text.decisland.task_900_title": "", + "text.decisland.task_901_body": "", + "text.decisland.task_901_complete": "任务完成!", + "text.decisland.task_901_title": "", + "text.decisland.task_902_body": "", + "text.decisland.task_902_complete": "任务完成!", + "text.decisland.task_902_title": "", + "text.decisland.task_903_body": "", + "text.decisland.task_903_complete": "任务完成!", + "text.decisland.task_903_title": "", + "text.decisland.task_904_body": "", + "text.decisland.task_904_complete": "任务完成!", + "text.decisland.task_904_title": "", + "text.decisland.task_905_body": "", + "text.decisland.task_905_complete": "任务完成!", + "text.decisland.task_905_title": "", + "text.decisland.task_906_body": "", + "text.decisland.task_906_complete": "任务完成!", + "text.decisland.task_906_title": "", + "text.decisland.task_907_body": "", + "text.decisland.task_907_complete": "任务完成!", + "text.decisland.task_907_title": "", + "text.decisland.task_908_body": "", + "text.decisland.task_908_complete": "任务完成!", + "text.decisland.task_908_title": "", + "text.decisland.task_909_body": "", + "text.decisland.task_909_complete": "任务完成!", + "text.decisland.task_909_title": "", + "text.decisland.task_910_body": "", + "text.decisland.task_910_complete": "任务完成!", + "text.decisland.task_910_title": "", + "text.decisland.task_911_body": "", + "text.decisland.task_911_complete": "任务完成!", + "text.decisland.task_911_title": "", + "text.decisland.task_912_body": "", + "text.decisland.task_912_complete": "任务完成!", + "text.decisland.task_912_title": "", + "text.decisland.task_913_body": "", + "text.decisland.task_913_complete": "任务完成!", + "text.decisland.task_913_title": "", + "text.decisland.task_914_body": "", + "text.decisland.task_914_complete": "任务完成!", + "text.decisland.task_914_title": "", + "text.decisland.task_915_body": "", + "text.decisland.task_915_complete": "任务完成!", + "text.decisland.task_915_title": "", + "text.decisland.task_916_body": "", + "text.decisland.task_916_complete": "任务完成!", + "text.decisland.task_916_title": "", + "text.decisland.task_917_body": "", + "text.decisland.task_917_complete": "任务完成!", + "text.decisland.task_917_title": "", + "text.decisland.task_918_body": "", + "text.decisland.task_918_complete": "任务完成!", + "text.decisland.task_918_title": "", + "text.decisland.task_919_body": "", + "text.decisland.task_919_complete": "任务完成!", + "text.decisland.task_919_title": "", + "text.decisland.task_920_body": "", + "text.decisland.task_920_complete": "任务完成!", + "text.decisland.task_920_title": "", + "text.decisland.task_921_body": "", + "text.decisland.task_921_complete": "任务完成!", + "text.decisland.task_921_title": "", + "text.decisland.task_922_body": "", + "text.decisland.task_922_complete": "任务完成!", + "text.decisland.task_922_title": "", + "text.decisland.task_923_body": "", + "text.decisland.task_923_complete": "任务完成!", + "text.decisland.task_923_title": "", + "text.decisland.task_924_body": "", + "text.decisland.task_924_complete": "任务完成!", + "text.decisland.task_924_title": "", + "text.decisland.task_925_body": "", + "text.decisland.task_925_complete": "任务完成!", + "text.decisland.task_925_title": "", + "text.decisland.task_926_body": "", + "text.decisland.task_926_complete": "任务完成!", + "text.decisland.task_926_title": "", + "text.decisland.task_927_body": "", + "text.decisland.task_927_complete": "任务完成!", + "text.decisland.task_927_title": "", + "text.decisland.task_928_body": "", + "text.decisland.task_928_complete": "任务完成!", + "text.decisland.task_928_title": "", + "text.decisland.task_929_body": "", + "text.decisland.task_929_complete": "任务完成!", + "text.decisland.task_929_title": "", + "text.decisland.task_930_body": "", + "text.decisland.task_930_complete": "任务完成!", + "text.decisland.task_930_title": "", + "text.decisland.task_931_body": "", + "text.decisland.task_931_complete": "任务完成!", + "text.decisland.task_931_title": "", + "text.decisland.task_932_body": "", + "text.decisland.task_932_complete": "任务完成!", + "text.decisland.task_932_title": "", + "text.decisland.task_933_body": "", + "text.decisland.task_933_complete": "任务完成!", + "text.decisland.task_933_title": "", + "text.decisland.task_934_body": "", + "text.decisland.task_934_complete": "任务完成!", + "text.decisland.task_934_title": "", + "text.decisland.task_935_body": "", + "text.decisland.task_935_complete": "任务完成!", + "text.decisland.task_935_title": "", + "text.decisland.task_936_body": "", + "text.decisland.task_936_complete": "任务完成!", + "text.decisland.task_936_title": "", + "text.decisland.task_937_body": "", + "text.decisland.task_937_complete": "任务完成!", + "text.decisland.task_937_title": "", + "text.decisland.task_938_body": "", + "text.decisland.task_938_complete": "任务完成!", + "text.decisland.task_938_title": "", + "text.decisland.task_939_body": "", + "text.decisland.task_939_complete": "任务完成!", + "text.decisland.task_939_title": "", + "text.decisland.task_940_body": "", + "text.decisland.task_940_complete": "任务完成!", + "text.decisland.task_940_title": "", + "text.decisland.task_941_body": "", + "text.decisland.task_941_complete": "任务完成!", + "text.decisland.task_941_title": "", + "text.decisland.task_942_body": "", + "text.decisland.task_942_complete": "任务完成!", + "text.decisland.task_942_title": "", + "text.decisland.task_943_body": "", + "text.decisland.task_943_complete": "任务完成!", + "text.decisland.task_943_title": "", + "text.decisland.task_944_body": "", + "text.decisland.task_944_complete": "任务完成!", + "text.decisland.task_944_title": "", + "text.decisland.task_945_body": "", + "text.decisland.task_945_complete": "任务完成!", + "text.decisland.task_945_title": "", + "text.decisland.task_946_body": "", + "text.decisland.task_946_complete": "任务完成!", + "text.decisland.task_946_title": "", + "text.decisland.task_947_body": "", + "text.decisland.task_947_complete": "任务完成!", + "text.decisland.task_947_title": "", + "text.decisland.task_948_body": "", + "text.decisland.task_948_complete": "任务完成!", + "text.decisland.task_948_title": "", + "text.decisland.task_949_body": "", + "text.decisland.task_949_complete": "任务完成!", + "text.decisland.task_949_title": "", + "text.decisland.task_950_body": "", + "text.decisland.task_950_complete": "任务完成!", + "text.decisland.task_950_title": "", + "text.decisland.task_951_body": "", + "text.decisland.task_951_complete": "任务完成!", + "text.decisland.task_951_title": "", + "text.decisland.task_952_body": "", + "text.decisland.task_952_complete": "任务完成!", + "text.decisland.task_952_title": "", + "text.decisland.task_953_body": "", + "text.decisland.task_953_complete": "任务完成!", + "text.decisland.task_953_title": "", + "text.decisland.task_954_body": "", + "text.decisland.task_954_complete": "任务完成!", + "text.decisland.task_954_title": "", + "text.decisland.task_955_body": "", + "text.decisland.task_955_complete": "任务完成!", + "text.decisland.task_955_title": "", + "text.decisland.task_956_body": "", + "text.decisland.task_956_complete": "任务完成!", + "text.decisland.task_956_title": "", + "text.decisland.task_957_body": "", + "text.decisland.task_957_complete": "任务完成!", + "text.decisland.task_957_title": "", + "text.decisland.task_958_body": "", + "text.decisland.task_958_complete": "任务完成!", + "text.decisland.task_958_title": "", + "text.decisland.task_959_body": "", + "text.decisland.task_959_complete": "任务完成!", + "text.decisland.task_959_title": "", + "text.decisland.task_960_body": "", + "text.decisland.task_960_complete": "任务完成!", + "text.decisland.task_960_title": "", + "text.decisland.task_961_body": "", + "text.decisland.task_961_complete": "任务完成!", + "text.decisland.task_961_title": "", + "text.decisland.task_962_body": "", + "text.decisland.task_962_complete": "任务完成!", + "text.decisland.task_962_title": "", + "text.decisland.task_963_body": "", + "text.decisland.task_963_complete": "任务完成!", + "text.decisland.task_963_title": "", + "text.decisland.task_964_body": "", + "text.decisland.task_964_complete": "任务完成!", + "text.decisland.task_964_title": "", + "text.decisland.task_965_body": "", + "text.decisland.task_965_complete": "任务完成!", + "text.decisland.task_965_title": "", + "text.decisland.task_966_body": "", + "text.decisland.task_966_complete": "任务完成!", + "text.decisland.task_966_title": "", + "text.decisland.task_967_body": "", + "text.decisland.task_967_complete": "任务完成!", + "text.decisland.task_967_title": "", + "text.decisland.task_968_body": "", + "text.decisland.task_968_complete": "任务完成!", + "text.decisland.task_968_title": "", + "text.decisland.task_969_body": "", + "text.decisland.task_969_complete": "任务完成!", + "text.decisland.task_969_title": "", + "text.decisland.task_970_body": "", + "text.decisland.task_970_complete": "任务完成!", + "text.decisland.task_970_title": "", + "text.decisland.task_971_body": "", + "text.decisland.task_971_complete": "任务完成!", + "text.decisland.task_971_title": "", + "text.decisland.task_972_body": "", + "text.decisland.task_972_complete": "任务完成!", + "text.decisland.task_972_title": "", + "text.decisland.task_973_body": "", + "text.decisland.task_973_complete": "任务完成!", + "text.decisland.task_973_title": "", + "text.decisland.task_974_body": "", + "text.decisland.task_974_complete": "任务完成!", + "text.decisland.task_974_title": "", + "text.decisland.task_975_body": "", + "text.decisland.task_975_complete": "任务完成!", + "text.decisland.task_975_title": "", + "text.decisland.task_976_body": "", + "text.decisland.task_976_complete": "任务完成!", + "text.decisland.task_976_title": "", + "text.decisland.task_977_body": "", + "text.decisland.task_977_complete": "任务完成!", + "text.decisland.task_977_title": "", + "text.decisland.task_978_body": "", + "text.decisland.task_978_complete": "任务完成!", + "text.decisland.task_978_title": "", + "text.decisland.task_979_body": "", + "text.decisland.task_979_complete": "任务完成!", + "text.decisland.task_979_title": "", + "text.decisland.task_980_body": "", + "text.decisland.task_980_complete": "任务完成!", + "text.decisland.task_980_title": "", + "text.decisland.task_981_body": "", + "text.decisland.task_981_complete": "任务完成!", + "text.decisland.task_981_title": "", + "text.decisland.task_982_body": "", + "text.decisland.task_982_complete": "任务完成!", + "text.decisland.task_982_title": "", + "text.decisland.task_983_body": "", + "text.decisland.task_983_complete": "任务完成!", + "text.decisland.task_983_title": "", + "text.decisland.task_984_body": "", + "text.decisland.task_984_complete": "任务完成!", + "text.decisland.task_984_title": "", + "text.decisland.task_985_body": "", + "text.decisland.task_985_complete": "任务完成!", + "text.decisland.task_985_title": "", + "text.decisland.task_986_body": "", + "text.decisland.task_986_complete": "任务完成!", + "text.decisland.task_986_title": "", + "text.decisland.task_987_body": "", + "text.decisland.task_987_complete": "任务完成!", + "text.decisland.task_987_title": "", + "text.decisland.task_988_body": "", + "text.decisland.task_988_complete": "任务完成!", + "text.decisland.task_988_title": "", + "text.decisland.task_989_body": "", + "text.decisland.task_989_complete": "任务完成!", + "text.decisland.task_989_title": "", + "text.decisland.task_990_body": "", + "text.decisland.task_990_complete": "任务完成!", + "text.decisland.task_990_title": "", + "text.decisland.task_991_body": "", + "text.decisland.task_991_complete": "任务完成!", + "text.decisland.task_991_title": "", + "text.decisland.task_992_body": "", + "text.decisland.task_992_complete": "任务完成!", + "text.decisland.task_992_title": "", + "text.decisland.task_993_body": "", + "text.decisland.task_993_complete": "任务完成!", + "text.decisland.task_993_title": "", + "text.decisland.task_994_body": "", + "text.decisland.task_994_complete": "任务完成!", + "text.decisland.task_994_title": "", + "text.decisland.task_995_body": "", + "text.decisland.task_995_complete": "任务完成!", + "text.decisland.task_995_title": "", + "text.decisland.task_996_body": "", + "text.decisland.task_996_complete": "任务完成!", + "text.decisland.task_996_title": "", + "text.decisland.task_997_body": "", + "text.decisland.task_997_complete": "任务完成!", + "text.decisland.task_997_title": "", + "text.decisland.task_998_body": "", + "text.decisland.task_998_complete": "任务完成!", + "text.decisland.task_998_title": "", + "text.decisland.task_999_body": "", + "text.decisland.task_999_complete": "任务完成!", + "text.decisland.task_999_title": "", + "text.decisland.task_choose_body": "选择一个任务并查看详情", + "text.decisland.task_choose_title": "任务", + "text.decisland.task_complete_button": "完成", + "text.decisland.task_fail": "任务未完成", + "text.decisland.thanks": "§e最后,衷心感谢所有为此addon做出贡献的人以及群内的所有小伙伴", + "text.decisland.uptohpl2": "§a生命值5->6", + "text.decisland.uptohpl3": "§a生命值6->7", + "text.decisland.uptohpl4": "§a生命值7->8,需用迸发蛋进一步提升生命值", + "text.decisland.uptohpl5": "§a生命值8->9", + "text.decisland.uptohpl6": "§a生命值9->10,需用末影蛋进一步提升生命值", + "text.decisland.uptohpl7": "§a生命值10->11", + "text.decisland.uptohpl8": "§a生命值11->12,生命值已满", + "text.decisland.village_guardian_fail_boss": "§a力量被压制了", + "text.decisland.village_guardian_fail_rotate": "§a此剑之力量源于天空" +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/amethyst_lantern.json b/src/generated/resources/assets/decisland/models/block/amethyst_lantern.json new file mode 100644 index 0000000..cc2accc --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/amethyst_lantern.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "decisland:block/amethyst_lantern" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/ancient_ice.json b/src/generated/resources/assets/decisland/models/block/ancient_ice.json new file mode 100644 index 0000000..f94f3ca --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/ancient_ice.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "decisland:block/ancient_ice" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/ash.json b/src/generated/resources/assets/decisland/models/block/ash.json new file mode 100644 index 0000000..309a79f --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/ash.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "decisland:block/ash" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/baby_blue_eyes_flower.json b/src/generated/resources/assets/decisland/models/block/baby_blue_eyes_flower.json new file mode 100644 index 0000000..8b37782 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/baby_blue_eyes_flower.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/baby_blue_eyes_flower" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/balloon_flower.json b/src/generated/resources/assets/decisland/models/block/balloon_flower.json new file mode 100644 index 0000000..6c19c77 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/balloon_flower.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/balloon_flower" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/bizarre_chilli_crop_stage0.json b/src/generated/resources/assets/decisland/models/block/bizarre_chilli_crop_stage0.json new file mode 100644 index 0000000..41d5588 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/bizarre_chilli_crop_stage0.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/bizarre_chilli_crop_stage0" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/bizarre_chilli_crop_stage1.json b/src/generated/resources/assets/decisland/models/block/bizarre_chilli_crop_stage1.json new file mode 100644 index 0000000..ba59205 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/bizarre_chilli_crop_stage1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/bizarre_chilli_crop_stage1" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/bizarre_chilli_crop_stage2.json b/src/generated/resources/assets/decisland/models/block/bizarre_chilli_crop_stage2.json new file mode 100644 index 0000000..48c715c --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/bizarre_chilli_crop_stage2.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/bizarre_chilli_crop_stage2" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/bizarre_chilli_crop_stage3.json b/src/generated/resources/assets/decisland/models/block/bizarre_chilli_crop_stage3.json new file mode 100644 index 0000000..269cf68 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/bizarre_chilli_crop_stage3.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/bizarre_chilli_crop_stage3" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/bizarre_chilli_crop_stage4.json b/src/generated/resources/assets/decisland/models/block/bizarre_chilli_crop_stage4.json new file mode 100644 index 0000000..64c4370 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/bizarre_chilli_crop_stage4.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/bizarre_chilli_crop_stage4" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/bizarre_chilli_crop_stage5.json b/src/generated/resources/assets/decisland/models/block/bizarre_chilli_crop_stage5.json new file mode 100644 index 0000000..bfdbb6f --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/bizarre_chilli_crop_stage5.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/bizarre_chilli_crop_stage5" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/bizarre_chilli_crop_stage6.json b/src/generated/resources/assets/decisland/models/block/bizarre_chilli_crop_stage6.json new file mode 100644 index 0000000..e06e4d7 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/bizarre_chilli_crop_stage6.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/bizarre_chilli_crop_stage6" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/black_flower_block.json b/src/generated/resources/assets/decisland/models/block/black_flower_block.json new file mode 100644 index 0000000..1ee1f4b --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/black_flower_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "decisland:block/black_flower_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/blue_flower_block.json b/src/generated/resources/assets/decisland/models/block/blue_flower_block.json new file mode 100644 index 0000000..0e9c7f7 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/blue_flower_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "decisland:block/blue_flower_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/blue_gem_ore.json b/src/generated/resources/assets/decisland/models/block/blue_gem_ore.json new file mode 100644 index 0000000..093bfc5 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/blue_gem_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "decisland:block/blue_gem_ore" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/blue_ice_brick_block.json b/src/generated/resources/assets/decisland/models/block/blue_ice_brick_block.json new file mode 100644 index 0000000..8fa3703 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/blue_ice_brick_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "decisland:block/blue_ice_brick_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/breeze_flower.json b/src/generated/resources/assets/decisland/models/block/breeze_flower.json new file mode 100644 index 0000000..18b2b2d --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/breeze_flower.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/breeze_flower" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/butter_flower.json b/src/generated/resources/assets/decisland/models/block/butter_flower.json new file mode 100644 index 0000000..25621c4 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/butter_flower.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/butter_flower" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/butterfly_pea.json b/src/generated/resources/assets/decisland/models/block/butterfly_pea.json new file mode 100644 index 0000000..28118a5 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/butterfly_pea.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/butterfly_pea" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/candy_block.json b/src/generated/resources/assets/decisland/models/block/candy_block.json new file mode 100644 index 0000000..1c40a91 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/candy_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "decisland:block/candy_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/chiseled_ice_brick.json b/src/generated/resources/assets/decisland/models/block/chiseled_ice_brick.json new file mode 100644 index 0000000..0db99ce --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/chiseled_ice_brick.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "decisland:block/chiseled_ice_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/cloud_flower.json b/src/generated/resources/assets/decisland/models/block/cloud_flower.json new file mode 100644 index 0000000..9128a8e --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/cloud_flower.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/cloud_flower" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/compress_flower_block.json b/src/generated/resources/assets/decisland/models/block/compress_flower_block.json new file mode 100644 index 0000000..1eef025 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/compress_flower_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "decisland:block/compress_flower_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/compressed_ice.json b/src/generated/resources/assets/decisland/models/block/compressed_ice.json new file mode 100644 index 0000000..cf1b4c2 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/compressed_ice.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "decisland:block/compressed_ice" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/corn_crop_lower_stage0.json b/src/generated/resources/assets/decisland/models/block/corn_crop_lower_stage0.json new file mode 100644 index 0000000..960da6d --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/corn_crop_lower_stage0.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/corn_crop_lower_stage0" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/corn_crop_lower_stage1.json b/src/generated/resources/assets/decisland/models/block/corn_crop_lower_stage1.json new file mode 100644 index 0000000..b21f0cf --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/corn_crop_lower_stage1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/corn_crop_lower_stage1" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/corn_crop_lower_stage2.json b/src/generated/resources/assets/decisland/models/block/corn_crop_lower_stage2.json new file mode 100644 index 0000000..c4f6fbb --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/corn_crop_lower_stage2.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/corn_crop_lower_stage2" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/corn_crop_lower_stage3.json b/src/generated/resources/assets/decisland/models/block/corn_crop_lower_stage3.json new file mode 100644 index 0000000..6bd843c --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/corn_crop_lower_stage3.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/corn_crop_lower_stage3" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/corn_crop_lower_stage4.json b/src/generated/resources/assets/decisland/models/block/corn_crop_lower_stage4.json new file mode 100644 index 0000000..45b1410 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/corn_crop_lower_stage4.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/corn_crop_lower_stage4" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/corn_crop_upper_stage0.json b/src/generated/resources/assets/decisland/models/block/corn_crop_upper_stage0.json new file mode 100644 index 0000000..8d12086 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/corn_crop_upper_stage0.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/corn_crop_upper_stage0" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/corn_crop_upper_stage1.json b/src/generated/resources/assets/decisland/models/block/corn_crop_upper_stage1.json new file mode 100644 index 0000000..2317524 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/corn_crop_upper_stage1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/corn_crop_upper_stage1" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/corn_crop_upper_stage2.json b/src/generated/resources/assets/decisland/models/block/corn_crop_upper_stage2.json new file mode 100644 index 0000000..9c2783b --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/corn_crop_upper_stage2.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/corn_crop_upper_stage2" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/corn_crop_upper_stage3.json b/src/generated/resources/assets/decisland/models/block/corn_crop_upper_stage3.json new file mode 100644 index 0000000..fcf3ef7 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/corn_crop_upper_stage3.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/corn_crop_upper_stage3" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/crimson_lamp.json b/src/generated/resources/assets/decisland/models/block/crimson_lamp.json new file mode 100644 index 0000000..3790339 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/crimson_lamp.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/cube_bottom_top", + "textures": { + "bottom": "decisland:block/crimson_lamp_bottom", + "side": "decisland:block/crimson_lamp_side", + "top": "decisland:block/crimson_lamp_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/crinum.json b/src/generated/resources/assets/decisland/models/block/crinum.json new file mode 100644 index 0000000..bc46826 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/crinum.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/crinum" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/dandelion.json b/src/generated/resources/assets/decisland/models/block/dandelion.json new file mode 100644 index 0000000..1b1312b --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/dandelion.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/dandelion" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/deep_dandelion.json b/src/generated/resources/assets/decisland/models/block/deep_dandelion.json new file mode 100644 index 0000000..b0de148 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/deep_dandelion.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/deep_dandelion" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/depart_grass.json b/src/generated/resources/assets/decisland/models/block/depart_grass.json new file mode 100644 index 0000000..4b0b97a --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/depart_grass.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/depart_grass" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/desert_fan_flower.json b/src/generated/resources/assets/decisland/models/block/desert_fan_flower.json new file mode 100644 index 0000000..cb5e655 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/desert_fan_flower.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/desert_fan_flower" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/end_coal_ore.json b/src/generated/resources/assets/decisland/models/block/end_coal_ore.json new file mode 100644 index 0000000..ca4e6a1 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/end_coal_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "decisland:block/end_coal_ore" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/end_diamond_ore.json b/src/generated/resources/assets/decisland/models/block/end_diamond_ore.json new file mode 100644 index 0000000..fc9e51d --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/end_diamond_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "decisland:block/end_diamond_ore" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/end_emerald_ore.json b/src/generated/resources/assets/decisland/models/block/end_emerald_ore.json new file mode 100644 index 0000000..a39501b --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/end_emerald_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "decisland:block/end_emerald_ore" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/end_gold_ore.json b/src/generated/resources/assets/decisland/models/block/end_gold_ore.json new file mode 100644 index 0000000..6691015 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/end_gold_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "decisland:block/end_gold_ore" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/end_iron_ore.json b/src/generated/resources/assets/decisland/models/block/end_iron_ore.json new file mode 100644 index 0000000..f797899 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/end_iron_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "decisland:block/end_iron_ore" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/end_lapis_ore.json b/src/generated/resources/assets/decisland/models/block/end_lapis_ore.json new file mode 100644 index 0000000..2c2ed9c --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/end_lapis_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "decisland:block/end_lapis_ore" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/end_ore.json b/src/generated/resources/assets/decisland/models/block/end_ore.json new file mode 100644 index 0000000..37cb22d --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/end_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "decisland:block/end_ore" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/end_redstone_ore.json b/src/generated/resources/assets/decisland/models/block/end_redstone_ore.json new file mode 100644 index 0000000..1a5930d --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/end_redstone_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "decisland:block/end_redstone_ore" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/experience_flower_crop_stage0.json b/src/generated/resources/assets/decisland/models/block/experience_flower_crop_stage0.json new file mode 100644 index 0000000..f375c48 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/experience_flower_crop_stage0.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/experience_flower_crop_stage0" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/experience_flower_crop_stage1.json b/src/generated/resources/assets/decisland/models/block/experience_flower_crop_stage1.json new file mode 100644 index 0000000..421dc24 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/experience_flower_crop_stage1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/experience_flower_crop_stage1" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/experience_flower_crop_stage2.json b/src/generated/resources/assets/decisland/models/block/experience_flower_crop_stage2.json new file mode 100644 index 0000000..cde3b2d --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/experience_flower_crop_stage2.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/experience_flower_crop_stage2" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/fan_flower.json b/src/generated/resources/assets/decisland/models/block/fan_flower.json new file mode 100644 index 0000000..57b4443 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/fan_flower.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/fan_flower" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/flower_ghost_block.json b/src/generated/resources/assets/decisland/models/block/flower_ghost_block.json new file mode 100644 index 0000000..6e3f901 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/flower_ghost_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "decisland:block/flower_ghost_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/fritillary_crop_stage0.json b/src/generated/resources/assets/decisland/models/block/fritillary_crop_stage0.json new file mode 100644 index 0000000..f804fa6 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/fritillary_crop_stage0.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/fritillary_crop_stage0" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/fritillary_crop_stage1.json b/src/generated/resources/assets/decisland/models/block/fritillary_crop_stage1.json new file mode 100644 index 0000000..46ece58 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/fritillary_crop_stage1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/fritillary_crop_stage1" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/fritillary_crop_stage2.json b/src/generated/resources/assets/decisland/models/block/fritillary_crop_stage2.json new file mode 100644 index 0000000..4b202f6 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/fritillary_crop_stage2.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/fritillary_crop_stage2" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/fritillary_crop_stage3.json b/src/generated/resources/assets/decisland/models/block/fritillary_crop_stage3.json new file mode 100644 index 0000000..ebba367 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/fritillary_crop_stage3.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/fritillary_crop_stage3" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/fritillary_crop_stage4.json b/src/generated/resources/assets/decisland/models/block/fritillary_crop_stage4.json new file mode 100644 index 0000000..ec23671 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/fritillary_crop_stage4.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/fritillary_crop_stage4" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/frozen_mirror_flower.json b/src/generated/resources/assets/decisland/models/block/frozen_mirror_flower.json new file mode 100644 index 0000000..75d2845 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/frozen_mirror_flower.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/frozen_mirror_flower" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/gold_flower.json b/src/generated/resources/assets/decisland/models/block/gold_flower.json new file mode 100644 index 0000000..5fbaabb --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/gold_flower.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/gold_flower" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/golden_lamp.json b/src/generated/resources/assets/decisland/models/block/golden_lamp.json new file mode 100644 index 0000000..8334d53 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/golden_lamp.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/cube_bottom_top", + "textures": { + "bottom": "decisland:block/golden_lamp_bottom", + "side": "decisland:block/golden_lamp_side", + "top": "decisland:block/golden_lamp_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/hammer_flower.json b/src/generated/resources/assets/decisland/models/block/hammer_flower.json new file mode 100644 index 0000000..93f4bba --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/hammer_flower.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/hammer_flower" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/houttuynia_crop_stage0.json b/src/generated/resources/assets/decisland/models/block/houttuynia_crop_stage0.json new file mode 100644 index 0000000..5e4beac --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/houttuynia_crop_stage0.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/houttuynia_crop_stage0" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/houttuynia_crop_stage1.json b/src/generated/resources/assets/decisland/models/block/houttuynia_crop_stage1.json new file mode 100644 index 0000000..868bdee --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/houttuynia_crop_stage1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/houttuynia_crop_stage1" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/houttuynia_crop_stage2.json b/src/generated/resources/assets/decisland/models/block/houttuynia_crop_stage2.json new file mode 100644 index 0000000..c61d8da --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/houttuynia_crop_stage2.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/houttuynia_crop_stage2" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/houttuynia_crop_stage3.json b/src/generated/resources/assets/decisland/models/block/houttuynia_crop_stage3.json new file mode 100644 index 0000000..a0227c1 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/houttuynia_crop_stage3.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/houttuynia_crop_stage3" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/ice_brick_block.json b/src/generated/resources/assets/decisland/models/block/ice_brick_block.json new file mode 100644 index 0000000..bc3c103 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/ice_brick_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "decisland:block/ice_brick_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/ice_lantern.json b/src/generated/resources/assets/decisland/models/block/ice_lantern.json new file mode 100644 index 0000000..f9e3510 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/ice_lantern.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "decisland:block/ice_lantern" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/ice_mixed_brick.json b/src/generated/resources/assets/decisland/models/block/ice_mixed_brick.json new file mode 100644 index 0000000..b26a512 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/ice_mixed_brick.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "decisland:block/ice_mixed_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/lamp_flower.json b/src/generated/resources/assets/decisland/models/block/lamp_flower.json new file mode 100644 index 0000000..d54daca --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/lamp_flower.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/lamp_flower" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/lava_flower_crop_stage0.json b/src/generated/resources/assets/decisland/models/block/lava_flower_crop_stage0.json new file mode 100644 index 0000000..0764160 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/lava_flower_crop_stage0.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/lava_flower_crop_stage0" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/lava_flower_crop_stage1.json b/src/generated/resources/assets/decisland/models/block/lava_flower_crop_stage1.json new file mode 100644 index 0000000..76aac03 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/lava_flower_crop_stage1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/lava_flower_crop_stage1" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/lava_flower_crop_stage2.json b/src/generated/resources/assets/decisland/models/block/lava_flower_crop_stage2.json new file mode 100644 index 0000000..cf7fe58 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/lava_flower_crop_stage2.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/lava_flower_crop_stage2" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/lava_flower_crop_stage3.json b/src/generated/resources/assets/decisland/models/block/lava_flower_crop_stage3.json new file mode 100644 index 0000000..ce9fcb2 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/lava_flower_crop_stage3.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/lava_flower_crop_stage3" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/lava_flower_crop_stage4.json b/src/generated/resources/assets/decisland/models/block/lava_flower_crop_stage4.json new file mode 100644 index 0000000..81622c2 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/lava_flower_crop_stage4.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/lava_flower_crop_stage4" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/lava_ore.json b/src/generated/resources/assets/decisland/models/block/lava_ore.json new file mode 100644 index 0000000..c15ecb1 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/lava_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "decisland:block/lava_ore" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/leaves_flower.json b/src/generated/resources/assets/decisland/models/block/leaves_flower.json new file mode 100644 index 0000000..1ccb9a1 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/leaves_flower.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/leaves_flower" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/leek_crop_stage0.json b/src/generated/resources/assets/decisland/models/block/leek_crop_stage0.json new file mode 100644 index 0000000..6c73cf4 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/leek_crop_stage0.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/crop", + "textures": { + "crop": "decisland:block/leek_crop_stage0" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/leek_crop_stage1.json b/src/generated/resources/assets/decisland/models/block/leek_crop_stage1.json new file mode 100644 index 0000000..faba264 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/leek_crop_stage1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/crop", + "textures": { + "crop": "decisland:block/leek_crop_stage1" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/leek_crop_stage2.json b/src/generated/resources/assets/decisland/models/block/leek_crop_stage2.json new file mode 100644 index 0000000..8f1aac1 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/leek_crop_stage2.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/crop", + "textures": { + "crop": "decisland:block/leek_crop_stage2" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/light_obsidian.json b/src/generated/resources/assets/decisland/models/block/light_obsidian.json new file mode 100644 index 0000000..0b27673 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/light_obsidian.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "decisland:block/light_obsidian" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/lurk_bud.json b/src/generated/resources/assets/decisland/models/block/lurk_bud.json new file mode 100644 index 0000000..dfb2472 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/lurk_bud.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/lurk_bud" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/lurk_fruit.json b/src/generated/resources/assets/decisland/models/block/lurk_fruit.json new file mode 100644 index 0000000..29123df --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/lurk_fruit.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/lurk_fruit" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/lurk_grass.json b/src/generated/resources/assets/decisland/models/block/lurk_grass.json new file mode 100644 index 0000000..62ea7c2 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/lurk_grass.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/lurk_grass" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/lurk_log.json b/src/generated/resources/assets/decisland/models/block/lurk_log.json new file mode 100644 index 0000000..ac1e584 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/lurk_log.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "decisland:block/lurk_log_top", + "side": "decisland:block/lurk_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/lurk_mushroom.json b/src/generated/resources/assets/decisland/models/block/lurk_mushroom.json new file mode 100644 index 0000000..0f2e485 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/lurk_mushroom.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/lurk_mushroom" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/lurk_orchid.json b/src/generated/resources/assets/decisland/models/block/lurk_orchid.json new file mode 100644 index 0000000..b25198c --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/lurk_orchid.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/lurk_orchid" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/lurk_spring.json b/src/generated/resources/assets/decisland/models/block/lurk_spring.json new file mode 100644 index 0000000..fecd282 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/lurk_spring.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/lurk_spring" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/maple_flower.json b/src/generated/resources/assets/decisland/models/block/maple_flower.json new file mode 100644 index 0000000..23f8843 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/maple_flower.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/maple_flower" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/mock_strawberry.json b/src/generated/resources/assets/decisland/models/block/mock_strawberry.json new file mode 100644 index 0000000..c24ae3e --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/mock_strawberry.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/mock_strawberry" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/mooli_crop_stage0.json b/src/generated/resources/assets/decisland/models/block/mooli_crop_stage0.json new file mode 100644 index 0000000..de7acb8 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/mooli_crop_stage0.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/mooli_crop_stage0" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/mooli_crop_stage1.json b/src/generated/resources/assets/decisland/models/block/mooli_crop_stage1.json new file mode 100644 index 0000000..7b5b1ba --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/mooli_crop_stage1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/mooli_crop_stage1" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/mooli_crop_stage2.json b/src/generated/resources/assets/decisland/models/block/mooli_crop_stage2.json new file mode 100644 index 0000000..5c1447b --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/mooli_crop_stage2.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/mooli_crop_stage2" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/mooli_crop_stage3.json b/src/generated/resources/assets/decisland/models/block/mooli_crop_stage3.json new file mode 100644 index 0000000..672d194 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/mooli_crop_stage3.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/mooli_crop_stage3" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/mouth_flower.json b/src/generated/resources/assets/decisland/models/block/mouth_flower.json new file mode 100644 index 0000000..afe498f --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/mouth_flower.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/mouth_flower" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/nether_coal_ore.json b/src/generated/resources/assets/decisland/models/block/nether_coal_ore.json new file mode 100644 index 0000000..2fb93b5 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/nether_coal_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "decisland:block/nether_coal_ore" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/nether_dandelion.json b/src/generated/resources/assets/decisland/models/block/nether_dandelion.json new file mode 100644 index 0000000..e9a3759 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/nether_dandelion.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/nether_dandelion" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/nether_diamond_ore.json b/src/generated/resources/assets/decisland/models/block/nether_diamond_ore.json new file mode 100644 index 0000000..2d575f1 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/nether_diamond_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "decisland:block/nether_diamond_ore" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/nether_emerald_ore.json b/src/generated/resources/assets/decisland/models/block/nether_emerald_ore.json new file mode 100644 index 0000000..8d8f466 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/nether_emerald_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "decisland:block/nether_emerald_ore" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/nether_iron_ore.json b/src/generated/resources/assets/decisland/models/block/nether_iron_ore.json new file mode 100644 index 0000000..264a1e4 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/nether_iron_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "decisland:block/nether_iron_ore" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/nether_lapis_ore.json b/src/generated/resources/assets/decisland/models/block/nether_lapis_ore.json new file mode 100644 index 0000000..c9f5144 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/nether_lapis_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "decisland:block/nether_lapis_ore" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/nether_redstone_ore.json b/src/generated/resources/assets/decisland/models/block/nether_redstone_ore.json new file mode 100644 index 0000000..81778c6 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/nether_redstone_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "decisland:block/nether_redstone_ore" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/nether_stick_flower.json b/src/generated/resources/assets/decisland/models/block/nether_stick_flower.json new file mode 100644 index 0000000..5316502 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/nether_stick_flower.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/nether_stick_flower" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/nightmare_block.json b/src/generated/resources/assets/decisland/models/block/nightmare_block.json new file mode 100644 index 0000000..20b4c9b --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/nightmare_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "decisland:block/nightmare_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/pink_dandelion.json b/src/generated/resources/assets/decisland/models/block/pink_dandelion.json new file mode 100644 index 0000000..f5622df --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/pink_dandelion.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/pink_dandelion" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/pink_fan_flower.json b/src/generated/resources/assets/decisland/models/block/pink_fan_flower.json new file mode 100644 index 0000000..4109434 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/pink_fan_flower.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/pink_fan_flower" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/pink_flower_block.json b/src/generated/resources/assets/decisland/models/block/pink_flower_block.json new file mode 100644 index 0000000..7143b58 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/pink_flower_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "decisland:block/pink_flower_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/red_flower_block.json b/src/generated/resources/assets/decisland/models/block/red_flower_block.json new file mode 100644 index 0000000..3a78fff --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/red_flower_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "decisland:block/red_flower_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/red_gem_ore.json b/src/generated/resources/assets/decisland/models/block/red_gem_ore.json new file mode 100644 index 0000000..ed1f3c9 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/red_gem_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "decisland:block/red_gem_ore" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/red_spider_lily.json b/src/generated/resources/assets/decisland/models/block/red_spider_lily.json new file mode 100644 index 0000000..92b645a --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/red_spider_lily.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/red_spider_lily" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/red_stonebrick.json b/src/generated/resources/assets/decisland/models/block/red_stonebrick.json new file mode 100644 index 0000000..52b495d --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/red_stonebrick.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "decisland:block/red_stonebrick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/rice_crop_stage0.json b/src/generated/resources/assets/decisland/models/block/rice_crop_stage0.json new file mode 100644 index 0000000..3890ee9 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/rice_crop_stage0.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/crop", + "textures": { + "crop": "decisland:block/rice_crop_stage0" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/rice_crop_stage1.json b/src/generated/resources/assets/decisland/models/block/rice_crop_stage1.json new file mode 100644 index 0000000..35bab48 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/rice_crop_stage1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/crop", + "textures": { + "crop": "decisland:block/rice_crop_stage1" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/rice_crop_stage2.json b/src/generated/resources/assets/decisland/models/block/rice_crop_stage2.json new file mode 100644 index 0000000..d3c1dc0 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/rice_crop_stage2.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/crop", + "textures": { + "crop": "decisland:block/rice_crop_stage2" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/rice_crop_stage3.json b/src/generated/resources/assets/decisland/models/block/rice_crop_stage3.json new file mode 100644 index 0000000..5993f5e --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/rice_crop_stage3.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/crop", + "textures": { + "crop": "decisland:block/rice_crop_stage3" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/rice_crop_stage4.json b/src/generated/resources/assets/decisland/models/block/rice_crop_stage4.json new file mode 100644 index 0000000..c61f1f6 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/rice_crop_stage4.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/crop", + "textures": { + "crop": "decisland:block/rice_crop_stage4" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/rice_crop_stage5.json b/src/generated/resources/assets/decisland/models/block/rice_crop_stage5.json new file mode 100644 index 0000000..b12c117 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/rice_crop_stage5.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/crop", + "textures": { + "crop": "decisland:block/rice_crop_stage5" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/rosemary.json b/src/generated/resources/assets/decisland/models/block/rosemary.json new file mode 100644 index 0000000..6cbcae1 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/rosemary.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/rosemary" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/rotten_flesh_block.json b/src/generated/resources/assets/decisland/models/block/rotten_flesh_block.json new file mode 100644 index 0000000..c299fb8 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/rotten_flesh_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "decisland:block/rotten_flesh_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/russet_grass.json b/src/generated/resources/assets/decisland/models/block/russet_grass.json new file mode 100644 index 0000000..cae4f5c --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/russet_grass.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/russet_grass" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/smooth_amethyst_block.json b/src/generated/resources/assets/decisland/models/block/smooth_amethyst_block.json new file mode 100644 index 0000000..c94cc15 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/smooth_amethyst_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "decisland:block/smooth_amethyst_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/snow_flower.json b/src/generated/resources/assets/decisland/models/block/snow_flower.json new file mode 100644 index 0000000..a685a38 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/snow_flower.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/snow_flower" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/snow_lotus.json b/src/generated/resources/assets/decisland/models/block/snow_lotus.json new file mode 100644 index 0000000..3504d64 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/snow_lotus.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/snow_lotus" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/solidified_lava_block.json b/src/generated/resources/assets/decisland/models/block/solidified_lava_block.json new file mode 100644 index 0000000..1ab75d3 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/solidified_lava_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "decisland:block/solidified_lava_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/soul_soil_diamond_ore.json b/src/generated/resources/assets/decisland/models/block/soul_soil_diamond_ore.json new file mode 100644 index 0000000..a12f355 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/soul_soil_diamond_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "decisland:block/soul_soil_diamond_ore" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/soybean_crop_stage0.json b/src/generated/resources/assets/decisland/models/block/soybean_crop_stage0.json new file mode 100644 index 0000000..c0c3e3d --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/soybean_crop_stage0.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/crop", + "textures": { + "crop": "decisland:block/soybean_crop_stage0" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/soybean_crop_stage1.json b/src/generated/resources/assets/decisland/models/block/soybean_crop_stage1.json new file mode 100644 index 0000000..de812cc --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/soybean_crop_stage1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/crop", + "textures": { + "crop": "decisland:block/soybean_crop_stage1" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/soybean_crop_stage2.json b/src/generated/resources/assets/decisland/models/block/soybean_crop_stage2.json new file mode 100644 index 0000000..25ea887 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/soybean_crop_stage2.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/crop", + "textures": { + "crop": "decisland:block/soybean_crop_stage2" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/soybean_crop_stage3.json b/src/generated/resources/assets/decisland/models/block/soybean_crop_stage3.json new file mode 100644 index 0000000..86fd0a7 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/soybean_crop_stage3.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/crop", + "textures": { + "crop": "decisland:block/soybean_crop_stage3" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/soybean_crop_stage4.json b/src/generated/resources/assets/decisland/models/block/soybean_crop_stage4.json new file mode 100644 index 0000000..336b1e9 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/soybean_crop_stage4.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/crop", + "textures": { + "crop": "decisland:block/soybean_crop_stage4" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/spark_flower.json b/src/generated/resources/assets/decisland/models/block/spark_flower.json new file mode 100644 index 0000000..a81f1bd --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/spark_flower.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/spark_flower" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/spell_flower.json b/src/generated/resources/assets/decisland/models/block/spell_flower.json new file mode 100644 index 0000000..9dae508 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/spell_flower.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/spell_flower" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/star_flower.json b/src/generated/resources/assets/decisland/models/block/star_flower.json new file mode 100644 index 0000000..acf7a8b --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/star_flower.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/star_flower" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/steel_block.json b/src/generated/resources/assets/decisland/models/block/steel_block.json new file mode 100644 index 0000000..3bcdabd --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/steel_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "decisland:block/steel_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/stick_flower.json b/src/generated/resources/assets/decisland/models/block/stick_flower.json new file mode 100644 index 0000000..4bbf514 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/stick_flower.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/stick_flower" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/stream_ore.json b/src/generated/resources/assets/decisland/models/block/stream_ore.json new file mode 100644 index 0000000..060b14d --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/stream_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "decisland:block/stream_ore" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/thyme.json b/src/generated/resources/assets/decisland/models/block/thyme.json new file mode 100644 index 0000000..65e4fbd --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/thyme.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/thyme" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/uranium_block.json b/src/generated/resources/assets/decisland/models/block/uranium_block.json new file mode 100644 index 0000000..033d41f --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/uranium_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "decisland:block/uranium_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/uranium_ore.json b/src/generated/resources/assets/decisland/models/block/uranium_ore.json new file mode 100644 index 0000000..f101539 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/uranium_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "decisland:block/uranium_ore" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/white_flower_block.json b/src/generated/resources/assets/decisland/models/block/white_flower_block.json new file mode 100644 index 0000000..cdb3142 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/white_flower_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "decisland:block/white_flower_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/wither_cone.json b/src/generated/resources/assets/decisland/models/block/wither_cone.json new file mode 100644 index 0000000..715488a --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/wither_cone.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/wither_cone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/yellow_butterfly_flower.json b/src/generated/resources/assets/decisland/models/block/yellow_butterfly_flower.json new file mode 100644 index 0000000..2045b49 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/yellow_butterfly_flower.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "decisland:block/yellow_butterfly_flower" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/block/yellow_flower_block.json b/src/generated/resources/assets/decisland/models/block/yellow_flower_block.json new file mode 100644 index 0000000..6ac8757 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/block/yellow_flower_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "decisland:block/yellow_flower_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/a_bowl_of_rice.json b/src/generated/resources/assets/decisland/models/item/a_bowl_of_rice.json new file mode 100644 index 0000000..2361547 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/a_bowl_of_rice.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/a_bowl_of_rice" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/a_piece_of_salmon.json b/src/generated/resources/assets/decisland/models/item/a_piece_of_salmon.json new file mode 100644 index 0000000..5719d0e --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/a_piece_of_salmon.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/a_piece_of_salmon" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/absolute_zero.json b/src/generated/resources/assets/decisland/models/item/absolute_zero.json new file mode 100644 index 0000000..c927a3e --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/absolute_zero.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/absolute_zero" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/abyssal_controller_mask.json b/src/generated/resources/assets/decisland/models/item/abyssal_controller_mask.json new file mode 100644 index 0000000..02c4811 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/abyssal_controller_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/abyssal_controller_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/agent_mask.json b/src/generated/resources/assets/decisland/models/item/agent_mask.json new file mode 100644 index 0000000..55f374b --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/agent_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/agent_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/alchemic_stone.json b/src/generated/resources/assets/decisland/models/item/alchemic_stone.json new file mode 100644 index 0000000..dbbe9ae --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/alchemic_stone.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/alchemic_stone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/alex_mask.json b/src/generated/resources/assets/decisland/models/item/alex_mask.json new file mode 100644 index 0000000..823cce3 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/alex_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/alex_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/allay_mask.json b/src/generated/resources/assets/decisland/models/item/allay_mask.json new file mode 100644 index 0000000..60e1b71 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/allay_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/allay_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/amethyst_axe.json b/src/generated/resources/assets/decisland/models/item/amethyst_axe.json new file mode 100644 index 0000000..c19bae5 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/amethyst_axe.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/amethyst_axe" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/amethyst_boots.json b/src/generated/resources/assets/decisland/models/item/amethyst_boots.json new file mode 100644 index 0000000..82b37c6 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/amethyst_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/amethyst_boots" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/amethyst_chestplate.json b/src/generated/resources/assets/decisland/models/item/amethyst_chestplate.json new file mode 100644 index 0000000..3234aa0 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/amethyst_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/amethyst_chestplate" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/amethyst_dagger.json b/src/generated/resources/assets/decisland/models/item/amethyst_dagger.json new file mode 100644 index 0000000..3db0bf7 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/amethyst_dagger.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/amethyst_dagger" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/amethyst_dart.json b/src/generated/resources/assets/decisland/models/item/amethyst_dart.json new file mode 100644 index 0000000..5646948 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/amethyst_dart.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/amethyst_dart" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/amethyst_helmet.json b/src/generated/resources/assets/decisland/models/item/amethyst_helmet.json new file mode 100644 index 0000000..74d0048 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/amethyst_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/amethyst_helmet" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/amethyst_lantern.json b/src/generated/resources/assets/decisland/models/item/amethyst_lantern.json new file mode 100644 index 0000000..2fa970f --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/amethyst_lantern.json @@ -0,0 +1,3 @@ +{ + "parent": "decisland:block/amethyst_lantern" +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/amethyst_leggings.json b/src/generated/resources/assets/decisland/models/item/amethyst_leggings.json new file mode 100644 index 0000000..f18d20b --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/amethyst_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/amethyst_leggings" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/amethyst_pickaxe.json b/src/generated/resources/assets/decisland/models/item/amethyst_pickaxe.json new file mode 100644 index 0000000..c7501d6 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/amethyst_pickaxe.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/amethyst_pickaxe" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/amethyst_ray_staff.json b/src/generated/resources/assets/decisland/models/item/amethyst_ray_staff.json new file mode 100644 index 0000000..42fe9ed --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/amethyst_ray_staff.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/amethyst_ray_staff" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/amethyst_sword.json b/src/generated/resources/assets/decisland/models/item/amethyst_sword.json new file mode 100644 index 0000000..4119d96 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/amethyst_sword.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/amethyst_sword" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/ancient_ice.json b/src/generated/resources/assets/decisland/models/item/ancient_ice.json new file mode 100644 index 0000000..894a5e0 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/ancient_ice.json @@ -0,0 +1,3 @@ +{ + "parent": "decisland:block/ancient_ice" +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/apple_juice.json b/src/generated/resources/assets/decisland/models/item/apple_juice.json new file mode 100644 index 0000000..1cb9386 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/apple_juice.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/apple_juice" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/apple_pie.json b/src/generated/resources/assets/decisland/models/item/apple_pie.json new file mode 100644 index 0000000..3d1cd42 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/apple_pie.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/apple_pie" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/archer_bullet_bag.json b/src/generated/resources/assets/decisland/models/item/archer_bullet_bag.json new file mode 100644 index 0000000..2bb60f8 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/archer_bullet_bag.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/archer_bullet_bag" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/archer_hat.json b/src/generated/resources/assets/decisland/models/item/archer_hat.json new file mode 100644 index 0000000..ad1f4f6 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/archer_hat.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/archer_hat" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/archer_stones_bag.json b/src/generated/resources/assets/decisland/models/item/archer_stones_bag.json new file mode 100644 index 0000000..6324b0a --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/archer_stones_bag.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/archer_stones_bag" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/arctic_fox_mask.json b/src/generated/resources/assets/decisland/models/item/arctic_fox_mask.json new file mode 100644 index 0000000..8baab39 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/arctic_fox_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/arctic_fox_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/ash.json b/src/generated/resources/assets/decisland/models/item/ash.json new file mode 100644 index 0000000..16b0828 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/ash.json @@ -0,0 +1,3 @@ +{ + "parent": "decisland:block/ash" +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/ash_blaze_mask.json b/src/generated/resources/assets/decisland/models/item/ash_blaze_mask.json new file mode 100644 index 0000000..042fd70 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/ash_blaze_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/ash_blaze_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/ash_key.json b/src/generated/resources/assets/decisland/models/item/ash_key.json new file mode 100644 index 0000000..5c922c9 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/ash_key.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/ash_key" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/ash_knight_mask.json b/src/generated/resources/assets/decisland/models/item/ash_knight_mask.json new file mode 100644 index 0000000..13c1b21 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/ash_knight_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/ash_knight_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/ash_pufferfish.json b/src/generated/resources/assets/decisland/models/item/ash_pufferfish.json new file mode 100644 index 0000000..66777ae --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/ash_pufferfish.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/ash_pufferfish" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/ash_pufferfish_mask.json b/src/generated/resources/assets/decisland/models/item/ash_pufferfish_mask.json new file mode 100644 index 0000000..f23073f --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/ash_pufferfish_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/ash_pufferfish_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/autumn_leaves.json b/src/generated/resources/assets/decisland/models/item/autumn_leaves.json new file mode 100644 index 0000000..338741b --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/autumn_leaves.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/autumn_leaves" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/axolotl_blue_mask.json b/src/generated/resources/assets/decisland/models/item/axolotl_blue_mask.json new file mode 100644 index 0000000..479de2c --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/axolotl_blue_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/axolotl_blue_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/axolotl_cyan_mask.json b/src/generated/resources/assets/decisland/models/item/axolotl_cyan_mask.json new file mode 100644 index 0000000..7bdbd63 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/axolotl_cyan_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/axolotl_cyan_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/axolotl_gold_mask.json b/src/generated/resources/assets/decisland/models/item/axolotl_gold_mask.json new file mode 100644 index 0000000..07e0e3a --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/axolotl_gold_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/axolotl_gold_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/axolotl_lucy_mask.json b/src/generated/resources/assets/decisland/models/item/axolotl_lucy_mask.json new file mode 100644 index 0000000..fe9d8c5 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/axolotl_lucy_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/axolotl_lucy_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/axolotl_wild_mask.json b/src/generated/resources/assets/decisland/models/item/axolotl_wild_mask.json new file mode 100644 index 0000000..4f246ff --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/axolotl_wild_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/axolotl_wild_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/baby_blue_eyes_flower.json b/src/generated/resources/assets/decisland/models/item/baby_blue_eyes_flower.json new file mode 100644 index 0000000..5e60b3d --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/baby_blue_eyes_flower.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:block/baby_blue_eyes_flower" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/balloon_flower.json b/src/generated/resources/assets/decisland/models/item/balloon_flower.json new file mode 100644 index 0000000..36ea702 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/balloon_flower.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:block/balloon_flower" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/bamboo_katana.json b/src/generated/resources/assets/decisland/models/item/bamboo_katana.json new file mode 100644 index 0000000..a19b98c --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/bamboo_katana.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/bamboo_katana" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/bat_bait.json b/src/generated/resources/assets/decisland/models/item/bat_bait.json new file mode 100644 index 0000000..9ba481e --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/bat_bait.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/bat_bait" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/bat_mask.json b/src/generated/resources/assets/decisland/models/item/bat_mask.json new file mode 100644 index 0000000..96e694f --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/bat_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/bat_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/bat_wing.json b/src/generated/resources/assets/decisland/models/item/bat_wing.json new file mode 100644 index 0000000..4f32af0 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/bat_wing.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/bat_wing" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/bee_mask.json b/src/generated/resources/assets/decisland/models/item/bee_mask.json new file mode 100644 index 0000000..ff35060 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/bee_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/bee_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/bizarre_chilli.json b/src/generated/resources/assets/decisland/models/item/bizarre_chilli.json new file mode 100644 index 0000000..db30d2f --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/bizarre_chilli.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/bizarre_chilli" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/bizarre_chilli_seeds.json b/src/generated/resources/assets/decisland/models/item/bizarre_chilli_seeds.json new file mode 100644 index 0000000..aff4e6f --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/bizarre_chilli_seeds.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/bizarre_chilli_seeds" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/black_courtesy.json b/src/generated/resources/assets/decisland/models/item/black_courtesy.json new file mode 100644 index 0000000..5b368a1 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/black_courtesy.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/black_courtesy" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/black_flower_block.json b/src/generated/resources/assets/decisland/models/item/black_flower_block.json new file mode 100644 index 0000000..6ceb4c5 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/black_flower_block.json @@ -0,0 +1,3 @@ +{ + "parent": "decisland:block/black_flower_block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/black_shoes.json b/src/generated/resources/assets/decisland/models/item/black_shoes.json new file mode 100644 index 0000000..c14d83b --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/black_shoes.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/black_shoes" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/black_shorts.json b/src/generated/resources/assets/decisland/models/item/black_shorts.json new file mode 100644 index 0000000..71fa000 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/black_shorts.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/black_shorts" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/blaze_mask.json b/src/generated/resources/assets/decisland/models/item/blaze_mask.json new file mode 100644 index 0000000..a741dc9 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/blaze_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/blaze_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/blizzard_staff.json b/src/generated/resources/assets/decisland/models/item/blizzard_staff.json new file mode 100644 index 0000000..e9415c0 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/blizzard_staff.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/blizzard_staff" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/blizzard_sword.json b/src/generated/resources/assets/decisland/models/item/blizzard_sword.json new file mode 100644 index 0000000..7050d8e --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/blizzard_sword.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/blizzard_sword" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/blood_bullet_bag.json b/src/generated/resources/assets/decisland/models/item/blood_bullet_bag.json new file mode 100644 index 0000000..e78bbb3 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/blood_bullet_bag.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/blood_bullet_bag" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/blood_mare.json b/src/generated/resources/assets/decisland/models/item/blood_mare.json new file mode 100644 index 0000000..918e3c6 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/blood_mare.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/blood_mare" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/blood_sickle.json b/src/generated/resources/assets/decisland/models/item/blood_sickle.json new file mode 100644 index 0000000..c7b1925 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/blood_sickle.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/blood_sickle" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/blood_worm.json b/src/generated/resources/assets/decisland/models/item/blood_worm.json new file mode 100644 index 0000000..82761ec --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/blood_worm.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/blood_worm" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/blue_cat_ears.json b/src/generated/resources/assets/decisland/models/item/blue_cat_ears.json new file mode 100644 index 0000000..fad2113 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/blue_cat_ears.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/blue_cat_ears" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/blue_flower_block.json b/src/generated/resources/assets/decisland/models/item/blue_flower_block.json new file mode 100644 index 0000000..6f902b2 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/blue_flower_block.json @@ -0,0 +1,3 @@ +{ + "parent": "decisland:block/blue_flower_block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/blue_gem.json b/src/generated/resources/assets/decisland/models/item/blue_gem.json new file mode 100644 index 0000000..5f8fab0 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/blue_gem.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/blue_gem" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/blue_gem_debris.json b/src/generated/resources/assets/decisland/models/item/blue_gem_debris.json new file mode 100644 index 0000000..c984cbc --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/blue_gem_debris.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/blue_gem_debris" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/blue_gem_hat.json b/src/generated/resources/assets/decisland/models/item/blue_gem_hat.json new file mode 100644 index 0000000..bdf8d94 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/blue_gem_hat.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/blue_gem_hat" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/blue_gem_ore.json b/src/generated/resources/assets/decisland/models/item/blue_gem_ore.json new file mode 100644 index 0000000..4960d0b --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/blue_gem_ore.json @@ -0,0 +1,3 @@ +{ + "parent": "decisland:block/blue_gem_ore" +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/blue_ice_brick_block.json b/src/generated/resources/assets/decisland/models/item/blue_ice_brick_block.json new file mode 100644 index 0000000..9a0a1a4 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/blue_ice_brick_block.json @@ -0,0 +1,3 @@ +{ + "parent": "decisland:block/blue_ice_brick_block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/blue_jellyfish.json b/src/generated/resources/assets/decisland/models/item/blue_jellyfish.json new file mode 100644 index 0000000..fc08c63 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/blue_jellyfish.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/blue_jellyfish" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/bone_sword.json b/src/generated/resources/assets/decisland/models/item/bone_sword.json new file mode 100644 index 0000000..9781ec1 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/bone_sword.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/bone_sword" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/book_of_deep.json b/src/generated/resources/assets/decisland/models/item/book_of_deep.json new file mode 100644 index 0000000..46d147c --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/book_of_deep.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/book_of_deep" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/boomber_mask.json b/src/generated/resources/assets/decisland/models/item/boomber_mask.json new file mode 100644 index 0000000..e186f43 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/boomber_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/boomber_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/bracken.json b/src/generated/resources/assets/decisland/models/item/bracken.json new file mode 100644 index 0000000..70524c9 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/bracken.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/bracken" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/brain_rice.json b/src/generated/resources/assets/decisland/models/item/brain_rice.json new file mode 100644 index 0000000..97156cb --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/brain_rice.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/brain_rice" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/breeze_flower.json b/src/generated/resources/assets/decisland/models/item/breeze_flower.json new file mode 100644 index 0000000..8b5815e --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/breeze_flower.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:block/breeze_flower" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/brown_bear_mask.json b/src/generated/resources/assets/decisland/models/item/brown_bear_mask.json new file mode 100644 index 0000000..b2940b0 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/brown_bear_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/brown_bear_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/brown_mooshroom_mask.json b/src/generated/resources/assets/decisland/models/item/brown_mooshroom_mask.json new file mode 100644 index 0000000..9e162ee --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/brown_mooshroom_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/brown_mooshroom_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/bullet_bag.json b/src/generated/resources/assets/decisland/models/item/bullet_bag.json new file mode 100644 index 0000000..8364734 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/bullet_bag.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/bullet_bag" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/butter_flower.json b/src/generated/resources/assets/decisland/models/item/butter_flower.json new file mode 100644 index 0000000..d5f4010 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/butter_flower.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:block/butter_flower" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/butterfly_pea.json b/src/generated/resources/assets/decisland/models/item/butterfly_pea.json new file mode 100644 index 0000000..09d7cc7 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/butterfly_pea.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:block/butterfly_pea" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/cactus_sword.json b/src/generated/resources/assets/decisland/models/item/cactus_sword.json new file mode 100644 index 0000000..cf3f560 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/cactus_sword.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/cactus_sword" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/camouflage_pants.json b/src/generated/resources/assets/decisland/models/item/camouflage_pants.json new file mode 100644 index 0000000..4b33304 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/camouflage_pants.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/camouflage_pants" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/candy.json b/src/generated/resources/assets/decisland/models/item/candy.json new file mode 100644 index 0000000..431832e --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/candy.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/candy" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/candy_block.json b/src/generated/resources/assets/decisland/models/item/candy_block.json new file mode 100644 index 0000000..4000ccb --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/candy_block.json @@ -0,0 +1,3 @@ +{ + "parent": "decisland:block/candy_block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/candy_cane.json b/src/generated/resources/assets/decisland/models/item/candy_cane.json new file mode 100644 index 0000000..6672c4e --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/candy_cane.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/candy_cane" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/cave_spider_mask.json b/src/generated/resources/assets/decisland/models/item/cave_spider_mask.json new file mode 100644 index 0000000..03df796 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/cave_spider_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/cave_spider_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/challenge_of_ash.json b/src/generated/resources/assets/decisland/models/item/challenge_of_ash.json new file mode 100644 index 0000000..1ab79e7 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/challenge_of_ash.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/challenge_of_ash" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/chicken_mask.json b/src/generated/resources/assets/decisland/models/item/chicken_mask.json new file mode 100644 index 0000000..e5cfc57 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/chicken_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/chicken_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/chiseled_ice_brick.json b/src/generated/resources/assets/decisland/models/item/chiseled_ice_brick.json new file mode 100644 index 0000000..73e0c42 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/chiseled_ice_brick.json @@ -0,0 +1,3 @@ +{ + "parent": "decisland:block/chiseled_ice_brick" +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/chocolate_cookie.json b/src/generated/resources/assets/decisland/models/item/chocolate_cookie.json new file mode 100644 index 0000000..1e55e56 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/chocolate_cookie.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/chocolate_cookie" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/chocolates.json b/src/generated/resources/assets/decisland/models/item/chocolates.json new file mode 100644 index 0000000..22c5710 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/chocolates.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/chocolates" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/christmas_cap.json b/src/generated/resources/assets/decisland/models/item/christmas_cap.json new file mode 100644 index 0000000..26e9796 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/christmas_cap.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/christmas_cap" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/cloud_flower.json b/src/generated/resources/assets/decisland/models/item/cloud_flower.json new file mode 100644 index 0000000..989c7ba --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/cloud_flower.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:block/cloud_flower" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/coal_fish.json b/src/generated/resources/assets/decisland/models/item/coal_fish.json new file mode 100644 index 0000000..cf7b1fd --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/coal_fish.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/coal_fish" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/coal_nugget.json b/src/generated/resources/assets/decisland/models/item/coal_nugget.json new file mode 100644 index 0000000..f52da63 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/coal_nugget.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/coal_nugget" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/cob.json b/src/generated/resources/assets/decisland/models/item/cob.json new file mode 100644 index 0000000..6ef4310 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/cob.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/cob" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/coffee_of_lileyi.json b/src/generated/resources/assets/decisland/models/item/coffee_of_lileyi.json new file mode 100644 index 0000000..3504f0a --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/coffee_of_lileyi.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/coffee_of_lileyi" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/complete_bat_wing.json b/src/generated/resources/assets/decisland/models/item/complete_bat_wing.json new file mode 100644 index 0000000..a2d4ce8 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/complete_bat_wing.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/complete_bat_wing" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/compress_flower_block.json b/src/generated/resources/assets/decisland/models/item/compress_flower_block.json new file mode 100644 index 0000000..bd42f9f --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/compress_flower_block.json @@ -0,0 +1,3 @@ +{ + "parent": "decisland:block/compress_flower_block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/compressed_ice.json b/src/generated/resources/assets/decisland/models/item/compressed_ice.json new file mode 100644 index 0000000..9b4890e --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/compressed_ice.json @@ -0,0 +1,3 @@ +{ + "parent": "decisland:block/compressed_ice" +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/cooked_brain.json b/src/generated/resources/assets/decisland/models/item/cooked_brain.json new file mode 100644 index 0000000..ff22c91 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/cooked_brain.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/cooked_brain" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/copper_battleaxe.json b/src/generated/resources/assets/decisland/models/item/copper_battleaxe.json new file mode 100644 index 0000000..af81752 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/copper_battleaxe.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/copper_battleaxe" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/copper_dagger.json b/src/generated/resources/assets/decisland/models/item/copper_dagger.json new file mode 100644 index 0000000..3d546da --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/copper_dagger.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/copper_dagger" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/copper_dart.json b/src/generated/resources/assets/decisland/models/item/copper_dart.json new file mode 100644 index 0000000..aba9e0d --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/copper_dart.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/copper_dart" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/copper_sickle.json b/src/generated/resources/assets/decisland/models/item/copper_sickle.json new file mode 100644 index 0000000..fed1385 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/copper_sickle.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/copper_sickle" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/coral_axe.json b/src/generated/resources/assets/decisland/models/item/coral_axe.json new file mode 100644 index 0000000..8636d05 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/coral_axe.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/coral_axe" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/coral_dart.json b/src/generated/resources/assets/decisland/models/item/coral_dart.json new file mode 100644 index 0000000..fa93c47 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/coral_dart.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/coral_dart" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/coral_ingot.json b/src/generated/resources/assets/decisland/models/item/coral_ingot.json new file mode 100644 index 0000000..6714847 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/coral_ingot.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/coral_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/coral_pickaxe.json b/src/generated/resources/assets/decisland/models/item/coral_pickaxe.json new file mode 100644 index 0000000..a18e227 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/coral_pickaxe.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/coral_pickaxe" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/coral_sword.json b/src/generated/resources/assets/decisland/models/item/coral_sword.json new file mode 100644 index 0000000..c170f8c --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/coral_sword.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/coral_sword" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/corn.json b/src/generated/resources/assets/decisland/models/item/corn.json new file mode 100644 index 0000000..deb9ee2 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/corn.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/corn" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/corn_seeds.json b/src/generated/resources/assets/decisland/models/item/corn_seeds.json new file mode 100644 index 0000000..067cf7c --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/corn_seeds.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/corn_seeds" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/corrupted_sword.json b/src/generated/resources/assets/decisland/models/item/corrupted_sword.json new file mode 100644 index 0000000..48266e5 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/corrupted_sword.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/corrupted_sword" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/cow_mask.json b/src/generated/resources/assets/decisland/models/item/cow_mask.json new file mode 100644 index 0000000..6492524 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/cow_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/cow_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/crab_leg.json b/src/generated/resources/assets/decisland/models/item/crab_leg.json new file mode 100644 index 0000000..8505a20 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/crab_leg.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/crab_leg" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/crab_leg_cooked.json b/src/generated/resources/assets/decisland/models/item/crab_leg_cooked.json new file mode 100644 index 0000000..148786d --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/crab_leg_cooked.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/crab_leg_cooked" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/creeper_mask.json b/src/generated/resources/assets/decisland/models/item/creeper_mask.json new file mode 100644 index 0000000..7c4c3a1 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/creeper_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/creeper_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/crimson_lamp.json b/src/generated/resources/assets/decisland/models/item/crimson_lamp.json new file mode 100644 index 0000000..63f6d0a --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/crimson_lamp.json @@ -0,0 +1,3 @@ +{ + "parent": "decisland:block/crimson_lamp" +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/crimson_slime_mask.json b/src/generated/resources/assets/decisland/models/item/crimson_slime_mask.json new file mode 100644 index 0000000..802086e --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/crimson_slime_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/crimson_slime_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/crinum.json b/src/generated/resources/assets/decisland/models/item/crinum.json new file mode 100644 index 0000000..5791113 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/crinum.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:block/crinum" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/crying_boots.json b/src/generated/resources/assets/decisland/models/item/crying_boots.json new file mode 100644 index 0000000..f07a5cf --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/crying_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/crying_boots" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/crying_chestplate.json b/src/generated/resources/assets/decisland/models/item/crying_chestplate.json new file mode 100644 index 0000000..c3c6c59 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/crying_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/crying_chestplate" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/crying_helmet.json b/src/generated/resources/assets/decisland/models/item/crying_helmet.json new file mode 100644 index 0000000..e5468ff --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/crying_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/crying_helmet" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/crying_leggings.json b/src/generated/resources/assets/decisland/models/item/crying_leggings.json new file mode 100644 index 0000000..daedd9d --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/crying_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/crying_leggings" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/crystal_nucleus.json b/src/generated/resources/assets/decisland/models/item/crystal_nucleus.json new file mode 100644 index 0000000..eb0cec1 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/crystal_nucleus.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/crystal_nucleus" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/cudgel.json b/src/generated/resources/assets/decisland/models/item/cudgel.json new file mode 100644 index 0000000..6b4d5d6 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/cudgel.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/cudgel" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/dandelion.json b/src/generated/resources/assets/decisland/models/item/dandelion.json new file mode 100644 index 0000000..8518c12 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/dandelion.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:block/dandelion" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/dark_blue_jacket.json b/src/generated/resources/assets/decisland/models/item/dark_blue_jacket.json new file mode 100644 index 0000000..03a62a4 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/dark_blue_jacket.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/dark_blue_jacket" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/dark_debris.json b/src/generated/resources/assets/decisland/models/item/dark_debris.json new file mode 100644 index 0000000..e791470 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/dark_debris.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/dark_debris" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/dark_pearl.json b/src/generated/resources/assets/decisland/models/item/dark_pearl.json new file mode 100644 index 0000000..40724c1 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/dark_pearl.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/dark_pearl" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/dark_snow_man_mask.json b/src/generated/resources/assets/decisland/models/item/dark_snow_man_mask.json new file mode 100644 index 0000000..a92ec11 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/dark_snow_man_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/dark_snow_man_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/dark_stone.json b/src/generated/resources/assets/decisland/models/item/dark_stone.json new file mode 100644 index 0000000..d6b0d0f --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/dark_stone.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/dark_stone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/dark_werewolf_mask.json b/src/generated/resources/assets/decisland/models/item/dark_werewolf_mask.json new file mode 100644 index 0000000..5a167db --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/dark_werewolf_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/dark_werewolf_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/dark_zombie_mask.json b/src/generated/resources/assets/decisland/models/item/dark_zombie_mask.json new file mode 100644 index 0000000..b82500d --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/dark_zombie_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/dark_zombie_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/dead_wood_dagger.json b/src/generated/resources/assets/decisland/models/item/dead_wood_dagger.json new file mode 100644 index 0000000..e8af2cc --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/dead_wood_dagger.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/dead_wood_dagger" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/dead_wood_rapier.json b/src/generated/resources/assets/decisland/models/item/dead_wood_rapier.json new file mode 100644 index 0000000..422a333 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/dead_wood_rapier.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/dead_wood_rapier" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/decrepit_atlantis.json b/src/generated/resources/assets/decisland/models/item/decrepit_atlantis.json new file mode 100644 index 0000000..23a3ffe --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/decrepit_atlantis.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/decrepit_atlantis" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/deep_dandelion.json b/src/generated/resources/assets/decisland/models/item/deep_dandelion.json new file mode 100644 index 0000000..7379898 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/deep_dandelion.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:block/deep_dandelion" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/deep_staff.json b/src/generated/resources/assets/decisland/models/item/deep_staff.json new file mode 100644 index 0000000..73c3e6c --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/deep_staff.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/deep_staff" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/depart_grass.json b/src/generated/resources/assets/decisland/models/item/depart_grass.json new file mode 100644 index 0000000..035ae62 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/depart_grass.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:block/depart_grass" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/desert_fan_flower.json b/src/generated/resources/assets/decisland/models/item/desert_fan_flower.json new file mode 100644 index 0000000..905fea9 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/desert_fan_flower.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:block/desert_fan_flower" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/diamond_apple.json b/src/generated/resources/assets/decisland/models/item/diamond_apple.json new file mode 100644 index 0000000..2f415fe --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/diamond_apple.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/diamond_apple" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/diamond_apple_enchanted.json b/src/generated/resources/assets/decisland/models/item/diamond_apple_enchanted.json new file mode 100644 index 0000000..d3e9743 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/diamond_apple_enchanted.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/diamond_apple_enchanted" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/diamond_crystal_nucleus.json b/src/generated/resources/assets/decisland/models/item/diamond_crystal_nucleus.json new file mode 100644 index 0000000..8e9137e --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/diamond_crystal_nucleus.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/diamond_crystal_nucleus" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/diamond_dagger.json b/src/generated/resources/assets/decisland/models/item/diamond_dagger.json new file mode 100644 index 0000000..398a4da --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/diamond_dagger.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/diamond_dagger" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/diamond_dart.json b/src/generated/resources/assets/decisland/models/item/diamond_dart.json new file mode 100644 index 0000000..e7986d4 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/diamond_dart.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/diamond_dart" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/diamond_fish.json b/src/generated/resources/assets/decisland/models/item/diamond_fish.json new file mode 100644 index 0000000..65bb416 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/diamond_fish.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/diamond_fish" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/diamond_nugget.json b/src/generated/resources/assets/decisland/models/item/diamond_nugget.json new file mode 100644 index 0000000..e39e94e --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/diamond_nugget.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/diamond_nugget" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/diamond_ring.json b/src/generated/resources/assets/decisland/models/item/diamond_ring.json new file mode 100644 index 0000000..2fd785e --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/diamond_ring.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/diamond_ring" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/diamond_sickle.json b/src/generated/resources/assets/decisland/models/item/diamond_sickle.json new file mode 100644 index 0000000..aaad6ed --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/diamond_sickle.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/diamond_sickle" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/diamond_staff.json b/src/generated/resources/assets/decisland/models/item/diamond_staff.json new file mode 100644 index 0000000..7ce753a --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/diamond_staff.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/diamond_staff" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/dirt_boots.json b/src/generated/resources/assets/decisland/models/item/dirt_boots.json new file mode 100644 index 0000000..4a955a3 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/dirt_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/dirt_boots" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/dirt_chestplate.json b/src/generated/resources/assets/decisland/models/item/dirt_chestplate.json new file mode 100644 index 0000000..327f28a --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/dirt_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/dirt_chestplate" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/dirt_helmet.json b/src/generated/resources/assets/decisland/models/item/dirt_helmet.json new file mode 100644 index 0000000..7671ed6 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/dirt_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/dirt_helmet" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/dirt_leggings.json b/src/generated/resources/assets/decisland/models/item/dirt_leggings.json new file mode 100644 index 0000000..aaa798b --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/dirt_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/dirt_leggings" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/dolphin_mask.json b/src/generated/resources/assets/decisland/models/item/dolphin_mask.json new file mode 100644 index 0000000..3c369f5 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/dolphin_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/dolphin_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/drowned_mask.json b/src/generated/resources/assets/decisland/models/item/drowned_mask.json new file mode 100644 index 0000000..f437355 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/drowned_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/drowned_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/dust_destroyer.json b/src/generated/resources/assets/decisland/models/item/dust_destroyer.json new file mode 100644 index 0000000..0153544 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/dust_destroyer.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/dust_destroyer" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/dust_ring.json b/src/generated/resources/assets/decisland/models/item/dust_ring.json new file mode 100644 index 0000000..244d67c --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/dust_ring.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/dust_ring" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/elf_of_ash_mask.json b/src/generated/resources/assets/decisland/models/item/elf_of_ash_mask.json new file mode 100644 index 0000000..c326514 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/elf_of_ash_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/elf_of_ash_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/elf_of_chaos_mask.json b/src/generated/resources/assets/decisland/models/item/elf_of_chaos_mask.json new file mode 100644 index 0000000..387f84e --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/elf_of_chaos_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/elf_of_chaos_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/elf_of_deep_mask.json b/src/generated/resources/assets/decisland/models/item/elf_of_deep_mask.json new file mode 100644 index 0000000..1d028ef --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/elf_of_deep_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/elf_of_deep_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/elf_of_leaves_mask.json b/src/generated/resources/assets/decisland/models/item/elf_of_leaves_mask.json new file mode 100644 index 0000000..1edf5fd --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/elf_of_leaves_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/elf_of_leaves_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/emerald_apple.json b/src/generated/resources/assets/decisland/models/item/emerald_apple.json new file mode 100644 index 0000000..b4b61b9 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/emerald_apple.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/emerald_apple" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/emerald_apple_enchanted.json b/src/generated/resources/assets/decisland/models/item/emerald_apple_enchanted.json new file mode 100644 index 0000000..863ae3b --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/emerald_apple_enchanted.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/emerald_apple_enchanted" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/emerald_axe.json b/src/generated/resources/assets/decisland/models/item/emerald_axe.json new file mode 100644 index 0000000..4faae04 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/emerald_axe.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/emerald_axe" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/emerald_boots.json b/src/generated/resources/assets/decisland/models/item/emerald_boots.json new file mode 100644 index 0000000..7b53e6f --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/emerald_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/emerald_boots" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/emerald_chestplate.json b/src/generated/resources/assets/decisland/models/item/emerald_chestplate.json new file mode 100644 index 0000000..073e57a --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/emerald_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/emerald_chestplate" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/emerald_dagger.json b/src/generated/resources/assets/decisland/models/item/emerald_dagger.json new file mode 100644 index 0000000..9926d71 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/emerald_dagger.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/emerald_dagger" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/emerald_dart.json b/src/generated/resources/assets/decisland/models/item/emerald_dart.json new file mode 100644 index 0000000..41764ad --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/emerald_dart.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/emerald_dart" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/emerald_fish.json b/src/generated/resources/assets/decisland/models/item/emerald_fish.json new file mode 100644 index 0000000..5f7311c --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/emerald_fish.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/emerald_fish" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/emerald_helmet.json b/src/generated/resources/assets/decisland/models/item/emerald_helmet.json new file mode 100644 index 0000000..a0e1a28 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/emerald_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/emerald_helmet" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/emerald_leggings.json b/src/generated/resources/assets/decisland/models/item/emerald_leggings.json new file mode 100644 index 0000000..9ee766f --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/emerald_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/emerald_leggings" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/emerald_nugget.json b/src/generated/resources/assets/decisland/models/item/emerald_nugget.json new file mode 100644 index 0000000..38577b1 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/emerald_nugget.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/emerald_nugget" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/emerald_pickaxe.json b/src/generated/resources/assets/decisland/models/item/emerald_pickaxe.json new file mode 100644 index 0000000..70de1c2 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/emerald_pickaxe.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/emerald_pickaxe" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/emerald_ring.json b/src/generated/resources/assets/decisland/models/item/emerald_ring.json new file mode 100644 index 0000000..9aa1aad --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/emerald_ring.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/emerald_ring" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/emerald_staff.json b/src/generated/resources/assets/decisland/models/item/emerald_staff.json new file mode 100644 index 0000000..f598c3e --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/emerald_staff.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/emerald_staff" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/emerald_sword.json b/src/generated/resources/assets/decisland/models/item/emerald_sword.json new file mode 100644 index 0000000..fd63925 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/emerald_sword.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/emerald_sword" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/empty_totem.json b/src/generated/resources/assets/decisland/models/item/empty_totem.json new file mode 100644 index 0000000..882b400 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/empty_totem.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/empty_totem" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/end_coal_ore.json b/src/generated/resources/assets/decisland/models/item/end_coal_ore.json new file mode 100644 index 0000000..9bdc84f --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/end_coal_ore.json @@ -0,0 +1,3 @@ +{ + "parent": "decisland:block/end_coal_ore" +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/end_diamond_ore.json b/src/generated/resources/assets/decisland/models/item/end_diamond_ore.json new file mode 100644 index 0000000..5efac49 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/end_diamond_ore.json @@ -0,0 +1,3 @@ +{ + "parent": "decisland:block/end_diamond_ore" +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/end_emerald_ore.json b/src/generated/resources/assets/decisland/models/item/end_emerald_ore.json new file mode 100644 index 0000000..cac39f4 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/end_emerald_ore.json @@ -0,0 +1,3 @@ +{ + "parent": "decisland:block/end_emerald_ore" +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/end_gold_ore.json b/src/generated/resources/assets/decisland/models/item/end_gold_ore.json new file mode 100644 index 0000000..c3fafbb --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/end_gold_ore.json @@ -0,0 +1,3 @@ +{ + "parent": "decisland:block/end_gold_ore" +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/end_iron_ore.json b/src/generated/resources/assets/decisland/models/item/end_iron_ore.json new file mode 100644 index 0000000..f45f000 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/end_iron_ore.json @@ -0,0 +1,3 @@ +{ + "parent": "decisland:block/end_iron_ore" +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/end_lapis_ore.json b/src/generated/resources/assets/decisland/models/item/end_lapis_ore.json new file mode 100644 index 0000000..796672f --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/end_lapis_ore.json @@ -0,0 +1,3 @@ +{ + "parent": "decisland:block/end_lapis_ore" +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/end_ore.json b/src/generated/resources/assets/decisland/models/item/end_ore.json new file mode 100644 index 0000000..7e91aa5 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/end_ore.json @@ -0,0 +1,3 @@ +{ + "parent": "decisland:block/end_ore" +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/end_redstone_ore.json b/src/generated/resources/assets/decisland/models/item/end_redstone_ore.json new file mode 100644 index 0000000..c02f4b5 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/end_redstone_ore.json @@ -0,0 +1,3 @@ +{ + "parent": "decisland:block/end_redstone_ore" +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/end_stone_golem_mask.json b/src/generated/resources/assets/decisland/models/item/end_stone_golem_mask.json new file mode 100644 index 0000000..7e08351 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/end_stone_golem_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/end_stone_golem_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/ender_bone.json b/src/generated/resources/assets/decisland/models/item/ender_bone.json new file mode 100644 index 0000000..e4da9c2 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/ender_bone.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/ender_bone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/ender_breath.json b/src/generated/resources/assets/decisland/models/item/ender_breath.json new file mode 100644 index 0000000..3485ee9 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/ender_breath.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/ender_breath" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/ender_core.json b/src/generated/resources/assets/decisland/models/item/ender_core.json new file mode 100644 index 0000000..9e67330 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/ender_core.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/ender_core" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/ender_crystal_nucleus.json b/src/generated/resources/assets/decisland/models/item/ender_crystal_nucleus.json new file mode 100644 index 0000000..b76bb12 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/ender_crystal_nucleus.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/ender_crystal_nucleus" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/ender_egg.json b/src/generated/resources/assets/decisland/models/item/ender_egg.json new file mode 100644 index 0000000..e021159 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/ender_egg.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/ender_egg" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/ender_fish.json b/src/generated/resources/assets/decisland/models/item/ender_fish.json new file mode 100644 index 0000000..2afca72 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/ender_fish.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/ender_fish" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/ender_powder.json b/src/generated/resources/assets/decisland/models/item/ender_powder.json new file mode 100644 index 0000000..add0039 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/ender_powder.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/ender_powder" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/ender_ring.json b/src/generated/resources/assets/decisland/models/item/ender_ring.json new file mode 100644 index 0000000..1b64e20 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/ender_ring.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/ender_ring" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/ender_stone.json b/src/generated/resources/assets/decisland/models/item/ender_stone.json new file mode 100644 index 0000000..fd5c033 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/ender_stone.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/ender_stone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/ender_substance.json b/src/generated/resources/assets/decisland/models/item/ender_substance.json new file mode 100644 index 0000000..7fd9998 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/ender_substance.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/ender_substance" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/ender_witch_mask.json b/src/generated/resources/assets/decisland/models/item/ender_witch_mask.json new file mode 100644 index 0000000..b49e704 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/ender_witch_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/ender_witch_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/enderman_mask.json b/src/generated/resources/assets/decisland/models/item/enderman_mask.json new file mode 100644 index 0000000..5c7f6bc --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/enderman_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/enderman_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/energy_ray_staff.json b/src/generated/resources/assets/decisland/models/item/energy_ray_staff.json new file mode 100644 index 0000000..397f3eb --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/energy_ray_staff.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/energy_ray_staff" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/enriched_uranium.json b/src/generated/resources/assets/decisland/models/item/enriched_uranium.json new file mode 100644 index 0000000..84b4c79 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/enriched_uranium.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/enriched_uranium" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/entity_soul.json b/src/generated/resources/assets/decisland/models/item/entity_soul.json new file mode 100644 index 0000000..e1b5790 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/entity_soul.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/entity_soul" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/entity_soul_mask.json b/src/generated/resources/assets/decisland/models/item/entity_soul_mask.json new file mode 100644 index 0000000..2a9677c --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/entity_soul_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/entity_soul_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/es_clothes.json b/src/generated/resources/assets/decisland/models/item/es_clothes.json new file mode 100644 index 0000000..4edd6ae --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/es_clothes.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/es_clothes" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/es_pants.json b/src/generated/resources/assets/decisland/models/item/es_pants.json new file mode 100644 index 0000000..962d22a --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/es_pants.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/es_pants" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/es_shoes.json b/src/generated/resources/assets/decisland/models/item/es_shoes.json new file mode 100644 index 0000000..378ff7f --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/es_shoes.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/es_shoes" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/everlasting_winter_boots.json b/src/generated/resources/assets/decisland/models/item/everlasting_winter_boots.json new file mode 100644 index 0000000..cd0c40a --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/everlasting_winter_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/everlasting_winter_boots" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/everlasting_winter_chestplate.json b/src/generated/resources/assets/decisland/models/item/everlasting_winter_chestplate.json new file mode 100644 index 0000000..7315248 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/everlasting_winter_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/everlasting_winter_chestplate" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/everlasting_winter_dagger.json b/src/generated/resources/assets/decisland/models/item/everlasting_winter_dagger.json new file mode 100644 index 0000000..632ba67 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/everlasting_winter_dagger.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/everlasting_winter_dagger" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/everlasting_winter_dart.json b/src/generated/resources/assets/decisland/models/item/everlasting_winter_dart.json new file mode 100644 index 0000000..69c62d3 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/everlasting_winter_dart.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/everlasting_winter_dart" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/everlasting_winter_flintlock.json b/src/generated/resources/assets/decisland/models/item/everlasting_winter_flintlock.json new file mode 100644 index 0000000..7fce1f3 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/everlasting_winter_flintlock.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/everlasting_winter_flintlock" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/everlasting_winter_ghast_mask.json b/src/generated/resources/assets/decisland/models/item/everlasting_winter_ghast_mask.json new file mode 100644 index 0000000..dbfc661 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/everlasting_winter_ghast_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/everlasting_winter_ghast_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/everlasting_winter_helmet.json b/src/generated/resources/assets/decisland/models/item/everlasting_winter_helmet.json new file mode 100644 index 0000000..72ed437 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/everlasting_winter_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/everlasting_winter_helmet" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/everlasting_winter_ingot.json b/src/generated/resources/assets/decisland/models/item/everlasting_winter_ingot.json new file mode 100644 index 0000000..3ba203e --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/everlasting_winter_ingot.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/everlasting_winter_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/everlasting_winter_leggings.json b/src/generated/resources/assets/decisland/models/item/everlasting_winter_leggings.json new file mode 100644 index 0000000..db31930 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/everlasting_winter_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/everlasting_winter_leggings" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/everlasting_winter_sickle.json b/src/generated/resources/assets/decisland/models/item/everlasting_winter_sickle.json new file mode 100644 index 0000000..e58fead --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/everlasting_winter_sickle.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/everlasting_winter_sickle" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/everlasting_winter_staff.json b/src/generated/resources/assets/decisland/models/item/everlasting_winter_staff.json new file mode 100644 index 0000000..e9028df --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/everlasting_winter_staff.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/everlasting_winter_staff" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/everlasting_winter_stick.json b/src/generated/resources/assets/decisland/models/item/everlasting_winter_stick.json new file mode 100644 index 0000000..2a375ea --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/everlasting_winter_stick.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/everlasting_winter_stick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/everlasting_winter_sword.json b/src/generated/resources/assets/decisland/models/item/everlasting_winter_sword.json new file mode 100644 index 0000000..f62735d --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/everlasting_winter_sword.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/everlasting_winter_sword" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/evil_snow_man_mask.json b/src/generated/resources/assets/decisland/models/item/evil_snow_man_mask.json new file mode 100644 index 0000000..51264ee --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/evil_snow_man_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/evil_snow_man_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/experience_book.json b/src/generated/resources/assets/decisland/models/item/experience_book.json new file mode 100644 index 0000000..68e7c54 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/experience_book.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/experience_book" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/experience_book_empty.json b/src/generated/resources/assets/decisland/models/item/experience_book_empty.json new file mode 100644 index 0000000..6b2add8 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/experience_book_empty.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/experience_book_empty" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/experience_book_pro_empty.json b/src/generated/resources/assets/decisland/models/item/experience_book_pro_empty.json new file mode 100644 index 0000000..3b0d3f2 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/experience_book_pro_empty.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/experience_book_pro_empty" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/experience_flower_seeds.json b/src/generated/resources/assets/decisland/models/item/experience_flower_seeds.json new file mode 100644 index 0000000..992f32a --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/experience_flower_seeds.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/experience_flower_seeds" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/eye_of_nature.json b/src/generated/resources/assets/decisland/models/item/eye_of_nature.json new file mode 100644 index 0000000..62f0ba3 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/eye_of_nature.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/eye_of_nature" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/fan_flower.json b/src/generated/resources/assets/decisland/models/item/fan_flower.json new file mode 100644 index 0000000..5c92d8b --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/fan_flower.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:block/fan_flower" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/fang_mace.json b/src/generated/resources/assets/decisland/models/item/fang_mace.json new file mode 100644 index 0000000..cebdc31 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/fang_mace.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/fang_mace" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/farmer_hat.json b/src/generated/resources/assets/decisland/models/item/farmer_hat.json new file mode 100644 index 0000000..1c88713 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/farmer_hat.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/farmer_hat" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/final_crystal_nucleus.json b/src/generated/resources/assets/decisland/models/item/final_crystal_nucleus.json new file mode 100644 index 0000000..deff80e --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/final_crystal_nucleus.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/final_crystal_nucleus" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/fire_ring.json b/src/generated/resources/assets/decisland/models/item/fire_ring.json new file mode 100644 index 0000000..feab27a --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/fire_ring.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/fire_ring" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/firefly_bottle.json b/src/generated/resources/assets/decisland/models/item/firefly_bottle.json new file mode 100644 index 0000000..2bdf1ac --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/firefly_bottle.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/firefly_bottle" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/flare_magic_book.json b/src/generated/resources/assets/decisland/models/item/flare_magic_book.json new file mode 100644 index 0000000..36eca31 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/flare_magic_book.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/flare_magic_book" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/flintlock.json b/src/generated/resources/assets/decisland/models/item/flintlock.json new file mode 100644 index 0000000..0a7f64c --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/flintlock.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/flintlock" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/flintlock_bullet.json b/src/generated/resources/assets/decisland/models/item/flintlock_bullet.json new file mode 100644 index 0000000..660d8b9 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/flintlock_bullet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/flintlock_bullet" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/flintlock_pro.json b/src/generated/resources/assets/decisland/models/item/flintlock_pro.json new file mode 100644 index 0000000..c49df8e --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/flintlock_pro.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/flintlock_pro" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/flower_essence.json b/src/generated/resources/assets/decisland/models/item/flower_essence.json new file mode 100644 index 0000000..cfefd9f --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/flower_essence.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/flower_essence" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/following_particle.json b/src/generated/resources/assets/decisland/models/item/following_particle.json new file mode 100644 index 0000000..b53a0f3 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/following_particle.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/following_particle" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/formal_style_clothes.json b/src/generated/resources/assets/decisland/models/item/formal_style_clothes.json new file mode 100644 index 0000000..f48922e --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/formal_style_clothes.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/formal_style_clothes" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/formal_style_pants.json b/src/generated/resources/assets/decisland/models/item/formal_style_pants.json new file mode 100644 index 0000000..bdb0df0 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/formal_style_pants.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/formal_style_pants" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/fox_mask.json b/src/generated/resources/assets/decisland/models/item/fox_mask.json new file mode 100644 index 0000000..a3bf861 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/fox_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/fox_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/frank_mask.json b/src/generated/resources/assets/decisland/models/item/frank_mask.json new file mode 100644 index 0000000..d2cd23a --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/frank_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/frank_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/fried_egg.json b/src/generated/resources/assets/decisland/models/item/fried_egg.json new file mode 100644 index 0000000..c38bd6c --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/fried_egg.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/fried_egg" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/fried_melon_seed.json b/src/generated/resources/assets/decisland/models/item/fried_melon_seed.json new file mode 100644 index 0000000..f3d8069 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/fried_melon_seed.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/fried_melon_seed" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/fritillary.json b/src/generated/resources/assets/decisland/models/item/fritillary.json new file mode 100644 index 0000000..d1bcf5b --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/fritillary.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/fritillary" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/fritillary_seeds.json b/src/generated/resources/assets/decisland/models/item/fritillary_seeds.json new file mode 100644 index 0000000..a8f66a5 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/fritillary_seeds.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/fritillary_seeds" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/frozen_ball.json b/src/generated/resources/assets/decisland/models/item/frozen_ball.json new file mode 100644 index 0000000..39bb1c1 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/frozen_ball.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/frozen_ball" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/frozen_boots.json b/src/generated/resources/assets/decisland/models/item/frozen_boots.json new file mode 100644 index 0000000..19b34b6 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/frozen_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/frozen_boots" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/frozen_chestplate.json b/src/generated/resources/assets/decisland/models/item/frozen_chestplate.json new file mode 100644 index 0000000..3975834 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/frozen_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/frozen_chestplate" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/frozen_dart.json b/src/generated/resources/assets/decisland/models/item/frozen_dart.json new file mode 100644 index 0000000..b06f632 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/frozen_dart.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/frozen_dart" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/frozen_fish.json b/src/generated/resources/assets/decisland/models/item/frozen_fish.json new file mode 100644 index 0000000..6b941ac --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/frozen_fish.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/frozen_fish" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/frozen_helmet.json b/src/generated/resources/assets/decisland/models/item/frozen_helmet.json new file mode 100644 index 0000000..0428943 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/frozen_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/frozen_helmet" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/frozen_leggings.json b/src/generated/resources/assets/decisland/models/item/frozen_leggings.json new file mode 100644 index 0000000..c3a53d0 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/frozen_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/frozen_leggings" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/frozen_mirror_flower.json b/src/generated/resources/assets/decisland/models/item/frozen_mirror_flower.json new file mode 100644 index 0000000..9b82692 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/frozen_mirror_flower.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:block/frozen_mirror_flower" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/frozen_power.json b/src/generated/resources/assets/decisland/models/item/frozen_power.json new file mode 100644 index 0000000..3e73e1f --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/frozen_power.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/frozen_power" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/frozen_power_debris.json b/src/generated/resources/assets/decisland/models/item/frozen_power_debris.json new file mode 100644 index 0000000..03e507b --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/frozen_power_debris.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/frozen_power_debris" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/frozen_ray_staff.json b/src/generated/resources/assets/decisland/models/item/frozen_ray_staff.json new file mode 100644 index 0000000..b46a711 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/frozen_ray_staff.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/frozen_ray_staff" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/frozen_spider_mask.json b/src/generated/resources/assets/decisland/models/item/frozen_spider_mask.json new file mode 100644 index 0000000..d563ba0 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/frozen_spider_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/frozen_spider_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/frozen_staff.json b/src/generated/resources/assets/decisland/models/item/frozen_staff.json new file mode 100644 index 0000000..644071d --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/frozen_staff.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/frozen_staff" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/gargoyle_mask.json b/src/generated/resources/assets/decisland/models/item/gargoyle_mask.json new file mode 100644 index 0000000..5ed0ecb --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/gargoyle_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/gargoyle_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/gas_bomb.json b/src/generated/resources/assets/decisland/models/item/gas_bomb.json new file mode 100644 index 0000000..b2834cf --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/gas_bomb.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/gas_bomb" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/ghast_mask.json b/src/generated/resources/assets/decisland/models/item/ghast_mask.json new file mode 100644 index 0000000..d2d2ec4 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/ghast_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/ghast_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/ghost_dagger.json b/src/generated/resources/assets/decisland/models/item/ghost_dagger.json new file mode 100644 index 0000000..6b14dc7 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/ghost_dagger.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/ghost_dagger" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/ghost_essence.json b/src/generated/resources/assets/decisland/models/item/ghost_essence.json new file mode 100644 index 0000000..8a6755c --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/ghost_essence.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/ghost_essence" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/ghost_flintlock.json b/src/generated/resources/assets/decisland/models/item/ghost_flintlock.json new file mode 100644 index 0000000..0a0b37b --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/ghost_flintlock.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/ghost_flintlock" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/ghost_ingot.json b/src/generated/resources/assets/decisland/models/item/ghost_ingot.json new file mode 100644 index 0000000..dd3a5c3 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/ghost_ingot.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/ghost_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/ghost_sickle.json b/src/generated/resources/assets/decisland/models/item/ghost_sickle.json new file mode 100644 index 0000000..b9b384c --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/ghost_sickle.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/ghost_sickle" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/ghost_sword.json b/src/generated/resources/assets/decisland/models/item/ghost_sword.json new file mode 100644 index 0000000..5aa4aab --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/ghost_sword.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/ghost_sword" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/giant_bat_wings.json b/src/generated/resources/assets/decisland/models/item/giant_bat_wings.json new file mode 100644 index 0000000..0be41d1 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/giant_bat_wings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/giant_bat_wings" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/giant_ivy.json b/src/generated/resources/assets/decisland/models/item/giant_ivy.json new file mode 100644 index 0000000..c0d0145 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/giant_ivy.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/giant_ivy" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/gingerbread_man.json b/src/generated/resources/assets/decisland/models/item/gingerbread_man.json new file mode 100644 index 0000000..3c2434e --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/gingerbread_man.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/gingerbread_man" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/gingerbread_man_mask.json b/src/generated/resources/assets/decisland/models/item/gingerbread_man_mask.json new file mode 100644 index 0000000..ec2a2bb --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/gingerbread_man_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/gingerbread_man_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/gingerbread_sword.json b/src/generated/resources/assets/decisland/models/item/gingerbread_sword.json new file mode 100644 index 0000000..990240c --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/gingerbread_sword.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/gingerbread_sword" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/glamor_clothes.json b/src/generated/resources/assets/decisland/models/item/glamor_clothes.json new file mode 100644 index 0000000..2241bfa --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/glamor_clothes.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/glamor_clothes" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/glamor_pants.json b/src/generated/resources/assets/decisland/models/item/glamor_pants.json new file mode 100644 index 0000000..f6b0477 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/glamor_pants.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/glamor_pants" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/glamor_shoes.json b/src/generated/resources/assets/decisland/models/item/glamor_shoes.json new file mode 100644 index 0000000..da22a9d --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/glamor_shoes.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/glamor_shoes" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/glass_axe.json b/src/generated/resources/assets/decisland/models/item/glass_axe.json new file mode 100644 index 0000000..ef31332 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/glass_axe.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/glass_axe" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/glass_ingot.json b/src/generated/resources/assets/decisland/models/item/glass_ingot.json new file mode 100644 index 0000000..aa40b09 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/glass_ingot.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/glass_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/glass_pickaxe.json b/src/generated/resources/assets/decisland/models/item/glass_pickaxe.json new file mode 100644 index 0000000..dc249c4 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/glass_pickaxe.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/glass_pickaxe" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/glass_tank.json b/src/generated/resources/assets/decisland/models/item/glass_tank.json new file mode 100644 index 0000000..86cfcaa --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/glass_tank.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/glass_tank" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/goblin_mask.json b/src/generated/resources/assets/decisland/models/item/goblin_mask.json new file mode 100644 index 0000000..1467556 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/goblin_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/goblin_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/gold_dart.json b/src/generated/resources/assets/decisland/models/item/gold_dart.json new file mode 100644 index 0000000..a4ab77d --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/gold_dart.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/gold_dart" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/gold_fish.json b/src/generated/resources/assets/decisland/models/item/gold_fish.json new file mode 100644 index 0000000..700bead --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/gold_fish.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/gold_fish" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/gold_flower.json b/src/generated/resources/assets/decisland/models/item/gold_flower.json new file mode 100644 index 0000000..185c9d8 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/gold_flower.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:block/gold_flower" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/gold_ring.json b/src/generated/resources/assets/decisland/models/item/gold_ring.json new file mode 100644 index 0000000..e6f5022 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/gold_ring.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/gold_ring" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/gold_sickle.json b/src/generated/resources/assets/decisland/models/item/gold_sickle.json new file mode 100644 index 0000000..abbec82 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/gold_sickle.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/gold_sickle" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/gold_yuanbao.json b/src/generated/resources/assets/decisland/models/item/gold_yuanbao.json new file mode 100644 index 0000000..daa9eba --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/gold_yuanbao.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/gold_yuanbao" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/golden_dagger.json b/src/generated/resources/assets/decisland/models/item/golden_dagger.json new file mode 100644 index 0000000..1c6ff77 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/golden_dagger.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/golden_dagger" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/golden_lamp.json b/src/generated/resources/assets/decisland/models/item/golden_lamp.json new file mode 100644 index 0000000..b17720a --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/golden_lamp.json @@ -0,0 +1,3 @@ +{ + "parent": "decisland:block/golden_lamp" +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/golden_staff.json b/src/generated/resources/assets/decisland/models/item/golden_staff.json new file mode 100644 index 0000000..4051b88 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/golden_staff.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/golden_staff" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/gray_shoes.json b/src/generated/resources/assets/decisland/models/item/gray_shoes.json new file mode 100644 index 0000000..4d8ec3f --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/gray_shoes.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/gray_shoes" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/growth.json b/src/generated/resources/assets/decisland/models/item/growth.json new file mode 100644 index 0000000..9b4e2c3 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/growth.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/growth" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/guardian_elder_mask.json b/src/generated/resources/assets/decisland/models/item/guardian_elder_mask.json new file mode 100644 index 0000000..8cd388e --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/guardian_elder_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/guardian_elder_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/guardian_mask.json b/src/generated/resources/assets/decisland/models/item/guardian_mask.json new file mode 100644 index 0000000..ca282d1 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/guardian_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/guardian_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/guide_book.json b/src/generated/resources/assets/decisland/models/item/guide_book.json new file mode 100644 index 0000000..3d10920 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/guide_book.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/guide_book" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/hammer_flower.json b/src/generated/resources/assets/decisland/models/item/hammer_flower.json new file mode 100644 index 0000000..58b1209 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/hammer_flower.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:block/hammer_flower" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/hanyi_clothes.json b/src/generated/resources/assets/decisland/models/item/hanyi_clothes.json new file mode 100644 index 0000000..d43b914 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/hanyi_clothes.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/hanyi_clothes" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/hanyi_hair_accessories.json b/src/generated/resources/assets/decisland/models/item/hanyi_hair_accessories.json new file mode 100644 index 0000000..a708da7 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/hanyi_hair_accessories.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/hanyi_hair_accessories" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/hanyi_pants.json b/src/generated/resources/assets/decisland/models/item/hanyi_pants.json new file mode 100644 index 0000000..227daf2 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/hanyi_pants.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/hanyi_pants" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/hanyi_shoes.json b/src/generated/resources/assets/decisland/models/item/hanyi_shoes.json new file mode 100644 index 0000000..5554174 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/hanyi_shoes.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/hanyi_shoes" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/hard_bamboo_katana.json b/src/generated/resources/assets/decisland/models/item/hard_bamboo_katana.json new file mode 100644 index 0000000..5706e00 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/hard_bamboo_katana.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/hard_bamboo_katana" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/hard_lollipop.json b/src/generated/resources/assets/decisland/models/item/hard_lollipop.json new file mode 100644 index 0000000..f4e7b97 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/hard_lollipop.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/hard_lollipop" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/haste_potion.json b/src/generated/resources/assets/decisland/models/item/haste_potion.json new file mode 100644 index 0000000..9e227a7 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/haste_potion.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/haste_potion" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/health_nugget.json b/src/generated/resources/assets/decisland/models/item/health_nugget.json new file mode 100644 index 0000000..208a558 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/health_nugget.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/health_nugget" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/health_stone.json b/src/generated/resources/assets/decisland/models/item/health_stone.json new file mode 100644 index 0000000..8ea21df --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/health_stone.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/health_stone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/heart_egg.json b/src/generated/resources/assets/decisland/models/item/heart_egg.json new file mode 100644 index 0000000..cf34eca --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/heart_egg.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/heart_egg" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/heart_ring.json b/src/generated/resources/assets/decisland/models/item/heart_ring.json new file mode 100644 index 0000000..fb41635 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/heart_ring.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/heart_ring" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/hemp_rope.json b/src/generated/resources/assets/decisland/models/item/hemp_rope.json new file mode 100644 index 0000000..518a430 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/hemp_rope.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/hemp_rope" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/herb_bag.json b/src/generated/resources/assets/decisland/models/item/herb_bag.json new file mode 100644 index 0000000..d93be5e --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/herb_bag.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/herb_bag" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/high_concentration_uranium.json b/src/generated/resources/assets/decisland/models/item/high_concentration_uranium.json new file mode 100644 index 0000000..9a0fde9 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/high_concentration_uranium.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/high_concentration_uranium" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/host_of_deep_mask.json b/src/generated/resources/assets/decisland/models/item/host_of_deep_mask.json new file mode 100644 index 0000000..cd168ea --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/host_of_deep_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/host_of_deep_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/houttuynia.json b/src/generated/resources/assets/decisland/models/item/houttuynia.json new file mode 100644 index 0000000..5a930c6 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/houttuynia.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/houttuynia" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/houttuynia_seeds.json b/src/generated/resources/assets/decisland/models/item/houttuynia_seeds.json new file mode 100644 index 0000000..4125915 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/houttuynia_seeds.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/houttuynia_seeds" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/hunter_book.json b/src/generated/resources/assets/decisland/models/item/hunter_book.json new file mode 100644 index 0000000..43f84a1 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/hunter_book.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/hunter_book" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/hunter_bullet_bag.json b/src/generated/resources/assets/decisland/models/item/hunter_bullet_bag.json new file mode 100644 index 0000000..16c8eff --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/hunter_bullet_bag.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/hunter_bullet_bag" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/husk_mask.json b/src/generated/resources/assets/decisland/models/item/husk_mask.json new file mode 100644 index 0000000..a4c9230 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/husk_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/husk_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/ice_blaze_mask.json b/src/generated/resources/assets/decisland/models/item/ice_blaze_mask.json new file mode 100644 index 0000000..b85066a --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/ice_blaze_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/ice_blaze_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/ice_brick.json b/src/generated/resources/assets/decisland/models/item/ice_brick.json new file mode 100644 index 0000000..e881a0c --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/ice_brick.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/ice_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/ice_brick_block.json b/src/generated/resources/assets/decisland/models/item/ice_brick_block.json new file mode 100644 index 0000000..4e3103e --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/ice_brick_block.json @@ -0,0 +1,3 @@ +{ + "parent": "decisland:block/ice_brick_block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/ice_cream.json b/src/generated/resources/assets/decisland/models/item/ice_cream.json new file mode 100644 index 0000000..27c0412 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/ice_cream.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/ice_cream" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/ice_heart.json b/src/generated/resources/assets/decisland/models/item/ice_heart.json new file mode 100644 index 0000000..4012852 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/ice_heart.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/ice_heart" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/ice_ingot.json b/src/generated/resources/assets/decisland/models/item/ice_ingot.json new file mode 100644 index 0000000..f8d395d --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/ice_ingot.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/ice_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/ice_lantern.json b/src/generated/resources/assets/decisland/models/item/ice_lantern.json new file mode 100644 index 0000000..dcdc244 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/ice_lantern.json @@ -0,0 +1,3 @@ +{ + "parent": "decisland:block/ice_lantern" +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/ice_mixed_brick.json b/src/generated/resources/assets/decisland/models/item/ice_mixed_brick.json new file mode 100644 index 0000000..0e80b8f --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/ice_mixed_brick.json @@ -0,0 +1,3 @@ +{ + "parent": "decisland:block/ice_mixed_brick" +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/ice_nugget.json b/src/generated/resources/assets/decisland/models/item/ice_nugget.json new file mode 100644 index 0000000..9f12757 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/ice_nugget.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/ice_nugget" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/ice_rod.json b/src/generated/resources/assets/decisland/models/item/ice_rod.json new file mode 100644 index 0000000..17258a7 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/ice_rod.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/ice_rod" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/ice_sword.json b/src/generated/resources/assets/decisland/models/item/ice_sword.json new file mode 100644 index 0000000..7984631 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/ice_sword.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/ice_sword" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/ice_zombie_mask.json b/src/generated/resources/assets/decisland/models/item/ice_zombie_mask.json new file mode 100644 index 0000000..8dd0c9c --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/ice_zombie_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/ice_zombie_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/illager_mask.json b/src/generated/resources/assets/decisland/models/item/illager_mask.json new file mode 100644 index 0000000..c9a8099 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/illager_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/illager_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/illager_sword.json b/src/generated/resources/assets/decisland/models/item/illager_sword.json new file mode 100644 index 0000000..cd4964e --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/illager_sword.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/illager_sword" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/infinite_crystal_nucleus_1.json b/src/generated/resources/assets/decisland/models/item/infinite_crystal_nucleus_1.json new file mode 100644 index 0000000..db601c3 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/infinite_crystal_nucleus_1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/infinite_crystal_nucleus_1" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/infinite_crystal_nucleus_2.json b/src/generated/resources/assets/decisland/models/item/infinite_crystal_nucleus_2.json new file mode 100644 index 0000000..cb653af --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/infinite_crystal_nucleus_2.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/infinite_crystal_nucleus_2" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/infinite_crystal_nucleus_3.json b/src/generated/resources/assets/decisland/models/item/infinite_crystal_nucleus_3.json new file mode 100644 index 0000000..35b6cca --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/infinite_crystal_nucleus_3.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/infinite_crystal_nucleus_3" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/intestine.json b/src/generated/resources/assets/decisland/models/item/intestine.json new file mode 100644 index 0000000..60ee604 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/intestine.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/intestine" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/iron_apple.json b/src/generated/resources/assets/decisland/models/item/iron_apple.json new file mode 100644 index 0000000..77c7a39 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/iron_apple.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/iron_apple" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/iron_apple_enchanted.json b/src/generated/resources/assets/decisland/models/item/iron_apple_enchanted.json new file mode 100644 index 0000000..08bfeae --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/iron_apple_enchanted.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/iron_apple_enchanted" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/iron_dagger.json b/src/generated/resources/assets/decisland/models/item/iron_dagger.json new file mode 100644 index 0000000..ead6dc5 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/iron_dagger.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/iron_dagger" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/iron_dart.json b/src/generated/resources/assets/decisland/models/item/iron_dart.json new file mode 100644 index 0000000..d58b174 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/iron_dart.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/iron_dart" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/iron_fish.json b/src/generated/resources/assets/decisland/models/item/iron_fish.json new file mode 100644 index 0000000..8c4282b --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/iron_fish.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/iron_fish" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/iron_golem_mask.json b/src/generated/resources/assets/decisland/models/item/iron_golem_mask.json new file mode 100644 index 0000000..f51e15f --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/iron_golem_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/iron_golem_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/iron_key.json b/src/generated/resources/assets/decisland/models/item/iron_key.json new file mode 100644 index 0000000..74c9a57 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/iron_key.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/iron_key" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/iron_sickle.json b/src/generated/resources/assets/decisland/models/item/iron_sickle.json new file mode 100644 index 0000000..d7531c4 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/iron_sickle.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/iron_sickle" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/iron_staff.json b/src/generated/resources/assets/decisland/models/item/iron_staff.json new file mode 100644 index 0000000..1b4c477 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/iron_staff.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/iron_staff" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/iron_stick.json b/src/generated/resources/assets/decisland/models/item/iron_stick.json new file mode 100644 index 0000000..71cf023 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/iron_stick.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/iron_stick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/jacket.json b/src/generated/resources/assets/decisland/models/item/jacket.json new file mode 100644 index 0000000..3711479 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/jacket.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/jacket" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/jellyfish_staff.json b/src/generated/resources/assets/decisland/models/item/jellyfish_staff.json new file mode 100644 index 0000000..50ff028 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/jellyfish_staff.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/jellyfish_staff" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/jellyfish_staff_projectile_render.json b/src/generated/resources/assets/decisland/models/item/jellyfish_staff_projectile_render.json new file mode 100644 index 0000000..fd6f20a --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/jellyfish_staff_projectile_render.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/jellyfish_staff_projectile_render" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/jiuzhi_jacket.json b/src/generated/resources/assets/decisland/models/item/jiuzhi_jacket.json new file mode 100644 index 0000000..592f796 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/jiuzhi_jacket.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/jiuzhi_jacket" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/jiuzhi_pants.json b/src/generated/resources/assets/decisland/models/item/jiuzhi_pants.json new file mode 100644 index 0000000..7ba7058 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/jiuzhi_pants.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/jiuzhi_pants" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/jiuzhi_shoes.json b/src/generated/resources/assets/decisland/models/item/jiuzhi_shoes.json new file mode 100644 index 0000000..4133495 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/jiuzhi_shoes.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/jiuzhi_shoes" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/knight_helmet.json b/src/generated/resources/assets/decisland/models/item/knight_helmet.json new file mode 100644 index 0000000..c16d381 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/knight_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/knight_helmet" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/lamp_flower.json b/src/generated/resources/assets/decisland/models/item/lamp_flower.json new file mode 100644 index 0000000..b92a5cb --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/lamp_flower.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:block/lamp_flower" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/lamprey.json b/src/generated/resources/assets/decisland/models/item/lamprey.json new file mode 100644 index 0000000..14f90f6 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/lamprey.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/lamprey" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/lapis_apple.json b/src/generated/resources/assets/decisland/models/item/lapis_apple.json new file mode 100644 index 0000000..8f937cc --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/lapis_apple.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/lapis_apple" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/lapis_bullet_render.json b/src/generated/resources/assets/decisland/models/item/lapis_bullet_render.json new file mode 100644 index 0000000..d1ad7cf --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/lapis_bullet_render.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/lapis_bullet_render" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/lapis_dagger.json b/src/generated/resources/assets/decisland/models/item/lapis_dagger.json new file mode 100644 index 0000000..f7380a4 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/lapis_dagger.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/lapis_dagger" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/lapis_magic_book.json b/src/generated/resources/assets/decisland/models/item/lapis_magic_book.json new file mode 100644 index 0000000..f8ae67d --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/lapis_magic_book.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/lapis_magic_book" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/lapis_nugget.json b/src/generated/resources/assets/decisland/models/item/lapis_nugget.json new file mode 100644 index 0000000..c8dd57d --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/lapis_nugget.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/lapis_nugget" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/lapis_staff.json b/src/generated/resources/assets/decisland/models/item/lapis_staff.json new file mode 100644 index 0000000..9a6946c --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/lapis_staff.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/lapis_staff" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/lapis_sword.json b/src/generated/resources/assets/decisland/models/item/lapis_sword.json new file mode 100644 index 0000000..a52ed70 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/lapis_sword.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/lapis_sword" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/lava_boots.json b/src/generated/resources/assets/decisland/models/item/lava_boots.json new file mode 100644 index 0000000..8c8e33e --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/lava_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/lava_boots" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/lava_bullet_bag.json b/src/generated/resources/assets/decisland/models/item/lava_bullet_bag.json new file mode 100644 index 0000000..189f97d --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/lava_bullet_bag.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/lava_bullet_bag" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/lava_chestplate.json b/src/generated/resources/assets/decisland/models/item/lava_chestplate.json new file mode 100644 index 0000000..537e6a8 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/lava_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/lava_chestplate" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/lava_dart.json b/src/generated/resources/assets/decisland/models/item/lava_dart.json new file mode 100644 index 0000000..bc9fa5d --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/lava_dart.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/lava_dart" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/lava_essence.json b/src/generated/resources/assets/decisland/models/item/lava_essence.json new file mode 100644 index 0000000..9f5096d --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/lava_essence.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/lava_essence" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/lava_flintlock.json b/src/generated/resources/assets/decisland/models/item/lava_flintlock.json new file mode 100644 index 0000000..a928f21 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/lava_flintlock.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/lava_flintlock" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/lava_flower_seeds.json b/src/generated/resources/assets/decisland/models/item/lava_flower_seeds.json new file mode 100644 index 0000000..938dbdf --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/lava_flower_seeds.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/lava_flower_seeds" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/lava_helmet.json b/src/generated/resources/assets/decisland/models/item/lava_helmet.json new file mode 100644 index 0000000..b6e83f4 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/lava_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/lava_helmet" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/lava_ingot.json b/src/generated/resources/assets/decisland/models/item/lava_ingot.json new file mode 100644 index 0000000..8c707c1 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/lava_ingot.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/lava_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/lava_leggings.json b/src/generated/resources/assets/decisland/models/item/lava_leggings.json new file mode 100644 index 0000000..312d523 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/lava_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/lava_leggings" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/lava_nugget.json b/src/generated/resources/assets/decisland/models/item/lava_nugget.json new file mode 100644 index 0000000..c0d8a4f --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/lava_nugget.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/lava_nugget" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/lava_ore.json b/src/generated/resources/assets/decisland/models/item/lava_ore.json new file mode 100644 index 0000000..4940147 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/lava_ore.json @@ -0,0 +1,3 @@ +{ + "parent": "decisland:block/lava_ore" +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/lava_sword.json b/src/generated/resources/assets/decisland/models/item/lava_sword.json new file mode 100644 index 0000000..b6e62b7 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/lava_sword.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/lava_sword" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/leaves_dagger.json b/src/generated/resources/assets/decisland/models/item/leaves_dagger.json new file mode 100644 index 0000000..4e60e31 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/leaves_dagger.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/leaves_dagger" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/leaves_flower.json b/src/generated/resources/assets/decisland/models/item/leaves_flower.json new file mode 100644 index 0000000..9c6c2c5 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/leaves_flower.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:block/leaves_flower" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/leaves_golem_mask.json b/src/generated/resources/assets/decisland/models/item/leaves_golem_mask.json new file mode 100644 index 0000000..97208bf --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/leaves_golem_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/leaves_golem_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/leek.json b/src/generated/resources/assets/decisland/models/item/leek.json new file mode 100644 index 0000000..4bfb2dd --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/leek.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/leek" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/leek_cooked.json b/src/generated/resources/assets/decisland/models/item/leek_cooked.json new file mode 100644 index 0000000..323ec6e --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/leek_cooked.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/leek_cooked" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/leek_seeds.json b/src/generated/resources/assets/decisland/models/item/leek_seeds.json new file mode 100644 index 0000000..8dd1727 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/leek_seeds.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/leek_seeds" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/lester_clothes.json b/src/generated/resources/assets/decisland/models/item/lester_clothes.json new file mode 100644 index 0000000..be3562d --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/lester_clothes.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/lester_clothes" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/lester_pants.json b/src/generated/resources/assets/decisland/models/item/lester_pants.json new file mode 100644 index 0000000..a7a621a --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/lester_pants.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/lester_pants" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/lester_shoes.json b/src/generated/resources/assets/decisland/models/item/lester_shoes.json new file mode 100644 index 0000000..e05bf5a --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/lester_shoes.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/lester_shoes" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/light_obsidian.json b/src/generated/resources/assets/decisland/models/item/light_obsidian.json new file mode 100644 index 0000000..d593aa4 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/light_obsidian.json @@ -0,0 +1,3 @@ +{ + "parent": "decisland:block/light_obsidian" +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/lightning_stone.json b/src/generated/resources/assets/decisland/models/item/lightning_stone.json new file mode 100644 index 0000000..d0b43cc --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/lightning_stone.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/lightning_stone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/lollipop.json b/src/generated/resources/assets/decisland/models/item/lollipop.json new file mode 100644 index 0000000..89017bf --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/lollipop.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/lollipop" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/long_bread.json b/src/generated/resources/assets/decisland/models/item/long_bread.json new file mode 100644 index 0000000..edda2db --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/long_bread.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/long_bread" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/lurk_bud.json b/src/generated/resources/assets/decisland/models/item/lurk_bud.json new file mode 100644 index 0000000..9b9079b --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/lurk_bud.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:block/lurk_bud" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/lurk_fruit.json b/src/generated/resources/assets/decisland/models/item/lurk_fruit.json new file mode 100644 index 0000000..dc74a89 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/lurk_fruit.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:block/lurk_fruit" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/lurk_grass.json b/src/generated/resources/assets/decisland/models/item/lurk_grass.json new file mode 100644 index 0000000..079cbfa --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/lurk_grass.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:block/lurk_grass" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/lurk_log.json b/src/generated/resources/assets/decisland/models/item/lurk_log.json new file mode 100644 index 0000000..6ca602f --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/lurk_log.json @@ -0,0 +1,3 @@ +{ + "parent": "decisland:block/lurk_log" +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/lurk_mushroom.json b/src/generated/resources/assets/decisland/models/item/lurk_mushroom.json new file mode 100644 index 0000000..51bf982 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/lurk_mushroom.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:block/lurk_mushroom" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/lurk_orchid.json b/src/generated/resources/assets/decisland/models/item/lurk_orchid.json new file mode 100644 index 0000000..3163274 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/lurk_orchid.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:block/lurk_orchid" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/lurk_spring.json b/src/generated/resources/assets/decisland/models/item/lurk_spring.json new file mode 100644 index 0000000..64edb3a --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/lurk_spring.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:block/lurk_spring" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/magic_article.json b/src/generated/resources/assets/decisland/models/item/magic_article.json new file mode 100644 index 0000000..cfb78b8 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/magic_article.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/magic_article" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/magic_chest_debris.json b/src/generated/resources/assets/decisland/models/item/magic_chest_debris.json new file mode 100644 index 0000000..6c51797 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/magic_chest_debris.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/magic_chest_debris" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/magic_crystal.json b/src/generated/resources/assets/decisland/models/item/magic_crystal.json new file mode 100644 index 0000000..84e19cd --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/magic_crystal.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/magic_crystal" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/magic_ice_cream.json b/src/generated/resources/assets/decisland/models/item/magic_ice_cream.json new file mode 100644 index 0000000..24ad427 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/magic_ice_cream.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/magic_ice_cream" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/magic_powder.json b/src/generated/resources/assets/decisland/models/item/magic_powder.json new file mode 100644 index 0000000..8c97304 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/magic_powder.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/magic_powder" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/magic_surge_core.json b/src/generated/resources/assets/decisland/models/item/magic_surge_core.json new file mode 100644 index 0000000..a0a03d7 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/magic_surge_core.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/magic_surge_core" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/magma_cube_mask.json b/src/generated/resources/assets/decisland/models/item/magma_cube_mask.json new file mode 100644 index 0000000..21d103e --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/magma_cube_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/magma_cube_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/maple_flower.json b/src/generated/resources/assets/decisland/models/item/maple_flower.json new file mode 100644 index 0000000..bfad892 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/maple_flower.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:block/maple_flower" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/melon_piece.json b/src/generated/resources/assets/decisland/models/item/melon_piece.json new file mode 100644 index 0000000..d8a47e9 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/melon_piece.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/melon_piece" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/mind_controller.json b/src/generated/resources/assets/decisland/models/item/mind_controller.json new file mode 100644 index 0000000..e3e3376 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/mind_controller.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/mind_controller" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/mock_strawberry.json b/src/generated/resources/assets/decisland/models/item/mock_strawberry.json new file mode 100644 index 0000000..9020dbd --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/mock_strawberry.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:block/mock_strawberry" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/mooli.json b/src/generated/resources/assets/decisland/models/item/mooli.json new file mode 100644 index 0000000..90012f6 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/mooli.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/mooli" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/mooli_seeds.json b/src/generated/resources/assets/decisland/models/item/mooli_seeds.json new file mode 100644 index 0000000..3b5f400 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/mooli_seeds.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/mooli_seeds" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/moon_jellyfish.json b/src/generated/resources/assets/decisland/models/item/moon_jellyfish.json new file mode 100644 index 0000000..ee84016 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/moon_jellyfish.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/moon_jellyfish" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/mooshroom_mask.json b/src/generated/resources/assets/decisland/models/item/mooshroom_mask.json new file mode 100644 index 0000000..2b170db --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/mooshroom_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/mooshroom_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/mouth_flower.json b/src/generated/resources/assets/decisland/models/item/mouth_flower.json new file mode 100644 index 0000000..63c5852 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/mouth_flower.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:block/mouth_flower" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/muddy_ball.json b/src/generated/resources/assets/decisland/models/item/muddy_ball.json new file mode 100644 index 0000000..4be216d --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/muddy_ball.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/muddy_ball" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/muddy_fish.json b/src/generated/resources/assets/decisland/models/item/muddy_fish.json new file mode 100644 index 0000000..eb389c5 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/muddy_fish.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/muddy_fish" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/mummy_mask.json b/src/generated/resources/assets/decisland/models/item/mummy_mask.json new file mode 100644 index 0000000..ff59759 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/mummy_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/mummy_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/mummy_skeleton_mask.json b/src/generated/resources/assets/decisland/models/item/mummy_skeleton_mask.json new file mode 100644 index 0000000..843871a --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/mummy_skeleton_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/mummy_skeleton_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/mushroom_mask.json b/src/generated/resources/assets/decisland/models/item/mushroom_mask.json new file mode 100644 index 0000000..6bf35e2 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/mushroom_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/mushroom_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/mysterious_key.json b/src/generated/resources/assets/decisland/models/item/mysterious_key.json new file mode 100644 index 0000000..67e7134 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/mysterious_key.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/mysterious_key" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/mysterious_key_debris.json b/src/generated/resources/assets/decisland/models/item/mysterious_key_debris.json new file mode 100644 index 0000000..4db6c06 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/mysterious_key_debris.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/mysterious_key_debris" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/mystical_skeleton_mask.json b/src/generated/resources/assets/decisland/models/item/mystical_skeleton_mask.json new file mode 100644 index 0000000..69849f0 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/mystical_skeleton_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/mystical_skeleton_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/natural_ring.json b/src/generated/resources/assets/decisland/models/item/natural_ring.json new file mode 100644 index 0000000..023c3a0 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/natural_ring.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/natural_ring" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/nature_essence.json b/src/generated/resources/assets/decisland/models/item/nature_essence.json new file mode 100644 index 0000000..dfea777 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/nature_essence.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/nature_essence" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/nautilus_alive.json b/src/generated/resources/assets/decisland/models/item/nautilus_alive.json new file mode 100644 index 0000000..31a6aaa --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/nautilus_alive.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/nautilus_alive" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/nether_coal_ore.json b/src/generated/resources/assets/decisland/models/item/nether_coal_ore.json new file mode 100644 index 0000000..56aa92f --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/nether_coal_ore.json @@ -0,0 +1,3 @@ +{ + "parent": "decisland:block/nether_coal_ore" +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/nether_creeper_mask.json b/src/generated/resources/assets/decisland/models/item/nether_creeper_mask.json new file mode 100644 index 0000000..27f840c --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/nether_creeper_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/nether_creeper_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/nether_dandelion.json b/src/generated/resources/assets/decisland/models/item/nether_dandelion.json new file mode 100644 index 0000000..3f04b35 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/nether_dandelion.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:block/nether_dandelion" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/nether_diamond_ore.json b/src/generated/resources/assets/decisland/models/item/nether_diamond_ore.json new file mode 100644 index 0000000..ef6aaac --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/nether_diamond_ore.json @@ -0,0 +1,3 @@ +{ + "parent": "decisland:block/nether_diamond_ore" +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/nether_emerald_ore.json b/src/generated/resources/assets/decisland/models/item/nether_emerald_ore.json new file mode 100644 index 0000000..e787587 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/nether_emerald_ore.json @@ -0,0 +1,3 @@ +{ + "parent": "decisland:block/nether_emerald_ore" +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/nether_golem_mask.json b/src/generated/resources/assets/decisland/models/item/nether_golem_mask.json new file mode 100644 index 0000000..9de29cb --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/nether_golem_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/nether_golem_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/nether_iron_ore.json b/src/generated/resources/assets/decisland/models/item/nether_iron_ore.json new file mode 100644 index 0000000..631f50d --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/nether_iron_ore.json @@ -0,0 +1,3 @@ +{ + "parent": "decisland:block/nether_iron_ore" +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/nether_lapis_ore.json b/src/generated/resources/assets/decisland/models/item/nether_lapis_ore.json new file mode 100644 index 0000000..88ea771 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/nether_lapis_ore.json @@ -0,0 +1,3 @@ +{ + "parent": "decisland:block/nether_lapis_ore" +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/nether_phantom_mask.json b/src/generated/resources/assets/decisland/models/item/nether_phantom_mask.json new file mode 100644 index 0000000..146aef8 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/nether_phantom_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/nether_phantom_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/nether_redstone_ore.json b/src/generated/resources/assets/decisland/models/item/nether_redstone_ore.json new file mode 100644 index 0000000..45a0288 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/nether_redstone_ore.json @@ -0,0 +1,3 @@ +{ + "parent": "decisland:block/nether_redstone_ore" +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/nether_skeleton_mask.json b/src/generated/resources/assets/decisland/models/item/nether_skeleton_mask.json new file mode 100644 index 0000000..6ba1c34 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/nether_skeleton_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/nether_skeleton_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/nether_skeleton_wizard_mask.json b/src/generated/resources/assets/decisland/models/item/nether_skeleton_wizard_mask.json new file mode 100644 index 0000000..e3908ae --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/nether_skeleton_wizard_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/nether_skeleton_wizard_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/nether_stick_flower.json b/src/generated/resources/assets/decisland/models/item/nether_stick_flower.json new file mode 100644 index 0000000..0272134 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/nether_stick_flower.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:block/nether_stick_flower" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/netherite_dagger.json b/src/generated/resources/assets/decisland/models/item/netherite_dagger.json new file mode 100644 index 0000000..94717c1 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/netherite_dagger.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/netherite_dagger" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/netherite_dart.json b/src/generated/resources/assets/decisland/models/item/netherite_dart.json new file mode 100644 index 0000000..fa9c680 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/netherite_dart.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/netherite_dart" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/netherite_sickle.json b/src/generated/resources/assets/decisland/models/item/netherite_sickle.json new file mode 100644 index 0000000..4416893 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/netherite_sickle.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/netherite_sickle" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/night_sword.json b/src/generated/resources/assets/decisland/models/item/night_sword.json new file mode 100644 index 0000000..5c66597 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/night_sword.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/night_sword" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/nightmare.json b/src/generated/resources/assets/decisland/models/item/nightmare.json new file mode 100644 index 0000000..786faab --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/nightmare.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/nightmare" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/obsidian_golem_mask.json b/src/generated/resources/assets/decisland/models/item/obsidian_golem_mask.json new file mode 100644 index 0000000..a78f711 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/obsidian_golem_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/obsidian_golem_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/old_book.json b/src/generated/resources/assets/decisland/models/item/old_book.json new file mode 100644 index 0000000..cba4a50 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/old_book.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/old_book" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/old_monster_mask.json b/src/generated/resources/assets/decisland/models/item/old_monster_mask.json new file mode 100644 index 0000000..dbafae2 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/old_monster_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/old_monster_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/perch.json b/src/generated/resources/assets/decisland/models/item/perch.json new file mode 100644 index 0000000..a565a32 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/perch.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/perch" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/perch_cooked.json b/src/generated/resources/assets/decisland/models/item/perch_cooked.json new file mode 100644 index 0000000..b533b0d --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/perch_cooked.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/perch_cooked" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/phantom_mask.json b/src/generated/resources/assets/decisland/models/item/phantom_mask.json new file mode 100644 index 0000000..a555561 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/phantom_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/phantom_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/pig_mask.json b/src/generated/resources/assets/decisland/models/item/pig_mask.json new file mode 100644 index 0000000..52511a8 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/pig_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/pig_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/piglin_chestplate.json b/src/generated/resources/assets/decisland/models/item/piglin_chestplate.json new file mode 100644 index 0000000..a36095a --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/piglin_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/piglin_chestplate" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/piglin_leggings.json b/src/generated/resources/assets/decisland/models/item/piglin_leggings.json new file mode 100644 index 0000000..aa5c2c8 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/piglin_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/piglin_leggings" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/pigzombie_mask.json b/src/generated/resources/assets/decisland/models/item/pigzombie_mask.json new file mode 100644 index 0000000..0cc3408 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/pigzombie_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/pigzombie_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/pine_cone.json b/src/generated/resources/assets/decisland/models/item/pine_cone.json new file mode 100644 index 0000000..9ec9d0f --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/pine_cone.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/pine_cone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/pink_dandelion.json b/src/generated/resources/assets/decisland/models/item/pink_dandelion.json new file mode 100644 index 0000000..2074dd2 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/pink_dandelion.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:block/pink_dandelion" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/pink_fan_flower.json b/src/generated/resources/assets/decisland/models/item/pink_fan_flower.json new file mode 100644 index 0000000..2371dc9 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/pink_fan_flower.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:block/pink_fan_flower" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/pink_flower_block.json b/src/generated/resources/assets/decisland/models/item/pink_flower_block.json new file mode 100644 index 0000000..a272eaa --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/pink_flower_block.json @@ -0,0 +1,3 @@ +{ + "parent": "decisland:block/pink_flower_block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/pink_jellyfish.json b/src/generated/resources/assets/decisland/models/item/pink_jellyfish.json new file mode 100644 index 0000000..e417955 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/pink_jellyfish.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/pink_jellyfish" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/pirate_bullet_bag.json b/src/generated/resources/assets/decisland/models/item/pirate_bullet_bag.json new file mode 100644 index 0000000..7ead5b7 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/pirate_bullet_bag.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/pirate_bullet_bag" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/player_ghost_mask.json b/src/generated/resources/assets/decisland/models/item/player_ghost_mask.json new file mode 100644 index 0000000..58029f3 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/player_ghost_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/player_ghost_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/poison_dart.json b/src/generated/resources/assets/decisland/models/item/poison_dart.json new file mode 100644 index 0000000..b46bfd3 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/poison_dart.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/poison_dart" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/poison_fish.json b/src/generated/resources/assets/decisland/models/item/poison_fish.json new file mode 100644 index 0000000..cfd8810 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/poison_fish.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/poison_fish" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/poison_gland.json b/src/generated/resources/assets/decisland/models/item/poison_gland.json new file mode 100644 index 0000000..0a010bd --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/poison_gland.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/poison_gland" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/polar_wolf_mask.json b/src/generated/resources/assets/decisland/models/item/polar_wolf_mask.json new file mode 100644 index 0000000..f1c45a5 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/polar_wolf_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/polar_wolf_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/polarbear_mask.json b/src/generated/resources/assets/decisland/models/item/polarbear_mask.json new file mode 100644 index 0000000..6bcd1aa --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/polarbear_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/polarbear_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/pollution_algae.json b/src/generated/resources/assets/decisland/models/item/pollution_algae.json new file mode 100644 index 0000000..34571d7 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/pollution_algae.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/pollution_algae" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/potato_rice.json b/src/generated/resources/assets/decisland/models/item/potato_rice.json new file mode 100644 index 0000000..0a83bb8 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/potato_rice.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/potato_rice" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/predators_mask.json b/src/generated/resources/assets/decisland/models/item/predators_mask.json new file mode 100644 index 0000000..c238c6d --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/predators_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/predators_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/prehistoric_monster_mask.json b/src/generated/resources/assets/decisland/models/item/prehistoric_monster_mask.json new file mode 100644 index 0000000..2980b66 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/prehistoric_monster_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/prehistoric_monster_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/pufferfish_mask.json b/src/generated/resources/assets/decisland/models/item/pufferfish_mask.json new file mode 100644 index 0000000..2694946 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/pufferfish_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/pufferfish_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/pulse_stone.json b/src/generated/resources/assets/decisland/models/item/pulse_stone.json new file mode 100644 index 0000000..07ebca4 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/pulse_stone.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/pulse_stone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/pumpkin_candy.json b/src/generated/resources/assets/decisland/models/item/pumpkin_candy.json new file mode 100644 index 0000000..1b71cd8 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/pumpkin_candy.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/pumpkin_candy" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/pure_ingot.json b/src/generated/resources/assets/decisland/models/item/pure_ingot.json new file mode 100644 index 0000000..b565c5b --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/pure_ingot.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/pure_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/radiate_creeper_mask.json b/src/generated/resources/assets/decisland/models/item/radiate_creeper_mask.json new file mode 100644 index 0000000..4db167c --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/radiate_creeper_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/radiate_creeper_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/radiate_crystal.json b/src/generated/resources/assets/decisland/models/item/radiate_crystal.json new file mode 100644 index 0000000..abe5a3a --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/radiate_crystal.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/radiate_crystal" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/radiate_enderman_mask.json b/src/generated/resources/assets/decisland/models/item/radiate_enderman_mask.json new file mode 100644 index 0000000..31e3e19 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/radiate_enderman_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/radiate_enderman_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/rapier.json b/src/generated/resources/assets/decisland/models/item/rapier.json new file mode 100644 index 0000000..6772e9f --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/rapier.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/rapier" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/red_flower_block.json b/src/generated/resources/assets/decisland/models/item/red_flower_block.json new file mode 100644 index 0000000..dac8b54 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/red_flower_block.json @@ -0,0 +1,3 @@ +{ + "parent": "decisland:block/red_flower_block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/red_gem.json b/src/generated/resources/assets/decisland/models/item/red_gem.json new file mode 100644 index 0000000..de70b40 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/red_gem.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/red_gem" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/red_gem_debris.json b/src/generated/resources/assets/decisland/models/item/red_gem_debris.json new file mode 100644 index 0000000..fc66270 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/red_gem_debris.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/red_gem_debris" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/red_gem_hat.json b/src/generated/resources/assets/decisland/models/item/red_gem_hat.json new file mode 100644 index 0000000..2c1f459 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/red_gem_hat.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/red_gem_hat" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/red_gem_ore.json b/src/generated/resources/assets/decisland/models/item/red_gem_ore.json new file mode 100644 index 0000000..3a3a962 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/red_gem_ore.json @@ -0,0 +1,3 @@ +{ + "parent": "decisland:block/red_gem_ore" +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/red_spider_lily.json b/src/generated/resources/assets/decisland/models/item/red_spider_lily.json new file mode 100644 index 0000000..54e58b1 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/red_spider_lily.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:block/red_spider_lily" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/red_stonebrick.json b/src/generated/resources/assets/decisland/models/item/red_stonebrick.json new file mode 100644 index 0000000..ad6b8e3 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/red_stonebrick.json @@ -0,0 +1,3 @@ +{ + "parent": "decisland:block/red_stonebrick" +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/redstone_apple.json b/src/generated/resources/assets/decisland/models/item/redstone_apple.json new file mode 100644 index 0000000..4d7beaf --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/redstone_apple.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/redstone_apple" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/redstone_apple_enchanted.json b/src/generated/resources/assets/decisland/models/item/redstone_apple_enchanted.json new file mode 100644 index 0000000..50fbe2d --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/redstone_apple_enchanted.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/redstone_apple_enchanted" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/resistance_potion.json b/src/generated/resources/assets/decisland/models/item/resistance_potion.json new file mode 100644 index 0000000..4d76218 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/resistance_potion.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/resistance_potion" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/rice.json b/src/generated/resources/assets/decisland/models/item/rice.json new file mode 100644 index 0000000..ca6ca15 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/rice.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/rice" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/rice_seeds.json b/src/generated/resources/assets/decisland/models/item/rice_seeds.json new file mode 100644 index 0000000..255a04f --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/rice_seeds.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/rice_seeds" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/rice_wine.json b/src/generated/resources/assets/decisland/models/item/rice_wine.json new file mode 100644 index 0000000..ab15d7c --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/rice_wine.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/rice_wine" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/rosemary.json b/src/generated/resources/assets/decisland/models/item/rosemary.json new file mode 100644 index 0000000..2797c4d --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/rosemary.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:block/rosemary" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/rotten_flesh_block.json b/src/generated/resources/assets/decisland/models/item/rotten_flesh_block.json new file mode 100644 index 0000000..b43bf97 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/rotten_flesh_block.json @@ -0,0 +1,3 @@ +{ + "parent": "decisland:block/rotten_flesh_block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/rough_steel.json b/src/generated/resources/assets/decisland/models/item/rough_steel.json new file mode 100644 index 0000000..d62db05 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/rough_steel.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/rough_steel" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/rumorer_mask.json b/src/generated/resources/assets/decisland/models/item/rumorer_mask.json new file mode 100644 index 0000000..ded3c21 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/rumorer_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/rumorer_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/rupert_boots.json b/src/generated/resources/assets/decisland/models/item/rupert_boots.json new file mode 100644 index 0000000..98ecef3 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/rupert_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/rupert_boots" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/rupert_chestplate.json b/src/generated/resources/assets/decisland/models/item/rupert_chestplate.json new file mode 100644 index 0000000..885285f --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/rupert_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/rupert_chestplate" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/rupert_helmet.json b/src/generated/resources/assets/decisland/models/item/rupert_helmet.json new file mode 100644 index 0000000..b93079f --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/rupert_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/rupert_helmet" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/rupert_leggings.json b/src/generated/resources/assets/decisland/models/item/rupert_leggings.json new file mode 100644 index 0000000..4184f1b --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/rupert_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/rupert_leggings" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/russet_grass.json b/src/generated/resources/assets/decisland/models/item/russet_grass.json new file mode 100644 index 0000000..f879da4 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/russet_grass.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:block/russet_grass" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/sardine.json b/src/generated/resources/assets/decisland/models/item/sardine.json new file mode 100644 index 0000000..52787ee --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/sardine.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/sardine" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/scale_sword.json b/src/generated/resources/assets/decisland/models/item/scale_sword.json new file mode 100644 index 0000000..a58611d --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/scale_sword.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/scale_sword" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/scimitar.json b/src/generated/resources/assets/decisland/models/item/scimitar.json new file mode 100644 index 0000000..a3632a6 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/scimitar.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/scimitar" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/sea_turtle_mask.json b/src/generated/resources/assets/decisland/models/item/sea_turtle_mask.json new file mode 100644 index 0000000..3bcc15d --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/sea_turtle_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/sea_turtle_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/sea_urchin.json b/src/generated/resources/assets/decisland/models/item/sea_urchin.json new file mode 100644 index 0000000..999df82 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/sea_urchin.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/sea_urchin" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/shadow_creeper_mask.json b/src/generated/resources/assets/decisland/models/item/shadow_creeper_mask.json new file mode 100644 index 0000000..e65a4c0 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/shadow_creeper_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/shadow_creeper_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/shadow_crystal.json b/src/generated/resources/assets/decisland/models/item/shadow_crystal.json new file mode 100644 index 0000000..ca463c9 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/shadow_crystal.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/shadow_crystal" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/shadow_feather.json b/src/generated/resources/assets/decisland/models/item/shadow_feather.json new file mode 100644 index 0000000..4f566a0 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/shadow_feather.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/shadow_feather" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/shadow_of_sea_mask.json b/src/generated/resources/assets/decisland/models/item/shadow_of_sea_mask.json new file mode 100644 index 0000000..0fbe0b6 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/shadow_of_sea_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/shadow_of_sea_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/shadow_skeleton_mask.json b/src/generated/resources/assets/decisland/models/item/shadow_skeleton_mask.json new file mode 100644 index 0000000..5c12801 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/shadow_skeleton_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/shadow_skeleton_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/shadow_zombie_mask.json b/src/generated/resources/assets/decisland/models/item/shadow_zombie_mask.json new file mode 100644 index 0000000..e9e9af6 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/shadow_zombie_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/shadow_zombie_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/sharp_coral.json b/src/generated/resources/assets/decisland/models/item/sharp_coral.json new file mode 100644 index 0000000..5377732 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/sharp_coral.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/sharp_coral" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/shell.json b/src/generated/resources/assets/decisland/models/item/shell.json new file mode 100644 index 0000000..fa5155d --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/shell.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/shell" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/short_flintlock.json b/src/generated/resources/assets/decisland/models/item/short_flintlock.json new file mode 100644 index 0000000..a9bed03 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/short_flintlock.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/short_flintlock" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/shulker_helmet.json b/src/generated/resources/assets/decisland/models/item/shulker_helmet.json new file mode 100644 index 0000000..ab01231 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/shulker_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/shulker_helmet" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/shulker_mask.json b/src/generated/resources/assets/decisland/models/item/shulker_mask.json new file mode 100644 index 0000000..dd42a35 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/shulker_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/shulker_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/skeleton_assassin_mask.json b/src/generated/resources/assets/decisland/models/item/skeleton_assassin_mask.json new file mode 100644 index 0000000..a960690 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/skeleton_assassin_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/skeleton_assassin_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/skeleton_fish.json b/src/generated/resources/assets/decisland/models/item/skeleton_fish.json new file mode 100644 index 0000000..6dd899e --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/skeleton_fish.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/skeleton_fish" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/skeleton_knight_mask.json b/src/generated/resources/assets/decisland/models/item/skeleton_knight_mask.json new file mode 100644 index 0000000..ccd0ffd --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/skeleton_knight_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/skeleton_knight_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/skeleton_mask.json b/src/generated/resources/assets/decisland/models/item/skeleton_mask.json new file mode 100644 index 0000000..3295c54 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/skeleton_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/skeleton_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/slime_axe.json b/src/generated/resources/assets/decisland/models/item/slime_axe.json new file mode 100644 index 0000000..ad3edd1 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/slime_axe.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/slime_axe" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/slime_mask.json b/src/generated/resources/assets/decisland/models/item/slime_mask.json new file mode 100644 index 0000000..c37755d --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/slime_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/slime_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/slime_pickaxe.json b/src/generated/resources/assets/decisland/models/item/slime_pickaxe.json new file mode 100644 index 0000000..633653d --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/slime_pickaxe.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/slime_pickaxe" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/sliver_yuanbao.json b/src/generated/resources/assets/decisland/models/item/sliver_yuanbao.json new file mode 100644 index 0000000..fe1dc97 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/sliver_yuanbao.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/sliver_yuanbao" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/small_stone.json b/src/generated/resources/assets/decisland/models/item/small_stone.json new file mode 100644 index 0000000..f57bf35 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/small_stone.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/small_stone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/small_stone_block.json b/src/generated/resources/assets/decisland/models/item/small_stone_block.json new file mode 100644 index 0000000..83a9a97 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/small_stone_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/small_stone_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/smoke_bomb.json b/src/generated/resources/assets/decisland/models/item/smoke_bomb.json new file mode 100644 index 0000000..320ea84 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/smoke_bomb.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/smoke_bomb" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/smooth_amethyst_block.json b/src/generated/resources/assets/decisland/models/item/smooth_amethyst_block.json new file mode 100644 index 0000000..8015244 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/smooth_amethyst_block.json @@ -0,0 +1,3 @@ +{ + "parent": "decisland:block/smooth_amethyst_block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/snailfish.json b/src/generated/resources/assets/decisland/models/item/snailfish.json new file mode 100644 index 0000000..ee109e4 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/snailfish.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/snailfish" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/snow_flower.json b/src/generated/resources/assets/decisland/models/item/snow_flower.json new file mode 100644 index 0000000..40fb628 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/snow_flower.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:block/snow_flower" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/snow_lotus.json b/src/generated/resources/assets/decisland/models/item/snow_lotus.json new file mode 100644 index 0000000..626c7d7 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/snow_lotus.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:block/snow_lotus" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/snowball_magic_book.json b/src/generated/resources/assets/decisland/models/item/snowball_magic_book.json new file mode 100644 index 0000000..569499b --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/snowball_magic_book.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/snowball_magic_book" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/solidified_lava_block.json b/src/generated/resources/assets/decisland/models/item/solidified_lava_block.json new file mode 100644 index 0000000..5360e24 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/solidified_lava_block.json @@ -0,0 +1,3 @@ +{ + "parent": "decisland:block/solidified_lava_block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/soul.json b/src/generated/resources/assets/decisland/models/item/soul.json new file mode 100644 index 0000000..a4cb3ed --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/soul.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/soul" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/soul_blaze_mask.json b/src/generated/resources/assets/decisland/models/item/soul_blaze_mask.json new file mode 100644 index 0000000..93fc9e3 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/soul_blaze_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/soul_blaze_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/soul_blaze_rod.json b/src/generated/resources/assets/decisland/models/item/soul_blaze_rod.json new file mode 100644 index 0000000..bb9bfb6 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/soul_blaze_rod.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/soul_blaze_rod" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/soul_key.json b/src/generated/resources/assets/decisland/models/item/soul_key.json new file mode 100644 index 0000000..31efb1e --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/soul_key.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/soul_key" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/soul_skeleton_mask.json b/src/generated/resources/assets/decisland/models/item/soul_skeleton_mask.json new file mode 100644 index 0000000..3ae0b88 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/soul_skeleton_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/soul_skeleton_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/soul_soil_diamond_ore.json b/src/generated/resources/assets/decisland/models/item/soul_soil_diamond_ore.json new file mode 100644 index 0000000..23208a2 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/soul_soil_diamond_ore.json @@ -0,0 +1,3 @@ +{ + "parent": "decisland:block/soul_soil_diamond_ore" +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/soul_staff.json b/src/generated/resources/assets/decisland/models/item/soul_staff.json new file mode 100644 index 0000000..58710d2 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/soul_staff.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/soul_staff" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/soul_wake_bullet_render.json b/src/generated/resources/assets/decisland/models/item/soul_wake_bullet_render.json new file mode 100644 index 0000000..24dfa05 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/soul_wake_bullet_render.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/soul_wake_bullet_render" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/soul_zombie_mask.json b/src/generated/resources/assets/decisland/models/item/soul_zombie_mask.json new file mode 100644 index 0000000..ad02294 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/soul_zombie_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/soul_zombie_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/soybean.json b/src/generated/resources/assets/decisland/models/item/soybean.json new file mode 100644 index 0000000..be226c9 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/soybean.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/soybean" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/spark_flower.json b/src/generated/resources/assets/decisland/models/item/spark_flower.json new file mode 100644 index 0000000..87e42ec --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/spark_flower.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:block/spark_flower" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/spell_flower.json b/src/generated/resources/assets/decisland/models/item/spell_flower.json new file mode 100644 index 0000000..5fcfba7 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/spell_flower.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:block/spell_flower" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/spider_mask.json b/src/generated/resources/assets/decisland/models/item/spider_mask.json new file mode 100644 index 0000000..d080ab3 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/spider_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/spider_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/spiral_shell.json b/src/generated/resources/assets/decisland/models/item/spiral_shell.json new file mode 100644 index 0000000..0962fb3 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/spiral_shell.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/spiral_shell" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/spurt_egg.json b/src/generated/resources/assets/decisland/models/item/spurt_egg.json new file mode 100644 index 0000000..ee3798b --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/spurt_egg.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/spurt_egg" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/squid_mask.json b/src/generated/resources/assets/decisland/models/item/squid_mask.json new file mode 100644 index 0000000..1492717 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/squid_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/squid_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/star_debris.json b/src/generated/resources/assets/decisland/models/item/star_debris.json new file mode 100644 index 0000000..9b23d5e --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/star_debris.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/star_debris" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/star_flintlock.json b/src/generated/resources/assets/decisland/models/item/star_flintlock.json new file mode 100644 index 0000000..e8e1237 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/star_flintlock.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/star_flintlock" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/star_flower.json b/src/generated/resources/assets/decisland/models/item/star_flower.json new file mode 100644 index 0000000..d5aff9f --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/star_flower.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:block/star_flower" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/steel_battleaxe.json b/src/generated/resources/assets/decisland/models/item/steel_battleaxe.json new file mode 100644 index 0000000..b762c3d --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/steel_battleaxe.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/steel_battleaxe" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/steel_block.json b/src/generated/resources/assets/decisland/models/item/steel_block.json new file mode 100644 index 0000000..104bb6c --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/steel_block.json @@ -0,0 +1,3 @@ +{ + "parent": "decisland:block/steel_block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/steel_boots.json b/src/generated/resources/assets/decisland/models/item/steel_boots.json new file mode 100644 index 0000000..11115aa --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/steel_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/steel_boots" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/steel_chestplate.json b/src/generated/resources/assets/decisland/models/item/steel_chestplate.json new file mode 100644 index 0000000..347b14f --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/steel_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/steel_chestplate" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/steel_dagger.json b/src/generated/resources/assets/decisland/models/item/steel_dagger.json new file mode 100644 index 0000000..3f2d0b1 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/steel_dagger.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/steel_dagger" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/steel_dart.json b/src/generated/resources/assets/decisland/models/item/steel_dart.json new file mode 100644 index 0000000..184bc12 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/steel_dart.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/steel_dart" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/steel_helmet.json b/src/generated/resources/assets/decisland/models/item/steel_helmet.json new file mode 100644 index 0000000..350c318 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/steel_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/steel_helmet" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/steel_ingot.json b/src/generated/resources/assets/decisland/models/item/steel_ingot.json new file mode 100644 index 0000000..657c7fa --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/steel_ingot.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/steel_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/steel_leggings.json b/src/generated/resources/assets/decisland/models/item/steel_leggings.json new file mode 100644 index 0000000..127174f --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/steel_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/steel_leggings" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/steel_nugget.json b/src/generated/resources/assets/decisland/models/item/steel_nugget.json new file mode 100644 index 0000000..1237d95 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/steel_nugget.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/steel_nugget" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/steel_sickle.json b/src/generated/resources/assets/decisland/models/item/steel_sickle.json new file mode 100644 index 0000000..9bdce70 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/steel_sickle.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/steel_sickle" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/steel_sword.json b/src/generated/resources/assets/decisland/models/item/steel_sword.json new file mode 100644 index 0000000..70f048a --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/steel_sword.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/steel_sword" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/steve_mask.json b/src/generated/resources/assets/decisland/models/item/steve_mask.json new file mode 100644 index 0000000..8cce18c --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/steve_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/steve_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/stick_flower.json b/src/generated/resources/assets/decisland/models/item/stick_flower.json new file mode 100644 index 0000000..700f04d --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/stick_flower.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:block/stick_flower" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/sticky_ash.json b/src/generated/resources/assets/decisland/models/item/sticky_ash.json new file mode 100644 index 0000000..27ecf84 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/sticky_ash.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/sticky_ash" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/stone_boots.json b/src/generated/resources/assets/decisland/models/item/stone_boots.json new file mode 100644 index 0000000..4b4f232 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/stone_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/stone_boots" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/stone_chestplate.json b/src/generated/resources/assets/decisland/models/item/stone_chestplate.json new file mode 100644 index 0000000..85a7257 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/stone_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/stone_chestplate" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/stone_dagger.json b/src/generated/resources/assets/decisland/models/item/stone_dagger.json new file mode 100644 index 0000000..ddf1359 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/stone_dagger.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/stone_dagger" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/stone_dart.json b/src/generated/resources/assets/decisland/models/item/stone_dart.json new file mode 100644 index 0000000..44572b8 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/stone_dart.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/stone_dart" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/stone_helmet.json b/src/generated/resources/assets/decisland/models/item/stone_helmet.json new file mode 100644 index 0000000..2ca2219 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/stone_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/stone_helmet" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/stone_leggings.json b/src/generated/resources/assets/decisland/models/item/stone_leggings.json new file mode 100644 index 0000000..8278338 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/stone_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/stone_leggings" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/stones_bag.json b/src/generated/resources/assets/decisland/models/item/stones_bag.json new file mode 100644 index 0000000..5fdf587 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/stones_bag.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/stones_bag" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/storm_battleaxe.json b/src/generated/resources/assets/decisland/models/item/storm_battleaxe.json new file mode 100644 index 0000000..ac4f4a2 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/storm_battleaxe.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/storm_battleaxe" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/storm_flintlock.json b/src/generated/resources/assets/decisland/models/item/storm_flintlock.json new file mode 100644 index 0000000..f4cfaeb --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/storm_flintlock.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/storm_flintlock" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/storm_staff.json b/src/generated/resources/assets/decisland/models/item/storm_staff.json new file mode 100644 index 0000000..6f0be50 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/storm_staff.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/storm_staff" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/straw_rope.json b/src/generated/resources/assets/decisland/models/item/straw_rope.json new file mode 100644 index 0000000..9a14cd8 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/straw_rope.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/straw_rope" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/stray_chestplate.json b/src/generated/resources/assets/decisland/models/item/stray_chestplate.json new file mode 100644 index 0000000..78fe6cb --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/stray_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/stray_chestplate" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/stray_helmet.json b/src/generated/resources/assets/decisland/models/item/stray_helmet.json new file mode 100644 index 0000000..73d945e --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/stray_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/stray_helmet" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/stray_leggings.json b/src/generated/resources/assets/decisland/models/item/stray_leggings.json new file mode 100644 index 0000000..264cae6 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/stray_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/stray_leggings" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/stray_mask.json b/src/generated/resources/assets/decisland/models/item/stray_mask.json new file mode 100644 index 0000000..7ba7d45 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/stray_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/stray_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/stream_dart.json b/src/generated/resources/assets/decisland/models/item/stream_dart.json new file mode 100644 index 0000000..7c4e761 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/stream_dart.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/stream_dart" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/stream_ore.json b/src/generated/resources/assets/decisland/models/item/stream_ore.json new file mode 100644 index 0000000..5bfd5aa --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/stream_ore.json @@ -0,0 +1,3 @@ +{ + "parent": "decisland:block/stream_ore" +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/stream_stone.json b/src/generated/resources/assets/decisland/models/item/stream_stone.json new file mode 100644 index 0000000..b517791 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/stream_stone.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/stream_stone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/strider_mask.json b/src/generated/resources/assets/decisland/models/item/strider_mask.json new file mode 100644 index 0000000..b855877 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/strider_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/strider_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/striped_pants.json b/src/generated/resources/assets/decisland/models/item/striped_pants.json new file mode 100644 index 0000000..6f77b60 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/striped_pants.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/striped_pants" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/sun_stone.json b/src/generated/resources/assets/decisland/models/item/sun_stone.json new file mode 100644 index 0000000..efae5bc --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/sun_stone.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/sun_stone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/swamp_drowned_mask.json b/src/generated/resources/assets/decisland/models/item/swamp_drowned_mask.json new file mode 100644 index 0000000..4977be9 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/swamp_drowned_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/swamp_drowned_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/swamp_golem_mask.json b/src/generated/resources/assets/decisland/models/item/swamp_golem_mask.json new file mode 100644 index 0000000..89e0a14 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/swamp_golem_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/swamp_golem_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/sword_fish.json b/src/generated/resources/assets/decisland/models/item/sword_fish.json new file mode 100644 index 0000000..6190b11 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/sword_fish.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/sword_fish" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/sword_of_deep.json b/src/generated/resources/assets/decisland/models/item/sword_of_deep.json new file mode 100644 index 0000000..8d46788 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/sword_of_deep.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/sword_of_deep" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/sword_of_guard.json b/src/generated/resources/assets/decisland/models/item/sword_of_guard.json new file mode 100644 index 0000000..b8f392b --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/sword_of_guard.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/sword_of_guard" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/sword_of_halloween.json b/src/generated/resources/assets/decisland/models/item/sword_of_halloween.json new file mode 100644 index 0000000..afc8ebf --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/sword_of_halloween.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/sword_of_halloween" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/the_blade.json b/src/generated/resources/assets/decisland/models/item/the_blade.json new file mode 100644 index 0000000..3634d75 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/the_blade.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/the_blade" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/the_imperial_sword.json b/src/generated/resources/assets/decisland/models/item/the_imperial_sword.json new file mode 100644 index 0000000..a2ae03c --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/the_imperial_sword.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/the_imperial_sword" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/throwable_bomb.json b/src/generated/resources/assets/decisland/models/item/throwable_bomb.json new file mode 100644 index 0000000..6fe82b1 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/throwable_bomb.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/throwable_bomb" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/thunder_rapier.json b/src/generated/resources/assets/decisland/models/item/thunder_rapier.json new file mode 100644 index 0000000..dc56321 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/thunder_rapier.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/thunder_rapier" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/thunder_staff.json b/src/generated/resources/assets/decisland/models/item/thunder_staff.json new file mode 100644 index 0000000..aef2d77 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/thunder_staff.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/thunder_staff" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/thyme.json b/src/generated/resources/assets/decisland/models/item/thyme.json new file mode 100644 index 0000000..0a8a0f5 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/thyme.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:block/thyme" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/time_compass.json b/src/generated/resources/assets/decisland/models/item/time_compass.json new file mode 100644 index 0000000..40c4215 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/time_compass.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/time_compass" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/tnt_creeper_mask.json b/src/generated/resources/assets/decisland/models/item/tnt_creeper_mask.json new file mode 100644 index 0000000..ad3a076 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/tnt_creeper_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/tnt_creeper_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/tofu.json b/src/generated/resources/assets/decisland/models/item/tofu.json new file mode 100644 index 0000000..337614e --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/tofu.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/tofu" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/tropical_fish.json b/src/generated/resources/assets/decisland/models/item/tropical_fish.json new file mode 100644 index 0000000..288b07a --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/tropical_fish.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/tropical_fish" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/tropical_fish_cooked.json b/src/generated/resources/assets/decisland/models/item/tropical_fish_cooked.json new file mode 100644 index 0000000..b1cb9d9 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/tropical_fish_cooked.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/tropical_fish_cooked" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/turtle_boots.json b/src/generated/resources/assets/decisland/models/item/turtle_boots.json new file mode 100644 index 0000000..d55233d --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/turtle_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/turtle_boots" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/turtle_chestplate.json b/src/generated/resources/assets/decisland/models/item/turtle_chestplate.json new file mode 100644 index 0000000..7e88a97 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/turtle_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/turtle_chestplate" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/turtle_leggings.json b/src/generated/resources/assets/decisland/models/item/turtle_leggings.json new file mode 100644 index 0000000..fad5d50 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/turtle_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/turtle_leggings" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/turtle_sword.json b/src/generated/resources/assets/decisland/models/item/turtle_sword.json new file mode 100644 index 0000000..2b0e627 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/turtle_sword.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/turtle_sword" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/uniform_clothes.json b/src/generated/resources/assets/decisland/models/item/uniform_clothes.json new file mode 100644 index 0000000..8d88922 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/uniform_clothes.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/uniform_clothes" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/uniform_pants.json b/src/generated/resources/assets/decisland/models/item/uniform_pants.json new file mode 100644 index 0000000..36af307 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/uniform_pants.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/uniform_pants" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/uranium.json b/src/generated/resources/assets/decisland/models/item/uranium.json new file mode 100644 index 0000000..21e9875 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/uranium.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/uranium" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/uranium_apple.json b/src/generated/resources/assets/decisland/models/item/uranium_apple.json new file mode 100644 index 0000000..0886605 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/uranium_apple.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/uranium_apple" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/uranium_block.json b/src/generated/resources/assets/decisland/models/item/uranium_block.json new file mode 100644 index 0000000..b40c930 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/uranium_block.json @@ -0,0 +1,3 @@ +{ + "parent": "decisland:block/uranium_block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/uranium_ore.json b/src/generated/resources/assets/decisland/models/item/uranium_ore.json new file mode 100644 index 0000000..8d00a78 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/uranium_ore.json @@ -0,0 +1,3 @@ +{ + "parent": "decisland:block/uranium_ore" +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/vengeful_ghost_mask.json b/src/generated/resources/assets/decisland/models/item/vengeful_ghost_mask.json new file mode 100644 index 0000000..b378000 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/vengeful_ghost_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/vengeful_ghost_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/vex_mask.json b/src/generated/resources/assets/decisland/models/item/vex_mask.json new file mode 100644 index 0000000..dbb0bcf --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/vex_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/vex_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/villager_mask.json b/src/generated/resources/assets/decisland/models/item/villager_mask.json new file mode 100644 index 0000000..65f55b9 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/villager_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/villager_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/void_whispering_dagger.json b/src/generated/resources/assets/decisland/models/item/void_whispering_dagger.json new file mode 100644 index 0000000..04d9b93 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/void_whispering_dagger.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/void_whispering_dagger" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/vortex.json b/src/generated/resources/assets/decisland/models/item/vortex.json new file mode 100644 index 0000000..8901a55 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/vortex.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/vortex" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/wandering_trader_mask.json b/src/generated/resources/assets/decisland/models/item/wandering_trader_mask.json new file mode 100644 index 0000000..980a567 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/wandering_trader_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/wandering_trader_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/warden_sword.json b/src/generated/resources/assets/decisland/models/item/warden_sword.json new file mode 100644 index 0000000..5973186 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/warden_sword.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/warden_sword" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/warped_skeleton_mask.json b/src/generated/resources/assets/decisland/models/item/warped_skeleton_mask.json new file mode 100644 index 0000000..42afe66 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/warped_skeleton_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/warped_skeleton_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/waste.json b/src/generated/resources/assets/decisland/models/item/waste.json new file mode 100644 index 0000000..5dad596 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/waste.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/waste" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/wave_magic_book.json b/src/generated/resources/assets/decisland/models/item/wave_magic_book.json new file mode 100644 index 0000000..0a04beb --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/wave_magic_book.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/wave_magic_book" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/werewolf_mask.json b/src/generated/resources/assets/decisland/models/item/werewolf_mask.json new file mode 100644 index 0000000..e718531 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/werewolf_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/werewolf_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/white_flower_block.json b/src/generated/resources/assets/decisland/models/item/white_flower_block.json new file mode 100644 index 0000000..25530f7 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/white_flower_block.json @@ -0,0 +1,3 @@ +{ + "parent": "decisland:block/white_flower_block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/white_shoes.json b/src/generated/resources/assets/decisland/models/item/white_shoes.json new file mode 100644 index 0000000..1880e1c --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/white_shoes.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/white_shoes" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/white_t_shirt.json b/src/generated/resources/assets/decisland/models/item/white_t_shirt.json new file mode 100644 index 0000000..e7d583c --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/white_t_shirt.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/white_t_shirt" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/wind_dagger.json b/src/generated/resources/assets/decisland/models/item/wind_dagger.json new file mode 100644 index 0000000..8803161 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/wind_dagger.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/wind_dagger" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/wind_of_shadow.json b/src/generated/resources/assets/decisland/models/item/wind_of_shadow.json new file mode 100644 index 0000000..154fe19 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/wind_of_shadow.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/wind_of_shadow" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/wine_glass.json b/src/generated/resources/assets/decisland/models/item/wine_glass.json new file mode 100644 index 0000000..cd21990 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/wine_glass.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/wine_glass" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/wings_from_deep.json b/src/generated/resources/assets/decisland/models/item/wings_from_deep.json new file mode 100644 index 0000000..17d4d4f --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/wings_from_deep.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/wings_from_deep" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/witch_hat.json b/src/generated/resources/assets/decisland/models/item/witch_hat.json new file mode 100644 index 0000000..d1caff2 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/witch_hat.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/witch_hat" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/witch_mask.json b/src/generated/resources/assets/decisland/models/item/witch_mask.json new file mode 100644 index 0000000..6e2aa1d --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/witch_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/witch_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/wither_cone.json b/src/generated/resources/assets/decisland/models/item/wither_cone.json new file mode 100644 index 0000000..851b04a --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/wither_cone.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:block/wither_cone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/wither_invulnerable_mask.json b/src/generated/resources/assets/decisland/models/item/wither_invulnerable_mask.json new file mode 100644 index 0000000..da30a5a --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/wither_invulnerable_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/wither_invulnerable_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/wither_mask.json b/src/generated/resources/assets/decisland/models/item/wither_mask.json new file mode 100644 index 0000000..0eda8e4 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/wither_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/wither_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/wither_skeleton_mask.json b/src/generated/resources/assets/decisland/models/item/wither_skeleton_mask.json new file mode 100644 index 0000000..b75f483 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/wither_skeleton_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/wither_skeleton_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/wither_substance.json b/src/generated/resources/assets/decisland/models/item/wither_substance.json new file mode 100644 index 0000000..65b9727 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/wither_substance.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/wither_substance" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/wolf_mask.json b/src/generated/resources/assets/decisland/models/item/wolf_mask.json new file mode 100644 index 0000000..dc6d318 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/wolf_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/wolf_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/wood_boots.json b/src/generated/resources/assets/decisland/models/item/wood_boots.json new file mode 100644 index 0000000..c2f4d6f --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/wood_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/wood_boots" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/wood_chestplate.json b/src/generated/resources/assets/decisland/models/item/wood_chestplate.json new file mode 100644 index 0000000..d4ed836 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/wood_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/wood_chestplate" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/wood_dart.json b/src/generated/resources/assets/decisland/models/item/wood_dart.json new file mode 100644 index 0000000..9fdb859 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/wood_dart.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/wood_dart" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/wood_helmet.json b/src/generated/resources/assets/decisland/models/item/wood_helmet.json new file mode 100644 index 0000000..24cc107 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/wood_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/wood_helmet" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/wood_leggings.json b/src/generated/resources/assets/decisland/models/item/wood_leggings.json new file mode 100644 index 0000000..584098d --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/wood_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/wood_leggings" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/wooden_dagger.json b/src/generated/resources/assets/decisland/models/item/wooden_dagger.json new file mode 100644 index 0000000..65ad789 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/wooden_dagger.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/wooden_dagger" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/wooden_staff.json b/src/generated/resources/assets/decisland/models/item/wooden_staff.json new file mode 100644 index 0000000..c27a2e4 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/wooden_staff.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "decisland:item/wooden_staff" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/yellow_butterfly_flower.json b/src/generated/resources/assets/decisland/models/item/yellow_butterfly_flower.json new file mode 100644 index 0000000..4d20978 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/yellow_butterfly_flower.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:block/yellow_butterfly_flower" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/yellow_flower_block.json b/src/generated/resources/assets/decisland/models/item/yellow_flower_block.json new file mode 100644 index 0000000..e7e7a03 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/yellow_flower_block.json @@ -0,0 +1,3 @@ +{ + "parent": "decisland:block/yellow_flower_block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/yellow_jellyfish.json b/src/generated/resources/assets/decisland/models/item/yellow_jellyfish.json new file mode 100644 index 0000000..2946f1d --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/yellow_jellyfish.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/yellow_jellyfish" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/zombie_brain.json b/src/generated/resources/assets/decisland/models/item/zombie_brain.json new file mode 100644 index 0000000..31996ad --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/zombie_brain.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/zombie_brain" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/zombie_fish.json b/src/generated/resources/assets/decisland/models/item/zombie_fish.json new file mode 100644 index 0000000..9e4e9d3 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/zombie_fish.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/zombie_fish" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/zombie_mask.json b/src/generated/resources/assets/decisland/models/item/zombie_mask.json new file mode 100644 index 0000000..9bfe657 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/zombie_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/zombie_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/zombie_summoner_mask.json b/src/generated/resources/assets/decisland/models/item/zombie_summoner_mask.json new file mode 100644 index 0000000..b940734 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/zombie_summoner_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/zombie_summoner_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/zombie_villager_mask.json b/src/generated/resources/assets/decisland/models/item/zombie_villager_mask.json new file mode 100644 index 0000000..60ace70 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/zombie_villager_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/zombie_villager_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/decisland/models/item/zombie_warrior_mask.json b/src/generated/resources/assets/decisland/models/item/zombie_warrior_mask.json new file mode 100644 index 0000000..61d5432 --- /dev/null +++ b/src/generated/resources/assets/decisland/models/item/zombie_warrior_mask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "decisland:item/zombie_warrior_mask" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/combat/amethyst_dagger.json b/src/generated/resources/data/decisland/advancement/recipes/combat/amethyst_dagger.json new file mode 100644 index 0000000..7188ca5 --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/combat/amethyst_dagger.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_amethyst_shard": { + "conditions": { + "items": [ + { + "items": "minecraft:amethyst_shard" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:amethyst_dagger" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_amethyst_shard" + ] + ], + "rewards": { + "recipes": [ + "decisland:amethyst_dagger" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/combat/copper_battleaxe.json b/src/generated/resources/data/decisland/advancement/recipes/combat/copper_battleaxe.json new file mode 100644 index 0000000..2818e24 --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/combat/copper_battleaxe.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_copper_ingot": { + "conditions": { + "items": [ + { + "items": "minecraft:copper_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:copper_battleaxe" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_copper_ingot" + ] + ], + "rewards": { + "recipes": [ + "decisland:copper_battleaxe" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/combat/copper_dagger.json b/src/generated/resources/data/decisland/advancement/recipes/combat/copper_dagger.json new file mode 100644 index 0000000..c8815e6 --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/combat/copper_dagger.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_copper_ingot": { + "conditions": { + "items": [ + { + "items": "minecraft:copper_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:copper_dagger" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_copper_ingot" + ] + ], + "rewards": { + "recipes": [ + "decisland:copper_dagger" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/combat/diamond_dagger.json b/src/generated/resources/data/decisland/advancement/recipes/combat/diamond_dagger.json new file mode 100644 index 0000000..437c30b --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/combat/diamond_dagger.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_diamond": { + "conditions": { + "items": [ + { + "items": "minecraft:diamond" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:diamond_dagger" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_diamond" + ] + ], + "rewards": { + "recipes": [ + "decisland:diamond_dagger" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/combat/emerald_dagger.json b/src/generated/resources/data/decisland/advancement/recipes/combat/emerald_dagger.json new file mode 100644 index 0000000..d7ac672 --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/combat/emerald_dagger.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_emerald": { + "conditions": { + "items": [ + { + "items": "minecraft:emerald" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:emerald_dagger" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_emerald" + ] + ], + "rewards": { + "recipes": [ + "decisland:emerald_dagger" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/combat/everlasting_winter_dagger.json b/src/generated/resources/data/decisland/advancement/recipes/combat/everlasting_winter_dagger.json new file mode 100644 index 0000000..2edd59a --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/combat/everlasting_winter_dagger.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_everlasting_winter_ingot": { + "conditions": { + "items": [ + { + "items": "decisland:everlasting_winter_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:everlasting_winter_dagger" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_everlasting_winter_ingot" + ] + ], + "rewards": { + "recipes": [ + "decisland:everlasting_winter_dagger" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/combat/everlasting_winter_sword.json b/src/generated/resources/data/decisland/advancement/recipes/combat/everlasting_winter_sword.json new file mode 100644 index 0000000..fbeeae9 --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/combat/everlasting_winter_sword.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_everlasting_winter_ingot": { + "conditions": { + "items": [ + { + "items": "decisland:everlasting_winter_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:everlasting_winter_sword" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_everlasting_winter_ingot" + ] + ], + "rewards": { + "recipes": [ + "decisland:everlasting_winter_sword" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/combat/ghost_dagger.json b/src/generated/resources/data/decisland/advancement/recipes/combat/ghost_dagger.json new file mode 100644 index 0000000..f8abcca --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/combat/ghost_dagger.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ghost_ingot": { + "conditions": { + "items": [ + { + "items": "decisland:ghost_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:ghost_dagger" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ghost_ingot" + ] + ], + "rewards": { + "recipes": [ + "decisland:ghost_dagger" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/combat/ghost_sword.json b/src/generated/resources/data/decisland/advancement/recipes/combat/ghost_sword.json new file mode 100644 index 0000000..5771dd1 --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/combat/ghost_sword.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ghost_ingot": { + "conditions": { + "items": [ + { + "items": "decisland:ghost_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:ghost_sword" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ghost_ingot" + ] + ], + "rewards": { + "recipes": [ + "decisland:ghost_sword" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/combat/gold_dagger.json b/src/generated/resources/data/decisland/advancement/recipes/combat/gold_dagger.json new file mode 100644 index 0000000..070977c --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/combat/gold_dagger.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_gold_ingot": { + "conditions": { + "items": [ + { + "items": "minecraft:gold_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:gold_dagger" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_gold_ingot" + ] + ], + "rewards": { + "recipes": [ + "decisland:gold_dagger" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/combat/growth.json b/src/generated/resources/data/decisland/advancement/recipes/combat/growth.json new file mode 100644 index 0000000..bdf067e --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/combat/growth.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_pure_ingot": { + "conditions": { + "items": [ + { + "items": "decisland:pure_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:growth" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_pure_ingot" + ] + ], + "rewards": { + "recipes": [ + "decisland:growth" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/combat/iron_dagger.json b/src/generated/resources/data/decisland/advancement/recipes/combat/iron_dagger.json new file mode 100644 index 0000000..5591776 --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/combat/iron_dagger.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_iron_ingot": { + "conditions": { + "items": [ + { + "items": "minecraft:iron_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:iron_dagger" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_iron_ingot" + ] + ], + "rewards": { + "recipes": [ + "decisland:iron_dagger" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/combat/lapis_dagger.json b/src/generated/resources/data/decisland/advancement/recipes/combat/lapis_dagger.json new file mode 100644 index 0000000..b470421 --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/combat/lapis_dagger.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_lapis_lazuli": { + "conditions": { + "items": [ + { + "items": "minecraft:lapis_lazuli" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:lapis_dagger" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_lapis_lazuli" + ] + ], + "rewards": { + "recipes": [ + "decisland:lapis_dagger" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/combat/leaves_dagger.json b/src/generated/resources/data/decisland/advancement/recipes/combat/leaves_dagger.json new file mode 100644 index 0000000..20d8cfc --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/combat/leaves_dagger.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_eye_of_nature": { + "conditions": { + "items": [ + { + "items": "decisland:eye_of_nature" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:leaves_dagger" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_eye_of_nature" + ] + ], + "rewards": { + "recipes": [ + "decisland:leaves_dagger" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/combat/netherite_dagger.json b/src/generated/resources/data/decisland/advancement/recipes/combat/netherite_dagger.json new file mode 100644 index 0000000..e6f6246 --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/combat/netherite_dagger.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_netherite_ingot": { + "conditions": { + "items": [ + { + "items": "minecraft:netherite_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:netherite_dagger" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_netherite_ingot" + ] + ], + "rewards": { + "recipes": [ + "decisland:netherite_dagger" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/combat/steel_battleaxe.json b/src/generated/resources/data/decisland/advancement/recipes/combat/steel_battleaxe.json new file mode 100644 index 0000000..b5451ec --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/combat/steel_battleaxe.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_steel_ingot": { + "conditions": { + "items": [ + { + "items": "decisland:steel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:steel_battleaxe" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_steel_ingot" + ] + ], + "rewards": { + "recipes": [ + "decisland:steel_battleaxe" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/combat/steel_dagger.json b/src/generated/resources/data/decisland/advancement/recipes/combat/steel_dagger.json new file mode 100644 index 0000000..fdd1877 --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/combat/steel_dagger.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_steel_ingot": { + "conditions": { + "items": [ + { + "items": "decisland:steel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:steel_dagger" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_steel_ingot" + ] + ], + "rewards": { + "recipes": [ + "decisland:steel_dagger" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/combat/stone_dagger.json b/src/generated/resources/data/decisland/advancement/recipes/combat/stone_dagger.json new file mode 100644 index 0000000..9e0ca13 --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/combat/stone_dagger.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cobblestone": { + "conditions": { + "items": [ + { + "items": "minecraft:cobblestone" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:stone_dagger" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cobblestone" + ] + ], + "rewards": { + "recipes": [ + "decisland:stone_dagger" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/combat/the_imperial_sword.json b/src/generated/resources/data/decisland/advancement/recipes/combat/the_imperial_sword.json new file mode 100644 index 0000000..d8ddfbd --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/combat/the_imperial_sword.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_everlasting_winter_ingot": { + "conditions": { + "items": [ + { + "items": "decisland:everlasting_winter_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:the_imperial_sword" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_everlasting_winter_ingot" + ] + ], + "rewards": { + "recipes": [ + "decisland:the_imperial_sword" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/combat/thunder_rapier.json b/src/generated/resources/data/decisland/advancement/recipes/combat/thunder_rapier.json new file mode 100644 index 0000000..8d6c099 --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/combat/thunder_rapier.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_lightning_stone": { + "conditions": { + "items": [ + { + "items": "decisland:lightning_stone" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:thunder_rapier" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_lightning_stone" + ] + ], + "rewards": { + "recipes": [ + "decisland:thunder_rapier" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/combat/vortex.json b/src/generated/resources/data/decisland/advancement/recipes/combat/vortex.json new file mode 100644 index 0000000..d8daf96 --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/combat/vortex.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_heart_of_the_sea": { + "conditions": { + "items": [ + { + "items": "minecraft:heart_of_the_sea" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:vortex" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_heart_of_the_sea" + ] + ], + "rewards": { + "recipes": [ + "decisland:vortex" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/combat/wind_dagger.json b/src/generated/resources/data/decisland/advancement/recipes/combat/wind_dagger.json new file mode 100644 index 0000000..ccc6f26 --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/combat/wind_dagger.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stream_stone": { + "conditions": { + "items": [ + { + "items": "decisland:stream_stone" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:wind_dagger" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stream_stone" + ] + ], + "rewards": { + "recipes": [ + "decisland:wind_dagger" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/combat/wind_of_shadow.json b/src/generated/resources/data/decisland/advancement/recipes/combat/wind_of_shadow.json new file mode 100644 index 0000000..acb907c --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/combat/wind_of_shadow.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ender_core": { + "conditions": { + "items": [ + { + "items": "decisland:ender_core" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:wind_of_shadow" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ender_core" + ] + ], + "rewards": { + "recipes": [ + "decisland:wind_of_shadow" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/combat/wooden_dagger.json b/src/generated/resources/data/decisland/advancement/recipes/combat/wooden_dagger.json new file mode 100644 index 0000000..680e647 --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/combat/wooden_dagger.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stick": { + "conditions": { + "items": [ + { + "items": "minecraft:stick" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:wooden_dagger" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stick" + ] + ], + "rewards": { + "recipes": [ + "decisland:wooden_dagger" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/combat/wooden_dagger_from_crimson_planks.json b/src/generated/resources/data/decisland/advancement/recipes/combat/wooden_dagger_from_crimson_planks.json new file mode 100644 index 0000000..ca6a17e --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/combat/wooden_dagger_from_crimson_planks.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_crimson_planks": { + "conditions": { + "items": [ + { + "items": "minecraft:crimson_planks" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:wooden_dagger_from_crimson_planks" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_crimson_planks" + ] + ], + "rewards": { + "recipes": [ + "decisland:wooden_dagger_from_crimson_planks" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/combat/wooden_dagger_from_warped_planks.json b/src/generated/resources/data/decisland/advancement/recipes/combat/wooden_dagger_from_warped_planks.json new file mode 100644 index 0000000..833a977 --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/combat/wooden_dagger_from_warped_planks.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "decisland:wooden_dagger_from_warped_planks" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_warped_planks": { + "conditions": { + "items": [ + { + "items": "minecraft:warped_planks" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_warped_planks" + ] + ], + "rewards": { + "recipes": [ + "decisland:wooden_dagger_from_warped_planks" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/food/a_bowl_of_rice.json b/src/generated/resources/data/decisland/advancement/recipes/food/a_bowl_of_rice.json new file mode 100644 index 0000000..1ff5b49 --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/food/a_bowl_of_rice.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_rice": { + "conditions": { + "items": [ + { + "items": "decisland:rice" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:a_bowl_of_rice" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_rice" + ] + ], + "rewards": { + "recipes": [ + "decisland:a_bowl_of_rice" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/food/crab_leg_cooked_from_blasting.json b/src/generated/resources/data/decisland/advancement/recipes/food/crab_leg_cooked_from_blasting.json new file mode 100644 index 0000000..1e18a6d --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/food/crab_leg_cooked_from_blasting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_crab_leg": { + "conditions": { + "items": [ + { + "items": "decisland:crab_leg" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:crab_leg_cooked_from_blasting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_crab_leg" + ] + ], + "rewards": { + "recipes": [ + "decisland:crab_leg_cooked_from_blasting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/food/crab_leg_cooked_from_campfire_cooking.json b/src/generated/resources/data/decisland/advancement/recipes/food/crab_leg_cooked_from_campfire_cooking.json new file mode 100644 index 0000000..19f2785 --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/food/crab_leg_cooked_from_campfire_cooking.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_crab_leg": { + "conditions": { + "items": [ + { + "items": "decisland:crab_leg" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:crab_leg_cooked_from_campfire_cooking" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_crab_leg" + ] + ], + "rewards": { + "recipes": [ + "decisland:crab_leg_cooked_from_campfire_cooking" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/food/crab_leg_cooked_from_smelting.json b/src/generated/resources/data/decisland/advancement/recipes/food/crab_leg_cooked_from_smelting.json new file mode 100644 index 0000000..6be8038 --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/food/crab_leg_cooked_from_smelting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_crab_leg": { + "conditions": { + "items": [ + { + "items": "decisland:crab_leg" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:crab_leg_cooked_from_smelting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_crab_leg" + ] + ], + "rewards": { + "recipes": [ + "decisland:crab_leg_cooked_from_smelting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/food/crab_leg_cooked_from_smoking.json b/src/generated/resources/data/decisland/advancement/recipes/food/crab_leg_cooked_from_smoking.json new file mode 100644 index 0000000..a35c1ca --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/food/crab_leg_cooked_from_smoking.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_crab_leg": { + "conditions": { + "items": [ + { + "items": "decisland:crab_leg" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:crab_leg_cooked_from_smoking" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_crab_leg" + ] + ], + "rewards": { + "recipes": [ + "decisland:crab_leg_cooked_from_smoking" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/food/leek_cooked_from_campfire_cooking.json b/src/generated/resources/data/decisland/advancement/recipes/food/leek_cooked_from_campfire_cooking.json new file mode 100644 index 0000000..dd6dbd3 --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/food/leek_cooked_from_campfire_cooking.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_leek": { + "conditions": { + "items": [ + { + "items": "decisland:leek" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:leek_cooked_from_campfire_cooking" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_leek" + ] + ], + "rewards": { + "recipes": [ + "decisland:leek_cooked_from_campfire_cooking" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/food/leek_cooked_from_smelting.json b/src/generated/resources/data/decisland/advancement/recipes/food/leek_cooked_from_smelting.json new file mode 100644 index 0000000..3a9af46 --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/food/leek_cooked_from_smelting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_leek": { + "conditions": { + "items": [ + { + "items": "decisland:leek" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:leek_cooked_from_smelting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_leek" + ] + ], + "rewards": { + "recipes": [ + "decisland:leek_cooked_from_smelting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/food/leek_cooked_from_smoking.json b/src/generated/resources/data/decisland/advancement/recipes/food/leek_cooked_from_smoking.json new file mode 100644 index 0000000..ce1bab5 --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/food/leek_cooked_from_smoking.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_leek": { + "conditions": { + "items": [ + { + "items": "decisland:leek" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:leek_cooked_from_smoking" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_leek" + ] + ], + "rewards": { + "recipes": [ + "decisland:leek_cooked_from_smoking" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/food/perch_cooked_from_campfire_cooking.json b/src/generated/resources/data/decisland/advancement/recipes/food/perch_cooked_from_campfire_cooking.json new file mode 100644 index 0000000..bdd56f6 --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/food/perch_cooked_from_campfire_cooking.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_perch": { + "conditions": { + "items": [ + { + "items": "decisland:perch" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:perch_cooked_from_campfire_cooking" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_perch" + ] + ], + "rewards": { + "recipes": [ + "decisland:perch_cooked_from_campfire_cooking" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/food/perch_cooked_from_smelting.json b/src/generated/resources/data/decisland/advancement/recipes/food/perch_cooked_from_smelting.json new file mode 100644 index 0000000..32bb441 --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/food/perch_cooked_from_smelting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_perch": { + "conditions": { + "items": [ + { + "items": "decisland:perch" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:perch_cooked_from_smelting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_perch" + ] + ], + "rewards": { + "recipes": [ + "decisland:perch_cooked_from_smelting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/food/perch_cooked_from_smoking.json b/src/generated/resources/data/decisland/advancement/recipes/food/perch_cooked_from_smoking.json new file mode 100644 index 0000000..d38e992 --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/food/perch_cooked_from_smoking.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_perch": { + "conditions": { + "items": [ + { + "items": "decisland:perch" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:perch_cooked_from_smoking" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_perch" + ] + ], + "rewards": { + "recipes": [ + "decisland:perch_cooked_from_smoking" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/food/rice.json b/src/generated/resources/data/decisland/advancement/recipes/food/rice.json new file mode 100644 index 0000000..85925b9 --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/food/rice.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_rice_crop": { + "conditions": { + "items": [ + { + "items": "decisland:rice_seeds" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:rice" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_rice_crop" + ] + ], + "rewards": { + "recipes": [ + "decisland:rice" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/food/rice_wine.json b/src/generated/resources/data/decisland/advancement/recipes/food/rice_wine.json new file mode 100644 index 0000000..ddfc7e5 --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/food/rice_wine.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_rice": { + "conditions": { + "items": [ + { + "items": "decisland:rice" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:rice_wine" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_rice" + ] + ], + "rewards": { + "recipes": [ + "decisland:rice_wine" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/misc/blast_furnace_copper_battleaxe.json b/src/generated/resources/data/decisland/advancement/recipes/misc/blast_furnace_copper_battleaxe.json new file mode 100644 index 0000000..6a2bda4 --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/misc/blast_furnace_copper_battleaxe.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_copper_battleaxe": { + "conditions": { + "items": [ + { + "items": "decisland:copper_battleaxe" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:blast_furnace_copper_battleaxe" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_copper_battleaxe" + ] + ], + "rewards": { + "recipes": [ + "decisland:blast_furnace_copper_battleaxe" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/misc/blast_furnace_diamond_axe.json b/src/generated/resources/data/decisland/advancement/recipes/misc/blast_furnace_diamond_axe.json new file mode 100644 index 0000000..b1062cd --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/misc/blast_furnace_diamond_axe.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_diamond_axe": { + "conditions": { + "items": [ + { + "items": "minecraft:diamond_axe" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:blast_furnace_diamond_axe" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_diamond_axe" + ] + ], + "rewards": { + "recipes": [ + "decisland:blast_furnace_diamond_axe" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/misc/blast_furnace_diamond_dagger.json b/src/generated/resources/data/decisland/advancement/recipes/misc/blast_furnace_diamond_dagger.json new file mode 100644 index 0000000..b732021 --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/misc/blast_furnace_diamond_dagger.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_diamond_dagger": { + "conditions": { + "items": [ + { + "items": "decisland:diamond_dagger" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:blast_furnace_diamond_dagger" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_diamond_dagger" + ] + ], + "rewards": { + "recipes": [ + "decisland:blast_furnace_diamond_dagger" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/misc/blast_furnace_diamond_pickaxe.json b/src/generated/resources/data/decisland/advancement/recipes/misc/blast_furnace_diamond_pickaxe.json new file mode 100644 index 0000000..1f1a402 --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/misc/blast_furnace_diamond_pickaxe.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_diamond_pickaxe": { + "conditions": { + "items": [ + { + "items": "minecraft:diamond_pickaxe" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:blast_furnace_diamond_pickaxe" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_diamond_pickaxe" + ] + ], + "rewards": { + "recipes": [ + "decisland:blast_furnace_diamond_pickaxe" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/misc/blast_furnace_emerald_dagger.json b/src/generated/resources/data/decisland/advancement/recipes/misc/blast_furnace_emerald_dagger.json new file mode 100644 index 0000000..96c88dd --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/misc/blast_furnace_emerald_dagger.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_emerald_dagger": { + "conditions": { + "items": [ + { + "items": "decisland:emerald_dagger" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:blast_furnace_emerald_dagger" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_emerald_dagger" + ] + ], + "rewards": { + "recipes": [ + "decisland:blast_furnace_emerald_dagger" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/misc/blast_furnace_golden_dagger.json b/src/generated/resources/data/decisland/advancement/recipes/misc/blast_furnace_golden_dagger.json new file mode 100644 index 0000000..a9df9ac --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/misc/blast_furnace_golden_dagger.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_golden_dagger": { + "conditions": { + "items": [ + { + "items": "decisland:golden_dagger" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:blast_furnace_golden_dagger" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_golden_dagger" + ] + ], + "rewards": { + "recipes": [ + "decisland:blast_furnace_golden_dagger" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/misc/blast_furnace_steel_battleaxe.json b/src/generated/resources/data/decisland/advancement/recipes/misc/blast_furnace_steel_battleaxe.json new file mode 100644 index 0000000..81853f7 --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/misc/blast_furnace_steel_battleaxe.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_steel_battleaxe": { + "conditions": { + "items": [ + { + "items": "decisland:steel_battleaxe" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:blast_furnace_steel_battleaxe" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_steel_battleaxe" + ] + ], + "rewards": { + "recipes": [ + "decisland:blast_furnace_steel_battleaxe" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/misc/blast_furnace_steel_dagger.json b/src/generated/resources/data/decisland/advancement/recipes/misc/blast_furnace_steel_dagger.json new file mode 100644 index 0000000..b2bbe47 --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/misc/blast_furnace_steel_dagger.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_steel_dagger": { + "conditions": { + "items": [ + { + "items": "decisland:steel_dagger" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:blast_furnace_steel_dagger" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_steel_dagger" + ] + ], + "rewards": { + "recipes": [ + "decisland:blast_furnace_steel_dagger" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/misc/everlasting_winter_stick.json b/src/generated/resources/data/decisland/advancement/recipes/misc/everlasting_winter_stick.json new file mode 100644 index 0000000..9f04945 --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/misc/everlasting_winter_stick.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_everlasting_winter_ingot": { + "conditions": { + "items": [ + { + "items": "decisland:everlasting_winter_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:everlasting_winter_stick" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_everlasting_winter_ingot" + ] + ], + "rewards": { + "recipes": [ + "decisland:everlasting_winter_stick" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/misc/frozen_power.json b/src/generated/resources/data/decisland/advancement/recipes/misc/frozen_power.json new file mode 100644 index 0000000..07df5f5 --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/misc/frozen_power.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_frozen_power_debris": { + "conditions": { + "items": [ + { + "items": "decisland:frozen_power_debris" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:frozen_power" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_frozen_power_debris" + ] + ], + "rewards": { + "recipes": [ + "decisland:frozen_power" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/misc/furnace_copper_battleaxe.json b/src/generated/resources/data/decisland/advancement/recipes/misc/furnace_copper_battleaxe.json new file mode 100644 index 0000000..4f9c8f9 --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/misc/furnace_copper_battleaxe.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_copper_battleaxe": { + "conditions": { + "items": [ + { + "items": "decisland:copper_battleaxe" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:furnace_copper_battleaxe" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_copper_battleaxe" + ] + ], + "rewards": { + "recipes": [ + "decisland:furnace_copper_battleaxe" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/misc/furnace_diamond_axe.json b/src/generated/resources/data/decisland/advancement/recipes/misc/furnace_diamond_axe.json new file mode 100644 index 0000000..349a4cb --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/misc/furnace_diamond_axe.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_diamond_axe": { + "conditions": { + "items": [ + { + "items": "minecraft:diamond_axe" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:furnace_diamond_axe" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_diamond_axe" + ] + ], + "rewards": { + "recipes": [ + "decisland:furnace_diamond_axe" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/misc/furnace_diamond_dagger.json b/src/generated/resources/data/decisland/advancement/recipes/misc/furnace_diamond_dagger.json new file mode 100644 index 0000000..c3bc3a4 --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/misc/furnace_diamond_dagger.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_diamond_dagger": { + "conditions": { + "items": [ + { + "items": "decisland:diamond_dagger" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:furnace_diamond_dagger" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_diamond_dagger" + ] + ], + "rewards": { + "recipes": [ + "decisland:furnace_diamond_dagger" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/misc/furnace_diamond_pickaxe.json b/src/generated/resources/data/decisland/advancement/recipes/misc/furnace_diamond_pickaxe.json new file mode 100644 index 0000000..8ac5dfe --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/misc/furnace_diamond_pickaxe.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_diamond_pickaxe": { + "conditions": { + "items": [ + { + "items": "minecraft:diamond_pickaxe" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:furnace_diamond_pickaxe" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_diamond_pickaxe" + ] + ], + "rewards": { + "recipes": [ + "decisland:furnace_diamond_pickaxe" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/misc/furnace_emerald_dagger.json b/src/generated/resources/data/decisland/advancement/recipes/misc/furnace_emerald_dagger.json new file mode 100644 index 0000000..15f8e91 --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/misc/furnace_emerald_dagger.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_emerald_dagger": { + "conditions": { + "items": [ + { + "items": "decisland:emerald_dagger" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:furnace_emerald_dagger" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_emerald_dagger" + ] + ], + "rewards": { + "recipes": [ + "decisland:furnace_emerald_dagger" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/misc/furnace_golden_dagger.json b/src/generated/resources/data/decisland/advancement/recipes/misc/furnace_golden_dagger.json new file mode 100644 index 0000000..4b7a6fd --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/misc/furnace_golden_dagger.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_golden_dagger": { + "conditions": { + "items": [ + { + "items": "decisland:golden_dagger" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:furnace_golden_dagger" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_golden_dagger" + ] + ], + "rewards": { + "recipes": [ + "decisland:furnace_golden_dagger" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/misc/furnace_steel_battleaxe.json b/src/generated/resources/data/decisland/advancement/recipes/misc/furnace_steel_battleaxe.json new file mode 100644 index 0000000..f9dd864 --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/misc/furnace_steel_battleaxe.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_steel_battleaxe": { + "conditions": { + "items": [ + { + "items": "decisland:steel_battleaxe" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:furnace_steel_battleaxe" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_steel_battleaxe" + ] + ], + "rewards": { + "recipes": [ + "decisland:furnace_steel_battleaxe" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/misc/furnace_steel_dagger.json b/src/generated/resources/data/decisland/advancement/recipes/misc/furnace_steel_dagger.json new file mode 100644 index 0000000..50dd716 --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/misc/furnace_steel_dagger.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_steel_dagger": { + "conditions": { + "items": [ + { + "items": "decisland:steel_dagger" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:furnace_steel_dagger" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_steel_dagger" + ] + ], + "rewards": { + "recipes": [ + "decisland:furnace_steel_dagger" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/tools/amethyst_axe.json b/src/generated/resources/data/decisland/advancement/recipes/tools/amethyst_axe.json new file mode 100644 index 0000000..f7d3c24 --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/tools/amethyst_axe.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_amethyst_shard": { + "conditions": { + "items": [ + { + "items": "minecraft:amethyst_shard" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:amethyst_axe" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_amethyst_shard" + ] + ], + "rewards": { + "recipes": [ + "decisland:amethyst_axe" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/tools/amethyst_pickaxe.json b/src/generated/resources/data/decisland/advancement/recipes/tools/amethyst_pickaxe.json new file mode 100644 index 0000000..77158dc --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/tools/amethyst_pickaxe.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_amethyst_shard": { + "conditions": { + "items": [ + { + "items": "minecraft:amethyst_shard" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:amethyst_pickaxe" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_amethyst_shard" + ] + ], + "rewards": { + "recipes": [ + "decisland:amethyst_pickaxe" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/tools/coral_axe.json b/src/generated/resources/data/decisland/advancement/recipes/tools/coral_axe.json new file mode 100644 index 0000000..03bb369 --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/tools/coral_axe.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_coral_ingot": { + "conditions": { + "items": [ + { + "items": "decisland:coral_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:coral_axe" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_coral_ingot" + ] + ], + "rewards": { + "recipes": [ + "decisland:coral_axe" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/tools/coral_pickaxe.json b/src/generated/resources/data/decisland/advancement/recipes/tools/coral_pickaxe.json new file mode 100644 index 0000000..f5801b2 --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/tools/coral_pickaxe.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_coral_ingot": { + "conditions": { + "items": [ + { + "items": "decisland:coral_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:coral_pickaxe" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_coral_ingot" + ] + ], + "rewards": { + "recipes": [ + "decisland:coral_pickaxe" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/tools/emerald_axe.json b/src/generated/resources/data/decisland/advancement/recipes/tools/emerald_axe.json new file mode 100644 index 0000000..f00f8cd --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/tools/emerald_axe.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_emerald": { + "conditions": { + "items": [ + { + "items": "minecraft:emerald" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:emerald_axe" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_emerald" + ] + ], + "rewards": { + "recipes": [ + "decisland:emerald_axe" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/tools/emerald_pickaxe.json b/src/generated/resources/data/decisland/advancement/recipes/tools/emerald_pickaxe.json new file mode 100644 index 0000000..1740196 --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/tools/emerald_pickaxe.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_emerald": { + "conditions": { + "items": [ + { + "items": "minecraft:emerald" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:emerald_pickaxe" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_emerald" + ] + ], + "rewards": { + "recipes": [ + "decisland:emerald_pickaxe" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/tools/glass_axe.json b/src/generated/resources/data/decisland/advancement/recipes/tools/glass_axe.json new file mode 100644 index 0000000..f0c160a --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/tools/glass_axe.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_glass_ingot": { + "conditions": { + "items": [ + { + "items": "decisland:glass_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:glass_axe" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_glass_ingot" + ] + ], + "rewards": { + "recipes": [ + "decisland:glass_axe" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/tools/glass_pickaxe.json b/src/generated/resources/data/decisland/advancement/recipes/tools/glass_pickaxe.json new file mode 100644 index 0000000..91aa57c --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/tools/glass_pickaxe.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_glass_ingot": { + "conditions": { + "items": [ + { + "items": "decisland:glass_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:glass_pickaxe" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_glass_ingot" + ] + ], + "rewards": { + "recipes": [ + "decisland:glass_pickaxe" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/tools/slime_axe.json b/src/generated/resources/data/decisland/advancement/recipes/tools/slime_axe.json new file mode 100644 index 0000000..249c376 --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/tools/slime_axe.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_slime_ball": { + "conditions": { + "items": [ + { + "items": "minecraft:slime_ball" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:slime_axe" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_slime_ball" + ] + ], + "rewards": { + "recipes": [ + "decisland:slime_axe" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/advancement/recipes/tools/slime_pickaxe.json b/src/generated/resources/data/decisland/advancement/recipes/tools/slime_pickaxe.json new file mode 100644 index 0000000..2f39b8b --- /dev/null +++ b/src/generated/resources/data/decisland/advancement/recipes/tools/slime_pickaxe.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_slime_ball": { + "conditions": { + "items": [ + { + "items": "minecraft:slime_ball" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "decisland:slime_pickaxe" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_slime_ball" + ] + ], + "rewards": { + "recipes": [ + "decisland:slime_pickaxe" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/amethyst_lantern.json b/src/generated/resources/data/decisland/loot_table/blocks/amethyst_lantern.json new file mode 100644 index 0000000..f9aec55 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/amethyst_lantern.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:amethyst_lantern" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/amethyst_lantern" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/ancient_ice.json b/src/generated/resources/data/decisland/loot_table/blocks/ancient_ice.json new file mode 100644 index 0000000..ed2fccf --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/ancient_ice.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:ancient_ice" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/ancient_ice" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/baby_blue_eyes_flower.json b/src/generated/resources/data/decisland/loot_table/blocks/baby_blue_eyes_flower.json new file mode 100644 index 0000000..118a246 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/baby_blue_eyes_flower.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:baby_blue_eyes_flower" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/baby_blue_eyes_flower" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/balloon_flower.json b/src/generated/resources/data/decisland/loot_table/blocks/balloon_flower.json new file mode 100644 index 0000000..545c454 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/balloon_flower.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:balloon_flower" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/balloon_flower" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/bizarre_chilli_crop.json b/src/generated/resources/data/decisland/loot_table/blocks/bizarre_chilli_crop.json new file mode 100644 index 0000000..f0adcfd --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/bizarre_chilli_crop.json @@ -0,0 +1,69 @@ +{ + "type": "minecraft:block", + "functions": [ + { + "function": "minecraft:explosion_decay" + } + ], + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "block": "decisland:bizarre_chilli_crop", + "condition": "minecraft:block_state_property", + "properties": { + "age": "7" + } + } + ], + "name": "decisland:bizarre_chilli" + }, + { + "type": "minecraft:item", + "name": "decisland:bizarre_chilli_seeds" + } + ] + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "conditions": [ + { + "block": "decisland:bizarre_chilli_crop", + "condition": "minecraft:block_state_property", + "properties": { + "age": "7" + } + } + ], + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "enchantment": "minecraft:fortune", + "formula": "minecraft:binomial_with_bonus_count", + "function": "minecraft:apply_bonus", + "parameters": { + "extra": 3, + "probability": 0.5714286 + } + } + ], + "name": "decisland:bizarre_chilli_seeds" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/bizarre_chilli_crop" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/black_flower_block.json b/src/generated/resources/data/decisland/loot_table/blocks/black_flower_block.json new file mode 100644 index 0000000..c4e7493 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/black_flower_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:black_flower_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/black_flower_block" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/blue_flower_block.json b/src/generated/resources/data/decisland/loot_table/blocks/blue_flower_block.json new file mode 100644 index 0000000..9282c0e --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/blue_flower_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:blue_flower_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/blue_flower_block" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/blue_gem_ore.json b/src/generated/resources/data/decisland/loot_table/blocks/blue_gem_ore.json new file mode 100644 index 0000000..1c1333f --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/blue_gem_ore.json @@ -0,0 +1,56 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + } + ], + "name": "decisland:blue_gem_ore" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 3.0, + "min": 1.0 + }, + "function": "minecraft:set_count" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "decisland:blue_gem_debris" + } + ] + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/blue_gem_ore" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/blue_ice_brick_block.json b/src/generated/resources/data/decisland/loot_table/blocks/blue_ice_brick_block.json new file mode 100644 index 0000000..6d6a1c2 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/blue_ice_brick_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:blue_ice_brick_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/blue_ice_brick_block" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/breeze_flower.json b/src/generated/resources/data/decisland/loot_table/blocks/breeze_flower.json new file mode 100644 index 0000000..7108a29 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/breeze_flower.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:breeze_flower" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/breeze_flower" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/butter_flower.json b/src/generated/resources/data/decisland/loot_table/blocks/butter_flower.json new file mode 100644 index 0000000..1235abc --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/butter_flower.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:butter_flower" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/butter_flower" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/butterfly_pea.json b/src/generated/resources/data/decisland/loot_table/blocks/butterfly_pea.json new file mode 100644 index 0000000..80b8583 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/butterfly_pea.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:butterfly_pea" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/butterfly_pea" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/candy_block.json b/src/generated/resources/data/decisland/loot_table/blocks/candy_block.json new file mode 100644 index 0000000..fded4e9 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/candy_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:candy_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/candy_block" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/chiseled_ice_brick.json b/src/generated/resources/data/decisland/loot_table/blocks/chiseled_ice_brick.json new file mode 100644 index 0000000..deaa7a1 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/chiseled_ice_brick.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:chiseled_ice_brick" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/chiseled_ice_brick" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/cloud_flower.json b/src/generated/resources/data/decisland/loot_table/blocks/cloud_flower.json new file mode 100644 index 0000000..90df267 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/cloud_flower.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:cloud_flower" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/cloud_flower" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/compress_flower_block.json b/src/generated/resources/data/decisland/loot_table/blocks/compress_flower_block.json new file mode 100644 index 0000000..b8c33ae --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/compress_flower_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:compress_flower_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/compress_flower_block" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/compressed_ice.json b/src/generated/resources/data/decisland/loot_table/blocks/compressed_ice.json new file mode 100644 index 0000000..9901c04 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/compressed_ice.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:compressed_ice" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/compressed_ice" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/corn_crop.json b/src/generated/resources/data/decisland/loot_table/blocks/corn_crop.json new file mode 100644 index 0000000..30250a4 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/corn_crop.json @@ -0,0 +1,50 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:any_of", + "terms": [ + { + "block": "decisland:corn_crop", + "condition": "minecraft:block_state_property", + "properties": { + "age": "4", + "half": "lower" + } + }, + { + "block": "decisland:corn_crop", + "condition": "minecraft:block_state_property", + "properties": { + "age": "3", + "half": "upper" + } + } + ] + } + ], + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 3.0, + "min": 1.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "decisland:corn" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/corn_crop" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/crimson_lamp.json b/src/generated/resources/data/decisland/loot_table/blocks/crimson_lamp.json new file mode 100644 index 0000000..d637397 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/crimson_lamp.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:crimson_lamp" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/crimson_lamp" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/crinum.json b/src/generated/resources/data/decisland/loot_table/blocks/crinum.json new file mode 100644 index 0000000..d4b804c --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/crinum.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:crinum" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/crinum" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/dandelion.json b/src/generated/resources/data/decisland/loot_table/blocks/dandelion.json new file mode 100644 index 0000000..c267baa --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/dandelion.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:dandelion" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/dandelion" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/deep_dandelion.json b/src/generated/resources/data/decisland/loot_table/blocks/deep_dandelion.json new file mode 100644 index 0000000..1717743 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/deep_dandelion.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:deep_dandelion" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/deep_dandelion" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/depart_grass.json b/src/generated/resources/data/decisland/loot_table/blocks/depart_grass.json new file mode 100644 index 0000000..2ba286f --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/depart_grass.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:depart_grass" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/depart_grass" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/desert_fan_flower.json b/src/generated/resources/data/decisland/loot_table/blocks/desert_fan_flower.json new file mode 100644 index 0000000..5d7ad22 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/desert_fan_flower.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:desert_fan_flower" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/desert_fan_flower" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/end_coal_ore.json b/src/generated/resources/data/decisland/loot_table/blocks/end_coal_ore.json new file mode 100644 index 0000000..4491d70 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/end_coal_ore.json @@ -0,0 +1,56 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + } + ], + "name": "decisland:end_coal_ore" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5.0, + "min": 3.0 + }, + "function": "minecraft:set_count" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "decisland:coal_nugget" + } + ] + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/end_coal_ore" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/end_diamond_ore.json b/src/generated/resources/data/decisland/loot_table/blocks/end_diamond_ore.json new file mode 100644 index 0000000..d16e86e --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/end_diamond_ore.json @@ -0,0 +1,56 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + } + ], + "name": "decisland:end_diamond_ore" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5.0, + "min": 3.0 + }, + "function": "minecraft:set_count" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "decisland:diamond_nugget" + } + ] + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/end_diamond_ore" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/end_emerald_ore.json b/src/generated/resources/data/decisland/loot_table/blocks/end_emerald_ore.json new file mode 100644 index 0000000..bcef561 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/end_emerald_ore.json @@ -0,0 +1,56 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + } + ], + "name": "decisland:end_emerald_ore" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5.0, + "min": 3.0 + }, + "function": "minecraft:set_count" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "decisland:emerald_nugget" + } + ] + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/end_emerald_ore" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/end_gold_ore.json b/src/generated/resources/data/decisland/loot_table/blocks/end_gold_ore.json new file mode 100644 index 0000000..e0fe3c6 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/end_gold_ore.json @@ -0,0 +1,56 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + } + ], + "name": "decisland:end_gold_ore" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5.0, + "min": 3.0 + }, + "function": "minecraft:set_count" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "minecraft:gold_nugget" + } + ] + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/end_gold_ore" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/end_iron_ore.json b/src/generated/resources/data/decisland/loot_table/blocks/end_iron_ore.json new file mode 100644 index 0000000..eda5127 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/end_iron_ore.json @@ -0,0 +1,56 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + } + ], + "name": "decisland:end_iron_ore" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5.0, + "min": 3.0 + }, + "function": "minecraft:set_count" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "minecraft:iron_nugget" + } + ] + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/end_iron_ore" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/end_lapis_ore.json b/src/generated/resources/data/decisland/loot_table/blocks/end_lapis_ore.json new file mode 100644 index 0000000..f6503dd --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/end_lapis_ore.json @@ -0,0 +1,56 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + } + ], + "name": "decisland:end_lapis_ore" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5.0, + "min": 3.0 + }, + "function": "minecraft:set_count" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "decisland:lapis_nugget" + } + ] + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/end_lapis_ore" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/end_ore.json b/src/generated/resources/data/decisland/loot_table/blocks/end_ore.json new file mode 100644 index 0000000..09a113b --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/end_ore.json @@ -0,0 +1,56 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + } + ], + "name": "decisland:end_ore" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 4.0, + "min": 1.0 + }, + "function": "minecraft:set_count" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "decisland:ender_powder" + } + ] + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/end_ore" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/end_redstone_ore.json b/src/generated/resources/data/decisland/loot_table/blocks/end_redstone_ore.json new file mode 100644 index 0000000..20672bd --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/end_redstone_ore.json @@ -0,0 +1,56 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + } + ], + "name": "decisland:end_redstone_ore" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 4.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "minecraft:redstone" + } + ] + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/end_redstone_ore" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/experience_flower_crop.json b/src/generated/resources/data/decisland/loot_table/blocks/experience_flower_crop.json new file mode 100644 index 0000000..c30ba30 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/experience_flower_crop.json @@ -0,0 +1,69 @@ +{ + "type": "minecraft:block", + "functions": [ + { + "function": "minecraft:explosion_decay" + } + ], + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "block": "decisland:experience_flower_crop", + "condition": "minecraft:block_state_property", + "properties": { + "age": "7" + } + } + ], + "name": "decisland:experience_flower_seeds" + }, + { + "type": "minecraft:item", + "name": "decisland:experience_flower_seeds" + } + ] + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "conditions": [ + { + "block": "decisland:experience_flower_crop", + "condition": "minecraft:block_state_property", + "properties": { + "age": "7" + } + } + ], + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "enchantment": "minecraft:fortune", + "formula": "minecraft:binomial_with_bonus_count", + "function": "minecraft:apply_bonus", + "parameters": { + "extra": 3, + "probability": 0.5714286 + } + } + ], + "name": "decisland:experience_flower_seeds" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/experience_flower_crop" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/fan_flower.json b/src/generated/resources/data/decisland/loot_table/blocks/fan_flower.json new file mode 100644 index 0000000..8576c4b --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/fan_flower.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:fan_flower" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/fan_flower" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/fritillary_crop.json b/src/generated/resources/data/decisland/loot_table/blocks/fritillary_crop.json new file mode 100644 index 0000000..2bbfdc1 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/fritillary_crop.json @@ -0,0 +1,69 @@ +{ + "type": "minecraft:block", + "functions": [ + { + "function": "minecraft:explosion_decay" + } + ], + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "block": "decisland:fritillary_crop", + "condition": "minecraft:block_state_property", + "properties": { + "age": "7" + } + } + ], + "name": "decisland:fritillary" + }, + { + "type": "minecraft:item", + "name": "decisland:fritillary_seeds" + } + ] + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "conditions": [ + { + "block": "decisland:fritillary_crop", + "condition": "minecraft:block_state_property", + "properties": { + "age": "7" + } + } + ], + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "enchantment": "minecraft:fortune", + "formula": "minecraft:binomial_with_bonus_count", + "function": "minecraft:apply_bonus", + "parameters": { + "extra": 3, + "probability": 0.5714286 + } + } + ], + "name": "decisland:fritillary_seeds" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/fritillary_crop" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/frozen_mirror_flower.json b/src/generated/resources/data/decisland/loot_table/blocks/frozen_mirror_flower.json new file mode 100644 index 0000000..d11ef16 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/frozen_mirror_flower.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:frozen_mirror_flower" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/frozen_mirror_flower" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/gold_flower.json b/src/generated/resources/data/decisland/loot_table/blocks/gold_flower.json new file mode 100644 index 0000000..bc1eb32 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/gold_flower.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:gold_flower" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/gold_flower" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/golden_lamp.json b/src/generated/resources/data/decisland/loot_table/blocks/golden_lamp.json new file mode 100644 index 0000000..576e6bb --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/golden_lamp.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:golden_lamp" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/golden_lamp" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/hammer_flower.json b/src/generated/resources/data/decisland/loot_table/blocks/hammer_flower.json new file mode 100644 index 0000000..d505be0 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/hammer_flower.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:hammer_flower" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/hammer_flower" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/houttuynia_crop.json b/src/generated/resources/data/decisland/loot_table/blocks/houttuynia_crop.json new file mode 100644 index 0000000..b83d92f --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/houttuynia_crop.json @@ -0,0 +1,69 @@ +{ + "type": "minecraft:block", + "functions": [ + { + "function": "minecraft:explosion_decay" + } + ], + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "block": "decisland:houttuynia_crop", + "condition": "minecraft:block_state_property", + "properties": { + "age": "7" + } + } + ], + "name": "decisland:houttuynia" + }, + { + "type": "minecraft:item", + "name": "decisland:houttuynia_seeds" + } + ] + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "conditions": [ + { + "block": "decisland:houttuynia_crop", + "condition": "minecraft:block_state_property", + "properties": { + "age": "7" + } + } + ], + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "enchantment": "minecraft:fortune", + "formula": "minecraft:binomial_with_bonus_count", + "function": "minecraft:apply_bonus", + "parameters": { + "extra": 3, + "probability": 0.5714286 + } + } + ], + "name": "decisland:houttuynia_seeds" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/houttuynia_crop" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/ice_brick_block.json b/src/generated/resources/data/decisland/loot_table/blocks/ice_brick_block.json new file mode 100644 index 0000000..156831a --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/ice_brick_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:ice_brick_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/ice_brick_block" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/ice_lantern.json b/src/generated/resources/data/decisland/loot_table/blocks/ice_lantern.json new file mode 100644 index 0000000..0050f45 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/ice_lantern.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:ice_lantern" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/ice_lantern" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/ice_mixed_brick.json b/src/generated/resources/data/decisland/loot_table/blocks/ice_mixed_brick.json new file mode 100644 index 0000000..97e9527 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/ice_mixed_brick.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:ice_mixed_brick" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/ice_mixed_brick" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/lamp_flower.json b/src/generated/resources/data/decisland/loot_table/blocks/lamp_flower.json new file mode 100644 index 0000000..3f64fb2 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/lamp_flower.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:lamp_flower" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/lamp_flower" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/lava_flower_crop.json b/src/generated/resources/data/decisland/loot_table/blocks/lava_flower_crop.json new file mode 100644 index 0000000..c4c0abb --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/lava_flower_crop.json @@ -0,0 +1,69 @@ +{ + "type": "minecraft:block", + "functions": [ + { + "function": "minecraft:explosion_decay" + } + ], + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "block": "decisland:lava_flower_crop", + "condition": "minecraft:block_state_property", + "properties": { + "age": "7" + } + } + ], + "name": "decisland:lava_essence" + }, + { + "type": "minecraft:item", + "name": "decisland:lava_flower_seeds" + } + ] + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "conditions": [ + { + "block": "decisland:lava_flower_crop", + "condition": "minecraft:block_state_property", + "properties": { + "age": "7" + } + } + ], + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "enchantment": "minecraft:fortune", + "formula": "minecraft:binomial_with_bonus_count", + "function": "minecraft:apply_bonus", + "parameters": { + "extra": 3, + "probability": 0.5714286 + } + } + ], + "name": "decisland:lava_flower_seeds" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/lava_flower_crop" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/lava_ore.json b/src/generated/resources/data/decisland/loot_table/blocks/lava_ore.json new file mode 100644 index 0000000..581dbe6 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/lava_ore.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:lava_ore" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/lava_ore" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/leaves_flower.json b/src/generated/resources/data/decisland/loot_table/blocks/leaves_flower.json new file mode 100644 index 0000000..d3eaed0 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/leaves_flower.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:leaves_flower" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/leaves_flower" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/leek_crop.json b/src/generated/resources/data/decisland/loot_table/blocks/leek_crop.json new file mode 100644 index 0000000..2f7b085 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/leek_crop.json @@ -0,0 +1,69 @@ +{ + "type": "minecraft:block", + "functions": [ + { + "function": "minecraft:explosion_decay" + } + ], + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "block": "decisland:leek_crop", + "condition": "minecraft:block_state_property", + "properties": { + "age": "7" + } + } + ], + "name": "decisland:leek" + }, + { + "type": "minecraft:item", + "name": "decisland:leek_seeds" + } + ] + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "conditions": [ + { + "block": "decisland:leek_crop", + "condition": "minecraft:block_state_property", + "properties": { + "age": "7" + } + } + ], + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "enchantment": "minecraft:fortune", + "formula": "minecraft:binomial_with_bonus_count", + "function": "minecraft:apply_bonus", + "parameters": { + "extra": 3, + "probability": 0.5714286 + } + } + ], + "name": "decisland:leek_seeds" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/leek_crop" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/light_obsidian.json b/src/generated/resources/data/decisland/loot_table/blocks/light_obsidian.json new file mode 100644 index 0000000..d5cc6d6 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/light_obsidian.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:light_obsidian" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/light_obsidian" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/lurk_bud.json b/src/generated/resources/data/decisland/loot_table/blocks/lurk_bud.json new file mode 100644 index 0000000..0ceb652 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/lurk_bud.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:lurk_bud" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/lurk_bud" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/lurk_fruit.json b/src/generated/resources/data/decisland/loot_table/blocks/lurk_fruit.json new file mode 100644 index 0000000..3bf2dc5 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/lurk_fruit.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:lurk_fruit" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/lurk_fruit" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/lurk_grass.json b/src/generated/resources/data/decisland/loot_table/blocks/lurk_grass.json new file mode 100644 index 0000000..e805c2b --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/lurk_grass.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:lurk_grass" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/lurk_grass" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/lurk_log.json b/src/generated/resources/data/decisland/loot_table/blocks/lurk_log.json new file mode 100644 index 0000000..66b9c2c --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/lurk_log.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:lurk_log" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/lurk_log" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/lurk_mushroom.json b/src/generated/resources/data/decisland/loot_table/blocks/lurk_mushroom.json new file mode 100644 index 0000000..ea00968 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/lurk_mushroom.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:lurk_mushroom" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/lurk_mushroom" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/lurk_orchid.json b/src/generated/resources/data/decisland/loot_table/blocks/lurk_orchid.json new file mode 100644 index 0000000..3ef0a5e --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/lurk_orchid.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:lurk_orchid" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/lurk_orchid" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/lurk_spring.json b/src/generated/resources/data/decisland/loot_table/blocks/lurk_spring.json new file mode 100644 index 0000000..6edf47d --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/lurk_spring.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:lurk_spring" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/lurk_spring" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/maple_flower.json b/src/generated/resources/data/decisland/loot_table/blocks/maple_flower.json new file mode 100644 index 0000000..2046a49 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/maple_flower.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:maple_flower" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/maple_flower" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/mock_strawberry.json b/src/generated/resources/data/decisland/loot_table/blocks/mock_strawberry.json new file mode 100644 index 0000000..e8b49d4 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/mock_strawberry.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:mock_strawberry" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/mock_strawberry" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/mooli_crop.json b/src/generated/resources/data/decisland/loot_table/blocks/mooli_crop.json new file mode 100644 index 0000000..f75eb1b --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/mooli_crop.json @@ -0,0 +1,69 @@ +{ + "type": "minecraft:block", + "functions": [ + { + "function": "minecraft:explosion_decay" + } + ], + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "block": "decisland:mooli_crop", + "condition": "minecraft:block_state_property", + "properties": { + "age": "7" + } + } + ], + "name": "decisland:mooli" + }, + { + "type": "minecraft:item", + "name": "decisland:mooli_seeds" + } + ] + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "conditions": [ + { + "block": "decisland:mooli_crop", + "condition": "minecraft:block_state_property", + "properties": { + "age": "7" + } + } + ], + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "enchantment": "minecraft:fortune", + "formula": "minecraft:binomial_with_bonus_count", + "function": "minecraft:apply_bonus", + "parameters": { + "extra": 3, + "probability": 0.5714286 + } + } + ], + "name": "decisland:mooli_seeds" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/mooli_crop" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/mouth_flower.json b/src/generated/resources/data/decisland/loot_table/blocks/mouth_flower.json new file mode 100644 index 0000000..3332214 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/mouth_flower.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:mouth_flower" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/mouth_flower" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/nether_coal_ore.json b/src/generated/resources/data/decisland/loot_table/blocks/nether_coal_ore.json new file mode 100644 index 0000000..f980689 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/nether_coal_ore.json @@ -0,0 +1,56 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + } + ], + "name": "decisland:nether_coal_ore" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5.0, + "min": 3.0 + }, + "function": "minecraft:set_count" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "decisland:coal_nugget" + } + ] + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/nether_coal_ore" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/nether_dandelion.json b/src/generated/resources/data/decisland/loot_table/blocks/nether_dandelion.json new file mode 100644 index 0000000..6e3babd --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/nether_dandelion.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:nether_dandelion" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/nether_dandelion" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/nether_diamond_ore.json b/src/generated/resources/data/decisland/loot_table/blocks/nether_diamond_ore.json new file mode 100644 index 0000000..9189cec --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/nether_diamond_ore.json @@ -0,0 +1,56 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + } + ], + "name": "decisland:nether_diamond_ore" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5.0, + "min": 3.0 + }, + "function": "minecraft:set_count" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "decisland:diamond_nugget" + } + ] + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/nether_diamond_ore" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/nether_emerald_ore.json b/src/generated/resources/data/decisland/loot_table/blocks/nether_emerald_ore.json new file mode 100644 index 0000000..1cba40e --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/nether_emerald_ore.json @@ -0,0 +1,56 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + } + ], + "name": "decisland:nether_emerald_ore" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5.0, + "min": 3.0 + }, + "function": "minecraft:set_count" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "decisland:emerald_nugget" + } + ] + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/nether_emerald_ore" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/nether_iron_ore.json b/src/generated/resources/data/decisland/loot_table/blocks/nether_iron_ore.json new file mode 100644 index 0000000..b373929 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/nether_iron_ore.json @@ -0,0 +1,56 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + } + ], + "name": "decisland:nether_iron_ore" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5.0, + "min": 3.0 + }, + "function": "minecraft:set_count" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "minecraft:iron_nugget" + } + ] + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/nether_iron_ore" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/nether_lapis_ore.json b/src/generated/resources/data/decisland/loot_table/blocks/nether_lapis_ore.json new file mode 100644 index 0000000..10e3843 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/nether_lapis_ore.json @@ -0,0 +1,56 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + } + ], + "name": "decisland:nether_lapis_ore" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5.0, + "min": 3.0 + }, + "function": "minecraft:set_count" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "decisland:lapis_nugget" + } + ] + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/nether_lapis_ore" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/nether_redstone_ore.json b/src/generated/resources/data/decisland/loot_table/blocks/nether_redstone_ore.json new file mode 100644 index 0000000..731f19e --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/nether_redstone_ore.json @@ -0,0 +1,56 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + } + ], + "name": "decisland:nether_redstone_ore" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 4.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "minecraft:redstone" + } + ] + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/nether_redstone_ore" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/nether_stick_flower.json b/src/generated/resources/data/decisland/loot_table/blocks/nether_stick_flower.json new file mode 100644 index 0000000..fc56d1a --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/nether_stick_flower.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:nether_stick_flower" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/nether_stick_flower" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/pink_dandelion.json b/src/generated/resources/data/decisland/loot_table/blocks/pink_dandelion.json new file mode 100644 index 0000000..42e3687 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/pink_dandelion.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:pink_dandelion" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/pink_dandelion" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/pink_fan_flower.json b/src/generated/resources/data/decisland/loot_table/blocks/pink_fan_flower.json new file mode 100644 index 0000000..adbabdc --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/pink_fan_flower.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:pink_fan_flower" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/pink_fan_flower" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/pink_flower_block.json b/src/generated/resources/data/decisland/loot_table/blocks/pink_flower_block.json new file mode 100644 index 0000000..7dbfc53 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/pink_flower_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:pink_flower_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/pink_flower_block" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/red_flower_block.json b/src/generated/resources/data/decisland/loot_table/blocks/red_flower_block.json new file mode 100644 index 0000000..2b17df4 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/red_flower_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:red_flower_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/red_flower_block" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/red_gem_ore.json b/src/generated/resources/data/decisland/loot_table/blocks/red_gem_ore.json new file mode 100644 index 0000000..d502e8e --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/red_gem_ore.json @@ -0,0 +1,56 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + } + ], + "name": "decisland:red_gem_ore" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 3.0, + "min": 1.0 + }, + "function": "minecraft:set_count" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "decisland:red_gem_debris" + } + ] + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/red_gem_ore" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/red_spider_lily.json b/src/generated/resources/data/decisland/loot_table/blocks/red_spider_lily.json new file mode 100644 index 0000000..17db286 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/red_spider_lily.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:red_spider_lily" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/red_spider_lily" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/red_stonebrick.json b/src/generated/resources/data/decisland/loot_table/blocks/red_stonebrick.json new file mode 100644 index 0000000..0b78587 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/red_stonebrick.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:red_stonebrick" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/red_stonebrick" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/rice_crop.json b/src/generated/resources/data/decisland/loot_table/blocks/rice_crop.json new file mode 100644 index 0000000..e11fc5b --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/rice_crop.json @@ -0,0 +1,69 @@ +{ + "type": "minecraft:block", + "functions": [ + { + "function": "minecraft:explosion_decay" + } + ], + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "block": "decisland:rice_crop", + "condition": "minecraft:block_state_property", + "properties": { + "age": "7" + } + } + ], + "name": "decisland:rice" + }, + { + "type": "minecraft:item", + "name": "decisland:rice_seeds" + } + ] + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "conditions": [ + { + "block": "decisland:rice_crop", + "condition": "minecraft:block_state_property", + "properties": { + "age": "7" + } + } + ], + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "enchantment": "minecraft:fortune", + "formula": "minecraft:binomial_with_bonus_count", + "function": "minecraft:apply_bonus", + "parameters": { + "extra": 3, + "probability": 0.5714286 + } + } + ], + "name": "decisland:rice_seeds" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/rice_crop" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/rosemary.json b/src/generated/resources/data/decisland/loot_table/blocks/rosemary.json new file mode 100644 index 0000000..1979087 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/rosemary.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:rosemary" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/rosemary" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/rotten_flesh_block.json b/src/generated/resources/data/decisland/loot_table/blocks/rotten_flesh_block.json new file mode 100644 index 0000000..171fb90 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/rotten_flesh_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:rotten_flesh_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/rotten_flesh_block" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/russet_grass.json b/src/generated/resources/data/decisland/loot_table/blocks/russet_grass.json new file mode 100644 index 0000000..b561b73 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/russet_grass.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:russet_grass" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/russet_grass" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/smooth_amethyst_block.json b/src/generated/resources/data/decisland/loot_table/blocks/smooth_amethyst_block.json new file mode 100644 index 0000000..c9ba082 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/smooth_amethyst_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:smooth_amethyst_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/smooth_amethyst_block" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/snow_flower.json b/src/generated/resources/data/decisland/loot_table/blocks/snow_flower.json new file mode 100644 index 0000000..3e4cc0d --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/snow_flower.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:snow_flower" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/snow_flower" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/snow_lotus.json b/src/generated/resources/data/decisland/loot_table/blocks/snow_lotus.json new file mode 100644 index 0000000..4a2e9d4 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/snow_lotus.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:snow_lotus" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/snow_lotus" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/solidified_lava_block.json b/src/generated/resources/data/decisland/loot_table/blocks/solidified_lava_block.json new file mode 100644 index 0000000..ff72ba2 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/solidified_lava_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:solidified_lava_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/solidified_lava_block" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/soul_soil_diamond_ore.json b/src/generated/resources/data/decisland/loot_table/blocks/soul_soil_diamond_ore.json new file mode 100644 index 0000000..6ab2307 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/soul_soil_diamond_ore.json @@ -0,0 +1,56 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + } + ], + "name": "decisland:soul_soil_diamond_ore" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 4.0, + "min": 1.0 + }, + "function": "minecraft:set_count" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "decisland:diamond_nugget" + } + ] + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/soul_soil_diamond_ore" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/soybean_crop.json b/src/generated/resources/data/decisland/loot_table/blocks/soybean_crop.json new file mode 100644 index 0000000..b6ab39c --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/soybean_crop.json @@ -0,0 +1,69 @@ +{ + "type": "minecraft:block", + "functions": [ + { + "function": "minecraft:explosion_decay" + } + ], + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "block": "decisland:soybean_crop", + "condition": "minecraft:block_state_property", + "properties": { + "age": "7" + } + } + ], + "name": "decisland:soybean" + }, + { + "type": "minecraft:item", + "name": "decisland:soybean" + } + ] + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "conditions": [ + { + "block": "decisland:soybean_crop", + "condition": "minecraft:block_state_property", + "properties": { + "age": "7" + } + } + ], + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "enchantment": "minecraft:fortune", + "formula": "minecraft:binomial_with_bonus_count", + "function": "minecraft:apply_bonus", + "parameters": { + "extra": 3, + "probability": 0.5714286 + } + } + ], + "name": "decisland:soybean" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/soybean_crop" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/spark_flower.json b/src/generated/resources/data/decisland/loot_table/blocks/spark_flower.json new file mode 100644 index 0000000..21ae1b3 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/spark_flower.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:spark_flower" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/spark_flower" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/spell_flower.json b/src/generated/resources/data/decisland/loot_table/blocks/spell_flower.json new file mode 100644 index 0000000..319ef8b --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/spell_flower.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:spell_flower" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/spell_flower" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/star_flower.json b/src/generated/resources/data/decisland/loot_table/blocks/star_flower.json new file mode 100644 index 0000000..21ea70d --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/star_flower.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:star_flower" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/star_flower" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/steel_block.json b/src/generated/resources/data/decisland/loot_table/blocks/steel_block.json new file mode 100644 index 0000000..be53a37 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/steel_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:steel_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/steel_block" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/stick_flower.json b/src/generated/resources/data/decisland/loot_table/blocks/stick_flower.json new file mode 100644 index 0000000..c59346a --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/stick_flower.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:stick_flower" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/stick_flower" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/stream_ore.json b/src/generated/resources/data/decisland/loot_table/blocks/stream_ore.json new file mode 100644 index 0000000..991cf06 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/stream_ore.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:stream_ore" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/stream_ore" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/thyme.json b/src/generated/resources/data/decisland/loot_table/blocks/thyme.json new file mode 100644 index 0000000..0d4b1da --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/thyme.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:thyme" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/thyme" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/uranium_block.json b/src/generated/resources/data/decisland/loot_table/blocks/uranium_block.json new file mode 100644 index 0000000..63140c6 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/uranium_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:uranium_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/uranium_block" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/uranium_ore.json b/src/generated/resources/data/decisland/loot_table/blocks/uranium_ore.json new file mode 100644 index 0000000..ac43781 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/uranium_ore.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:uranium_ore" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/uranium_ore" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/white_flower_block.json b/src/generated/resources/data/decisland/loot_table/blocks/white_flower_block.json new file mode 100644 index 0000000..6bf1831 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/white_flower_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:white_flower_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/white_flower_block" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/wither_cone.json b/src/generated/resources/data/decisland/loot_table/blocks/wither_cone.json new file mode 100644 index 0000000..767781f --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/wither_cone.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:wither_cone" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/wither_cone" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/yellow_butterfly_flower.json b/src/generated/resources/data/decisland/loot_table/blocks/yellow_butterfly_flower.json new file mode 100644 index 0000000..07eb207 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/yellow_butterfly_flower.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:yellow_butterfly_flower" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/yellow_butterfly_flower" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/loot_table/blocks/yellow_flower_block.json b/src/generated/resources/data/decisland/loot_table/blocks/yellow_flower_block.json new file mode 100644 index 0000000..f7e3623 --- /dev/null +++ b/src/generated/resources/data/decisland/loot_table/blocks/yellow_flower_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "decisland:yellow_flower_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "decisland:blocks/yellow_flower_block" +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/a_bowl_of_rice.json b/src/generated/resources/data/decisland/recipe/a_bowl_of_rice.json new file mode 100644 index 0000000..844ddb6 --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/a_bowl_of_rice.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "item": "decisland:rice" + }, + "X": { + "item": "minecraft:bowl" + } + }, + "pattern": [ + "###", + " X " + ], + "result": { + "count": 1, + "id": "decisland:a_bowl_of_rice" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/amethyst_axe.json b/src/generated/resources/data/decisland/recipe/amethyst_axe.json new file mode 100644 index 0000000..f7c29ad --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/amethyst_axe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "#": { + "item": "minecraft:stick" + }, + "X": { + "item": "minecraft:amethyst_shard" + } + }, + "pattern": [ + "XX", + "X#", + " #" + ], + "result": { + "count": 1, + "id": "decisland:amethyst_axe" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/amethyst_dagger.json b/src/generated/resources/data/decisland/recipe/amethyst_dagger.json new file mode 100644 index 0000000..bf7fdc8 --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/amethyst_dagger.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "A": { + "item": "minecraft:amethyst_shard" + }, + "X": { + "item": "minecraft:stick" + } + }, + "pattern": [ + "A", + "X" + ], + "result": { + "count": 1, + "id": "decisland:amethyst_dagger" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/amethyst_pickaxe.json b/src/generated/resources/data/decisland/recipe/amethyst_pickaxe.json new file mode 100644 index 0000000..3898811 --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/amethyst_pickaxe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "#": { + "item": "minecraft:stick" + }, + "X": { + "item": "minecraft:amethyst_shard" + } + }, + "pattern": [ + "XXX", + " # ", + " # " + ], + "result": { + "count": 1, + "id": "decisland:amethyst_pickaxe" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/blast_furnace_copper_battleaxe.json b/src/generated/resources/data/decisland/recipe/blast_furnace_copper_battleaxe.json new file mode 100644 index 0000000..4516546 --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/blast_furnace_copper_battleaxe.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:blasting", + "category": "misc", + "cookingtime": 100, + "experience": 0.1, + "ingredient": { + "item": "decisland:copper_battleaxe" + }, + "result": { + "count": 1, + "id": "minecraft:copper_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/blast_furnace_diamond_axe.json b/src/generated/resources/data/decisland/recipe/blast_furnace_diamond_axe.json new file mode 100644 index 0000000..b859b27 --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/blast_furnace_diamond_axe.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:blasting", + "category": "misc", + "cookingtime": 100, + "experience": 0.1, + "ingredient": { + "item": "minecraft:diamond_axe" + }, + "result": { + "count": 1, + "id": "decisland:diamond_nugget" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/blast_furnace_diamond_dagger.json b/src/generated/resources/data/decisland/recipe/blast_furnace_diamond_dagger.json new file mode 100644 index 0000000..fb27b2c --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/blast_furnace_diamond_dagger.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:blasting", + "category": "misc", + "cookingtime": 100, + "experience": 0.1, + "ingredient": { + "item": "decisland:diamond_dagger" + }, + "result": { + "count": 1, + "id": "decisland:diamond_nugget" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/blast_furnace_diamond_pickaxe.json b/src/generated/resources/data/decisland/recipe/blast_furnace_diamond_pickaxe.json new file mode 100644 index 0000000..a374c09 --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/blast_furnace_diamond_pickaxe.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:blasting", + "category": "misc", + "cookingtime": 100, + "experience": 0.1, + "ingredient": { + "item": "minecraft:diamond_pickaxe" + }, + "result": { + "count": 1, + "id": "decisland:diamond_nugget" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/blast_furnace_emerald_dagger.json b/src/generated/resources/data/decisland/recipe/blast_furnace_emerald_dagger.json new file mode 100644 index 0000000..e02b5a9 --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/blast_furnace_emerald_dagger.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:blasting", + "category": "misc", + "cookingtime": 100, + "experience": 0.1, + "ingredient": { + "item": "decisland:emerald_dagger" + }, + "result": { + "count": 1, + "id": "decisland:emerald_nugget" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/blast_furnace_golden_dagger.json b/src/generated/resources/data/decisland/recipe/blast_furnace_golden_dagger.json new file mode 100644 index 0000000..0dbbf86 --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/blast_furnace_golden_dagger.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:blasting", + "category": "misc", + "cookingtime": 100, + "experience": 0.1, + "ingredient": { + "item": "decisland:golden_dagger" + }, + "result": { + "count": 1, + "id": "minecraft:gold_nugget" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/blast_furnace_steel_battleaxe.json b/src/generated/resources/data/decisland/recipe/blast_furnace_steel_battleaxe.json new file mode 100644 index 0000000..3f1144a --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/blast_furnace_steel_battleaxe.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:blasting", + "category": "misc", + "cookingtime": 100, + "experience": 0.1, + "ingredient": { + "item": "decisland:steel_battleaxe" + }, + "result": { + "count": 1, + "id": "decisland:steel_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/blast_furnace_steel_dagger.json b/src/generated/resources/data/decisland/recipe/blast_furnace_steel_dagger.json new file mode 100644 index 0000000..34c01ef --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/blast_furnace_steel_dagger.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:blasting", + "category": "misc", + "cookingtime": 100, + "experience": 0.1, + "ingredient": { + "item": "decisland:steel_dagger" + }, + "result": { + "count": 1, + "id": "decisland:steel_nugget" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/copper_battleaxe.json b/src/generated/resources/data/decisland/recipe/copper_battleaxe.json new file mode 100644 index 0000000..b0813e5 --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/copper_battleaxe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "#": { + "item": "decisland:iron_stick" + }, + "X": { + "item": "minecraft:copper_ingot" + } + }, + "pattern": [ + "XXX", + " #X", + " # " + ], + "result": { + "count": 1, + "id": "decisland:copper_battleaxe" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/copper_dagger.json b/src/generated/resources/data/decisland/recipe/copper_dagger.json new file mode 100644 index 0000000..8098a7b --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/copper_dagger.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "A": { + "item": "minecraft:copper_ingot" + }, + "X": { + "item": "minecraft:stick" + } + }, + "pattern": [ + "A", + "X" + ], + "result": { + "count": 1, + "id": "decisland:copper_dagger" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/coral_axe.json b/src/generated/resources/data/decisland/recipe/coral_axe.json new file mode 100644 index 0000000..2b2f812 --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/coral_axe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "#": { + "item": "decisland:sharp_coral" + }, + "X": { + "item": "decisland:coral_ingot" + } + }, + "pattern": [ + "XX", + "X#", + " #" + ], + "result": { + "count": 1, + "id": "decisland:coral_axe" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/coral_pickaxe.json b/src/generated/resources/data/decisland/recipe/coral_pickaxe.json new file mode 100644 index 0000000..5b230e8 --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/coral_pickaxe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "#": { + "item": "decisland:sharp_coral" + }, + "X": { + "item": "decisland:coral_ingot" + } + }, + "pattern": [ + "XXX", + " # ", + " # " + ], + "result": { + "count": 1, + "id": "decisland:coral_pickaxe" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/crab_leg_cooked_from_blasting.json b/src/generated/resources/data/decisland/recipe/crab_leg_cooked_from_blasting.json new file mode 100644 index 0000000..8637301 --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/crab_leg_cooked_from_blasting.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:blasting", + "category": "misc", + "cookingtime": 100, + "experience": 0.35, + "ingredient": { + "item": "decisland:crab_leg" + }, + "result": { + "count": 1, + "id": "decisland:crab_leg_cooked" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/crab_leg_cooked_from_campfire_cooking.json b/src/generated/resources/data/decisland/recipe/crab_leg_cooked_from_campfire_cooking.json new file mode 100644 index 0000000..8f799ef --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/crab_leg_cooked_from_campfire_cooking.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:campfire_cooking", + "category": "food", + "cookingtime": 600, + "experience": 0.35, + "ingredient": { + "item": "decisland:crab_leg" + }, + "result": { + "count": 1, + "id": "decisland:crab_leg_cooked" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/crab_leg_cooked_from_smelting.json b/src/generated/resources/data/decisland/recipe/crab_leg_cooked_from_smelting.json new file mode 100644 index 0000000..41a33a0 --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/crab_leg_cooked_from_smelting.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smelting", + "category": "food", + "cookingtime": 200, + "experience": 0.35, + "ingredient": { + "item": "decisland:crab_leg" + }, + "result": { + "count": 1, + "id": "decisland:crab_leg_cooked" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/crab_leg_cooked_from_smoking.json b/src/generated/resources/data/decisland/recipe/crab_leg_cooked_from_smoking.json new file mode 100644 index 0000000..ea2d646 --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/crab_leg_cooked_from_smoking.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smoking", + "category": "food", + "cookingtime": 100, + "experience": 0.35, + "ingredient": { + "item": "decisland:crab_leg" + }, + "result": { + "count": 1, + "id": "decisland:crab_leg_cooked" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/diamond_dagger.json b/src/generated/resources/data/decisland/recipe/diamond_dagger.json new file mode 100644 index 0000000..eccfdc0 --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/diamond_dagger.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "A": { + "item": "minecraft:diamond" + }, + "X": { + "item": "minecraft:stick" + } + }, + "pattern": [ + "A", + "X" + ], + "result": { + "count": 1, + "id": "decisland:diamond_dagger" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/emerald_axe.json b/src/generated/resources/data/decisland/recipe/emerald_axe.json new file mode 100644 index 0000000..7651898 --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/emerald_axe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "#": { + "item": "minecraft:stick" + }, + "X": { + "item": "minecraft:emerald" + } + }, + "pattern": [ + "XX", + "X#", + " #" + ], + "result": { + "count": 1, + "id": "decisland:emerald_axe" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/emerald_dagger.json b/src/generated/resources/data/decisland/recipe/emerald_dagger.json new file mode 100644 index 0000000..70a5d13 --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/emerald_dagger.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "A": { + "item": "minecraft:emerald" + }, + "X": { + "item": "minecraft:stick" + } + }, + "pattern": [ + "A", + "X" + ], + "result": { + "count": 1, + "id": "decisland:emerald_dagger" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/emerald_pickaxe.json b/src/generated/resources/data/decisland/recipe/emerald_pickaxe.json new file mode 100644 index 0000000..c3f1dfb --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/emerald_pickaxe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "#": { + "item": "minecraft:stick" + }, + "X": { + "item": "minecraft:emerald" + } + }, + "pattern": [ + "XXX", + " # ", + " # " + ], + "result": { + "count": 1, + "id": "decisland:emerald_pickaxe" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/everlasting_winter_dagger.json b/src/generated/resources/data/decisland/recipe/everlasting_winter_dagger.json new file mode 100644 index 0000000..a652511 --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/everlasting_winter_dagger.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "A": { + "item": "decisland:diamond_dagger" + }, + "B": { + "item": "decisland:everlasting_winter_stick" + }, + "X": { + "item": "decisland:everlasting_winter_ingot" + } + }, + "pattern": [ + "X", + "A", + "B" + ], + "result": { + "count": 1, + "id": "decisland:everlasting_winter_dagger" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/everlasting_winter_stick.json b/src/generated/resources/data/decisland/recipe/everlasting_winter_stick.json new file mode 100644 index 0000000..6512e7e --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/everlasting_winter_stick.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "decisland:ice_rod" + }, + { + "item": "decisland:everlasting_winter_ingot" + } + ], + "result": { + "count": 1, + "id": "decisland:everlasting_winter_stick" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/everlasting_winter_sword.json b/src/generated/resources/data/decisland/recipe/everlasting_winter_sword.json new file mode 100644 index 0000000..6f347e5 --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/everlasting_winter_sword.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "A": { + "item": "minecraft:diamond_sword" + }, + "B": { + "item": "decisland:everlasting_winter_stick" + }, + "X": { + "item": "decisland:everlasting_winter_ingot" + } + }, + "pattern": [ + " X ", + "XAX", + " B " + ], + "result": { + "count": 1, + "id": "decisland:everlasting_winter_sword" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/frozen_power.json b/src/generated/resources/data/decisland/recipe/frozen_power.json new file mode 100644 index 0000000..02a459a --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/frozen_power.json @@ -0,0 +1,31 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "decisland:frozen_power_debris" + }, + { + "item": "decisland:frozen_power_debris" + }, + { + "item": "decisland:frozen_power_debris" + }, + { + "item": "decisland:frozen_power_debris" + }, + { + "item": "decisland:frozen_power_debris" + }, + { + "item": "decisland:frozen_power_debris" + }, + { + "item": "decisland:frozen_power_debris" + } + ], + "result": { + "count": 1, + "id": "decisland:frozen_power" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/furnace_copper_battleaxe.json b/src/generated/resources/data/decisland/recipe/furnace_copper_battleaxe.json new file mode 100644 index 0000000..10d19d4 --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/furnace_copper_battleaxe.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smelting", + "category": "misc", + "cookingtime": 200, + "experience": 0.1, + "ingredient": { + "item": "decisland:copper_battleaxe" + }, + "result": { + "count": 1, + "id": "minecraft:copper_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/furnace_diamond_axe.json b/src/generated/resources/data/decisland/recipe/furnace_diamond_axe.json new file mode 100644 index 0000000..6bdee2d --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/furnace_diamond_axe.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smelting", + "category": "misc", + "cookingtime": 200, + "experience": 0.1, + "ingredient": { + "item": "minecraft:diamond_axe" + }, + "result": { + "count": 1, + "id": "decisland:diamond_nugget" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/furnace_diamond_dagger.json b/src/generated/resources/data/decisland/recipe/furnace_diamond_dagger.json new file mode 100644 index 0000000..6ca8d5d --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/furnace_diamond_dagger.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smelting", + "category": "misc", + "cookingtime": 200, + "experience": 0.1, + "ingredient": { + "item": "decisland:diamond_dagger" + }, + "result": { + "count": 1, + "id": "decisland:diamond_nugget" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/furnace_diamond_pickaxe.json b/src/generated/resources/data/decisland/recipe/furnace_diamond_pickaxe.json new file mode 100644 index 0000000..64d9195 --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/furnace_diamond_pickaxe.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smelting", + "category": "misc", + "cookingtime": 200, + "experience": 0.1, + "ingredient": { + "item": "minecraft:diamond_pickaxe" + }, + "result": { + "count": 1, + "id": "decisland:diamond_nugget" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/furnace_emerald_dagger.json b/src/generated/resources/data/decisland/recipe/furnace_emerald_dagger.json new file mode 100644 index 0000000..91c441f --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/furnace_emerald_dagger.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smelting", + "category": "misc", + "cookingtime": 200, + "experience": 0.1, + "ingredient": { + "item": "decisland:emerald_dagger" + }, + "result": { + "count": 1, + "id": "decisland:emerald_nugget" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/furnace_golden_dagger.json b/src/generated/resources/data/decisland/recipe/furnace_golden_dagger.json new file mode 100644 index 0000000..a24457a --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/furnace_golden_dagger.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smelting", + "category": "misc", + "cookingtime": 200, + "experience": 0.1, + "ingredient": { + "item": "decisland:golden_dagger" + }, + "result": { + "count": 1, + "id": "minecraft:gold_nugget" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/furnace_steel_battleaxe.json b/src/generated/resources/data/decisland/recipe/furnace_steel_battleaxe.json new file mode 100644 index 0000000..b90274a --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/furnace_steel_battleaxe.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smelting", + "category": "misc", + "cookingtime": 200, + "experience": 0.1, + "ingredient": { + "item": "decisland:steel_battleaxe" + }, + "result": { + "count": 1, + "id": "decisland:steel_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/furnace_steel_dagger.json b/src/generated/resources/data/decisland/recipe/furnace_steel_dagger.json new file mode 100644 index 0000000..3e5a34e --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/furnace_steel_dagger.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smelting", + "category": "misc", + "cookingtime": 200, + "experience": 0.1, + "ingredient": { + "item": "decisland:steel_dagger" + }, + "result": { + "count": 1, + "id": "decisland:steel_nugget" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/ghost_dagger.json b/src/generated/resources/data/decisland/recipe/ghost_dagger.json new file mode 100644 index 0000000..0dd1757 --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/ghost_dagger.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "A": { + "item": "decisland:ghost_ingot" + }, + "X": { + "item": "minecraft:stick" + } + }, + "pattern": [ + "A", + "X" + ], + "result": { + "count": 1, + "id": "decisland:ghost_dagger" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/ghost_sword.json b/src/generated/resources/data/decisland/recipe/ghost_sword.json new file mode 100644 index 0000000..76288f8 --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/ghost_sword.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "A": { + "item": "decisland:ghost_ingot" + }, + "X": { + "item": "decisland:ice_rod" + } + }, + "pattern": [ + "A", + "A", + "X" + ], + "result": { + "count": 1, + "id": "decisland:ghost_sword" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/glass_axe.json b/src/generated/resources/data/decisland/recipe/glass_axe.json new file mode 100644 index 0000000..4480662 --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/glass_axe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "#": { + "item": "minecraft:stick" + }, + "X": { + "item": "decisland:glass_ingot" + } + }, + "pattern": [ + "XX", + "X#", + " #" + ], + "result": { + "count": 1, + "id": "decisland:glass_axe" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/glass_pickaxe.json b/src/generated/resources/data/decisland/recipe/glass_pickaxe.json new file mode 100644 index 0000000..2c9b180 --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/glass_pickaxe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "#": { + "item": "minecraft:stick" + }, + "X": { + "item": "decisland:glass_ingot" + } + }, + "pattern": [ + "XXX", + " # ", + " # " + ], + "result": { + "count": 1, + "id": "decisland:glass_pickaxe" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/gold_dagger.json b/src/generated/resources/data/decisland/recipe/gold_dagger.json new file mode 100644 index 0000000..ad0c46a --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/gold_dagger.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "A": { + "item": "minecraft:gold_ingot" + }, + "X": { + "item": "minecraft:stick" + } + }, + "pattern": [ + "A", + "X" + ], + "result": { + "count": 1, + "id": "decisland:golden_dagger" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/growth.json b/src/generated/resources/data/decisland/recipe/growth.json new file mode 100644 index 0000000..384d206 --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/growth.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "#": { + "item": "decisland:iron_stick" + }, + "A": { + "item": "minecraft:glow_berries" + }, + "B": { + "item": "minecraft:vine" + }, + "X": { + "item": "decisland:pure_ingot" + } + }, + "pattern": [ + "AXA", + "AXA", + "B#B" + ], + "result": { + "count": 1, + "id": "decisland:growth" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/iron_dagger.json b/src/generated/resources/data/decisland/recipe/iron_dagger.json new file mode 100644 index 0000000..83711be --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/iron_dagger.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "A": { + "item": "minecraft:iron_ingot" + }, + "X": { + "item": "minecraft:stick" + } + }, + "pattern": [ + "A", + "X" + ], + "result": { + "count": 1, + "id": "decisland:iron_dagger" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/lapis_dagger.json b/src/generated/resources/data/decisland/recipe/lapis_dagger.json new file mode 100644 index 0000000..1c070f9 --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/lapis_dagger.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "A": { + "item": "minecraft:lapis_lazuli" + }, + "X": { + "item": "minecraft:stick" + } + }, + "pattern": [ + "A", + "X" + ], + "result": { + "count": 1, + "id": "decisland:lapis_dagger" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/leaves_dagger.json b/src/generated/resources/data/decisland/recipe/leaves_dagger.json new file mode 100644 index 0000000..745490d --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/leaves_dagger.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "A": { + "item": "decisland:eye_of_nature" + }, + "X": { + "item": "minecraft:stick" + } + }, + "pattern": [ + "A", + "X" + ], + "result": { + "count": 1, + "id": "decisland:leaves_dagger" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/leek_cooked_from_campfire_cooking.json b/src/generated/resources/data/decisland/recipe/leek_cooked_from_campfire_cooking.json new file mode 100644 index 0000000..727a2bf --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/leek_cooked_from_campfire_cooking.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:campfire_cooking", + "category": "food", + "cookingtime": 600, + "experience": 0.35, + "ingredient": { + "item": "decisland:leek" + }, + "result": { + "count": 1, + "id": "decisland:leek_cooked" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/leek_cooked_from_smelting.json b/src/generated/resources/data/decisland/recipe/leek_cooked_from_smelting.json new file mode 100644 index 0000000..504e53e --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/leek_cooked_from_smelting.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smelting", + "category": "food", + "cookingtime": 200, + "experience": 0.35, + "ingredient": { + "item": "decisland:leek" + }, + "result": { + "count": 1, + "id": "decisland:leek_cooked" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/leek_cooked_from_smoking.json b/src/generated/resources/data/decisland/recipe/leek_cooked_from_smoking.json new file mode 100644 index 0000000..6c053a6 --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/leek_cooked_from_smoking.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smoking", + "category": "food", + "cookingtime": 100, + "experience": 0.35, + "ingredient": { + "item": "decisland:leek" + }, + "result": { + "count": 1, + "id": "decisland:leek_cooked" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/netherite_dagger.json b/src/generated/resources/data/decisland/recipe/netherite_dagger.json new file mode 100644 index 0000000..4ffcf98 --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/netherite_dagger.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "A": { + "item": "minecraft:netherite_ingot" + }, + "X": { + "item": "minecraft:stick" + } + }, + "pattern": [ + "A", + "X" + ], + "result": { + "count": 1, + "id": "decisland:netherite_dagger" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/perch_cooked_from_campfire_cooking.json b/src/generated/resources/data/decisland/recipe/perch_cooked_from_campfire_cooking.json new file mode 100644 index 0000000..e76872b --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/perch_cooked_from_campfire_cooking.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:campfire_cooking", + "category": "food", + "cookingtime": 600, + "experience": 0.35, + "ingredient": { + "item": "decisland:perch" + }, + "result": { + "count": 1, + "id": "decisland:perch_cooked" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/perch_cooked_from_smelting.json b/src/generated/resources/data/decisland/recipe/perch_cooked_from_smelting.json new file mode 100644 index 0000000..697cba6 --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/perch_cooked_from_smelting.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smelting", + "category": "food", + "cookingtime": 200, + "experience": 0.35, + "ingredient": { + "item": "decisland:perch" + }, + "result": { + "count": 1, + "id": "decisland:perch_cooked" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/perch_cooked_from_smoking.json b/src/generated/resources/data/decisland/recipe/perch_cooked_from_smoking.json new file mode 100644 index 0000000..d1cbccd --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/perch_cooked_from_smoking.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smoking", + "category": "food", + "cookingtime": 100, + "experience": 0.35, + "ingredient": { + "item": "decisland:perch" + }, + "result": { + "count": 1, + "id": "decisland:perch_cooked" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/rice.json b/src/generated/resources/data/decisland/recipe/rice.json new file mode 100644 index 0000000..afb65cd --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/rice.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "item": "decisland:rice_seeds" + } + }, + "pattern": [ + "#" + ], + "result": { + "count": 1, + "id": "decisland:rice" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/rice_wine.json b/src/generated/resources/data/decisland/recipe/rice_wine.json new file mode 100644 index 0000000..34a921e --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/rice_wine.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "item": "decisland:wine_glass" + }, + "X": { + "item": "decisland:rice" + } + }, + "pattern": [ + "X ", + "# " + ], + "result": { + "count": 1, + "id": "decisland:rice_wine" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/slime_axe.json b/src/generated/resources/data/decisland/recipe/slime_axe.json new file mode 100644 index 0000000..5778788 --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/slime_axe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "#": { + "item": "minecraft:stick" + }, + "X": { + "item": "minecraft:slime_ball" + } + }, + "pattern": [ + "XX", + "X#", + " #" + ], + "result": { + "count": 1, + "id": "decisland:slime_axe" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/slime_pickaxe.json b/src/generated/resources/data/decisland/recipe/slime_pickaxe.json new file mode 100644 index 0000000..1994fdf --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/slime_pickaxe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "#": { + "item": "minecraft:stick" + }, + "X": { + "item": "minecraft:slime_ball" + } + }, + "pattern": [ + "XXX", + " # ", + " # " + ], + "result": { + "count": 1, + "id": "decisland:slime_pickaxe" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/steel_battleaxe.json b/src/generated/resources/data/decisland/recipe/steel_battleaxe.json new file mode 100644 index 0000000..15d289e --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/steel_battleaxe.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "A": { + "item": "minecraft:iron_axe" + }, + "B": { + "item": "decisland:steel_ingot" + }, + "X": { + "item": "decisland:iron_stick" + } + }, + "pattern": [ + "BB", + "AB", + "X " + ], + "result": { + "count": 1, + "id": "decisland:steel_battleaxe" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/steel_dagger.json b/src/generated/resources/data/decisland/recipe/steel_dagger.json new file mode 100644 index 0000000..514c8ae --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/steel_dagger.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "A": { + "item": "decisland:steel_ingot" + }, + "X": { + "item": "minecraft:stick" + } + }, + "pattern": [ + "A", + "X" + ], + "result": { + "count": 1, + "id": "decisland:steel_dagger" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/stone_dagger.json b/src/generated/resources/data/decisland/recipe/stone_dagger.json new file mode 100644 index 0000000..48261e2 --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/stone_dagger.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "A": { + "item": "minecraft:cobblestone" + }, + "X": { + "item": "minecraft:stick" + } + }, + "pattern": [ + "A", + "X" + ], + "result": { + "count": 1, + "id": "decisland:stone_dagger" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/the_imperial_sword.json b/src/generated/resources/data/decisland/recipe/the_imperial_sword.json new file mode 100644 index 0000000..638d0bd --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/the_imperial_sword.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "A": { + "item": "decisland:sword_fish" + }, + "B": { + "item": "decisland:everlasting_winter_stick" + }, + "X": { + "item": "decisland:everlasting_winter_ingot" + } + }, + "pattern": [ + " X ", + "XAX", + " B " + ], + "result": { + "count": 1, + "id": "decisland:the_imperial_sword" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/thunder_rapier.json b/src/generated/resources/data/decisland/recipe/thunder_rapier.json new file mode 100644 index 0000000..e0f1cd2 --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/thunder_rapier.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "#": { + "item": "decisland:lightning_stone" + }, + "B": { + "item": "minecraft:lapis_lazuli" + }, + "D": { + "item": "minecraft:copper_block" + }, + "X": { + "item": "decisland:iron_stick" + } + }, + "pattern": [ + "DD#", + "B#D", + "XB#" + ], + "result": { + "count": 1, + "id": "decisland:thunder_rapier" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/vortex.json b/src/generated/resources/data/decisland/recipe/vortex.json new file mode 100644 index 0000000..4d8e312 --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/vortex.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "#": { + "item": "minecraft:heart_of_the_sea" + }, + "A": { + "item": "decisland:pollution_algae" + }, + "X": { + "item": "decisland:coral_sword" + } + }, + "pattern": [ + "A#A", + "AXA", + "AAA" + ], + "result": { + "count": 1, + "id": "decisland:vortex" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/wind_dagger.json b/src/generated/resources/data/decisland/recipe/wind_dagger.json new file mode 100644 index 0000000..726f35a --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/wind_dagger.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "A": { + "item": "decisland:stream_stone" + }, + "X": { + "item": "minecraft:stick" + } + }, + "pattern": [ + "A", + "X" + ], + "result": { + "count": 1, + "id": "decisland:wind_dagger" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/wind_of_shadow.json b/src/generated/resources/data/decisland/recipe/wind_of_shadow.json new file mode 100644 index 0000000..6f038d5 --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/wind_of_shadow.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "A": { + "item": "decisland:stream_stone" + }, + "B": { + "item": "decisland:ender_core" + }, + "X": { + "item": "minecraft:stick" + } + }, + "pattern": [ + "BAB", + "BAB", + "BXB" + ], + "result": { + "count": 1, + "id": "decisland:wind_of_shadow" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/wooden_dagger.json b/src/generated/resources/data/decisland/recipe/wooden_dagger.json new file mode 100644 index 0000000..903ef8e --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/wooden_dagger.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "A": { + "tag": "minecraft:planks" + }, + "X": { + "item": "minecraft:stick" + } + }, + "pattern": [ + "A", + "X" + ], + "result": { + "count": 1, + "id": "decisland:wooden_dagger" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/wooden_dagger_from_crimson_planks.json b/src/generated/resources/data/decisland/recipe/wooden_dagger_from_crimson_planks.json new file mode 100644 index 0000000..81436f6 --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/wooden_dagger_from_crimson_planks.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "A": { + "item": "minecraft:crimson_planks" + }, + "X": { + "item": "minecraft:stick" + } + }, + "pattern": [ + "A", + "X" + ], + "result": { + "count": 1, + "id": "decisland:wooden_dagger" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/recipe/wooden_dagger_from_warped_planks.json b/src/generated/resources/data/decisland/recipe/wooden_dagger_from_warped_planks.json new file mode 100644 index 0000000..5114dbe --- /dev/null +++ b/src/generated/resources/data/decisland/recipe/wooden_dagger_from_warped_planks.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "A": { + "item": "minecraft:warped_planks" + }, + "X": { + "item": "minecraft:stick" + } + }, + "pattern": [ + "A", + "X" + ], + "result": { + "count": 1, + "id": "decisland:wooden_dagger" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/tags/item/axe.json b/src/generated/resources/data/decisland/tags/item/axe.json new file mode 100644 index 0000000..3df7969 --- /dev/null +++ b/src/generated/resources/data/decisland/tags/item/axe.json @@ -0,0 +1,7 @@ +{ + "values": [ + "decisland:copper_battleaxe", + "decisland:steel_battleaxe", + "decisland:storm_battleaxe" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/tags/item/dagger.json b/src/generated/resources/data/decisland/tags/item/dagger.json new file mode 100644 index 0000000..5dadd7d --- /dev/null +++ b/src/generated/resources/data/decisland/tags/item/dagger.json @@ -0,0 +1,21 @@ +{ + "values": [ + "decisland:wooden_dagger", + "decisland:stone_dagger", + "decisland:copper_dagger", + "decisland:iron_dagger", + "decisland:golden_dagger", + "decisland:diamond_dagger", + "decisland:netherite_dagger", + "decisland:emerald_dagger", + "decisland:lapis_dagger", + "decisland:amethyst_dagger", + "decisland:steel_dagger", + "decisland:dead_wood_dagger", + "decisland:leaves_dagger", + "decisland:ghost_dagger", + "decisland:wind_dagger", + "decisland:everlasting_winter_dagger", + "decisland:void_whispering_dagger" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/tags/item/dart.json b/src/generated/resources/data/decisland/tags/item/dart.json new file mode 100644 index 0000000..0926134 --- /dev/null +++ b/src/generated/resources/data/decisland/tags/item/dart.json @@ -0,0 +1,20 @@ +{ + "values": [ + "decisland:amethyst_dart", + "decisland:copper_dart", + "decisland:coral_dart", + "decisland:diamond_dart", + "decisland:emerald_dart", + "decisland:everlasting_winter_dart", + "decisland:frozen_dart", + "decisland:gold_dart", + "decisland:iron_dart", + "decisland:lava_dart", + "decisland:netherite_dart", + "decisland:poison_dart", + "decisland:steel_dart", + "decisland:stone_dart", + "decisland:stream_dart", + "decisland:wood_dart" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/tags/item/gun.json b/src/generated/resources/data/decisland/tags/item/gun.json new file mode 100644 index 0000000..1e7255d --- /dev/null +++ b/src/generated/resources/data/decisland/tags/item/gun.json @@ -0,0 +1,12 @@ +{ + "values": [ + "decisland:flintlock", + "decisland:flintlock_pro", + "decisland:short_flintlock", + "decisland:everlasting_winter_flintlock", + "decisland:ghost_flintlock", + "decisland:lava_flintlock", + "decisland:star_flintlock", + "decisland:storm_flintlock" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/tags/item/katana.json b/src/generated/resources/data/decisland/tags/item/katana.json new file mode 100644 index 0000000..3e81988 --- /dev/null +++ b/src/generated/resources/data/decisland/tags/item/katana.json @@ -0,0 +1,9 @@ +{ + "values": [ + "decisland:bamboo_katana", + "decisland:blood_mare", + "decisland:hard_bamboo_katana", + "decisland:illager_sword", + "decisland:the_blade" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/tags/item/magic_book.json b/src/generated/resources/data/decisland/tags/item/magic_book.json new file mode 100644 index 0000000..e5ea49b --- /dev/null +++ b/src/generated/resources/data/decisland/tags/item/magic_book.json @@ -0,0 +1,7 @@ +{ + "values": [ + "decisland:flare_magic_book", + "decisland:snowball_magic_book", + "decisland:wave_magic_book" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/tags/item/magic_weapon.json b/src/generated/resources/data/decisland/tags/item/magic_weapon.json new file mode 100644 index 0000000..8d5aad4 --- /dev/null +++ b/src/generated/resources/data/decisland/tags/item/magic_weapon.json @@ -0,0 +1,26 @@ +{ + "values": [ + "decisland:energy_ray_staff", + "decisland:wooden_staff", + "decisland:amethyst_ray_staff", + "decisland:blizzard_staff", + "decisland:deep_staff", + "decisland:diamond_staff", + "decisland:emerald_staff", + "decisland:everlasting_winter_staff", + "decisland:flare_magic_book", + "decisland:frozen_ray_staff", + "decisland:frozen_staff", + "decisland:giant_ivy", + "decisland:golden_staff", + "decisland:iron_staff", + "decisland:jellyfish_staff", + "decisland:lapis_staff", + "decisland:snowball_magic_book", + "decisland:storm_staff", + "decisland:soul_staff", + "decisland:thunder_staff", + "decisland:wave_magic_book", + "decisland:nightmare" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/tags/item/melee_weapon.json b/src/generated/resources/data/decisland/tags/item/melee_weapon.json new file mode 100644 index 0000000..6b7851a --- /dev/null +++ b/src/generated/resources/data/decisland/tags/item/melee_weapon.json @@ -0,0 +1,78 @@ +{ + "values": [ + "decisland:sword_fish", + "decisland:absolute_zero", + "decisland:bamboo_katana", + "decisland:blood_mare", + "decisland:candy_cane", + "decisland:hard_bamboo_katana", + "decisland:illager_sword", + "decisland:night_sword", + "decisland:decrepit_atlantis", + "decisland:sword_of_guard", + "decisland:sword_of_halloween", + "decisland:ghost_sword", + "decisland:dust_destroyer", + "decisland:growth", + "decisland:everlasting_winter_sword", + "decisland:sword_of_deep", + "decisland:vortex", + "decisland:scale_sword", + "decisland:warden_sword", + "decisland:wind_of_shadow", + "decisland:the_imperial_sword", + "decisland:the_blade", + "decisland:hard_lollipop", + "decisland:gingerbread_sword", + "decisland:lollipop", + "decisland:long_bread", + "decisland:cactus_sword", + "decisland:corrupted_sword", + "decisland:amethyst_sword", + "decisland:bone_sword", + "decisland:coral_sword", + "decisland:emerald_sword", + "decisland:lava_sword", + "decisland:steel_sword", + "decisland:turtle_sword", + "decisland:scimitar", + "decisland:cudgel", + "decisland:fang_mace", + "decisland:sharp_coral", + "decisland:blizzard_sword", + "decisland:ice_sword", + "decisland:lapis_sword", + "decisland:blood_sickle", + "decisland:copper_sickle", + "decisland:diamond_sickle", + "decisland:everlasting_winter_sickle", + "decisland:ghost_sickle", + "decisland:gold_sickle", + "decisland:iron_sickle", + "decisland:netherite_sickle", + "decisland:steel_sickle", + "decisland:wooden_dagger", + "decisland:stone_dagger", + "decisland:copper_dagger", + "decisland:iron_dagger", + "decisland:golden_dagger", + "decisland:diamond_dagger", + "decisland:netherite_dagger", + "decisland:emerald_dagger", + "decisland:lapis_dagger", + "decisland:amethyst_dagger", + "decisland:steel_dagger", + "decisland:dead_wood_dagger", + "decisland:leaves_dagger", + "decisland:ghost_dagger", + "decisland:wind_dagger", + "decisland:everlasting_winter_dagger", + "decisland:void_whispering_dagger", + "decisland:copper_battleaxe", + "decisland:steel_battleaxe", + "decisland:storm_battleaxe", + "decisland:rapier", + "decisland:dead_wood_rapier", + "decisland:thunder_rapier" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/tags/item/range_weapon.json b/src/generated/resources/data/decisland/tags/item/range_weapon.json new file mode 100644 index 0000000..1e7255d --- /dev/null +++ b/src/generated/resources/data/decisland/tags/item/range_weapon.json @@ -0,0 +1,12 @@ +{ + "values": [ + "decisland:flintlock", + "decisland:flintlock_pro", + "decisland:short_flintlock", + "decisland:everlasting_winter_flintlock", + "decisland:ghost_flintlock", + "decisland:lava_flintlock", + "decisland:star_flintlock", + "decisland:storm_flintlock" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/tags/item/rapier.json b/src/generated/resources/data/decisland/tags/item/rapier.json new file mode 100644 index 0000000..e18fc62 --- /dev/null +++ b/src/generated/resources/data/decisland/tags/item/rapier.json @@ -0,0 +1,7 @@ +{ + "values": [ + "decisland:rapier", + "decisland:dead_wood_rapier", + "decisland:thunder_rapier" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/tags/item/repairs_amethyst_armor.json b/src/generated/resources/data/decisland/tags/item/repairs_amethyst_armor.json new file mode 100644 index 0000000..5fb02ea --- /dev/null +++ b/src/generated/resources/data/decisland/tags/item/repairs_amethyst_armor.json @@ -0,0 +1,8 @@ +{ + "values": [ + "minecraft:amethyst_shard", + "minecraft:budding_amethyst", + "minecraft:amethyst_block", + "minecraft:amethyst_cluster" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/tags/item/repairs_fashion.json b/src/generated/resources/data/decisland/tags/item/repairs_fashion.json new file mode 100644 index 0000000..a7e6b53 --- /dev/null +++ b/src/generated/resources/data/decisland/tags/item/repairs_fashion.json @@ -0,0 +1,8 @@ +{ + "values": [ + "minecraft:leather", + "minecraft:string", + "minecraft:slime_ball", + "#minecraft:wool" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/tags/item/sickle.json b/src/generated/resources/data/decisland/tags/item/sickle.json new file mode 100644 index 0000000..a934264 --- /dev/null +++ b/src/generated/resources/data/decisland/tags/item/sickle.json @@ -0,0 +1,13 @@ +{ + "values": [ + "decisland:blood_sickle", + "decisland:copper_sickle", + "decisland:diamond_sickle", + "decisland:everlasting_winter_sickle", + "decisland:ghost_sickle", + "decisland:gold_sickle", + "decisland:iron_sickle", + "decisland:netherite_sickle", + "decisland:steel_sickle" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/tags/item/staff.json b/src/generated/resources/data/decisland/tags/item/staff.json new file mode 100644 index 0000000..76f5c04 --- /dev/null +++ b/src/generated/resources/data/decisland/tags/item/staff.json @@ -0,0 +1,23 @@ +{ + "values": [ + "decisland:energy_ray_staff", + "decisland:wooden_staff", + "decisland:amethyst_ray_staff", + "decisland:blizzard_staff", + "decisland:deep_staff", + "decisland:diamond_staff", + "decisland:emerald_staff", + "decisland:everlasting_winter_staff", + "decisland:frozen_ray_staff", + "decisland:frozen_staff", + "decisland:giant_ivy", + "decisland:golden_staff", + "decisland:iron_staff", + "decisland:jellyfish_staff", + "decisland:lapis_staff", + "decisland:storm_staff", + "decisland:soul_staff", + "decisland:thunder_staff", + "decisland:nightmare" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/tags/item/sundries.json b/src/generated/resources/data/decisland/tags/item/sundries.json new file mode 100644 index 0000000..302185f --- /dev/null +++ b/src/generated/resources/data/decisland/tags/item/sundries.json @@ -0,0 +1,9 @@ +{ + "values": [ + "decisland:sticky_ash", + "decisland:frozen_ball", + "decisland:mind_controller", + "decisland:gas_bomb", + "decisland:throwable_bomb" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/tags/item/sword.json b/src/generated/resources/data/decisland/tags/item/sword.json new file mode 100644 index 0000000..bf40ad0 --- /dev/null +++ b/src/generated/resources/data/decisland/tags/item/sword.json @@ -0,0 +1,41 @@ +{ + "values": [ + "decisland:sword_fish", + "decisland:absolute_zero", + "decisland:candy_cane", + "decisland:night_sword", + "decisland:decrepit_atlantis", + "decisland:sword_of_guard", + "decisland:sword_of_halloween", + "decisland:ghost_sword", + "decisland:dust_destroyer", + "decisland:growth", + "decisland:everlasting_winter_sword", + "decisland:sword_of_deep", + "decisland:vortex", + "decisland:scale_sword", + "decisland:warden_sword", + "decisland:wind_of_shadow", + "decisland:the_imperial_sword", + "decisland:hard_lollipop", + "decisland:gingerbread_sword", + "decisland:lollipop", + "decisland:long_bread", + "decisland:cactus_sword", + "decisland:corrupted_sword", + "decisland:amethyst_sword", + "decisland:bone_sword", + "decisland:coral_sword", + "decisland:emerald_sword", + "decisland:lava_sword", + "decisland:steel_sword", + "decisland:turtle_sword", + "decisland:scimitar", + "decisland:cudgel", + "decisland:fang_mace", + "decisland:sharp_coral", + "decisland:blizzard_sword", + "decisland:ice_sword", + "decisland:lapis_sword" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/decisland/tags/item/thrown_weapon.json b/src/generated/resources/data/decisland/tags/item/thrown_weapon.json new file mode 100644 index 0000000..1794522 --- /dev/null +++ b/src/generated/resources/data/decisland/tags/item/thrown_weapon.json @@ -0,0 +1,29 @@ +{ + "values": [ + "decisland:ash_pufferfish", + "decisland:amethyst_dart", + "decisland:copper_dart", + "decisland:coral_dart", + "decisland:diamond_dart", + "decisland:emerald_dart", + "decisland:everlasting_winter_dart", + "decisland:frozen_dart", + "decisland:gold_dart", + "decisland:iron_dart", + "decisland:lava_dart", + "decisland:netherite_dart", + "decisland:poison_dart", + "decisland:steel_dart", + "decisland:stone_dart", + "decisland:stream_dart", + "decisland:wood_dart", + "decisland:sticky_ash", + "decisland:frozen_ball", + "decisland:mind_controller", + "decisland:muddy_ball", + "decisland:firefly_bottle", + "decisland:smoke_bomb", + "decisland:gas_bomb", + "decisland:throwable_bomb" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/block/mineable/axe.json b/src/generated/resources/data/minecraft/tags/block/mineable/axe.json new file mode 100644 index 0000000..3a9796f --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/block/mineable/axe.json @@ -0,0 +1,5 @@ +{ + "values": [ + "decisland:lurk_log" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/block/mineable/pickaxe.json b/src/generated/resources/data/minecraft/tags/block/mineable/pickaxe.json new file mode 100644 index 0000000..5456b8d --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/block/mineable/pickaxe.json @@ -0,0 +1,39 @@ +{ + "values": [ + "decisland:ancient_ice", + "decisland:blue_ice_brick_block", + "decisland:candy_block", + "decisland:chiseled_ice_brick", + "decisland:compressed_ice", + "decisland:blue_gem_ore", + "decisland:red_gem_ore", + "decisland:uranium_ore", + "decisland:stream_ore", + "decisland:lava_ore", + "decisland:end_coal_ore", + "decisland:end_diamond_ore", + "decisland:end_emerald_ore", + "decisland:end_gold_ore", + "decisland:end_iron_ore", + "decisland:end_lapis_ore", + "decisland:end_ore", + "decisland:end_redstone_ore", + "decisland:nether_coal_ore", + "decisland:nether_diamond_ore", + "decisland:nether_emerald_ore", + "decisland:nether_iron_ore", + "decisland:nether_lapis_ore", + "decisland:nether_redstone_ore", + "decisland:soul_soil_diamond_ore", + "decisland:crimson_lamp", + "decisland:golden_lamp", + "decisland:ice_brick_block", + "decisland:ice_mixed_brick", + "decisland:light_obsidian", + "decisland:red_stonebrick", + "decisland:smooth_amethyst_block", + "decisland:solidified_lava_block", + "decisland:steel_block", + "decisland:uranium_block" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/block/needs_diamond_tool.json b/src/generated/resources/data/minecraft/tags/block/needs_diamond_tool.json new file mode 100644 index 0000000..d5efc10 --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/block/needs_diamond_tool.json @@ -0,0 +1,5 @@ +{ + "values": [ + "decisland:ancient_ice" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/block/needs_iron_tool.json b/src/generated/resources/data/minecraft/tags/block/needs_iron_tool.json new file mode 100644 index 0000000..0663742 --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/block/needs_iron_tool.json @@ -0,0 +1,16 @@ +{ + "values": [ + "decisland:blue_gem_ore", + "decisland:red_gem_ore", + "decisland:stream_ore", + "decisland:lava_ore", + "decisland:end_diamond_ore", + "decisland:end_emerald_ore", + "decisland:end_gold_ore", + "decisland:end_redstone_ore", + "decisland:nether_diamond_ore", + "decisland:nether_emerald_ore", + "decisland:nether_redstone_ore", + "decisland:soul_soil_diamond_ore" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/block/needs_stone_tool.json b/src/generated/resources/data/minecraft/tags/block/needs_stone_tool.json new file mode 100644 index 0000000..621fe04 --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/block/needs_stone_tool.json @@ -0,0 +1,9 @@ +{ + "values": [ + "decisland:uranium_ore", + "decisland:end_iron_ore", + "decisland:end_lapis_ore", + "decisland:nether_iron_ore", + "decisland:nether_lapis_ore" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/item/axes.json b/src/generated/resources/data/minecraft/tags/item/axes.json new file mode 100644 index 0000000..647ec21 --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/item/axes.json @@ -0,0 +1,12 @@ +{ + "values": [ + "decisland:copper_battleaxe", + "decisland:steel_battleaxe", + "decisland:storm_battleaxe", + "decisland:amethyst_axe", + "decisland:coral_axe", + "decisland:emerald_axe", + "decisland:glass_axe", + "decisland:slime_axe" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/item/pickaxes.json b/src/generated/resources/data/minecraft/tags/item/pickaxes.json new file mode 100644 index 0000000..64efbb1 --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/item/pickaxes.json @@ -0,0 +1,9 @@ +{ + "values": [ + "decisland:amethyst_pickaxe", + "decisland:coral_pickaxe", + "decisland:emerald_pickaxe", + "decisland:glass_pickaxe", + "decisland:slime_pickaxe" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/neoforge/data_maps/item/compostables.json b/src/generated/resources/data/neoforge/data_maps/item/compostables.json new file mode 100644 index 0000000..1c57a80 --- /dev/null +++ b/src/generated/resources/data/neoforge/data_maps/item/compostables.json @@ -0,0 +1,100 @@ +{ + "values": { + "decisland:autumn_leaves": { + "replace": true, + "value": { + "chance": 0.3 + } + }, + "decisland:bizarre_chilli_seeds": { + "replace": true, + "value": { + "chance": 0.3 + } + }, + "decisland:bracken": { + "replace": true, + "value": { + "chance": 0.3 + } + }, + "decisland:cob": { + "replace": true, + "value": { + "chance": 0.3 + } + }, + "decisland:corn": { + "replace": true, + "value": { + "chance": 0.65 + } + }, + "decisland:corn_seeds": { + "replace": true, + "value": { + "chance": 0.3 + } + }, + "decisland:experience_flower_seeds": { + "replace": true, + "value": { + "chance": 0.3 + } + }, + "decisland:fritillary_seeds": { + "replace": true, + "value": { + "chance": 0.3 + } + }, + "decisland:houttuynia_seeds": { + "replace": true, + "value": { + "chance": 0.3 + } + }, + "decisland:lava_flower_seeds": { + "replace": true, + "value": { + "chance": 0.3 + } + }, + "decisland:leek": { + "replace": true, + "value": { + "chance": 0.5 + } + }, + "decisland:leek_seeds": { + "replace": true, + "value": { + "chance": 0.3 + } + }, + "decisland:mooli": { + "replace": true, + "value": { + "chance": 0.5 + } + }, + "decisland:mooli_seeds": { + "replace": true, + "value": { + "chance": 0.3 + } + }, + "decisland:rice_seeds": { + "replace": true, + "value": { + "chance": 0.3 + } + }, + "decisland:soybean": { + "replace": true, + "value": { + "chance": 0.3 + } + } + } +} \ No newline at end of file diff --git a/src/generated/resources/data/neoforge/data_maps/item/furnace_fuels.json b/src/generated/resources/data/neoforge/data_maps/item/furnace_fuels.json new file mode 100644 index 0000000..77d4c82 --- /dev/null +++ b/src/generated/resources/data/neoforge/data_maps/item/furnace_fuels.json @@ -0,0 +1,82 @@ +{ + "values": { + "decisland:coal_fish": { + "replace": true, + "value": { + "burn_time": 8 + } + }, + "decisland:experience_book": { + "replace": true, + "value": { + "burn_time": 20 + } + }, + "decisland:experience_book_empty": { + "replace": true, + "value": { + "burn_time": 10 + } + }, + "decisland:experience_book_pro_empty": { + "replace": true, + "value": { + "burn_time": 10 + } + }, + "decisland:flare_magic_book": { + "replace": true, + "value": { + "burn_time": 20 + } + }, + "decisland:hard_bamboo_katana": { + "replace": true, + "value": { + "burn_time": 8 + } + }, + "decisland:lapis_magic_book": { + "replace": true, + "value": { + "burn_time": 10 + } + }, + "decisland:old_book": { + "replace": true, + "value": { + "burn_time": 10 + } + }, + "decisland:snowball_magic_book": { + "replace": true, + "value": { + "burn_time": 10 + } + }, + "decisland:sticky_ash": { + "replace": true, + "value": { + "burn_time": 20 + } + }, + "decisland:wave_magic_book": { + "replace": true, + "value": { + "burn_time": 10 + } + }, + "decisland:wooden_dagger": { + "replace": true, + "value": { + "burn_time": 10 + } + }, + "decisland:wooden_staff": { + "replace": true, + "value": { + "burn_time": 10 + } + } + } +} \ No newline at end of file diff --git a/src/main/java/com/dec/decisland/Config.kt b/src/main/java/com/dec/decisland/Config.kt index 20eb63e..42d33de 100644 --- a/src/main/java/com/dec/decisland/Config.kt +++ b/src/main/java/com/dec/decisland/Config.kt @@ -1,7 +1,7 @@ package com.dec.decisland import net.minecraft.core.registries.BuiltInRegistries -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.neoforged.neoforge.common.ModConfigSpec object Config { @@ -31,5 +31,5 @@ object Config { val SPEC: ModConfigSpec = builder.build() private fun validateItemName(obj: Any): Boolean = - obj is String && BuiltInRegistries.ITEM.containsKey(Identifier.parse(obj)) + obj is String && BuiltInRegistries.ITEM.containsKey(ResourceLocation.parse(obj)) } diff --git a/src/main/java/com/dec/decisland/DecIslandClient.kt b/src/main/java/com/dec/decisland/DecIslandClient.kt index a60e36b..b760278 100644 --- a/src/main/java/com/dec/decisland/DecIslandClient.kt +++ b/src/main/java/com/dec/decisland/DecIslandClient.kt @@ -7,7 +7,7 @@ import com.dec.decisland.block.ModBlocks import com.dec.decisland.item.category.Crop import net.minecraft.client.Minecraft import net.minecraft.client.renderer.ItemBlockRenderTypes -import net.minecraft.client.renderer.chunk.ChunkSectionLayer +import net.minecraft.client.renderer.RenderType import net.neoforged.api.distmarker.Dist import net.neoforged.bus.api.SubscribeEvent import net.neoforged.fml.ModContainer @@ -38,16 +38,16 @@ object DecIslandClientEvents { DecIsland.LOGGER.info("MINECRAFT NAME >> {}", Minecraft.getInstance().user.name) event.enqueueWork { VoidFogConfig.load(Minecraft.getInstance().resourceManager) - ItemBlockRenderTypes.setRenderLayer(ModBlocks.SNOW_PORTAL.get(), ChunkSectionLayer.TRANSLUCENT) - ItemBlockRenderTypes.setRenderLayer(ModBlocks.NIGHTMARE_BLOCK.get(), ChunkSectionLayer.TRANSLUCENT) - ItemBlockRenderTypes.setRenderLayer(ModBlocks.FLOWER_GHOST_BLOCK.get(), ChunkSectionLayer.CUTOUT) + ItemBlockRenderTypes.setRenderLayer(ModBlocks.SNOW_PORTAL.get(), RenderType.translucent()) + ItemBlockRenderTypes.setRenderLayer(ModBlocks.NIGHTMARE_BLOCK.get(), RenderType.translucent()) + ItemBlockRenderTypes.setRenderLayer(ModBlocks.FLOWER_GHOST_BLOCK.get(), RenderType.cutout()) SimplePlant.allBlocks().forEach { block -> - ItemBlockRenderTypes.setRenderLayer(block, ChunkSectionLayer.CUTOUT) + ItemBlockRenderTypes.setRenderLayer(block, RenderType.cutout()) } Crop.allBlocks().forEach { block -> - ItemBlockRenderTypes.setRenderLayer(block, ChunkSectionLayer.CUTOUT) + ItemBlockRenderTypes.setRenderLayer(block, RenderType.cutout()) } - ItemBlockRenderTypes.setRenderLayer(Crop.CORN_CROP.get(), ChunkSectionLayer.CUTOUT) + ItemBlockRenderTypes.setRenderLayer(Crop.CORN_CROP.get(), RenderType.cutout()) } } } diff --git a/src/main/java/com/dec/decisland/DecIslandModDataGenerator.kt b/src/main/java/com/dec/decisland/DecIslandModDataGenerator.kt index 46950ad..6657295 100644 --- a/src/main/java/com/dec/decisland/DecIslandModDataGenerator.kt +++ b/src/main/java/com/dec/decisland/DecIslandModDataGenerator.kt @@ -16,9 +16,10 @@ import net.neoforged.neoforge.data.event.GatherDataEvent @EventBusSubscriber(modid = DecIsland.MOD_ID) object DecIslandModDataGenerator { + // 1.21.1 的 GatherDataEvent 没有 Client/Server 子类,客户端/服务端由 includeClient()/includeServer() 区分。 @SubscribeEvent @JvmStatic - fun gatherData(event: GatherDataEvent.Client) { + fun gatherData(event: GatherDataEvent) { event.createProvider(::ModModelsProvider) event.createProvider(::ModDataMapProvider) event.createProvider(::ModRecipeProvider) @@ -39,7 +40,12 @@ object DecIslandModDataGenerator { ) } - event.createProvider(::ModBlockTagsProvider) - event.createProvider(::ModItemTagsProvider) + // 1.21.1 的 TagsProvider 构造需要 ExistingFileHelper;ItemTagsProvider 还需要方块标签的 TagLookup。 + val blockTags = event.createProvider { output, lookupProvider -> + ModBlockTagsProvider(output, lookupProvider, event.existingFileHelper) + } + event.createProvider { output, lookupProvider -> + ModItemTagsProvider(output, lookupProvider, blockTags.contentsGetter(), event.existingFileHelper) + } } } diff --git a/src/main/java/com/dec/decisland/attachment/ModAttachments.kt b/src/main/java/com/dec/decisland/attachment/ModAttachments.kt index c815efa..958e78b 100644 --- a/src/main/java/com/dec/decisland/attachment/ModAttachments.kt +++ b/src/main/java/com/dec/decisland/attachment/ModAttachments.kt @@ -17,7 +17,7 @@ object ModAttachments { val MAX_HEALTH_LEVEL: Supplier> = ATTACHMENT_TYPES.register("max_health_level", Supplier { AttachmentType.builder(Supplier { 0 }) - .serialize(Codec.INT.fieldOf("value")) + .serialize(Codec.INT) .build() }) @@ -25,7 +25,7 @@ object ModAttachments { val MAX_MANA: Supplier> = ATTACHMENT_TYPES.register("max_mana", Supplier { AttachmentType.builder(Supplier { 20.0f }) - .serialize(Codec.FLOAT.fieldOf("value")) + .serialize(Codec.FLOAT) .build() }) @@ -33,7 +33,7 @@ object ModAttachments { val MANA_GAIN_LEVEL: Supplier> = ATTACHMENT_TYPES.register("mana_level", Supplier { AttachmentType.builder(Supplier { 0.0f }) - .serialize(Codec.FLOAT.fieldOf("value")) + .serialize(Codec.FLOAT) .build() }) @@ -41,7 +41,7 @@ object ModAttachments { val MANA_RECKON: Supplier> = ATTACHMENT_TYPES.register("mana_regen_level", Supplier { AttachmentType.builder(Supplier { 0 }) - .serialize(Codec.INT.fieldOf("value")) + .serialize(Codec.INT) .build() }) @@ -49,7 +49,7 @@ object ModAttachments { val CURRENT_MANA: Supplier> = ATTACHMENT_TYPES.register("current_mana", Supplier { AttachmentType.builder(Supplier { 20.0f }) - .serialize(Codec.FLOAT.fieldOf("value")) + .serialize(Codec.FLOAT) .build() }) @@ -57,7 +57,7 @@ object ModAttachments { val MAGIC_GAP: Supplier> = ATTACHMENT_TYPES.register("magic_gap", Supplier { AttachmentType.builder(Supplier { 60 }) - .serialize(Codec.INT.fieldOf("value")) + .serialize(Codec.INT) .build() }) @@ -65,7 +65,7 @@ object ModAttachments { val PREV_MAGIC: Supplier> = ATTACHMENT_TYPES.register("prev_magic", Supplier { AttachmentType.builder(Supplier { 0.0f }) - .serialize(Codec.FLOAT.fieldOf("value")) + .serialize(Codec.FLOAT) .build() }) diff --git a/src/main/java/com/dec/decisland/block/BlockConfig.kt b/src/main/java/com/dec/decisland/block/BlockConfig.kt index 777501f..300dc8c 100644 --- a/src/main/java/com/dec/decisland/block/BlockConfig.kt +++ b/src/main/java/com/dec/decisland/block/BlockConfig.kt @@ -2,9 +2,12 @@ package com.dec.decisland.block import com.dec.decisland.DecIsland import com.dec.decisland.datagen.ModBlockLootTablesProvider -import net.minecraft.client.data.models.BlockModelGenerators +import net.minecraft.data.models.BlockModelGenerators +import net.minecraft.data.models.model.DelegatedModel +import net.minecraft.data.models.model.ModelLocationUtils import net.minecraft.tags.TagKey import net.minecraft.world.item.CreativeModeTab +import net.minecraft.world.item.Items import net.minecraft.world.level.block.Block import net.minecraft.world.level.block.state.BlockBehaviour import java.util.function.Consumer @@ -59,6 +62,13 @@ class BlockConfig private constructor(builder: Builder) { var blockModelGenerator: Consumer = Consumer { blockModels -> val block = ModBlocks.getBlockByName("block.${DecIsland.MOD_ID}.$name").value() blockModels.createTrivialCube(block) + // createTrivialCube 不生成 BlockItem 模型,这里补一个委托物品模型 + if (block.asItem() != Items.AIR) { + blockModels.modelOutput.accept( + ModelLocationUtils.getModelLocation(block.asItem()), + DelegatedModel(ModelLocationUtils.getModelLocation(block)), + ) + } } @JvmField diff --git a/src/main/java/com/dec/decisland/block/ModBlocks.kt b/src/main/java/com/dec/decisland/block/ModBlocks.kt index cfd87f2..fc4e193 100644 --- a/src/main/java/com/dec/decisland/block/ModBlocks.kt +++ b/src/main/java/com/dec/decisland/block/ModBlocks.kt @@ -14,18 +14,24 @@ import com.dec.decisland.item.ModItems import com.dec.decisland.item.category.Material import com.dec.decisland.item.category.Food import com.dec.decisland.item.category.Crop -import net.minecraft.client.data.models.BlockModelGenerators -import net.minecraft.client.data.models.model.ModelTemplates -import net.minecraft.client.data.models.model.TextureMapping -import net.minecraft.client.data.models.model.TextureSlot -import net.minecraft.client.data.models.blockstates.MultiVariantGenerator -import net.minecraft.client.data.models.blockstates.PropertyDispatch +import net.minecraft.core.Direction +import net.minecraft.data.models.BlockModelGenerators +import net.minecraft.data.models.model.DelegatedModel +import net.minecraft.data.models.model.ModelLocationUtils +import net.minecraft.data.models.model.ModelTemplates +import net.minecraft.data.models.model.TextureMapping +import net.minecraft.data.models.model.TextureSlot +import net.minecraft.data.models.blockstates.MultiVariantGenerator +import net.minecraft.data.models.blockstates.PropertyDispatch +import net.minecraft.data.models.blockstates.Variant +import net.minecraft.data.models.blockstates.VariantProperties import net.minecraft.core.registries.BuiltInRegistries import net.minecraft.core.Holder -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.tags.BlockTags import net.minecraft.tags.TagKey import net.minecraft.world.item.CreativeModeTab +import net.minecraft.world.item.Item import net.minecraft.world.item.Items import net.minecraft.world.level.ItemLike import net.minecraft.world.level.block.Block @@ -36,11 +42,14 @@ import net.minecraft.world.level.block.RotatedPillarBlock import net.minecraft.world.level.block.SoundType import net.minecraft.world.level.block.state.BlockState import net.minecraft.world.level.block.state.BlockBehaviour +import net.minecraft.world.level.block.state.properties.BlockStateProperties import net.minecraft.world.level.block.state.properties.DoubleBlockHalf +import net.minecraft.world.level.block.state.properties.IntegerProperty +import net.minecraft.world.level.block.state.properties.Property import net.minecraft.world.level.material.PushReaction import net.minecraft.world.level.material.MapColor import net.minecraft.world.level.storage.loot.predicates.LootItemBlockStatePropertyCondition -import net.minecraft.advancements.criterion.StatePropertiesPredicate +import net.minecraft.advancements.critereon.StatePropertiesPredicate import net.neoforged.bus.api.IEventBus import net.neoforged.neoforge.registries.DeferredBlock import net.neoforged.neoforge.registries.DeferredRegister @@ -692,7 +701,7 @@ object ModBlocks { ::SnowPortalBlock, Supplier { BlockBehaviour.Properties.of() - .noCollision() + .noOcclusion() .strength(-1.0f) .lightLevel { 11 } .sound(SoundType.GLASS) @@ -739,7 +748,7 @@ object ModBlocks { props: Supplier, shouldRegistryBlockItem: Boolean, ): DeferredBlock { - val block = BLOCKS.registerBlock(name, func, props) + val block = BLOCKS.registerBlock(name, func, props.get()) if (shouldRegistryBlockItem) { ModItems.ITEMS.registerSimpleBlockItem(block) } @@ -760,7 +769,7 @@ object ModBlocks { @Suppress("UNCHECKED_CAST") private fun registerBlock(config: BlockConfig): DeferredBlock { - val block = BLOCKS.registerBlock(config.name, config.func, config.props) as DeferredBlock + val block = BLOCKS.registerBlock(config.name, config.func, config.props.get()) as DeferredBlock blockConfigs.add(config) if (config.shouldRegistryBlockItem) { ModItems.ITEMS.registerSimpleBlockItem(block) @@ -897,7 +906,13 @@ object ModBlocks { ) { val block = getBlockByName("block.${DecIsland.MOD_ID}.${spec.name}").value() when (spec.model.kind) { - BlockModelSpec.Kind.CUBE_ALL -> blockModels.createTrivialCube(block) + BlockModelSpec.Kind.CUBE_ALL -> { + blockModels.createTrivialCube(block) + // createTrivialCube 只生成方块模型与 blockstate,需要为 BlockItem 补一个委托物品模型 + if (block.asItem() != Items.AIR) { + delegateItemModel(blockModels, block, ModelLocationUtils.getModelLocation(block)) + } + } BlockModelSpec.Kind.CUBE_BOTTOM_TOP -> { val model = ModelTemplates.CUBE_BOTTOM_TOP.create( @@ -908,10 +923,8 @@ object ModBlocks { .put(TextureSlot.BOTTOM, blockTexture(spec.model.bottomTexture!!)), blockModels.modelOutput, ) - blockModels.blockStateOutput.accept( - BlockModelGenerators.createSimpleBlock(block, BlockModelGenerators.plainVariant(model)), - ) - blockModels.registerSimpleItemModel(block, model) + blockModels.blockStateOutput.accept(simpleBlock(block, model)) + delegateItemModel(blockModels, block, model) } BlockModelSpec.Kind.COLUMN -> { @@ -923,10 +936,8 @@ object ModBlocks { ), blockModels.modelOutput, ) - blockModels.blockStateOutput.accept( - BlockModelGenerators.createAxisAlignedPillarBlock(block, BlockModelGenerators.plainVariant(model)), - ) - blockModels.registerSimpleItemModel(block, model) + blockModels.blockStateOutput.accept(axisAlignedPillarBlock(block, model)) + delegateItemModel(blockModels, block, model) } } } @@ -936,18 +947,19 @@ object ModBlocks { blockModels: BlockModelGenerators, ) { val block = getBlockByName("block.${DecIsland.MOD_ID}.${spec.name}").value() - blockModels.createCrossBlock( + val model = ModelTemplates.CROSS.create( block, - BlockModelGenerators.PlantType.NOT_TINTED, TextureMapping.cross(blockTexture(spec.textureName)), + blockModels.modelOutput, ) - val itemModel = + blockModels.blockStateOutput.accept(simpleBlock(block, model)) + if (block.asItem() != Items.AIR) { ModelTemplates.FLAT_ITEM.create( - block.asItem(), + ModelLocationUtils.getModelLocation(block.asItem()), TextureMapping.layer0(blockTexture(spec.textureName)), blockModels.modelOutput, - ) - blockModels.registerSimpleItemModel(block, itemModel) + ) + } } private fun generateSimpleCropModel( @@ -956,29 +968,31 @@ object ModBlocks { ) { val block = getBlockByName("block.${DecIsland.MOD_ID}.${spec.name}").value() if (spec.crossModel) { - blockModels.registerSimpleFlatItemModel(spec.seedItem.get().asItem()) - val stageModels = mutableMapOf() + createSimpleFlatItemModel(blockModels, spec.seedItem.get().asItem()) + val stageModels = mutableMapOf() blockModels.blockStateOutput.accept( - MultiVariantGenerator.dispatch(block).with( - PropertyDispatch.initial(CropBlock.AGE).generate { age -> + MultiVariantGenerator.multiVariant(block).with( + PropertyDispatch.property(CropBlock.AGE).generate { age -> val stage = spec.ageToModelStage[age.toInt()] val model = stageModels.getOrPut(stage) { val suffix = "_stage$stage" - val textureMapping = TextureMapping.cross(TextureMapping.getBlockTexture(block, suffix)) - BlockModelGenerators.PlantType.NOT_TINTED - .getCross() - .createWithSuffix(block, suffix, textureMapping, blockModels.modelOutput) + ModelTemplates.CROSS.createWithSuffix( + block, + suffix, + TextureMapping.cross(TextureMapping.getBlockTexture(block, suffix)), + blockModels.modelOutput, + ) } - BlockModelGenerators.plainVariant(model) + Variant.variant().with(VariantProperties.MODEL, model) }, ), ) } else { - blockModels.createCropBlock(block, CropBlock.AGE, *spec.ageToModelStage) + createCropBlockModel(blockModels, block, CropBlock.AGE, spec.ageToModelStage) } } - private fun blockTexture(name: String): Identifier = Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "block/$name") + private fun blockTexture(name: String): ResourceLocation = ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "block/$name") private fun generateSimpleBlockLoot( spec: SimpleBlockSpec, @@ -1013,11 +1027,11 @@ object ModBlocks { private fun generateCornCropModel(blockModels: BlockModelGenerators) { val block = getBlockByName("block.${DecIsland.MOD_ID}.corn_crop").value() - blockModels.registerSimpleFlatItemModel(Crop.CORN_SEEDS.get().asItem()) - val stageModels = mutableMapOf() + createSimpleFlatItemModel(blockModels, Crop.CORN_SEEDS.get().asItem()) + val stageModels = mutableMapOf() blockModels.blockStateOutput.accept( - MultiVariantGenerator.dispatch(block).with( - PropertyDispatch.initial(CornCropBlock.AGE, DoublePlantBlock.HALF).generate { age, half -> + MultiVariantGenerator.multiVariant(block).with( + PropertyDispatch.properties(CornCropBlock.AGE, DoublePlantBlock.HALF).generate { age, half -> val stage = if (half == DoubleBlockHalf.UPPER) { age.toInt().coerceAtMost(CornCropBlock.UPPER_MAX_AGE) @@ -1028,16 +1042,65 @@ object ModBlocks { val suffix = "_${halfName}_stage$stage" val model = stageModels.getOrPut(suffix) { val textureMapping = TextureMapping.cross(TextureMapping.getBlockTexture(block, suffix)) - BlockModelGenerators.PlantType.NOT_TINTED - .getCross() - .createWithSuffix(block, suffix, textureMapping, blockModels.modelOutput) + ModelTemplates.CROSS.createWithSuffix(block, suffix, textureMapping, blockModels.modelOutput) } - BlockModelGenerators.plainVariant(model) + Variant.variant().with(VariantProperties.MODEL, model) }, ), ) } + // 1.21.1 ports of BlockModelGenerators' private/package-private helpers built on the public data-model classes. + private fun simpleBlock(block: Block, modelLocation: ResourceLocation): MultiVariantGenerator = + MultiVariantGenerator.multiVariant(block, Variant.variant().with(VariantProperties.MODEL, modelLocation)) + + private fun axisAlignedPillarBlock(block: Block, modelLocation: ResourceLocation): MultiVariantGenerator = + MultiVariantGenerator.multiVariant(block, Variant.variant().with(VariantProperties.MODEL, modelLocation)) + .with( + PropertyDispatch.property(BlockStateProperties.AXIS) + .select(Direction.Axis.Y, Variant.variant()) + .select(Direction.Axis.Z, Variant.variant().with(VariantProperties.X_ROT, VariantProperties.Rotation.R90)) + .select( + Direction.Axis.X, + Variant.variant() + .with(VariantProperties.X_ROT, VariantProperties.Rotation.R90) + .with(VariantProperties.Y_ROT, VariantProperties.Rotation.R90), + ), + ) + + private fun delegateItemModel(blockModels: BlockModelGenerators, block: Block, modelLocation: ResourceLocation) { + blockModels.modelOutput.accept(ModelLocationUtils.getModelLocation(block.asItem()), DelegatedModel(modelLocation)) + } + + private fun createSimpleFlatItemModel(blockModels: BlockModelGenerators, item: Item) { + ModelTemplates.FLAT_ITEM.create(ModelLocationUtils.getModelLocation(item), TextureMapping.layer0(item), blockModels.modelOutput) + } + + private fun createCropBlockModel( + blockModels: BlockModelGenerators, + cropBlock: Block, + ageProperty: IntegerProperty, + ageToVisualStageMapping: IntArray, + ) { + require(ageProperty.possibleValues.size == ageToVisualStageMapping.size) + val stageModels = mutableMapOf() + val propertyDispatch = PropertyDispatch.property(ageProperty).generate { age -> + val stage = ageToVisualStageMapping[age.toInt()] + val model = stageModels.getOrPut(stage) { + val suffix = "_stage$stage" + ModelTemplates.CROP.createWithSuffix( + cropBlock, + suffix, + TextureMapping.crop(TextureMapping.getBlockTexture(cropBlock, suffix)), + blockModels.modelOutput, + ) + } + Variant.variant().with(VariantProperties.MODEL, model) + } + createSimpleFlatItemModel(blockModels, cropBlock.asItem()) + blockModels.blockStateOutput.accept(MultiVariantGenerator.multiVariant(cropBlock).with(propertyDispatch)) + } + private fun generateCornCropLoot(lootTables: ModBlockLootTablesProvider) { val block = getBlockByName("block.${DecIsland.MOD_ID}.corn_crop").value() lootTables.addCornCropDrop(block, Food.CORN.get()) diff --git a/src/main/java/com/dec/decisland/block/custom/CornCropBlock.kt b/src/main/java/com/dec/decisland/block/custom/CornCropBlock.kt index cb85feb..6bab643 100644 --- a/src/main/java/com/dec/decisland/block/custom/CornCropBlock.kt +++ b/src/main/java/com/dec/decisland/block/custom/CornCropBlock.kt @@ -9,14 +9,15 @@ import net.minecraft.sounds.SoundSource import net.minecraft.util.RandomSource import net.minecraft.world.InteractionHand import net.minecraft.world.InteractionResult +import net.minecraft.world.ItemInteractionResult import net.minecraft.world.entity.LivingEntity import net.minecraft.world.entity.player.Player import net.minecraft.world.item.ItemStack import net.minecraft.world.item.context.BlockPlaceContext import net.minecraft.world.level.BlockGetter import net.minecraft.world.level.Level +import net.minecraft.world.level.LevelAccessor import net.minecraft.world.level.LevelReader -import net.minecraft.world.level.ScheduledTickAccess import net.minecraft.world.level.block.Block import net.minecraft.world.level.block.Blocks import net.minecraft.world.level.block.BonemealableBlock @@ -95,16 +96,14 @@ class CornCropBlock(properties: BlockBehaviour.Properties) : DoublePlantBlock(pr override fun updateShape( state: BlockState, - level: LevelReader, - tickAccess: ScheduledTickAccess, - pos: BlockPos, direction: Direction, - neighborPos: BlockPos, neighborState: BlockState, - random: RandomSource, + level: LevelAccessor, + pos: BlockPos, + neighborPos: BlockPos, ): BlockState { if (state.getValue(HALF) == DoubleBlockHalf.UPPER) { - return super.updateShape(state, level, tickAccess, pos, direction, neighborPos, neighborState, random) + return super.updateShape(state, direction, neighborState, level, pos, neighborPos) } return if (state.canSurvive(level, pos)) state else Blocks.AIR.defaultBlockState() } @@ -159,9 +158,10 @@ class CornCropBlock(properties: BlockBehaviour.Properties) : DoublePlantBlock(pr player: Player, hand: InteractionHand, hitResult: BlockHitResult, - ): InteractionResult { + ): ItemInteractionResult { if (canHarvest(state)) { - return harvest(state, level, pos, player) + harvest(state, level, pos, player) + return ItemInteractionResult.SUCCESS } return super.useItemOn(stack, state, level, pos, player, hand, hitResult) } @@ -174,7 +174,8 @@ class CornCropBlock(properties: BlockBehaviour.Properties) : DoublePlantBlock(pr hitResult: BlockHitResult, ): InteractionResult { if (canHarvest(state)) { - return harvest(state, level, pos, player) + harvest(state, level, pos, player) + return InteractionResult.SUCCESS } return super.useWithoutItem(state, level, pos, player, hitResult) } @@ -241,7 +242,7 @@ class CornCropBlock(properties: BlockBehaviour.Properties) : DoublePlantBlock(pr level: Level, pos: BlockPos, player: Player, - ): InteractionResult { + ) { if (level is ServerLevel) { for (drop in getDrops(state, level, pos, null)) { popResource(level, pos, drop) @@ -260,7 +261,6 @@ class CornCropBlock(properties: BlockBehaviour.Properties) : DoublePlantBlock(pr level.setBlock(pos, newState, UPDATE_CLIENTS) level.gameEvent(GameEvent.BLOCK_CHANGE, pos, GameEvent.Context.of(player, newState)) } - return InteractionResult.SUCCESS } companion object { diff --git a/src/main/java/com/dec/decisland/block/custom/FlowerGhostBlock.java b/src/main/java/com/dec/decisland/block/custom/FlowerGhostBlock.java index 8e16309..169c423 100644 --- a/src/main/java/com/dec/decisland/block/custom/FlowerGhostBlock.java +++ b/src/main/java/com/dec/decisland/block/custom/FlowerGhostBlock.java @@ -3,7 +3,7 @@ import com.dec.decisland.DecIsland; import com.dec.decisland.network.Networking; import net.minecraft.core.BlockPos; -import net.minecraft.resources.Identifier; +import net.minecraft.resources.ResourceLocation; import net.minecraft.server.level.ServerLevel; import net.minecraft.util.RandomSource; import net.minecraft.world.item.ItemStack; @@ -17,7 +17,7 @@ public class FlowerGhostBlock extends Block { private static final int MIN_LIFETIME_TICKS = 20; private static final int MAX_LIFETIME_TICKS = 40; - private static final Identifier DISAPPEAR_PARTICLE = Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "flower_ghost_block_particle"); + private static final ResourceLocation DISAPPEAR_PARTICLE = ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "flower_ghost_block_particle"); public FlowerGhostBlock(BlockBehaviour.Properties properties) { super(properties); @@ -42,7 +42,7 @@ protected void tick(BlockState state, ServerLevel level, BlockPos pos, RandomSou } @Override - protected ItemStack getCloneItemStack(LevelReader level, BlockPos pos, BlockState state, boolean includeData) { + public ItemStack getCloneItemStack(LevelReader level, BlockPos pos, BlockState state) { return ItemStack.EMPTY; } } diff --git a/src/main/java/com/dec/decisland/block/custom/NightmareBlock.java b/src/main/java/com/dec/decisland/block/custom/NightmareBlock.java index 6c5107c..2a90ab1 100644 --- a/src/main/java/com/dec/decisland/block/custom/NightmareBlock.java +++ b/src/main/java/com/dec/decisland/block/custom/NightmareBlock.java @@ -3,7 +3,7 @@ import com.dec.decisland.DecIsland; import com.dec.decisland.network.Networking; import net.minecraft.core.BlockPos; -import net.minecraft.resources.Identifier; +import net.minecraft.resources.ResourceLocation; import net.minecraft.server.level.ServerLevel; import net.minecraft.util.RandomSource; import net.minecraft.world.item.ItemStack; @@ -16,7 +16,7 @@ public class NightmareBlock extends Block { private static final int LIFETIME_TICKS = 20 * 5; - private static final Identifier DISAPPEAR_PARTICLE = Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "nightmare_block_particle"); + private static final ResourceLocation DISAPPEAR_PARTICLE = ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "nightmare_block_particle"); public NightmareBlock(BlockBehaviour.Properties properties) { super(properties); @@ -40,7 +40,7 @@ protected void tick(BlockState state, ServerLevel level, BlockPos pos, RandomSou } @Override - protected ItemStack getCloneItemStack(LevelReader level, BlockPos pos, BlockState state, boolean includeData) { + public ItemStack getCloneItemStack(LevelReader level, BlockPos pos, BlockState state) { return ItemStack.EMPTY; } } diff --git a/src/main/java/com/dec/decisland/block/custom/SimpleCropBlock.kt b/src/main/java/com/dec/decisland/block/custom/SimpleCropBlock.kt index d3e7713..8379039 100644 --- a/src/main/java/com/dec/decisland/block/custom/SimpleCropBlock.kt +++ b/src/main/java/com/dec/decisland/block/custom/SimpleCropBlock.kt @@ -6,6 +6,7 @@ import net.minecraft.sounds.SoundEvents import net.minecraft.sounds.SoundSource import net.minecraft.world.InteractionHand import net.minecraft.world.InteractionResult +import net.minecraft.world.ItemInteractionResult import net.minecraft.world.entity.player.Player import net.minecraft.world.item.ItemStack import net.minecraft.world.level.BlockGetter @@ -53,9 +54,10 @@ abstract class SimpleCropBlock( player: Player, hand: InteractionHand, hitResult: BlockHitResult, - ): InteractionResult { + ): ItemInteractionResult { if (canHarvest(state)) { - return harvest(state, level, pos, player) + harvest(state, level, pos, player) + return ItemInteractionResult.SUCCESS } return super.useItemOn(stack, state, level, pos, player, hand, hitResult) } @@ -68,7 +70,8 @@ abstract class SimpleCropBlock( hitResult: BlockHitResult, ): InteractionResult { if (canHarvest(state)) { - return harvest(state, level, pos, player) + harvest(state, level, pos, player) + return InteractionResult.SUCCESS } return super.useWithoutItem(state, level, pos, player, hitResult) } @@ -80,8 +83,8 @@ abstract class SimpleCropBlock( level: Level, pos: BlockPos, player: Player, - ): InteractionResult { - val resetAge = harvestResetAge ?: return InteractionResult.PASS + ) { + val resetAge = harvestResetAge ?: return if (level is ServerLevel) { for (drop in getDrops(state, level, pos, null)) { popResource(level, pos, drop) @@ -98,7 +101,6 @@ abstract class SimpleCropBlock( level.setBlock(pos, newState, UPDATE_CLIENTS) level.gameEvent(GameEvent.BLOCK_CHANGE, pos, GameEvent.Context.of(player, newState)) } - return InteractionResult.SUCCESS } private fun stageForAge(age: Int): Int { diff --git a/src/main/java/com/dec/decisland/block/custom/SimplePlantBlock.kt b/src/main/java/com/dec/decisland/block/custom/SimplePlantBlock.kt index 5568c22..5d0540a 100644 --- a/src/main/java/com/dec/decisland/block/custom/SimplePlantBlock.kt +++ b/src/main/java/com/dec/decisland/block/custom/SimplePlantBlock.kt @@ -1,5 +1,6 @@ package com.dec.decisland.block.custom +import com.mojang.serialization.MapCodec import net.minecraft.core.BlockPos import net.minecraft.world.level.BlockGetter import net.minecraft.world.level.block.Block @@ -17,6 +18,8 @@ class SimplePlantBlock( ) : BushBlock(properties) { private val shape: VoxelShape = centeredShape(selectionWidth, selectionHeight) + override fun codec(): MapCodec = CODEC + override fun mayPlaceOn( state: BlockState, level: BlockGetter, @@ -28,9 +31,16 @@ class SimplePlantBlock( level: BlockGetter, pos: BlockPos, context: CollisionContext, - ): VoxelShape = shape.move(state.getOffset(pos)) + ): VoxelShape { + val offset = state.getOffset(level, pos) + return shape.move(offset.x, offset.y, offset.z) + } companion object { + val CODEC: MapCodec = simpleCodec { props -> + SimplePlantBlock(props, { true }, 6.0, 8.0) + } + private fun centeredShape( width: Double, height: Double, diff --git a/src/main/java/com/dec/decisland/block/custom/SnowPortalBlock.java b/src/main/java/com/dec/decisland/block/custom/SnowPortalBlock.java index 55f3ae1..91de722 100644 --- a/src/main/java/com/dec/decisland/block/custom/SnowPortalBlock.java +++ b/src/main/java/com/dec/decisland/block/custom/SnowPortalBlock.java @@ -4,6 +4,7 @@ import com.dec.decisland.world.portal.SnowPortalTeleporter; import java.util.Map; import java.util.Optional; +import javax.annotation.Nullable; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.core.particles.ParticleTypes; @@ -12,14 +13,13 @@ import net.minecraft.sounds.SoundSource; import net.minecraft.util.RandomSource; import net.minecraft.world.entity.Entity; -import net.minecraft.world.entity.InsideBlockEffectApplier; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.GameRules; import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelAccessor; import net.minecraft.world.level.LevelReader; -import net.minecraft.world.level.ScheduledTickAccess; -import net.minecraft.world.level.gamerules.GameRules; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.Portal; @@ -29,10 +29,9 @@ import net.minecraft.world.level.block.state.StateDefinition; import net.minecraft.world.level.block.state.properties.BlockStateProperties; import net.minecraft.world.level.block.state.properties.EnumProperty; -import net.minecraft.world.level.portal.TeleportTransition; +import net.minecraft.world.level.portal.DimensionTransition; import net.minecraft.world.phys.shapes.VoxelShape; import net.minecraft.world.phys.shapes.CollisionContext; -import org.jspecify.annotations.Nullable; public class SnowPortalBlock extends Block implements Portal { public static final EnumProperty AXIS = BlockStateProperties.AXIS; @@ -53,7 +52,7 @@ protected VoxelShape getShape(BlockState state, BlockGetter level, BlockPos pos, } @Override - protected void entityInside(BlockState state, Level level, BlockPos pos, Entity entity, InsideBlockEffectApplier effects, boolean canTeleport) { + protected void entityInside(BlockState state, Level level, BlockPos pos, Entity entity) { if (entity.canUsePortal(false)) { entity.setAsInsidePortal(this, pos); } @@ -62,34 +61,35 @@ protected void entityInside(BlockState state, Level level, BlockPos pos, Entity @Override public int getPortalTransitionTime(ServerLevel level, Entity entity) { if (entity instanceof Player player) { - return player.getAbilities().invulnerable - ? level.getGameRules().get(GameRules.PLAYERS_NETHER_PORTAL_CREATIVE_DELAY) - : level.getGameRules().get(GameRules.PLAYERS_NETHER_PORTAL_DEFAULT_DELAY); + return Math.max( + 1, + player.getAbilities().invulnerable + ? level.getGameRules().getInt(GameRules.RULE_PLAYERS_NETHER_PORTAL_CREATIVE_DELAY) + : level.getGameRules().getInt(GameRules.RULE_PLAYERS_NETHER_PORTAL_DEFAULT_DELAY) + ); } return 0; } @Override - public @Nullable TeleportTransition getPortalDestination(ServerLevel level, Entity entity, BlockPos pos) { + public @Nullable DimensionTransition getPortalDestination(ServerLevel level, Entity entity, BlockPos pos) { return SnowPortalTeleporter.createTransition(level, entity, pos, level.getBlockState(pos).getValue(AXIS)); } @Override protected BlockState updateShape( BlockState state, - LevelReader level, - ScheduledTickAccess scheduledTickAccess, - BlockPos pos, Direction direction, - BlockPos neighborPos, BlockState neighborState, - RandomSource random + LevelAccessor level, + BlockPos pos, + BlockPos neighborPos ) { Optional shape = SnowPortalShape.find(level, pos, state.getValue(AXIS)); if (shape.isEmpty() || !shape.get().isComplete()) { return Blocks.AIR.defaultBlockState(); } - return super.updateShape(state, level, scheduledTickAccess, pos, direction, neighborPos, neighborState, random); + return super.updateShape(state, direction, neighborState, level, pos, neighborPos); } @Override @@ -115,7 +115,7 @@ public void animateTick(BlockState state, Level level, BlockPos pos, RandomSourc } @Override - protected ItemStack getCloneItemStack(LevelReader level, BlockPos pos, BlockState state, boolean includeData) { + public ItemStack getCloneItemStack(LevelReader level, BlockPos pos, BlockState state) { return ItemStack.EMPTY; } diff --git a/src/main/java/com/dec/decisland/client/DizzinessClient.kt b/src/main/java/com/dec/decisland/client/DizzinessClient.kt index 1cd8872..4f7c85b 100644 --- a/src/main/java/com/dec/decisland/client/DizzinessClient.kt +++ b/src/main/java/com/dec/decisland/client/DizzinessClient.kt @@ -25,7 +25,7 @@ object DizzinessClient { val effect = player.getEffect(ModEffects.DIZZINESS) ?: return val level = effect.amplifier + 1 - val blend = player.getEffectBlendFactor(ModEffects.DIZZINESS, 1.0f).coerceAtLeast(0.2f) + val blend = effect.getBlendFactor(player, 1.0f).coerceAtLeast(0.2f) val random = player.random val intensityScale = LEVEL_MULTIPLIER.pow(level - 1) diff --git a/src/main/java/com/dec/decisland/client/bedrock/BedrockBillboardParticle.kt b/src/main/java/com/dec/decisland/client/bedrock/BedrockBillboardParticle.kt index 912b5d5..ec14acf 100644 --- a/src/main/java/com/dec/decisland/client/bedrock/BedrockBillboardParticle.kt +++ b/src/main/java/com/dec/decisland/client/bedrock/BedrockBillboardParticle.kt @@ -8,14 +8,21 @@ import com.dec.decisland.particles.bedrock.BedrockTintColor import com.dec.decisland.particles.bedrock.ColorStop import com.dec.decisland.particles.bedrock.Molang import com.dec.decisland.particles.bedrock.MolangContext +import com.mojang.blaze3d.systems.RenderSystem +import com.mojang.blaze3d.vertex.BufferBuilder +import com.mojang.blaze3d.vertex.DefaultVertexFormat +import com.mojang.blaze3d.vertex.Tesselator +import com.mojang.blaze3d.vertex.VertexFormat import net.minecraft.client.multiplayer.ClientLevel +import net.minecraft.client.particle.ParticleRenderType import net.minecraft.client.particle.SingleQuadParticle -import net.minecraft.client.renderer.RenderPipelines +import net.minecraft.client.particle.TextureSheetParticle import net.minecraft.client.renderer.texture.TextureAtlas import net.minecraft.client.renderer.texture.TextureAtlasSprite +import net.minecraft.client.renderer.texture.TextureManager import net.minecraft.core.particles.SimpleParticleType import net.minecraft.core.registries.BuiltInRegistries -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.world.phys.Vec3 import kotlin.math.PI import kotlin.math.abs @@ -38,10 +45,23 @@ class BedrockBillboardParticle( private val emitterRandom2: Double = Math.random(), private val emitterRandom3: Double = Math.random(), private val emitterRandom4: Double = Math.random(), -) : SingleQuadParticle(level, x, y, z, sprite), EmitterBoundParticle { +) : TextureSheetParticle(level, x, y, z), EmitterBoundParticle { companion object { // Bedrock `particles_add` behaves closer to an emissive overlay than a lit translucent quad. - private val ADDITIVE_PARTICLE_LAYER = Layer(true, TextureAtlas.LOCATION_PARTICLES, RenderPipelines.TRANSLUCENT_PARTICLE) + private val ADDITIVE_PARTICLE_RENDER_TYPE = object : ParticleRenderType { + override fun begin(tesselator: Tesselator, textureManager: TextureManager): BufferBuilder { + RenderSystem.depthMask(true) + RenderSystem.setShaderTexture(0, TextureAtlas.LOCATION_PARTICLES) + RenderSystem.enableBlend() + RenderSystem.blendFunc( + com.mojang.blaze3d.platform.GlStateManager.SourceFactor.SRC_ALPHA, + com.mojang.blaze3d.platform.GlStateManager.DestFactor.ONE, + ) + return tesselator.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.PARTICLE) + } + + override fun toString(): String = "decisland_particles_add" + } } private var emitterOrigin = Vec3(x, y, z) @@ -157,16 +177,16 @@ class BedrockBillboardParticle( applySize() } - override fun getFacingCameraMode(): FacingCameraMode = + override fun getFacingCameraMode(): SingleQuadParticle.FacingCameraMode = when (definition.particleAppearanceBillboard?.facingCameraMode?.lowercase()) { - "lookat_y", "rotate_y" -> FacingCameraMode.LOOKAT_Y - else -> FacingCameraMode.LOOKAT_XYZ + "lookat_y", "rotate_y" -> SingleQuadParticle.FacingCameraMode.LOOKAT_Y + else -> SingleQuadParticle.FacingCameraMode.LOOKAT_XYZ } - override fun getLayer(): Layer = + override fun getRenderType(): ParticleRenderType = when (definition.renderMaterial?.lowercase()) { - "particles_add" -> ADDITIVE_PARTICLE_LAYER - else -> Layer.TRANSLUCENT + "particles_add" -> ADDITIVE_PARTICLE_RENDER_TYPE + else -> ParticleRenderType.PARTICLE_SHEET_TRANSLUCENT } override fun getLightColor(partialTick: Float): Int { @@ -238,13 +258,13 @@ class BedrockBillboardParticle( return } - val effectId = Identifier.tryParse(particleEffect.effect ?: return) ?: return + val effectId = ResourceLocation.tryParse(particleEffect.effect ?: return) ?: return if (ModParticles.resolveBedrockDefinition(effectId) != null && ModParticles.resolveBedrockSpriteId(effectId) != null) { BedrockEmitterManager.spawnAt(effectId, Vec3(x, y, z), 2) return } - val particleType = BuiltInRegistries.PARTICLE_TYPE.getValue(effectId) + val particleType = BuiltInRegistries.PARTICLE_TYPE.get(effectId) if (particleType is SimpleParticleType) { level.addParticle(particleType, x, y, z, 0.0, 0.0, 0.0) } diff --git a/src/main/java/com/dec/decisland/client/bedrock/BedrockEmitterManager.kt b/src/main/java/com/dec/decisland/client/bedrock/BedrockEmitterManager.kt index 4e21e82..8876810 100644 --- a/src/main/java/com/dec/decisland/client/bedrock/BedrockEmitterManager.kt +++ b/src/main/java/com/dec/decisland/client/bedrock/BedrockEmitterManager.kt @@ -9,7 +9,7 @@ import com.dec.decisland.particles.bedrock.Molang import com.dec.decisland.particles.bedrock.MolangContext import net.minecraft.client.Minecraft import net.minecraft.client.multiplayer.ClientLevel -import net.minecraft.data.AtlasIds +import net.minecraft.client.renderer.texture.TextureAtlas import net.minecraft.world.phys.Vec3 import kotlin.math.cos import kotlin.math.cbrt @@ -32,7 +32,7 @@ object BedrockEmitterManager { } } - fun spawnAt(id: net.minecraft.resources.Identifier, position: Vec3, durationTicks: Int = 100): Boolean { + fun spawnAt(id: net.minecraft.resources.ResourceLocation, position: Vec3, durationTicks: Int = 100): Boolean { val definition = ModParticles.resolveBedrockDefinition(id) ?: return false val spriteIds = ModParticles.resolveBedrockSpriteIds(id) if (spriteIds.isEmpty()) return false @@ -42,7 +42,7 @@ object BedrockEmitterManager { private class EmitterInstance( private val definition: BedrockParticleEffectDefinition, - private val spriteIds: List, + private val spriteIds: List, private val origin: Vec3, private val maxTicks: Int, ) { @@ -94,7 +94,7 @@ object BedrockEmitterManager { val velocity = computeVelocity(spawn.direction) val minecraft = Minecraft.getInstance() val engine = minecraft.particleEngine - val atlas = minecraft.atlasManager.getAtlasOrThrow(AtlasIds.PARTICLES) + val atlas = minecraft.modelManager.getAtlas(TextureAtlas.LOCATION_PARTICLES) val spriteId = spriteIds[(Math.random() * spriteIds.size).toInt().coerceIn(0, spriteIds.lastIndex)] val sprite = atlas.getSprite(spriteId) val particle = BedrockBillboardParticle( diff --git a/src/main/java/com/dec/decisland/client/bedrock/model/BedrockAnimatedEntityModel.kt b/src/main/java/com/dec/decisland/client/bedrock/model/BedrockAnimatedEntityModel.kt index a7dfbab..fc76b25 100644 --- a/src/main/java/com/dec/decisland/client/bedrock/model/BedrockAnimatedEntityModel.kt +++ b/src/main/java/com/dec/decisland/client/bedrock/model/BedrockAnimatedEntityModel.kt @@ -1,5 +1,7 @@ package com.dec.decisland.client.bedrock.model +import com.mojang.blaze3d.vertex.PoseStack +import com.mojang.blaze3d.vertex.VertexConsumer import net.minecraft.client.model.EntityModel import net.minecraft.client.model.geom.ModelPart import net.minecraft.client.model.geom.PartPose @@ -8,24 +10,45 @@ import net.minecraft.client.model.geom.builders.CubeListBuilder import net.minecraft.client.model.geom.builders.LayerDefinition import net.minecraft.client.model.geom.builders.MeshDefinition import net.minecraft.client.model.geom.builders.PartDefinition -import net.minecraft.client.renderer.entity.state.EntityRenderState +import net.minecraft.world.entity.Entity import kotlin.math.PI class BedrockAnimatedEntityModel private constructor( private val bakedModel: BakedBedrockModel, private val animation: BedrockAnimationClip, -) : EntityModel(bakedModel.root) { +) : EntityModel() { constructor(geometry: BedrockGeometry, animation: BedrockAnimationClip) : this( bakeModel(geometry), animation, ) - override fun setupAnim(state: State) { + override fun setupAnim( + entity: Entity, + limbSwing: Float, + limbSwingAmount: Float, + ageInTicks: Float, + netHeadYaw: Float, + headPitch: Float, + ) { + applyAnimation(ageInTicks / 20.0f) + } + + override fun renderToBuffer( + poseStack: PoseStack, + buffer: VertexConsumer, + packedLight: Int, + packedOverlay: Int, + color: Int, + ) { + bakedModel.root.render(poseStack, buffer, packedLight, packedOverlay, color) + } + + fun applyAnimation(timeSeconds: Float) { bakedModel.resetPoses() bakedModel.animatedBones.forEach { (boneName, part) -> - val sampledRotation = animation.sampleRotation(boneName, state.animationTimeSeconds) - val sampledScale = animation.sampleScale(boneName, state.animationTimeSeconds) + val sampledRotation = animation.sampleRotation(boneName, timeSeconds) + val sampledScale = animation.sampleScale(boneName, timeSeconds) part.xRot += sampledRotation.x.toModelRadX() part.yRot += sampledRotation.y.toModelRadY() part.zRot += sampledRotation.z.toModelRadZ() @@ -35,10 +58,6 @@ class BedrockAnimatedEntityModel private constructor( } } - class State : EntityRenderState() { - var animationTimeSeconds: Float = 0.0f - } - private data class PartPoseSnapshot( val x: Float, val y: Float, diff --git a/src/main/java/com/dec/decisland/client/bedrock/model/BedrockEntityAssets.kt b/src/main/java/com/dec/decisland/client/bedrock/model/BedrockEntityAssets.kt index a1f9610..5aa0188 100644 --- a/src/main/java/com/dec/decisland/client/bedrock/model/BedrockEntityAssets.kt +++ b/src/main/java/com/dec/decisland/client/bedrock/model/BedrockEntityAssets.kt @@ -5,23 +5,23 @@ import com.google.gson.JsonElement import com.google.gson.JsonObject import com.google.gson.JsonParser import net.minecraft.client.Minecraft -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import java.io.InputStream import java.io.InputStreamReader import java.util.concurrent.ConcurrentHashMap object BedrockEntityAssets { - private val geometryCache = ConcurrentHashMap() - private val animationCache = ConcurrentHashMap>() + private val geometryCache = ConcurrentHashMap() + private val animationCache = ConcurrentHashMap>() - fun geometry(resourceId: Identifier): BedrockGeometry = + fun geometry(resourceId: ResourceLocation): BedrockGeometry = geometryCache.computeIfAbsent(resourceId) { loadGeometry(it) } - fun animation(resourceId: Identifier, animationName: String): BedrockAnimationClip = + fun animation(resourceId: ResourceLocation, animationName: String): BedrockAnimationClip = animationCache.computeIfAbsent(resourceId) { loadAnimations(it) }[animationName] ?: error("Missing Bedrock animation '$animationName' in $resourceId") - private fun loadGeometry(resourceId: Identifier): BedrockGeometry { + private fun loadGeometry(resourceId: ResourceLocation): BedrockGeometry { val root = parseJson(resourceId) val geometryObject = root.getAsJsonArrayOrNull("minecraft:geometry") ?.firstOrNull() @@ -61,7 +61,7 @@ object BedrockEntityAssets { ) } - private fun loadAnimations(resourceId: Identifier): Map { + private fun loadAnimations(resourceId: ResourceLocation): Map { val root = parseJson(resourceId) val animationsObject = root.getAsJsonObjectOrNull("animations") ?: error("Invalid Bedrock animation file: $resourceId") @@ -201,7 +201,7 @@ object BedrockEntityAssets { ) } - private fun parseJson(resourceId: Identifier): JsonObject { + private fun parseJson(resourceId: ResourceLocation): JsonObject { openResource(resourceId).use { stream -> if (stream == null) { error("Missing Bedrock asset: $resourceId") @@ -213,7 +213,7 @@ object BedrockEntityAssets { } } - private fun openResource(resourceId: Identifier): InputStream? { + private fun openResource(resourceId: ResourceLocation): InputStream? { val resourceManager = runCatching { Minecraft.getInstance().resourceManager }.getOrNull() val resource = resourceManager?.getResource(resourceId)?.orElse(null) if (resource != null) { diff --git a/src/main/java/com/dec/decisland/client/bedrock/model/BedrockTextureMeshSupport.kt b/src/main/java/com/dec/decisland/client/bedrock/model/BedrockTextureMeshSupport.kt index 60fb206..d1d25a9 100644 --- a/src/main/java/com/dec/decisland/client/bedrock/model/BedrockTextureMeshSupport.kt +++ b/src/main/java/com/dec/decisland/client/bedrock/model/BedrockTextureMeshSupport.kt @@ -4,9 +4,9 @@ import com.mojang.blaze3d.vertex.PoseStack import net.minecraft.client.Minecraft import net.minecraft.client.model.geom.ModelPart import net.minecraft.client.model.geom.PartPose -import net.minecraft.client.renderer.SubmitNodeCollector -import net.minecraft.client.renderer.rendertype.RenderType -import net.minecraft.resources.Identifier +import net.minecraft.client.renderer.MultiBufferSource +import net.minecraft.client.renderer.RenderType +import net.minecraft.resources.ResourceLocation import net.minecraft.world.item.ItemStack import org.joml.Vector3f import java.awt.image.BufferedImage @@ -30,13 +30,36 @@ object BedrockTextureMeshSupport { isAccessible = true } - private val textureMaskCache = ConcurrentHashMap() + private val polygonsField = ModelPart.Cube::class.java.getDeclaredField("polygons").apply { + isAccessible = true + } + + // ModelPart.Vertex and ModelPart.Polygon are package-private in 1.21.1, so they + // cannot be referenced directly from Kotlin. Reach them via reflection. + private val vertexClass: Class<*> = Class.forName("net.minecraft.client.model.geom.ModelPart\$Vertex") + private val vertexCtor = vertexClass + .getDeclaredConstructor( + java.lang.Float.TYPE, + java.lang.Float.TYPE, + java.lang.Float.TYPE, + java.lang.Float.TYPE, + java.lang.Float.TYPE, + ).apply { isAccessible = true } + + private val polygonClass: Class<*> = Class.forName("net.minecraft.client.model.geom.ModelPart\$Polygon") + private val polygonVerticesField = polygonClass.getDeclaredField("vertices").apply { isAccessible = true } + private val polygonNormalField = polygonClass.getDeclaredField("normal").apply { isAccessible = true } + + private fun vertex(x: Float, y: Float, z: Float, u: Float, v: Float): Any = + vertexCtor.newInstance(x, y, z, u, v) as Any + + private val textureMaskCache = ConcurrentHashMap() fun attachMeshesToNamedBones( root: ModelPart, geometry: BedrockGeometry, transformMode: TransformMode = TransformMode.DIRECT, - textureId: Identifier? = null, + textureId: ResourceLocation? = null, meshRenderMode: MeshRenderMode = MeshRenderMode.POLYGON, ) { if (meshRenderMode != MeshRenderMode.POLYGON || geometry.bones.none { it.textureMeshes.isNotEmpty() }) { @@ -44,9 +67,9 @@ object BedrockTextureMeshSupport { } val textureMask = textureId?.let(::textureMask) - val lookup = root.createPartLookup() + val lookup = createPartLookup(root) geometry.bones.forEach { bone -> - val parent = lookup.apply(bone.name) ?: return@forEach + val parent = lookup(bone.name) ?: return@forEach bone.textureMeshes.forEachIndexed { index, textureMesh -> val childName = "__texture_mesh_$index" if (!parent.hasChild(childName)) { @@ -65,7 +88,7 @@ object BedrockTextureMeshSupport { fun submitStoredSideMeshes( root: ModelPart, poseStack: PoseStack, - collector: SubmitNodeCollector, + bufferSource: MultiBufferSource, renderType: RenderType, packedLight: Int, color: Int = -1, @@ -78,6 +101,19 @@ object BedrockTextureMeshSupport { private fun mutableChildren(part: ModelPart): MutableMap = childrenField.get(part) as MutableMap + private fun createPartLookup(root: ModelPart): (String) -> ModelPart? { + val partsByName = HashMap() + collectParts(root, partsByName) + return { name -> partsByName[name] } + } + + private fun collectParts(part: ModelPart, partsByName: MutableMap) { + mutableChildren(part).forEach { (name, child) -> + partsByName[name] = child + collectParts(child, partsByName) + } + } + private fun createTextureMeshPart( bone: BedrockBone, textureMesh: BedrockTextureMesh, @@ -91,16 +127,13 @@ object BedrockTextureMeshSupport { ) val position = resolvePosition(bone, textureMesh, transformMode) - val pose = PartPose( + val pose = PartPose.offsetAndRotation( position.x, position.y, position.z, textureMesh.rotation.x.toModelRadX(), textureMesh.rotation.y.toModelRadY(), textureMesh.rotation.z.toModelRadZ(), - 1.0f, - 1.0f, - 1.0f, ) part.setInitialPose(pose) part.loadPose(pose) @@ -130,29 +163,25 @@ object BedrockTextureMeshSupport { val cubes = ArrayList() cubes += singlePolygonCube( - polygon( - normalX = 0.0f, - normalY = 1.0f, - normalZ = 0.0f, - vertices = arrayOf( - ModelPart.Vertex(xCoord(mask.width.toFloat()), yCoord(0.0f), zCoord(0.0f), 1.0f, 1.0f), - ModelPart.Vertex(xCoord(mask.width.toFloat()), yCoord(0.0f), zCoord(mask.height.toFloat()), 1.0f, 0.0f), - ModelPart.Vertex(xCoord(0.0f), yCoord(0.0f), zCoord(mask.height.toFloat()), 0.0f, 0.0f), - ModelPart.Vertex(xCoord(0.0f), yCoord(0.0f), zCoord(0.0f), 0.0f, 1.0f), - ), + normalX = 0.0f, + normalY = 1.0f, + normalZ = 0.0f, + vertices = arrayOf( + vertex(xCoord(mask.width.toFloat()), yCoord(0.0f), zCoord(0.0f), 1.0f, 1.0f), + vertex(xCoord(mask.width.toFloat()), yCoord(0.0f), zCoord(mask.height.toFloat()), 1.0f, 0.0f), + vertex(xCoord(0.0f), yCoord(0.0f), zCoord(mask.height.toFloat()), 0.0f, 0.0f), + vertex(xCoord(0.0f), yCoord(0.0f), zCoord(0.0f), 0.0f, 1.0f), ), ) cubes += singlePolygonCube( - polygon( - normalX = 0.0f, - normalY = -1.0f, - normalZ = 0.0f, - vertices = arrayOf( - ModelPart.Vertex(xCoord(mask.width.toFloat()), yCoord(-1.0f), zCoord(0.0f), 1.0f, 1.0f), - ModelPart.Vertex(xCoord(0.0f), yCoord(-1.0f), zCoord(0.0f), 0.0f, 1.0f), - ModelPart.Vertex(xCoord(0.0f), yCoord(-1.0f), zCoord(mask.height.toFloat()), 0.0f, 0.0f), - ModelPart.Vertex(xCoord(mask.width.toFloat()), yCoord(-1.0f), zCoord(mask.height.toFloat()), 1.0f, 0.0f), - ), + normalX = 0.0f, + normalY = -1.0f, + normalZ = 0.0f, + vertices = arrayOf( + vertex(xCoord(mask.width.toFloat()), yCoord(-1.0f), zCoord(0.0f), 1.0f, 1.0f), + vertex(xCoord(0.0f), yCoord(-1.0f), zCoord(0.0f), 0.0f, 1.0f), + vertex(xCoord(0.0f), yCoord(-1.0f), zCoord(mask.height.toFloat()), 0.0f, 0.0f), + vertex(xCoord(mask.width.toFloat()), yCoord(-1.0f), zCoord(mask.height.toFloat()), 1.0f, 0.0f), ), ) @@ -230,29 +259,29 @@ object BedrockTextureMeshSupport { Vector3f(0.0f, 0.0f, -dir.toFloat()) } - val baseVertices = arrayOf( - ModelPart.Vertex( + val baseVertices: Array = arrayOf( + vertex( xCoord(sx), yCoord(0.0f), zCoord(sy), clampUv(uvEx / mask.width.toFloat()), clampUv(1.0f - (uvSy / mask.height.toFloat())), ), - ModelPart.Vertex( + vertex( xCoord(sx), yCoord(-1.0f), zCoord(sy), clampUv(uvEx / mask.width.toFloat()), clampUv(1.0f - (uvEy / mask.height.toFloat())), ), - ModelPart.Vertex( + vertex( xCoord(ex), yCoord(-1.0f), zCoord(ey), clampUv(uvSx / mask.width.toFloat()), clampUv(1.0f - (uvEy / mask.height.toFloat())), ), - ModelPart.Vertex( + vertex( xCoord(ex), yCoord(0.0f), zCoord(ey), @@ -261,14 +290,14 @@ object BedrockTextureMeshSupport { ), ) - val orderedVertices = when { + val orderedVertices: Array = when { isVerticalBoundary && dir == 1 -> baseVertices isVerticalBoundary -> arrayOf(baseVertices[0], baseVertices[3], baseVertices[2], baseVertices[1]) dir == -1 -> baseVertices else -> arrayOf(baseVertices[0], baseVertices[3], baseVertices[2], baseVertices[1]) } - return singlePolygonCube(ModelPart.Polygon(orderedVertices, normal)) + return singlePolygonCube(normal.x, normal.y, normal.z, orderedVertices) } private fun clampUv(value: Float): Float = value.coerceIn(0.0f, 1.0f) @@ -288,15 +317,19 @@ object BedrockTextureMeshSupport { ) } - private fun polygon( + @Suppress("UNCHECKED_CAST") + private fun singlePolygonCube( normalX: Float, normalY: Float, normalZ: Float, - vertices: Array, - ): ModelPart.Polygon = ModelPart.Polygon(vertices, Vector3f(normalX, normalY, normalZ)) - - private fun singlePolygonCube(polygon: ModelPart.Polygon): ModelPart.Cube = - ModelPart.Cube( + vertices: Array, + ): ModelPart.Cube { + // Build a degenerate Cube whose NORTH polygon we overwrite via reflection, + // since ModelPart.Polygon and ModelPart.Vertex are package-private in 1.21.1. + // The NORTH face yields exactly one Polygon with 4 Vertex slots, matching our + // caller-supplied vertices. We mutate the existing array in place because + // Field.set rejects an Object[] on a Vertex[] field. + val cube = ModelPart.Cube( 0, 0, 0.0f, @@ -312,16 +345,24 @@ object BedrockTextureMeshSupport { 1.0f, 1.0f, setOf(net.minecraft.core.Direction.NORTH), - ).also { cube -> - cube.polygons[0] = polygon + ) + val polygons = polygonsField.get(cube) as Array + val polygon = polygons[0] + val existingVertices = polygonVerticesField.get(polygon) as Array + val copyCount = minOf(vertices.size, existingVertices.size) + for (i in 0 until copyCount) { + existingVertices[i] = vertices[i] } + polygonNormalField.set(polygon, Vector3f(normalX, normalY, normalZ)) + return cube + } - private fun textureMask(textureId: Identifier): TextureMask = + private fun textureMask(textureId: ResourceLocation): TextureMask = textureMaskCache.computeIfAbsent(textureId) { openTexture(it)?.use(::readTextureMask) ?: TextureMask.full(64, 64) } - private fun openTexture(textureId: Identifier): InputStream? { + private fun openTexture(textureId: ResourceLocation): InputStream? { val resourceManager = runCatching { Minecraft.getInstance().resourceManager }.getOrNull() val resource = resourceManager?.getResource(textureId)?.orElse(null) if (resource != null) { diff --git a/src/main/java/com/dec/decisland/client/fog/VoidFogConfig.kt b/src/main/java/com/dec/decisland/client/fog/VoidFogConfig.kt index ed07f3c..815dd47 100644 --- a/src/main/java/com/dec/decisland/client/fog/VoidFogConfig.kt +++ b/src/main/java/com/dec/decisland/client/fog/VoidFogConfig.kt @@ -4,14 +4,14 @@ import com.dec.decisland.DecIsland import com.google.gson.Gson import com.google.gson.JsonElement import com.google.gson.JsonObject -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.server.packs.resources.ResourceManager import java.io.InputStreamReader import kotlin.math.max object VoidFogConfig { private val gson = Gson() - private val configId = Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "fog/void.json") + private val configId = ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "fog/void.json") @Volatile private var loaded = false @@ -35,14 +35,14 @@ object VoidFogConfig { } } - fun specFor(biomeId: Identifier?): FogSpec { + fun specFor(biomeId: ResourceLocation?): FogSpec { val current = config return biomeId?.let { current.byBiome[it] } ?: current.global } fun globalSpec(): FogSpec = config.global - fun tintRgb(r: Float, g: Float, b: Float, biomeId: Identifier?): FloatArray { + fun tintRgb(r: Float, g: Float, b: Float, biomeId: ResourceLocation?): FloatArray { val current = config var rr = r var gg = g @@ -137,7 +137,7 @@ object VoidFogConfig { data class FogConfig( val global: FogSpec, - val byBiome: Map, + val byBiome: Map, ) { companion object { fun defaults(): FogConfig = FogConfig( @@ -149,13 +149,13 @@ object VoidFogConfig { alphaMul = 1.0f, ), byBiome = mapOf( - Identifier.fromNamespaceAndPath("minecraft", "ice_spikes") to FogSpec(0xB9F6FF, 0.45f, 0.78f, 0.58f, 1.0f), - Identifier.fromNamespaceAndPath("minecraft", "snowy_taiga") to FogSpec(0xA8C8FF, 0.28f, 0.84f, 0.66f, 1.0f), - Identifier.fromNamespaceAndPath("minecraft", "grove") to FogSpec(0x9FC3FF, 0.30f, 0.82f, 0.62f, 1.0f), - Identifier.fromNamespaceAndPath("minecraft", "forest") to FogSpec(0x93C8A0, 0.18f, 0.88f, 0.70f, 1.0f), - Identifier.fromNamespaceAndPath("minecraft", "birch_forest") to FogSpec(0xA6D7AE, 0.16f, 0.90f, 0.72f, 1.0f), - Identifier.fromNamespaceAndPath("minecraft", "river") to FogSpec(0x6AA5FF, 0.25f, 0.82f, 0.60f, 1.0f), - Identifier.fromNamespaceAndPath("minecraft", "frozen_river") to FogSpec(0xA3E6FF, 0.30f, 0.80f, 0.58f, 1.0f), + ResourceLocation.fromNamespaceAndPath("minecraft", "ice_spikes") to FogSpec(0xB9F6FF, 0.45f, 0.78f, 0.58f, 1.0f), + ResourceLocation.fromNamespaceAndPath("minecraft", "snowy_taiga") to FogSpec(0xA8C8FF, 0.28f, 0.84f, 0.66f, 1.0f), + ResourceLocation.fromNamespaceAndPath("minecraft", "grove") to FogSpec(0x9FC3FF, 0.30f, 0.82f, 0.62f, 1.0f), + ResourceLocation.fromNamespaceAndPath("minecraft", "forest") to FogSpec(0x93C8A0, 0.18f, 0.88f, 0.70f, 1.0f), + ResourceLocation.fromNamespaceAndPath("minecraft", "birch_forest") to FogSpec(0xA6D7AE, 0.16f, 0.90f, 0.72f, 1.0f), + ResourceLocation.fromNamespaceAndPath("minecraft", "river") to FogSpec(0x6AA5FF, 0.25f, 0.82f, 0.60f, 1.0f), + ResourceLocation.fromNamespaceAndPath("minecraft", "frozen_river") to FogSpec(0xA3E6FF, 0.30f, 0.80f, 0.58f, 1.0f), ), ) @@ -167,7 +167,7 @@ object VoidFogConfig { if (!value.isJsonObject) { return@forEach } - val id = Identifier.tryParse(key) ?: return@forEach + val id = ResourceLocation.tryParse(key) ?: return@forEach put(id, FogSpec.fromJson(value.asJsonObject)) } } diff --git a/src/main/java/com/dec/decisland/client/fog/VoidFogEvents.kt b/src/main/java/com/dec/decisland/client/fog/VoidFogEvents.kt index 4226cfa..cd86039 100644 --- a/src/main/java/com/dec/decisland/client/fog/VoidFogEvents.kt +++ b/src/main/java/com/dec/decisland/client/fog/VoidFogEvents.kt @@ -3,6 +3,7 @@ package com.dec.decisland.client.fog import com.dec.decisland.worldgen.ModDimensions import net.minecraft.client.Minecraft import net.minecraft.client.multiplayer.ClientLevel +import net.minecraft.core.BlockPos import net.minecraft.world.level.material.FogType import net.neoforged.bus.api.SubscribeEvent import net.neoforged.neoforge.client.event.ViewportEvent @@ -16,7 +17,7 @@ object VoidFogEvents { } val camera = event.camera - val entity = camera.entity() ?: return + val entity = camera.entity val level = entity.level() if (level !is ClientLevel || level.dimension() != ModDimensions.VOID_LEVEL) { return @@ -24,9 +25,9 @@ object VoidFogEvents { VoidFogConfig.ensureLoaded(Minecraft.getInstance().resourceManager) - val biomeId = level.getBiome(camera.blockPosition()) + val biomeId = level.getBiome(BlockPos.containing(camera.position)) .unwrapKey() - .map { it.identifier() } + .map { it.location() } .orElse(null) val global = VoidFogConfig.globalSpec() val biome = VoidFogConfig.specFor(biomeId) @@ -40,7 +41,7 @@ object VoidFogEvents { @SubscribeEvent fun onComputeFogColor(event: ViewportEvent.ComputeFogColor) { val camera = event.camera - val entity = camera.entity() ?: return + val entity = camera.entity val level = entity.level() if (level !is ClientLevel || level.dimension() != ModDimensions.VOID_LEVEL) { return @@ -48,9 +49,9 @@ object VoidFogEvents { VoidFogConfig.ensureLoaded(Minecraft.getInstance().resourceManager) - val biomeId = level.getBiome(camera.blockPosition()) + val biomeId = level.getBiome(BlockPos.containing(camera.position)) .unwrapKey() - .map { it.identifier() } + .map { it.location() } .orElse(null) val rgb = VoidFogConfig.tintRgb(event.red, event.green, event.blue, biomeId) event.red = rgb[0] diff --git a/src/main/java/com/dec/decisland/client/gui/ClientManaOverlay.kt b/src/main/java/com/dec/decisland/client/gui/ClientManaOverlay.kt index b595d45..f663ad4 100644 --- a/src/main/java/com/dec/decisland/client/gui/ClientManaOverlay.kt +++ b/src/main/java/com/dec/decisland/client/gui/ClientManaOverlay.kt @@ -3,8 +3,7 @@ package com.dec.decisland.client.gui import com.dec.decisland.DecIsland import net.minecraft.client.Minecraft import net.minecraft.client.gui.GuiGraphics -import net.minecraft.client.renderer.RenderPipelines -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import kotlin.math.abs import kotlin.math.min import kotlin.math.sin @@ -14,11 +13,11 @@ object ClientManaOverlay { private var isFadingOut: Boolean = false private const val FADE_DELAY_MS: Long = 3000 private const val FADE_DURATION_MS: Long = 3000 - private val manaIcons: Array = Array(5) { i -> - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "textures/gui/sprites/mana/mana_$i.png") + private val manaIcons: Array = Array(5) { i -> + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "textures/gui/sprites/mana/mana_$i.png") } - private val manaMaxBorderIcons: Array = Array(5) { i -> - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "textures/gui/sprites/mana/mana_max_$i.png") + private val manaMaxBorderIcons: Array = Array(5) { i -> + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "textures/gui/sprites/mana/mana_max_$i.png") } private var cachedCurrentMana: Float = 0.0f private var cachedMaxMana: Float = 20.0f @@ -66,60 +65,58 @@ object ClientManaOverlay { val iconSize = 16 val x = (screenWidth - iconSize) / 2 val y = screenHeight - 49 - val baseColorWithAlpha = ((fadeAlpha * 255).toInt() shl 24) or 0xFFFFFF + guiGraphics.setColor(1.0f, 1.0f, 1.0f, fadeAlpha) guiGraphics.blit( - RenderPipelines.GUI_TEXTURED, manaIcons[lowIndex], x, y, - 0.0f, - 0.0f, iconSize, iconSize, + 0.0f, + 0.0f, iconSize, iconSize, iconSize, iconSize, - baseColorWithAlpha, ) + guiGraphics.setColor(1.0f, 1.0f, 1.0f, 1.0f) if (lowIndex != highIndex) { val combinedAlpha = alphaHigh * fadeAlpha - val colorWithAlpha = ((combinedAlpha * 255).toInt() shl 24) or 0xFFFFFF + guiGraphics.setColor(1.0f, 1.0f, 1.0f, combinedAlpha) guiGraphics.blit( - RenderPipelines.GUI_TEXTURED, manaIcons[highIndex], x, y, - 0.0f, - 0.0f, iconSize, iconSize, + 0.0f, + 0.0f, iconSize, iconSize, iconSize, iconSize, - colorWithAlpha, ) + guiGraphics.setColor(1.0f, 1.0f, 1.0f, 1.0f) } val maxManaBorderIndex = getMaxManaBorderIndex(maxMana) + guiGraphics.setColor(1.0f, 1.0f, 1.0f, fadeAlpha) guiGraphics.blit( - RenderPipelines.GUI_TEXTURED, manaMaxBorderIcons[maxManaBorderIndex], x, y, - 0.0f, - 0.0f, iconSize, iconSize, + 0.0f, + 0.0f, iconSize, iconSize, iconSize, iconSize, - baseColorWithAlpha, ) + guiGraphics.setColor(1.0f, 1.0f, 1.0f, 1.0f) } private fun updateTransitionMana() { diff --git a/src/main/java/com/dec/decisland/client/model/ClothesModel.kt b/src/main/java/com/dec/decisland/client/model/ClothesModel.kt index 621af6d..4f5a2b8 100644 --- a/src/main/java/com/dec/decisland/client/model/ClothesModel.kt +++ b/src/main/java/com/dec/decisland/client/model/ClothesModel.kt @@ -11,22 +11,19 @@ import net.minecraft.client.model.geom.PartPose import net.minecraft.client.model.geom.builders.CubeListBuilder import net.minecraft.client.model.geom.builders.LayerDefinition import net.minecraft.client.model.geom.builders.MeshDefinition -import net.minecraft.client.renderer.entity.state.HumanoidRenderState -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation +import net.minecraft.world.entity.LivingEntity import kotlin.math.PI -class ClothesModel(root: ModelPart) : HumanoidModel(root) { - override fun setupAnim(state: T) { - super.setupAnim(state) - } +class ClothesModel(root: ModelPart) : HumanoidModel(root) { companion object { @JvmField val LAYER_LOCATION: ModelLayerLocation = - ModelLayerLocation(Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "clothes_model"), "main") + ModelLayerLocation(ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "clothes_model"), "main") - private val GEOMETRY_LOCATION: Identifier = - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "bedrock/models/armor/clothes.geometry.json") + private val GEOMETRY_LOCATION: ResourceLocation = + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "bedrock/models/armor/clothes.geometry.json") @JvmStatic fun createBodyLayer(): LayerDefinition { diff --git a/src/main/java/com/dec/decisland/client/model/EmptyModel.kt b/src/main/java/com/dec/decisland/client/model/EmptyModel.kt index 6b3ebea..71254b8 100644 --- a/src/main/java/com/dec/decisland/client/model/EmptyModel.kt +++ b/src/main/java/com/dec/decisland/client/model/EmptyModel.kt @@ -1,19 +1,41 @@ package com.dec.decisland.client.model import com.dec.decisland.DecIsland +import com.mojang.blaze3d.vertex.PoseStack +import com.mojang.blaze3d.vertex.VertexConsumer import net.minecraft.client.model.EntityModel import net.minecraft.client.model.geom.ModelLayerLocation import net.minecraft.client.model.geom.ModelPart import net.minecraft.client.model.geom.builders.LayerDefinition import net.minecraft.client.model.geom.builders.MeshDefinition -import net.minecraft.client.renderer.entity.state.LivingEntityRenderState -import net.minecraft.resources.Identifier +import net.minecraft.client.renderer.RenderType +import net.minecraft.resources.ResourceLocation +import net.minecraft.world.entity.Entity + +class EmptyModel(val root: ModelPart) : EntityModel() { + override fun setupAnim( + entity: Entity, + limbSwing: Float, + limbSwingAmount: Float, + ageInTicks: Float, + netHeadYaw: Float, + headPitch: Float, + ) { + } + + override fun renderToBuffer( + poseStack: PoseStack, + buffer: VertexConsumer, + packedLight: Int, + packedOverlay: Int, + color: Int, + ) { + } -class EmptyModel(root: ModelPart) : EntityModel(root) { companion object { @JvmField val LAYER_LOCATION: ModelLayerLocation = - ModelLayerLocation(Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "empty"), "main") + ModelLayerLocation(ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "empty"), "main") @JvmStatic fun createBodyLayer(): LayerDefinition { diff --git a/src/main/java/com/dec/decisland/client/model/FashionArmorModel.kt b/src/main/java/com/dec/decisland/client/model/FashionArmorModel.kt index 71a3442..f4ced4f 100644 --- a/src/main/java/com/dec/decisland/client/model/FashionArmorModel.kt +++ b/src/main/java/com/dec/decisland/client/model/FashionArmorModel.kt @@ -11,22 +11,21 @@ import net.minecraft.client.model.HumanoidModel import net.minecraft.client.model.geom.ModelLayerLocation import net.minecraft.client.model.geom.ModelPart import net.minecraft.client.model.geom.PartPose -import net.minecraft.client.renderer.SubmitNodeCollector -import net.minecraft.client.renderer.rendertype.RenderTypes import net.minecraft.client.model.geom.builders.CubeDeformation import net.minecraft.client.model.geom.builders.CubeListBuilder import net.minecraft.client.model.geom.builders.LayerDefinition import net.minecraft.client.model.geom.builders.MeshDefinition import net.minecraft.client.model.geom.builders.PartDefinition -import net.minecraft.client.renderer.entity.state.HumanoidRenderState -import net.minecraft.resources.Identifier +import net.minecraft.client.renderer.MultiBufferSource +import net.minecraft.resources.ResourceLocation +import net.minecraft.world.entity.LivingEntity import net.minecraft.world.item.ItemStack import kotlin.math.PI -class FashionArmorModel(root: ModelPart) : HumanoidModel(root) { +class FashionArmorModel(root: ModelPart) : HumanoidModel(root) { fun submitTextureMeshSides( poseStack: PoseStack, - collector: SubmitNodeCollector, + bufferSource: MultiBufferSource, packedLight: Int, itemStack: ItemStack, ) { @@ -66,29 +65,29 @@ class FashionArmorModel(root: ModelPart) : HumanoidMode val FOLLOWING_PARTICLE_LAYER_LOCATION: ModelLayerLocation = layerLocation("fashion_following_particle") - private val CLOTHES_GEOMETRY: Identifier = - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "bedrock/models/armor/fashion_clothes.geometry.json") + private val CLOTHES_GEOMETRY: ResourceLocation = + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "bedrock/models/armor/fashion_clothes.geometry.json") - private val CLOTHES_WITH_HOOD_GEOMETRY: Identifier = - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "bedrock/models/armor/fashion_clothes_with_hood.geometry.json") + private val CLOTHES_WITH_HOOD_GEOMETRY: ResourceLocation = + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "bedrock/models/armor/fashion_clothes_with_hood.geometry.json") - private val HAT_GEOMETRY: Identifier = - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "bedrock/models/armor/hat.geometry.json") + private val HAT_GEOMETRY: ResourceLocation = + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "bedrock/models/armor/hat.geometry.json") - private val WITCH_HAT_GEOMETRY: Identifier = - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "bedrock/models/armor/witch_hat.geometry.json") + private val WITCH_HAT_GEOMETRY: ResourceLocation = + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "bedrock/models/armor/witch_hat.geometry.json") - private val CHRISTMAS_CAP_GEOMETRY: Identifier = - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "bedrock/models/armor/christmas_cap.geometry.json") + private val CHRISTMAS_CAP_GEOMETRY: ResourceLocation = + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "bedrock/models/armor/christmas_cap.geometry.json") - private val WINGS_FROM_DEEP_GEOMETRY: Identifier = - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "bedrock/models/armor/wings_from_deep.geometry.json") + private val WINGS_FROM_DEEP_GEOMETRY: ResourceLocation = + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "bedrock/models/armor/wings_from_deep.geometry.json") - private val GIANT_BAT_WINGS_GEOMETRY: Identifier = - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "bedrock/models/armor/giant_bat_wings.geometry.json") + private val GIANT_BAT_WINGS_GEOMETRY: ResourceLocation = + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "bedrock/models/armor/giant_bat_wings.geometry.json") - private val FOLLOWING_PARTICLE_GEOMETRY: Identifier = - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "bedrock/models/armor/following_particle.geometry.json") + private val FOLLOWING_PARTICLE_GEOMETRY: ResourceLocation = + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "bedrock/models/armor/following_particle.geometry.json") @JvmStatic fun createClothesBodyLayer(): LayerDefinition = @@ -126,9 +125,9 @@ class FashionArmorModel(root: ModelPart) : HumanoidMode fun attachTextureMeshes(root: ModelPart, modelKind: Fashion.ModelKind) { val (geometryId, textureId) = when (modelKind) { Fashion.ModelKind.WINGS_FROM_DEEP -> WINGS_FROM_DEEP_GEOMETRY to - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "textures/armor/fashion/wings_from_deep.png") + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "textures/armor/fashion/wings_from_deep.png") Fashion.ModelKind.GIANT_BAT_WINGS -> GIANT_BAT_WINGS_GEOMETRY to - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "textures/armor/fashion/giant_bat_wings.png") + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "textures/armor/fashion/giant_bat_wings.png") else -> return } @@ -144,7 +143,7 @@ class FashionArmorModel(root: ModelPart) : HumanoidMode ) } - private fun createClothesBodyLayer(geometryId: Identifier): LayerDefinition { + private fun createClothesBodyLayer(geometryId: ResourceLocation): LayerDefinition { val geometry = BedrockEntityAssets.geometry(geometryId) val meshDefinition = MeshDefinition() val root = meshDefinition.root @@ -188,7 +187,7 @@ class FashionArmorModel(root: ModelPart) : HumanoidMode return LayerDefinition.create(meshDefinition, geometry.textureWidth, geometry.textureHeight) } - private fun createHeadwearBodyLayer(geometryId: Identifier): LayerDefinition { + private fun createHeadwearBodyLayer(geometryId: ResourceLocation): LayerDefinition { val geometry = BedrockEntityAssets.geometry(geometryId) val meshDefinition = MeshDefinition() val root = meshDefinition.root @@ -223,7 +222,7 @@ class FashionArmorModel(root: ModelPart) : HumanoidMode } private fun createBodyAttachmentLayer( - geometryId: Identifier, + geometryId: ResourceLocation, bodyBoneName: String, extraBodyBoneNames: List, ): LayerDefinition { @@ -259,7 +258,7 @@ class FashionArmorModel(root: ModelPart) : HumanoidMode } private fun createEntityStyleBodyAttachmentLayer( - geometryId: Identifier, + geometryId: ResourceLocation, bodyBoneName: String, extraBodyBoneNames: List, ): LayerDefinition { @@ -295,7 +294,7 @@ class FashionArmorModel(root: ModelPart) : HumanoidMode } private fun createAttachableBodyLayer( - geometryId: Identifier, + geometryId: ResourceLocation, bodyBoneName: String, extraBodyBoneNames: List, ): LayerDefinition { @@ -427,7 +426,7 @@ class FashionArmorModel(root: ModelPart) : HumanoidMode ) private fun layerLocation(name: String): ModelLayerLocation = - ModelLayerLocation(Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, name), "main") + ModelLayerLocation(ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, name), "main") private fun Float.toRadians(): Float = (this * PI.toFloat()) / 180.0f diff --git a/src/main/java/com/dec/decisland/client/renderer/BedrockProjectileRenderer.kt b/src/main/java/com/dec/decisland/client/renderer/BedrockProjectileRenderer.kt index 216900a..9d283af 100644 --- a/src/main/java/com/dec/decisland/client/renderer/BedrockProjectileRenderer.kt +++ b/src/main/java/com/dec/decisland/client/renderer/BedrockProjectileRenderer.kt @@ -3,24 +3,23 @@ package com.dec.decisland.client.renderer import com.dec.decisland.client.bedrock.model.BedrockAnimatedEntityModel import com.dec.decisland.client.bedrock.model.BedrockEntityAssets import com.mojang.blaze3d.vertex.PoseStack -import net.minecraft.client.renderer.SubmitNodeCollector +import net.minecraft.client.renderer.MultiBufferSource +import net.minecraft.client.renderer.RenderType import net.minecraft.client.renderer.entity.EntityRenderer import net.minecraft.client.renderer.entity.EntityRendererProvider -import net.minecraft.client.renderer.rendertype.RenderTypes -import net.minecraft.client.renderer.state.CameraRenderState import net.minecraft.client.renderer.texture.OverlayTexture import net.minecraft.core.BlockPos -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.world.entity.Entity open class BedrockProjectileRenderer( context: EntityRendererProvider.Context, - geometryLocation: Identifier, - animationLocation: Identifier, + geometryLocation: ResourceLocation, + animationLocation: ResourceLocation, animationName: String, - private val textureLocation: Identifier, + private val textureLocation: ResourceLocation, private val scale: Float, -) : EntityRenderer(context) { +) : EntityRenderer(context) { private val model = BedrockAnimatedEntityModel( BedrockEntityAssets.geometry(geometryLocation), BedrockEntityAssets.animation(animationLocation, animationName), @@ -31,38 +30,24 @@ open class BedrockProjectileRenderer( shadowStrength = 0.0f } - override fun createRenderState(): BedrockAnimatedEntityModel.State = BedrockAnimatedEntityModel.State() + override fun getTextureLocation(entity: T): ResourceLocation = textureLocation - override fun extractRenderState( + override fun render( entity: T, - reusedState: BedrockAnimatedEntityModel.State, + entityYaw: Float, partialTick: Float, - ) { - super.extractRenderState(entity, reusedState, partialTick) - reusedState.animationTimeSeconds = reusedState.ageInTicks / 20.0f - } - - override fun submit( - renderState: BedrockAnimatedEntityModel.State, poseStack: PoseStack, - submitNodeCollector: SubmitNodeCollector, - cameraRenderState: CameraRenderState, + bufferSource: MultiBufferSource, + packedLight: Int, ) { poseStack.pushPose() poseStack.scale(scale, scale, scale) - val swirlOffset = (renderState.ageInTicks * 0.01f) % 1.0f - submitNodeCollector.submitModel( - model, - renderState, - poseStack, - RenderTypes.energySwirl(textureLocation, swirlOffset, swirlOffset), - renderState.lightCoords, - OverlayTexture.NO_OVERLAY, - renderState.outlineColor, - null, - ) + model.applyAnimation((entity.tickCount + partialTick) / 20.0f) + val swirlOffset = ((entity.tickCount + partialTick) * 0.01f) % 1.0f + val vertexConsumer = bufferSource.getBuffer(RenderType.energySwirl(textureLocation, swirlOffset, swirlOffset)) + model.renderToBuffer(poseStack, vertexConsumer, packedLight, OverlayTexture.NO_OVERLAY, -1) poseStack.popPose() - super.submit(renderState, poseStack, submitNodeCollector, cameraRenderState) + super.render(entity, entityYaw, partialTick, poseStack, bufferSource, packedLight) } override fun getBlockLightLevel(entity: T, pos: BlockPos): Int = 15 diff --git a/src/main/java/com/dec/decisland/client/renderer/DartRenderer.kt b/src/main/java/com/dec/decisland/client/renderer/DartRenderer.kt index b9750c6..dd218a8 100644 --- a/src/main/java/com/dec/decisland/client/renderer/DartRenderer.kt +++ b/src/main/java/com/dec/decisland/client/renderer/DartRenderer.kt @@ -1,59 +1,55 @@ package com.dec.decisland.client.renderer -import com.dec.decisland.client.renderer.state.DartRenderState import com.dec.decisland.entity.projectile.dart.DartEntity import com.mojang.blaze3d.vertex.PoseStack import com.mojang.math.Axis -import net.minecraft.client.renderer.SubmitNodeCollector +import net.minecraft.client.renderer.MultiBufferSource import net.minecraft.client.renderer.entity.EntityRenderer import net.minecraft.client.renderer.entity.EntityRendererProvider -import net.minecraft.client.renderer.item.ItemModelResolver -import net.minecraft.client.renderer.state.CameraRenderState import net.minecraft.client.renderer.texture.OverlayTexture +import net.minecraft.client.renderer.texture.TextureAtlas +import net.minecraft.resources.ResourceLocation import net.minecraft.util.Mth import net.minecraft.world.item.ItemDisplayContext -import net.minecraft.world.phys.Vec3 -class DartRenderer(context: EntityRendererProvider.Context) : - EntityRenderer(context) { - private val itemModelResolver: ItemModelResolver = context.itemModelResolver +class DartRenderer(context: EntityRendererProvider.Context) : EntityRenderer(context) { + private val itemRenderer = context.itemRenderer init { shadowRadius = 0.0f shadowStrength = 0.0f } - override fun createRenderState(): DartRenderState = DartRenderState() + override fun getTextureLocation(entity: DartEntity): ResourceLocation = TextureAtlas.LOCATION_BLOCKS - override fun extractRenderState(entity: DartEntity, reusedState: DartRenderState, partialTick: Float) { - super.extractRenderState(entity, reusedState, partialTick) - reusedState.xRot = Mth.rotLerp(partialTick, entity.xRotO, entity.xRot) - reusedState.yRot = Mth.rotLerp(partialTick, entity.yRotO, entity.yRot) - reusedState.spin = Mth.rotLerp(partialTick, entity.spinRotationO, entity.spinRotation) - reusedState.randomTilt = entity.randomTilt - itemModelResolver.updateForNonLiving(reusedState.item, entity.item, ItemDisplayContext.FIXED, entity) - } - - override fun submit( - renderState: DartRenderState, + override fun render( + entity: DartEntity, + entityYaw: Float, + partialTick: Float, poseStack: PoseStack, - submitNodeCollector: SubmitNodeCollector, - cameraRenderState: CameraRenderState, + bufferSource: MultiBufferSource, + packedLight: Int, ) { poseStack.pushPose() - poseStack.mulPose(Axis.YP.rotationDegrees(renderState.yRot - 90.0f)) - poseStack.mulPose(Axis.XP.rotationDegrees(renderState.randomTilt)) - poseStack.mulPose(Axis.ZP.rotationDegrees(renderState.xRot - renderState.spin)) - renderState.item.submit( - poseStack, - submitNodeCollector, - renderState.lightCoords, + poseStack.mulPose(Axis.YP.rotationDegrees(Mth.rotLerp(partialTick, entity.yRotO, entity.yRot) - 90.0f)) + poseStack.mulPose(Axis.XP.rotationDegrees(entity.randomTilt)) + poseStack.mulPose( + Axis.ZP.rotationDegrees( + Mth.rotLerp(partialTick, entity.xRotO, entity.xRot) - + Mth.rotLerp(partialTick, entity.spinRotationO, entity.spinRotation), + ), + ) + itemRenderer.renderStatic( + entity.item, + ItemDisplayContext.FIXED, + packedLight, OverlayTexture.NO_OVERLAY, - renderState.outlineColor, + poseStack, + bufferSource, + entity.level(), + entity.id, ) poseStack.popPose() - super.submit(renderState, poseStack, submitNodeCollector, cameraRenderState) + super.render(entity, entityYaw, partialTick, poseStack, bufferSource, packedLight) } - - override fun getRenderOffset(renderState: DartRenderState): Vec3 = Vec3.ZERO } diff --git a/src/main/java/com/dec/decisland/client/renderer/EmptyRenderer.kt b/src/main/java/com/dec/decisland/client/renderer/EmptyRenderer.kt index 89c4bb1..fd28f9d 100644 --- a/src/main/java/com/dec/decisland/client/renderer/EmptyRenderer.kt +++ b/src/main/java/com/dec/decisland/client/renderer/EmptyRenderer.kt @@ -2,18 +2,14 @@ package com.dec.decisland.client.renderer import com.dec.decisland.DecIsland import com.dec.decisland.client.model.EmptyModel -import com.dec.decisland.client.renderer.state.NormalRenderState import net.minecraft.client.renderer.entity.EntityRenderer import net.minecraft.client.renderer.entity.EntityRendererProvider -import net.minecraft.client.renderer.entity.state.LivingEntityRenderState -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.world.entity.Entity -class EmptyRenderer(context: EntityRendererProvider.Context) : EntityRenderer(context) { - private val model = EmptyModel(context.bakeLayer(EmptyModel.LAYER_LOCATION)) +class EmptyRenderer(context: EntityRendererProvider.Context) : EntityRenderer(context) { + private val model = EmptyModel(context.bakeLayer(EmptyModel.LAYER_LOCATION)) - override fun createRenderState(): NormalRenderState = NormalRenderState() - - fun getTextureLocation(entity: Entity): Identifier = - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "textures/empty.png") + override fun getTextureLocation(entity: Entity): ResourceLocation = + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "textures/empty.png") } diff --git a/src/main/java/com/dec/decisland/client/renderer/EnergyBallBedrockRenderer.kt b/src/main/java/com/dec/decisland/client/renderer/EnergyBallBedrockRenderer.kt index 72b64ba..51f88f6 100644 --- a/src/main/java/com/dec/decisland/client/renderer/EnergyBallBedrockRenderer.kt +++ b/src/main/java/com/dec/decisland/client/renderer/EnergyBallBedrockRenderer.kt @@ -3,7 +3,7 @@ package com.dec.decisland.client.renderer import com.dec.decisland.DecIsland import com.dec.decisland.entity.projectile.EnergyBall import net.minecraft.client.renderer.entity.EntityRendererProvider -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation class EnergyBallBedrockRenderer(context: EntityRendererProvider.Context) : BedrockProjectileRenderer( @@ -19,11 +19,11 @@ class EnergyBallBedrockRenderer(context: EntityRendererProvider.Context) : private const val SCALE: Float = 0.8f private const val FLY_ANIMATION: String = "animation.energy_ball.fly" - private val GEOMETRY_LOCATION: Identifier = - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "bedrock/models/entity/energy_ball.geometry.json") - private val ANIMATION_LOCATION: Identifier = - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "bedrock/animations/entity/energy_ball.animation.json") - private val TEXTURE_LOCATION: Identifier = - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "textures/entity/energy_ball.png") + private val GEOMETRY_LOCATION: ResourceLocation = + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "bedrock/models/entity/energy_ball.geometry.json") + private val ANIMATION_LOCATION: ResourceLocation = + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "bedrock/animations/entity/energy_ball.animation.json") + private val TEXTURE_LOCATION: ResourceLocation = + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "textures/entity/energy_ball.png") } } diff --git a/src/main/java/com/dec/decisland/client/renderer/FashionArmorClientItemExtensions.kt b/src/main/java/com/dec/decisland/client/renderer/FashionArmorClientItemExtensions.kt index 59d3b95..865c6b2 100644 --- a/src/main/java/com/dec/decisland/client/renderer/FashionArmorClientItemExtensions.kt +++ b/src/main/java/com/dec/decisland/client/renderer/FashionArmorClientItemExtensions.kt @@ -4,28 +4,28 @@ import com.dec.decisland.DecIsland import com.dec.decisland.client.model.FashionArmorModel import com.dec.decisland.item.category.Fashion import net.minecraft.client.Minecraft -import net.minecraft.client.model.Model -import net.minecraft.client.renderer.entity.layers.EquipmentLayerRenderer -import net.minecraft.client.renderer.entity.state.HumanoidRenderState -import net.minecraft.client.resources.model.EquipmentClientInfo -import net.minecraft.resources.Identifier +import net.minecraft.client.model.HumanoidModel +import net.minecraft.resources.ResourceLocation +import net.minecraft.world.entity.EquipmentSlot +import net.minecraft.world.entity.LivingEntity import net.minecraft.world.item.ItemStack import net.neoforged.neoforge.client.extensions.common.IClientItemExtensions object FashionArmorClientItemExtensions : IClientItemExtensions { - private val cachedModels = mutableMapOf>() + private val cachedModels = mutableMapOf>() @JvmStatic - fun textureFor(stack: ItemStack): Identifier = Identifier.fromNamespaceAndPath( + fun textureFor(stack: ItemStack): ResourceLocation = ResourceLocation.fromNamespaceAndPath( DecIsland.MOD_ID, "textures/armor/fashion/${stack.itemDescriptionIdPath()}.png", ) override fun getHumanoidArmorModel( + livingEntity: LivingEntity, itemStack: ItemStack, - layerType: EquipmentClientInfo.LayerType, - original: Model<*>, - ): Model<*> { + equipmentSlot: EquipmentSlot, + original: HumanoidModel<*>, + ): HumanoidModel<*> { val definition = Fashion.definitionOf(itemStack) ?: return original if (definition.modelKind == Fashion.ModelKind.VANILLA) { return original @@ -46,30 +46,16 @@ object FashionArmorClientItemExtensions : IClientItemExtensions { if (definition.modelKind == Fashion.ModelKind.GIANT_BAT_WINGS) { val baked = Minecraft.getInstance().entityModels.bakeLayer(layerLocation) FashionArmorModel.attachTextureMeshes(baked, definition.modelKind) - return FashionArmorModel(baked) + return FashionArmorModel(baked) } return cachedModels.getOrPut(definition.modelKind) { val baked = Minecraft.getInstance().entityModels.bakeLayer(layerLocation) FashionArmorModel.attachTextureMeshes(baked, definition.modelKind) - FashionArmorModel(baked) + FashionArmorModel(baked) } } - override fun getArmorTexture( - stack: ItemStack, - type: EquipmentClientInfo.LayerType, - layer: EquipmentClientInfo.Layer, - _default: Identifier, - ): Identifier = textureFor(stack) - - override fun getArmorLayerTintColor( - stack: ItemStack, - layer: EquipmentClientInfo.Layer, - layerIdx: Int, - fallbackColor: Int, - ): Int = EquipmentLayerRenderer.getColorForLayer(layer, fallbackColor) - private fun ItemStack.itemDescriptionIdPath(): String = net.minecraft.core.registries.BuiltInRegistries.ITEM.getKey(item).path } diff --git a/src/main/java/com/dec/decisland/client/renderer/MaskClientItemExtensions.kt b/src/main/java/com/dec/decisland/client/renderer/MaskClientItemExtensions.kt index 2516485..ef591cd 100644 --- a/src/main/java/com/dec/decisland/client/renderer/MaskClientItemExtensions.kt +++ b/src/main/java/com/dec/decisland/client/renderer/MaskClientItemExtensions.kt @@ -1,25 +1,23 @@ package com.dec.decisland.client.renderer -import com.dec.decisland.DecIsland import com.dec.decisland.client.model.ClothesModel import net.minecraft.client.Minecraft -import net.minecraft.client.model.Model -import net.minecraft.client.renderer.entity.layers.EquipmentLayerRenderer -import net.minecraft.client.resources.model.EquipmentClientInfo -import net.minecraft.core.registries.BuiltInRegistries -import net.minecraft.resources.Identifier +import net.minecraft.client.model.HumanoidModel +import net.minecraft.world.entity.EquipmentSlot +import net.minecraft.world.entity.LivingEntity import net.minecraft.world.item.ItemStack import net.neoforged.neoforge.client.extensions.common.IClientItemExtensions object MaskClientItemExtensions : IClientItemExtensions { - private var cachedModel: ClothesModel? = null + private var cachedModel: ClothesModel? = null override fun getHumanoidArmorModel( + livingEntity: LivingEntity, itemStack: ItemStack, - layerType: EquipmentClientInfo.LayerType, - original: Model<*>, - ): Model<*> { - if (layerType != EquipmentClientInfo.LayerType.HUMANOID) { + equipmentSlot: EquipmentSlot, + original: HumanoidModel<*>, + ): HumanoidModel<*> { + if (equipmentSlot != EquipmentSlot.HEAD) { return original } @@ -29,25 +27,8 @@ object MaskClientItemExtensions : IClientItemExtensions { } val baked = Minecraft.getInstance().entityModels.bakeLayer(ClothesModel.LAYER_LOCATION) - return ClothesModel(baked).also { + return ClothesModel(baked).also { cachedModel = it } } - - override fun getArmorTexture( - stack: ItemStack, - type: EquipmentClientInfo.LayerType, - layer: EquipmentClientInfo.Layer, - _default: Identifier, - ): Identifier = Identifier.fromNamespaceAndPath( - DecIsland.MOD_ID, - "textures/armor/mask/${BuiltInRegistries.ITEM.getKey(stack.item).path}.png", - ) - - override fun getArmorLayerTintColor( - stack: ItemStack, - layer: EquipmentClientInfo.Layer, - layerIdx: Int, - fallbackColor: Int, - ): Int = EquipmentLayerRenderer.getColorForLayer(layer, fallbackColor) } diff --git a/src/main/java/com/dec/decisland/client/renderer/PumpkinBombRenderer.kt b/src/main/java/com/dec/decisland/client/renderer/PumpkinBombRenderer.kt index 6724536..0d8b62f 100644 --- a/src/main/java/com/dec/decisland/client/renderer/PumpkinBombRenderer.kt +++ b/src/main/java/com/dec/decisland/client/renderer/PumpkinBombRenderer.kt @@ -5,17 +5,15 @@ import com.dec.decisland.client.bedrock.model.BedrockAnimatedEntityModel import com.dec.decisland.client.bedrock.model.BedrockEntityAssets import com.dec.decisland.entity.custom.PumpkinBombEntity import com.mojang.blaze3d.vertex.PoseStack -import net.minecraft.client.renderer.SubmitNodeCollector +import net.minecraft.client.renderer.MultiBufferSource +import net.minecraft.client.renderer.RenderType import net.minecraft.client.renderer.entity.EntityRenderer import net.minecraft.client.renderer.entity.EntityRendererProvider -import net.minecraft.client.renderer.rendertype.RenderTypes -import net.minecraft.client.renderer.state.CameraRenderState import net.minecraft.client.renderer.texture.OverlayTexture import net.minecraft.core.BlockPos -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation -class PumpkinBombRenderer(context: EntityRendererProvider.Context) : - EntityRenderer(context) { +class PumpkinBombRenderer(context: EntityRendererProvider.Context) : EntityRenderer(context) { private val model = BedrockAnimatedEntityModel( BedrockEntityAssets.geometry(GEOMETRY_LOCATION), BedrockEntityAssets.animation(ANIMATION_LOCATION, EXPLODE_ANIMATION), @@ -25,37 +23,23 @@ class PumpkinBombRenderer(context: EntityRendererProvider.Context) : shadowRadius = 0.3f } - override fun createRenderState(): BedrockAnimatedEntityModel.State = BedrockAnimatedEntityModel.State() + override fun getTextureLocation(entity: PumpkinBombEntity): ResourceLocation = TEXTURE_LOCATION - override fun extractRenderState( + override fun render( entity: PumpkinBombEntity, - reusedState: BedrockAnimatedEntityModel.State, + entityYaw: Float, partialTick: Float, - ) { - super.extractRenderState(entity, reusedState, partialTick) - reusedState.animationTimeSeconds = (entity.tickCount + partialTick) / 20.0f - } - - override fun submit( - renderState: BedrockAnimatedEntityModel.State, poseStack: PoseStack, - submitNodeCollector: SubmitNodeCollector, - cameraRenderState: CameraRenderState, + bufferSource: MultiBufferSource, + packedLight: Int, ) { poseStack.pushPose() poseStack.scale(SCALE, SCALE, SCALE) - submitNodeCollector.submitModel( - model, - renderState, - poseStack, - RenderTypes.entityCutout(TEXTURE_LOCATION), - renderState.lightCoords, - OverlayTexture.NO_OVERLAY, - renderState.outlineColor, - null, - ) + model.applyAnimation((entity.tickCount + partialTick) / 20.0f) + val vertexConsumer = bufferSource.getBuffer(RenderType.entityCutout(TEXTURE_LOCATION)) + model.renderToBuffer(poseStack, vertexConsumer, packedLight, OverlayTexture.NO_OVERLAY, -1) poseStack.popPose() - super.submit(renderState, poseStack, submitNodeCollector, cameraRenderState) + super.render(entity, entityYaw, partialTick, poseStack, bufferSource, packedLight) } override fun getBlockLightLevel(entity: PumpkinBombEntity, pos: BlockPos): Int = 15 @@ -64,11 +48,11 @@ class PumpkinBombRenderer(context: EntityRendererProvider.Context) : private const val SCALE: Float = 0.5f private const val EXPLODE_ANIMATION: String = "animation.pumpkin_bomb.explode" - private val GEOMETRY_LOCATION: Identifier = - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "bedrock/models/entity/block.geometry.json") - private val ANIMATION_LOCATION: Identifier = - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "bedrock/animations/entity/pumpkin_bomb.animation.json") - private val TEXTURE_LOCATION: Identifier = - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "textures/entity/pumpkin_slime.png") + private val GEOMETRY_LOCATION: ResourceLocation = + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "bedrock/models/entity/block.geometry.json") + private val ANIMATION_LOCATION: ResourceLocation = + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "bedrock/animations/entity/pumpkin_bomb.animation.json") + private val TEXTURE_LOCATION: ResourceLocation = + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "textures/entity/pumpkin_slime.png") } -} \ No newline at end of file +} diff --git a/src/main/java/com/dec/decisland/client/renderer/state/DartRenderState.kt b/src/main/java/com/dec/decisland/client/renderer/state/DartRenderState.kt deleted file mode 100644 index bd5d88f..0000000 --- a/src/main/java/com/dec/decisland/client/renderer/state/DartRenderState.kt +++ /dev/null @@ -1,10 +0,0 @@ -package com.dec.decisland.client.renderer.state - -import net.minecraft.client.renderer.entity.state.ThrownItemRenderState - -class DartRenderState : ThrownItemRenderState() { - var xRot: Float = 0.0f - var yRot: Float = 0.0f - var spin: Float = 0.0f - var randomTilt: Float = 0.0f -} diff --git a/src/main/java/com/dec/decisland/client/renderer/state/NormalRenderState.kt b/src/main/java/com/dec/decisland/client/renderer/state/NormalRenderState.kt deleted file mode 100644 index 53645c3..0000000 --- a/src/main/java/com/dec/decisland/client/renderer/state/NormalRenderState.kt +++ /dev/null @@ -1,5 +0,0 @@ -package com.dec.decisland.client.renderer.state - -import net.minecraft.client.renderer.entity.state.EntityRenderState - -class NormalRenderState : EntityRenderState() diff --git a/src/main/java/com/dec/decisland/datagen/ModBlockLootTablesProvider.kt b/src/main/java/com/dec/decisland/datagen/ModBlockLootTablesProvider.kt index f359c6d..3fefc81 100644 --- a/src/main/java/com/dec/decisland/datagen/ModBlockLootTablesProvider.kt +++ b/src/main/java/com/dec/decisland/datagen/ModBlockLootTablesProvider.kt @@ -21,7 +21,7 @@ import net.minecraft.world.level.storage.loot.predicates.LootItemBlockStatePrope import net.minecraft.world.level.storage.loot.providers.number.UniformGenerator import net.minecraft.world.level.storage.loot.LootPool import net.minecraft.world.level.storage.loot.providers.number.ConstantValue -import net.minecraft.advancements.criterion.StatePropertiesPredicate +import net.minecraft.advancements.critereon.StatePropertiesPredicate import java.util.function.Function class ModBlockLootTablesProvider(registries: HolderLookup.Provider) : diff --git a/src/main/java/com/dec/decisland/datagen/ModBlockTagsProvider.kt b/src/main/java/com/dec/decisland/datagen/ModBlockTagsProvider.kt index fb2e233..f598de4 100644 --- a/src/main/java/com/dec/decisland/datagen/ModBlockTagsProvider.kt +++ b/src/main/java/com/dec/decisland/datagen/ModBlockTagsProvider.kt @@ -5,12 +5,14 @@ import com.dec.decisland.block.ModBlocks import net.minecraft.core.HolderLookup import net.minecraft.data.PackOutput import net.neoforged.neoforge.common.data.BlockTagsProvider +import net.neoforged.neoforge.common.data.ExistingFileHelper import java.util.concurrent.CompletableFuture class ModBlockTagsProvider( output: PackOutput, lookupProvider: CompletableFuture, -) : BlockTagsProvider(output, lookupProvider, DecIsland.MOD_ID) { + existingFileHelper: ExistingFileHelper?, +) : BlockTagsProvider(output, lookupProvider, DecIsland.MOD_ID, existingFileHelper) { override fun addTags(provider: HolderLookup.Provider) { ModBlocks.getBlockConfigs().forEach { config -> val block = ModBlocks.getBlockByConfig(config).value() diff --git a/src/main/java/com/dec/decisland/datagen/ModItemTagsProvider.kt b/src/main/java/com/dec/decisland/datagen/ModItemTagsProvider.kt index b91c211..a5319e4 100644 --- a/src/main/java/com/dec/decisland/datagen/ModItemTagsProvider.kt +++ b/src/main/java/com/dec/decisland/datagen/ModItemTagsProvider.kt @@ -5,15 +5,20 @@ import com.dec.decisland.item.ModItems import com.dec.decisland.tag.ModItemTags import net.minecraft.core.HolderLookup import net.minecraft.data.PackOutput +import net.minecraft.data.tags.ItemTagsProvider +import net.minecraft.data.tags.TagsProvider import net.minecraft.tags.ItemTags import net.minecraft.world.item.Items -import net.neoforged.neoforge.common.data.ItemTagsProvider +import net.minecraft.world.level.block.Block +import net.neoforged.neoforge.common.data.ExistingFileHelper import java.util.concurrent.CompletableFuture class ModItemTagsProvider( output: PackOutput, lookupProvider: CompletableFuture, -) : ItemTagsProvider(output, lookupProvider, DecIsland.MOD_ID) { + blockTags: CompletableFuture>, + existingFileHelper: ExistingFileHelper?, +) : ItemTagsProvider(output, lookupProvider, blockTags, DecIsland.MOD_ID, existingFileHelper) { override fun addTags(provider: HolderLookup.Provider) { ModItems.getItemConfigs().forEach { config -> val item = ModItems.getItemByConfig(config) ?: return@forEach diff --git a/src/main/java/com/dec/decisland/datagen/ModModelsProvider.kt b/src/main/java/com/dec/decisland/datagen/ModModelsProvider.kt index b2c80ac..b57794a 100644 --- a/src/main/java/com/dec/decisland/datagen/ModModelsProvider.kt +++ b/src/main/java/com/dec/decisland/datagen/ModModelsProvider.kt @@ -1,47 +1,83 @@ package com.dec.decisland.datagen -import com.dec.decisland.DecIsland import com.dec.decisland.block.BlockConfig import com.dec.decisland.block.ModBlocks import com.dec.decisland.item.ItemConfig import com.dec.decisland.item.ModItems -import net.minecraft.client.data.models.BlockModelGenerators -import net.minecraft.client.data.models.ItemModelGenerators -import net.minecraft.client.data.models.ModelProvider -import net.minecraft.core.Holder +import com.google.gson.JsonElement +import net.minecraft.data.CachedOutput +import net.minecraft.data.DataProvider import net.minecraft.data.PackOutput +import net.minecraft.data.models.BlockModelGenerators +import net.minecraft.data.models.blockstates.BlockStateGenerator +import net.minecraft.data.models.model.ModelLocationUtils +import net.minecraft.data.models.model.TextureMapping +import net.minecraft.resources.ResourceLocation import net.minecraft.world.item.BlockItem import net.minecraft.world.item.Item import net.minecraft.world.level.block.Block -import java.util.Collections -import java.util.IdentityHashMap -import java.util.stream.Stream +import java.nio.file.Path +import java.util.concurrent.CompletableFuture +import java.util.function.BiConsumer +import java.util.function.Consumer +import java.util.function.Supplier -class ModModelsProvider(output: PackOutput) : ModelProvider(output, DecIsland.MOD_ID) { - override fun registerModels(blockModels: BlockModelGenerators, itemModels: ItemModelGenerators) { +// 1.21.1 的 ModelProvider 没有 1.21.4 的子类扩展点(registerModels/getKnownItems/getKnownBlocks), +// 因此这里自建 DataProvider,按同样的方式收集并写出模型与 blockstate JSON。 +class ModModelsProvider(output: PackOutput) : DataProvider { + private val blockStatePathProvider = output.createPathProvider(PackOutput.Target.RESOURCE_PACK, "blockstates") + private val modelPathProvider = output.createPathProvider(PackOutput.Target.RESOURCE_PACK, "models") + + override fun run(cachedOutput: CachedOutput): CompletableFuture<*> { + val blockStateGenerators = LinkedHashMap() + val blockStateOutput = Consumer { generator -> + val previous = blockStateGenerators.put(generator.block, generator) + check(previous == null) { "Duplicate blockstate definition for ${generator.block}" } + } + val models = LinkedHashMap>() + val modelOutput = BiConsumer> { location, supplier -> + val previous = models.put(location, supplier) + check(previous == null) { "Duplicate model definition for $location" } + } + val blockModelGenerators = BlockModelGenerators(blockStateOutput, modelOutput) { item: Item -> } + + // 保持原有顺序:先生成物品模型,再生成方块模型。 ModItems.ITEMS.getEntries().forEach { item -> val currentItem: Item = item.get() if (currentItem is BlockItem) return@forEach val config: ItemConfig = ItemConfig.getConfig(currentItem) ?: return@forEach - itemModels.generateFlatItem(currentItem, config.modelTemplate) + // 对应 ItemModelGenerators.generateFlatItem(item, modelTemplate)(1.21.1 中为 private)。 + config.modelTemplate.create( + ModelLocationUtils.getModelLocation(currentItem), + TextureMapping.layer0(currentItem), + modelOutput, + ) } ModBlocks.BLOCKS.getEntries().forEach { block -> val currentBlock: Block = block.get() val config: BlockConfig = BlockConfig.getConfig(currentBlock) ?: return@forEach - config.blockModelGenerator.accept(blockModels) + config.blockModelGenerator.accept(blockModelGenerators) } - } - override fun getKnownItems(): Stream> = ModItems.ITEMS.getEntries().stream() + return CompletableFuture.allOf( + saveCollection(cachedOutput, blockStateGenerators) { block -> + blockStatePathProvider.json(block.builtInRegistryHolder().key().location()) + }, + saveCollection(cachedOutput, models, modelPathProvider::json), + ) + } - override fun getKnownBlocks(): Stream> { - val generatedBlocks = Collections.newSetFromMap(IdentityHashMap()) - ModBlocks.getBlockConfigs().forEach { config -> - generatedBlocks.add(ModBlocks.getBlockByConfig(config).value()) + private fun saveCollection( + output: CachedOutput, + map: Map>, + resolvePath: (T) -> Path, + ): CompletableFuture<*> { + val futures = map.map { (key, supplier) -> + DataProvider.saveStable(output, supplier.get(), resolvePath(key)) } - return ModBlocks.BLOCKS.getEntries() - .stream() - .filter { generatedBlocks.contains(it.get()) } + return CompletableFuture.allOf(*futures.toTypedArray()) } + + override fun getName(): String = "Model Definitions" } diff --git a/src/main/java/com/dec/decisland/datagen/ModRecipeProvider.kt b/src/main/java/com/dec/decisland/datagen/ModRecipeProvider.kt index 11cc796..d09a2f6 100644 --- a/src/main/java/com/dec/decisland/datagen/ModRecipeProvider.kt +++ b/src/main/java/com/dec/decisland/datagen/ModRecipeProvider.kt @@ -14,30 +14,21 @@ import net.minecraft.data.recipes.RecipeOutput import net.minecraft.data.recipes.RecipeProvider import java.util.concurrent.CompletableFuture +// 1.21.1 的 RecipeProvider 没有 Runner 内部类,直接继承并在 buildRecipes(RecipeOutput) 中生成。 +// getName() 在 1.21.1 中是 final,不可覆写。 class ModRecipeProvider( output: PackOutput, - lookupProvider: CompletableFuture, -) : RecipeProvider.Runner(output, lookupProvider) { - override fun createRecipeProvider( - lookupProvider: HolderLookup.Provider, - recipeOutput: RecipeOutput, - ): RecipeProvider = DecIslandRecipes(lookupProvider, recipeOutput) - - override fun getName(): String = "DecIsland Recipes" - - private class DecIslandRecipes( - lookupProvider: HolderLookup.Provider, - private val recipeOutput: RecipeOutput, - ) : RecipeProvider(lookupProvider, recipeOutput) { - override fun buildRecipes() { - val context = RecipeContext(registries, recipeOutput) - MaterialRecipes.build(context) - FoodRecipes.build(context) - FishRecipes.build(context) - WeaponRecipes.build(context) - ToolRecipes.build(context) - SummonItemRecipes.build(context) - CookingRecipes.build(context) - } + private val lookupProvider: CompletableFuture, +) : RecipeProvider(output, lookupProvider) { + override fun buildRecipes(recipeOutput: RecipeOutput) { + // buildRecipes 由 registries.thenCompose 调用,此时 future 已完成,join() 不会阻塞。 + val context = RecipeContext(lookupProvider.join(), recipeOutput) + MaterialRecipes.build(context) + FoodRecipes.build(context) + FishRecipes.build(context) + WeaponRecipes.build(context) + ToolRecipes.build(context) + SummonItemRecipes.build(context) + CookingRecipes.build(context) } } diff --git a/src/main/java/com/dec/decisland/datagen/RecipeProvider/RecipeContext.kt b/src/main/java/com/dec/decisland/datagen/RecipeProvider/RecipeContext.kt index 1f88745..af0eb6f 100644 --- a/src/main/java/com/dec/decisland/datagen/RecipeProvider/RecipeContext.kt +++ b/src/main/java/com/dec/decisland/datagen/RecipeProvider/RecipeContext.kt @@ -5,7 +5,6 @@ import net.minecraft.core.HolderLookup import net.minecraft.core.registries.Registries import net.minecraft.data.recipes.RecipeOutput import net.minecraft.world.item.Item -import net.minecraft.world.item.equipment.trim.TrimPattern class RecipeContext( @JvmField val lookupProvider: HolderLookup.Provider, @@ -13,7 +12,4 @@ class RecipeContext( ) { @JvmField val items: HolderGetter = lookupProvider.lookupOrThrow(Registries.ITEM) - - @JvmField - val trimPatterns: HolderGetter = lookupProvider.lookupOrThrow(Registries.TRIM_PATTERN) } diff --git a/src/main/java/com/dec/decisland/datagen/RecipeProvider/RecipeCriteria.kt b/src/main/java/com/dec/decisland/datagen/RecipeProvider/RecipeCriteria.kt index 4529196..5e5b84a 100644 --- a/src/main/java/com/dec/decisland/datagen/RecipeProvider/RecipeCriteria.kt +++ b/src/main/java/com/dec/decisland/datagen/RecipeProvider/RecipeCriteria.kt @@ -1,8 +1,8 @@ package com.dec.decisland.datagen.RecipeProvider import net.minecraft.advancements.Criterion -import net.minecraft.advancements.criterion.ItemPredicate -import net.minecraft.advancements.criterion.InventoryChangeTrigger +import net.minecraft.advancements.critereon.ItemPredicate +import net.minecraft.advancements.critereon.InventoryChangeTrigger import net.minecraft.tags.TagKey import net.minecraft.world.item.Item import net.minecraft.world.level.ItemLike @@ -15,7 +15,7 @@ object RecipeCriteria { fun hasTag(tag: TagKey): UnlockCriterion = UnlockCriterion.of(hasTagName(tag)) { items -> - InventoryChangeTrigger.TriggerInstance.hasItems(ItemPredicate.Builder.item().of(items, tag)) + InventoryChangeTrigger.TriggerInstance.hasItems(ItemPredicate.Builder.item().of(tag)) } fun custom(name: String, criterion: Criterion<*>): UnlockCriterion = diff --git a/src/main/java/com/dec/decisland/datagen/RecipeProvider/RecipeDsl.kt b/src/main/java/com/dec/decisland/datagen/RecipeProvider/RecipeDsl.kt index fda8180..9391b65 100644 --- a/src/main/java/com/dec/decisland/datagen/RecipeProvider/RecipeDsl.kt +++ b/src/main/java/com/dec/decisland/datagen/RecipeProvider/RecipeDsl.kt @@ -8,10 +8,7 @@ import net.minecraft.data.recipes.SingleItemRecipeBuilder import net.minecraft.data.recipes.SmithingTransformRecipeBuilder import net.minecraft.data.recipes.SmithingTrimRecipeBuilder import net.minecraft.data.recipes.SpecialRecipeBuilder -import net.minecraft.data.recipes.TransmuteRecipeBuilder -import net.minecraft.resources.Identifier -import net.minecraft.resources.ResourceKey -import net.minecraft.core.registries.Registries +import net.minecraft.resources.ResourceLocation object RecipeDsl { fun save( @@ -25,8 +22,8 @@ object RecipeDsl { is StonecuttingRecipeConfig -> saveStonecutting(context, config) is SmithingTransformRecipeConfig -> saveSmithingTransform(context, config) is SmithingTrimRecipeConfig -> saveSmithingTrim(context, config) - is TransmuteRecipeConfig -> saveTransmute(context, config) is SpecialRecipeConfig -> saveSpecial(context, config) + else -> throw IllegalArgumentException("Unsupported recipe config: ${config.name}") } } @@ -34,7 +31,7 @@ object RecipeDsl { context: RecipeContext, config: ShapedRecipeConfig, ) { - val builder = ShapedRecipeBuilder.shaped(context.items, config.category, config.result, config.count) + val builder = ShapedRecipeBuilder.shaped(config.category, config.result, config.count) config.pattern.forEach(builder::pattern) config.keys.forEach { (key, ingredient) -> builder.define(key, ingredient.toIngredient(context.items)) @@ -46,7 +43,7 @@ object RecipeDsl { context: RecipeContext, config: ShapelessRecipeConfig, ) { - val builder = ShapelessRecipeBuilder.shapeless(context.items, config.category, config.result, config.count) + val builder = ShapelessRecipeBuilder.shapeless(config.category, config.result, config.count) config.ingredients.forEach { entry -> builder.requires(entry.ingredient.toIngredient(context.items), entry.count) } @@ -105,11 +102,11 @@ object RecipeDsl { context: RecipeContext, config: SmithingTrimRecipeConfig, ) { + // 1.21.1 的锻造模板纹样在运行时由模板物品推导,datagen 无需指定 trimPattern。 val builder = SmithingTrimRecipeBuilder.smithingTrim( config.template.toIngredient(context.items), config.base.toIngredient(context.items), config.addition.toIngredient(context.items), - context.trimPatterns.getOrThrow(config.trimPattern), config.category, ) config.unlockCriteria.forEach { unlock -> @@ -118,19 +115,6 @@ object RecipeDsl { builder.save(context.output, recipeKey(config)) } - private fun saveTransmute( - context: RecipeContext, - config: TransmuteRecipeConfig, - ) { - val builder = TransmuteRecipeBuilder.transmute( - config.category, - config.input.toIngredient(context.items), - config.material.toIngredient(context.items), - config.result, - ) - applyCommon(builder, context, config) - } - private fun saveSpecial( context: RecipeContext, config: SpecialRecipeConfig, @@ -152,6 +136,6 @@ object RecipeDsl { builder.save(context.output, recipeKey(config)) } - private fun recipeKey(config: RecipeConfig): ResourceKey> = - ResourceKey.create(Registries.RECIPE, Identifier.fromNamespaceAndPath("decisland", config.name)) + private fun recipeKey(config: RecipeConfig): ResourceLocation = + ResourceLocation.fromNamespaceAndPath("decisland", config.name) } diff --git a/src/main/java/com/dec/decisland/datagen/RecipeProvider/RecipeIngredient.kt b/src/main/java/com/dec/decisland/datagen/RecipeProvider/RecipeIngredient.kt index 796c39f..3e4738d 100644 --- a/src/main/java/com/dec/decisland/datagen/RecipeProvider/RecipeIngredient.kt +++ b/src/main/java/com/dec/decisland/datagen/RecipeProvider/RecipeIngredient.kt @@ -18,7 +18,7 @@ sealed class RecipeIngredient { data class TagValue( val tag: TagKey, ) : RecipeIngredient() { - override fun toIngredient(items: HolderGetter): Ingredient = Ingredient.of(items.getOrThrow(tag)) + override fun toIngredient(items: HolderGetter): Ingredient = Ingredient.of(tag) } data class CustomValue( diff --git a/src/main/java/com/dec/decisland/datagen/RecipeProvider/SmithingTrimRecipeConfig.kt b/src/main/java/com/dec/decisland/datagen/RecipeProvider/SmithingTrimRecipeConfig.kt index cd15d7a..e2c591c 100644 --- a/src/main/java/com/dec/decisland/datagen/RecipeProvider/SmithingTrimRecipeConfig.kt +++ b/src/main/java/com/dec/decisland/datagen/RecipeProvider/SmithingTrimRecipeConfig.kt @@ -1,10 +1,8 @@ package com.dec.decisland.datagen.RecipeProvider -import net.minecraft.resources.ResourceKey +import net.minecraft.world.item.crafting.Ingredient import net.minecraft.tags.TagKey import net.minecraft.world.item.Item -import net.minecraft.world.item.crafting.Ingredient -import net.minecraft.world.item.equipment.trim.TrimPattern import net.minecraft.world.level.ItemLike class SmithingTrimRecipeConfig private constructor(builder: Builder) : RecipeConfig(builder) { @@ -17,16 +15,12 @@ class SmithingTrimRecipeConfig private constructor(builder: Builder) : RecipeCon @JvmField val addition: RecipeIngredient = builder.addition ?: error("Recipe '$name' is missing an addition ingredient") - @JvmField - val trimPattern: ResourceKey = builder.trimPattern ?: error("Recipe '$name' is missing a trim pattern") - class Builder( name: String, ) : RecipeConfig.Builder(name) { internal var template: RecipeIngredient? = null internal var base: RecipeIngredient? = null internal var addition: RecipeIngredient? = null - internal var trimPattern: ResourceKey? = null fun template(item: ItemLike): Builder = template(RecipeIngredient.of(item)) @@ -58,10 +52,6 @@ class SmithingTrimRecipeConfig private constructor(builder: Builder) : RecipeCon this.addition = ingredient } - fun trimPattern(trimPattern: ResourceKey): Builder = apply { - this.trimPattern = trimPattern - } - fun build(): SmithingTrimRecipeConfig = SmithingTrimRecipeConfig(this) } } diff --git a/src/main/java/com/dec/decisland/datagen/RecipeProvider/recipe/WeaponRecipes.kt b/src/main/java/com/dec/decisland/datagen/RecipeProvider/recipe/WeaponRecipes.kt index 6e10653..3a44fc7 100644 --- a/src/main/java/com/dec/decisland/datagen/RecipeProvider/recipe/WeaponRecipes.kt +++ b/src/main/java/com/dec/decisland/datagen/RecipeProvider/recipe/WeaponRecipes.kt @@ -88,7 +88,7 @@ object WeaponRecipes { fun build(context: RecipeContext) { RecipeDsl.save( context, - daggerRecipe("wooden_dagger", Weapon.WOODEN_DAGGER.get(), RecipeIngredient.tag(ItemTags.WOODEN_TOOL_MATERIALS), Items.STICK), + daggerRecipe("wooden_dagger", Weapon.WOODEN_DAGGER.get(), RecipeIngredient.tag(ItemTags.PLANKS), Items.STICK), ) RecipeDsl.save( context, @@ -129,7 +129,7 @@ object WeaponRecipes { .build(), ) - daggerNuggetRecipes("copper_dagger", Weapon.COPPER_DAGGER.get(), Items.COPPER_NUGGET).forEach { RecipeDsl.save(context, it) } + // 1.21.1 没有铜粒(COPPER_NUGGET),无法生成铜匕首的熔炼回收配方。 daggerNuggetRecipes("diamond_dagger", Weapon.DIAMOND_DAGGER.get(), Material.DIAMOND_NUGGET.get()).forEach { RecipeDsl.save(context, it) } daggerNuggetRecipes("emerald_dagger", Weapon.EMERALD_DAGGER.get(), Material.EMERALD_NUGGET.get()).forEach { RecipeDsl.save(context, it) } daggerNuggetRecipes("golden_dagger", Weapon.GOLDEN_DAGGER.get(), Items.GOLD_NUGGET).forEach { RecipeDsl.save(context, it) } diff --git a/src/main/java/com/dec/decisland/effect/DizzinessEffect.kt b/src/main/java/com/dec/decisland/effect/DizzinessEffect.kt index bfe341f..c5528ba 100644 --- a/src/main/java/com/dec/decisland/effect/DizzinessEffect.kt +++ b/src/main/java/com/dec/decisland/effect/DizzinessEffect.kt @@ -5,6 +5,6 @@ import net.minecraft.world.effect.MobEffectCategory class DizzinessEffect : MobEffect(MobEffectCategory.HARMFUL, 0x8F9AA3) { init { - setBlendDuration(10, 10, 10) + setBlendDuration(10) } } diff --git a/src/main/java/com/dec/decisland/entity/ModEntities.kt b/src/main/java/com/dec/decisland/entity/ModEntities.kt index 6ed4e5f..a31921a 100644 --- a/src/main/java/com/dec/decisland/entity/ModEntities.kt +++ b/src/main/java/com/dec/decisland/entity/ModEntities.kt @@ -41,15 +41,19 @@ import com.dec.decisland.entity.projectile.WinterEnergy import com.dec.decisland.entity.projectile.dart.DartDefinition import com.dec.decisland.entity.projectile.dart.DartEntity import com.dec.decisland.entity.projectile.dart.ModDarts -import net.minecraft.resources.Identifier +import net.minecraft.core.registries.Registries +import net.minecraft.resources.ResourceLocation +import net.minecraft.world.entity.Entity import net.minecraft.world.entity.EntityType import net.minecraft.world.entity.MobCategory +import net.minecraft.world.level.Level import net.neoforged.bus.api.IEventBus +import net.neoforged.neoforge.registries.DeferredHolder import net.neoforged.neoforge.registries.DeferredRegister import java.util.function.Supplier data class BulletEntityConfig( - val hitParticleIds: List = emptyList(), + val hitParticleIds: List = emptyList(), val hitParticleChance: Double = 1.0, ) @@ -58,18 +62,30 @@ object ModEntities { var TYPE: EntityType? = null @JvmField - val ENTITY_TYPES: DeferredRegister.Entities = DeferredRegister.createEntities(DecIsland.MOD_ID) + val ENTITY_TYPES: DeferredRegister> = + DeferredRegister.create(Registries.ENTITY_TYPE, DecIsland.MOD_ID) + + private fun registerEntity( + name: String, + factory: (EntityType, Level) -> T, + category: MobCategory, + configure: EntityType.Builder.() -> Unit = {}, + ): DeferredHolder, EntityType> = + ENTITY_TYPES.register( + name, + Supplier { EntityType.Builder.of(factory, category).apply(configure).build(name) }, + ) @JvmField val BLIZZARD_ENERGY: Supplier> = - ENTITY_TYPES.registerEntityType("blizzard_energy", ::BlizzardEnergy, MobCategory.MISC) { builder -> - builder.sized(0.5f, 0.5f) + registerEntity("blizzard_energy", { type, level -> BlizzardEnergy(type, level) }, MobCategory.MISC) { + sized(0.5f, 0.5f) } @JvmField val SNOW_ENERGY: Supplier> = - ENTITY_TYPES.registerEntityType("snow_energy", ::SnowEnergy, MobCategory.MISC) { builder -> - builder.sized(0.2f, 0.2f).clientTrackingRange(64).updateInterval(1) + registerEntity("snow_energy", { type, level -> SnowEnergy(type, level) }, MobCategory.MISC) { + sized(0.2f, 0.2f).clientTrackingRange(64).updateInterval(1) } @JvmField @@ -142,194 +158,194 @@ object ModEntities { @JvmField val THROWN_ASH_PUFFERFISH: Supplier> = - ENTITY_TYPES.registerEntityType("thrown_ash_pufferfish", ::ThrownAshPufferfish, MobCategory.MISC) { builder -> - builder.sized(0.1f, 0.1f) + registerEntity("thrown_ash_pufferfish", { type, level -> ThrownAshPufferfish(type, level) }, MobCategory.MISC) { + sized(0.1f, 0.1f) } @JvmField val STICKY_ASH: Supplier> = - ENTITY_TYPES.registerEntityType("sticky_ash", ::ThrownStickyAsh, MobCategory.MISC) { builder -> - builder.sized(0.25f, 0.25f).clientTrackingRange(64).updateInterval(1) + registerEntity("sticky_ash", { type, level -> ThrownStickyAsh(type, level) }, MobCategory.MISC) { + sized(0.25f, 0.25f).clientTrackingRange(64).updateInterval(1) } @JvmField val FROZEN_BALL: Supplier> = - ENTITY_TYPES.registerEntityType("frozen_ball", ::FrozenBallProjectile, MobCategory.MISC) { builder -> - builder.sized(0.31f, 0.31f).clientTrackingRange(64).updateInterval(1) + registerEntity("frozen_ball", { type, level -> FrozenBallProjectile(type, level) }, MobCategory.MISC) { + sized(0.31f, 0.31f).clientTrackingRange(64).updateInterval(1) } @JvmField val MIND_CONTROLLER: Supplier> = - ENTITY_TYPES.registerEntityType("mind_controller", ::MindControllerProjectile, MobCategory.MISC) { builder -> - builder.sized(0.25f, 0.25f).clientTrackingRange(64).updateInterval(1) + registerEntity("mind_controller", { type, level -> MindControllerProjectile(type, level) }, MobCategory.MISC) { + sized(0.25f, 0.25f).clientTrackingRange(64).updateInterval(1) } @JvmField val MUDDY_BALL: Supplier> = - ENTITY_TYPES.registerEntityType("muddy_ball", ::MuddyBallProjectile, MobCategory.MISC) { builder -> - builder.sized(0.25f, 0.25f).clientTrackingRange(64).updateInterval(1) + registerEntity("muddy_ball", { type, level -> MuddyBallProjectile(type, level) }, MobCategory.MISC) { + sized(0.25f, 0.25f).clientTrackingRange(64).updateInterval(1) } @JvmField val FIREFLY_BOTTLE: Supplier> = - ENTITY_TYPES.registerEntityType("firefly_bottle", ::FireflyBottleProjectile, MobCategory.MISC) { builder -> - builder.sized(0.1f, 0.1f).clientTrackingRange(64).updateInterval(1) + registerEntity("firefly_bottle", { type, level -> FireflyBottleProjectile(type, level) }, MobCategory.MISC) { + sized(0.1f, 0.1f).clientTrackingRange(64).updateInterval(1) } @JvmField val SMOKE_BOMB: Supplier> = - ENTITY_TYPES.registerEntityType("smoke_bomb", ::SmokeBombProjectile, MobCategory.MISC) { builder -> - builder.sized(0.25f, 0.25f).clientTrackingRange(64).updateInterval(1) + registerEntity("smoke_bomb", { type, level -> SmokeBombProjectile(type, level) }, MobCategory.MISC) { + sized(0.25f, 0.25f).clientTrackingRange(64).updateInterval(1) } @JvmField val GAS_BOMB: Supplier> = - ENTITY_TYPES.registerEntityType("gas_bomb", ::GasBombProjectile, MobCategory.MISC) { builder -> - builder.sized(0.25f, 0.25f).clientTrackingRange(64).updateInterval(1) + registerEntity("gas_bomb", { type, level -> GasBombProjectile(type, level) }, MobCategory.MISC) { + sized(0.25f, 0.25f).clientTrackingRange(64).updateInterval(1) } @JvmField val THROWABLE_BOMB: Supplier> = - ENTITY_TYPES.registerEntityType("throwable_bomb", ::ThrowableBombProjectile, MobCategory.MISC) { builder -> - builder.sized(0.1f, 0.1f).clientTrackingRange(64).updateInterval(1) + registerEntity("throwable_bomb", { type, level -> ThrowableBombProjectile(type, level) }, MobCategory.MISC) { + sized(0.1f, 0.1f).clientTrackingRange(64).updateInterval(1) } @JvmField val ENERGY_BALL: Supplier> = - ENTITY_TYPES.registerEntityType("energy_ball", ::EnergyBall, MobCategory.MISC) { builder -> - builder.sized(0.8f, 0.8f).clientTrackingRange(64).updateInterval(1) + registerEntity("energy_ball", { type, level -> EnergyBall(type, level) }, MobCategory.MISC) { + sized(0.8f, 0.8f).clientTrackingRange(64).updateInterval(1) } @JvmField val AMETHYST_ENERGY_BALL: Supplier> = - ENTITY_TYPES.registerEntityType("amethyst_energy_ball", ::AmethystEnergyBall, MobCategory.MISC) { builder -> - builder.sized(0.8f, 0.8f).clientTrackingRange(64).updateInterval(1) + registerEntity("amethyst_energy_ball", { type, level -> AmethystEnergyBall(type, level) }, MobCategory.MISC) { + sized(0.8f, 0.8f).clientTrackingRange(64).updateInterval(1) } @JvmField val GOLDEN_ENERGY_BALL: Supplier> = - ENTITY_TYPES.registerEntityType("golden_energy_ball", ::GoldenEnergyBall, MobCategory.MISC) { builder -> - builder.sized(0.8f, 0.8f).clientTrackingRange(64).updateInterval(1) + registerEntity("golden_energy_ball", { type, level -> GoldenEnergyBall(type, level) }, MobCategory.MISC) { + sized(0.8f, 0.8f).clientTrackingRange(64).updateInterval(1) } @JvmField val LAPIS_BULLET: Supplier> = - ENTITY_TYPES.registerEntityType("lapis_bullet", ::LapisBullet, MobCategory.MISC) { builder -> - builder.sized(0.31f, 0.31f).clientTrackingRange(64).updateInterval(1) + registerEntity("lapis_bullet", { type, level -> LapisBullet(type, level) }, MobCategory.MISC) { + sized(0.31f, 0.31f).clientTrackingRange(64).updateInterval(1) } @JvmField val CONCENTRATED_SOUL_BULLET: Supplier> = - ENTITY_TYPES.registerEntityType("concentrated_soul_bullet", ::ConcentratedSoulBullet, MobCategory.MISC) { builder -> - builder.sized(0.8f, 0.8f).clientTrackingRange(64).updateInterval(1) + registerEntity("concentrated_soul_bullet", { type, level -> ConcentratedSoulBullet(type, level) }, MobCategory.MISC) { + sized(0.8f, 0.8f).clientTrackingRange(64).updateInterval(1) } @JvmField val JELLYFISH_BY_JELLYFISH_STAFF: Supplier> = - ENTITY_TYPES.registerEntityType("jellyfish_by_jellyfish_staff", ::JellyfishStaffProjectile, MobCategory.MISC) { builder -> - builder.sized(0.31f, 0.31f).clientTrackingRange(64).updateInterval(1) + registerEntity("jellyfish_by_jellyfish_staff", { type, level -> JellyfishStaffProjectile(type, level) }, MobCategory.MISC) { + sized(0.31f, 0.31f).clientTrackingRange(64).updateInterval(1) } @JvmField val SOUL_WAKE_BULLET: Supplier> = - ENTITY_TYPES.registerEntityType("soul_wake_bullet", ::SoulWakeBullet, MobCategory.MISC) { builder -> - builder.sized(0.2f, 0.2f).clientTrackingRange(64).updateInterval(1) + registerEntity("soul_wake_bullet", { type, level -> SoulWakeBullet(type, level) }, MobCategory.MISC) { + sized(0.2f, 0.2f).clientTrackingRange(64).updateInterval(1) } @JvmField val STREAM_ENERGY_BALL: Supplier> = - ENTITY_TYPES.registerEntityType("stream_energy_ball", ::StreamEnergyBall, MobCategory.MISC) { builder -> - builder.sized(0.8f, 0.8f).clientTrackingRange(64).updateInterval(1) + registerEntity("stream_energy_ball", { type, level -> StreamEnergyBall(type, level) }, MobCategory.MISC) { + sized(0.8f, 0.8f).clientTrackingRange(64).updateInterval(1) } @JvmField val PURE_ENERGY_BALL: Supplier> = - ENTITY_TYPES.registerEntityType("pure_energy_ball", ::PureEnergyBall, MobCategory.MISC) { builder -> - builder.sized(0.8f, 0.8f).clientTrackingRange(64).updateInterval(1) + registerEntity("pure_energy_ball", { type, level -> PureEnergyBall(type, level) }, MobCategory.MISC) { + sized(0.8f, 0.8f).clientTrackingRange(64).updateInterval(1) } @JvmField val SPOTS_BY_BOOK: Supplier> = - ENTITY_TYPES.registerEntityType("spots_by_book", ::SpotsByBook, MobCategory.MISC) { builder -> - builder.sized(0.31f, 0.31f).clientTrackingRange(64).updateInterval(1) + registerEntity("spots_by_book", { type, level -> SpotsByBook(type, level) }, MobCategory.MISC) { + sized(0.31f, 0.31f).clientTrackingRange(64).updateInterval(1) } @JvmField val SPOTS_OVERFLOW: Supplier> = - ENTITY_TYPES.registerEntityType("spots_overflow", ::SpotsOverflow, MobCategory.MISC) { builder -> - builder.sized(0.2f, 0.2f).clientTrackingRange(64).updateInterval(1) + registerEntity("spots_overflow", { type, level -> SpotsOverflow(type, level) }, MobCategory.MISC) { + sized(0.2f, 0.2f).clientTrackingRange(64).updateInterval(1) } @JvmField val DEEP_ENERGY: Supplier> = - ENTITY_TYPES.registerEntityType("deep_energy", ::DeepEnergy, MobCategory.MISC) { builder -> - builder.sized(0.8f, 0.8f).clientTrackingRange(64).updateInterval(1) + registerEntity("deep_energy", { type, level -> DeepEnergy(type, level) }, MobCategory.MISC) { + sized(0.8f, 0.8f).clientTrackingRange(64).updateInterval(1) } @JvmField val FROZEN_ENERGY_BALL: Supplier> = - ENTITY_TYPES.registerEntityType("frozen_energy_ball", ::FrozenEnergyBall, MobCategory.MISC) { builder -> - builder.sized(0.6f, 0.6f).clientTrackingRange(64).updateInterval(1) + registerEntity("frozen_energy_ball", { type, level -> FrozenEnergyBall(type, level) }, MobCategory.MISC) { + sized(0.6f, 0.6f).clientTrackingRange(64).updateInterval(1) } @JvmField val WINTER_ENERGY: Supplier> = - ENTITY_TYPES.registerEntityType("winter_energy", ::WinterEnergy, MobCategory.MISC) { builder -> - builder.sized(0.8f, 0.8f).clientTrackingRange(64).updateInterval(1) + registerEntity("winter_energy", { type, level -> WinterEnergy(type, level) }, MobCategory.MISC) { + sized(0.8f, 0.8f).clientTrackingRange(64).updateInterval(1) } @JvmField val THUNDER_BALL: Supplier> = - ENTITY_TYPES.registerEntityType("thunder_ball", ::ThunderBall, MobCategory.MISC) { builder -> - builder.sized(0.9f, 0.9f).clientTrackingRange(64).updateInterval(1) + registerEntity("thunder_ball", { type, level -> ThunderBall(type, level) }, MobCategory.MISC) { + sized(0.9f, 0.9f).clientTrackingRange(64).updateInterval(1) } @JvmField val ENERGY_RAY: Supplier> = - ENTITY_TYPES.registerEntityType("energy_ray", ::EnergyRay, MobCategory.MISC) { builder -> - builder.sized(0.2f, 0.2f).clientTrackingRange(64).updateInterval(1) + registerEntity("energy_ray", { type, level -> EnergyRay(type, level) }, MobCategory.MISC) { + sized(0.2f, 0.2f).clientTrackingRange(64).updateInterval(1) } @JvmField val AMETHYST_ENERGY_RAY: Supplier> = - ENTITY_TYPES.registerEntityType("amethyst_energy_ray", ::AmethystEnergyRay, MobCategory.MISC) { builder -> - builder.sized(0.2f, 0.2f).clientTrackingRange(64).updateInterval(1) + registerEntity("amethyst_energy_ray", { type, level -> AmethystEnergyRay(type, level) }, MobCategory.MISC) { + sized(0.2f, 0.2f).clientTrackingRange(64).updateInterval(1) } @JvmField val FROZEN_RAY: Supplier> = - ENTITY_TYPES.registerEntityType("frozen_ray", ::FrozenRay, MobCategory.MISC) { builder -> - builder.sized(0.2f, 0.2f).clientTrackingRange(64).updateInterval(1) + registerEntity("frozen_ray", { type, level -> FrozenRay(type, level) }, MobCategory.MISC) { + sized(0.2f, 0.2f).clientTrackingRange(64).updateInterval(1) } @JvmField val GROWING_ENERGY_RAY: Supplier> = - ENTITY_TYPES.registerEntityType("growing_energy_ray", ::GrowingEnergyRay, MobCategory.MISC) { builder -> - builder.sized(0.31f, 0.31f).clientTrackingRange(64).updateInterval(1) + registerEntity("growing_energy_ray", { type, level -> GrowingEnergyRay(type, level) }, MobCategory.MISC) { + sized(0.31f, 0.31f).clientTrackingRange(64).updateInterval(1) } @JvmField val NIGHTMARE_SPORE: Supplier> = - ENTITY_TYPES.registerEntityType("nightmare_spore", ::NightmareSpore, MobCategory.MISC) { builder -> - builder.sized(0.4f, 0.4f).clientTrackingRange(64).updateInterval(1) + registerEntity("nightmare_spore", { type, level -> NightmareSpore(type, level) }, MobCategory.MISC) { + sized(0.4f, 0.4f).clientTrackingRange(64).updateInterval(1) } @JvmField val NIGHTMARE_RAY: Supplier> = - ENTITY_TYPES.registerEntityType("nightmare_ray", ::NightmareRay, MobCategory.MISC) { builder -> - builder.sized(0.31f, 0.31f).clientTrackingRange(64).updateInterval(1) + registerEntity("nightmare_ray", { type, level -> NightmareRay(type, level) }, MobCategory.MISC) { + sized(0.31f, 0.31f).clientTrackingRange(64).updateInterval(1) } @JvmField val WAVE_ENERGY: Supplier> = - ENTITY_TYPES.registerEntityType("wave_energy", ::WaveEnergy, MobCategory.MISC) { builder -> - builder.sized(1.0f, 1.0f).clientTrackingRange(64).updateInterval(1) + registerEntity("wave_energy", { type, level -> WaveEnergy(type, level) }, MobCategory.MISC) { + sized(1.0f, 1.0f).clientTrackingRange(64).updateInterval(1) } @JvmField val STORM_FUSE: Supplier> = - ENTITY_TYPES.registerEntityType("storm_fuse", ::StormFuse, MobCategory.MISC) { builder -> - builder.sized(0.1f, 0.1f).clientTrackingRange(64).updateInterval(1) + registerEntity("storm_fuse", { type, level -> StormFuse(type, level) }, MobCategory.MISC) { + sized(0.1f, 0.1f).clientTrackingRange(64).updateInterval(1) } @JvmField @@ -403,14 +419,14 @@ object ModEntities { @JvmField val PUMPKIN_BOMB: Supplier> = - ENTITY_TYPES.registerEntityType("pumpkin_bomb", ::PumpkinBombEntity, MobCategory.MISC) { builder -> - builder.sized(0.5f, 0.5f).clientTrackingRange(8).updateInterval(10) + registerEntity("pumpkin_bomb", { type, level -> PumpkinBombEntity(type, level) }, MobCategory.MISC) { + sized(0.5f, 0.5f).clientTrackingRange(8).updateInterval(10) } @JvmField val WITHER_CLOUD: Supplier> = - ENTITY_TYPES.registerEntityType("wither_cloud", ::WitherCloudEntity, MobCategory.MISC) { builder -> - builder.sized(0.5f, 0.5f).clientTrackingRange(8).updateInterval(10) + registerEntity("wither_cloud", { type, level -> WitherCloudEntity(type, level) }, MobCategory.MISC) { + sized(0.5f, 0.5f).clientTrackingRange(8).updateInterval(10) } @JvmStatic @@ -419,21 +435,24 @@ object ModEntities { } private fun registerFlintlockBullet(path: String): Supplier> = - ENTITY_TYPES.registerEntityType(path, ::FlintlockBulletEntity, MobCategory.MISC) { builder -> - builder.sized(0.2f, 0.2f).clientTrackingRange(64).updateInterval(10) + registerEntity(path, { type, level -> FlintlockBulletEntity(type, level) }, MobCategory.MISC) { + sized(0.2f, 0.2f).clientTrackingRange(64).updateInterval(10) } private fun registerDartEntity( definition: DartDefinition, ): Supplier> { DartEntity.registerDefinition(definition) - return ENTITY_TYPES.registerEntityType(definition.path, ::DartEntity, MobCategory.MISC) { builder -> - builder - .sized(definition.entitySettings.entityWidth, definition.entitySettings.entityHeight) + return registerEntity( + definition.path, + { type, level -> DartEntity(type, level) }, + MobCategory.MISC, + ) { + sized(definition.entitySettings.entityWidth, definition.entitySettings.entityHeight) .clientTrackingRange(definition.entitySettings.clientTrackingRange) .updateInterval(definition.entitySettings.updateInterval) }.also(definition::bindEntityTypeSupplier) } - private fun id(path: String): Identifier = Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, path) + private fun id(path: String): ResourceLocation = ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, path) } diff --git a/src/main/java/com/dec/decisland/entity/custom/PumpkinBombEntity.kt b/src/main/java/com/dec/decisland/entity/custom/PumpkinBombEntity.kt index bec9903..ec46f69 100644 --- a/src/main/java/com/dec/decisland/entity/custom/PumpkinBombEntity.kt +++ b/src/main/java/com/dec/decisland/entity/custom/PumpkinBombEntity.kt @@ -6,9 +6,8 @@ import net.minecraft.server.level.ServerLevel import net.minecraft.world.damagesource.DamageSource import net.minecraft.world.entity.Entity import net.minecraft.world.entity.EntityType +import net.minecraft.nbt.CompoundTag import net.minecraft.world.level.Level -import net.minecraft.world.level.storage.ValueInput -import net.minecraft.world.level.storage.ValueOutput class PumpkinBombEntity(entityType: EntityType, level: Level) : Entity(entityType, level) { private var fuse = DEFAULT_FUSE @@ -20,12 +19,12 @@ class PumpkinBombEntity(entityType: EntityType, level: Level) override fun defineSynchedData(builder: SynchedEntityData.Builder) { } - override fun readAdditionalSaveData(input: ValueInput) { - fuse = input.getIntOr(FUSE_KEY, DEFAULT_FUSE) + override fun readAdditionalSaveData(compound: CompoundTag) { + fuse = if (compound.contains(FUSE_KEY)) compound.getInt(FUSE_KEY) else DEFAULT_FUSE } - override fun addAdditionalSaveData(output: ValueOutput) { - output.putInt(FUSE_KEY, fuse) + override fun addAdditionalSaveData(compound: CompoundTag) { + compound.putInt(FUSE_KEY, fuse) } override fun isPushable(): Boolean = true @@ -42,7 +41,7 @@ class PumpkinBombEntity(entityType: EntityType, level: Level) } } - override fun hurtServer(level: ServerLevel, source: DamageSource, amount: Float): Boolean { + override fun hurt(source: DamageSource, amount: Float): Boolean { if (amount >= 1.0f) { discard() return true diff --git a/src/main/java/com/dec/decisland/entity/custom/WitherCloudEntity.kt b/src/main/java/com/dec/decisland/entity/custom/WitherCloudEntity.kt index 566d97d..065ab68 100644 --- a/src/main/java/com/dec/decisland/entity/custom/WitherCloudEntity.kt +++ b/src/main/java/com/dec/decisland/entity/custom/WitherCloudEntity.kt @@ -4,7 +4,7 @@ import com.dec.decisland.DecIsland import com.dec.decisland.entity.ModEntities import com.dec.decisland.network.Networking import net.minecraft.network.syncher.SynchedEntityData -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.server.level.ServerLevel import net.minecraft.world.damagesource.DamageSource import net.minecraft.world.effect.MobEffectInstance @@ -12,9 +12,8 @@ import net.minecraft.world.effect.MobEffects import net.minecraft.world.entity.Entity import net.minecraft.world.entity.EntityType import net.minecraft.world.entity.LivingEntity +import net.minecraft.nbt.CompoundTag import net.minecraft.world.level.Level -import net.minecraft.world.level.storage.ValueInput -import net.minecraft.world.level.storage.ValueOutput import java.util.UUID class WitherCloudEntity(entityType: EntityType, level: Level) : Entity(entityType, level) { @@ -29,15 +28,15 @@ class WitherCloudEntity(entityType: EntityType, level: Level) override fun defineSynchedData(builder: SynchedEntityData.Builder) { } - override fun readAdditionalSaveData(input: ValueInput) { - lifetime = input.getIntOr(LIFETIME_KEY, DEFAULT_LIFETIME) - val owner = input.getStringOr(OWNER_KEY, "") + override fun readAdditionalSaveData(compound: CompoundTag) { + lifetime = if (compound.contains(LIFETIME_KEY)) compound.getInt(LIFETIME_KEY) else DEFAULT_LIFETIME + val owner = if (compound.contains(OWNER_KEY)) compound.getString(OWNER_KEY) else "" ownerUUID = if (owner.isEmpty()) null else UUID.fromString(owner) } - override fun addAdditionalSaveData(output: ValueOutput) { - output.putInt(LIFETIME_KEY, lifetime) - ownerUUID?.let { output.putString(OWNER_KEY, it.toString()) } + override fun addAdditionalSaveData(compound: CompoundTag) { + compound.putInt(LIFETIME_KEY, lifetime) + ownerUUID?.let { compound.putString(OWNER_KEY, it.toString()) } } override fun tick() { @@ -57,15 +56,15 @@ class WitherCloudEntity(entityType: EntityType, level: Level) for (entity in serverLevel.getEntities(this, boundingBox) { it is LivingEntity }) { val target = entity as LivingEntity target.addEffect(MobEffectInstance(MobEffects.WITHER, WITHER_DURATION_TICKS, WITHER_AMPLIFIER), owner) - target.hurtServer(serverLevel, serverLevel.damageSources().indirectMagic(owner ?: this, this), IMPACT_DAMAGE) + target.hurt(serverLevel.damageSources().indirectMagic(owner ?: this, this), IMPACT_DAMAGE) } } - override fun hurtServer(level: ServerLevel, source: DamageSource, amount: Float): Boolean = false + override fun hurt(source: DamageSource, amount: Float): Boolean = false companion object { - private val WAKE_PARTICLE_ID: Identifier = - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "wither_cloud_wake_particle") + private val WAKE_PARTICLE_ID: ResourceLocation = + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "wither_cloud_wake_particle") private const val LIFETIME_KEY = "Lifetime" private const val OWNER_KEY = "Owner" private const val DEFAULT_LIFETIME = 100 diff --git a/src/main/java/com/dec/decisland/entity/projectile/AmethystEnergyRay.kt b/src/main/java/com/dec/decisland/entity/projectile/AmethystEnergyRay.kt index cca41a7..5ed4739 100644 --- a/src/main/java/com/dec/decisland/entity/projectile/AmethystEnergyRay.kt +++ b/src/main/java/com/dec/decisland/entity/projectile/AmethystEnergyRay.kt @@ -2,7 +2,7 @@ package com.dec.decisland.entity.projectile import com.dec.decisland.DecIsland import com.dec.decisland.entity.ModEntities -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.world.entity.EntityType import net.minecraft.world.entity.LivingEntity import net.minecraft.world.item.ItemStack @@ -19,5 +19,5 @@ class AmethystEnergyRay(entityType: EntityType, level: Level) } override val baseDamage: Float = 9.0f - override val trailParticleId: Identifier = Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "amethyst_energy_wake_particle") + override val trailParticleId: ResourceLocation = ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "amethyst_energy_wake_particle") } diff --git a/src/main/java/com/dec/decisland/entity/projectile/BlizzardEnergy.kt b/src/main/java/com/dec/decisland/entity/projectile/BlizzardEnergy.kt index 637875b..2b17230 100644 --- a/src/main/java/com/dec/decisland/entity/projectile/BlizzardEnergy.kt +++ b/src/main/java/com/dec/decisland/entity/projectile/BlizzardEnergy.kt @@ -1,8 +1,8 @@ -package com.dec.decisland.entity.projectile +package com.dec.decisland.entity.projectile import com.dec.decisland.DecIsland import com.dec.decisland.entity.ModEntities -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.server.level.ServerLevel import net.minecraft.world.effect.MobEffectInstance import net.minecraft.world.effect.MobEffects @@ -26,11 +26,11 @@ class BlizzardEnergy(entityType: EntityType, level: Level) : Par override val maxLifetimeTicks: Int = 60 override val airInertia: Double = 1.2 override val waterInertia: Double = 1.0 - override val trailParticleId: Identifier = Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "blizzard_wake_particle") + override val trailParticleId: ResourceLocation = ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "blizzard_wake_particle") override fun onEntityDamaged(serverLevel: ServerLevel, target: Entity) { if (target is LivingEntity) { - target.addEffect(MobEffectInstance(MobEffects.SLOWNESS, 200, 0)) + target.addEffect(MobEffectInstance(MobEffects.MOVEMENT_SLOWDOWN, 200, 0)) } } } diff --git a/src/main/java/com/dec/decisland/entity/projectile/CustomInertiaProjectile.kt b/src/main/java/com/dec/decisland/entity/projectile/CustomInertiaProjectile.kt new file mode 100644 index 0000000..f947c45 --- /dev/null +++ b/src/main/java/com/dec/decisland/entity/projectile/CustomInertiaProjectile.kt @@ -0,0 +1,48 @@ +package com.dec.decisland.entity.projectile + +import com.dec.decisland.api.CustomInertia +import net.minecraft.world.entity.EntityType +import net.minecraft.world.entity.projectile.ThrowableItemProjectile +import net.minecraft.world.level.Level + +/** + * 可配置惯性的投掷物基类(1.21.1 下替代原 ThrowableProjectileMixin)。 + * + * 1.21.1 的 ThrowableProjectile.tick() 会先按原版惯性 + * (空气 0.99 / 水 0.8)缩放速度,然后立即调用 applyGravity(), + * 因此在这里把刚缩放过的速度重新缩放到配置值即可精确生效,无需 mixin。 + */ +abstract class CustomInertiaProjectile( + entityType: EntityType, + level: Level, +) : ThrowableItemProjectile(entityType, level), CustomInertia { + + override fun applyGravity() { + val inWater = isInWater() + val vanillaInertia = if (inWater) VANILLA_WATER_INERTIA else VANILLA_AIR_INERTIA + val configuredInertia = if (inWater) waterInertia else airInertia + val desiredInertia = resolveInertia(configuredInertia, vanillaInertia) + if (desiredInertia != vanillaInertia) { + val scale = desiredInertia / vanillaInertia + val motion = deltaMovement + setDeltaMovement(motion.x * scale, motion.y * scale, motion.z * scale) + } + super.applyGravity() + } + + companion object { + private const val VANILLA_AIR_INERTIA = 0.99f + private const val VANILLA_WATER_INERTIA = 0.8f + + /** + * 基岩版投掷物惯性值大于 1 表示"保留更多速度", + * 而不是像原版那样每 tick 将速度乘以大于 1 的系数。 + */ + private fun resolveInertia(configured: Float, vanilla: Float): Float = + if (configured <= 1.0f) { + configured + } else { + (vanilla + (1.0f - vanilla) * (1.0f - 1.0f / configured)).coerceAtMost(0.9999f) + } + } +} diff --git a/src/main/java/com/dec/decisland/entity/projectile/DeepEnergy.kt b/src/main/java/com/dec/decisland/entity/projectile/DeepEnergy.kt index 6e7a32e..e615d12 100644 --- a/src/main/java/com/dec/decisland/entity/projectile/DeepEnergy.kt +++ b/src/main/java/com/dec/decisland/entity/projectile/DeepEnergy.kt @@ -1,4 +1,4 @@ -package com.dec.decisland.entity.projectile +package com.dec.decisland.entity.projectile import com.dec.decisland.entity.ModEntities import net.minecraft.server.level.ServerLevel @@ -44,7 +44,7 @@ class DeepEnergy(entityType: EntityType, level: Level) : cloud.radiusOnUse = 0.0f cloud.durationOnUse = 0 cloud.radiusPerTick = 0.0f - cloud.addEffect(MobEffectInstance(MobEffects.SLOWNESS, 20 * 5, 1)) + cloud.addEffect(MobEffectInstance(MobEffects.MOVEMENT_SLOWDOWN, 20 * 5, 1)) serverLevel.addFreshEntity(cloud) } } diff --git a/src/main/java/com/dec/decisland/entity/projectile/EnergyBall.kt b/src/main/java/com/dec/decisland/entity/projectile/EnergyBall.kt index ce999dc..a7114ad 100644 --- a/src/main/java/com/dec/decisland/entity/projectile/EnergyBall.kt +++ b/src/main/java/com/dec/decisland/entity/projectile/EnergyBall.kt @@ -1,7 +1,7 @@ package com.dec.decisland.entity.projectile import com.dec.decisland.entity.ModEntities -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.world.entity.EntityType import net.minecraft.world.entity.LivingEntity import net.minecraft.world.item.ItemStack @@ -23,6 +23,6 @@ class EnergyBall(entityType: EntityType, level: Level) : override val waterInertia: Double = 1.0 override val trailDurationTicks: Int = 6 override val hitParticleDurationTicks: Int = 8 - override val hitParticleIds: List = - super.hitParticleIds + Identifier.fromNamespaceAndPath("decisland", "shulker_bullet_hit_small_particle") + override val hitParticleIds: List = + super.hitParticleIds + ResourceLocation.fromNamespaceAndPath("decisland", "shulker_bullet_hit_small_particle") } diff --git a/src/main/java/com/dec/decisland/entity/projectile/EnergyRay.kt b/src/main/java/com/dec/decisland/entity/projectile/EnergyRay.kt index dbf7487..4f3412a 100644 --- a/src/main/java/com/dec/decisland/entity/projectile/EnergyRay.kt +++ b/src/main/java/com/dec/decisland/entity/projectile/EnergyRay.kt @@ -2,7 +2,7 @@ package com.dec.decisland.entity.projectile import com.dec.decisland.DecIsland import com.dec.decisland.entity.ModEntities -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.world.entity.EntityType import net.minecraft.world.entity.LivingEntity import net.minecraft.world.item.ItemStack @@ -19,5 +19,5 @@ class EnergyRay(entityType: EntityType, level: Level) : ParticleRayPr } override val baseDamage: Float = 7.0f - override val trailParticleId: Identifier = Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "energy_wake_particle") + override val trailParticleId: ResourceLocation = ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "energy_wake_particle") } diff --git a/src/main/java/com/dec/decisland/entity/projectile/FireflyBottleProjectile.kt b/src/main/java/com/dec/decisland/entity/projectile/FireflyBottleProjectile.kt index d06907a..f73ca55 100644 --- a/src/main/java/com/dec/decisland/entity/projectile/FireflyBottleProjectile.kt +++ b/src/main/java/com/dec/decisland/entity/projectile/FireflyBottleProjectile.kt @@ -10,7 +10,7 @@ import net.minecraft.world.entity.Entity import net.minecraft.world.entity.EntityType import net.minecraft.world.entity.ExperienceOrb import net.minecraft.world.entity.LivingEntity -import net.minecraft.world.entity.projectile.throwableitemprojectile.ThrowableItemProjectile +import net.minecraft.world.entity.projectile.ThrowableItemProjectile import net.minecraft.world.item.Item import net.minecraft.world.item.ItemStack import net.minecraft.world.level.Level @@ -53,7 +53,7 @@ class FireflyBottleProjectile(entityType: EntityType, l 1.1f + random.nextFloat() * 0.2f, ) serverLevel.sendParticles( - ParticleTypes.FIREFLY, + ParticleTypes.GLOW, pos.x, pos.y, pos.z, @@ -64,7 +64,7 @@ class FireflyBottleProjectile(entityType: EntityType, l 0.015, ) serverLevel.sendParticles( - ParticleTypes.FIREFLY, + ParticleTypes.GLOW, pos.x, pos.y + 0.1, pos.z, diff --git a/src/main/java/com/dec/decisland/entity/projectile/FlintlockBulletEntity.kt b/src/main/java/com/dec/decisland/entity/projectile/FlintlockBulletEntity.kt index 1890363..d56ca2f 100644 --- a/src/main/java/com/dec/decisland/entity/projectile/FlintlockBulletEntity.kt +++ b/src/main/java/com/dec/decisland/entity/projectile/FlintlockBulletEntity.kt @@ -1,4 +1,4 @@ -package com.dec.decisland.entity.projectile +package com.dec.decisland.entity.projectile import com.dec.decisland.entity.ModEntities import com.dec.decisland.item.category.Weapon import com.dec.decisland.network.Networking @@ -10,7 +10,7 @@ import net.minecraft.world.entity.EntityType import net.minecraft.world.entity.LivingEntity import net.minecraft.world.entity.animal.allay.Allay import net.minecraft.world.entity.player.Player -import net.minecraft.world.entity.projectile.throwableitemprojectile.ThrowableItemProjectile +import net.minecraft.world.entity.projectile.ThrowableItemProjectile import net.minecraft.world.item.Item import net.minecraft.world.level.Level import net.minecraft.world.phys.AABB diff --git a/src/main/java/com/dec/decisland/entity/projectile/FrozenBallProjectile.kt b/src/main/java/com/dec/decisland/entity/projectile/FrozenBallProjectile.kt index da23703..340bf6b 100644 --- a/src/main/java/com/dec/decisland/entity/projectile/FrozenBallProjectile.kt +++ b/src/main/java/com/dec/decisland/entity/projectile/FrozenBallProjectile.kt @@ -1,18 +1,16 @@ package com.dec.decisland.entity.projectile import com.dec.decisland.DecIsland -import com.dec.decisland.api.CustomInertia import com.dec.decisland.entity.ModEntities import com.dec.decisland.item.category.Weapon import com.dec.decisland.network.Networking import net.minecraft.core.particles.ItemParticleOption import net.minecraft.core.particles.ParticleTypes -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.server.level.ServerLevel import net.minecraft.world.entity.Entity import net.minecraft.world.entity.EntityType import net.minecraft.world.entity.LivingEntity -import net.minecraft.world.entity.projectile.throwableitemprojectile.ThrowableItemProjectile import net.minecraft.world.item.Item import net.minecraft.world.item.ItemStack import net.minecraft.world.item.Items @@ -21,7 +19,7 @@ import net.minecraft.world.phys.EntityHitResult import net.minecraft.world.phys.HitResult class FrozenBallProjectile(entityType: EntityType, level: Level) : - ThrowableItemProjectile(entityType, level), CustomInertia { + CustomInertiaProjectile(entityType, level) { constructor(level: Level, owner: LivingEntity, item: ItemStack) : this(ModEntities.FROZEN_BALL.get(), level) { setOwner(owner) setItem(item.copyWithCount(1)) @@ -76,7 +74,7 @@ class FrozenBallProjectile(entityType: EntityType, level: get() = 1.0f companion object { - private val TRAIL_PARTICLE_ID: Identifier = - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "everlasting_winter_wake_particle") + private val TRAIL_PARTICLE_ID: ResourceLocation = + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "everlasting_winter_wake_particle") } } diff --git a/src/main/java/com/dec/decisland/entity/projectile/FrozenEnergyBall.kt b/src/main/java/com/dec/decisland/entity/projectile/FrozenEnergyBall.kt index 6020148..d4a0eab 100644 --- a/src/main/java/com/dec/decisland/entity/projectile/FrozenEnergyBall.kt +++ b/src/main/java/com/dec/decisland/entity/projectile/FrozenEnergyBall.kt @@ -1,4 +1,4 @@ -package com.dec.decisland.entity.projectile +package com.dec.decisland.entity.projectile import com.dec.decisland.entity.ModEntities import net.minecraft.server.level.ServerLevel @@ -24,7 +24,7 @@ class FrozenEnergyBall(entityType: EntityType, level: Level) : override fun onEntityDamaged(serverLevel: ServerLevel, target: Entity) { if (target is LivingEntity) { - target.addEffect(MobEffectInstance(MobEffects.SLOWNESS, 200, 1)) + target.addEffect(MobEffectInstance(MobEffects.MOVEMENT_SLOWDOWN, 200, 1)) } } } diff --git a/src/main/java/com/dec/decisland/entity/projectile/FrozenRay.kt b/src/main/java/com/dec/decisland/entity/projectile/FrozenRay.kt index 2320113..096bdd6 100644 --- a/src/main/java/com/dec/decisland/entity/projectile/FrozenRay.kt +++ b/src/main/java/com/dec/decisland/entity/projectile/FrozenRay.kt @@ -1,8 +1,8 @@ -package com.dec.decisland.entity.projectile +package com.dec.decisland.entity.projectile import com.dec.decisland.DecIsland import com.dec.decisland.entity.ModEntities -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.server.level.ServerLevel import net.minecraft.world.effect.MobEffectInstance import net.minecraft.world.effect.MobEffects @@ -25,11 +25,11 @@ class FrozenRay(entityType: EntityType, level: Level) : ParticleRayPr override val baseDamage: Float = 8.0f override val airInertia: Double = 1.3 override val waterInertia: Double = 0.7 - override val trailParticleId: Identifier = Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "frozen_wake_particle") + override val trailParticleId: ResourceLocation = ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "frozen_wake_particle") override fun onEntityDamaged(serverLevel: ServerLevel, target: Entity) { if (target is LivingEntity) { - target.addEffect(MobEffectInstance(MobEffects.SLOWNESS, 200, 0)) + target.addEffect(MobEffectInstance(MobEffects.MOVEMENT_SLOWDOWN, 200, 0)) } } } diff --git a/src/main/java/com/dec/decisland/entity/projectile/GasBombProjectile.kt b/src/main/java/com/dec/decisland/entity/projectile/GasBombProjectile.kt index 18f3e67..2c47a38 100644 --- a/src/main/java/com/dec/decisland/entity/projectile/GasBombProjectile.kt +++ b/src/main/java/com/dec/decisland/entity/projectile/GasBombProjectile.kt @@ -1,12 +1,11 @@ package com.dec.decisland.entity.projectile import com.dec.decisland.DecIsland -import com.dec.decisland.api.CustomInertia import com.dec.decisland.effect.ModEffects import com.dec.decisland.entity.ModEntities import com.dec.decisland.item.category.Weapon import com.dec.decisland.network.Networking -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.server.level.ServerLevel import net.minecraft.sounds.SoundEvents import net.minecraft.sounds.SoundSource @@ -16,7 +15,6 @@ import net.minecraft.world.entity.Entity import net.minecraft.world.entity.EntityType import net.minecraft.world.entity.LivingEntity import net.minecraft.world.entity.player.Player -import net.minecraft.world.entity.projectile.throwableitemprojectile.ThrowableItemProjectile import net.minecraft.world.item.Item import net.minecraft.world.item.ItemStack import net.minecraft.world.level.Level @@ -26,7 +24,7 @@ import net.minecraft.world.phys.HitResult import net.minecraft.world.phys.Vec3 class GasBombProjectile(entityType: EntityType, level: Level) : - ThrowableItemProjectile(entityType, level), CustomInertia { + CustomInertiaProjectile(entityType, level) { constructor(level: Level, owner: LivingEntity, item: ItemStack) : this(ModEntities.GAS_BOMB.get(), level) { setOwner(owner) setItem(item.copyWithCount(1)) @@ -71,7 +69,7 @@ class GasBombProjectile(entityType: EntityType, level: Level) return@forEach } target.addEffect(MobEffectInstance(MobEffects.POISON, 20 * 10, 0), projectileOwner) - target.addEffect(MobEffectInstance(MobEffects.NAUSEA, 20 * 10, 0), projectileOwner) + target.addEffect(MobEffectInstance(MobEffects.CONFUSION, 20 * 10, 0), projectileOwner) if (target is Player) { target.addEffect(MobEffectInstance(ModEffects.DIZZINESS, 20 * 10, 2), projectileOwner) } @@ -79,8 +77,8 @@ class GasBombProjectile(entityType: EntityType, level: Level) } companion object { - private val HIT_PARTICLE_ID: Identifier = - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "gas_bomb_particle") + private val HIT_PARTICLE_ID: ResourceLocation = + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "gas_bomb_particle") private const val EFFECT_RADIUS: Double = 4.0 } diff --git a/src/main/java/com/dec/decisland/entity/projectile/GrowingEnergyRay.kt b/src/main/java/com/dec/decisland/entity/projectile/GrowingEnergyRay.kt index 5ffa827..a25b29d 100644 --- a/src/main/java/com/dec/decisland/entity/projectile/GrowingEnergyRay.kt +++ b/src/main/java/com/dec/decisland/entity/projectile/GrowingEnergyRay.kt @@ -4,7 +4,7 @@ import com.dec.decisland.DecIsland import com.dec.decisland.block.ModBlocks import com.dec.decisland.entity.ModEntities import net.minecraft.core.BlockPos -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.server.level.ServerLevel import net.minecraft.world.entity.Entity import net.minecraft.world.entity.EntityType @@ -26,10 +26,10 @@ class GrowingEnergyRay(entityType: EntityType, level: Level) : override val baseDamage: Float = 6.0f override val airInertia: Double = 1.0 override val waterInertia: Double = 1.0 - override val trailParticleId: Identifier = - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "flower_ghost_block_particle") - override val hitParticleIds: List = - listOf(Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "flower_ghost_block_particle")) + override val trailParticleId: ResourceLocation = + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "flower_ghost_block_particle") + override val hitParticleIds: List = + listOf(ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "flower_ghost_block_particle")) override fun onEntityDamaged(serverLevel: ServerLevel, target: Entity) { placeFlowerGhostBlock(serverLevel, target.position()) diff --git a/src/main/java/com/dec/decisland/entity/projectile/JellyfishStaffProjectile.kt b/src/main/java/com/dec/decisland/entity/projectile/JellyfishStaffProjectile.kt index a3030e1..0cdc54a 100644 --- a/src/main/java/com/dec/decisland/entity/projectile/JellyfishStaffProjectile.kt +++ b/src/main/java/com/dec/decisland/entity/projectile/JellyfishStaffProjectile.kt @@ -1,11 +1,9 @@ package com.dec.decisland.entity.projectile -import com.dec.decisland.api.CustomInertia import com.dec.decisland.entity.ModEntities import com.dec.decisland.item.ModItems import net.minecraft.world.entity.EntityType import net.minecraft.world.entity.LivingEntity -import net.minecraft.world.entity.projectile.throwableitemprojectile.ThrowableItemProjectile import net.minecraft.world.item.Item import net.minecraft.world.item.ItemStack import net.minecraft.world.level.Level @@ -13,7 +11,7 @@ import net.minecraft.world.phys.EntityHitResult import net.minecraft.world.phys.HitResult class JellyfishStaffProjectile(entityType: EntityType, level: Level) : - ThrowableItemProjectile(entityType, level), CustomInertia { + CustomInertiaProjectile(entityType, level) { constructor(level: Level, owner: LivingEntity, spawnedFrom: ItemStack) : this(ModEntities.JELLYFISH_BY_JELLYFISH_STAFF.get(), level) { setOwner(owner) setItem(ItemStack(ModItems.JELLYFISH_STAFF_PROJECTILE_RENDER.get())) diff --git a/src/main/java/com/dec/decisland/entity/projectile/LapisBullet.kt b/src/main/java/com/dec/decisland/entity/projectile/LapisBullet.kt index b5ea4a3..ac20d35 100644 --- a/src/main/java/com/dec/decisland/entity/projectile/LapisBullet.kt +++ b/src/main/java/com/dec/decisland/entity/projectile/LapisBullet.kt @@ -1,17 +1,15 @@ package com.dec.decisland.entity.projectile -import com.dec.decisland.api.CustomInertia import com.dec.decisland.DecIsland import com.dec.decisland.entity.ModEntities import com.dec.decisland.item.ModItems import com.dec.decisland.network.Networking -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.server.level.ServerLevel import net.minecraft.world.entity.Entity import net.minecraft.world.entity.EntityType import net.minecraft.world.entity.LivingEntity import net.minecraft.world.entity.item.ItemEntity -import net.minecraft.world.entity.projectile.throwableitemprojectile.ThrowableItemProjectile import net.minecraft.world.item.Item import net.minecraft.world.item.ItemStack import net.minecraft.world.level.Level @@ -20,7 +18,7 @@ import net.minecraft.world.phys.BlockHitResult import net.minecraft.world.phys.EntityHitResult import net.minecraft.world.phys.Vec3 -class LapisBullet(entityType: EntityType, level: Level) : ThrowableItemProjectile(entityType, level), CustomInertia { +class LapisBullet(entityType: EntityType, level: Level) : CustomInertiaProjectile(entityType, level) { constructor(level: Level, owner: LivingEntity, spawnedFrom: ItemStack) : this(ModEntities.LAPIS_BULLET.get(), level) { setOwner(owner) setItem(ItemStack(ModItems.LAPIS_BULLET_RENDER.get())) @@ -35,7 +33,7 @@ class LapisBullet(entityType: EntityType, level: Level) : Throwable super.onHitEntity(result) val serverLevel = level() as? ServerLevel ?: return val target = result.entity - target.hurtServer(serverLevel, damageSources().thrown(this, getOwner()), BASE_DAMAGE) + target.hurt(damageSources().thrown(this, getOwner()), BASE_DAMAGE) explode(serverLevel, target.position()) discard() } @@ -63,7 +61,7 @@ class LapisBullet(entityType: EntityType, level: Level) : Throwable serverLevel.getEntities(this, AABB.ofSize(center, EXPLOSION_RADIUS * 2, EXPLOSION_RADIUS * 2, EXPLOSION_RADIUS * 2)) { target -> target.isAlive && target !is ItemEntity }.forEach { target -> - target.hurtServer(serverLevel, damageSource, SPLASH_DAMAGE) + target.hurt(damageSource, SPLASH_DAMAGE) } } @@ -73,7 +71,7 @@ class LapisBullet(entityType: EntityType, level: Level) : Throwable private const val EXPLOSION_RADIUS: Double = 2.0 private const val SPLASH_DAMAGE: Float = 4.0f private const val GROUND_PARTICLE_Y_OFFSET: Double = 0.05 - private val BOOM_PARTICLE_ID: Identifier = - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "lapis_bullet_boom_particle") + private val BOOM_PARTICLE_ID: ResourceLocation = + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "lapis_bullet_boom_particle") } } diff --git a/src/main/java/com/dec/decisland/entity/projectile/MindControllerProjectile.kt b/src/main/java/com/dec/decisland/entity/projectile/MindControllerProjectile.kt index a36a813..538baf2 100644 --- a/src/main/java/com/dec/decisland/entity/projectile/MindControllerProjectile.kt +++ b/src/main/java/com/dec/decisland/entity/projectile/MindControllerProjectile.kt @@ -1,6 +1,5 @@ package com.dec.decisland.entity.projectile -import com.dec.decisland.api.CustomInertia import com.dec.decisland.entity.ModEntities import com.dec.decisland.item.category.Weapon import net.minecraft.world.effect.MobEffectInstance @@ -8,14 +7,13 @@ import net.minecraft.world.effect.MobEffects import net.minecraft.world.entity.Entity import net.minecraft.world.entity.EntityType import net.minecraft.world.entity.LivingEntity -import net.minecraft.world.entity.projectile.throwableitemprojectile.ThrowableItemProjectile import net.minecraft.world.item.Item import net.minecraft.world.item.ItemStack import net.minecraft.world.level.Level import net.minecraft.world.phys.EntityHitResult class MindControllerProjectile(entityType: EntityType, level: Level) : - ThrowableItemProjectile(entityType, level), CustomInertia { + CustomInertiaProjectile(entityType, level) { constructor(level: Level, owner: LivingEntity, item: ItemStack) : this(ModEntities.MIND_CONTROLLER.get(), level) { setOwner(owner) setItem(item.copyWithCount(1)) diff --git a/src/main/java/com/dec/decisland/entity/projectile/MuddyBallProjectile.kt b/src/main/java/com/dec/decisland/entity/projectile/MuddyBallProjectile.kt index c3b9542..f8260ac 100644 --- a/src/main/java/com/dec/decisland/entity/projectile/MuddyBallProjectile.kt +++ b/src/main/java/com/dec/decisland/entity/projectile/MuddyBallProjectile.kt @@ -1,4 +1,4 @@ -package com.dec.decisland.entity.projectile +package com.dec.decisland.entity.projectile import com.dec.decisland.entity.ModEntities import com.dec.decisland.item.category.Weapon @@ -12,7 +12,7 @@ import net.minecraft.world.effect.MobEffects import net.minecraft.world.entity.Entity import net.minecraft.world.entity.EntityType import net.minecraft.world.entity.LivingEntity -import net.minecraft.world.entity.projectile.throwableitemprojectile.ThrowableItemProjectile +import net.minecraft.world.entity.projectile.ThrowableItemProjectile import net.minecraft.world.item.Item import net.minecraft.world.item.ItemStack import net.minecraft.world.level.Level diff --git a/src/main/java/com/dec/decisland/entity/projectile/NightmareProjectile.kt b/src/main/java/com/dec/decisland/entity/projectile/NightmareProjectile.kt index 9fcb9f1..e7404c4 100644 --- a/src/main/java/com/dec/decisland/entity/projectile/NightmareProjectile.kt +++ b/src/main/java/com/dec/decisland/entity/projectile/NightmareProjectile.kt @@ -1,9 +1,9 @@ -package com.dec.decisland.entity.projectile +package com.dec.decisland.entity.projectile import com.dec.decisland.block.ModBlocks import com.dec.decisland.network.Networking import net.minecraft.core.particles.ParticleTypes -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.server.level.ServerLevel import net.minecraft.sounds.SoundEvents import net.minecraft.sounds.SoundSource @@ -27,8 +27,8 @@ abstract class NightmareProjectile(entityType: EntityType, level: Level) : Nightma override val airInertia: Double = 1.0 override val waterInertia: Double = 1.0 override val blockExtent: Double = 0.7 - override val trailParticleId: Identifier = Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "nightmare_ray_particle") - override val spawnParticleId: Identifier = Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "nightmare_block_spawn_particle") + override val trailParticleId: ResourceLocation = ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "nightmare_ray_particle") + override val spawnParticleId: ResourceLocation = ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "nightmare_block_spawn_particle") override fun defineSynchedData(builder: SynchedEntityData.Builder) { } diff --git a/src/main/java/com/dec/decisland/entity/projectile/NightmareSpore.kt b/src/main/java/com/dec/decisland/entity/projectile/NightmareSpore.kt index 5504147..94db8da 100644 --- a/src/main/java/com/dec/decisland/entity/projectile/NightmareSpore.kt +++ b/src/main/java/com/dec/decisland/entity/projectile/NightmareSpore.kt @@ -3,7 +3,7 @@ package com.dec.decisland.entity.projectile import com.dec.decisland.DecIsland import com.dec.decisland.entity.ModEntities import net.minecraft.network.syncher.SynchedEntityData -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.world.entity.EntityType import net.minecraft.world.entity.LivingEntity import net.minecraft.world.item.ItemStack @@ -24,8 +24,8 @@ class NightmareSpore(entityType: EntityType, level: Level) : Nig override val airInertia: Double = 0.15 override val waterInertia: Double = 0.10 override val blockExtent: Double = 0.3 - override val trailParticleId: Identifier = Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "nightmare_spore_particle") - override val spawnParticleId: Identifier = Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "nightmare_block_spawn_particle") + override val trailParticleId: ResourceLocation = ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "nightmare_spore_particle") + override val spawnParticleId: ResourceLocation = ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "nightmare_block_spawn_particle") override fun defineSynchedData(builder: SynchedEntityData.Builder) { } diff --git a/src/main/java/com/dec/decisland/entity/projectile/ParticleRayProjectile.kt b/src/main/java/com/dec/decisland/entity/projectile/ParticleRayProjectile.kt index 9ba4af6..7a5f69d 100644 --- a/src/main/java/com/dec/decisland/entity/projectile/ParticleRayProjectile.kt +++ b/src/main/java/com/dec/decisland/entity/projectile/ParticleRayProjectile.kt @@ -1,9 +1,9 @@ -package com.dec.decisland.entity.projectile +package com.dec.decisland.entity.projectile import com.dec.decisland.network.Networking import net.minecraft.network.syncher.SynchedEntityData import net.minecraft.core.particles.ParticleTypes -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.server.level.ServerLevel import net.minecraft.sounds.SoundEvents import net.minecraft.sounds.SoundSource @@ -30,10 +30,10 @@ abstract class ParticleRayProjectile( protected open val projectileGravity: Double = 0.0 protected open val airInertia: Double = 1.0 protected open val waterInertia: Double = 1.0 - protected open val trailParticleId: Identifier? = null + protected open val trailParticleId: ResourceLocation? = null protected open val trailDurationTicks: Int = 2 protected open val trailIntervalTicks: Int = 1 - protected open val hitParticleIds: List = emptyList() + protected open val hitParticleIds: List = emptyList() protected open val hitParticleDurationTicks: Int = 6 override fun defineSynchedData(builder: SynchedEntityData.Builder) { @@ -90,7 +90,7 @@ abstract class ParticleRayProjectile( damageSources().thrown(this, projectileOwner) } - if (target.hurtServer(serverLevel, damageSource, baseDamage)) { + if (target.hurt(damageSource, baseDamage)) { if (projectileOwner is LivingEntity) { EnchantmentHelper.doPostAttackEffects(serverLevel, target, damageSource) } diff --git a/src/main/java/com/dec/decisland/entity/projectile/SmokeBombProjectile.kt b/src/main/java/com/dec/decisland/entity/projectile/SmokeBombProjectile.kt index d6fc374..63fdffb 100644 --- a/src/main/java/com/dec/decisland/entity/projectile/SmokeBombProjectile.kt +++ b/src/main/java/com/dec/decisland/entity/projectile/SmokeBombProjectile.kt @@ -1,18 +1,16 @@ package com.dec.decisland.entity.projectile import com.dec.decisland.DecIsland -import com.dec.decisland.api.CustomInertia import com.dec.decisland.entity.ModEntities import com.dec.decisland.item.category.Weapon import com.dec.decisland.network.Networking -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.server.level.ServerLevel import net.minecraft.sounds.SoundEvents import net.minecraft.sounds.SoundSource import net.minecraft.world.entity.Entity import net.minecraft.world.entity.EntityType import net.minecraft.world.entity.LivingEntity -import net.minecraft.world.entity.projectile.throwableitemprojectile.ThrowableItemProjectile import net.minecraft.world.item.Item import net.minecraft.world.item.ItemStack import net.minecraft.world.level.Level @@ -21,7 +19,7 @@ import net.minecraft.world.phys.HitResult import net.minecraft.world.phys.Vec3 class SmokeBombProjectile(entityType: EntityType, level: Level) : - ThrowableItemProjectile(entityType, level), CustomInertia { + CustomInertiaProjectile(entityType, level) { constructor(level: Level, owner: LivingEntity, item: ItemStack) : this(ModEntities.SMOKE_BOMB.get(), level) { setOwner(owner) setItem(item.copyWithCount(1)) @@ -58,7 +56,7 @@ class SmokeBombProjectile(entityType: EntityType, level: Le } companion object { - private val HIT_PARTICLE_ID: Identifier = - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "smoke_bomb_particle") + private val HIT_PARTICLE_ID: ResourceLocation = + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "smoke_bomb_particle") } } diff --git a/src/main/java/com/dec/decisland/entity/projectile/SnowEnergy.kt b/src/main/java/com/dec/decisland/entity/projectile/SnowEnergy.kt index 3206bf7..bbd9ac2 100644 --- a/src/main/java/com/dec/decisland/entity/projectile/SnowEnergy.kt +++ b/src/main/java/com/dec/decisland/entity/projectile/SnowEnergy.kt @@ -1,11 +1,11 @@ -package com.dec.decisland.entity.projectile +package com.dec.decisland.entity.projectile import com.dec.decisland.DecIsland import com.dec.decisland.entity.ModEntities import com.dec.decisland.network.Networking import net.minecraft.core.particles.ItemParticleOption import net.minecraft.core.particles.ParticleTypes import net.minecraft.network.syncher.SynchedEntityData -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.server.level.ServerLevel import net.minecraft.world.effect.MobEffectInstance import net.minecraft.world.effect.MobEffects @@ -60,7 +60,7 @@ class SnowEnergy(entityType: EntityType, level: Level) : Projectile( if (tickCount % 4 == 0) { Networking.sendBedrockEmitterToNearby( level() as ServerLevel, - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "everlasting_winter_wake_particle"), + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "everlasting_winter_wake_particle"), position(), 64.0, 4, @@ -80,7 +80,7 @@ class SnowEnergy(entityType: EntityType, level: Level) : Projectile( val target: Entity = result.entity target.hurt(damageSources().thrown(this, getOwner()), 4.0f) if (target is LivingEntity) { - target.addEffect(MobEffectInstance(MobEffects.SLOWNESS, 200, 1)) + target.addEffect(MobEffectInstance(MobEffects.MOVEMENT_SLOWDOWN, 200, 1)) } spawnHitParticles() discard() diff --git a/src/main/java/com/dec/decisland/entity/projectile/SoulWakeBullet.kt b/src/main/java/com/dec/decisland/entity/projectile/SoulWakeBullet.kt index 3436145..fabea35 100644 --- a/src/main/java/com/dec/decisland/entity/projectile/SoulWakeBullet.kt +++ b/src/main/java/com/dec/decisland/entity/projectile/SoulWakeBullet.kt @@ -1,6 +1,5 @@ package com.dec.decisland.entity.projectile -import com.dec.decisland.api.CustomInertia import com.dec.decisland.entity.ModEntities import com.dec.decisland.item.ModItems import net.minecraft.server.level.ServerLevel @@ -8,7 +7,6 @@ import net.minecraft.world.effect.MobEffectInstance import net.minecraft.world.effect.MobEffects import net.minecraft.world.entity.EntityType import net.minecraft.world.entity.LivingEntity -import net.minecraft.world.entity.projectile.throwableitemprojectile.ThrowableItemProjectile import net.minecraft.world.item.Item import net.minecraft.world.item.ItemStack import net.minecraft.world.level.Level @@ -17,7 +15,7 @@ import net.minecraft.world.phys.EntityHitResult import net.minecraft.world.phys.HitResult import net.minecraft.world.phys.Vec3 -class SoulWakeBullet(entityType: EntityType, level: Level) : ThrowableItemProjectile(entityType, level), CustomInertia { +class SoulWakeBullet(entityType: EntityType, level: Level) : CustomInertiaProjectile(entityType, level) { constructor(level: Level, owner: LivingEntity?, pos: Vec3, motion: Vec3) : this(ModEntities.SOUL_WAKE_BULLET.get(), level) { owner?.let(::setOwner) setItem(ItemStack(ModItems.SOUL_WAKE_BULLET_RENDER.get())) diff --git a/src/main/java/com/dec/decisland/entity/projectile/SpotsByBook.kt b/src/main/java/com/dec/decisland/entity/projectile/SpotsByBook.kt index 28ecd46..ba5a4b2 100644 --- a/src/main/java/com/dec/decisland/entity/projectile/SpotsByBook.kt +++ b/src/main/java/com/dec/decisland/entity/projectile/SpotsByBook.kt @@ -2,7 +2,7 @@ package com.dec.decisland.entity.projectile import com.dec.decisland.DecIsland import com.dec.decisland.entity.ModEntities -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.server.level.ServerLevel import net.minecraft.world.entity.Entity import net.minecraft.world.entity.EntityType @@ -20,8 +20,8 @@ class SpotsByBook(entityType: EntityType, level: Level) : VisiblePa override val airInertia: Double = 1.05 override val waterInertia: Double = 0.95 override val trailDurationTicks: Int = 4 - override val trailParticleId: Identifier = - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "fire_wake_particle") + override val trailParticleId: ResourceLocation = + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "fire_wake_particle") override fun onEntityDamaged(serverLevel: ServerLevel, target: Entity) { target.igniteForSeconds(5.0f) diff --git a/src/main/java/com/dec/decisland/entity/projectile/SpotsOverflow.kt b/src/main/java/com/dec/decisland/entity/projectile/SpotsOverflow.kt index 1238dec..6bb550a 100644 --- a/src/main/java/com/dec/decisland/entity/projectile/SpotsOverflow.kt +++ b/src/main/java/com/dec/decisland/entity/projectile/SpotsOverflow.kt @@ -3,7 +3,7 @@ package com.dec.decisland.entity.projectile import com.dec.decisland.DecIsland import com.dec.decisland.entity.ModEntities import com.dec.decisland.network.Networking -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.server.level.ServerLevel import net.minecraft.world.entity.Entity import net.minecraft.world.entity.EntityType @@ -31,10 +31,10 @@ class SpotsOverflow(entityType: EntityType, level: Level) : Parti override val trailDurationTicks: Int = 6 override val trailIntervalTicks: Int = 4 override val hitParticleDurationTicks: Int = 6 - override val trailParticleId: Identifier = - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "small_fire_wake_particle") - override val hitParticleIds: List = listOf( - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "small_fire_wake_particle"), + override val trailParticleId: ResourceLocation = + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "small_fire_wake_particle") + override val hitParticleIds: List = listOf( + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "small_fire_wake_particle"), ) override fun onEntityDamaged(serverLevel: ServerLevel, target: Entity) { @@ -62,7 +62,7 @@ class SpotsOverflow(entityType: EntityType, level: Level) : Parti override fun spawnAdditionalHitParticles(serverLevel: ServerLevel, pos: Vec3) { Networking.sendBedrockEmitterToNearby( serverLevel, - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "small_fire_wake_particle"), + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "small_fire_wake_particle"), pos, 64.0, hitParticleDurationTicks, diff --git a/src/main/java/com/dec/decisland/entity/projectile/StormFuse.kt b/src/main/java/com/dec/decisland/entity/projectile/StormFuse.kt index 4c2adc5..7c6f293 100644 --- a/src/main/java/com/dec/decisland/entity/projectile/StormFuse.kt +++ b/src/main/java/com/dec/decisland/entity/projectile/StormFuse.kt @@ -1,9 +1,9 @@ -package com.dec.decisland.entity.projectile +package com.dec.decisland.entity.projectile import com.dec.decisland.DecIsland import com.dec.decisland.entity.ModEntities import com.dec.decisland.network.Networking -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.server.level.ServerLevel import net.minecraft.world.entity.Entity import net.minecraft.world.entity.EntityType @@ -27,8 +27,8 @@ class StormFuse(entityType: EntityType, level: Level) : ParticleRayPr override val maxLifetimeTicks: Int = 60 override val airInertia: Double = 0.9 override val waterInertia: Double = 1.4 - override val hitParticleIds: List = - listOf(Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "bubble_spurt_particle")) + override val hitParticleIds: List = + listOf(ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "bubble_spurt_particle")) override fun onEntityDamaged(serverLevel: ServerLevel, target: Entity) { explodeArea(serverLevel, target.position()) @@ -41,7 +41,7 @@ class StormFuse(entityType: EntityType, level: Level) : ParticleRayPr override fun spawnAdditionalHitParticles(serverLevel: ServerLevel, pos: Vec3) { Networking.sendBedrockEmitterToNearby( serverLevel, - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "bubble_spurt_particle"), + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "bubble_spurt_particle"), pos.add(0.0, -0.5, 0.0), 64.0, 6, @@ -65,7 +65,7 @@ class StormFuse(entityType: EntityType, level: Level) : ParticleRayPr ) serverLevel.getEntitiesOfClass(LivingEntity::class.java, box).forEach { living -> - living.hurtServer(serverLevel, damageSource, 6.0f) + living.hurt(damageSource, 6.0f) } } } diff --git a/src/main/java/com/dec/decisland/entity/projectile/ThrowableBombProjectile.kt b/src/main/java/com/dec/decisland/entity/projectile/ThrowableBombProjectile.kt index 517a1c9..e537aca 100644 --- a/src/main/java/com/dec/decisland/entity/projectile/ThrowableBombProjectile.kt +++ b/src/main/java/com/dec/decisland/entity/projectile/ThrowableBombProjectile.kt @@ -1,12 +1,10 @@ package com.dec.decisland.entity.projectile -import com.dec.decisland.api.CustomInertia import com.dec.decisland.entity.ModEntities import com.dec.decisland.item.category.Weapon import net.minecraft.world.entity.Entity import net.minecraft.world.entity.EntityType import net.minecraft.world.entity.LivingEntity -import net.minecraft.world.entity.projectile.throwableitemprojectile.ThrowableItemProjectile import net.minecraft.world.item.Item import net.minecraft.world.item.ItemStack import net.minecraft.world.level.Level @@ -14,7 +12,7 @@ import net.minecraft.world.phys.EntityHitResult import net.minecraft.world.phys.HitResult class ThrowableBombProjectile(entityType: EntityType, level: Level) : - ThrowableItemProjectile(entityType, level), CustomInertia { + CustomInertiaProjectile(entityType, level) { constructor(level: Level, owner: LivingEntity, item: ItemStack) : this(ModEntities.THROWABLE_BOMB.get(), level) { setOwner(owner) setItem(item.copyWithCount(1)) diff --git a/src/main/java/com/dec/decisland/entity/projectile/ThrownAshPufferfish.kt b/src/main/java/com/dec/decisland/entity/projectile/ThrownAshPufferfish.kt index 6ec3845..1fc94c8 100644 --- a/src/main/java/com/dec/decisland/entity/projectile/ThrownAshPufferfish.kt +++ b/src/main/java/com/dec/decisland/entity/projectile/ThrownAshPufferfish.kt @@ -1,12 +1,10 @@ package com.dec.decisland.entity.projectile -import com.dec.decisland.api.CustomInertia import com.dec.decisland.entity.ModEntities import com.dec.decisland.item.category.Fish import net.minecraft.world.entity.Entity import net.minecraft.world.entity.EntityType import net.minecraft.world.entity.LivingEntity -import net.minecraft.world.entity.projectile.throwableitemprojectile.ThrowableItemProjectile import net.minecraft.world.item.Item import net.minecraft.world.item.ItemStack import net.minecraft.world.level.Level @@ -14,7 +12,7 @@ import net.minecraft.world.phys.EntityHitResult import net.minecraft.world.phys.HitResult class ThrownAshPufferfish(entityType: EntityType, level: Level) : - ThrowableItemProjectile(entityType, level), CustomInertia { + CustomInertiaProjectile(entityType, level) { constructor(level: Level, owner: LivingEntity, item: ItemStack) : this(ModEntities.THROWN_ASH_PUFFERFISH.get(), level) { setOwner(owner) setItem(item) diff --git a/src/main/java/com/dec/decisland/entity/projectile/ThrownStickyAsh.kt b/src/main/java/com/dec/decisland/entity/projectile/ThrownStickyAsh.kt index 9619a2d..1b5c230 100644 --- a/src/main/java/com/dec/decisland/entity/projectile/ThrownStickyAsh.kt +++ b/src/main/java/com/dec/decisland/entity/projectile/ThrownStickyAsh.kt @@ -1,13 +1,12 @@ package com.dec.decisland.entity.projectile import com.dec.decisland.DecIsland -import com.dec.decisland.api.CustomInertia import com.dec.decisland.block.ModBlocks import com.dec.decisland.entity.ModEntities import com.dec.decisland.item.category.Weapon import com.dec.decisland.network.Networking import net.minecraft.core.BlockPos -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.server.level.ServerLevel import net.minecraft.tags.FluidTags import net.minecraft.world.effect.MobEffectInstance @@ -15,7 +14,6 @@ import net.minecraft.world.effect.MobEffects import net.minecraft.world.entity.Entity import net.minecraft.world.entity.EntityType import net.minecraft.world.entity.LivingEntity -import net.minecraft.world.entity.projectile.throwableitemprojectile.ThrowableItemProjectile import net.minecraft.core.particles.ParticleTypes import net.minecraft.world.item.Item import net.minecraft.world.item.ItemStack @@ -25,7 +23,7 @@ import net.minecraft.world.phys.EntityHitResult import net.minecraft.world.phys.HitResult class ThrownStickyAsh(entityType: EntityType, level: Level) : - ThrowableItemProjectile(entityType, level), CustomInertia { + CustomInertiaProjectile(entityType, level) { constructor(level: Level, owner: LivingEntity, item: ItemStack) : this(ModEntities.STICKY_ASH.get(), level) { setOwner(owner) setItem(item.copyWithCount(1)) @@ -89,7 +87,7 @@ class ThrownStickyAsh(entityType: EntityType, level: Level) : } companion object { - private val HIT_PARTICLE_ID: Identifier = - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "sticky_ash_particle") + private val HIT_PARTICLE_ID: ResourceLocation = + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "sticky_ash_particle") } } diff --git a/src/main/java/com/dec/decisland/entity/projectile/ThunderBall.kt b/src/main/java/com/dec/decisland/entity/projectile/ThunderBall.kt index c54389a..73ad302 100644 --- a/src/main/java/com/dec/decisland/entity/projectile/ThunderBall.kt +++ b/src/main/java/com/dec/decisland/entity/projectile/ThunderBall.kt @@ -5,7 +5,6 @@ import net.minecraft.server.level.ServerLevel import net.minecraft.util.RandomSource import net.minecraft.world.entity.Entity import net.minecraft.world.entity.EntityType -import net.minecraft.world.entity.EntitySpawnReason import net.minecraft.world.entity.LivingEntity import net.minecraft.world.item.ItemStack import net.minecraft.world.level.Level @@ -35,7 +34,7 @@ class ThunderBall(entityType: EntityType, level: Level) : return } - EntityType.LIGHTNING_BOLT.create(serverLevel, EntitySpawnReason.TRIGGERED)?.let { lightning -> + EntityType.LIGHTNING_BOLT.create(serverLevel)?.let { lightning -> lightning.setPos(pos.x, pos.y, pos.z) serverLevel.addFreshEntity(lightning) } diff --git a/src/main/java/com/dec/decisland/entity/projectile/VisibleMagicBallProjectile.kt b/src/main/java/com/dec/decisland/entity/projectile/VisibleMagicBallProjectile.kt index 7f9c174..71e6374 100644 --- a/src/main/java/com/dec/decisland/entity/projectile/VisibleMagicBallProjectile.kt +++ b/src/main/java/com/dec/decisland/entity/projectile/VisibleMagicBallProjectile.kt @@ -1,7 +1,7 @@ package com.dec.decisland.entity.projectile import com.dec.decisland.DecIsland -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.world.entity.EntityType import net.minecraft.world.level.Level @@ -15,8 +15,8 @@ abstract class VisibleMagicBallProjectile( override val hitParticleDurationTicks: Int = 8 override val trailSampleSpacing: Double? = 0.12 override val extraTrailOffsets: DoubleArray = doubleArrayOf(0.12, 0.24, 0.36, 0.48) - override val trailParticleId: Identifier = id(wakeParticlePath) - override val hitParticleIds: List = listOfNotNull(hitParticlePath?.let(::id)) + override val trailParticleId: ResourceLocation = id(wakeParticlePath) + override val hitParticleIds: List = listOfNotNull(hitParticlePath?.let(::id)) - protected fun id(path: String): Identifier = Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, path) + protected fun id(path: String): ResourceLocation = ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, path) } diff --git a/src/main/java/com/dec/decisland/entity/projectile/WaveEnergy.kt b/src/main/java/com/dec/decisland/entity/projectile/WaveEnergy.kt index ed6f8d9..8a8e4a5 100644 --- a/src/main/java/com/dec/decisland/entity/projectile/WaveEnergy.kt +++ b/src/main/java/com/dec/decisland/entity/projectile/WaveEnergy.kt @@ -2,7 +2,7 @@ package com.dec.decisland.entity.projectile import com.dec.decisland.DecIsland import com.dec.decisland.entity.ModEntities -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.world.entity.EntityType import net.minecraft.world.entity.LivingEntity import net.minecraft.world.item.ItemStack @@ -22,5 +22,5 @@ class WaveEnergy(entityType: EntityType, level: Level) : ParticleRay override val airInertia: Double = 1.0 override val waterInertia: Double = 1.2 override val trailDurationTicks: Int = 6 - override val trailParticleId: Identifier = Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "wave_wake_particle") + override val trailParticleId: ResourceLocation = ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "wave_wake_particle") } diff --git a/src/main/java/com/dec/decisland/entity/projectile/dart/DartEntity.kt b/src/main/java/com/dec/decisland/entity/projectile/dart/DartEntity.kt index ca98173..1fa718a 100644 --- a/src/main/java/com/dec/decisland/entity/projectile/dart/DartEntity.kt +++ b/src/main/java/com/dec/decisland/entity/projectile/dart/DartEntity.kt @@ -1,7 +1,7 @@ package com.dec.decisland.entity.projectile.dart -import com.dec.decisland.api.CustomInertia import com.dec.decisland.DecIsland +import com.dec.decisland.entity.projectile.CustomInertiaProjectile import com.dec.decisland.network.Networking import net.minecraft.core.particles.ItemParticleOption import net.minecraft.core.particles.ParticleOptions @@ -10,7 +10,7 @@ import net.minecraft.core.registries.BuiltInRegistries import net.minecraft.network.syncher.EntityDataAccessor import net.minecraft.network.syncher.EntityDataSerializers import net.minecraft.network.syncher.SynchedEntityData -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.server.level.ServerLevel import net.minecraft.sounds.SoundEvent import net.minecraft.sounds.SoundSource @@ -19,7 +19,6 @@ import net.minecraft.world.entity.Entity import net.minecraft.world.entity.EntityType import net.minecraft.world.entity.LivingEntity import net.minecraft.world.entity.item.ItemEntity -import net.minecraft.world.entity.projectile.throwableitemprojectile.ThrowableItemProjectile import net.minecraft.world.item.Item import net.minecraft.world.item.ItemStack import net.minecraft.world.item.Items @@ -30,7 +29,7 @@ import net.minecraft.world.phys.EntityHitResult import net.minecraft.world.phys.HitResult open class DartEntity(entityType: EntityType, level: Level) : - ThrowableItemProjectile(entityType, level), CustomInertia { + CustomInertiaProjectile(entityType, level) { var spinRotationO: Float = 0.0f private set var spinRotation: Float = 0.0f @@ -157,7 +156,7 @@ open class DartEntity(entityType: EntityType, level: Level) : protected open val definition: DartDefinition get() = definitionFor(type) - fun sendHitEmitters(particleIds: Iterable, radius: Double = 64.0, durationTicks: Int = 6) { + fun sendHitEmitters(particleIds: Iterable, radius: Double = 64.0, durationTicks: Int = 6) { val serverLevel = serverLevel() ?: return val pos = position() particleIds.forEach { id -> @@ -220,11 +219,11 @@ open class DartEntity(entityType: EntityType, level: Level) : private val DATA_RANDOM_TILT: EntityDataAccessor = SynchedEntityData.defineId(DartEntity::class.java, EntityDataSerializers.FLOAT) private const val VANILLA_AIR_INERTIA: Double = 0.99 - private val DEFINITIONS_BY_ID: MutableMap = linkedMapOf() + private val DEFINITIONS_BY_ID: MutableMap = linkedMapOf() @JvmStatic fun registerDefinition(definition: DartDefinition) { - DEFINITIONS_BY_ID[Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, definition.path)] = definition + DEFINITIONS_BY_ID[ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, definition.path)] = definition } @JvmStatic diff --git a/src/main/java/com/dec/decisland/entity/projectile/dart/ModDarts.kt b/src/main/java/com/dec/decisland/entity/projectile/dart/ModDarts.kt index c252066..9c5487e 100644 --- a/src/main/java/com/dec/decisland/entity/projectile/dart/ModDarts.kt +++ b/src/main/java/com/dec/decisland/entity/projectile/dart/ModDarts.kt @@ -1,9 +1,9 @@ -package com.dec.decisland.entity.projectile.dart +package com.dec.decisland.entity.projectile.dart import com.dec.decisland.DecIsland import com.dec.decisland.entity.projectile.SnowEnergy import com.dec.decisland.item.custom.dart.DartItemSettings -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.server.level.ServerLevel import net.minecraft.sounds.SoundEvents import net.minecraft.world.effect.MobEffectInstance @@ -78,7 +78,7 @@ object ModDarts { baseDamage = 7.0f, gravity = 0.03, bedrockInertia = 1.1, - effectOnHit = { MobEffectInstance(MobEffects.SLOWNESS, 200, 1) }, + effectOnHit = { MobEffectInstance(MobEffects.MOVEMENT_SLOWDOWN, 200, 1) }, ), itemSettings = DartItemSettings( power = 2.1f, @@ -106,7 +106,7 @@ object ModDarts { cooldownTicks = 10, gravity = 0.03, bedrockInertia = 1.1, - effectOnHit = { MobEffectInstance(MobEffects.SLOWNESS, 100, 0) }, + effectOnHit = { MobEffectInstance(MobEffects.MOVEMENT_SLOWDOWN, 100, 0) }, ) @JvmField @@ -268,7 +268,7 @@ object ModDarts { VOID_WHISPERING_DAGGER, ) - private fun id(path: String): Identifier = Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, path) + private fun id(path: String): ResourceLocation = ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, path) private fun basicDart( path: String, diff --git a/src/main/java/com/dec/decisland/events/AccessoryCombatEffects.kt b/src/main/java/com/dec/decisland/events/AccessoryCombatEffects.kt index b4bdff6..38f91ff 100644 --- a/src/main/java/com/dec/decisland/events/AccessoryCombatEffects.kt +++ b/src/main/java/com/dec/decisland/events/AccessoryCombatEffects.kt @@ -10,6 +10,7 @@ import net.minecraft.core.registries.BuiltInRegistries import net.minecraft.server.level.ServerLevel import com.dec.decisland.tag.ModItemTags import net.minecraft.world.InteractionHand +import net.minecraft.world.entity.LivingEntity import net.minecraft.world.entity.player.Player import net.minecraft.world.item.ItemCooldowns import net.minecraft.world.item.ItemStack @@ -17,7 +18,7 @@ import net.neoforged.bus.api.SubscribeEvent import net.neoforged.fml.common.EventBusSubscriber import net.neoforged.neoforge.event.tick.PlayerTickEvent import java.lang.reflect.Constructor -import java.lang.reflect.Method +import java.lang.reflect.Field import java.util.EnumMap import java.util.UUID import java.util.concurrent.ConcurrentHashMap @@ -44,10 +45,10 @@ object AccessoryCombatEffects { private val accessoryProcCooldowns: MutableMap = ConcurrentHashMap() private val cooldownInstanceClass: Class<*> = Class.forName("net.minecraft.world.item.ItemCooldowns\$CooldownInstance") - private val cooldownStartTimeMethod: Method = - cooldownInstanceClass.getDeclaredMethod("startTime").apply { isAccessible = true } - private val cooldownEndTimeMethod: Method = - cooldownInstanceClass.getDeclaredMethod("endTime").apply { isAccessible = true } + private val cooldownStartTimeField: Field = + cooldownInstanceClass.getDeclaredField("startTime").apply { isAccessible = true } + private val cooldownEndTimeField: Field = + cooldownInstanceClass.getDeclaredField("endTime").apply { isAccessible = true } private val cooldownInstanceConstructor: Constructor<*> = cooldownInstanceClass.getDeclaredConstructor(Int::class.javaPrimitiveType, Int::class.javaPrimitiveType).apply { isAccessible = true } @@ -92,7 +93,7 @@ object AccessoryCombatEffects { accessoryProcCooldowns[cooldownKey] = serverLevel.gameTime + procItem.accessoryProcCooldownTicks procItem.triggerAccessoryProc(serverLevel, player, weaponStack, accessory.stack) - accessory.stack.hurtAndBreak(1, player, accessory.hand.asEquipmentSlot()) + accessory.stack.hurtAndBreak(1, player, LivingEntity.getSlotForHand(accessory.hand)) } @JvmStatic @@ -125,7 +126,7 @@ object AccessoryCombatEffects { seenCategories += category val accessory = getBestAccessory(player, category) - if (accessory == null || !player.cooldowns.isOnCooldown(stack)) { + if (accessory == null || !player.cooldowns.isOnCooldown(stack.item)) { accumulators[category] = 0.0 continue } @@ -141,10 +142,11 @@ object AccessoryCombatEffects { } private fun shortenCooldown(cooldowns: ItemCooldowns, stack: ItemStack, accumulator: Double): Double { - val cooldownGroup = cooldowns.getCooldownGroup(stack) + // In 1.21.1 the ItemCooldowns map is keyed directly by Item instead of a ResourceLocation cooldown group. + val cooldownItem = stack.item val accessor = cooldowns as ItemCooldownsAccessor - val cooldownMap = accessor.`decisland$getCooldowns`() - var instance = cooldownMap[cooldownGroup] ?: return 0.0 + val cooldownMap = accessor.`decisland$getCooldowns`() as MutableMap + var instance = cooldownMap[cooldownItem] ?: return 0.0 val tickCount = accessor.`decisland$getTickCount`() var pending = accumulator @@ -152,22 +154,22 @@ object AccessoryCombatEffects { val endTime = readCooldownEnd(instance) val remainingTicks = endTime - tickCount if (remainingTicks <= 1) { - cooldowns.removeCooldown(cooldownGroup) + cooldowns.removeCooldown(cooldownItem) return 0.0 } val startTime = readCooldownStart(instance) instance = cooldownInstanceConstructor.newInstance(startTime, endTime - 1) - cooldownMap[cooldownGroup] = instance + cooldownMap[cooldownItem] = instance pending -= 1.0 } return pending } - private fun readCooldownStart(instance: Any): Int = cooldownStartTimeMethod.invoke(instance) as Int + private fun readCooldownStart(instance: Any): Int = cooldownStartTimeField.getInt(instance) - private fun readCooldownEnd(instance: Any): Int = cooldownEndTimeMethod.invoke(instance) as Int + private fun readCooldownEnd(instance: Any): Int = cooldownEndTimeField.getInt(instance) private fun getBestAccessory(player: Player, category: WeaponCooldownCategory): EquippedAccessory? = InteractionHand.entries diff --git a/src/main/java/com/dec/decisland/events/ArmorSetEffects.kt b/src/main/java/com/dec/decisland/events/ArmorSetEffects.kt index 59601f9..1b26087 100644 --- a/src/main/java/com/dec/decisland/events/ArmorSetEffects.kt +++ b/src/main/java/com/dec/decisland/events/ArmorSetEffects.kt @@ -6,7 +6,7 @@ import com.dec.decisland.mana.ManaManager import com.dec.decisland.network.Networking import net.minecraft.core.particles.ParticleOptions import net.minecraft.core.particles.ParticleTypes -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.server.level.ServerLevel import net.minecraft.world.effect.MobEffectInstance import net.minecraft.world.effect.MobEffects @@ -22,7 +22,7 @@ import java.util.function.Supplier @EventBusSubscriber(modid = DecIsland.MOD_ID) object ArmorSetEffects { - private val RUPERT_TEAR_PARTICLE: Identifier = Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "tear_from_rupert") + private val RUPERT_TEAR_PARTICLE: ResourceLocation = ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "tear_from_rupert") private enum class ArmorSetId { AMETHYST, @@ -137,7 +137,7 @@ object ArmorSetEffects { } entity.addEffect(MobEffectInstance(MobEffects.REGENERATION, 10 * 20, 0)) - entity.addEffect(MobEffectInstance(MobEffects.SPEED, 5 * 20, 0)) + entity.addEffect(MobEffectInstance(MobEffects.MOVEMENT_SPEED, 5 * 20, 0)) spawnRupertParticles(entity) } @@ -151,9 +151,9 @@ object ArmorSetEffects { val roll = entity.random.nextInt(100) + 1 when { roll <= 10 -> entity.addEffect(MobEffectInstance(MobEffects.WEAKNESS, 5 * 20, 0)) - roll <= 20 -> entity.addEffect(MobEffectInstance(MobEffects.SLOWNESS, 4 * 20, 0)) + roll <= 20 -> entity.addEffect(MobEffectInstance(MobEffects.MOVEMENT_SLOWDOWN, 4 * 20, 0)) roll <= 30 -> entity.addEffect(MobEffectInstance(MobEffects.BLINDNESS, 5 * 20, 0)) - roll <= 40 -> entity.addEffect(MobEffectInstance(MobEffects.NAUSEA, 7 * 20, 0)) + roll <= 40 -> entity.addEffect(MobEffectInstance(MobEffects.CONFUSION, 7 * 20, 0)) } } @@ -166,7 +166,7 @@ object ArmorSetEffects { .getEntitiesOfClass(LivingEntity::class.java, entity.boundingBox.inflate(5.0)) { it != entity } nearbyTargets.forEach { target -> - target.addEffect(MobEffectInstance(MobEffects.SLOWNESS, 3 * 20, 1)) + target.addEffect(MobEffectInstance(MobEffects.MOVEMENT_SLOWDOWN, 3 * 20, 1)) } entity.addEffect(MobEffectInstance(MobEffects.HEALTH_BOOST, 30 * 20, 0)) spawnParticles(entity, ParticleTypes.SNOWFLAKE, 12, 0.45) diff --git a/src/main/java/com/dec/decisland/events/ModClientEvents.kt b/src/main/java/com/dec/decisland/events/ModClientEvents.kt index 31200d1..e061527 100644 --- a/src/main/java/com/dec/decisland/events/ModClientEvents.kt +++ b/src/main/java/com/dec/decisland/events/ModClientEvents.kt @@ -36,7 +36,7 @@ import net.minecraft.client.Minecraft import net.minecraft.client.renderer.entity.EntityRenderers import net.minecraft.client.renderer.entity.EntityRendererProvider import net.minecraft.client.renderer.entity.ThrownItemRenderer -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.neoforged.api.distmarker.Dist import net.neoforged.bus.api.SubscribeEvent import net.neoforged.fml.common.EventBusSubscriber @@ -107,8 +107,8 @@ object ModClientEvents { EntityRenderers.register(ModEntities.SPOTS_BY_BOOK.get()) { context -> BedrockProjectileRenderer( context, - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "bedrock/models/entity/spots.geometry.json"), - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "bedrock/animations/entity/spots.animation.json"), + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "bedrock/models/entity/spots.geometry.json"), + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "bedrock/animations/entity/spots.animation.json"), "animation.spots.spinning", entityTexture("spots"), 1.0f, @@ -169,8 +169,8 @@ object ModClientEvents { @JvmStatic fun registerRenderers(event: EntityRenderersEvent.RegisterRenderers) { } - private fun entityTexture(path: String): Identifier = - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "textures/entity/$path.png") + private fun entityTexture(path: String): ResourceLocation = + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "textures/entity/$path.png") private fun ballRenderer( context: EntityRendererProvider.Context, @@ -178,8 +178,8 @@ object ModClientEvents { scale: Float, ): BedrockProjectileRenderer = BedrockProjectileRenderer( context, - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "bedrock/models/entity/energy_ball.geometry.json"), - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "bedrock/animations/entity/energy_ball.animation.json"), + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "bedrock/models/entity/energy_ball.geometry.json"), + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "bedrock/animations/entity/energy_ball.animation.json"), "animation.energy_ball.fly", entityTexture(texturePath), scale, diff --git a/src/main/java/com/dec/decisland/events/ModEventBusEvents.kt b/src/main/java/com/dec/decisland/events/ModEventBusEvents.kt index 5e6f605..0f1f076 100644 --- a/src/main/java/com/dec/decisland/events/ModEventBusEvents.kt +++ b/src/main/java/com/dec/decisland/events/ModEventBusEvents.kt @@ -4,7 +4,6 @@ import com.dec.decisland.DecIsland import com.dec.decisland.client.model.ClothesModel import com.dec.decisland.client.model.EmptyModel import com.dec.decisland.client.model.FashionArmorModel -import net.minecraft.client.renderer.entity.state.LivingEntityRenderState import net.minecraft.world.entity.EntityType import net.minecraft.world.entity.ai.attributes.Attributes import net.neoforged.bus.api.SubscribeEvent diff --git a/src/main/java/com/dec/decisland/item/ItemConfig.kt b/src/main/java/com/dec/decisland/item/ItemConfig.kt index 848534b..c8ff7ad 100644 --- a/src/main/java/com/dec/decisland/item/ItemConfig.kt +++ b/src/main/java/com/dec/decisland/item/ItemConfig.kt @@ -2,8 +2,8 @@ package com.dec.decisland.item import com.dec.decisland.DecIsland import net.minecraft.core.registries.BuiltInRegistries -import net.minecraft.client.data.models.model.ModelTemplate -import net.minecraft.client.data.models.model.ModelTemplates +import net.minecraft.data.models.model.ModelTemplate +import net.minecraft.data.models.model.ModelTemplates import net.minecraft.tags.TagKey import net.minecraft.world.item.CreativeModeTab import net.minecraft.world.item.Item diff --git a/src/main/java/com/dec/decisland/item/ModArmorMaterials.kt b/src/main/java/com/dec/decisland/item/ModArmorMaterials.kt index b2af816..1a83cd3 100644 --- a/src/main/java/com/dec/decisland/item/ModArmorMaterials.kt +++ b/src/main/java/com/dec/decisland/item/ModArmorMaterials.kt @@ -1,22 +1,27 @@ package com.dec.decisland.item import com.dec.decisland.tag.ModItemTags -import com.google.common.collect.Maps import net.minecraft.core.Holder import net.minecraft.core.registries.Registries -import net.minecraft.resources.Identifier -import net.minecraft.resources.ResourceKey +import net.minecraft.resources.ResourceLocation import net.minecraft.sounds.SoundEvent import net.minecraft.sounds.SoundEvents import net.minecraft.tags.TagKey +import net.minecraft.world.item.ArmorItem +import net.minecraft.world.item.ArmorMaterial import net.minecraft.world.item.Item -import net.minecraft.world.item.equipment.ArmorMaterial -import net.minecraft.world.item.equipment.ArmorType -import net.minecraft.world.item.equipment.EquipmentAsset +import net.minecraft.world.item.crafting.Ingredient +import java.util.function.Supplier +/** + * 1.21.1 兼容层:以 1.21.4+ ArmorMaterial 的参数形态创建 1.21.1 的 + * [ArmorMaterial] 记录(耐久作为倍率保存在 [ModArmorMaterial] 中,注册物品时使用)。 + */ object ModArmorMaterials { private val EMPTY_REPAIR_TAG: TagKey = - TagKey.create(Registries.ITEM, Identifier.fromNamespaceAndPath("decisland", "unused_repair")) + TagKey.create(Registries.ITEM, ResourceLocation.fromNamespaceAndPath("decisland", "unused_repair")) + + class ModArmorMaterial(val holder: Holder, val durabilityMultiplier: Int) private fun createArmorMaterial( durability: Int, @@ -29,20 +34,22 @@ object ModArmorMaterials { toughness: Float, knockbackResistance: Float, repairTag: TagKey, - asset: ResourceKey, - ): ArmorMaterial = ArmorMaterial( - durability, - makeDefense(boots, leggings, chestplate, helmet, chestplate), - enchantability, - equipSound, - toughness, - knockbackResistance, - repairTag, - asset, - ) + asset: ResourceLocation, + ): ModArmorMaterial { + val material = ArmorMaterial( + makeDefense(boots, leggings, chestplate, helmet, chestplate), + enchantability, + equipSound, + Supplier { Ingredient.of(repairTag) }, + listOf(ArmorMaterial.Layer(asset)), + toughness, + knockbackResistance, + ) + return ModArmorMaterial(Holder.direct(material), durability) + } @JvmField - val FASHION: ArmorMaterial = createArmorMaterial( + val FASHION: ModArmorMaterial = createArmorMaterial( durability = 4, boots = 1, leggings = 1, @@ -57,7 +64,7 @@ object ModArmorMaterials { ) @JvmField - val AMETHYST: ArmorMaterial = createArmorMaterial( + val AMETHYST: ModArmorMaterial = createArmorMaterial( durability = 12, boots = 2, leggings = 2, @@ -72,7 +79,7 @@ object ModArmorMaterials { ) @JvmField - val CRYING: ArmorMaterial = createArmorMaterial( + val CRYING: ModArmorMaterial = createArmorMaterial( durability = 58, boots = 4, leggings = 7, @@ -87,7 +94,7 @@ object ModArmorMaterials { ) @JvmField - val DIRT: ArmorMaterial = createArmorMaterial( + val DIRT: ModArmorMaterial = createArmorMaterial( durability = 3, boots = 1, leggings = 1, @@ -102,7 +109,7 @@ object ModArmorMaterials { ) @JvmField - val EMERALD: ArmorMaterial = createArmorMaterial( + val EMERALD: ModArmorMaterial = createArmorMaterial( durability = 14, boots = 2, leggings = 4, @@ -117,7 +124,7 @@ object ModArmorMaterials { ) @JvmField - val EVERLASTING_WINTER: ArmorMaterial = createArmorMaterial( + val EVERLASTING_WINTER: ModArmorMaterial = createArmorMaterial( durability = 128, boots = 3, leggings = 6, @@ -132,7 +139,7 @@ object ModArmorMaterials { ) @JvmField - val FROZEN: ArmorMaterial = createArmorMaterial( + val FROZEN: ModArmorMaterial = createArmorMaterial( durability = 14, boots = 2, leggings = 4, @@ -147,7 +154,7 @@ object ModArmorMaterials { ) @JvmField - val LAVA: ArmorMaterial = createArmorMaterial( + val LAVA: ModArmorMaterial = createArmorMaterial( durability = 24, boots = 2, leggings = 5, @@ -162,7 +169,7 @@ object ModArmorMaterials { ) @JvmField - val PIGLIN: ArmorMaterial = createArmorMaterial( + val PIGLIN: ModArmorMaterial = createArmorMaterial( durability = 26, boots = 0, leggings = 5, @@ -177,7 +184,7 @@ object ModArmorMaterials { ) @JvmField - val RUPERT: ArmorMaterial = createArmorMaterial( + val RUPERT: ModArmorMaterial = createArmorMaterial( durability = 24, boots = 1, leggings = 3, @@ -192,7 +199,7 @@ object ModArmorMaterials { ) @JvmField - val SHULKER: ArmorMaterial = createArmorMaterial( + val SHULKER: ModArmorMaterial = createArmorMaterial( durability = 11, boots = 0, leggings = 0, @@ -207,7 +214,7 @@ object ModArmorMaterials { ) @JvmField - val STEEL: ArmorMaterial = createArmorMaterial( + val STEEL: ModArmorMaterial = createArmorMaterial( durability = 26, boots = 3, leggings = 5, @@ -222,7 +229,7 @@ object ModArmorMaterials { ) @JvmField - val STONE: ArmorMaterial = createArmorMaterial( + val STONE: ModArmorMaterial = createArmorMaterial( durability = 4, boots = 1, leggings = 2, @@ -237,7 +244,7 @@ object ModArmorMaterials { ) @JvmField - val TURTLE: ArmorMaterial = createArmorMaterial( + val TURTLE: ModArmorMaterial = createArmorMaterial( durability = 35, boots = 3, leggings = 6, @@ -252,7 +259,7 @@ object ModArmorMaterials { ) @JvmField - val WOOD: ArmorMaterial = createArmorMaterial( + val WOOD: ModArmorMaterial = createArmorMaterial( durability = 12, boots = 1, leggings = 2, @@ -272,13 +279,12 @@ object ModArmorMaterials { chestplate: Int, helmet: Int, body: Int, - ): Map = Maps.newEnumMap( + ): Map = mapOf( - ArmorType.BOOTS to boots, - ArmorType.LEGGINGS to leggings, - ArmorType.CHESTPLATE to chestplate, - ArmorType.HELMET to helmet, - ArmorType.BODY to body, - ), - ) + ArmorItem.Type.BOOTS to boots, + ArmorItem.Type.LEGGINGS to leggings, + ArmorItem.Type.CHESTPLATE to chestplate, + ArmorItem.Type.HELMET to helmet, + ArmorItem.Type.BODY to body, + ) } diff --git a/src/main/java/com/dec/decisland/item/ModEquipmentAssets.kt b/src/main/java/com/dec/decisland/item/ModEquipmentAssets.kt index a57144a..2b5cce7 100644 --- a/src/main/java/com/dec/decisland/item/ModEquipmentAssets.kt +++ b/src/main/java/com/dec/decisland/item/ModEquipmentAssets.kt @@ -1,57 +1,58 @@ package com.dec.decisland.item import com.dec.decisland.DecIsland -import net.minecraft.resources.Identifier -import net.minecraft.resources.ResourceKey -import net.minecraft.world.item.equipment.EquipmentAsset -import net.minecraft.world.item.equipment.EquipmentAssets +import net.minecraft.resources.ResourceLocation +/** + * 1.21.1 兼容层:1.21.4+ 的 EquipmentAsset 注册表改为直接使用 ResourceLocation + * (1.21.1 的 ArmorMaterial.Layer 以 ResourceLocation 定位盔甲纹理)。 + */ object ModEquipmentAssets { @JvmField - val FASHION: ResourceKey = createId("fashion") + val FASHION: ResourceLocation = createId("fashion") @JvmField - val AMETHYST: ResourceKey = createId("amethyst") + val AMETHYST: ResourceLocation = createId("amethyst") @JvmField - val CRYING: ResourceKey = createId("crying") + val CRYING: ResourceLocation = createId("crying") @JvmField - val DIRT: ResourceKey = createId("dirt") + val DIRT: ResourceLocation = createId("dirt") @JvmField - val EMERALD: ResourceKey = createId("emerald") + val EMERALD: ResourceLocation = createId("emerald") @JvmField - val EVERLASTING_WINTER: ResourceKey = createId("everlasting_winter") + val EVERLASTING_WINTER: ResourceLocation = createId("everlasting_winter") @JvmField - val FROZEN: ResourceKey = createId("frozen") + val FROZEN: ResourceLocation = createId("frozen") @JvmField - val LAVA: ResourceKey = createId("lava") + val LAVA: ResourceLocation = createId("lava") @JvmField - val PIGLIN: ResourceKey = createId("piglin") + val PIGLIN: ResourceLocation = createId("piglin") @JvmField - val RUPERT: ResourceKey = createId("rupert") + val RUPERT: ResourceLocation = createId("rupert") @JvmField - val SHULKER: ResourceKey = createId("shulker") + val SHULKER: ResourceLocation = createId("shulker") @JvmField - val STEEL: ResourceKey = createId("steel") + val STEEL: ResourceLocation = createId("steel") @JvmField - val STONE: ResourceKey = createId("stone") + val STONE: ResourceLocation = createId("stone") @JvmField - val TURTLE: ResourceKey = createId("turtle") + val TURTLE: ResourceLocation = createId("turtle") @JvmField - val WOOD: ResourceKey = createId("wood") + val WOOD: ResourceLocation = createId("wood") - private fun createId(name: String): ResourceKey = - ResourceKey.create(EquipmentAssets.ROOT_ID, Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, name)) + private fun createId(name: String): ResourceLocation = + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, name) } diff --git a/src/main/java/com/dec/decisland/item/ModFuelItem.kt b/src/main/java/com/dec/decisland/item/ModFuelItem.kt index d72a614..97a6269 100644 --- a/src/main/java/com/dec/decisland/item/ModFuelItem.kt +++ b/src/main/java/com/dec/decisland/item/ModFuelItem.kt @@ -3,9 +3,8 @@ package com.dec.decisland.item import net.minecraft.world.item.Item import net.minecraft.world.item.ItemStack import net.minecraft.world.item.crafting.RecipeType -import net.minecraft.world.level.block.entity.FuelValues import net.neoforged.neoforge.common.extensions.IItemExtension class ModFuelItem(properties: Properties, private val burnTime: Int) : Item(properties), IItemExtension { - override fun getBurnTime(itemStack: ItemStack, recipeType: RecipeType<*>?, fuelValues: FuelValues): Int = burnTime + override fun getBurnTime(itemStack: ItemStack, recipeType: RecipeType<*>?): Int = burnTime } diff --git a/src/main/java/com/dec/decisland/item/ModItems.kt b/src/main/java/com/dec/decisland/item/ModItems.kt index 3f31f05..a4101cb 100644 --- a/src/main/java/com/dec/decisland/item/ModItems.kt +++ b/src/main/java/com/dec/decisland/item/ModItems.kt @@ -1,21 +1,22 @@ -package com.dec.decisland.item +package com.dec.decisland.item import com.dec.decisland.DecIsland +import com.dec.decisland.item.compat.repairable +import com.dec.decisland.item.compat.useCooldown import com.dec.decisland.item.custom.* import com.dec.decisland.tag.ModItemTags -import net.minecraft.client.data.models.model.ModelTemplates +import net.minecraft.data.models.model.ModelTemplates import net.minecraft.core.Holder import net.minecraft.world.effect.MobEffectInstance import net.minecraft.world.effect.MobEffects import net.minecraft.world.food.FoodProperties import net.minecraft.world.item.Item import net.minecraft.world.item.Items.* -import net.minecraft.world.item.ToolMaterial -import net.minecraft.world.item.component.Consumables -import net.minecraft.world.item.consume_effects.ApplyStatusEffectsConsumeEffect +import net.minecraft.world.level.ItemLike import net.neoforged.bus.api.IEventBus import net.neoforged.neoforge.registries.DeferredItem import net.neoforged.neoforge.registries.DeferredRegister +import java.util.function.Supplier object ModItems { @JvmField @@ -31,40 +32,35 @@ object ModItems { @JvmField val A_BOWL_OF_RICE: DeferredItem = registerItem( ItemConfig.Builder("a_bowl_of_rice", mapOf("en_us" to "A Bowl of Rice", "zh_cn" to "米饭")).props { (Item.Properties()).food( - FoodProperties(10, 0.6F, false), - Consumables.defaultFood().build() - ).usingConvertsTo(BOWL)}.creativeTab(ModCreativeModeTabs.DECISLAND_FOODS_TAB).build() + food(10, 0.6F, convertTo = BOWL) + )}.creativeTab(ModCreativeModeTabs.DECISLAND_FOODS_TAB).build() ) @JvmField val RICE: DeferredItem = registerItem( ItemConfig.Builder("rice", mapOf("en_us" to "Rice", "zh_cn" to "米")).props { (Item.Properties()).food( - FoodProperties(1, 0.6F, false), - Consumables.defaultFood().consumeSeconds(1.0F).build() + food(1, 0.6F, eatSeconds = 1.0F) )}.creativeTab(ModCreativeModeTabs.DECISLAND_FOODS_TAB).build() ) @JvmField val A_PIECE_OF_SALMON: DeferredItem = registerItem( ItemConfig.Builder("a_piece_of_salmon", mapOf("en_us" to "a Piece of Salmon", "zh_cn" to "生鱼片")).props { (Item.Properties()).food( - FoodProperties(1, 0.4F, false), - Consumables.defaultFood().build() + food(1, 0.4F) )}.creativeTab(ModCreativeModeTabs.DECISLAND_FOODS_TAB).build() ) @JvmField val APPLE_PIE: DeferredItem = registerItem( ItemConfig.Builder("apple_pie", mapOf("en_us" to "Apple Pie", "zh_cn" to "苹果派")).props { (Item.Properties()).food( - FoodProperties(12, 0.6F, false), - Consumables.defaultFood().onConsume(ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.REGENERATION, 20 * 20, 2))).build() + food(12, 0.6F, effects = listOf(MobEffectInstance(MobEffects.REGENERATION, 20 * 20, 2) to 1.0f)) )}.creativeTab(ModCreativeModeTabs.DECISLAND_FOODS_TAB).build() ) @JvmField val APPLE_JUICE: DeferredItem = registerItem( ItemConfig.Builder("apple_juice", mapOf("en_us" to "Apple Juice", "zh_cn" to "苹果汁")).props { (Item.Properties()).food( - FoodProperties(2, 0.0f, false), - Consumables.defaultDrink().onConsume(ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.REGENERATION, 20 * 20, 1))).build() + food(2, 0.0f, effects = listOf(MobEffectInstance(MobEffects.REGENERATION, 20 * 20, 1) to 1.0f)) )}.creativeTab(ModCreativeModeTabs.DECISLAND_FOODS_TAB).build() ) @@ -87,8 +83,7 @@ object ModItems { @JvmField val BRACKEN: DeferredItem = registerItem( ItemConfig.Builder("bracken", mapOf("en_us" to "Bracken", "zh_cn" to "蕨菜")).props { (Item.Properties()).food( - FoodProperties(1, 0.1F, false), - Consumables.defaultFood().build() + food(1, 0.1F) )}.customProp(CustomItemProperties.Builder().compostableChance(0.3f).build()) .creativeTab(ModCreativeModeTabs.DECISLAND_FOODS_TAB).build() ) @@ -96,26 +91,22 @@ object ModItems { @JvmField val CANDY: DeferredItem = registerItem( ItemConfig.Builder("candy", mapOf("en_us" to "Candy", "zh_cn" to "糖果")).props { (Item.Properties()).food( - FoodProperties(1, 0.4f, true), - Consumables.defaultFood().build() + food(1, 0.4f, canAlwaysEat = true) )}.creativeTab(ModCreativeModeTabs.DECISLAND_FOODS_TAB).build() ) @JvmField val CHOCOLATE_COOKIE: DeferredItem = registerItem( ItemConfig.Builder("chocolate_cookie", mapOf("en_us" to "Chocolate Cookie", "zh_cn" to "巧克力曲奇")).props { (Item.Properties()).food( - FoodProperties(3, 0.6f, false), - Consumables.defaultFood().build() + food(3, 0.6f) )}.creativeTab(ModCreativeModeTabs.DECISLAND_FOODS_TAB).build() ) @JvmField val CHOCOLATES: DeferredItem = registerItem( ItemConfig.Builder("chocolates", mapOf("en_us" to "Chocolates", "zh_cn" to "巧克力")).props { (Item.Properties()).food( - FoodProperties(7, 0.6f, false), - Consumables.defaultFood().onConsume(ApplyStatusEffectsConsumeEffect( - MobEffectInstance(MobEffects.SPEED, 20 * 20, 0), 0.73f)).build() - ).usingConvertsTo(PAPER)}.creativeTab(ModCreativeModeTabs.DECISLAND_FOODS_TAB).build() + food(7, 0.6f, convertTo = PAPER, effects = listOf(MobEffectInstance(MobEffects.MOVEMENT_SPEED, 20 * 20, 0) to 0.73f)) + )}.creativeTab(ModCreativeModeTabs.DECISLAND_FOODS_TAB).build() ) @JvmField @@ -126,8 +117,7 @@ object ModItems { @JvmField val FRIED_EGG: DeferredItem = registerItem( ItemConfig.Builder("fried_egg", mapOf("en_us" to "Fried Egg", "zh_cn" to "煎蛋")).props { (Item.Properties()).food( - FoodProperties(5, 0.4f, false), - Consumables.defaultFood().build() + food(5, 0.4f) )}.creativeTab(ModCreativeModeTabs.DECISLAND_FOODS_TAB).build() ) @@ -135,8 +125,7 @@ object ModItems { val HEART_EGG: DeferredItem = registerItem( ItemConfig.Builder("heart_egg", mapOf("en_us" to "Heart Egg", "zh_cn" to "生命蛋")).func(::HeartEgg) .props { (Item.Properties()).food( - FoodProperties(4, 1.0f, true), - Consumables.defaultFood().build() + food(4, 1.0f, canAlwaysEat = true) )}.creativeTab(ModCreativeModeTabs.DECISLAND_FOODS_TAB).build() ) @@ -144,8 +133,7 @@ object ModItems { val SPURT_EGG: DeferredItem = registerItem( ItemConfig.Builder("spurt_egg", mapOf("en_us" to "Spurt Egg", "zh_cn" to "迸发蛋")).func(::SpurtEgg) .props { (Item.Properties()).food( - FoodProperties(4, 1.0f, true), - Consumables.defaultFood().build() + food(4, 1.0f, canAlwaysEat = true) )}.creativeTab(ModCreativeModeTabs.DECISLAND_FOODS_TAB).build() ) @@ -153,8 +141,7 @@ object ModItems { val ENDER_EGG: DeferredItem = registerItem( ItemConfig.Builder("ender_egg", mapOf("en_us" to "Ender Egg", "zh_cn" to "末影蛋")).func(::EnderEgg) .props { (Item.Properties()).food( - FoodProperties(4, 1.0f, true), - Consumables.defaultFood().build() + food(4, 1.0f, canAlwaysEat = true) )}.creativeTab(ModCreativeModeTabs.DECISLAND_FOODS_TAB).build() ) @@ -341,7 +328,10 @@ object ModItems { // DecIsland.LOGGER.info("Registering item: {}", config.name) ITEM_CONFIGS.add(config) ITEM_CONFIGS_BY_NAME[config.name] = config - return ITEMS.registerItem(config.name, config.func, config.props) + // Defer building the item properties to registry time: some properties + // reference other DeferredItems (e.g. FoodProperties.usingConvertsTo), + // which are only bound once the RegisterEvent fires. + return ITEMS.register(config.name, Supplier { config.func.apply(config.props.get()) }) } @JvmStatic @@ -366,6 +356,28 @@ object ModItems { ?.value() } + /** 1.21.1 兼容层:替代 1.21.4+ 的 `FoodProperties(...)` / `Consumables.defaultFood()` 组合。 */ + private fun food( + nutrition: Int, + saturation: Float, + canAlwaysEat: Boolean = false, + eatSeconds: Float = 1.6f, + convertTo: ItemLike? = null, + effects: List> = emptyList(), + ): FoodProperties { + val builder = FoodProperties.Builder().nutrition(nutrition).saturationModifier(saturation) + if (canAlwaysEat) { + builder.alwaysEdible() + } + if (convertTo != null) { + builder.usingConvertsTo(convertTo) + } + effects.forEach { builder.effect(it.first, it.second) } + val food = builder.build() + return if (eatSeconds == 1.6f) food + else FoodProperties(food.nutrition, food.saturation, food.canAlwaysEat, eatSeconds, food.usingConvertsTo, food.effects) + } + private fun registerBoostConsumable( name: String, lang: Map, @@ -377,8 +389,7 @@ object ModItems { .props { Item.Properties() .food( - FoodProperties(0, 0.0f, true), - Consumables.defaultFood().build() + food(0, 0.0f, canAlwaysEat = true) ) .useCooldown(cooldown) } diff --git a/src/main/java/com/dec/decisland/item/ModToolMaterial.kt b/src/main/java/com/dec/decisland/item/ModToolMaterial.kt index b47cb3e..8e9260d 100644 --- a/src/main/java/com/dec/decisland/item/ModToolMaterial.kt +++ b/src/main/java/com/dec/decisland/item/ModToolMaterial.kt @@ -1,18 +1,17 @@ package com.dec.decisland.item import net.minecraft.core.registries.Registries -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.tags.TagKey import net.minecraft.world.item.Item -import net.minecraft.world.item.ToolMaterial import net.minecraft.world.level.block.Block object ModToolMaterial { private val EMPTY_BLOCK_TAG: TagKey = - TagKey.create(Registries.BLOCK, Identifier.fromNamespaceAndPath("decisland", "unused_tool_blocks")) + TagKey.create(Registries.BLOCK, ResourceLocation.fromNamespaceAndPath("decisland", "unused_tool_blocks")) private val EMPTY_ITEM_TAG: TagKey = - TagKey.create(Registries.ITEM, Identifier.fromNamespaceAndPath("decisland", "unused_tool_repairs")) + TagKey.create(Registries.ITEM, ResourceLocation.fromNamespaceAndPath("decisland", "unused_tool_repairs")) @JvmField val ABSOLUTE_ZERO: ToolMaterial = ToolMaterial(EMPTY_BLOCK_TAG, 2098, 8.0f, 7.0f, 10, EMPTY_ITEM_TAG) diff --git a/src/main/java/com/dec/decisland/item/ToolMaterial.kt b/src/main/java/com/dec/decisland/item/ToolMaterial.kt new file mode 100644 index 0000000..b36365e --- /dev/null +++ b/src/main/java/com/dec/decisland/item/ToolMaterial.kt @@ -0,0 +1,94 @@ +package com.dec.decisland.item + +import net.minecraft.tags.BlockTags +import net.minecraft.tags.TagKey +import net.minecraft.world.item.Item +import net.minecraft.world.item.Tier +import net.minecraft.world.item.Tiers +import net.minecraft.world.item.crafting.Ingredient +import net.minecraft.world.level.block.Block +import java.util.function.Supplier + +/** + * 1.21.1 兼容层:以 1.21.4+ `net.minecraft.world.item.ToolMaterial` 的形态, + * 实现 1.21.1 的 [Tier] 接口,供 [net.minecraft.world.item.SwordItem.createAttributes] 等使用。 + */ +class ToolMaterial private constructor( + private val incorrectBlocksForDrops: TagKey, + val durability: Int, + private val speed: Float, + private val attackDamageBonus: Float, + @JvmField val enchantmentValue: Int, + private val repairIngredientSupplier: Supplier, +) : Tier { + constructor( + incorrectBlocksForDrops: TagKey, + durability: Int, + speed: Float, + attackDamageBonus: Float, + enchantmentValue: Int, + repairItems: TagKey, + ) : this( + incorrectBlocksForDrops, + durability, + speed, + attackDamageBonus, + enchantmentValue, + Supplier { Ingredient.of(repairItems) }, + ) + + override fun getUses(): Int = durability + + override fun getSpeed(): Float = speed + + override fun getAttackDamageBonus(): Float = attackDamageBonus + + override fun getIncorrectBlocksForDrops(): TagKey = incorrectBlocksForDrops + + override fun getEnchantmentValue(): Int = enchantmentValue + + override fun getRepairIngredient(): Ingredient = repairIngredientSupplier.get() + + fun durability(): Int = durability + + companion object { + private val EMPTY_REPAIR: Supplier = Supplier { Ingredient.EMPTY } + + @JvmField + val WOOD: ToolMaterial = of(Tiers.WOOD) + + @JvmField + val STONE: ToolMaterial = of(Tiers.STONE) + + @JvmField + val COPPER: ToolMaterial = ToolMaterial( + BlockTags.INCORRECT_FOR_WOODEN_TOOL, + 190, + 5.0f, + 1.0f, + 12, + Supplier { Ingredient.of(net.minecraft.world.item.Items.COPPER_INGOT) }, + ) + + @JvmField + val IRON: ToolMaterial = of(Tiers.IRON) + + @JvmField + val DIAMOND: ToolMaterial = of(Tiers.DIAMOND) + + @JvmField + val GOLD: ToolMaterial = of(Tiers.GOLD) + + @JvmField + val NETHERITE: ToolMaterial = of(Tiers.NETHERITE) + + private fun of(tier: Tier): ToolMaterial = ToolMaterial( + tier.incorrectBlocksForDrops, + tier.uses, + tier.speed, + tier.attackDamageBonus, + tier.enchantmentValue, + Supplier { tier.repairIngredient }, + ) + } +} diff --git a/src/main/java/com/dec/decisland/item/category/Accessory.kt b/src/main/java/com/dec/decisland/item/category/Accessory.kt index ee5f55f..fdff0aa 100644 --- a/src/main/java/com/dec/decisland/item/category/Accessory.kt +++ b/src/main/java/com/dec/decisland/item/category/Accessory.kt @@ -10,7 +10,7 @@ import com.dec.decisland.item.custom.accessory.DiamondRingItem import com.dec.decisland.item.custom.accessory.EmeraldRingItem import com.dec.decisland.item.custom.accessory.GoldRingItem import com.dec.decisland.item.custom.accessory.HeartRingItem -import net.minecraft.client.data.models.model.ModelTemplates +import net.minecraft.data.models.model.ModelTemplates import net.minecraft.world.item.CreativeModeTab import net.minecraft.world.item.Item import net.neoforged.neoforge.registries.DeferredItem diff --git a/src/main/java/com/dec/decisland/item/category/Armor.kt b/src/main/java/com/dec/decisland/item/category/Armor.kt index 1bf3c9c..2a4c063 100644 --- a/src/main/java/com/dec/decisland/item/category/Armor.kt +++ b/src/main/java/com/dec/decisland/item/category/Armor.kt @@ -2,15 +2,15 @@ package com.dec.decisland.item.category import com.dec.decisland.item.ItemConfig import com.dec.decisland.item.ModArmorMaterials +import com.dec.decisland.item.ModArmorMaterials.ModArmorMaterial import com.dec.decisland.item.ModCreativeModeTabs import com.dec.decisland.item.ModItems import net.minecraft.tags.ItemTags import net.minecraft.tags.TagKey +import net.minecraft.world.item.ArmorItem import net.minecraft.world.item.CreativeModeTab import net.minecraft.world.item.Item import net.minecraft.world.item.Items -import net.minecraft.world.item.equipment.ArmorMaterial -import net.minecraft.world.item.equipment.ArmorType import net.neoforged.neoforge.registries.DeferredItem import java.util.function.Supplier @@ -20,20 +20,19 @@ object Armor { private fun registerArmorPiece( name: String, - material: ArmorMaterial, - type: ArmorType, + material: ModArmorMaterial, + type: ArmorItem.Type, repairItem: Supplier? = null, repairTag: TagKey? = null, ): DeferredItem = ModItems.registerItem( ItemConfig.Builder(name) - .props { - val properties = Item.Properties().humanoidArmor(material, type) - when { - repairItem != null -> properties.repairable(repairItem.get()) - repairTag != null -> properties.repairable(repairTag) - else -> properties - } + .func { props -> + ArmorItem( + material.holder, + type, + props.durability(type.getDurability(material.durabilityMultiplier)), + ) } .creativeTab(creativeTab) .build(), @@ -41,195 +40,195 @@ object Armor { @JvmField val AMETHYST_HELMET: DeferredItem = - registerArmorPiece("amethyst_helmet", ModArmorMaterials.AMETHYST, ArmorType.HELMET) + registerArmorPiece("amethyst_helmet", ModArmorMaterials.AMETHYST, ArmorItem.Type.HELMET) @JvmField val AMETHYST_CHESTPLATE: DeferredItem = - registerArmorPiece("amethyst_chestplate", ModArmorMaterials.AMETHYST, ArmorType.CHESTPLATE) + registerArmorPiece("amethyst_chestplate", ModArmorMaterials.AMETHYST, ArmorItem.Type.CHESTPLATE) @JvmField val AMETHYST_LEGGINGS: DeferredItem = - registerArmorPiece("amethyst_leggings", ModArmorMaterials.AMETHYST, ArmorType.LEGGINGS) + registerArmorPiece("amethyst_leggings", ModArmorMaterials.AMETHYST, ArmorItem.Type.LEGGINGS) @JvmField val AMETHYST_BOOTS: DeferredItem = - registerArmorPiece("amethyst_boots", ModArmorMaterials.AMETHYST, ArmorType.BOOTS) + registerArmorPiece("amethyst_boots", ModArmorMaterials.AMETHYST, ArmorItem.Type.BOOTS) @JvmField val CRYING_HELMET: DeferredItem = - registerArmorPiece("crying_helmet", ModArmorMaterials.CRYING, ArmorType.HELMET, repairItem = Supplier { Items.CRYING_OBSIDIAN }) + registerArmorPiece("crying_helmet", ModArmorMaterials.CRYING, ArmorItem.Type.HELMET, repairItem = Supplier { Items.CRYING_OBSIDIAN }) @JvmField val CRYING_CHESTPLATE: DeferredItem = - registerArmorPiece("crying_chestplate", ModArmorMaterials.CRYING, ArmorType.CHESTPLATE, repairItem = Supplier { Items.CRYING_OBSIDIAN }) + registerArmorPiece("crying_chestplate", ModArmorMaterials.CRYING, ArmorItem.Type.CHESTPLATE, repairItem = Supplier { Items.CRYING_OBSIDIAN }) @JvmField val CRYING_LEGGINGS: DeferredItem = - registerArmorPiece("crying_leggings", ModArmorMaterials.CRYING, ArmorType.LEGGINGS, repairItem = Supplier { Items.CRYING_OBSIDIAN }) + registerArmorPiece("crying_leggings", ModArmorMaterials.CRYING, ArmorItem.Type.LEGGINGS, repairItem = Supplier { Items.CRYING_OBSIDIAN }) @JvmField val CRYING_BOOTS: DeferredItem = - registerArmorPiece("crying_boots", ModArmorMaterials.CRYING, ArmorType.BOOTS, repairItem = Supplier { Items.CRYING_OBSIDIAN }) + registerArmorPiece("crying_boots", ModArmorMaterials.CRYING, ArmorItem.Type.BOOTS, repairItem = Supplier { Items.CRYING_OBSIDIAN }) @JvmField val DIRT_HELMET: DeferredItem = - registerArmorPiece("dirt_helmet", ModArmorMaterials.DIRT, ArmorType.HELMET, repairItem = Supplier { Items.DIRT }) + registerArmorPiece("dirt_helmet", ModArmorMaterials.DIRT, ArmorItem.Type.HELMET, repairItem = Supplier { Items.DIRT }) @JvmField val DIRT_CHESTPLATE: DeferredItem = - registerArmorPiece("dirt_chestplate", ModArmorMaterials.DIRT, ArmorType.CHESTPLATE, repairItem = Supplier { Items.DIRT }) + registerArmorPiece("dirt_chestplate", ModArmorMaterials.DIRT, ArmorItem.Type.CHESTPLATE, repairItem = Supplier { Items.DIRT }) @JvmField val DIRT_LEGGINGS: DeferredItem = - registerArmorPiece("dirt_leggings", ModArmorMaterials.DIRT, ArmorType.LEGGINGS, repairItem = Supplier { Items.DIRT }) + registerArmorPiece("dirt_leggings", ModArmorMaterials.DIRT, ArmorItem.Type.LEGGINGS, repairItem = Supplier { Items.DIRT }) @JvmField val DIRT_BOOTS: DeferredItem = - registerArmorPiece("dirt_boots", ModArmorMaterials.DIRT, ArmorType.BOOTS, repairItem = Supplier { Items.DIRT }) + registerArmorPiece("dirt_boots", ModArmorMaterials.DIRT, ArmorItem.Type.BOOTS, repairItem = Supplier { Items.DIRT }) @JvmField val EMERALD_HELMET: DeferredItem = - registerArmorPiece("emerald_helmet", ModArmorMaterials.EMERALD, ArmorType.HELMET, repairItem = Supplier { Items.EMERALD }) + registerArmorPiece("emerald_helmet", ModArmorMaterials.EMERALD, ArmorItem.Type.HELMET, repairItem = Supplier { Items.EMERALD }) @JvmField val EMERALD_CHESTPLATE: DeferredItem = - registerArmorPiece("emerald_chestplate", ModArmorMaterials.EMERALD, ArmorType.CHESTPLATE, repairItem = Supplier { Items.EMERALD }) + registerArmorPiece("emerald_chestplate", ModArmorMaterials.EMERALD, ArmorItem.Type.CHESTPLATE, repairItem = Supplier { Items.EMERALD }) @JvmField val EMERALD_LEGGINGS: DeferredItem = - registerArmorPiece("emerald_leggings", ModArmorMaterials.EMERALD, ArmorType.LEGGINGS, repairItem = Supplier { Items.EMERALD }) + registerArmorPiece("emerald_leggings", ModArmorMaterials.EMERALD, ArmorItem.Type.LEGGINGS, repairItem = Supplier { Items.EMERALD }) @JvmField val EMERALD_BOOTS: DeferredItem = - registerArmorPiece("emerald_boots", ModArmorMaterials.EMERALD, ArmorType.BOOTS, repairItem = Supplier { Items.EMERALD }) + registerArmorPiece("emerald_boots", ModArmorMaterials.EMERALD, ArmorItem.Type.BOOTS, repairItem = Supplier { Items.EMERALD }) @JvmField val EVERLASTING_WINTER_HELMET: DeferredItem = - registerArmorPiece("everlasting_winter_helmet", ModArmorMaterials.EVERLASTING_WINTER, ArmorType.HELMET, repairItem = Supplier { Material.ICE_INGOT.get() }) + registerArmorPiece("everlasting_winter_helmet", ModArmorMaterials.EVERLASTING_WINTER, ArmorItem.Type.HELMET, repairItem = Supplier { Material.ICE_INGOT.get() }) @JvmField val EVERLASTING_WINTER_CHESTPLATE: DeferredItem = - registerArmorPiece("everlasting_winter_chestplate", ModArmorMaterials.EVERLASTING_WINTER, ArmorType.CHESTPLATE, repairItem = Supplier { Material.ICE_INGOT.get() }) + registerArmorPiece("everlasting_winter_chestplate", ModArmorMaterials.EVERLASTING_WINTER, ArmorItem.Type.CHESTPLATE, repairItem = Supplier { Material.ICE_INGOT.get() }) @JvmField val EVERLASTING_WINTER_LEGGINGS: DeferredItem = - registerArmorPiece("everlasting_winter_leggings", ModArmorMaterials.EVERLASTING_WINTER, ArmorType.LEGGINGS, repairItem = Supplier { Material.ICE_INGOT.get() }) + registerArmorPiece("everlasting_winter_leggings", ModArmorMaterials.EVERLASTING_WINTER, ArmorItem.Type.LEGGINGS, repairItem = Supplier { Material.ICE_INGOT.get() }) @JvmField val EVERLASTING_WINTER_BOOTS: DeferredItem = - registerArmorPiece("everlasting_winter_boots", ModArmorMaterials.EVERLASTING_WINTER, ArmorType.BOOTS, repairItem = Supplier { Material.ICE_INGOT.get() }) + registerArmorPiece("everlasting_winter_boots", ModArmorMaterials.EVERLASTING_WINTER, ArmorItem.Type.BOOTS, repairItem = Supplier { Material.ICE_INGOT.get() }) @JvmField val FROZEN_HELMET: DeferredItem = - registerArmorPiece("frozen_helmet", ModArmorMaterials.FROZEN, ArmorType.HELMET) + registerArmorPiece("frozen_helmet", ModArmorMaterials.FROZEN, ArmorItem.Type.HELMET) @JvmField val FROZEN_CHESTPLATE: DeferredItem = - registerArmorPiece("frozen_chestplate", ModArmorMaterials.FROZEN, ArmorType.CHESTPLATE) + registerArmorPiece("frozen_chestplate", ModArmorMaterials.FROZEN, ArmorItem.Type.CHESTPLATE) @JvmField val FROZEN_LEGGINGS: DeferredItem = - registerArmorPiece("frozen_leggings", ModArmorMaterials.FROZEN, ArmorType.LEGGINGS) + registerArmorPiece("frozen_leggings", ModArmorMaterials.FROZEN, ArmorItem.Type.LEGGINGS) @JvmField val FROZEN_BOOTS: DeferredItem = - registerArmorPiece("frozen_boots", ModArmorMaterials.FROZEN, ArmorType.BOOTS) + registerArmorPiece("frozen_boots", ModArmorMaterials.FROZEN, ArmorItem.Type.BOOTS) @JvmField val LAVA_HELMET: DeferredItem = - registerArmorPiece("lava_helmet", ModArmorMaterials.LAVA, ArmorType.HELMET, repairItem = Supplier { Material.LAVA_INGOT.get() }) + registerArmorPiece("lava_helmet", ModArmorMaterials.LAVA, ArmorItem.Type.HELMET, repairItem = Supplier { Material.LAVA_INGOT.get() }) @JvmField val LAVA_CHESTPLATE: DeferredItem = - registerArmorPiece("lava_chestplate", ModArmorMaterials.LAVA, ArmorType.CHESTPLATE, repairItem = Supplier { Material.LAVA_INGOT.get() }) + registerArmorPiece("lava_chestplate", ModArmorMaterials.LAVA, ArmorItem.Type.CHESTPLATE, repairItem = Supplier { Material.LAVA_INGOT.get() }) @JvmField val LAVA_LEGGINGS: DeferredItem = - registerArmorPiece("lava_leggings", ModArmorMaterials.LAVA, ArmorType.LEGGINGS, repairItem = Supplier { Material.LAVA_INGOT.get() }) + registerArmorPiece("lava_leggings", ModArmorMaterials.LAVA, ArmorItem.Type.LEGGINGS, repairItem = Supplier { Material.LAVA_INGOT.get() }) @JvmField val LAVA_BOOTS: DeferredItem = - registerArmorPiece("lava_boots", ModArmorMaterials.LAVA, ArmorType.BOOTS, repairItem = Supplier { Material.LAVA_INGOT.get() }) + registerArmorPiece("lava_boots", ModArmorMaterials.LAVA, ArmorItem.Type.BOOTS, repairItem = Supplier { Material.LAVA_INGOT.get() }) @JvmField val RUPERT_HELMET: DeferredItem = - registerArmorPiece("rupert_helmet", ModArmorMaterials.RUPERT, ArmorType.HELMET, repairItem = Supplier { Items.GHAST_TEAR }) + registerArmorPiece("rupert_helmet", ModArmorMaterials.RUPERT, ArmorItem.Type.HELMET, repairItem = Supplier { Items.GHAST_TEAR }) @JvmField val RUPERT_CHESTPLATE: DeferredItem = - registerArmorPiece("rupert_chestplate", ModArmorMaterials.RUPERT, ArmorType.CHESTPLATE, repairItem = Supplier { Items.GHAST_TEAR }) + registerArmorPiece("rupert_chestplate", ModArmorMaterials.RUPERT, ArmorItem.Type.CHESTPLATE, repairItem = Supplier { Items.GHAST_TEAR }) @JvmField val RUPERT_LEGGINGS: DeferredItem = - registerArmorPiece("rupert_leggings", ModArmorMaterials.RUPERT, ArmorType.LEGGINGS, repairItem = Supplier { Items.GHAST_TEAR }) + registerArmorPiece("rupert_leggings", ModArmorMaterials.RUPERT, ArmorItem.Type.LEGGINGS, repairItem = Supplier { Items.GHAST_TEAR }) @JvmField val RUPERT_BOOTS: DeferredItem = - registerArmorPiece("rupert_boots", ModArmorMaterials.RUPERT, ArmorType.BOOTS, repairItem = Supplier { Items.GHAST_TEAR }) + registerArmorPiece("rupert_boots", ModArmorMaterials.RUPERT, ArmorItem.Type.BOOTS, repairItem = Supplier { Items.GHAST_TEAR }) @JvmField val SHULKER_HELMET: DeferredItem = - registerArmorPiece("shulker_helmet", ModArmorMaterials.SHULKER, ArmorType.HELMET, repairItem = Supplier { Items.SHULKER_SHELL }) + registerArmorPiece("shulker_helmet", ModArmorMaterials.SHULKER, ArmorItem.Type.HELMET, repairItem = Supplier { Items.SHULKER_SHELL }) @JvmField val STEEL_HELMET: DeferredItem = - registerArmorPiece("steel_helmet", ModArmorMaterials.STEEL, ArmorType.HELMET, repairItem = Supplier { Material.STEEL_INGOT.get() }) + registerArmorPiece("steel_helmet", ModArmorMaterials.STEEL, ArmorItem.Type.HELMET, repairItem = Supplier { Material.STEEL_INGOT.get() }) @JvmField val STEEL_CHESTPLATE: DeferredItem = - registerArmorPiece("steel_chestplate", ModArmorMaterials.STEEL, ArmorType.CHESTPLATE, repairItem = Supplier { Material.STEEL_INGOT.get() }) + registerArmorPiece("steel_chestplate", ModArmorMaterials.STEEL, ArmorItem.Type.CHESTPLATE, repairItem = Supplier { Material.STEEL_INGOT.get() }) @JvmField val STEEL_LEGGINGS: DeferredItem = - registerArmorPiece("steel_leggings", ModArmorMaterials.STEEL, ArmorType.LEGGINGS, repairItem = Supplier { Material.STEEL_INGOT.get() }) + registerArmorPiece("steel_leggings", ModArmorMaterials.STEEL, ArmorItem.Type.LEGGINGS, repairItem = Supplier { Material.STEEL_INGOT.get() }) @JvmField val STEEL_BOOTS: DeferredItem = - registerArmorPiece("steel_boots", ModArmorMaterials.STEEL, ArmorType.BOOTS, repairItem = Supplier { Material.STEEL_INGOT.get() }) + registerArmorPiece("steel_boots", ModArmorMaterials.STEEL, ArmorItem.Type.BOOTS, repairItem = Supplier { Material.STEEL_INGOT.get() }) @JvmField val STONE_HELMET: DeferredItem = - registerArmorPiece("stone_helmet", ModArmorMaterials.STONE, ArmorType.HELMET, repairItem = Supplier { Items.COBBLESTONE }) + registerArmorPiece("stone_helmet", ModArmorMaterials.STONE, ArmorItem.Type.HELMET, repairItem = Supplier { Items.COBBLESTONE }) @JvmField val STONE_CHESTPLATE: DeferredItem = - registerArmorPiece("stone_chestplate", ModArmorMaterials.STONE, ArmorType.CHESTPLATE, repairItem = Supplier { Items.COBBLESTONE }) + registerArmorPiece("stone_chestplate", ModArmorMaterials.STONE, ArmorItem.Type.CHESTPLATE, repairItem = Supplier { Items.COBBLESTONE }) @JvmField val STONE_LEGGINGS: DeferredItem = - registerArmorPiece("stone_leggings", ModArmorMaterials.STONE, ArmorType.LEGGINGS, repairItem = Supplier { Items.COBBLESTONE }) + registerArmorPiece("stone_leggings", ModArmorMaterials.STONE, ArmorItem.Type.LEGGINGS, repairItem = Supplier { Items.COBBLESTONE }) @JvmField val STONE_BOOTS: DeferredItem = - registerArmorPiece("stone_boots", ModArmorMaterials.STONE, ArmorType.BOOTS, repairItem = Supplier { Items.COBBLESTONE }) + registerArmorPiece("stone_boots", ModArmorMaterials.STONE, ArmorItem.Type.BOOTS, repairItem = Supplier { Items.COBBLESTONE }) @JvmField val TURTLE_CHESTPLATE: DeferredItem = - registerArmorPiece("turtle_chestplate", ModArmorMaterials.TURTLE, ArmorType.CHESTPLATE, repairItem = Supplier { Items.TURTLE_SCUTE }) + registerArmorPiece("turtle_chestplate", ModArmorMaterials.TURTLE, ArmorItem.Type.CHESTPLATE, repairItem = Supplier { Items.TURTLE_SCUTE }) @JvmField val TURTLE_LEGGINGS: DeferredItem = - registerArmorPiece("turtle_leggings", ModArmorMaterials.TURTLE, ArmorType.LEGGINGS, repairItem = Supplier { Items.TURTLE_SCUTE }) + registerArmorPiece("turtle_leggings", ModArmorMaterials.TURTLE, ArmorItem.Type.LEGGINGS, repairItem = Supplier { Items.TURTLE_SCUTE }) @JvmField val TURTLE_BOOTS: DeferredItem = - registerArmorPiece("turtle_boots", ModArmorMaterials.TURTLE, ArmorType.BOOTS, repairItem = Supplier { Items.TURTLE_SCUTE }) + registerArmorPiece("turtle_boots", ModArmorMaterials.TURTLE, ArmorItem.Type.BOOTS, repairItem = Supplier { Items.TURTLE_SCUTE }) @JvmField val WOOD_HELMET: DeferredItem = - registerArmorPiece("wood_helmet", ModArmorMaterials.WOOD, ArmorType.HELMET, repairTag = ItemTags.PLANKS) + registerArmorPiece("wood_helmet", ModArmorMaterials.WOOD, ArmorItem.Type.HELMET, repairTag = ItemTags.PLANKS) @JvmField val WOOD_CHESTPLATE: DeferredItem = - registerArmorPiece("wood_chestplate", ModArmorMaterials.WOOD, ArmorType.CHESTPLATE, repairTag = ItemTags.PLANKS) + registerArmorPiece("wood_chestplate", ModArmorMaterials.WOOD, ArmorItem.Type.CHESTPLATE, repairTag = ItemTags.PLANKS) @JvmField val WOOD_LEGGINGS: DeferredItem = - registerArmorPiece("wood_leggings", ModArmorMaterials.WOOD, ArmorType.LEGGINGS, repairTag = ItemTags.PLANKS) + registerArmorPiece("wood_leggings", ModArmorMaterials.WOOD, ArmorItem.Type.LEGGINGS, repairTag = ItemTags.PLANKS) @JvmField val WOOD_BOOTS: DeferredItem = - registerArmorPiece("wood_boots", ModArmorMaterials.WOOD, ArmorType.BOOTS, repairTag = ItemTags.PLANKS) + registerArmorPiece("wood_boots", ModArmorMaterials.WOOD, ArmorItem.Type.BOOTS, repairTag = ItemTags.PLANKS) @JvmStatic fun load() { diff --git a/src/main/java/com/dec/decisland/item/category/Crop.kt b/src/main/java/com/dec/decisland/item/category/Crop.kt index 4bb2958..07b25a3 100644 --- a/src/main/java/com/dec/decisland/item/category/Crop.kt +++ b/src/main/java/com/dec/decisland/item/category/Crop.kt @@ -20,7 +20,6 @@ import net.minecraft.world.food.FoodProperties import net.minecraft.world.item.BlockItem import net.minecraft.world.item.CreativeModeTab import net.minecraft.world.item.Item -import net.minecraft.world.item.component.Consumables import net.minecraft.world.level.block.Block import net.neoforged.neoforge.registries.DeferredBlock import net.neoforged.neoforge.registries.DeferredItem @@ -43,8 +42,7 @@ object Crop { ItemConfig.Builder(name) .props { Item.Properties().food( - FoodProperties(nutrition, saturation, false), - Consumables.defaultFood().consumeSeconds(1.6f).build(), + FoodProperties.Builder().nutrition(nutrition).saturationModifier(saturation).build(), ) } .customProp(CustomItemProperties.Builder().compostableChance(compostableChance).build()) @@ -173,8 +171,7 @@ object Crop { .func { props -> BlockItem(SOYBEAN_CROP.get(), props) } .props { Item.Properties().food( - FoodProperties(1, 0.5f, false), - Consumables.defaultFood().build(), + FoodProperties.Builder().nutrition(1).saturationModifier(0.5f).build(), ) } .customProp(CustomItemProperties.Builder().compostableChance(0.3f).build()) diff --git a/src/main/java/com/dec/decisland/item/category/Fashion.kt b/src/main/java/com/dec/decisland/item/category/Fashion.kt index b71c899..e0ca5a1 100644 --- a/src/main/java/com/dec/decisland/item/category/Fashion.kt +++ b/src/main/java/com/dec/decisland/item/category/Fashion.kt @@ -2,14 +2,14 @@ package com.dec.decisland.item.category import com.dec.decisland.item.ItemConfig import com.dec.decisland.item.ModArmorMaterials +import com.dec.decisland.item.ModArmorMaterials.ModArmorMaterial import com.dec.decisland.item.ModCreativeModeTabs import com.dec.decisland.item.ModItems import net.minecraft.core.registries.BuiltInRegistries +import net.minecraft.world.item.ArmorItem import net.minecraft.world.item.CreativeModeTab import net.minecraft.world.item.Item import net.minecraft.world.item.ItemStack -import net.minecraft.world.item.equipment.ArmorMaterial -import net.minecraft.world.item.equipment.ArmorType import net.neoforged.neoforge.registries.DeferredItem import java.util.function.Supplier @@ -28,7 +28,7 @@ object Fashion { data class Definition( val name: String, - val armorType: ArmorType, + val armorType: ArmorItem.Type, val modelKind: ModelKind, ) @@ -44,29 +44,30 @@ object Fashion { private fun register( definition: Definition, - material: ArmorMaterial, + material: ModArmorMaterial, tab: Supplier, ): DeferredItem { definitionsByName[definition.name] = definition return ModItems.registerItem( ItemConfig.Builder(definition.name) - .props { Item.Properties().humanoidArmor(material, definition.armorType) } + .func { props -> ArmorItem(material.holder, definition.armorType, props) } + .props { Item.Properties().durability(definition.armorType.getDurability(material.durabilityMultiplier)) } .creativeTab(tab) .build(), ).also(registeredItems::add) } private fun helmet(name: String, modelKind: ModelKind): DeferredItem = - register(Definition(name, ArmorType.HELMET, modelKind)) + register(Definition(name, ArmorItem.Type.HELMET, modelKind)) private fun chest(name: String, modelKind: ModelKind): DeferredItem = - register(Definition(name, ArmorType.CHESTPLATE, modelKind)) + register(Definition(name, ArmorItem.Type.CHESTPLATE, modelKind)) private fun legs(name: String, modelKind: ModelKind): DeferredItem = - register(Definition(name, ArmorType.LEGGINGS, modelKind)) + register(Definition(name, ArmorItem.Type.LEGGINGS, modelKind)) private fun boots(name: String, modelKind: ModelKind): DeferredItem = - register(Definition(name, ArmorType.BOOTS, modelKind)) + register(Definition(name, ArmorItem.Type.BOOTS, modelKind)) @JvmStatic fun allItems(): Array = registeredItems.map { it.get() }.toTypedArray() @@ -217,11 +218,11 @@ object Fashion { @JvmField val PIGLIN_CHESTPLATE: DeferredItem = - register(Definition("piglin_chestplate", ArmorType.CHESTPLATE, ModelKind.CLOTHES), ModArmorMaterials.PIGLIN, Armor.creativeTab) + register(Definition("piglin_chestplate", ArmorItem.Type.CHESTPLATE, ModelKind.CLOTHES), ModArmorMaterials.PIGLIN, Armor.creativeTab) @JvmField val PIGLIN_LEGGINGS: DeferredItem = - register(Definition("piglin_leggings", ArmorType.LEGGINGS, ModelKind.CLOTHES), ModArmorMaterials.PIGLIN, Armor.creativeTab) + register(Definition("piglin_leggings", ArmorItem.Type.LEGGINGS, ModelKind.CLOTHES), ModArmorMaterials.PIGLIN, Armor.creativeTab) @JvmStatic fun load() { diff --git a/src/main/java/com/dec/decisland/item/category/Fish.kt b/src/main/java/com/dec/decisland/item/category/Fish.kt index af2483b..13cdc9b 100644 --- a/src/main/java/com/dec/decisland/item/category/Fish.kt +++ b/src/main/java/com/dec/decisland/item/category/Fish.kt @@ -1,23 +1,23 @@ -package com.dec.decisland.item.category +package com.dec.decisland.item.category import com.dec.decisland.item.CustomItemProperties import com.dec.decisland.item.ItemConfig import com.dec.decisland.item.ModCreativeModeTabs import com.dec.decisland.item.ModItems +import com.dec.decisland.item.ToolMaterial +import com.dec.decisland.item.compat.sword +import com.dec.decisland.item.compat.useCooldown import com.dec.decisland.item.custom.AshPufferfish import com.dec.decisland.item.custom.EnderFish import com.dec.decisland.item.custom.SwordFish import com.dec.decisland.tag.ModItemTags -import net.minecraft.client.data.models.model.ModelTemplates +import net.minecraft.data.models.model.ModelTemplates import net.minecraft.tags.TagKey import net.minecraft.world.effect.MobEffectInstance import net.minecraft.world.effect.MobEffects import net.minecraft.world.food.FoodProperties import net.minecraft.world.item.Item import net.minecraft.world.item.Items -import net.minecraft.world.item.ToolMaterial -import net.minecraft.world.item.component.Consumables -import net.minecraft.world.item.consume_effects.ApplyStatusEffectsConsumeEffect import net.neoforged.neoforge.registries.DeferredItem import java.util.function.Supplier @@ -28,7 +28,7 @@ object Fish { zhCn: String, props: Supplier, tab: Supplier = ModCreativeModeTabs.DECISLAND_FOODS_TAB, - modelTemplate: net.minecraft.client.data.models.model.ModelTemplate = ModelTemplates.FLAT_ITEM, + modelTemplate: net.minecraft.data.models.model.ModelTemplate = ModelTemplates.FLAT_ITEM, customProp: CustomItemProperties = CustomItemProperties.Builder().build(), func: java.util.function.Function = java.util.function.Function(::Item), tags: List> = emptyList(), @@ -44,28 +44,32 @@ object Fish { .build(), ) + /** 1.21.1 兼容层:替代 1.21.2+ 的 ApplyStatusEffectsConsumeEffect(食用时以概率施加效果)。 */ + private data class FishEffect(val effect: MobEffectInstance, val probability: Float = 1.0f) + private fun foodProps( nutrition: Int, saturation: Float, alwaysEat: Boolean = false, useDurationSeconds: Float = 1.6f, convertTo: Item? = null, - consumeEffects: List = emptyList(), + consumeEffects: List = emptyList(), configureProps: (Item.Properties.() -> Item.Properties)? = null, ): Supplier = Supplier { - val consumable = Consumables.defaultFood() - if (useDurationSeconds != 1.6f) { - consumable.consumeSeconds(useDurationSeconds) + val foodBuilder = FoodProperties.Builder().nutrition(nutrition).saturationModifier(saturation) + if (alwaysEat) { + foodBuilder.alwaysEdible() + } + if (convertTo != null) { + foodBuilder.usingConvertsTo(convertTo) } - consumeEffects.forEach(consumable::onConsume) + consumeEffects.forEach { foodBuilder.effect(it.effect, it.probability) } + val food = foodBuilder.build() var props = Item.Properties().food( - FoodProperties(nutrition, saturation, alwaysEat), - consumable.build(), + if (useDurationSeconds == 1.6f) food + else FoodProperties(food.nutrition, food.saturation, food.canAlwaysEat, useDurationSeconds, food.usingConvertsTo, food.effects), ) - if (convertTo != null) { - props = props.usingConvertsTo(convertTo) - } if (configureProps != null) { props = configureProps.invoke(props) } @@ -93,8 +97,8 @@ object Fish { 0.2f, alwaysEat = true, consumeEffects = listOf( - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.POISON, 5 * 20, 2), 0.7f), - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.INSTANT_DAMAGE, 1, 0), 0.5f), + FishEffect(MobEffectInstance(MobEffects.POISON, 5 * 20, 2), 0.7f), + FishEffect(MobEffectInstance(MobEffects.HARM, 1, 0), 0.5f), ), ), ) @@ -109,8 +113,8 @@ object Fish { 0.2f, alwaysEat = true, consumeEffects = listOf( - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.POISON, 5 * 20, 2), 0.7f), - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.INSTANT_DAMAGE, 1, 0), 0.75f), + FishEffect(MobEffectInstance(MobEffects.POISON, 5 * 20, 2), 0.7f), + FishEffect(MobEffectInstance(MobEffects.HARM, 1, 0), 0.75f), ), ), ) @@ -125,7 +129,7 @@ object Fish { 0.2f, alwaysEat = true, consumeEffects = listOf( - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.POISON, 5 * 20, 3), 0.7f), + FishEffect(MobEffectInstance(MobEffects.POISON, 5 * 20, 3), 0.7f), ), ), ) @@ -140,7 +144,7 @@ object Fish { 0.2f, alwaysEat = true, consumeEffects = listOf( - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.POISON, 5 * 20, 2), 0.7f), + FishEffect(MobEffectInstance(MobEffects.POISON, 5 * 20, 2), 0.7f), ), ), ) @@ -203,7 +207,7 @@ object Fish { 3, 0.6f, consumeEffects = listOf( - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.POISON, 20 * 20, 1), 0.8f), + FishEffect(MobEffectInstance(MobEffects.POISON, 20 * 20, 1), 0.8f), ), ), ) @@ -217,7 +221,7 @@ object Fish { 3, 0.6f, consumeEffects = listOf( - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.INSTANT_DAMAGE, 1, 1), 0.7f), + FishEffect(MobEffectInstance(MobEffects.HARM, 1, 1), 0.7f), ), ), ) @@ -231,7 +235,7 @@ object Fish { 4, 0.6f, consumeEffects = listOf( - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.SLOWNESS, 10 * 20, 0), 0.5f), + FishEffect(MobEffectInstance(MobEffects.MOVEMENT_SLOWDOWN, 10 * 20, 0), 0.5f), ), ), ) @@ -270,7 +274,7 @@ object Fish { 4, 0.5f, consumeEffects = listOf( - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.SLOWNESS, 30 * 20, 1)), + FishEffect(MobEffectInstance(MobEffects.MOVEMENT_SLOWDOWN, 30 * 20, 1)), ), ), ) @@ -300,7 +304,7 @@ object Fish { 3, 0.6f, consumeEffects = listOf( - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.POISON, 5 * 20, 3), 0.9f), + FishEffect(MobEffectInstance(MobEffects.POISON, 5 * 20, 3), 0.9f), ), ), ) @@ -322,8 +326,8 @@ object Fish { 2, 0.6f, consumeEffects = listOf( - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.POISON, 10 * 20, 0), 0.3f), - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.HUNGER, 30 * 20, 0), 0.25f), + FishEffect(MobEffectInstance(MobEffects.POISON, 10 * 20, 0), 0.3f), + FishEffect(MobEffectInstance(MobEffects.HUNGER, 30 * 20, 0), 0.25f), ), ), ) @@ -353,7 +357,7 @@ object Fish { 3, 0.5f, consumeEffects = listOf( - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.POISON, 5 * 20, 1)), + FishEffect(MobEffectInstance(MobEffects.POISON, 5 * 20, 1)), ), ), ) @@ -377,7 +381,7 @@ object Fish { alwaysEat = true, useDurationSeconds = 3.2f, consumeEffects = listOf( - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.STRENGTH, 150 * 20, 1)), + FishEffect(MobEffectInstance(MobEffects.DAMAGE_BOOST, 150 * 20, 1)), ), ).let { supplier -> Supplier { diff --git a/src/main/java/com/dec/decisland/item/category/Food.kt b/src/main/java/com/dec/decisland/item/category/Food.kt index 7c0e76a..6e1b45f 100644 --- a/src/main/java/com/dec/decisland/item/category/Food.kt +++ b/src/main/java/com/dec/decisland/item/category/Food.kt @@ -4,21 +4,37 @@ import com.dec.decisland.item.CustomItemProperties import com.dec.decisland.item.ItemConfig import com.dec.decisland.item.ModCreativeModeTabs import com.dec.decisland.item.ModItems +import com.dec.decisland.item.compat.useCooldown import com.dec.decisland.item.custom.GlintItem -import net.minecraft.client.data.models.model.ModelTemplates +import net.minecraft.core.Holder +import net.minecraft.data.models.model.ModelTemplates +import net.minecraft.world.effect.MobEffect import net.minecraft.world.effect.MobEffectInstance import net.minecraft.world.effect.MobEffects +import net.minecraft.world.entity.LivingEntity import net.minecraft.world.food.FoodProperties import net.minecraft.world.item.Item +import net.minecraft.world.item.ItemStack import net.minecraft.world.item.Items -import net.minecraft.world.item.component.Consumables -import net.minecraft.world.item.consume_effects.ApplyStatusEffectsConsumeEffect -import net.minecraft.world.item.consume_effects.ConsumeEffect -import net.minecraft.world.item.consume_effects.RemoveStatusEffectsConsumeEffect +import net.minecraft.world.level.Level import net.neoforged.neoforge.registries.DeferredItem import java.util.function.Supplier object Food { + /** 1.21.1 兼容层:替代 1.21.2+ 的 ApplyStatusEffectsConsumeEffect(食用时以概率施加效果)。 */ + private data class FoodEffect(val effect: MobEffectInstance, val probability: Float = 1.0f) + + /** 1.21.1 兼容层:替代 1.21.2+ 的 RemoveStatusEffectsConsumeEffect(食用时移除指定效果)。 */ + private class CureFoodItem(properties: Item.Properties, private val cures: List>) : Item(properties) { + override fun finishUsingItem(stack: ItemStack, level: Level, livingEntity: LivingEntity): ItemStack { + val result = super.finishUsingItem(stack, level, livingEntity) + if (!level.isClientSide) { + cures.forEach { livingEntity.removeEffect(it) } + } + return result + } + } + private fun registerConsumable( name: String, enUs: String? = null, @@ -33,7 +49,8 @@ object Food { cooldown: Float? = null, useDurationSeconds: Float = 1.6f, compostableChance: Float = 0.0f, - effects: List = emptyList(), + effects: List = emptyList(), + cures: List> = emptyList(), ): DeferredItem { val builder = ItemConfig.Builder( name, @@ -42,32 +59,34 @@ object Food { if (zhCn != null) put("zh_cn", zhCn) }, ) - if (glint) { + if (cures.isNotEmpty()) { + builder.func { props -> CureFoodItem(props, cures) } + } else if (glint) { builder.func(::GlintItem) } return ModItems.registerItem( builder .props { - var consumable = if (drink) Consumables.defaultDrink() else Consumables.defaultFood() - if (useDurationSeconds != 1.6f) { - consumable = consumable.consumeSeconds(useDurationSeconds) + val foodBuilder = FoodProperties.Builder().nutrition(nutrition).saturationModifier(saturation) + if (alwaysEat) { + foodBuilder.alwaysEdible() } - effects.forEach { effect -> - consumable = consumable.onConsume(effect) + if (convertTo != null) { + foodBuilder.usingConvertsTo(convertTo.get()) } + effects.forEach { foodBuilder.effect(it.effect, it.probability) } + val food = foodBuilder.build() var properties = Item.Properties() .stacksTo(stackSize) - .food(FoodProperties(nutrition, saturation, alwaysEat), consumable.build()) - - if (convertTo != null) { - properties = properties.usingConvertsTo(convertTo.get()) - } + .food( + if (useDurationSeconds == 1.6f) food + else FoodProperties(food.nutrition, food.saturation, food.canAlwaysEat, useDurationSeconds, food.usingConvertsTo, food.effects), + ) if (cooldown != null) { properties = properties.useCooldown(cooldown) } - properties } .customProp(CustomItemProperties.Builder().compostableChance(compostableChance).build()) @@ -86,11 +105,11 @@ object Food { saturation = 1.0f, alwaysEat = true, effects = listOf( - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.REGENERATION, 20 * 20, 2)), - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.ABSORPTION, 180 * 20, 2)), - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.RESISTANCE, 120 * 20, 0)), - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.FIRE_RESISTANCE, 120 * 20, 0)), - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.STRENGTH, 180 * 20, 0)), + FoodEffect(MobEffectInstance(MobEffects.REGENERATION, 20 * 20, 2)), + FoodEffect(MobEffectInstance(MobEffects.ABSORPTION, 180 * 20, 2)), + FoodEffect(MobEffectInstance(MobEffects.DAMAGE_RESISTANCE, 120 * 20, 0)), + FoodEffect(MobEffectInstance(MobEffects.FIRE_RESISTANCE, 120 * 20, 0)), + FoodEffect(MobEffectInstance(MobEffects.DAMAGE_BOOST, 180 * 20, 0)), ), ) @@ -104,14 +123,14 @@ object Food { alwaysEat = true, glint = true, effects = listOf( - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.REGENERATION, 20 * 20, 2)), - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.ABSORPTION, 180 * 20, 2)), - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.RESISTANCE, 120 * 20, 1)), - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.FIRE_RESISTANCE, 120 * 20, 0)), - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.STRENGTH, 180 * 20, 0)), - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.NIGHT_VISION, 180 * 20, 0)), - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.HASTE, 180 * 20, 0)), - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.JUMP_BOOST, 180 * 20, 1)), + FoodEffect(MobEffectInstance(MobEffects.REGENERATION, 20 * 20, 2)), + FoodEffect(MobEffectInstance(MobEffects.ABSORPTION, 180 * 20, 2)), + FoodEffect(MobEffectInstance(MobEffects.DAMAGE_RESISTANCE, 120 * 20, 1)), + FoodEffect(MobEffectInstance(MobEffects.FIRE_RESISTANCE, 120 * 20, 0)), + FoodEffect(MobEffectInstance(MobEffects.DAMAGE_BOOST, 180 * 20, 0)), + FoodEffect(MobEffectInstance(MobEffects.NIGHT_VISION, 180 * 20, 0)), + FoodEffect(MobEffectInstance(MobEffects.DIG_SPEED, 180 * 20, 0)), + FoodEffect(MobEffectInstance(MobEffects.JUMP, 180 * 20, 1)), ), ) @@ -124,12 +143,12 @@ object Food { saturation = 1.0f, alwaysEat = true, effects = listOf( - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.HERO_OF_THE_VILLAGE, 180 * 20, 0)), - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.HASTE, 180 * 20, 1)), - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.SPEED, 180 * 20, 0)), - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.NIGHT_VISION, 180 * 20, 0)), - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.STRENGTH, 180 * 20, 1)), - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.RESISTANCE, 180 * 20, 0)), + FoodEffect(MobEffectInstance(MobEffects.HERO_OF_THE_VILLAGE, 180 * 20, 0)), + FoodEffect(MobEffectInstance(MobEffects.DIG_SPEED, 180 * 20, 1)), + FoodEffect(MobEffectInstance(MobEffects.MOVEMENT_SPEED, 180 * 20, 0)), + FoodEffect(MobEffectInstance(MobEffects.NIGHT_VISION, 180 * 20, 0)), + FoodEffect(MobEffectInstance(MobEffects.DAMAGE_BOOST, 180 * 20, 1)), + FoodEffect(MobEffectInstance(MobEffects.DAMAGE_RESISTANCE, 180 * 20, 0)), ), ) @@ -143,14 +162,14 @@ object Food { alwaysEat = true, glint = true, effects = listOf( - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.HERO_OF_THE_VILLAGE, 180 * 20, 0)), - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.HASTE, 180 * 20, 1)), - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.SPEED, 180 * 20, 2)), - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.NIGHT_VISION, 180 * 20, 0)), - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.STRENGTH, 180 * 20, 1)), - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.RESISTANCE, 180 * 20, 1)), - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.JUMP_BOOST, 180 * 20, 0)), - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.SATURATION, 60 * 20, 0)), + FoodEffect(MobEffectInstance(MobEffects.HERO_OF_THE_VILLAGE, 180 * 20, 0)), + FoodEffect(MobEffectInstance(MobEffects.DIG_SPEED, 180 * 20, 1)), + FoodEffect(MobEffectInstance(MobEffects.MOVEMENT_SPEED, 180 * 20, 2)), + FoodEffect(MobEffectInstance(MobEffects.NIGHT_VISION, 180 * 20, 0)), + FoodEffect(MobEffectInstance(MobEffects.DAMAGE_BOOST, 180 * 20, 1)), + FoodEffect(MobEffectInstance(MobEffects.DAMAGE_RESISTANCE, 180 * 20, 1)), + FoodEffect(MobEffectInstance(MobEffects.JUMP, 180 * 20, 0)), + FoodEffect(MobEffectInstance(MobEffects.SATURATION, 60 * 20, 0)), ), ) @@ -163,8 +182,8 @@ object Food { saturation = 1.0f, alwaysEat = true, effects = listOf( - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.ABSORPTION, 120 * 20, 0)), - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.RESISTANCE, 120 * 20, 0)), + FoodEffect(MobEffectInstance(MobEffects.ABSORPTION, 120 * 20, 0)), + FoodEffect(MobEffectInstance(MobEffects.DAMAGE_RESISTANCE, 120 * 20, 0)), ), ) @@ -178,10 +197,10 @@ object Food { alwaysEat = true, glint = true, effects = listOf( - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.RESISTANCE, 120 * 20, 1)), - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.ABSORPTION, 120 * 20, 1)), - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.REGENERATION, 60 * 20, 1)), - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.HEALTH_BOOST, 150 * 20, 1)), + FoodEffect(MobEffectInstance(MobEffects.DAMAGE_RESISTANCE, 120 * 20, 1)), + FoodEffect(MobEffectInstance(MobEffects.ABSORPTION, 120 * 20, 1)), + FoodEffect(MobEffectInstance(MobEffects.REGENERATION, 60 * 20, 1)), + FoodEffect(MobEffectInstance(MobEffects.HEALTH_BOOST, 150 * 20, 1)), ), ) @@ -195,9 +214,9 @@ object Food { alwaysEat = true, cooldown = 30.0f, effects = listOf( - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.RESISTANCE, 4 * 20, 6)), - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.SPEED, 20 * 20, 1)), - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.INSTANT_HEALTH, 1, 0)), + FoodEffect(MobEffectInstance(MobEffects.DAMAGE_RESISTANCE, 4 * 20, 6)), + FoodEffect(MobEffectInstance(MobEffects.MOVEMENT_SPEED, 20 * 20, 1)), + FoodEffect(MobEffectInstance(MobEffects.HEAL, 1, 0)), ), ) @@ -210,7 +229,7 @@ object Food { saturation = 1.0f, alwaysEat = true, effects = listOf( - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.ABSORPTION, 120 * 20, 0)), + FoodEffect(MobEffectInstance(MobEffects.ABSORPTION, 120 * 20, 0)), ), ) @@ -224,9 +243,9 @@ object Food { alwaysEat = true, glint = true, effects = listOf( - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.ABSORPTION, 180 * 20, 2)), - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.NIGHT_VISION, 120 * 20, 0)), - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.REGENERATION, 180 * 20, 0)), + FoodEffect(MobEffectInstance(MobEffects.ABSORPTION, 180 * 20, 2)), + FoodEffect(MobEffectInstance(MobEffects.NIGHT_VISION, 120 * 20, 0)), + FoodEffect(MobEffectInstance(MobEffects.REGENERATION, 180 * 20, 0)), ), ) @@ -239,11 +258,11 @@ object Food { saturation = 1.0f, alwaysEat = true, effects = listOf( - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.HUNGER, 10 * 20, 1)), - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.POISON, 10 * 20, 2)), - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.STRENGTH, 10 * 20, 7)), - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.NAUSEA, 10 * 20, 0)), - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.SLOWNESS, 10 * 20, 2)), + FoodEffect(MobEffectInstance(MobEffects.HUNGER, 10 * 20, 1)), + FoodEffect(MobEffectInstance(MobEffects.POISON, 10 * 20, 2)), + FoodEffect(MobEffectInstance(MobEffects.DAMAGE_BOOST, 10 * 20, 7)), + FoodEffect(MobEffectInstance(MobEffects.CONFUSION, 10 * 20, 0)), + FoodEffect(MobEffectInstance(MobEffects.MOVEMENT_SLOWDOWN, 10 * 20, 2)), ), ) @@ -260,7 +279,7 @@ object Food { stackSize = 1, convertTo = Supplier { Items.GLASS_BOTTLE }, effects = listOf( - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.HASTE, 300 * 20, 0)), + FoodEffect(MobEffectInstance(MobEffects.DIG_SPEED, 300 * 20, 0)), ), ) @@ -277,7 +296,7 @@ object Food { stackSize = 1, convertTo = Supplier { Items.GLASS_BOTTLE }, effects = listOf( - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.RESISTANCE, 300 * 20, 0)), + FoodEffect(MobEffectInstance(MobEffects.DAMAGE_RESISTANCE, 300 * 20, 0)), ), ) @@ -292,7 +311,7 @@ object Food { drink = true, convertTo = Supplier { Material.WINE_GLASS.get() }, effects = listOf( - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.NAUSEA, 60 * 20, 0), 0.3f), + FoodEffect(MobEffectInstance(MobEffects.CONFUSION, 60 * 20, 0), 0.3f), ), ) @@ -315,8 +334,8 @@ object Food { alwaysEat = true, cooldown = 60.0f, effects = listOf( - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.RESISTANCE, 4 * 20, 4)), - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.SLOWNESS, 4 * 20, 4)), + FoodEffect(MobEffectInstance(MobEffects.DAMAGE_RESISTANCE, 4 * 20, 4)), + FoodEffect(MobEffectInstance(MobEffects.MOVEMENT_SLOWDOWN, 4 * 20, 4)), ), ) @@ -336,16 +355,16 @@ object Food { alwaysEat = true, drink = true, effects = listOf( - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.HERO_OF_THE_VILLAGE, 600 * 20, 0)), - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.HASTE, 600 * 20, 1)), - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.SPEED, 600 * 20, 0)), - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.NIGHT_VISION, 600 * 20, 0)), - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.STRENGTH, 600 * 20, 0)), - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.RESISTANCE, 600 * 20, 0)), - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.FIRE_RESISTANCE, 600 * 20, 0)), - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.WATER_BREATHING, 600 * 20, 0)), - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.REGENERATION, 600 * 20, 0)), - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.ABSORPTION, 600 * 20, 0)), + FoodEffect(MobEffectInstance(MobEffects.HERO_OF_THE_VILLAGE, 600 * 20, 0)), + FoodEffect(MobEffectInstance(MobEffects.DIG_SPEED, 600 * 20, 1)), + FoodEffect(MobEffectInstance(MobEffects.MOVEMENT_SPEED, 600 * 20, 0)), + FoodEffect(MobEffectInstance(MobEffects.NIGHT_VISION, 600 * 20, 0)), + FoodEffect(MobEffectInstance(MobEffects.DAMAGE_BOOST, 600 * 20, 0)), + FoodEffect(MobEffectInstance(MobEffects.DAMAGE_RESISTANCE, 600 * 20, 0)), + FoodEffect(MobEffectInstance(MobEffects.FIRE_RESISTANCE, 600 * 20, 0)), + FoodEffect(MobEffectInstance(MobEffects.WATER_BREATHING, 600 * 20, 0)), + FoodEffect(MobEffectInstance(MobEffects.REGENERATION, 600 * 20, 0)), + FoodEffect(MobEffectInstance(MobEffects.ABSORPTION, 600 * 20, 0)), ), ) @@ -355,7 +374,7 @@ object Food { nutrition = 5, saturation = 0.5f, effects = listOf( - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.NAUSEA, 15 * 20, 0)), + FoodEffect(MobEffectInstance(MobEffects.CONFUSION, 15 * 20, 0)), ), ) @@ -382,9 +401,7 @@ object Food { nutrition = 3, saturation = 0.6f, alwaysEat = true, - effects = listOf( - RemoveStatusEffectsConsumeEffect(MobEffects.POISON), - ), + cures = listOf(MobEffects.POISON), ) @JvmField @@ -393,7 +410,7 @@ object Food { nutrition = 2, saturation = 0.5f, effects = listOf( - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.REGENERATION, 5 * 20, 1)), + FoodEffect(MobEffectInstance(MobEffects.REGENERATION, 5 * 20, 1)), ), ) @@ -403,9 +420,7 @@ object Food { nutrition = 1, saturation = 0.5f, alwaysEat = true, - effects = listOf( - RemoveStatusEffectsConsumeEffect(MobEffects.NAUSEA), - ), + cures = listOf(MobEffects.CONFUSION), ) @JvmField @@ -414,8 +429,8 @@ object Food { nutrition = 3, saturation = 0.5f, effects = listOf( - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.POISON, 10 * 20, 0)), - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.NAUSEA, 30 * 20, 0)), + FoodEffect(MobEffectInstance(MobEffects.POISON, 10 * 20, 0)), + FoodEffect(MobEffectInstance(MobEffects.CONFUSION, 30 * 20, 0)), ), ) @@ -432,9 +447,9 @@ object Food { nutrition = 2, saturation = 0.4f, effects = listOf( - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.POISON, 10 * 20, 0)), - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.NAUSEA, 30 * 20, 0)), - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.WITHER, 10 * 20, 0)), + FoodEffect(MobEffectInstance(MobEffects.POISON, 10 * 20, 0)), + FoodEffect(MobEffectInstance(MobEffects.CONFUSION, 30 * 20, 0)), + FoodEffect(MobEffectInstance(MobEffects.WITHER, 10 * 20, 0)), ), ) @@ -466,8 +481,8 @@ object Food { nutrition = 3, saturation = 0.5f, effects = listOf( - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.POISON, 15 * 20, 0)), - ApplyStatusEffectsConsumeEffect(MobEffectInstance(MobEffects.NAUSEA, 20 * 20, 0)), + FoodEffect(MobEffectInstance(MobEffects.POISON, 15 * 20, 0)), + FoodEffect(MobEffectInstance(MobEffects.CONFUSION, 20 * 20, 0)), ), ) diff --git a/src/main/java/com/dec/decisland/item/category/SummonItem.kt b/src/main/java/com/dec/decisland/item/category/SummonItem.kt index 83b8aae..88afc23 100644 --- a/src/main/java/com/dec/decisland/item/category/SummonItem.kt +++ b/src/main/java/com/dec/decisland/item/category/SummonItem.kt @@ -4,8 +4,8 @@ import com.dec.decisland.item.ItemConfig import com.dec.decisland.item.ModCreativeModeTabs import com.dec.decisland.item.ModItems import com.dec.decisland.item.custom.GlintItem -import net.minecraft.client.data.models.model.ModelTemplate -import net.minecraft.client.data.models.model.ModelTemplates +import net.minecraft.data.models.model.ModelTemplate +import net.minecraft.data.models.model.ModelTemplates import net.minecraft.world.item.CreativeModeTab import net.minecraft.world.item.Item import net.neoforged.neoforge.registries.DeferredItem diff --git a/src/main/java/com/dec/decisland/item/category/Tool.kt b/src/main/java/com/dec/decisland/item/category/Tool.kt index ef0b2bb..4b6a105 100644 --- a/src/main/java/com/dec/decisland/item/category/Tool.kt +++ b/src/main/java/com/dec/decisland/item/category/Tool.kt @@ -4,11 +4,14 @@ import com.dec.decisland.item.ItemConfig import com.dec.decisland.item.ModCreativeModeTabs import com.dec.decisland.item.ModItems import com.dec.decisland.item.ModToolMaterial -import net.minecraft.client.data.models.model.ModelTemplates +import com.dec.decisland.item.ToolMaterial +import com.dec.decisland.item.compat.axe +import com.dec.decisland.item.compat.pickaxe +import com.dec.decisland.item.compat.repairable +import net.minecraft.data.models.model.ModelTemplates import net.minecraft.tags.ItemTags import net.minecraft.world.item.Item import net.minecraft.world.item.Items -import net.minecraft.world.item.ToolMaterial import net.neoforged.neoforge.registries.DeferredItem import java.util.function.Supplier diff --git a/src/main/java/com/dec/decisland/item/category/Weapon.kt b/src/main/java/com/dec/decisland/item/category/Weapon.kt index 7e520c9..3d3d391 100644 --- a/src/main/java/com/dec/decisland/item/category/Weapon.kt +++ b/src/main/java/com/dec/decisland/item/category/Weapon.kt @@ -22,23 +22,26 @@ import com.dec.decisland.item.gun.ShortFlintlock import com.dec.decisland.item.gun.StarFlintlock import com.dec.decisland.item.gun.StormFlintlock import com.dec.decisland.tag.ModItemTags -import net.minecraft.client.data.models.model.ModelTemplate -import net.minecraft.client.data.models.model.ModelTemplates +import net.minecraft.data.models.model.ModelTemplate +import net.minecraft.data.models.model.ModelTemplates import net.minecraft.core.Holder import net.minecraft.core.component.DataComponents -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.tags.ItemTags -import net.minecraft.util.Unit as McUnit import net.minecraft.tags.TagKey +import com.dec.decisland.item.ToolMaterial +import com.dec.decisland.item.compat.axe +import com.dec.decisland.item.compat.enchantable +import com.dec.decisland.item.compat.repairable +import com.dec.decisland.item.compat.sword +import com.dec.decisland.item.compat.useCooldown import net.minecraft.world.food.FoodProperties import net.minecraft.world.effect.MobEffect import net.minecraft.world.effect.MobEffects import net.minecraft.world.item.Item import net.minecraft.world.item.Items.STICK import net.minecraft.world.item.Items -import net.minecraft.world.item.ToolMaterial -import net.minecraft.world.item.component.Consumables -import net.minecraft.world.item.component.UseEffects +import net.minecraft.world.item.component.Unbreakable import net.neoforged.neoforge.registries.DeferredItem import java.util.function.Function import java.util.function.Supplier @@ -530,7 +533,7 @@ object Weapon { ItemConfig.Builder("candy_cane") .props { Item.Properties() - .food(FoodProperties(2, 0.2f, true), Consumables.defaultFood().build()) + .food(FoodProperties.Builder().nutrition(2).saturationModifier(0.2f).alwaysEdible().build()) .sword(ModToolMaterial.CANDY_CANE, 2.0f, -2.0f) .stacksTo(1) } @@ -581,7 +584,7 @@ object Weapon { Item.Properties() .sword(ModToolMaterial.DECREPIT_ATLANTIS, 5.0f, -2.4f) .stacksTo(1) - .component(DataComponents.UNBREAKABLE, McUnit.INSTANCE) + .component(DataComponents.UNBREAKABLE, Unbreakable(true)) } .tags(swordWeaponTags) .modelTemplate(ModelTemplates.FLAT_HANDHELD_ITEM) @@ -677,9 +680,6 @@ object Weapon { .props { Item.Properties().sword(material, damage, -2.4f).stacksTo(1).also { if (cooldown != null) it.useCooldown(cooldown) - if (kind == BatchBSwordItem.Kind.SHADOW) { - it.component(DataComponents.USE_EFFECTS, UseEffects(true, true, 1.0f)) - } } } .tags(swordWeaponTags).modelTemplate(ModelTemplates.FLAT_HANDHELD_ITEM) @@ -720,8 +720,13 @@ object Weapon { ItemConfig.Builder("hard_lollipop") .props { Item.Properties() - .food(FoodProperties(14, 0.8f, false), Consumables.defaultFood().build()) - .usingConvertsTo(STICK) + .food( + FoodProperties.Builder() + .nutrition(14) + .saturationModifier(0.8f) + .usingConvertsTo(STICK) + .build(), + ) .sword(ModToolMaterial.HARD_LOLLIPOP, 3.0f, -3.0f) } .tags(swordWeaponTags) @@ -735,7 +740,7 @@ object Weapon { ItemConfig.Builder("gingerbread_sword") .props { Item.Properties() - .food(FoodProperties(5, 0.8f, true), Consumables.defaultFood().build()) + .food(FoodProperties.Builder().nutrition(5).saturationModifier(0.8f).alwaysEdible().build()) .sword(ModToolMaterial.GINGERBREAD_SWORD, 2.0f, -2.4f) .repairable(Food.GINGERBREAD_MAN.get()) } @@ -750,7 +755,7 @@ object Weapon { ItemConfig.Builder("lollipop") .props { Item.Properties() - .food(FoodProperties(8, 0.8f, false), Consumables.defaultFood().build()) + .food(FoodProperties.Builder().nutrition(8).saturationModifier(0.8f).build()) .sword(ModToolMaterial.LOLLIPOP, 1.0f, -3.0f) .repairable(ModItems.CANDY.get()) } @@ -765,7 +770,7 @@ object Weapon { ItemConfig.Builder("long_bread") .props { Item.Properties() - .food(FoodProperties(17, 0.8f, false), Consumables.defaultFood().build()) + .food(FoodProperties.Builder().nutrition(17).saturationModifier(0.8f).build()) .sword(ModToolMaterial.LONG_BREAD, 0.0f, -2.8f) .repairable(Items.BREAD) } @@ -937,7 +942,7 @@ object Weapon { 1.0f, id("blood_sickle_particle"), id("blood_spore_parasitic_particle"), - sickleEffect(MobEffects.SLOWNESS, 5, 0), + sickleEffect(MobEffects.MOVEMENT_SLOWDOWN, 5, 0), ), ) .proc( @@ -965,7 +970,7 @@ object Weapon { .passiveSkill( SickleItem.PassiveSkillConfig.Builder() .baseExtraDamage(1.0f) - .proc(sickleProc(9, 0.0f, id("copper_sickle_particle"), null, sickleEffect(MobEffects.SLOWNESS, 5, 0))) + .proc(sickleProc(9, 0.0f, id("copper_sickle_particle"), null, sickleEffect(MobEffects.MOVEMENT_SLOWDOWN, 5, 0))) .proc(sickleProc(8, 0.0f, id("copper_sickle_particle"), null, sickleEffect(MobEffects.WEAKNESS, 5, 0))) .build(), ) @@ -982,7 +987,7 @@ object Weapon { .passiveSkill( SickleItem.PassiveSkillConfig.Builder() .baseExtraDamage(1.0f) - .proc(sickleProc(7, 0.0f, id("diamond_sickle_particle"), null, sickleEffect(MobEffects.SLOWNESS, 8, 0))) + .proc(sickleProc(7, 0.0f, id("diamond_sickle_particle"), null, sickleEffect(MobEffects.MOVEMENT_SLOWDOWN, 8, 0))) .proc(sickleProc(5, 0.0f, id("diamond_sickle_particle"), null, sickleEffect(MobEffects.WEAKNESS, 8, 1))) .build(), ) @@ -1005,7 +1010,7 @@ object Weapon { 0.0f, id("everlasting_winter_sickle_particle"), id("frozen_attack_particle"), - sickleEffect(MobEffects.SLOWNESS, 2, 6), + sickleEffect(MobEffects.MOVEMENT_SLOWDOWN, 2, 6), ), ) .proc( @@ -1024,7 +1029,7 @@ object Weapon { .manaCost(1.0f) .minRadius(2.0) .maxRadius(4.0) - .targetEffect(sickleEffect(MobEffects.SLOWNESS, 3, 1)) + .targetEffect(sickleEffect(MobEffects.MOVEMENT_SLOWDOWN, 3, 1)) .casterParticleId(id("everlasting_winter_seep_particle")) .targetParticleId(id("everlasting_winter_seep_particle")) .particleDurationTicks(6) @@ -1050,7 +1055,7 @@ object Weapon { 0.0f, id("ghost_sickle_particle"), null, - sickleEffect(MobEffects.SLOWNESS, 5, 1), + sickleEffect(MobEffects.MOVEMENT_SLOWDOWN, 5, 1), ), ) .proc( @@ -1078,7 +1083,7 @@ object Weapon { .passiveSkill( SickleItem.PassiveSkillConfig.Builder() .baseExtraDamage(1.0f) - .proc(sickleProc(5, 0.0f, id("gold_sickle_particle"), null, sickleEffect(MobEffects.SLOWNESS, 3, 2))) + .proc(sickleProc(5, 0.0f, id("gold_sickle_particle"), null, sickleEffect(MobEffects.MOVEMENT_SLOWDOWN, 3, 2))) .proc(sickleProc(4, 0.0f, id("gold_sickle_particle"), null, sickleEffect(MobEffects.WEAKNESS, 3, 2))) .build(), ) @@ -1096,7 +1101,7 @@ object Weapon { .passiveSkill( SickleItem.PassiveSkillConfig.Builder() .baseExtraDamage(1.0f) - .proc(sickleProc(8, 0.0f, id("iron_sickle_particle"), null, sickleEffect(MobEffects.SLOWNESS, 6, 0))) + .proc(sickleProc(8, 0.0f, id("iron_sickle_particle"), null, sickleEffect(MobEffects.MOVEMENT_SLOWDOWN, 6, 0))) .proc(sickleProc(7, 0.0f, id("iron_sickle_particle"), null, sickleEffect(MobEffects.WEAKNESS, 6, 0))) .build(), ) @@ -1113,7 +1118,7 @@ object Weapon { .passiveSkill( SickleItem.PassiveSkillConfig.Builder() .baseExtraDamage(1.0f) - .proc(sickleProc(7, 0.0f, id("netherite_sickle_particle"), null, sickleEffect(MobEffects.SLOWNESS, 9, 0))) + .proc(sickleProc(7, 0.0f, id("netherite_sickle_particle"), null, sickleEffect(MobEffects.MOVEMENT_SLOWDOWN, 9, 0))) .proc(sickleProc(5, 0.0f, id("netherite_sickle_particle"), null, sickleEffect(MobEffects.WEAKNESS, 9, 1))) .build(), ) @@ -1130,7 +1135,7 @@ object Weapon { .passiveSkill( SickleItem.PassiveSkillConfig.Builder() .baseExtraDamage(1.0f) - .proc(sickleProc(8, 0.0f, id("steel_sickle_particle"), null, sickleEffect(MobEffects.SLOWNESS, 6, 0))) + .proc(sickleProc(8, 0.0f, id("steel_sickle_particle"), null, sickleEffect(MobEffects.MOVEMENT_SLOWDOWN, 6, 0))) .proc(sickleProc(7, 0.0f, id("steel_sickle_particle"), null, sickleEffect(MobEffects.WEAKNESS, 7, 1))) .build(), ) @@ -1329,9 +1334,9 @@ object Weapon { ModToolMaterial.EVERLASTING_WINTER_DAGGER, config = DaggerItem.DaggerConfig.Builder("everlasting_winter_dagger", 21.0f) .movementSpeedAddition(0.01) - .aura(4.0, sickleEffect(MobEffects.SLOWNESS, 3, 1)) + .aura(4.0, sickleEffect(MobEffects.MOVEMENT_SLOWDOWN, 3, 1)) .casterParticleId(id("everlasting_winter_seep_particle")) - .targetEffect(sickleEffect(MobEffects.SLOWNESS, 3, 6)) + .targetEffect(sickleEffect(MobEffects.MOVEMENT_SLOWDOWN, 3, 6)) .targetParticleId(id("everlasting_winter_seep_particle")) .build(), attackDamage = 6.0f, @@ -1549,7 +1554,6 @@ object Weapon { .props { Item.Properties() .axe(material, attackDamage, attackSpeed) - .component(DataComponents.WEAPON, net.minecraft.world.item.component.Weapon(1)) .stacksTo(1) .useCooldown(cooldownSeconds) .repairable(repairItem.get()) @@ -1591,8 +1595,8 @@ object Weapon { private fun sickleProc( chanceDenominator: Int, extraDamage: Float = 0.0f, - holderParticleId: Identifier? = null, - targetParticleId: Identifier? = null, + holderParticleId: ResourceLocation? = null, + targetParticleId: ResourceLocation? = null, vararg effects: SickleItem.EffectConfig, ): SickleItem.PassiveProcConfig { val builder = SickleItem.PassiveProcConfig.Builder(chanceDenominator) @@ -1611,7 +1615,7 @@ object Weapon { .amplifier(amplifier) .build() - private fun id(path: String): Identifier = Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, path) + private fun id(path: String): ResourceLocation = ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, path) private fun registerStaff( name: String, diff --git a/src/main/java/com/dec/decisland/item/compat/ItemCompat.kt b/src/main/java/com/dec/decisland/item/compat/ItemCompat.kt new file mode 100644 index 0000000..fa1a6c9 --- /dev/null +++ b/src/main/java/com/dec/decisland/item/compat/ItemCompat.kt @@ -0,0 +1,65 @@ +package com.dec.decisland.item.compat + +import com.dec.decisland.item.ToolMaterial +import net.minecraft.tags.TagKey +import net.minecraft.world.InteractionHand +import net.minecraft.world.entity.EquipmentSlot +import net.minecraft.world.item.Item +import net.minecraft.world.item.SwordItem +import net.minecraft.world.level.ItemLike + +/** + * 1.21.1 兼容层:模拟 1.21.4+ 的 Item.Properties 组件 API。 + * + * - sword/axe/pickaxe:以 Tier 属性计算攻击属性与耐久。 + * - useCooldown / enchantable / repairable:1.21.1 无对应组件,暂时为 no-op + * (冷却可由物品逻辑自行调用 player.getCooldowns().addCooldown 实现)。 + */ +object ItemCompat { + /** 将 1.21.1 inventoryTick 的槽位下标转换为 EquipmentSlot(非装备槽返回 null)。 */ + @JvmStatic + fun slotFromIndex(index: Int): EquipmentSlot? = when (index) { + 0 -> EquipmentSlot.MAINHAND + 40 -> EquipmentSlot.OFFHAND + 36 -> EquipmentSlot.FEET + 37 -> EquipmentSlot.LEGS + 38 -> EquipmentSlot.CHEST + 39 -> EquipmentSlot.HEAD + else -> null + } +} + +fun Item.Properties.sword( + material: ToolMaterial, + attackDamage: Float, + attackSpeed: Float, +): Item.Properties = this + .durability(material.durability) + .attributes(SwordItem.createAttributes(material, attackDamage, attackSpeed)) + +fun Item.Properties.axe( + material: ToolMaterial, + attackDamage: Float, + attackSpeed: Float, +): Item.Properties = this + .durability(material.durability) + .attributes(SwordItem.createAttributes(material, attackDamage, attackSpeed)) + +fun Item.Properties.pickaxe( + material: ToolMaterial, + attackDamage: Float, + attackSpeed: Float, +): Item.Properties = this + .durability(material.durability) + .attributes(SwordItem.createAttributes(material, attackDamage, attackSpeed)) + +fun Item.Properties.useCooldown(seconds: Float): Item.Properties = this + +fun Item.Properties.enchantable(value: Int): Item.Properties = this + +fun Item.Properties.repairable(item: ItemLike): Item.Properties = this + +fun Item.Properties.repairable(tag: TagKey): Item.Properties = this + +fun InteractionHand.asEquipmentSlot(): EquipmentSlot = + if (this == InteractionHand.MAIN_HAND) EquipmentSlot.MAINHAND else EquipmentSlot.OFFHAND diff --git a/src/main/java/com/dec/decisland/item/compat/ModProjectileUtil.kt b/src/main/java/com/dec/decisland/item/compat/ModProjectileUtil.kt new file mode 100644 index 0000000..b80638c --- /dev/null +++ b/src/main/java/com/dec/decisland/item/compat/ModProjectileUtil.kt @@ -0,0 +1,30 @@ +package com.dec.decisland.item.compat + +import net.minecraft.world.entity.LivingEntity +import net.minecraft.world.entity.projectile.Projectile +import net.minecraft.world.item.ItemStack +import net.minecraft.world.level.Level + +/** + * 1.21.1 兼容层:替代 1.21.4+ 的 `Projectile.spawnProjectileUsingShoot`。 + * 工厂负责构造并定位投射物(通常为 (Level, LivingEntity, ItemStack) 辅助构造器), + * 本工具随后按方向 + 初速 + 散布发射并生成实体。 + */ +object ModProjectileUtil { + fun spawnUsingShoot( + factory: (Level, LivingEntity, ItemStack) -> T, + level: Level, + weapon: ItemStack, + owner: LivingEntity, + vx: Double, + vy: Double, + vz: Double, + inaccuracy: Float, + velocity: Float, + ): T { + val projectile = factory(level, owner, weapon) + projectile.shoot(vx, vy, vz, velocity, inaccuracy) + level.addFreshEntity(projectile) + return projectile + } +} diff --git a/src/main/java/com/dec/decisland/item/custom/AbsoluteZero.kt b/src/main/java/com/dec/decisland/item/custom/AbsoluteZero.kt index 722ff45..00f5b94 100644 --- a/src/main/java/com/dec/decisland/item/custom/AbsoluteZero.kt +++ b/src/main/java/com/dec/decisland/item/custom/AbsoluteZero.kt @@ -2,14 +2,15 @@ package com.dec.decisland.item.custom import com.dec.decisland.DecIsland import com.dec.decisland.entity.projectile.BlizzardEnergy +import com.dec.decisland.item.compat.ItemCompat +import com.dec.decisland.item.compat.ModProjectileUtil import com.dec.decisland.particles.ModParticles -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.server.level.ServerLevel import net.minecraft.world.entity.Entity -import net.minecraft.world.entity.EquipmentSlot import net.minecraft.world.entity.LivingEntity -import net.minecraft.world.entity.projectile.Projectile import net.minecraft.world.item.ItemStack +import net.minecraft.world.level.Level import java.util.Random class AbsoluteZero(properties: Properties) : Katana(properties) { @@ -26,7 +27,7 @@ class AbsoluteZero(properties: Properties) : Katana(properties) { override fun useServer(serverLevel: ServerLevel, source: LivingEntity) { repeat(5) { - Projectile.spawnProjectileUsingShoot( + ModProjectileUtil.spawnUsingShoot( ::BlizzardEnergy, serverLevel, source.useItem, @@ -57,7 +58,7 @@ class AbsoluteZero(properties: Properties) : Katana(properties) { override fun attackServer(serverLevel: ServerLevel, source: LivingEntity) { repeat(3) { - Projectile.spawnProjectileUsingShoot( + ModProjectileUtil.spawnUsingShoot( ::BlizzardEnergy, serverLevel, source.useItem, @@ -73,16 +74,21 @@ class AbsoluteZero(properties: Properties) : Katana(properties) { override fun onAttackTriggerSweep(stack: ItemStack): Boolean = Random().nextInt(3) == 0 - override fun inventoryTick(stack: ItemStack, level: ServerLevel, entity: Entity, slot: EquipmentSlot?) { - super.inventoryTick(stack, level, entity, slot) - updateMovementSpeedModifier(entity, slot, MOVEMENT_SPEED_ADDITION, MOVEMENT_SPEED_MODIFIER_ID) + override fun inventoryTick(stack: ItemStack, level: Level, entity: Entity, slotId: Int, isSelected: Boolean) { + super.inventoryTick(stack, level, entity, slotId, isSelected) + updateMovementSpeedModifier( + entity, + ItemCompat.slotFromIndex(slotId), + MOVEMENT_SPEED_ADDITION, + MOVEMENT_SPEED_MODIFIER_ID, + ) } companion object { - private val ABSOLUTE_ZERO_PARTICLE_ID: Identifier = - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "absolute_zero_particle") - private val MOVEMENT_SPEED_MODIFIER_ID: Identifier = - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "movement_speed/absolute_zero") + private val ABSOLUTE_ZERO_PARTICLE_ID: ResourceLocation = + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "absolute_zero_particle") + private val MOVEMENT_SPEED_MODIFIER_ID: ResourceLocation = + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "movement_speed/absolute_zero") private const val MOVEMENT_SPEED_ADDITION: Double = 0.03 } } diff --git a/src/main/java/com/dec/decisland/item/custom/AshPufferfish.kt b/src/main/java/com/dec/decisland/item/custom/AshPufferfish.kt index 7b7cac1..d1a9a05 100644 --- a/src/main/java/com/dec/decisland/item/custom/AshPufferfish.kt +++ b/src/main/java/com/dec/decisland/item/custom/AshPufferfish.kt @@ -9,7 +9,7 @@ import net.minecraft.sounds.SoundEvents import net.minecraft.sounds.SoundSource import net.minecraft.stats.Stats import net.minecraft.world.InteractionHand -import net.minecraft.world.InteractionResult +import net.minecraft.world.InteractionResultHolder import net.minecraft.world.entity.player.Player import net.minecraft.world.entity.projectile.Projectile import net.minecraft.world.item.Item @@ -18,7 +18,7 @@ import net.minecraft.world.item.ProjectileItem import net.minecraft.world.level.Level class AshPufferfish(props: Item.Properties) : Item(props), ProjectileItem { - override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResult { + override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResultHolder { val itemStack = player.getItemInHand(hand) level.playSound( null, @@ -42,7 +42,7 @@ class AshPufferfish(props: Item.Properties) : Item(props), ProjectileItem { PROJECTILE_INACCURACY, ) if (!level.addFreshEntity(projectile)) { - return InteractionResult.FAIL + return InteractionResultHolder.fail(itemStack) } } @@ -50,7 +50,7 @@ class AshPufferfish(props: Item.Properties) : Item(props), ProjectileItem { AccessoryCombatEffects.onSuccessfulWeaponUse(player, itemStack) player.swing(hand, true) itemStack.consume(1, player) - return if (level.isClientSide) InteractionResult.SUCCESS else InteractionResult.SUCCESS_SERVER + return InteractionResultHolder.sidedSuccess(itemStack, level.isClientSide) } override fun asProjectile(level: Level, position: Position, itemStack: ItemStack, direction: Direction): Projectile = diff --git a/src/main/java/com/dec/decisland/item/custom/BambooKatana.kt b/src/main/java/com/dec/decisland/item/custom/BambooKatana.kt index d194949..eab1f30 100644 --- a/src/main/java/com/dec/decisland/item/custom/BambooKatana.kt +++ b/src/main/java/com/dec/decisland/item/custom/BambooKatana.kt @@ -3,7 +3,7 @@ package com.dec.decisland.item.custom import com.dec.decisland.DecIsland import net.minecraft.core.component.DataComponents import net.minecraft.nbt.CompoundTag -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.server.level.ServerLevel import net.minecraft.world.item.ItemStack import net.minecraft.world.item.component.CustomData @@ -37,7 +37,7 @@ open class BambooKatana(properties: Properties) : Katana(properties) { val customData = stack.get(DataComponents.CUSTOM_DATA) val tag = customData?.copyTag() ?: CompoundTag() val attackCount = if (tag.contains(ATTACK_COUNTER_KEY)) { - tag.getInt(ATTACK_COUNTER_KEY).get() + tag.getInt(ATTACK_COUNTER_KEY) } else { 0 } @@ -45,7 +45,7 @@ open class BambooKatana(properties: Properties) : Katana(properties) { } companion object { - private val BAMBOO_KATANA_PARTICLE_ID: Identifier = - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "bamboo_katana_particle") + private val BAMBOO_KATANA_PARTICLE_ID: ResourceLocation = + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "bamboo_katana_particle") } } diff --git a/src/main/java/com/dec/decisland/item/custom/BatchBSwordItem.kt b/src/main/java/com/dec/decisland/item/custom/BatchBSwordItem.kt index 6480482..920ec1e 100644 --- a/src/main/java/com/dec/decisland/item/custom/BatchBSwordItem.kt +++ b/src/main/java/com/dec/decisland/item/custom/BatchBSwordItem.kt @@ -3,19 +3,19 @@ package com.dec.decisland.item.custom import com.dec.decisland.mana.ManaManager import com.dec.decisland.network.Networking import com.dec.decisland.DecIsland -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.core.component.DataComponents import com.dec.decisland.particles.ModParticles import net.minecraft.nbt.CompoundTag import net.minecraft.server.level.ServerLevel import net.minecraft.world.InteractionHand -import net.minecraft.world.InteractionResult +import net.minecraft.world.InteractionResultHolder import net.minecraft.world.effect.MobEffectInstance import net.minecraft.world.effect.MobEffects import net.minecraft.world.entity.LivingEntity import net.minecraft.world.entity.player.Player import net.minecraft.world.item.ItemStack -import net.minecraft.world.item.ItemUseAnimation +import net.minecraft.world.item.UseAnim import net.minecraft.world.item.component.CustomData import net.minecraft.world.level.Level import net.minecraft.world.phys.AABB @@ -23,42 +23,46 @@ import net.minecraft.world.phys.AABB class BatchBSwordItem(properties: Properties, private val kind: Kind) : MagicWeapon(properties) { enum class Kind { WINTER, DEEP, VORTEX, SCALE, WARDEN, SHADOW, IMPERIAL } - override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResult { - if (kind == Kind.WARDEN) { player.startUsingItem(hand); return InteractionResult.CONSUME } + override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResultHolder { + val stack = player.getItemInHand(hand) + if (kind == Kind.WARDEN) { player.startUsingItem(hand); return InteractionResultHolder.consume(stack) } if (kind == Kind.SHADOW) return startShadow(level, player, hand) - if (level.isClientSide) return InteractionResult.SUCCESS + if (level.isClientSide) return InteractionResultHolder.success(stack) val server = level as ServerLevel if (kind == Kind.IMPERIAL) return imperial(server, player, hand) val cost = when (kind) { Kind.WINTER -> 1f; Kind.DEEP -> 4f; Kind.VORTEX -> if (player.isInWaterOrRain) 7f else 11f; Kind.SCALE -> if (player.isInWaterOrRain) 6f else 10f; else -> 0f } - if (!spend(player, cost)) return InteractionResult.FAIL + if (!spend(player, cost)) return InteractionResultHolder.fail(stack) when (kind) { - Kind.WINTER -> { emitter(server, player, "everlasting_winter_seep_particle"); nearby(server, player, 4.0, 2.0).forEach { it.addEffect(MobEffectInstance(MobEffects.SLOWNESS, 60, 1)) } } + Kind.WINTER -> { emitter(server, player, "everlasting_winter_seep_particle"); nearby(server, player, 4.0, 2.0).forEach { it.addEffect(MobEffectInstance(MobEffects.MOVEMENT_SLOWDOWN, 60, 1)) } } Kind.DEEP -> { emitter(server, player, "deep_range_particle"); nearby(server, player, 4.0).forEach { it.addEffect(MobEffectInstance(MobEffects.WITHER, 200, 1)) } } Kind.VORTEX -> { emitter(server, player, "bubble_vortex_particle"); if (player.isInWaterOrRain) { player.addEffect(MobEffectInstance(MobEffects.CONDUIT_POWER, 100, 0)); areaDamage(server, player, 100, 10f) } else areaDamage(server, player, 40, 7f) } Kind.SCALE -> { emitter(server, player, "bubble_vortex_particle"); if (player.isInWaterOrRain) { player.addEffect(MobEffectInstance(MobEffects.CONDUIT_POWER, 200, 0)); areaDamage(server, player, 140, 12f) } else areaDamage(server, player, 60, 8f) } else -> Unit } player.swing(hand, true) - return InteractionResult.SUCCESS_SERVER + return InteractionResultHolder.consume(stack) } - override fun hurtEnemy(stack: ItemStack, target: LivingEntity, attacker: LivingEntity) { - val player = attacker as? Player ?: return - val server = attacker.level() as? ServerLevel ?: return + override fun hurtEnemy(stack: ItemStack, target: LivingEntity, attacker: LivingEntity): Boolean { + val player = attacker as? Player ?: return false + val server = attacker.level() as? ServerLevel ?: return false if (kind == Kind.SCALE && player.isInWaterOrRain && player.random.nextBoolean()) { emitter(server, target, "bubble_spurt_middle_particle") - nearby(server, player, 3.0).forEach { it.hurtServer(server, server.damageSources().drown(), 10f) } + nearby(server, player, 3.0).forEach { it.hurt(server.damageSources().drown(), 10f) } player.addEffect(MobEffectInstance(MobEffects.CONDUIT_POWER, 200, 0)) } + return true } - override fun releaseUsing(stack: ItemStack, level: Level, livingEntity: LivingEntity, timeCharged: Int): Boolean { - val player = livingEntity as? Player ?: return super.releaseUsing(stack, level, livingEntity, timeCharged) - val server = level as? ServerLevel ?: return super.releaseUsing(stack, level, livingEntity, timeCharged) - val usedTicks = getUseDuration(stack, player) - timeCharged - if (kind == Kind.WARDEN && usedTicks >= 30) activateWarden(server, player) - if (kind == Kind.SHADOW) activateShadow(server, player) - return super.releaseUsing(stack, level, livingEntity, timeCharged) + override fun releaseUsing(stack: ItemStack, level: Level, livingEntity: LivingEntity, timeCharged: Int) { + val player = livingEntity as? Player + val server = level as? ServerLevel + if (player != null && server != null) { + val usedTicks = getUseDuration(stack, player) - timeCharged + if (kind == Kind.WARDEN && usedTicks >= 30) activateWarden(server, player) + if (kind == Kind.SHADOW) activateShadow(server, player) + } + super.releaseUsing(stack, level, livingEntity, timeCharged) } override fun finishUsingItem(stack: ItemStack, level: Level, livingEntity: LivingEntity): ItemStack { @@ -85,40 +89,42 @@ class BatchBSwordItem(properties: Properties, private val kind: Kind) : MagicWea if (!spend(player, 20f)) return player.addEffect(MobEffectInstance(MobEffects.BLINDNESS, 200, 0)) player.addEffect(MobEffectInstance(MobEffects.DARKNESS, 600, 0)) - player.addEffect(MobEffectInstance(MobEffects.STRENGTH, 160, 0)) - player.addEffect(MobEffectInstance(MobEffects.SPEED, 160, 1)) - player.addEffect(MobEffectInstance(MobEffects.RESISTANCE, 160, 1)) + player.addEffect(MobEffectInstance(MobEffects.DAMAGE_BOOST, 160, 0)) + player.addEffect(MobEffectInstance(MobEffects.MOVEMENT_SPEED, 160, 1)) + player.addEffect(MobEffectInstance(MobEffects.DAMAGE_RESISTANCE, 160, 1)) emitter(server, player, "deep_range_particle") } private fun activateShadow(server: ServerLevel, player: Player) { player.removeEffect(MobEffects.INVISIBILITY) - player.getCooldowns().addCooldown(player.getItemInHand(player.usedItemHand), 80) + val hand = player.usedItemHand ?: InteractionHand.MAIN_HAND + player.getCooldowns().addCooldown(player.getItemInHand(hand).item, 80) emitter(server, player, "ender_bomb_particle") - nearby(server, player, 4.0).forEach { it.hurtServer(server, server.damageSources().magic(), 11f) } + nearby(server, player, 4.0).forEach { it.hurt(server.damageSources().magic(), 11f) } } - override fun getUseAnimation(stack: ItemStack): ItemUseAnimation = ItemUseAnimation.NONE + override fun getUseAnimation(stack: ItemStack): UseAnim = UseAnim.NONE // Keep channeling open so releasing the button always reaches releaseUsing; // the required charge time is measured from the remaining duration. override fun getUseDuration(stack: ItemStack, entity: LivingEntity) = if (kind == Kind.WARDEN) WARDEN_USE_DURATION else if (kind == Kind.SHADOW) SHADOW_USE_DURATION else super.getUseDuration(stack, entity) - private fun startShadow(level: Level, player: Player, hand: InteractionHand): InteractionResult { - if (player.getCooldowns().isOnCooldown(player.getItemInHand(hand))) return InteractionResult.FAIL - if (level.isClientSide) { player.startUsingItem(hand); return InteractionResult.CONSUME } - if (!spend(player, 10f)) return InteractionResult.FAIL - player.addEffect(MobEffectInstance(MobEffects.INVISIBILITY, 60, 0)); player.addEffect(MobEffectInstance(MobEffects.SPEED, 60, 2)); emitter(level as ServerLevel, player, "ender_spurt_particle"); player.startUsingItem(hand) - return InteractionResult.CONSUME + private fun startShadow(level: Level, player: Player, hand: InteractionHand): InteractionResultHolder { + val stack = player.getItemInHand(hand) + if (player.getCooldowns().isOnCooldown(stack.item)) return InteractionResultHolder.fail(stack) + if (level.isClientSide) { player.startUsingItem(hand); return InteractionResultHolder.consume(stack) } + if (!spend(player, 10f)) return InteractionResultHolder.fail(stack) + player.addEffect(MobEffectInstance(MobEffects.INVISIBILITY, 60, 0)); player.addEffect(MobEffectInstance(MobEffects.MOVEMENT_SPEED, 60, 2)); emitter(level as ServerLevel, player, "ender_spurt_particle"); player.startUsingItem(hand) + return InteractionResultHolder.consume(stack) } - private fun imperial(server: ServerLevel, player: Player, hand: InteractionHand): InteractionResult { + private fun imperial(server: ServerLevel, player: Player, hand: InteractionHand): InteractionResultHolder { val stack = player.getItemInHand(hand) var count = readCount(stack) + 1 if (count == 8 || count == 16) { - if (!spend(player, 15f)) return InteractionResult.FAIL - player.addEffect(MobEffectInstance(MobEffects.STRENGTH, 100, if (count == 8) 1 else 2)); player.addEffect(MobEffectInstance(MobEffects.RESISTANCE, 40, if (count == 8) 2 else 3)) - nearby(server, player, 5.0, 2.0).forEach { it.addEffect(MobEffectInstance(MobEffects.SLOWNESS, if (count == 8) 20 else 40, 255)) } + if (!spend(player, 15f)) return InteractionResultHolder.fail(stack) + player.addEffect(MobEffectInstance(MobEffects.DAMAGE_BOOST, 100, if (count == 8) 1 else 2)); player.addEffect(MobEffectInstance(MobEffects.DAMAGE_RESISTANCE, 40, if (count == 8) 2 else 3)) + nearby(server, player, 5.0, 2.0).forEach { it.addEffect(MobEffectInstance(MobEffects.MOVEMENT_SLOWDOWN, if (count == 8) 20 else 40, 255)) } server.sendParticles( ModParticles.IMPERIAL_TOTEM_PARTICLE.get(), player.x, player.y + 1.0, player.z, @@ -127,15 +133,15 @@ class BatchBSwordItem(properties: Properties, private val kind: Kind) : MagicWea ) if (count == 16) count = 0 } - writeCount(stack, count); player.swing(hand, true); return InteractionResult.SUCCESS_SERVER + writeCount(stack, count); player.swing(hand, true); return InteractionResultHolder.consume(stack) } - private fun areaDamage(server: ServerLevel, player: Player, poisonTicks: Int, damage: Float) { nearby(server, player, 3.0).forEach { it.addEffect(MobEffectInstance(MobEffects.POISON, poisonTicks, 0)); it.hurtServer(server, server.damageSources().drown(), damage) } } + private fun areaDamage(server: ServerLevel, player: Player, poisonTicks: Int, damage: Float) { nearby(server, player, 3.0).forEach { it.addEffect(MobEffectInstance(MobEffects.POISON, poisonTicks, 0)); it.hurt(server.damageSources().drown(), damage) } } private fun nearby(level: ServerLevel, player: Player, radius: Double, minRadius: Double = 0.0): List = level.getEntitiesOfClass(LivingEntity::class.java, AABB.ofSize(player.position(), radius * 2, radius * 2, radius * 2)) { it !== player && it.isAlive && it.distanceToSqr(player) >= minRadius * minRadius } private fun spend(player: Player, amount: Float): Boolean { if (ManaManager.getCurrentMana(player) <= amount) return false; ManaManager.reduceMana(player, amount); return true } - private fun readCount(stack: ItemStack): Int = stack.get(DataComponents.CUSTOM_DATA)?.copyTag()?.getInt("ImperialCount")?.orElse(0) ?: 0 + private fun readCount(stack: ItemStack): Int = stack.get(DataComponents.CUSTOM_DATA)?.copyTag()?.getInt("ImperialCount") ?: 0 private fun writeCount(stack: ItemStack, value: Int) { val tag = stack.get(DataComponents.CUSTOM_DATA)?.copyTag() ?: CompoundTag(); if (value == 0) tag.remove("ImperialCount") else tag.putInt("ImperialCount", value); stack.set(DataComponents.CUSTOM_DATA, if (tag.isEmpty) CustomData.EMPTY else CustomData.of(tag)) } - private fun emitter(level: ServerLevel, entity: LivingEntity, name: String, copies: Int = 1) { repeat(copies) { Networking.sendBedrockEmitterToNearby(level, Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, name), entity.position(), 64.0, 6) } } + private fun emitter(level: ServerLevel, entity: LivingEntity, name: String, copies: Int = 1) { repeat(copies) { Networking.sendBedrockEmitterToNearby(level, ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, name), entity.position(), 64.0, 6) } } companion object { private const val WARDEN_USE_DURATION = 30 diff --git a/src/main/java/com/dec/decisland/item/custom/BattleaxeItem.kt b/src/main/java/com/dec/decisland/item/custom/BattleaxeItem.kt index cd5c872..510e9df 100644 --- a/src/main/java/com/dec/decisland/item/custom/BattleaxeItem.kt +++ b/src/main/java/com/dec/decisland/item/custom/BattleaxeItem.kt @@ -4,11 +4,11 @@ import com.dec.decisland.network.Networking import net.minecraft.core.BlockPos import net.minecraft.core.component.DataComponents import net.minecraft.nbt.CompoundTag -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.server.level.ServerLevel import net.minecraft.stats.Stats import net.minecraft.world.InteractionHand -import net.minecraft.world.InteractionResult +import net.minecraft.world.InteractionResultHolder import net.minecraft.world.entity.EquipmentSlot import net.minecraft.world.entity.LivingEntity import net.minecraft.world.entity.decoration.ArmorStand @@ -27,10 +27,10 @@ class BattleaxeItem( properties: Properties, private val config: BattleaxeConfig, ) : Item(properties) { - override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResult { + override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResultHolder { val stack = player.getItemInHand(hand) - if (player.cooldowns.isOnCooldown(stack)) { - return InteractionResult.FAIL + if (player.cooldowns.isOnCooldown(stack.item)) { + return InteractionResultHolder.fail(stack) } if (!level.isClientSide) { @@ -39,14 +39,14 @@ class BattleaxeItem( } player.swing(hand, true) - return InteractionResult.SUCCESS_SERVER + return InteractionResultHolder.sidedSuccess(stack, level.isClientSide) } - override fun hurtEnemy(stack: ItemStack, target: LivingEntity, attacker: LivingEntity) { + override fun hurtEnemy(stack: ItemStack, target: LivingEntity, attacker: LivingEntity): Boolean { val player = attacker as? Player if (player != null && player.level() is ServerLevel) { val tag = readTag(stack) - val count = tag.getIntOr(TAG_SKILL_COUNT, 0) + val count = tag.getInt(TAG_SKILL_COUNT) if (count > config.comboThreshold) { performSkill(player.level() as ServerLevel, player, stack, combo = true) } else { @@ -54,7 +54,7 @@ class BattleaxeItem( writeTag(stack, tag) } } - super.hurtEnemy(stack, target, attacker) + return super.hurtEnemy(stack, target, attacker) } // Bedrock's attack_more event: mining with a battleaxe costs 2 extra durability @@ -102,7 +102,7 @@ class BattleaxeItem( val originalInvulnerableTime = target.invulnerableTime target.invulnerableTime = 0 - val hurt = target.hurtServer(serverLevel, serverLevel.damageSources().playerAttack(attacker), damage) + val hurt = target.hurt(serverLevel.damageSources().playerAttack(attacker), damage) if (!hurt) { target.invulnerableTime = originalInvulnerableTime } @@ -129,7 +129,7 @@ class BattleaxeItem( val aoeOffsets: List = builder.aoeOffsets.toList() @JvmField - val ringParticleId: Identifier = builder.ringParticleId + val ringParticleId: ResourceLocation = builder.ringParticleId @JvmField val skillParticleBursts: Int = builder.skillParticleBursts @@ -143,7 +143,7 @@ class BattleaxeItem( class Builder( @JvmField val skillDamage: Float, @JvmField val comboSkillDamage: Float, - @JvmField val ringParticleId: Identifier, + @JvmField val ringParticleId: ResourceLocation, ) { internal var aoeRadius: Double = 1.3 internal var aoeOffsets: List = CROSS_OFFSETS diff --git a/src/main/java/com/dec/decisland/item/custom/BlizzardStaff.kt b/src/main/java/com/dec/decisland/item/custom/BlizzardStaff.kt index 09cae27..815d5b3 100644 --- a/src/main/java/com/dec/decisland/item/custom/BlizzardStaff.kt +++ b/src/main/java/com/dec/decisland/item/custom/BlizzardStaff.kt @@ -1,13 +1,13 @@ package com.dec.decisland.item.custom import com.dec.decisland.entity.projectile.BlizzardEnergy +import com.dec.decisland.item.compat.ModProjectileUtil import com.dec.decisland.mana.ManaManager import net.minecraft.server.level.ServerLevel import net.minecraft.sounds.SoundEvent import net.minecraft.sounds.SoundEvents import net.minecraft.world.entity.LivingEntity import net.minecraft.world.entity.player.Player -import net.minecraft.world.entity.projectile.Projectile import net.minecraft.world.item.ItemStack class BlizzardStaff(properties: Properties) : BedrockProjectileStaff(properties) { @@ -22,7 +22,7 @@ class BlizzardStaff(properties: Properties) : BedrockProjectileStaff(properties) val view = source.getViewVector(0.0f) repeat(PROJECTILE_COUNT) { - Projectile.spawnProjectileUsingShoot( + ModProjectileUtil.spawnUsingShoot( ::BlizzardEnergy, serverLevel, stack, diff --git a/src/main/java/com/dec/decisland/item/custom/BloodMare.kt b/src/main/java/com/dec/decisland/item/custom/BloodMare.kt index 4910280..543c66c 100644 --- a/src/main/java/com/dec/decisland/item/custom/BloodMare.kt +++ b/src/main/java/com/dec/decisland/item/custom/BloodMare.kt @@ -3,10 +3,10 @@ package com.dec.decisland.item.custom import com.dec.decisland.DecIsland import net.minecraft.core.component.DataComponents import net.minecraft.nbt.CompoundTag -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.server.level.ServerLevel import net.minecraft.world.InteractionHand -import net.minecraft.world.InteractionResult +import net.minecraft.world.InteractionResultHolder import net.minecraft.world.entity.LivingEntity import net.minecraft.world.entity.player.Player import net.minecraft.world.item.ItemStack @@ -37,7 +37,7 @@ class BloodMare(properties: Properties) : Katana(properties) { sendBedrockKatanaEmitter(serverLevel, BLOOD_MARE_PARTICLE_ID, x, y, z) } - override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResult { + override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResultHolder { val hitCount = sweepAttack( level, player, @@ -53,17 +53,17 @@ class BloodMare(properties: Properties) : Katana(properties) { if (!level.isClientSide) { healFromHits(player, hitCount) } - return InteractionResult.SUCCESS + return InteractionResultHolder.sidedSuccess(player.getItemInHand(hand), level.isClientSide) } - override fun hurtEnemy(stack: ItemStack, target: LivingEntity, attacker: LivingEntity) { + override fun hurtEnemy(stack: ItemStack, target: LivingEntity, attacker: LivingEntity): Boolean { if (attacker.level().isClientSide) { - return + return true } if (attacker.health <= LOW_HEALTH_THRESHOLD) { if (attacker.random.nextInt(4) == 0) { - return + return true } val hand = if (attacker is Player) attacker.usedItemHand else null @@ -80,7 +80,7 @@ class BloodMare(properties: Properties) : Katana(properties) { { server, source -> attackServer(server, source) }, ) healFromHits(attacker, hitCount) - return + return true } val customData = stack.get(DataComponents.CUSTOM_DATA) @@ -88,13 +88,13 @@ class BloodMare(properties: Properties) : Katana(properties) { val currentTime = System.currentTimeMillis() val shouldReset = if (tag.contains(LAST_ATTACK_TIME_KEY)) { - currentTime - tag.getLong(LAST_ATTACK_TIME_KEY).get() > getResetTimeMs() + currentTime - tag.getLong(LAST_ATTACK_TIME_KEY) > getResetTimeMs() } else { false } var attackCount = if (shouldReset) 0 else if (tag.contains(ATTACK_COUNTER_KEY)) { - tag.getInt(ATTACK_COUNTER_KEY).get() + tag.getInt(ATTACK_COUNTER_KEY) } else { 0 } @@ -105,7 +105,7 @@ class BloodMare(properties: Properties) : Katana(properties) { stack.set(DataComponents.CUSTOM_DATA, CustomData.of(tag)) if (attackCount < getMaxAttackCount()) { - return + return true } val hand = if (attacker is Player) attacker.usedItemHand else null @@ -123,6 +123,7 @@ class BloodMare(properties: Properties) : Katana(properties) { ) healFromHits(attacker, hitCount) stack.set(DataComponents.CUSTOM_DATA, CustomData.EMPTY) + return true } private fun healFromHits(source: LivingEntity, hitCount: Int) { @@ -135,8 +136,8 @@ class BloodMare(properties: Properties) : Katana(properties) { } companion object { - private val BLOOD_MARE_PARTICLE_ID: Identifier = - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "blood_mare_particle") + private val BLOOD_MARE_PARTICLE_ID: ResourceLocation = + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "blood_mare_particle") private const val LOW_HEALTH_THRESHOLD: Float = 2.0f private const val LOW_HEALTH_ATTACK_BONUS_DAMAGE: Float = 6.0f private const val MAX_HEAL_PER_SWEEP: Float = 4.0f diff --git a/src/main/java/com/dec/decisland/item/custom/BloodSickleItem.kt b/src/main/java/com/dec/decisland/item/custom/BloodSickleItem.kt index 305bb56..74c7ff2 100644 --- a/src/main/java/com/dec/decisland/item/custom/BloodSickleItem.kt +++ b/src/main/java/com/dec/decisland/item/custom/BloodSickleItem.kt @@ -2,16 +2,18 @@ package com.dec.decisland.item.custom import com.dec.decisland.DecIsland import com.dec.decisland.events.AccessoryCombatEffects +import com.dec.decisland.item.compat.asEquipmentSlot import com.dec.decisland.mana.ManaManager -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.server.level.ServerLevel import net.minecraft.stats.Stats import net.minecraft.world.InteractionHand -import net.minecraft.world.InteractionResult +import net.minecraft.world.InteractionResultHolder +import net.minecraft.world.entity.EquipmentSlot import net.minecraft.world.entity.LivingEntity import net.minecraft.world.entity.player.Player import net.minecraft.world.item.ItemStack -import net.minecraft.world.item.ItemUseAnimation +import net.minecraft.world.item.UseAnim import net.minecraft.world.level.Level import java.util.UUID import java.util.concurrent.ConcurrentHashMap @@ -25,19 +27,19 @@ class BloodSickleItem( slotChanged || !newStack.`is`(oldStack.item) // Starts the blood-drain channel when the player right clicks with enough mana. - override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResult { + override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResultHolder { + val stack = player.getItemInHand(hand) // Let the client enter the using state immediately so minor mana sync delays do not // cause the hand animation to pop in and out while the server validates the channel. if (level.isClientSide) { player.startUsingItem(hand) - return InteractionResult.CONSUME + return InteractionResultHolder.consume(stack) } if (!canUseActiveSkill(player, MANA_COST)) { - return InteractionResult.FAIL + return InteractionResultHolder.fail(stack) } - val stack = player.getItemInHand(hand) channelStates[player.uuid] = ChannelState( nextPulseTick = level.gameTime + CHANNEL_INTERVAL_TICKS, nextParticleTick = level.gameTime, @@ -47,7 +49,7 @@ class BloodSickleItem( AccessoryCombatEffects.onSuccessfulWeaponUse(player, stack) player.startUsingItem(hand) - return InteractionResult.CONSUME + return InteractionResultHolder.consume(stack) } // Pulses the life-drain effect every fixed interval while also keeping the particle loop alive. @@ -89,7 +91,7 @@ class BloodSickleItem( spawnParticle(serverLevel, BLOOD_SEEP_PARTICLE_ID, target.position(), PARTICLE_DURATION_TICKS) player.heal(HEAL_PER_PULSE) if (player.random.nextBoolean()) { - stack.hurtAndBreak(1, player, player.usedItemHand.asEquipmentSlot()) + stack.hurtAndBreak(1, player, player.usedItemHand?.asEquipmentSlot() ?: EquipmentSlot.MAINHAND) } } @@ -98,18 +100,18 @@ class BloodSickleItem( } // Clears the blood-drain channel state when the player releases right click. - override fun releaseUsing(stack: ItemStack, level: Level, livingEntity: LivingEntity, timeCharged: Int): Boolean { + override fun releaseUsing(stack: ItemStack, level: Level, livingEntity: LivingEntity, timeCharged: Int) { if (livingEntity is Player) { channelStates.remove(livingEntity.uuid) } - return super.releaseUsing(stack, level, livingEntity, timeCharged) + super.releaseUsing(stack, level, livingEntity, timeCharged) } // Keeps the blood-drain channel alive while the player holds right click. override fun getUseDuration(stack: ItemStack, entity: LivingEntity): Int = CHANNELED_USE_DURATION // Shows a holding pose during the blood-drain channel. - override fun getUseAnimation(stack: ItemStack): ItemUseAnimation = ItemUseAnimation.BLOCK + override fun getUseAnimation(stack: ItemStack): UseAnim = UseAnim.BLOCK companion object { private const val CHANNELED_USE_DURATION: Int = 72000 @@ -130,9 +132,9 @@ class BloodSickleItem( private val channelStates: MutableMap = ConcurrentHashMap() - private val BLOOD_BALL_PARTICLE_ID: Identifier = - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "blood_spore_ball_particle") - private val BLOOD_SEEP_PARTICLE_ID: Identifier = - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "blood_spore_seep_particle") + private val BLOOD_BALL_PARTICLE_ID: ResourceLocation = + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "blood_spore_ball_particle") + private val BLOOD_SEEP_PARTICLE_ID: ResourceLocation = + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "blood_spore_seep_particle") } } diff --git a/src/main/java/com/dec/decisland/item/custom/DaggerItem.kt b/src/main/java/com/dec/decisland/item/custom/DaggerItem.kt index 70c8447..eb98592 100644 --- a/src/main/java/com/dec/decisland/item/custom/DaggerItem.kt +++ b/src/main/java/com/dec/decisland/item/custom/DaggerItem.kt @@ -2,12 +2,13 @@ package com.dec.decisland.item.custom import com.dec.decisland.DecIsland import com.dec.decisland.events.AccessoryCombatEffects +import com.dec.decisland.item.compat.ItemCompat import com.dec.decisland.network.Networking -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.server.level.ServerLevel import net.minecraft.stats.Stats import net.minecraft.world.InteractionHand -import net.minecraft.world.InteractionResult +import net.minecraft.world.InteractionResultHolder import net.minecraft.world.entity.Entity import net.minecraft.world.entity.EquipmentSlot import net.minecraft.world.entity.LivingEntity @@ -26,13 +27,13 @@ open class DaggerItem( properties: Properties, protected val config: DaggerConfig, ) : Item(properties) { - private val movementSpeedModifierId: Identifier = - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "movement_speed/${config.name}") + private val movementSpeedModifierId: ResourceLocation = + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "movement_speed/${config.name}") - override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResult { + override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResultHolder { val stack = player.getItemInHand(hand) - if (player.cooldowns.isOnCooldown(stack)) { - return InteractionResult.FAIL + if (player.cooldowns.isOnCooldown(stack.item)) { + return InteractionResultHolder.fail(stack) } if (!level.isClientSide) { @@ -42,12 +43,12 @@ open class DaggerItem( } player.swing(hand, true) - return InteractionResult.SUCCESS_SERVER + return InteractionResultHolder.sidedSuccess(stack, level.isClientSide) } // Applies the Bedrock thrust: an axis-aligned 0.6x2x0.6 box placed 0.8 blocks ahead of the player. protected fun performThrust(serverLevel: ServerLevel, player: Player, stack: ItemStack): Int { - stack.hurtWithoutBreaking(1, player) + stack.hurtAndBreak(1, player, EquipmentSlot.MAINHAND) if (config.auraRadius > 0.0) { config.auraEffect?.let { auraEffect -> @@ -97,7 +98,7 @@ open class DaggerItem( val originalInvulnerableTime = target.invulnerableTime target.invulnerableTime = 0 - val hurt = target.hurtServer(serverLevel, serverLevel.damageSources().playerAttack(attacker), damage) + val hurt = target.hurt(serverLevel.damageSources().playerAttack(attacker), damage) if (!hurt) { target.invulnerableTime = originalInvulnerableTime } @@ -105,7 +106,7 @@ open class DaggerItem( } // Spawns a bedrock emitter at the supplied world position. - protected fun spawnParticle(serverLevel: ServerLevel, particleId: Identifier?, position: Vec3) { + protected fun spawnParticle(serverLevel: ServerLevel, particleId: ResourceLocation?, position: Vec3) { if (particleId == null) { return } @@ -113,9 +114,9 @@ open class DaggerItem( } // Keeps hand-held movement modifiers in sync while the dagger is equipped. - override fun inventoryTick(stack: ItemStack, level: ServerLevel, entity: Entity, slot: EquipmentSlot?) { - super.inventoryTick(stack, level, entity, slot) - updateMovementSpeedModifier(entity, slot) + override fun inventoryTick(stack: ItemStack, level: Level, entity: Entity, slotId: Int, isSelected: Boolean) { + super.inventoryTick(stack, level, entity, slotId, isSelected) + updateMovementSpeedModifier(entity, ItemCompat.slotFromIndex(slotId)) } // Applies or removes the movement-speed modifier depending on whether the dagger is currently held. @@ -176,10 +177,10 @@ open class DaggerItem( val auraEffect: SickleItem.EffectConfig? = builder.auraEffect @JvmField - val casterParticleId: Identifier? = builder.casterParticleId + val casterParticleId: ResourceLocation? = builder.casterParticleId @JvmField - val targetParticleId: Identifier? = builder.targetParticleId + val targetParticleId: ResourceLocation? = builder.targetParticleId @JvmField val particleDurationTicks: Int = builder.particleDurationTicks @@ -192,8 +193,8 @@ open class DaggerItem( internal val targetEffects = mutableListOf() internal var auraRadius: Double = 0.0 internal var auraEffect: SickleItem.EffectConfig? = null - internal var casterParticleId: Identifier? = null - internal var targetParticleId: Identifier? = null + internal var casterParticleId: ResourceLocation? = null + internal var targetParticleId: ResourceLocation? = null internal var particleDurationTicks: Int = 6 fun movementSpeedAddition(movementSpeedAddition: Double): Builder = apply { @@ -209,11 +210,11 @@ open class DaggerItem( auraEffect = effect } - fun casterParticleId(casterParticleId: Identifier?): Builder = apply { + fun casterParticleId(casterParticleId: ResourceLocation?): Builder = apply { this.casterParticleId = casterParticleId } - fun targetParticleId(targetParticleId: Identifier?): Builder = apply { + fun targetParticleId(targetParticleId: ResourceLocation?): Builder = apply { this.targetParticleId = targetParticleId } diff --git a/src/main/java/com/dec/decisland/item/custom/DiamondStaff.kt b/src/main/java/com/dec/decisland/item/custom/DiamondStaff.kt index 913525c..0350910 100644 --- a/src/main/java/com/dec/decisland/item/custom/DiamondStaff.kt +++ b/src/main/java/com/dec/decisland/item/custom/DiamondStaff.kt @@ -7,7 +7,6 @@ import net.minecraft.nbt.CompoundTag import net.minecraft.server.level.ServerLevel import net.minecraft.sounds.SoundSource import net.minecraft.world.entity.Entity -import net.minecraft.world.entity.EquipmentSlot import net.minecraft.world.entity.LivingEntity import net.minecraft.world.entity.player.Player import net.minecraft.world.item.ItemStack @@ -26,14 +25,15 @@ class DiamondStaff(properties: Properties) : ProjectileStaff(properties) { } } - override fun inventoryTick(stack: ItemStack, level: ServerLevel, entity: Entity, slot: EquipmentSlot?) { - super.inventoryTick(stack, level, entity, slot) + override fun inventoryTick(stack: ItemStack, level: Level, entity: Entity, slotId: Int, isSelected: Boolean) { + super.inventoryTick(stack, level, entity, slotId, isSelected) + val serverLevel = level as? ServerLevel ?: return if (entity !is Player || !hasPendingFollowUpShot(stack)) { return } - if (!isHeldBy(entity, stack) || level.gameTime < getFollowUpShotTime(stack)) { + if (!isHeldBy(entity, stack) || serverLevel.gameTime < getFollowUpShotTime(stack)) { if (!isHeldBy(entity, stack)) { clearFollowUpShot(stack) } @@ -41,8 +41,8 @@ class DiamondStaff(properties: Properties) : ProjectileStaff(properties) { } clearFollowUpShot(stack) - if (spawnProjectile(level, entity, stack, ::StreamEnergyBall, 1.45f, 1.3f)) { - level.playSound( + if (spawnProjectile(serverLevel, entity, stack, ::StreamEnergyBall, 1.45f, 1.3f)) { + serverLevel.playSound( null, entity.x, entity.y, @@ -59,7 +59,7 @@ class DiamondStaff(properties: Properties) : ProjectileStaff(properties) { private fun hasPendingFollowUpShot(stack: ItemStack): Boolean = readTag(stack).contains(FOLLOW_UP_SHOT_TIME_KEY) - private fun getFollowUpShotTime(stack: ItemStack): Long = readTag(stack).getLong(FOLLOW_UP_SHOT_TIME_KEY).get() + private fun getFollowUpShotTime(stack: ItemStack): Long = readTag(stack).getLong(FOLLOW_UP_SHOT_TIME_KEY) private fun scheduleFollowUpShot(stack: ItemStack, gameTime: Long) { val tag = readTag(stack) diff --git a/src/main/java/com/dec/decisland/item/custom/DustDestroyerItem.kt b/src/main/java/com/dec/decisland/item/custom/DustDestroyerItem.kt index a1f69bb..8a94c7e 100644 --- a/src/main/java/com/dec/decisland/item/custom/DustDestroyerItem.kt +++ b/src/main/java/com/dec/decisland/item/custom/DustDestroyerItem.kt @@ -4,20 +4,21 @@ import com.dec.decisland.entity.custom.WitherCloudEntity import com.dec.decisland.mana.ManaManager import net.minecraft.server.level.ServerLevel import net.minecraft.world.InteractionHand -import net.minecraft.world.InteractionResult +import net.minecraft.world.InteractionResultHolder import net.minecraft.world.entity.player.Player import net.minecraft.world.item.Item import net.minecraft.world.item.ItemStack import net.minecraft.world.level.Level class DustDestroyerItem(properties: Properties) : Item(properties) { - override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResult { + override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResultHolder { + val stack = player.getItemInHand(hand) if (level.isClientSide) { - return InteractionResult.SUCCESS + return InteractionResultHolder.success(stack) } - val serverLevel = level as? ServerLevel ?: return InteractionResult.PASS + val serverLevel = level as? ServerLevel ?: return InteractionResultHolder.pass(stack) if (ManaManager.getCurrentMana(player) <= MANA_COST) { - return InteractionResult.FAIL + return InteractionResultHolder.fail(stack) } ManaManager.reduceMana(player, MANA_COST) val view = player.getViewVector(0.0f) @@ -26,7 +27,7 @@ class DustDestroyerItem(properties: Properties) : Item(properties) { serverLevel.addFreshEntity(WitherCloudEntity(serverLevel, player, pos.x, pos.y, pos.z)) } player.swing(hand, true) - return InteractionResult.SUCCESS_SERVER + return InteractionResultHolder.consume(stack) } companion object { diff --git a/src/main/java/com/dec/decisland/item/custom/EnderFish.kt b/src/main/java/com/dec/decisland/item/custom/EnderFish.kt index 55129de..6b9e895 100644 --- a/src/main/java/com/dec/decisland/item/custom/EnderFish.kt +++ b/src/main/java/com/dec/decisland/item/custom/EnderFish.kt @@ -20,8 +20,8 @@ class EnderFish(properties: Properties) : Item(properties) { val targetX = livingEntity.x + ((livingEntity.random.nextDouble() - 0.5) * HORIZONTAL_RANGE * 2.0) val targetY = Mth.clamp( livingEntity.y + ((livingEntity.random.nextDouble() - 0.5) * VERTICAL_RANGE * 2.0), - serverLevel.minY.toDouble(), - (serverLevel.maxY - 1).toDouble(), + serverLevel.minBuildHeight.toDouble(), + (serverLevel.maxBuildHeight - 1).toDouble(), ) val targetZ = livingEntity.z + ((livingEntity.random.nextDouble() - 0.5) * HORIZONTAL_RANGE * 2.0) if (livingEntity.randomTeleport(targetX, targetY, targetZ, true)) { @@ -41,7 +41,7 @@ class EnderFish(properties: Properties) : Item(properties) { } if (teleported && livingEntity is Player) { - livingEntity.cooldowns.addCooldown(stack, COOLDOWN_TICKS) + livingEntity.cooldowns.addCooldown(stack.item, COOLDOWN_TICKS) } return result diff --git a/src/main/java/com/dec/decisland/item/custom/ExperienceBookEmptyItem.kt b/src/main/java/com/dec/decisland/item/custom/ExperienceBookEmptyItem.kt index 07500a2..f7d0135 100644 --- a/src/main/java/com/dec/decisland/item/custom/ExperienceBookEmptyItem.kt +++ b/src/main/java/com/dec/decisland/item/custom/ExperienceBookEmptyItem.kt @@ -3,28 +3,28 @@ package com.dec.decisland.item.custom import com.dec.decisland.item.ModItems import net.minecraft.network.chat.Component import net.minecraft.world.InteractionHand -import net.minecraft.world.InteractionResult +import net.minecraft.world.InteractionResultHolder import net.minecraft.world.entity.player.Player import net.minecraft.world.item.Item import net.minecraft.world.item.ItemStack import net.minecraft.world.level.Level class ExperienceBookEmptyItem(properties: Properties) : Item(properties) { - override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResult { + override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResultHolder { + val stack = player.getItemInHand(hand) if (level.isClientSide) { - return InteractionResult.SUCCESS + return InteractionResultHolder.success(stack) } if (player.experienceLevel < MIN_LEVEL_REQUIRED) { player.displayClientMessage(Component.translatable(FAIL_TRANSLATION_KEY), true) - return InteractionResult.FAIL + return InteractionResultHolder.fail(stack) } - val stack = player.getItemInHand(hand) stack.consume(1, player) giveOrDrop(player, ItemStack(ModItems.EXPERIENCE_BOOK.get())) player.giveExperienceLevels(-LEVEL_COST) - return InteractionResult.SUCCESS_SERVER + return InteractionResultHolder.consume(stack) } private fun giveOrDrop(player: Player, stack: ItemStack) { diff --git a/src/main/java/com/dec/decisland/item/custom/ExperienceBookItem.kt b/src/main/java/com/dec/decisland/item/custom/ExperienceBookItem.kt index cf82fcf..1f67345 100644 --- a/src/main/java/com/dec/decisland/item/custom/ExperienceBookItem.kt +++ b/src/main/java/com/dec/decisland/item/custom/ExperienceBookItem.kt @@ -2,7 +2,7 @@ package com.dec.decisland.item.custom import com.dec.decisland.item.ModItems import net.minecraft.world.InteractionHand -import net.minecraft.world.InteractionResult +import net.minecraft.world.InteractionResultHolder import net.minecraft.world.entity.player.Player import net.minecraft.world.item.Item import net.minecraft.world.item.ItemStack @@ -11,12 +11,12 @@ import net.minecraft.world.level.Level class ExperienceBookItem(properties: Properties) : Item(properties) { override fun isFoil(stack: ItemStack): Boolean = true - override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResult { + override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResultHolder { + val stack = player.getItemInHand(hand) if (level.isClientSide) { - return InteractionResult.SUCCESS + return InteractionResultHolder.success(stack) } - val stack = player.getItemInHand(hand) player.giveExperienceLevels(EXPERIENCE_LEVELS_GRANTED) stack.consume(1, player) @@ -24,7 +24,7 @@ class ExperienceBookItem(properties: Properties) : Item(properties) { giveOrDrop(player, ItemStack(ModItems.EXPERIENCE_BOOK_EMPTY.get())) } - return InteractionResult.SUCCESS_SERVER + return InteractionResultHolder.consume(stack) } private fun giveOrDrop(player: Player, stack: ItemStack) { diff --git a/src/main/java/com/dec/decisland/item/custom/ExperienceBookProEmptyItem.kt b/src/main/java/com/dec/decisland/item/custom/ExperienceBookProEmptyItem.kt index 3c7257e..1459cf1 100644 --- a/src/main/java/com/dec/decisland/item/custom/ExperienceBookProEmptyItem.kt +++ b/src/main/java/com/dec/decisland/item/custom/ExperienceBookProEmptyItem.kt @@ -2,27 +2,27 @@ package com.dec.decisland.item.custom import com.dec.decisland.item.ModItems import net.minecraft.world.InteractionHand -import net.minecraft.world.InteractionResult +import net.minecraft.world.InteractionResultHolder import net.minecraft.world.entity.player.Player import net.minecraft.world.item.Item import net.minecraft.world.item.ItemStack import net.minecraft.world.level.Level class ExperienceBookProEmptyItem(properties: Properties) : Item(properties) { - override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResult { + override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResultHolder { + val stack = player.getItemInHand(hand) if (level.isClientSide) { - return InteractionResult.SUCCESS + return InteractionResultHolder.success(stack) } if (player.experienceLevel < MIN_LEVEL_REQUIRED) { - return InteractionResult.FAIL + return InteractionResultHolder.fail(stack) } - val stack = player.getItemInHand(hand) stack.consume(1, player) giveOrDrop(player, ItemStack(ModItems.EXPERIENCE_BOOK.get())) player.giveExperienceLevels(-LEVEL_COST) - return InteractionResult.SUCCESS_SERVER + return InteractionResultHolder.consume(stack) } private fun giveOrDrop(player: Player, stack: ItemStack) { diff --git a/src/main/java/com/dec/decisland/item/custom/FireflyBottle.kt b/src/main/java/com/dec/decisland/item/custom/FireflyBottle.kt index 297e972..2cdd519 100644 --- a/src/main/java/com/dec/decisland/item/custom/FireflyBottle.kt +++ b/src/main/java/com/dec/decisland/item/custom/FireflyBottle.kt @@ -9,7 +9,7 @@ import net.minecraft.sounds.SoundEvents import net.minecraft.sounds.SoundSource import net.minecraft.stats.Stats import net.minecraft.world.InteractionHand -import net.minecraft.world.InteractionResult +import net.minecraft.world.InteractionResultHolder import net.minecraft.world.entity.player.Player import net.minecraft.world.entity.projectile.Projectile import net.minecraft.world.item.Item @@ -18,7 +18,7 @@ import net.minecraft.world.item.ProjectileItem import net.minecraft.world.level.Level class FireflyBottle(props: Item.Properties) : Item(props), ProjectileItem { - override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResult { + override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResultHolder { val itemStack = player.getItemInHand(hand) level.playSound( null, @@ -36,7 +36,7 @@ class FireflyBottle(props: Item.Properties) : Item(props), ProjectileItem { projectile.setPos(player.x, player.eyeY - 0.1, player.z) projectile.shootFromRotation(player, player.xRot, player.yRot, -20.0f, PROJECTILE_SHOOT_POWER, PROJECTILE_INACCURACY) if (!level.addFreshEntity(projectile)) { - return InteractionResult.FAIL + return InteractionResultHolder.fail(itemStack) } } @@ -44,7 +44,7 @@ class FireflyBottle(props: Item.Properties) : Item(props), ProjectileItem { AccessoryCombatEffects.onSuccessfulWeaponUse(player, itemStack) player.swing(hand, true) itemStack.consume(1, player) - return if (level.isClientSide) InteractionResult.SUCCESS else InteractionResult.SUCCESS_SERVER + return InteractionResultHolder.sidedSuccess(itemStack, level.isClientSide) } override fun asProjectile(level: Level, position: Position, itemStack: ItemStack, direction: Direction): Projectile = diff --git a/src/main/java/com/dec/decisland/item/custom/FlareMagicBook.kt b/src/main/java/com/dec/decisland/item/custom/FlareMagicBook.kt index 34227d7..65ad74d 100644 --- a/src/main/java/com/dec/decisland/item/custom/FlareMagicBook.kt +++ b/src/main/java/com/dec/decisland/item/custom/FlareMagicBook.kt @@ -3,18 +3,18 @@ package com.dec.decisland.item.custom import com.dec.decisland.DecIsland import com.dec.decisland.entity.projectile.SpotsByBook import com.dec.decisland.entity.projectile.SpotsOverflow +import com.dec.decisland.item.compat.asEquipmentSlot import com.dec.decisland.mana.ManaManager import com.dec.decisland.network.Networking import net.minecraft.core.component.DataComponents import net.minecraft.nbt.CompoundTag -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.server.level.ServerLevel import net.minecraft.sounds.SoundEvents import net.minecraft.sounds.SoundSource import net.minecraft.world.InteractionHand -import net.minecraft.world.InteractionResult +import net.minecraft.world.InteractionResultHolder import net.minecraft.world.entity.Entity -import net.minecraft.world.entity.EquipmentSlot import net.minecraft.world.entity.LivingEntity import net.minecraft.world.entity.player.Player import net.minecraft.world.entity.projectile.Projectile @@ -26,13 +26,13 @@ class FlareMagicBook(properties: Properties) : MagicWeapon(properties) { override fun shouldCauseReequipAnimation(oldStack: ItemStack, newStack: ItemStack, slotChanged: Boolean): Boolean = slotChanged || !newStack.`is`(oldStack.item) - override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResult { + override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResultHolder { val stack = player.getItemInHand(hand) if (level.isClientSide) { - return if (shouldAnimateMainProjectile(player, stack)) InteractionResult.CONSUME else InteractionResult.PASS + return if (shouldAnimateMainProjectile(player, stack)) InteractionResultHolder.consume(stack) else InteractionResultHolder.pass(stack) } - val serverLevel = level as? ServerLevel ?: return InteractionResult.PASS + val serverLevel = level as? ServerLevel ?: return InteractionResultHolder.pass(stack) var skillCount = getSkillCount(stack) val shouldAnimateMainProjectile = shouldAnimateMainProjectile(player, stack) var firedMainProjectile = false @@ -63,22 +63,23 @@ class FlareMagicBook(properties: Properties) : MagicWeapon(properties) { } setSkillCount(stack, skillCount) - return if (shouldAnimateMainProjectile && firedMainProjectile) InteractionResult.SUCCESS_SERVER else InteractionResult.CONSUME + return if (shouldAnimateMainProjectile && firedMainProjectile) InteractionResultHolder.success(stack) else InteractionResultHolder.consume(stack) } - override fun inventoryTick(stack: ItemStack, level: ServerLevel, entity: Entity, slot: EquipmentSlot?) { - super.inventoryTick(stack, level, entity, slot) + override fun inventoryTick(stack: ItemStack, level: Level, entity: Entity, slotId: Int, isSelected: Boolean) { + super.inventoryTick(stack, level, entity, slotId, isSelected) + val level1 = level as? ServerLevel ?: return val player = entity as? Player ?: return val pendingShots = getPendingOverflowShots(stack) - if (pendingShots <= 0 || level.gameTime < getNextOverflowShotTime(stack)) { + if (pendingShots <= 0 || level1.gameTime < getNextOverflowShotTime(stack)) { return } - spawnProjectile(level, player, stack, ::SpotsOverflow, 0.7f, 30.0f) + spawnProjectile(level1, player, stack, ::SpotsOverflow, 0.7f, 30.0f) if (pendingShots == 1) { clearPendingOverflowShots(stack) } else { - setPendingOverflowShots(stack, pendingShots - 1, level.gameTime + OVERFLOW_DELAY_TICKS) + setPendingOverflowShots(stack, pendingShots - 1, level1.gameTime + OVERFLOW_DELAY_TICKS) } } @@ -129,16 +130,12 @@ class FlareMagicBook(properties: Properties) : MagicWeapon(properties) { ): Boolean { val projectile = projectileFactory(serverLevel, source, stack) projectile.shootFromRotation(source, source.xRot, source.yRot, 0.0f, velocity, inaccuracy) - val added = serverLevel.addFreshEntity(projectile) - if (added) { - projectile.applyOnProjectileSpawned(serverLevel, stack) - } - return added + return serverLevel.addFreshEntity(projectile) } private fun getSkillCount(stack: ItemStack): Int { val tag = readTag(stack) - return if (tag.contains(SKILL_COUNT_KEY)) tag.getInt(SKILL_COUNT_KEY).get() else 0 + return if (tag.contains(SKILL_COUNT_KEY)) tag.getInt(SKILL_COUNT_KEY) else 0 } private fun setSkillCount(stack: ItemStack, value: Int) { @@ -149,12 +146,12 @@ class FlareMagicBook(properties: Properties) : MagicWeapon(properties) { private fun getPendingOverflowShots(stack: ItemStack): Int { val tag = readTag(stack) - return if (tag.contains(PENDING_OVERFLOW_SHOTS_KEY)) tag.getInt(PENDING_OVERFLOW_SHOTS_KEY).get() else 0 + return if (tag.contains(PENDING_OVERFLOW_SHOTS_KEY)) tag.getInt(PENDING_OVERFLOW_SHOTS_KEY) else 0 } private fun getNextOverflowShotTime(stack: ItemStack): Long { val tag = readTag(stack) - return if (tag.contains(NEXT_OVERFLOW_SHOT_TIME_KEY)) tag.getLong(NEXT_OVERFLOW_SHOT_TIME_KEY).get() else 0L + return if (tag.contains(NEXT_OVERFLOW_SHOT_TIME_KEY)) tag.getLong(NEXT_OVERFLOW_SHOT_TIME_KEY) else 0L } private fun setPendingOverflowShots(stack: ItemStack, count: Int, nextShotTime: Long) { @@ -195,7 +192,7 @@ class FlareMagicBook(properties: Properties) : MagicWeapon(properties) { private const val PENDING_OVERFLOW_SHOTS_KEY: String = "FlarePendingOverflowShots" private const val NEXT_OVERFLOW_SHOT_TIME_KEY: String = "FlareNextOverflowShotTime" - private val FIRE_POWERING_PARTICLE_ID: Identifier = - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "fire_powering_particle") + private val FIRE_POWERING_PARTICLE_ID: ResourceLocation = + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "fire_powering_particle") } } diff --git a/src/main/java/com/dec/decisland/item/custom/FrozenBall.kt b/src/main/java/com/dec/decisland/item/custom/FrozenBall.kt index 6586c2e..0499d5d 100644 --- a/src/main/java/com/dec/decisland/item/custom/FrozenBall.kt +++ b/src/main/java/com/dec/decisland/item/custom/FrozenBall.kt @@ -9,7 +9,7 @@ import net.minecraft.sounds.SoundEvents import net.minecraft.sounds.SoundSource import net.minecraft.stats.Stats import net.minecraft.world.InteractionHand -import net.minecraft.world.InteractionResult +import net.minecraft.world.InteractionResultHolder import net.minecraft.world.entity.player.Player import net.minecraft.world.entity.projectile.Projectile import net.minecraft.world.item.Item @@ -18,7 +18,7 @@ import net.minecraft.world.item.ProjectileItem import net.minecraft.world.level.Level class FrozenBall(props: Item.Properties) : Item(props), ProjectileItem { - override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResult { + override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResultHolder { val itemStack = player.getItemInHand(hand) level.playSound( null, @@ -36,7 +36,7 @@ class FrozenBall(props: Item.Properties) : Item(props), ProjectileItem { projectile.setPos(player.x, player.eyeY - 0.1, player.z) projectile.shootFromRotation(player, player.xRot, player.yRot, 0.0f, PROJECTILE_SHOOT_POWER, PROJECTILE_INACCURACY) if (!level.addFreshEntity(projectile)) { - return InteractionResult.FAIL + return InteractionResultHolder.fail(itemStack) } } @@ -44,7 +44,7 @@ class FrozenBall(props: Item.Properties) : Item(props), ProjectileItem { AccessoryCombatEffects.onSuccessfulWeaponUse(player, itemStack) player.swing(hand, true) itemStack.consume(1, player) - return if (level.isClientSide) InteractionResult.SUCCESS else InteractionResult.SUCCESS_SERVER + return InteractionResultHolder.sidedSuccess(itemStack, level.isClientSide) } override fun asProjectile(level: Level, position: Position, itemStack: ItemStack, direction: Direction): Projectile = diff --git a/src/main/java/com/dec/decisland/item/custom/FrozenRayStaff.kt b/src/main/java/com/dec/decisland/item/custom/FrozenRayStaff.kt index bbe6d20..b7bf14c 100644 --- a/src/main/java/com/dec/decisland/item/custom/FrozenRayStaff.kt +++ b/src/main/java/com/dec/decisland/item/custom/FrozenRayStaff.kt @@ -1,13 +1,13 @@ package com.dec.decisland.item.custom import com.dec.decisland.entity.projectile.FrozenRay +import com.dec.decisland.item.compat.ModProjectileUtil import com.dec.decisland.mana.ManaManager import net.minecraft.sounds.SoundEvent import net.minecraft.sounds.SoundEvents import net.minecraft.server.level.ServerLevel import net.minecraft.world.entity.LivingEntity import net.minecraft.world.entity.player.Player -import net.minecraft.world.entity.projectile.Projectile import net.minecraft.world.item.ItemStack class FrozenRayStaff(properties: Properties) : BedrockProjectileStaff(properties) { @@ -18,7 +18,7 @@ class FrozenRayStaff(properties: Properties) : BedrockProjectileStaff(properties override fun shoot(attackCounter: Int, serverLevel: ServerLevel, source: LivingEntity, stack: ItemStack) { if (source is Player) { val view = source.getViewVector(0.0f) - Projectile.spawnProjectileUsingShoot( + ModProjectileUtil.spawnUsingShoot( ::FrozenRay, serverLevel, stack, diff --git a/src/main/java/com/dec/decisland/item/custom/FrozenStaff.kt b/src/main/java/com/dec/decisland/item/custom/FrozenStaff.kt index a96f348..62892ab 100644 --- a/src/main/java/com/dec/decisland/item/custom/FrozenStaff.kt +++ b/src/main/java/com/dec/decisland/item/custom/FrozenStaff.kt @@ -1,5 +1,6 @@ package com.dec.decisland.item.custom +import com.dec.decisland.item.compat.asEquipmentSlot import com.dec.decisland.mana.ManaManager import net.minecraft.core.component.DataComponents import net.minecraft.nbt.CompoundTag @@ -8,9 +9,8 @@ import net.minecraft.sounds.SoundEvent import net.minecraft.sounds.SoundEvents import net.minecraft.sounds.SoundSource import net.minecraft.world.InteractionHand -import net.minecraft.world.InteractionResult +import net.minecraft.world.InteractionResultHolder import net.minecraft.world.entity.EntityType -import net.minecraft.world.entity.EntitySpawnReason import net.minecraft.world.entity.player.Player import net.minecraft.world.item.ItemStack import net.minecraft.world.item.component.CustomData @@ -22,17 +22,17 @@ class FrozenStaff(properties: Properties) : MagicWeapon(properties) { override fun getCastSound(): SoundEvent = SoundEvents.AMETHYST_BLOCK_BREAK - override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResult { + override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResultHolder { val stack = player.getItemInHand(hand) if (level.isClientSide) { - return if (willFireNextShot(stack)) InteractionResult.CONSUME else InteractionResult.PASS + return if (willFireNextShot(stack)) InteractionResultHolder.consume(stack) else InteractionResultHolder.pass(stack) } - val serverLevel = level as? ServerLevel ?: return InteractionResult.PASS + val serverLevel = level as? ServerLevel ?: return InteractionResultHolder.pass(stack) val currentMana = ManaManager.getCurrentMana(player) if (currentMana < CHARGE_MANA_COST) { setSkillCount(stack, 0) - return InteractionResult.FAIL + return InteractionResultHolder.fail(stack) } var skillCount = getSkillCount(stack) @@ -46,15 +46,15 @@ class FrozenStaff(properties: Properties) : MagicWeapon(properties) { if (!shouldFire) { ManaManager.reduceMana(player, CHARGE_MANA_COST) setSkillCount(stack, nextSkillCount) - return InteractionResult.CONSUME + return InteractionResultHolder.consume(stack) } if (currentMana < SHOT_MANA_COST) { - return InteractionResult.FAIL + return InteractionResultHolder.fail(stack) } if (!spawnSnowball(serverLevel, player)) { - return InteractionResult.FAIL + return InteractionResultHolder.fail(stack) } ManaManager.reduceMana(player, SHOT_MANA_COST) @@ -62,7 +62,7 @@ class FrozenStaff(properties: Properties) : MagicWeapon(properties) { playSound(serverLevel, player, getCastSound(), getCastSoundVolume(), getCastSoundPitch()) player.swing(hand, true) setSkillCount(stack, if (nextSkillCount >= RESET_THRESHOLD) 0 else nextSkillCount) - return InteractionResult.SUCCESS_SERVER + return InteractionResultHolder.success(stack) } private fun willFireNextShot(stack: ItemStack): Boolean { @@ -74,7 +74,7 @@ class FrozenStaff(properties: Properties) : MagicWeapon(properties) { } private fun spawnSnowball(serverLevel: ServerLevel, player: Player): Boolean { - val projectile = EntityType.SNOWBALL.create(serverLevel, EntitySpawnReason.TRIGGERED) ?: return false + val projectile = EntityType.SNOWBALL.create(serverLevel) ?: return false projectile.setOwner(player) val view = player.getViewVector(0.0f) val spawnPos = player.eyePosition.add(view.scale(SPAWN_FORWARD_OFFSET)) @@ -98,7 +98,7 @@ class FrozenStaff(properties: Properties) : MagicWeapon(properties) { private fun getSkillCount(stack: ItemStack): Int { val tag = readTag(stack) - return if (tag.contains(SKILL_COUNT_KEY)) tag.getInt(SKILL_COUNT_KEY).get() else 0 + return if (tag.contains(SKILL_COUNT_KEY)) tag.getInt(SKILL_COUNT_KEY) else 0 } private fun setSkillCount(stack: ItemStack, value: Int) { diff --git a/src/main/java/com/dec/decisland/item/custom/GasBomb.kt b/src/main/java/com/dec/decisland/item/custom/GasBomb.kt index 90abcbe..e64ab8d 100644 --- a/src/main/java/com/dec/decisland/item/custom/GasBomb.kt +++ b/src/main/java/com/dec/decisland/item/custom/GasBomb.kt @@ -9,7 +9,7 @@ import net.minecraft.sounds.SoundEvents import net.minecraft.sounds.SoundSource import net.minecraft.stats.Stats import net.minecraft.world.InteractionHand -import net.minecraft.world.InteractionResult +import net.minecraft.world.InteractionResultHolder import net.minecraft.world.entity.player.Player import net.minecraft.world.entity.projectile.Projectile import net.minecraft.world.item.Item @@ -18,7 +18,7 @@ import net.minecraft.world.item.ProjectileItem import net.minecraft.world.level.Level class GasBomb(props: Item.Properties) : Item(props), ProjectileItem { - override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResult { + override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResultHolder { val itemStack = player.getItemInHand(hand) level.playSound( null, @@ -36,7 +36,7 @@ class GasBomb(props: Item.Properties) : Item(props), ProjectileItem { projectile.setPos(player.x, player.eyeY - 0.1, player.z) projectile.shootFromRotation(player, player.xRot, player.yRot, 0.0f, PROJECTILE_SHOOT_POWER, PROJECTILE_INACCURACY) if (!level.addFreshEntity(projectile)) { - return InteractionResult.FAIL + return InteractionResultHolder.fail(itemStack) } } @@ -44,7 +44,7 @@ class GasBomb(props: Item.Properties) : Item(props), ProjectileItem { AccessoryCombatEffects.onSuccessfulWeaponUse(player, itemStack) player.swing(hand, true) itemStack.consume(1, player) - return if (level.isClientSide) InteractionResult.SUCCESS else InteractionResult.SUCCESS_SERVER + return InteractionResultHolder.sidedSuccess(itemStack, level.isClientSide) } override fun asProjectile(level: Level, position: Position, itemStack: ItemStack, direction: Direction): Projectile = diff --git a/src/main/java/com/dec/decisland/item/custom/GhostSwordItem.kt b/src/main/java/com/dec/decisland/item/custom/GhostSwordItem.kt index c9bcbdc..4bcc72a 100644 --- a/src/main/java/com/dec/decisland/item/custom/GhostSwordItem.kt +++ b/src/main/java/com/dec/decisland/item/custom/GhostSwordItem.kt @@ -2,7 +2,7 @@ package com.dec.decisland.item.custom import com.dec.decisland.DecIsland import com.dec.decisland.network.Networking -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.server.level.ServerLevel import net.minecraft.world.effect.MobEffectInstance import net.minecraft.world.effect.MobEffects @@ -11,18 +11,19 @@ import net.minecraft.world.item.Item import net.minecraft.world.item.ItemStack class GhostSwordItem(properties: Properties) : Item(properties) { - override fun hurtEnemy(stack: ItemStack, target: LivingEntity, attacker: LivingEntity) { - val serverLevel = attacker.level() as? ServerLevel ?: return + override fun hurtEnemy(stack: ItemStack, target: LivingEntity, attacker: LivingEntity): Boolean { + val serverLevel = attacker.level() as? ServerLevel ?: return false if (serverLevel.random.nextInt(PROC_CHANCE) == 0) { Networking.sendBedrockEmitterToNearby(serverLevel, GHOST_SICKLE_PARTICLE_ID, target.position()) target.addEffect(MobEffectInstance(MobEffects.INVISIBILITY, INVISIBILITY_DURATION_TICKS, 0)) } + return true } companion object { private const val PROC_CHANCE = 6 private const val INVISIBILITY_DURATION_TICKS = 60 - private val GHOST_SICKLE_PARTICLE_ID: Identifier = - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "ghost_sickle_particle") + private val GHOST_SICKLE_PARTICLE_ID: ResourceLocation = + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "ghost_sickle_particle") } } \ No newline at end of file diff --git a/src/main/java/com/dec/decisland/item/custom/GrowthItem.kt b/src/main/java/com/dec/decisland/item/custom/GrowthItem.kt index ab6efd2..02b5bd0 100644 --- a/src/main/java/com/dec/decisland/item/custom/GrowthItem.kt +++ b/src/main/java/com/dec/decisland/item/custom/GrowthItem.kt @@ -23,15 +23,16 @@ class GrowthItem(properties: Properties) : MagicWeapon(properties) { spawnRay(serverLevel, source, stack, USE_LAUNCH_POWER) } - override fun hurtEnemy(stack: ItemStack, target: LivingEntity, attacker: LivingEntity) { - val serverLevel = attacker.level() as? ServerLevel ?: return - val player = attacker as? Player ?: return + override fun hurtEnemy(stack: ItemStack, target: LivingEntity, attacker: LivingEntity): Boolean { + val serverLevel = attacker.level() as? ServerLevel ?: return false + val player = attacker as? Player ?: return false if (ManaManager.getCurrentMana(player) <= ATTACK_MANA_COST) { - return + return false } ManaManager.reduceMana(player, ATTACK_MANA_COST) serverLevel.playSound(null, attacker.x, attacker.y, attacker.z, SoundEvents.AMETHYST_BLOCK_BREAK, SoundSource.PLAYERS) spawnRay(serverLevel, attacker, stack, ATTACK_LAUNCH_POWER) + return true } private fun spawnRay(serverLevel: ServerLevel, source: LivingEntity, stack: ItemStack, velocity: Float) { diff --git a/src/main/java/com/dec/decisland/item/custom/GuideBookItem.kt b/src/main/java/com/dec/decisland/item/custom/GuideBookItem.kt index 2dae8f6..a715cb1 100644 --- a/src/main/java/com/dec/decisland/item/custom/GuideBookItem.kt +++ b/src/main/java/com/dec/decisland/item/custom/GuideBookItem.kt @@ -2,7 +2,7 @@ package com.dec.decisland.item.custom import net.minecraft.network.chat.Component import net.minecraft.world.InteractionHand -import net.minecraft.world.InteractionResult +import net.minecraft.world.InteractionResultHolder import net.minecraft.world.entity.player.Player import net.minecraft.world.item.Item import net.minecraft.world.item.ItemStack @@ -11,16 +11,17 @@ import net.minecraft.world.level.Level class GuideBookItem(properties: Properties) : Item(properties) { override fun isFoil(stack: ItemStack): Boolean = true - override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResult { + override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResultHolder { + val stack = player.getItemInHand(hand) if (level.isClientSide) { - return InteractionResult.SUCCESS + return InteractionResultHolder.success(stack) } MESSAGE_KEYS.forEach { key -> player.displayClientMessage(Component.translatable(key), false) } - return InteractionResult.SUCCESS_SERVER + return InteractionResultHolder.success(stack) } companion object { diff --git a/src/main/java/com/dec/decisland/item/custom/HardBambooKatana.kt b/src/main/java/com/dec/decisland/item/custom/HardBambooKatana.kt index 9611835..7c7aac3 100644 --- a/src/main/java/com/dec/decisland/item/custom/HardBambooKatana.kt +++ b/src/main/java/com/dec/decisland/item/custom/HardBambooKatana.kt @@ -1,7 +1,7 @@ package com.dec.decisland.item.custom import com.dec.decisland.DecIsland -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.server.level.ServerLevel class HardBambooKatana(properties: Properties) : BambooKatana(properties) { @@ -16,7 +16,7 @@ class HardBambooKatana(properties: Properties) : BambooKatana(properties) { } companion object { - private val HARD_BAMBOO_KATANA_PARTICLE_ID: Identifier = - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "hard_bamboo_katana_particle") + private val HARD_BAMBOO_KATANA_PARTICLE_ID: ResourceLocation = + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "hard_bamboo_katana_particle") } } diff --git a/src/main/java/com/dec/decisland/item/custom/HealthBoostItem.kt b/src/main/java/com/dec/decisland/item/custom/HealthBoostItem.kt index 8740064..6bc1f1a 100644 --- a/src/main/java/com/dec/decisland/item/custom/HealthBoostItem.kt +++ b/src/main/java/com/dec/decisland/item/custom/HealthBoostItem.kt @@ -36,7 +36,7 @@ open class HealthBoostItem(properties: Properties) : Item(properties) { livingEntity.getAttribute(getAttribute())!!.baseValue = calAttributeValue(newLevel).toDouble() livingEntity.foodData.eat(getNutrition(), getSaturationModifier()) stack.shrink(1) - livingEntity.playSound(SoundEvents.GENERIC_EAT.value(), 1.0f, 1.0f) + livingEntity.playSound(SoundEvents.GENERIC_EAT, 1.0f, 1.0f) } else { return stack } diff --git a/src/main/java/com/dec/decisland/item/custom/IllagerSword.kt b/src/main/java/com/dec/decisland/item/custom/IllagerSword.kt index f07f9f0..e56d935 100644 --- a/src/main/java/com/dec/decisland/item/custom/IllagerSword.kt +++ b/src/main/java/com/dec/decisland/item/custom/IllagerSword.kt @@ -1,11 +1,12 @@ package com.dec.decisland.item.custom import com.dec.decisland.DecIsland -import net.minecraft.resources.Identifier +import com.dec.decisland.item.compat.ItemCompat +import net.minecraft.resources.ResourceLocation import net.minecraft.server.level.ServerLevel import net.minecraft.world.entity.Entity -import net.minecraft.world.entity.EquipmentSlot import net.minecraft.world.item.ItemStack +import net.minecraft.world.level.Level import java.util.Random class IllagerSword(properties: Properties) : Katana(properties) { @@ -31,16 +32,21 @@ class IllagerSword(properties: Properties) : Katana(properties) { override fun onAttackTriggerSweep(stack: ItemStack): Boolean = Random().nextInt(8) == 0 - override fun inventoryTick(stack: ItemStack, level: ServerLevel, entity: Entity, slot: EquipmentSlot?) { - super.inventoryTick(stack, level, entity, slot) - updateMovementSpeedModifier(entity, slot, MOVEMENT_SPEED_ADDITION, MOVEMENT_SPEED_MODIFIER_ID) + override fun inventoryTick(stack: ItemStack, level: Level, entity: Entity, slotId: Int, isSelected: Boolean) { + super.inventoryTick(stack, level, entity, slotId, isSelected) + updateMovementSpeedModifier( + entity, + ItemCompat.slotFromIndex(slotId), + MOVEMENT_SPEED_ADDITION, + MOVEMENT_SPEED_MODIFIER_ID, + ) } companion object { - private val ILLAGER_SWORD_PARTICLE_ID: Identifier = - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "illager_sword_particle") - private val MOVEMENT_SPEED_MODIFIER_ID: Identifier = - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "movement_speed/illager_sword") + private val ILLAGER_SWORD_PARTICLE_ID: ResourceLocation = + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "illager_sword_particle") + private val MOVEMENT_SPEED_MODIFIER_ID: ResourceLocation = + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "movement_speed/illager_sword") private const val MOVEMENT_SPEED_ADDITION: Double = 0.015 } } diff --git a/src/main/java/com/dec/decisland/item/custom/Katana.kt b/src/main/java/com/dec/decisland/item/custom/Katana.kt index 4b9ec1d..3f9c46a 100644 --- a/src/main/java/com/dec/decisland/item/custom/Katana.kt +++ b/src/main/java/com/dec/decisland/item/custom/Katana.kt @@ -2,14 +2,15 @@ package com.dec.decisland.item.custom import com.dec.decisland.api.ModItemEventTrigger import com.dec.decisland.network.Networking -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.core.component.DataComponents import net.minecraft.nbt.CompoundTag import net.minecraft.server.level.ServerLevel import net.minecraft.sounds.SoundEvents import net.minecraft.util.Mth +import com.dec.decisland.item.compat.asEquipmentSlot import net.minecraft.world.InteractionHand -import net.minecraft.world.InteractionResult +import net.minecraft.world.InteractionResultHolder import net.minecraft.world.damagesource.DamageSource import net.minecraft.world.entity.Entity import net.minecraft.world.entity.EquipmentSlot @@ -66,7 +67,7 @@ abstract class Katana(properties: Properties) : Item(properties), IItemExtension open fun getAttackSkillBonusDamage(): Float = 0.0f - override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResult { + override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResultHolder { sweepAttack( level, player, @@ -79,22 +80,22 @@ abstract class Katana(properties: Properties) : Item(properties), IItemExtension { lvl, x, y, z -> useSpawnParticle(lvl, x, y, z) }, { server, source -> useServer(server, source) }, ) - return InteractionResult.SUCCESS + return InteractionResultHolder.sidedSuccess(player.getItemInHand(hand), level.isClientSide) } - override fun hurtEnemy(stack: ItemStack, target: LivingEntity, attacker: LivingEntity) { + override fun hurtEnemy(stack: ItemStack, target: LivingEntity, attacker: LivingEntity): Boolean { val customData = stack.get(DataComponents.CUSTOM_DATA) val tag = customData?.copyTag() ?: CompoundTag() val currentTime = System.currentTimeMillis() val shouldReset = if (tag.contains(LAST_ATTACK_TIME_KEY)) { - currentTime - tag.getLong(LAST_ATTACK_TIME_KEY).get() > getResetTimeMs() + currentTime - tag.getLong(LAST_ATTACK_TIME_KEY) > getResetTimeMs() } else { false } var attackCount = if (shouldReset) 0 else if (tag.contains(ATTACK_COUNTER_KEY)) { - tag.getInt(ATTACK_COUNTER_KEY).get() + tag.getInt(ATTACK_COUNTER_KEY) } else { 0 } @@ -105,7 +106,7 @@ abstract class Katana(properties: Properties) : Item(properties), IItemExtension stack.set(DataComponents.CUSTOM_DATA, CustomData.of(tag)) if (!onAttackTriggerSweep(stack)) { - return + return true } val hand = if (attacker is Player) attacker.usedItemHand else null @@ -125,6 +126,7 @@ abstract class Katana(properties: Properties) : Item(properties), IItemExtension if (attackCount >= getMaxAttackCount()) { stack.set(DataComponents.CUSTOM_DATA, CustomData.EMPTY) } + return true } fun sweepAttack( @@ -189,7 +191,7 @@ abstract class Katana(properties: Properties) : Item(properties), IItemExtension damageSource = level.damageSources().playerAttack(source) } - if (livingEntity.hurtServer(level, damageSource, finalDamage)) { + if (livingEntity.hurt(damageSource, finalDamage)) { hitCount++ val radians = Math.toRadians(source.yRot.toDouble()) livingEntity.knockback( @@ -216,7 +218,7 @@ abstract class Katana(properties: Properties) : Item(properties), IItemExtension protected fun sendBedrockKatanaEmitter( serverLevel: ServerLevel, - particleId: Identifier, + particleId: ResourceLocation, x: Double, y: Double, z: Double, @@ -236,7 +238,7 @@ abstract class Katana(properties: Properties) : Item(properties), IItemExtension entity: Entity, slot: EquipmentSlot?, amount: Double, - modifierId: Identifier, + modifierId: ResourceLocation, ) { val player = entity as? Player ?: return if (slot != EquipmentSlot.MAINHAND && slot != EquipmentSlot.OFFHAND) { @@ -266,7 +268,7 @@ abstract class Katana(properties: Properties) : Item(properties), IItemExtension ) } - protected fun removeMovementSpeedModifier(player: Player, modifierId: Identifier) { + protected fun removeMovementSpeedModifier(player: Player, modifierId: ResourceLocation) { val attribute = player.getAttribute(Attributes.MOVEMENT_SPEED) ?: return if (attribute.getModifier(modifierId) != null) { attribute.removeModifier(modifierId) diff --git a/src/main/java/com/dec/decisland/item/custom/MagicWeapon.kt b/src/main/java/com/dec/decisland/item/custom/MagicWeapon.kt index 64cccf9..8b3f365 100644 --- a/src/main/java/com/dec/decisland/item/custom/MagicWeapon.kt +++ b/src/main/java/com/dec/decisland/item/custom/MagicWeapon.kt @@ -4,7 +4,7 @@ import net.minecraft.core.component.DataComponents import net.minecraft.nbt.CompoundTag import net.minecraft.server.level.ServerLevel import net.minecraft.world.InteractionHand -import net.minecraft.world.InteractionResult +import net.minecraft.world.InteractionResultHolder import net.minecraft.world.entity.LivingEntity import net.minecraft.world.entity.player.Player import net.minecraft.world.item.Item @@ -37,13 +37,13 @@ open class MagicWeapon(properties: Properties) : Item(properties) { val currentTime = System.currentTimeMillis() val shouldReset = if (tag.contains(LAST_ATTACK_TIME_KEY)) { - currentTime - tag.getLong(LAST_ATTACK_TIME_KEY).get() > getResetTimeMs() + currentTime - tag.getLong(LAST_ATTACK_TIME_KEY) > getResetTimeMs() } else { false } var attackCount = if (shouldReset) 0 else if (tag.contains(ATTACK_COUNTER_KEY)) { - tag.getInt(ATTACK_COUNTER_KEY).get() + tag.getInt(ATTACK_COUNTER_KEY) } else { 0 } @@ -60,14 +60,15 @@ open class MagicWeapon(properties: Properties) : Item(properties) { } } - override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResult { + override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResultHolder { + val stack = player.getItemInHand(hand) if (level.isClientSide) { - return InteractionResult.SUCCESS + return InteractionResultHolder.success(stack) } - val serverLevel = level as? ServerLevel ?: return InteractionResult.PASS + val serverLevel = level as? ServerLevel ?: return InteractionResultHolder.pass(stack) if (!judge(serverLevel, player)) { - return InteractionResult.FAIL + return InteractionResultHolder.fail(stack) } shootTrigger(player.getItemInHand(hand), serverLevel, player) @@ -82,7 +83,7 @@ open class MagicWeapon(properties: Properties) : Item(properties) { getCastSoundPitch(), ) player.swing(hand, true) - return InteractionResult.SUCCESS_SERVER + return InteractionResultHolder.consume(stack) } companion object { diff --git a/src/main/java/com/dec/decisland/item/custom/ManaGainBoostItem.kt b/src/main/java/com/dec/decisland/item/custom/ManaGainBoostItem.kt index 5fcf8fc..c074e1e 100644 --- a/src/main/java/com/dec/decisland/item/custom/ManaGainBoostItem.kt +++ b/src/main/java/com/dec/decisland/item/custom/ManaGainBoostItem.kt @@ -33,7 +33,7 @@ open class ManaGainBoostItem(properties: Properties) : Item(properties) { livingEntity.setData(getAttachment(), currentLevel + getBoostValue()) livingEntity.foodData.eat(getNutrition(), getSaturationModifier()) stack.shrink(1) - livingEntity.playSound(SoundEvents.GENERIC_EAT.value(), 1.0f, 1.0f) + livingEntity.playSound(SoundEvents.GENERIC_EAT, 1.0f, 1.0f) } else { return stack } diff --git a/src/main/java/com/dec/decisland/item/custom/ManaRestoreItem.kt b/src/main/java/com/dec/decisland/item/custom/ManaRestoreItem.kt index 70e220e..78e91fe 100644 --- a/src/main/java/com/dec/decisland/item/custom/ManaRestoreItem.kt +++ b/src/main/java/com/dec/decisland/item/custom/ManaRestoreItem.kt @@ -1,14 +1,15 @@ package com.dec.decisland.item.custom import com.dec.decisland.DecIsland +import com.dec.decisland.item.compat.asEquipmentSlot import com.dec.decisland.mana.ManaManager import com.dec.decisland.network.Networking -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.server.level.ServerLevel import net.minecraft.sounds.SoundEvents import net.minecraft.sounds.SoundSource import net.minecraft.world.InteractionHand -import net.minecraft.world.InteractionResult +import net.minecraft.world.InteractionResultHolder import net.minecraft.world.entity.player.Player import net.minecraft.world.item.Item import net.minecraft.world.item.ItemStack @@ -24,13 +25,13 @@ abstract class ManaRestoreItem(properties: Properties) : Item(properties) { override fun isFoil(stack: ItemStack): Boolean = glint || super.isFoil(stack) - override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResult { + override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResultHolder { + val stack = player.getItemInHand(hand) if (level.isClientSide) { - return InteractionResult.SUCCESS + return InteractionResultHolder.success(stack) } - val serverLevel = level as? ServerLevel ?: return InteractionResult.PASS - val stack = player.getItemInHand(hand) + val serverLevel = level as? ServerLevel ?: return InteractionResultHolder.pass(stack) val currentMana = ManaManager.getCurrentMana(player) var restored = false @@ -69,14 +70,14 @@ abstract class ManaRestoreItem(properties: Properties) : Item(properties) { if (restored || damageOnEveryUse) { player.swing(hand, true) - return InteractionResult.SUCCESS_SERVER + return InteractionResultHolder.success(stack) } - return InteractionResult.FAIL + return InteractionResultHolder.fail(stack) } companion object { - private val WHITE_STAR_PARTICLE_ID: Identifier = - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "white_star_particle") + private val WHITE_STAR_PARTICLE_ID: ResourceLocation = + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "white_star_particle") } } diff --git a/src/main/java/com/dec/decisland/item/custom/Mask.kt b/src/main/java/com/dec/decisland/item/custom/Mask.kt index 137b992..73de6ca 100644 --- a/src/main/java/com/dec/decisland/item/custom/Mask.kt +++ b/src/main/java/com/dec/decisland/item/custom/Mask.kt @@ -1,7 +1,11 @@ package com.dec.decisland.item.custom import com.dec.decisland.item.ModArmorMaterials +import net.minecraft.world.item.ArmorItem import net.minecraft.world.item.Item -import net.minecraft.world.item.equipment.ArmorType -class Mask(properties: Properties) : Item(properties.humanoidArmor(ModArmorMaterials.FASHION, ArmorType.HELMET)) +class Mask(properties: Properties) : ArmorItem( + ModArmorMaterials.FASHION.holder, + ArmorItem.Type.HELMET, + properties.durability(ArmorItem.Type.HELMET.getDurability(ModArmorMaterials.FASHION.durabilityMultiplier)), +) diff --git a/src/main/java/com/dec/decisland/item/custom/MaxManaBoostItem.kt b/src/main/java/com/dec/decisland/item/custom/MaxManaBoostItem.kt index 1e19640..88887d2 100644 --- a/src/main/java/com/dec/decisland/item/custom/MaxManaBoostItem.kt +++ b/src/main/java/com/dec/decisland/item/custom/MaxManaBoostItem.kt @@ -33,7 +33,7 @@ open class MaxManaBoostItem(properties: Properties) : Item(properties) { livingEntity.setData(getAttachment(), currentLevel + getBoostValue()) livingEntity.foodData.eat(getNutrition(), getSaturationModifier()) stack.shrink(1) - livingEntity.playSound(SoundEvents.GENERIC_EAT.value(), 1.0f, 1.0f) + livingEntity.playSound(SoundEvents.GENERIC_EAT, 1.0f, 1.0f) } else { return stack } diff --git a/src/main/java/com/dec/decisland/item/custom/MindController.kt b/src/main/java/com/dec/decisland/item/custom/MindController.kt index f68eb3a..9bd7daf 100644 --- a/src/main/java/com/dec/decisland/item/custom/MindController.kt +++ b/src/main/java/com/dec/decisland/item/custom/MindController.kt @@ -9,7 +9,7 @@ import net.minecraft.sounds.SoundEvents import net.minecraft.sounds.SoundSource import net.minecraft.stats.Stats import net.minecraft.world.InteractionHand -import net.minecraft.world.InteractionResult +import net.minecraft.world.InteractionResultHolder import net.minecraft.world.entity.player.Player import net.minecraft.world.entity.projectile.Projectile import net.minecraft.world.item.Item @@ -18,7 +18,7 @@ import net.minecraft.world.item.ProjectileItem import net.minecraft.world.level.Level class MindController(props: Item.Properties) : Item(props), ProjectileItem { - override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResult { + override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResultHolder { val itemStack = player.getItemInHand(hand) level.playSound( null, @@ -36,7 +36,7 @@ class MindController(props: Item.Properties) : Item(props), ProjectileItem { projectile.setPos(player.x, player.eyeY - 0.1, player.z) projectile.shootFromRotation(player, player.xRot, player.yRot, 0.0f, PROJECTILE_SHOOT_POWER, PROJECTILE_INACCURACY) if (!level.addFreshEntity(projectile)) { - return InteractionResult.FAIL + return InteractionResultHolder.fail(itemStack) } } @@ -44,7 +44,7 @@ class MindController(props: Item.Properties) : Item(props), ProjectileItem { AccessoryCombatEffects.onSuccessfulWeaponUse(player, itemStack) player.swing(hand, true) itemStack.consume(1, player) - return if (level.isClientSide) InteractionResult.SUCCESS else InteractionResult.SUCCESS_SERVER + return InteractionResultHolder.sidedSuccess(itemStack, level.isClientSide) } override fun asProjectile(level: Level, position: Position, itemStack: ItemStack, direction: Direction): Projectile = diff --git a/src/main/java/com/dec/decisland/item/custom/MuddyBall.kt b/src/main/java/com/dec/decisland/item/custom/MuddyBall.kt index 60222c4..989caf9 100644 --- a/src/main/java/com/dec/decisland/item/custom/MuddyBall.kt +++ b/src/main/java/com/dec/decisland/item/custom/MuddyBall.kt @@ -9,7 +9,7 @@ import net.minecraft.sounds.SoundEvents import net.minecraft.sounds.SoundSource import net.minecraft.stats.Stats import net.minecraft.world.InteractionHand -import net.minecraft.world.InteractionResult +import net.minecraft.world.InteractionResultHolder import net.minecraft.world.entity.player.Player import net.minecraft.world.entity.projectile.Projectile import net.minecraft.world.item.Item @@ -18,7 +18,7 @@ import net.minecraft.world.item.ProjectileItem import net.minecraft.world.level.Level class MuddyBall(props: Item.Properties) : Item(props), ProjectileItem { - override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResult { + override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResultHolder { val itemStack = player.getItemInHand(hand) level.playSound( null, @@ -36,7 +36,7 @@ class MuddyBall(props: Item.Properties) : Item(props), ProjectileItem { projectile.setPos(player.x, player.eyeY - 0.1, player.z) projectile.shootFromRotation(player, player.xRot, player.yRot, 0.0f, PROJECTILE_SHOOT_POWER, PROJECTILE_INACCURACY) if (!level.addFreshEntity(projectile)) { - return InteractionResult.FAIL + return InteractionResultHolder.fail(itemStack) } } @@ -44,7 +44,7 @@ class MuddyBall(props: Item.Properties) : Item(props), ProjectileItem { AccessoryCombatEffects.onSuccessfulWeaponUse(player, itemStack) player.swing(hand, true) itemStack.consume(1, player) - return if (level.isClientSide) InteractionResult.SUCCESS else InteractionResult.SUCCESS_SERVER + return InteractionResultHolder.sidedSuccess(itemStack, level.isClientSide) } override fun asProjectile(level: Level, position: Position, itemStack: ItemStack, direction: Direction): Projectile = diff --git a/src/main/java/com/dec/decisland/item/custom/NightSword.kt b/src/main/java/com/dec/decisland/item/custom/NightSword.kt index c9713b9..2d40dfb 100644 --- a/src/main/java/com/dec/decisland/item/custom/NightSword.kt +++ b/src/main/java/com/dec/decisland/item/custom/NightSword.kt @@ -2,13 +2,15 @@ package com.dec.decisland.item.custom import com.dec.decisland.DecIsland import com.dec.decisland.entity.projectile.NightmareSpore +import com.dec.decisland.item.compat.ItemCompat +import com.dec.decisland.item.compat.asEquipmentSlot import com.dec.decisland.mana.ManaManager -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.server.level.ServerLevel import net.minecraft.sounds.SoundEvents import net.minecraft.sounds.SoundSource import net.minecraft.world.InteractionHand -import net.minecraft.world.InteractionResult +import net.minecraft.world.InteractionResultHolder import net.minecraft.world.effect.MobEffectInstance import net.minecraft.world.effect.MobEffects import net.minecraft.world.entity.Entity @@ -16,22 +18,22 @@ import net.minecraft.world.entity.EquipmentSlot import net.minecraft.world.entity.ai.attributes.AttributeModifier import net.minecraft.world.entity.ai.attributes.Attributes import net.minecraft.world.entity.player.Player -import net.minecraft.world.entity.projectile.Projectile import net.minecraft.world.item.Item import net.minecraft.world.item.ItemStack import net.minecraft.world.level.Level class NightSword(properties: Properties) : Item(properties) { - override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResult { + override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResultHolder { + val stack = player.getItemInHand(hand) if (level.isClientSide) { - return InteractionResult.SUCCESS + return InteractionResultHolder.success(stack) } - val serverLevel = level as? ServerLevel ?: return InteractionResult.FAIL + val serverLevel = level as? ServerLevel ?: return InteractionResultHolder.fail(stack) val isDay = isDaytime(level) val manaCost = if (isDay) DAY_MANA_COST else NIGHT_MANA_COST if (ManaManager.getCurrentMana(player) <= manaCost) { - return InteractionResult.FAIL + return InteractionResultHolder.fail(stack) } ManaManager.reduceMana(player, manaCost) @@ -42,19 +44,20 @@ class NightSword(properties: Properties) : Item(properties) { val powers = if (isDay) DAY_SPORE_POWERS else NIGHT_SPORE_POWERS powers.forEach { launchPower -> - val projectile = NightmareSpore(serverLevel, player, player.getItemInHand(hand)) + val projectile = NightmareSpore(serverLevel, player, stack) projectile.shootFromRotation(player, player.xRot, player.yRot, 0.0f, launchPower * SPORE_BASE_SPEED, SPORE_INACCURACY) serverLevel.addFreshEntity(projectile) } - player.getItemInHand(hand).hurtAndBreak(if (isDay) 2 else 1, player, hand.asEquipmentSlot()) + stack.hurtAndBreak(if (isDay) 2 else 1, player, hand.asEquipmentSlot()) player.swing(hand, true) - return InteractionResult.SUCCESS_SERVER + return InteractionResultHolder.sidedSuccess(stack, level.isClientSide) } - override fun inventoryTick(stack: ItemStack, level: ServerLevel, entity: Entity, slot: EquipmentSlot?) { - super.inventoryTick(stack, level, entity, slot) + override fun inventoryTick(stack: ItemStack, level: Level, entity: Entity, slotId: Int, isSelected: Boolean) { + super.inventoryTick(stack, level, entity, slotId, isSelected) val player = entity as? Player ?: return + val slot = ItemCompat.slotFromIndex(slotId) if (slot != EquipmentSlot.MAINHAND && slot != EquipmentSlot.OFFHAND) { removeMovementSpeedModifier(player) return @@ -90,8 +93,8 @@ class NightSword(properties: Properties) : Item(properties) { } companion object { - private val MOVEMENT_SPEED_MODIFIER_ID: Identifier = - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "movement_speed/night_sword") + private val MOVEMENT_SPEED_MODIFIER_ID: ResourceLocation = + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "movement_speed/night_sword") private const val MOVEMENT_SPEED_ADDITION: Double = 0.01 private const val SPORE_BASE_SPEED: Float = 4.0f private const val SPORE_INACCURACY: Float = 70.0f diff --git a/src/main/java/com/dec/decisland/item/custom/Nightmare.kt b/src/main/java/com/dec/decisland/item/custom/Nightmare.kt index 2f94735..64d13ee 100644 --- a/src/main/java/com/dec/decisland/item/custom/Nightmare.kt +++ b/src/main/java/com/dec/decisland/item/custom/Nightmare.kt @@ -1,46 +1,49 @@ package com.dec.decisland.item.custom import com.dec.decisland.entity.projectile.NightmareRay +import com.dec.decisland.item.compat.ModProjectileUtil +import com.dec.decisland.item.compat.asEquipmentSlot import com.dec.decisland.mana.ManaManager import net.minecraft.server.level.ServerLevel import net.minecraft.sounds.SoundEvents import net.minecraft.sounds.SoundSource import net.minecraft.world.InteractionHand -import net.minecraft.world.InteractionResult +import net.minecraft.world.InteractionResultHolder import net.minecraft.world.entity.player.Player -import net.minecraft.world.entity.projectile.Projectile import net.minecraft.world.item.Item +import net.minecraft.world.item.ItemStack import net.minecraft.world.level.Level class Nightmare(properties: Properties) : Item(properties) { - override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResult { + override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResultHolder { + val stack = player.getItemInHand(hand) if (level.isClientSide) { - return InteractionResult.SUCCESS + return InteractionResultHolder.success(stack) } - val serverLevel = level as? ServerLevel ?: return InteractionResult.FAIL + val serverLevel = level as? ServerLevel ?: return InteractionResultHolder.fail(stack) if (ManaManager.getCurrentMana(player) <= MANA_COST) { - return InteractionResult.FAIL + return InteractionResultHolder.fail(stack) } ManaManager.reduceMana(player, MANA_COST) serverLevel.playSound(null, player.x, player.y, player.z, SoundEvents.AMETHYST_BLOCK_BREAK, SoundSource.PLAYERS, 1.0f, 1.0f) - Projectile.spawnProjectileUsingShoot( + ModProjectileUtil.spawnUsingShoot( ::NightmareRay, serverLevel, - player.getItemInHand(hand), + stack, player, player.getViewVector(0.0f).x, player.getViewVector(0.0f).y, player.getViewVector(0.0f).z, - RAY_BASE_SPEED, RAY_INACCURACY, + RAY_BASE_SPEED, ) - player.getItemInHand(hand).hurtAndBreak(1, player, hand.asEquipmentSlot()) + stack.hurtAndBreak(1, player, hand.asEquipmentSlot()) player.swing(hand, true) - return InteractionResult.SUCCESS_SERVER + return InteractionResultHolder.sidedSuccess(stack, level.isClientSide) } companion object { diff --git a/src/main/java/com/dec/decisland/item/custom/ProjectileStaff.kt b/src/main/java/com/dec/decisland/item/custom/ProjectileStaff.kt index 0bc3a9c..d367ccd 100644 --- a/src/main/java/com/dec/decisland/item/custom/ProjectileStaff.kt +++ b/src/main/java/com/dec/decisland/item/custom/ProjectileStaff.kt @@ -21,11 +21,7 @@ abstract class ProjectileStaff(properties: Properties) : MagicWeapon(properties) ): Boolean { val projectile = projectileFactory(serverLevel, source, stack) projectile.shootFromRotation(source, source.xRot, source.yRot, 0.0f, velocity, inaccuracy) - val added = serverLevel.addFreshEntity(projectile) - if (added) { - projectile.applyOnProjectileSpawned(serverLevel, stack) - } - return added + return serverLevel.addFreshEntity(projectile) } override fun judge(level: Level, player: Player): Boolean { diff --git a/src/main/java/com/dec/decisland/item/custom/RapierItem.kt b/src/main/java/com/dec/decisland/item/custom/RapierItem.kt index a65f0c8..8b60172 100644 --- a/src/main/java/com/dec/decisland/item/custom/RapierItem.kt +++ b/src/main/java/com/dec/decisland/item/custom/RapierItem.kt @@ -3,12 +3,12 @@ package com.dec.decisland.item.custom import com.dec.decisland.network.Networking import net.minecraft.core.component.DataComponents import net.minecraft.nbt.CompoundTag -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.server.level.ServerLevel import net.minecraft.server.level.ServerPlayer import net.minecraft.stats.Stats import net.minecraft.world.InteractionHand -import net.minecraft.world.InteractionResult +import net.minecraft.world.InteractionResultHolder import net.minecraft.world.entity.Entity import net.minecraft.world.entity.EquipmentSlot import net.minecraft.world.entity.LivingEntity @@ -29,10 +29,10 @@ class RapierItem( properties: Properties, private val config: RapierConfig, ) : Item(properties) { - override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResult { + override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResultHolder { val stack = player.getItemInHand(hand) - if (player.cooldowns.isOnCooldown(stack)) { - return InteractionResult.FAIL + if (player.cooldowns.isOnCooldown(stack.item)) { + return InteractionResultHolder.fail(stack) } if (level.isClientSide) { @@ -44,14 +44,14 @@ class RapierItem( } player.swing(hand, true) - return InteractionResult.SUCCESS_SERVER + return InteractionResultHolder.sidedSuccess(stack, level.isClientSide) } - override fun hurtEnemy(stack: ItemStack, target: LivingEntity, attacker: LivingEntity) { + override fun hurtEnemy(stack: ItemStack, target: LivingEntity, attacker: LivingEntity): Boolean { val player = attacker as? Player if (player != null && !player.level().isClientSide && player.level() is ServerLevel) { val tag = readTag(stack) - val count = tag.getIntOr(TAG_SKILL_COUNT, 0) + val count = tag.getInt(TAG_SKILL_COUNT) if (count > config.comboThreshold) { performLunge(player.level() as ServerLevel, player, stack, combo = true, notifyClient = true) } else { @@ -59,19 +59,20 @@ class RapierItem( writeTag(stack, tag) } } - super.hurtEnemy(stack, target, attacker) + return super.hurtEnemy(stack, target, attacker) } // Drives the dash window: collision pulses every 4 ticks and the trailing particles. - override fun inventoryTick(stack: ItemStack, level: ServerLevel, entity: Entity, slot: EquipmentSlot?) { - super.inventoryTick(stack, level, entity, slot) + override fun inventoryTick(stack: ItemStack, level: Level, entity: Entity, slotId: Int, isSelected: Boolean) { + super.inventoryTick(stack, level, entity, slotId, isSelected) + val serverLevel = level as? ServerLevel ?: return val player = entity as? Player ?: return val tag = readTag(stack) if (!tag.contains(TAG_LUNGE_START)) { return } - val elapsed = level.gameTime - tag.getLongOr(TAG_LUNGE_START, 0L) + val elapsed = serverLevel.gameTime - tag.getLong(TAG_LUNGE_START) if (elapsed >= LUNGE_DURATION_TICKS) { tag.remove(TAG_LUNGE_START) tag.remove(TAG_LUNGE_COMBO) @@ -82,14 +83,14 @@ class RapierItem( return } - val combo = tag.getBooleanOr(TAG_LUNGE_COMBO, false) + val combo = tag.getBoolean(TAG_LUNGE_COMBO) if (config.pulseDamage > 0.0f && elapsed % PULSE_INTERVAL_TICKS == 0L) { - dealPulseDamage(level, player, if (combo) config.comboPulseDamage else config.pulseDamage) + dealPulseDamage(serverLevel, player, if (combo) config.comboPulseDamage else config.pulseDamage) } val trailParticleId = config.trailParticleId if (trailParticleId != null && elapsed < config.trailDurationTicks) { - Networking.sendBedrockEmitterToNearby(level, trailParticleId, player.position(), 64.0, 1) + Networking.sendBedrockEmitterToNearby(serverLevel, trailParticleId, player.position(), 64.0, 1) } } @@ -152,7 +153,7 @@ class RapierItem( .forEach { target -> val originalInvulnerableTime = target.invulnerableTime target.invulnerableTime = 0 - val hurt = target.hurtServer(serverLevel, source, damage) + val hurt = target.hurt(source, damage) if (!hurt) { target.invulnerableTime = originalInvulnerableTime } @@ -182,7 +183,7 @@ class RapierItem( val magicPulse: Boolean = builder.magicPulse @JvmField - val trailParticleId: Identifier? = builder.trailParticleId + val trailParticleId: ResourceLocation? = builder.trailParticleId @JvmField val trailDurationTicks: Int = builder.trailDurationTicks @@ -203,7 +204,7 @@ class RapierItem( internal var pulseDamage: Float = 0.0f internal var comboPulseDamage: Float = 0.0f internal var magicPulse: Boolean = false - internal var trailParticleId: Identifier? = null + internal var trailParticleId: ResourceLocation? = null internal var trailDurationTicks: Int = 0 internal val auraEffects = mutableListOf() internal val comboAuraEffects = mutableListOf() @@ -215,7 +216,7 @@ class RapierItem( magicPulse = magic } - fun trailParticle(trailParticleId: Identifier?, durationTicks: Int): Builder = apply { + fun trailParticle(trailParticleId: ResourceLocation?, durationTicks: Int): Builder = apply { this.trailParticleId = trailParticleId trailDurationTicks = durationTicks } diff --git a/src/main/java/com/dec/decisland/item/custom/SickleItem.kt b/src/main/java/com/dec/decisland/item/custom/SickleItem.kt index 6bd8b9c..c663928 100644 --- a/src/main/java/com/dec/decisland/item/custom/SickleItem.kt +++ b/src/main/java/com/dec/decisland/item/custom/SickleItem.kt @@ -2,16 +2,17 @@ package com.dec.decisland.item.custom import com.dec.decisland.DecIsland import com.dec.decisland.events.AccessoryCombatEffects +import com.dec.decisland.item.compat.ItemCompat import com.dec.decisland.mana.ManaManager import com.dec.decisland.network.Networking import net.minecraft.core.Holder import net.minecraft.core.component.DataComponents import net.minecraft.nbt.CompoundTag -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.server.level.ServerLevel import net.minecraft.stats.Stats import net.minecraft.world.InteractionHand -import net.minecraft.world.InteractionResult +import net.minecraft.world.InteractionResultHolder import net.minecraft.world.effect.MobEffect import net.minecraft.world.effect.MobEffectInstance import net.minecraft.world.entity.Entity @@ -23,7 +24,7 @@ import net.minecraft.world.entity.decoration.ArmorStand import net.minecraft.world.entity.player.Player import net.minecraft.world.item.Item import net.minecraft.world.item.ItemStack -import net.minecraft.world.item.ItemUseAnimation +import net.minecraft.world.item.UseAnim import net.minecraft.world.item.component.CustomData import net.minecraft.world.level.Level import net.minecraft.world.phys.AABB @@ -33,37 +34,37 @@ open class SickleItem( properties: Properties, protected val config: SickleConfig, ) : Item(properties) { - private val movementSpeedModifierId: Identifier = - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "movement_speed/${config.name}") + private val movementSpeedModifierId: ResourceLocation = + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "movement_speed/${config.name}") // Handles right click for both instant skills and channeled skills. - override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResult { - val activeSkill = config.activeSkill ?: return InteractionResult.PASS + override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResultHolder { + val stack = player.getItemInHand(hand) + val activeSkill = config.activeSkill ?: return InteractionResultHolder.pass(stack) if (activeSkill.channelIntervalTicks > 0) { if (!canUseActiveSkill(player, activeSkill.manaCost)) { - return InteractionResult.FAIL + return InteractionResultHolder.fail(stack) } if (!level.isClientSide) { initializeChannelState( - player.getItemInHand(hand), + stack, level.gameTime, activeSkill.channelIntervalTicks, activeSkill.particleIntervalTicks, ) player.awardStat(Stats.ITEM_USED.get(this)) - AccessoryCombatEffects.onSuccessfulWeaponUse(player, player.getItemInHand(hand)) + AccessoryCombatEffects.onSuccessfulWeaponUse(player, stack) } player.startUsingItem(hand) - return InteractionResult.CONSUME + return InteractionResultHolder.consume(stack) } - val serverLevel = level as? ServerLevel ?: return InteractionResult.FAIL + val serverLevel = level as? ServerLevel ?: return InteractionResultHolder.fail(stack) if (!canUseActiveSkill(player, activeSkill.manaCost)) { - return InteractionResult.FAIL + return InteractionResultHolder.fail(stack) } - val stack = player.getItemInHand(hand) spawnParticle(serverLevel, activeSkill.casterParticleId, player.position(), activeSkill.particleDurationTicks) val hitCount = applyActiveSkill(serverLevel, player, stack, activeSkill, selectRandomTarget = false) ManaManager.reduceMana(player, activeSkill.manaCost) @@ -74,7 +75,7 @@ open class SickleItem( player.awardStat(Stats.ITEM_USED.get(this)) AccessoryCombatEffects.onSuccessfulWeaponUse(player, stack) player.swing(hand, true) - return InteractionResult.SUCCESS_SERVER + return InteractionResultHolder.sidedSuccess(stack, level.isClientSide) } // Ticks a channeled active skill using server game time so pulse spacing stays stable. @@ -115,9 +116,9 @@ open class SickleItem( } // Clears channel timers when the player releases right click. - override fun releaseUsing(stack: ItemStack, level: Level, livingEntity: LivingEntity, timeCharged: Int): Boolean { + override fun releaseUsing(stack: ItemStack, level: Level, livingEntity: LivingEntity, timeCharged: Int) { clearChannelState(stack) - return super.releaseUsing(stack, level, livingEntity, timeCharged) + super.releaseUsing(stack, level, livingEntity, timeCharged) } // Gives channeled sickles a long use duration so holding right click can continue. @@ -125,28 +126,29 @@ open class SickleItem( if ((config.activeSkill?.channelIntervalTicks ?: 0) > 0) CHANNELED_USE_DURATION else super.getUseDuration(stack, entity) // Uses a blocking pose for channeled sickles so the player has visible feedback while channeling. - override fun getUseAnimation(stack: ItemStack): ItemUseAnimation = - if ((config.activeSkill?.channelIntervalTicks ?: 0) > 0) ItemUseAnimation.BLOCK else super.getUseAnimation(stack) + override fun getUseAnimation(stack: ItemStack): UseAnim = + if ((config.activeSkill?.channelIntervalTicks ?: 0) > 0) UseAnim.BLOCK else super.getUseAnimation(stack) // Applies the passive extra damage and proc effects on melee hit. - override fun hurtEnemy(stack: ItemStack, target: LivingEntity, attacker: LivingEntity) { + override fun hurtEnemy(stack: ItemStack, target: LivingEntity, attacker: LivingEntity): Boolean { if (attacker.level().isClientSide) { - return + return false } - val serverLevel = attacker.level() as? ServerLevel ?: return + val serverLevel = attacker.level() as? ServerLevel ?: return false applyPassiveEffect(serverLevel, attacker, target, config.passiveSkill.baseExtraDamage, emptyList()) config.passiveSkill.procs.forEach { proc -> if (attacker.random.nextInt(proc.chanceDenominator) == 0) { applyPassiveProc(serverLevel, attacker, target, proc) } } + return true } // Keeps hand-held movement modifiers in sync while the sickle is equipped. - override fun inventoryTick(stack: ItemStack, level: ServerLevel, entity: Entity, slot: EquipmentSlot?) { - super.inventoryTick(stack, level, entity, slot) - updateMovementSpeedModifier(entity, slot, config.movementSpeedAddition, movementSpeedModifierId) + override fun inventoryTick(stack: ItemStack, level: Level, entity: Entity, slotId: Int, isSelected: Boolean) { + super.inventoryTick(stack, level, entity, slotId, isSelected) + updateMovementSpeedModifier(entity, ItemCompat.slotFromIndex(slotId), config.movementSpeedAddition, movementSpeedModifierId) } // Finds active-skill targets and applies effects either to all targets or one random target. @@ -254,7 +256,7 @@ open class SickleItem( } else { serverLevel.damageSources().mobAttack(attacker) } - val hurt = target.hurtServer(serverLevel, damageSource, damage) + val hurt = target.hurt(damageSource, damage) if (!hurt) { target.invulnerableTime = originalInvulnerableTime } @@ -262,7 +264,7 @@ open class SickleItem( } // Spawns a bedrock emitter at the supplied world position. - protected fun spawnParticle(serverLevel: ServerLevel, particleId: Identifier?, position: Vec3, durationTicks: Int) { + protected fun spawnParticle(serverLevel: ServerLevel, particleId: ResourceLocation?, position: Vec3, durationTicks: Int) { if (particleId == null) { return } @@ -272,7 +274,7 @@ open class SickleItem( // Spawns swing particles one block in front of the attacker, matching Bedrock's `^^^1` behavior. protected fun spawnHolderFrontParticle( serverLevel: ServerLevel, - particleId: Identifier?, + particleId: ResourceLocation?, attacker: LivingEntity, durationTicks: Int, ) { @@ -310,13 +312,13 @@ open class SickleItem( // Reads the next pulse timestamp, or falls back to the supplied default if the stack has no state yet. protected fun getNextPulseTick(stack: ItemStack, defaultValue: Long): Long { val tag = readTag(stack) - return if (tag.contains(NEXT_PULSE_TICK_KEY)) tag.getLong(NEXT_PULSE_TICK_KEY).get() else defaultValue + return if (tag.contains(NEXT_PULSE_TICK_KEY)) tag.getLong(NEXT_PULSE_TICK_KEY) else defaultValue } // Reads the next particle timestamp, or falls back to the supplied default if the stack has no state yet. protected fun getNextParticleTick(stack: ItemStack, defaultValue: Long): Long { val tag = readTag(stack) - return if (tag.contains(NEXT_PARTICLE_TICK_KEY)) tag.getLong(NEXT_PARTICLE_TICK_KEY).get() else defaultValue + return if (tag.contains(NEXT_PARTICLE_TICK_KEY)) tag.getLong(NEXT_PARTICLE_TICK_KEY) else defaultValue } // Stores the next server tick when the channeled skill may deal damage again. @@ -336,7 +338,7 @@ open class SickleItem( // Reads the configured particle interval for the current channel session. protected fun getParticleIntervalTicks(stack: ItemStack, defaultValue: Int): Int { val tag = readTag(stack) - return if (tag.contains(PARTICLE_INTERVAL_TICKS_KEY)) tag.getInt(PARTICLE_INTERVAL_TICKS_KEY).get() else defaultValue + return if (tag.contains(PARTICLE_INTERVAL_TICKS_KEY)) tag.getInt(PARTICLE_INTERVAL_TICKS_KEY) else defaultValue } // Clears all temporary channeling state from the stack. @@ -352,7 +354,7 @@ open class SickleItem( // Reads the UUID of the previous random target, if one was stored on the stack. protected fun getLastRandomTargetId(stack: ItemStack): String? { val tag = readTag(stack) - return if (tag.contains(LAST_RANDOM_TARGET_KEY)) tag.getString(LAST_RANDOM_TARGET_KEY).orElse(null) else null + return if (tag.contains(LAST_RANDOM_TARGET_KEY)) tag.getString(LAST_RANDOM_TARGET_KEY) else null } // Stores the UUID of the most recent random target so the next pulse can avoid repeating it. @@ -375,7 +377,7 @@ open class SickleItem( entity: Entity, slot: EquipmentSlot?, amount: Double, - modifierId: Identifier, + modifierId: ResourceLocation, ) { val player = entity as? Player ?: return if (slot != EquipmentSlot.MAINHAND && slot != EquipmentSlot.OFFHAND) { @@ -406,7 +408,7 @@ open class SickleItem( } // Removes the transient movement-speed modifier if it is present. - private fun removeMovementSpeedModifier(player: Player, modifierId: Identifier) { + private fun removeMovementSpeedModifier(player: Player, modifierId: ResourceLocation) { val attribute = player.getAttribute(Attributes.MOVEMENT_SPEED) ?: return if (attribute.getModifier(modifierId) != null) { attribute.removeModifier(modifierId) @@ -488,10 +490,10 @@ open class SickleItem( val effects: List = builder.effects.toList() @JvmField - val holderParticleId: Identifier? = builder.holderParticleId + val holderParticleId: ResourceLocation? = builder.holderParticleId @JvmField - val targetParticleId: Identifier? = builder.targetParticleId + val targetParticleId: ResourceLocation? = builder.targetParticleId @JvmField val particleDurationTicks: Int = builder.particleDurationTicks @@ -499,8 +501,8 @@ open class SickleItem( class Builder(@JvmField val chanceDenominator: Int) { internal var extraDamage: Float = 0.0f internal val effects: MutableList = mutableListOf() - internal var holderParticleId: Identifier? = null - internal var targetParticleId: Identifier? = null + internal var holderParticleId: ResourceLocation? = null + internal var targetParticleId: ResourceLocation? = null internal var particleDurationTicks: Int = 6 // Sets the extra damage dealt when this proc succeeds. @@ -514,12 +516,12 @@ open class SickleItem( } // Sets the particle emitted in front of the attacker when this proc succeeds. - fun holderParticleId(holderParticleId: Identifier?): Builder = apply { + fun holderParticleId(holderParticleId: ResourceLocation?): Builder = apply { this.holderParticleId = holderParticleId } // Sets the particle emitted on the target when this proc succeeds. - fun targetParticleId(targetParticleId: Identifier?): Builder = apply { + fun targetParticleId(targetParticleId: ResourceLocation?): Builder = apply { this.targetParticleId = targetParticleId } @@ -553,10 +555,10 @@ open class SickleItem( val selfEffectsOnHit: List = builder.selfEffectsOnHit.toList() @JvmField - val casterParticleId: Identifier? = builder.casterParticleId + val casterParticleId: ResourceLocation? = builder.casterParticleId @JvmField - val targetParticleId: Identifier? = builder.targetParticleId + val targetParticleId: ResourceLocation? = builder.targetParticleId @JvmField val particleDurationTicks: Int = builder.particleDurationTicks @@ -583,8 +585,8 @@ open class SickleItem( internal var extraDamage: Float = 0.0f internal val targetEffects: MutableList = mutableListOf() internal val selfEffectsOnHit: MutableList = mutableListOf() - internal var casterParticleId: Identifier? = null - internal var targetParticleId: Identifier? = null + internal var casterParticleId: ResourceLocation? = null + internal var targetParticleId: ResourceLocation? = null internal var particleDurationTicks: Int = 6 internal var channelIntervalTicks: Int = 0 internal var particleIntervalTicks: Int = 1 @@ -623,12 +625,12 @@ open class SickleItem( } // Sets the particle emitted on the user while the active skill fires. - fun casterParticleId(casterParticleId: Identifier?): Builder = apply { + fun casterParticleId(casterParticleId: ResourceLocation?): Builder = apply { this.casterParticleId = casterParticleId } // Sets the particle emitted on each target hit by the active skill. - fun targetParticleId(targetParticleId: Identifier?): Builder = apply { + fun targetParticleId(targetParticleId: ResourceLocation?): Builder = apply { this.targetParticleId = targetParticleId } diff --git a/src/main/java/com/dec/decisland/item/custom/SmokeBomb.kt b/src/main/java/com/dec/decisland/item/custom/SmokeBomb.kt index 35effe7..ac53de5 100644 --- a/src/main/java/com/dec/decisland/item/custom/SmokeBomb.kt +++ b/src/main/java/com/dec/decisland/item/custom/SmokeBomb.kt @@ -9,7 +9,7 @@ import net.minecraft.sounds.SoundEvents import net.minecraft.sounds.SoundSource import net.minecraft.stats.Stats import net.minecraft.world.InteractionHand -import net.minecraft.world.InteractionResult +import net.minecraft.world.InteractionResultHolder import net.minecraft.world.entity.player.Player import net.minecraft.world.entity.projectile.Projectile import net.minecraft.world.item.Item @@ -18,7 +18,7 @@ import net.minecraft.world.item.ProjectileItem import net.minecraft.world.level.Level class SmokeBomb(props: Item.Properties) : Item(props), ProjectileItem { - override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResult { + override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResultHolder { val itemStack = player.getItemInHand(hand) level.playSound( null, @@ -36,7 +36,7 @@ class SmokeBomb(props: Item.Properties) : Item(props), ProjectileItem { projectile.setPos(player.x, player.eyeY - 0.1, player.z) projectile.shootFromRotation(player, player.xRot, player.yRot, 0.0f, PROJECTILE_SHOOT_POWER, PROJECTILE_INACCURACY) if (!level.addFreshEntity(projectile)) { - return InteractionResult.FAIL + return InteractionResultHolder.fail(itemStack) } } @@ -44,7 +44,7 @@ class SmokeBomb(props: Item.Properties) : Item(props), ProjectileItem { AccessoryCombatEffects.onSuccessfulWeaponUse(player, itemStack) player.swing(hand, true) itemStack.consume(1, player) - return if (level.isClientSide) InteractionResult.SUCCESS else InteractionResult.SUCCESS_SERVER + return InteractionResultHolder.sidedSuccess(itemStack, level.isClientSide) } override fun asProjectile(level: Level, position: Position, itemStack: ItemStack, direction: Direction): Projectile = diff --git a/src/main/java/com/dec/decisland/item/custom/StickyAsh.kt b/src/main/java/com/dec/decisland/item/custom/StickyAsh.kt index c68ba1d..726c7bb 100644 --- a/src/main/java/com/dec/decisland/item/custom/StickyAsh.kt +++ b/src/main/java/com/dec/decisland/item/custom/StickyAsh.kt @@ -9,7 +9,7 @@ import net.minecraft.sounds.SoundEvents import net.minecraft.sounds.SoundSource import net.minecraft.stats.Stats import net.minecraft.world.InteractionHand -import net.minecraft.world.InteractionResult +import net.minecraft.world.InteractionResultHolder import net.minecraft.world.entity.player.Player import net.minecraft.world.item.Item import net.minecraft.world.item.ItemStack @@ -17,7 +17,7 @@ import net.minecraft.world.item.ProjectileItem import net.minecraft.world.level.Level class StickyAsh(props: Item.Properties) : Item(props), ProjectileItem { - override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResult { + override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResultHolder { val itemStack = player.getItemInHand(hand) level.playSound( null, @@ -41,7 +41,7 @@ class StickyAsh(props: Item.Properties) : Item(props), ProjectileItem { PROJECTILE_INACCURACY, ) if (!level.addFreshEntity(projectile)) { - return InteractionResult.FAIL + return InteractionResultHolder.fail(itemStack) } } @@ -49,7 +49,7 @@ class StickyAsh(props: Item.Properties) : Item(props), ProjectileItem { AccessoryCombatEffects.onSuccessfulWeaponUse(player, itemStack) player.swing(hand, true) itemStack.consume(1, player) - return if (level.isClientSide) InteractionResult.SUCCESS else InteractionResult.SUCCESS_SERVER + return InteractionResultHolder.sidedSuccess(itemStack, level.isClientSide) } override fun asProjectile(level: Level, position: Position, itemStack: ItemStack, direction: Direction): net.minecraft.world.entity.projectile.Projectile = diff --git a/src/main/java/com/dec/decisland/item/custom/SwordFish.kt b/src/main/java/com/dec/decisland/item/custom/SwordFish.kt index f3aa497..ed77b9d 100644 --- a/src/main/java/com/dec/decisland/item/custom/SwordFish.kt +++ b/src/main/java/com/dec/decisland/item/custom/SwordFish.kt @@ -6,12 +6,13 @@ import net.minecraft.world.item.Item import net.minecraft.world.item.ItemStack class SwordFish(properties: Properties) : Item(properties) { - override fun hurtEnemy(stack: ItemStack, target: LivingEntity, attacker: LivingEntity) { + override fun hurtEnemy(stack: ItemStack, target: LivingEntity, attacker: LivingEntity): Boolean { val damageSource = if (attacker is Player) { attacker.damageSources().playerAttack(attacker) } else { attacker.damageSources().mobAttack(attacker) } target.hurt(damageSource, 1.0f) + return true } } diff --git a/src/main/java/com/dec/decisland/item/custom/SwordOfGuardItem.kt b/src/main/java/com/dec/decisland/item/custom/SwordOfGuardItem.kt index 22ab70c..3526773 100644 --- a/src/main/java/com/dec/decisland/item/custom/SwordOfGuardItem.kt +++ b/src/main/java/com/dec/decisland/item/custom/SwordOfGuardItem.kt @@ -19,7 +19,7 @@ class SwordOfGuardItem(properties: Properties) : MagicWeapon(properties) { } override fun shoot(attackCounter: Int, serverLevel: ServerLevel, source: LivingEntity, stack: ItemStack) { - source.addEffect(MobEffectInstance(MobEffects.RESISTANCE, RESISTANCE_DURATION_TICKS, 0)) + source.addEffect(MobEffectInstance(MobEffects.DAMAGE_RESISTANCE, RESISTANCE_DURATION_TICKS, 0)) } companion object { diff --git a/src/main/java/com/dec/decisland/item/custom/SwordOfHalloweenItem.kt b/src/main/java/com/dec/decisland/item/custom/SwordOfHalloweenItem.kt index 11145a5..e2b3247 100644 --- a/src/main/java/com/dec/decisland/item/custom/SwordOfHalloweenItem.kt +++ b/src/main/java/com/dec/decisland/item/custom/SwordOfHalloweenItem.kt @@ -3,15 +3,15 @@ package com.dec.decisland.item.custom import com.dec.decisland.DecIsland import com.dec.decisland.entity.custom.PumpkinBombEntity import com.dec.decisland.network.Networking -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.server.level.ServerLevel import net.minecraft.world.entity.LivingEntity import net.minecraft.world.item.Item import net.minecraft.world.item.ItemStack class SwordOfHalloweenItem(properties: Properties) : Item(properties) { - override fun hurtEnemy(stack: ItemStack, target: LivingEntity, attacker: LivingEntity) { - val serverLevel = attacker.level() as? ServerLevel ?: return + override fun hurtEnemy(stack: ItemStack, target: LivingEntity, attacker: LivingEntity): Boolean { + val serverLevel = attacker.level() as? ServerLevel ?: return false if (serverLevel.random.nextInt(PROC_CHANCE) == 0) { serverLevel.addFreshEntity(PumpkinBombEntity(serverLevel, target.x, target.y, target.z)) Networking.sendBedrockEmitterToNearby( @@ -20,11 +20,12 @@ class SwordOfHalloweenItem(properties: Properties) : Item(properties) { target.position().add(0.0, 0.5, 0.0), ) } + return true } companion object { private const val PROC_CHANCE = 5 - private val BAT_SPURT_PARTICLE_ID: Identifier = - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "bat_spurt_particle") + private val BAT_SPURT_PARTICLE_ID: ResourceLocation = + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "bat_spurt_particle") } } \ No newline at end of file diff --git a/src/main/java/com/dec/decisland/item/custom/TheBlade.kt b/src/main/java/com/dec/decisland/item/custom/TheBlade.kt index 02ecac1..b127d11 100644 --- a/src/main/java/com/dec/decisland/item/custom/TheBlade.kt +++ b/src/main/java/com/dec/decisland/item/custom/TheBlade.kt @@ -1,7 +1,7 @@ package com.dec.decisland.item.custom import com.dec.decisland.DecIsland -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.server.level.ServerLevel class TheBlade(properties: Properties) : Katana(properties) { @@ -28,7 +28,7 @@ class TheBlade(properties: Properties) : Katana(properties) { } companion object { - private val THE_BLADE_PARTICLE_ID: Identifier = - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "the_blade_particle") + private val THE_BLADE_PARTICLE_ID: ResourceLocation = + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "the_blade_particle") } } diff --git a/src/main/java/com/dec/decisland/item/custom/ThrowableBomb.kt b/src/main/java/com/dec/decisland/item/custom/ThrowableBomb.kt index 33ff481..d285477 100644 --- a/src/main/java/com/dec/decisland/item/custom/ThrowableBomb.kt +++ b/src/main/java/com/dec/decisland/item/custom/ThrowableBomb.kt @@ -9,7 +9,7 @@ import net.minecraft.sounds.SoundEvents import net.minecraft.sounds.SoundSource import net.minecraft.stats.Stats import net.minecraft.world.InteractionHand -import net.minecraft.world.InteractionResult +import net.minecraft.world.InteractionResultHolder import net.minecraft.world.entity.player.Player import net.minecraft.world.entity.projectile.Projectile import net.minecraft.world.item.Item @@ -18,7 +18,7 @@ import net.minecraft.world.item.ProjectileItem import net.minecraft.world.level.Level class ThrowableBomb(props: Item.Properties) : Item(props), ProjectileItem { - override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResult { + override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResultHolder { val itemStack = player.getItemInHand(hand) level.playSound( null, @@ -36,7 +36,7 @@ class ThrowableBomb(props: Item.Properties) : Item(props), ProjectileItem { projectile.setPos(player.x, player.eyeY - 0.1, player.z) projectile.shootFromRotation(player, player.xRot, player.yRot, 0.0f, PROJECTILE_SHOOT_POWER, PROJECTILE_INACCURACY) if (!level.addFreshEntity(projectile)) { - return InteractionResult.FAIL + return InteractionResultHolder.fail(itemStack) } } @@ -44,7 +44,7 @@ class ThrowableBomb(props: Item.Properties) : Item(props), ProjectileItem { AccessoryCombatEffects.onSuccessfulWeaponUse(player, itemStack) player.swing(hand, true) itemStack.consume(1, player) - return if (level.isClientSide) InteractionResult.SUCCESS else InteractionResult.SUCCESS_SERVER + return InteractionResultHolder.sidedSuccess(itemStack, level.isClientSide) } override fun asProjectile(level: Level, position: Position, itemStack: ItemStack, direction: Direction): Projectile = diff --git a/src/main/java/com/dec/decisland/item/custom/VoidWhisperingDaggerItem.kt b/src/main/java/com/dec/decisland/item/custom/VoidWhisperingDaggerItem.kt index d1e402e..acd3ef9 100644 --- a/src/main/java/com/dec/decisland/item/custom/VoidWhisperingDaggerItem.kt +++ b/src/main/java/com/dec/decisland/item/custom/VoidWhisperingDaggerItem.kt @@ -9,8 +9,9 @@ import net.minecraft.sounds.SoundEvents import net.minecraft.sounds.SoundSource import net.minecraft.stats.Stats import net.minecraft.world.InteractionHand -import net.minecraft.world.InteractionResult +import net.minecraft.world.InteractionResultHolder import net.minecraft.world.entity.player.Player +import net.minecraft.world.item.ItemStack import net.minecraft.world.level.Level // Void Whispering: right click consumes mana, thrusts, and throws the dagger as a projectile. @@ -18,18 +19,18 @@ class VoidWhisperingDaggerItem( properties: Properties, config: DaggerConfig, ) : DaggerItem(properties, config) { - override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResult { + override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResultHolder { val stack = player.getItemInHand(hand) - if (player.cooldowns.isOnCooldown(stack)) { - return InteractionResult.FAIL + if (player.cooldowns.isOnCooldown(stack.item)) { + return InteractionResultHolder.fail(stack) } if (ManaManager.getCurrentMana(player) <= MANA_COST) { - return InteractionResult.FAIL + return InteractionResultHolder.fail(stack) } if (level.isClientSide) { player.swing(hand, true) - return InteractionResult.SUCCESS + return InteractionResultHolder.success(stack) } val serverLevel = level as ServerLevel @@ -45,7 +46,7 @@ class VoidWhisperingDaggerItem( player.awardStat(Stats.ITEM_USED.get(this)) AccessoryCombatEffects.onSuccessfulWeaponUse(player, stack) player.swing(hand, true) - return InteractionResult.SUCCESS_SERVER + return InteractionResultHolder.consume(stack) } companion object { diff --git a/src/main/java/com/dec/decisland/item/custom/accessory/HeartRingItem.kt b/src/main/java/com/dec/decisland/item/custom/accessory/HeartRingItem.kt index 23f9dee..ece502d 100644 --- a/src/main/java/com/dec/decisland/item/custom/accessory/HeartRingItem.kt +++ b/src/main/java/com/dec/decisland/item/custom/accessory/HeartRingItem.kt @@ -15,7 +15,7 @@ class HeartRingItem(properties: Properties) : Item(properties), AccessoryProcIte override fun triggerAccessoryProc(serverLevel: ServerLevel, player: Player, weaponStack: ItemStack, accessoryStack: ItemStack) { player.heal(4.0f) if (player.random.nextDouble() < 0.5) { - player.addEffect(MobEffectInstance(MobEffects.STRENGTH, 100, 0)) + player.addEffect(MobEffectInstance(MobEffects.DAMAGE_BOOST, 100, 0)) } serverLevel.sendParticles( diff --git a/src/main/java/com/dec/decisland/item/custom/dart/Dart.kt b/src/main/java/com/dec/decisland/item/custom/dart/Dart.kt index a45c786..fa3d0eb 100644 --- a/src/main/java/com/dec/decisland/item/custom/dart/Dart.kt +++ b/src/main/java/com/dec/decisland/item/custom/dart/Dart.kt @@ -10,7 +10,7 @@ import net.minecraft.sounds.SoundEvents import net.minecraft.sounds.SoundSource import net.minecraft.stats.Stats import net.minecraft.world.InteractionHand -import net.minecraft.world.InteractionResult +import net.minecraft.world.InteractionResultHolder import net.minecraft.world.entity.player.Player import net.minecraft.world.entity.projectile.Projectile import net.minecraft.world.item.Item @@ -23,10 +23,10 @@ class Dart( properties: Item.Properties, private val definition: DartDefinition, ) : Item(properties), ProjectileItem { - override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResult { + override fun use(level: Level, player: Player, hand: InteractionHand): InteractionResultHolder { val itemStack = player.getItemInHand(hand) - if (player.cooldowns.isOnCooldown(itemStack)) { - return InteractionResult.FAIL + if (player.cooldowns.isOnCooldown(itemStack.item)) { + return InteractionResultHolder.fail(itemStack) } level.playSound( @@ -55,11 +55,11 @@ class Dart( } player.awardStat(Stats.ITEM_USED.get(this)) - player.cooldowns.addCooldown(itemStack, definition.itemSettings.cooldownTicks) + player.cooldowns.addCooldown(itemStack.item, definition.itemSettings.cooldownTicks) AccessoryCombatEffects.onSuccessfulWeaponUse(player, itemStack) player.swing(hand, true) itemStack.consume(1, player) - return if (level.isClientSide) InteractionResult.SUCCESS else InteractionResult.SUCCESS_SERVER + return InteractionResultHolder.sidedSuccess(itemStack, level.isClientSide) } override fun asProjectile(level: Level, position: Position, itemStack: ItemStack, direction: Direction): Projectile = diff --git a/src/main/java/com/dec/decisland/item/gun/GunItem.kt b/src/main/java/com/dec/decisland/item/gun/GunItem.kt index 9a34b01..248b8b9 100644 --- a/src/main/java/com/dec/decisland/item/gun/GunItem.kt +++ b/src/main/java/com/dec/decisland/item/gun/GunItem.kt @@ -3,15 +3,16 @@ package com.dec.decisland.item.gun import com.dec.decisland.DecIsland import com.dec.decisland.entity.projectile.FlintlockBulletEntity import com.dec.decisland.item.category.Weapon +import com.dec.decisland.item.compat.ItemCompat import com.dec.decisland.network.Networking import net.minecraft.core.registries.BuiltInRegistries -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.server.level.ServerLevel import net.minecraft.server.level.ServerPlayer import net.minecraft.sounds.SoundEvent import net.minecraft.sounds.SoundSource import net.minecraft.world.InteractionHand -import net.minecraft.world.InteractionResult +import net.minecraft.world.InteractionResultHolder import net.minecraft.world.entity.LivingEntity import net.minecraft.world.entity.EquipmentSlot import net.minecraft.world.entity.ai.attributes.AttributeModifier @@ -41,7 +42,7 @@ data class GunConfig( val sneakMovementSpeedAddition: Double = 0.0, val recoilPitchUpDegrees: Float = 2.5f, val recoilYawDegrees: Float = 1.0f, - val muzzleParticleId: Identifier = Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "flintlock_smoke_particle"), + val muzzleParticleId: ResourceLocation = ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "flintlock_smoke_particle"), val shootSound: SoundEvent, val shootSoundVolume: Float = 1.0f, val shootSoundPitchMin: Float = 0.85f, @@ -52,32 +53,33 @@ open class GunItem( properties: Properties, private val config: GunConfig, ) : Item(properties) { - private val movementSpeedModifierId: Identifier = run { + private val movementSpeedModifierId: ResourceLocation = run { val key = BuiltInRegistries.ENTITY_TYPE.getKey(config.bulletType) - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "gun_movement_speed/${key.namespace}/${key.path}") + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "gun_movement_speed/${key.namespace}/${key.path}") } - override fun use(level: Level, player: Player, usedHand: InteractionHand): InteractionResult { + override fun use(level: Level, player: Player, usedHand: InteractionHand): InteractionResultHolder { val stack = player.getItemInHand(usedHand) - if (player.cooldowns.isOnCooldown(stack)) { - return InteractionResult.FAIL + if (player.cooldowns.isOnCooldown(stack.item)) { + return InteractionResultHolder.fail(stack) } if (!level.isClientSide) { - val serverLevel = level as? ServerLevel ?: return InteractionResult.FAIL + val serverLevel = level as? ServerLevel ?: return InteractionResultHolder.fail(stack) if (!consumeAmmo(player)) { - return InteractionResult.FAIL + return InteractionResultHolder.fail(stack) } shoot(serverLevel, player, usedHand, stack) } player.swing(usedHand, true) - return if (level.isClientSide) InteractionResult.SUCCESS else InteractionResult.SUCCESS_SERVER + return InteractionResultHolder.sidedSuccess(stack, level.isClientSide) } - override fun inventoryTick(stack: ItemStack, level: ServerLevel, entity: net.minecraft.world.entity.Entity, slot: EquipmentSlot?) { - super.inventoryTick(stack, level, entity, slot) + override fun inventoryTick(stack: ItemStack, level: Level, entity: net.minecraft.world.entity.Entity, slotId: Int, isSelected: Boolean) { + super.inventoryTick(stack, level, entity, slotId, isSelected) val player = entity as? Player ?: return + val slot = ItemCompat.slotFromIndex(slotId) if (slot != EquipmentSlot.MAINHAND && slot != EquipmentSlot.OFFHAND) { removeMovementModifier(player) return @@ -120,7 +122,7 @@ open class GunItem( } val bulletItem = Weapon.FLINTLOCK_BULLET.get() - for (stack in player.inventory.nonEquipmentItems) { + for (stack in player.inventory.items) { if (!stack.isEmpty() && stack.`is`(bulletItem)) { stack.shrink(1) return true @@ -135,7 +137,7 @@ open class GunItem( } protected open fun shoot(serverLevel: ServerLevel, player: Player, usedHand: InteractionHand, stack: ItemStack) { - player.cooldowns.addCooldown(stack, config.cooldownTicks) + player.cooldowns.addCooldown(stack.item, config.cooldownTicks) val random = player.random val pitch = config.shootSoundPitchMin + (random.nextFloat() * (config.shootSoundPitchMax - config.shootSoundPitchMin)) diff --git a/src/main/java/com/dec/decisland/mana/ManaSystem.kt b/src/main/java/com/dec/decisland/mana/ManaSystem.kt index 2da555e..fc7120b 100644 --- a/src/main/java/com/dec/decisland/mana/ManaSystem.kt +++ b/src/main/java/com/dec/decisland/mana/ManaSystem.kt @@ -4,7 +4,7 @@ import com.dec.decisland.DecIsland import com.dec.decisland.attachment.ModAttachments import com.dec.decisland.network.ManaSyncPayload import com.dec.decisland.network.Networking -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.server.level.ServerLevel import net.minecraft.server.level.ServerPlayer import net.minecraft.world.entity.player.Player @@ -25,10 +25,10 @@ object ManaSystem { private const val G_MIN: Double = (1 - K1) / K2 private const val MAGICGAIN_MAP_K: Double = 1.05 private const val MAGICGAIN_MAP_K2: Double = (-G_MIN + 1) / MAGICGAIN_MAP_K - private val MAGIC_INCREASE_PARTICLE_ID: Identifier = - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "magic_increase_particle") - private val MAGIC_DECREASE_PARTICLE_ID: Identifier = - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "magic_decrease_particle") + private val MAGIC_INCREASE_PARTICLE_ID: ResourceLocation = + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "magic_increase_particle") + private val MAGIC_DECREASE_PARTICLE_ID: ResourceLocation = + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "magic_decrease_particle") @SubscribeEvent @JvmStatic diff --git a/src/main/java/com/dec/decisland/mixin/ItemCooldownsAccessor.java b/src/main/java/com/dec/decisland/mixin/ItemCooldownsAccessor.java index 6ab171c..8a43f72 100644 --- a/src/main/java/com/dec/decisland/mixin/ItemCooldownsAccessor.java +++ b/src/main/java/com/dec/decisland/mixin/ItemCooldownsAccessor.java @@ -1,15 +1,16 @@ package com.dec.decisland.mixin; import java.util.Map; -import net.minecraft.resources.Identifier; +import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemCooldowns; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.gen.Accessor; @Mixin(ItemCooldowns.class) public interface ItemCooldownsAccessor { + // 1.21.1: cooldowns map is keyed by Item (ResourceLocation groups came later) @Accessor("cooldowns") - Map decisland$getCooldowns(); + Map decisland$getCooldowns(); @Accessor("tickCount") int decisland$getTickCount(); diff --git a/src/main/java/com/dec/decisland/mixin/ThrowableProjectileMixin.kt b/src/main/java/com/dec/decisland/mixin/ThrowableProjectileMixin.kt deleted file mode 100644 index 1cb4dfe..0000000 --- a/src/main/java/com/dec/decisland/mixin/ThrowableProjectileMixin.kt +++ /dev/null @@ -1,36 +0,0 @@ -package com.dec.decisland.mixin - -import com.dec.decisland.api.CustomInertia -import net.minecraft.world.entity.projectile.ThrowableProjectile -import org.spongepowered.asm.mixin.Mixin -import org.spongepowered.asm.mixin.injection.At -import org.spongepowered.asm.mixin.injection.ModifyVariable - -@Mixin(ThrowableProjectile::class) -abstract class ThrowableProjectileMixin { - @ModifyVariable( - method = ["applyInertia"], - at = At(value = "STORE", ordinal = 1), - ordinal = 0, - ) - private fun modifyWaterInertia(original: Float): Float = - if (this is CustomInertia) resolveInertia(this.waterInertia, original) else original - - @ModifyVariable( - method = ["applyInertia"], - at = At(value = "STORE", ordinal = 2), - ordinal = 0, - ) - private fun modifyAirInertia(original: Float): Float = - if (this is CustomInertia) resolveInertia(this.airInertia, original) else original - - private fun resolveInertia(configured: Float, vanilla: Float): Float { - if (configured <= 1.0f) { - return configured - } - - // Bedrock projectile inertia values above 1 mean "retain more velocity", - // not "multiply velocity by >1 each tick" like vanilla would. - return (vanilla + ((1.0f - vanilla) * (1.0f - (1.0f / configured)))).coerceAtMost(0.9999f) - } -} diff --git a/src/main/java/com/dec/decisland/mixin/client/EquipmentLayerRendererMixin.java b/src/main/java/com/dec/decisland/mixin/client/EquipmentLayerRendererMixin.java deleted file mode 100644 index 90eba6d..0000000 --- a/src/main/java/com/dec/decisland/mixin/client/EquipmentLayerRendererMixin.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.dec.decisland.mixin.client; - -import com.dec.decisland.client.model.FashionArmorModel; -import com.dec.decisland.item.category.Fashion; -import com.mojang.blaze3d.vertex.PoseStack; -import net.minecraft.client.model.Model; -import net.minecraft.client.renderer.SubmitNodeCollector; -import net.minecraft.client.renderer.entity.layers.EquipmentLayerRenderer; -import net.minecraft.client.resources.model.EquipmentClientInfo; -import net.minecraft.resources.Identifier; -import net.minecraft.resources.ResourceKey; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.equipment.EquipmentAsset; -import net.neoforged.neoforge.client.extensions.common.IClientItemExtensions; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; - -@Mixin(EquipmentLayerRenderer.class) -public class EquipmentLayerRendererMixin { - @Inject( - method = "renderLayers(Lnet/minecraft/client/resources/model/EquipmentClientInfo$LayerType;Lnet/minecraft/resources/ResourceKey;Lnet/minecraft/client/model/Model;Ljava/lang/Object;Lnet/minecraft/world/item/ItemStack;Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/SubmitNodeCollector;ILnet/minecraft/resources/Identifier;II)V", - at = @At("TAIL") - ) - private void decisland$renderFashionTextureMeshSides( - EquipmentClientInfo.LayerType layerType, - ResourceKey assetKey, - Model model, - S renderState, - ItemStack stack, - PoseStack poseStack, - SubmitNodeCollector submitNodeCollector, - int packedLight, - Identifier playerTexture, - int outlineColor, - int order, - CallbackInfo ci - ) { - Fashion.Definition definition = Fashion.definitionOf(stack); - if (definition == null || definition.getModelKind() != Fashion.ModelKind.GIANT_BAT_WINGS) { - return; - } - Model resolvedModel = IClientItemExtensions.of(stack).getGenericArmorModel(stack, layerType, model); - if (!(resolvedModel instanceof FashionArmorModel fashionModel)) { - return; - } - - fashionModel.submitTextureMeshSides( - poseStack, - submitNodeCollector, - packedLight, - stack - ); - } -} diff --git a/src/main/java/com/dec/decisland/mixin/client/FlintlockAimCameraMixin.java b/src/main/java/com/dec/decisland/mixin/client/FlintlockAimCameraMixin.java index 53a8b58..b61a2c2 100644 --- a/src/main/java/com/dec/decisland/mixin/client/FlintlockAimCameraMixin.java +++ b/src/main/java/com/dec/decisland/mixin/client/FlintlockAimCameraMixin.java @@ -6,7 +6,7 @@ import net.minecraft.client.Minecraft; import net.minecraft.world.entity.Entity; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.level.Level; +import net.minecraft.world.level.BlockGetter; import net.minecraft.world.phys.Vec3; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @@ -17,13 +17,14 @@ @Mixin(Camera.class) public abstract class FlintlockAimCameraMixin { @Shadow - public abstract Vec3 position(); + public abstract Vec3 getPosition(); @Shadow protected abstract void setPosition(Vec3 vec3); - @Inject(method = "setup(Lnet/minecraft/world/level/Level;Lnet/minecraft/world/entity/Entity;ZZF)V", at = @At("TAIL")) - private void decisland$flintlockAimCamera(Level level, Entity entity, boolean detached, boolean thirdPersonReverse, float partialTick, CallbackInfo ci) { + // 1.21.1: Camera#setup takes a BlockGetter (Level came in later versions) + @Inject(method = "setup(Lnet/minecraft/world/level/BlockGetter;Lnet/minecraft/world/entity/Entity;ZZF)V", at = @At("TAIL")) + private void decisland$flintlockAimCamera(BlockGetter level, Entity entity, boolean detached, boolean thirdPersonReverse, float partialTick, CallbackInfo ci) { Minecraft mc = Minecraft.getInstance(); if (mc.player == null || entity != mc.player || detached || !mc.player.isCrouching()) { return; @@ -41,6 +42,6 @@ public abstract class FlintlockAimCameraMixin { Vec3 aimOffset = look.scale(0.25); double back = RecoilClient.getCameraBackOffset(partialTick); Vec3 recoilOffset = look.scale(-back); - this.setPosition(this.position().add(aimOffset).add(recoilOffset)); + this.setPosition(this.getPosition().add(aimOffset).add(recoilOffset)); } } diff --git a/src/main/java/com/dec/decisland/mixin/client/FlintlockAimCrosshairMixin.java b/src/main/java/com/dec/decisland/mixin/client/FlintlockAimCrosshairMixin.java index 14bf954..5d27001 100644 --- a/src/main/java/com/dec/decisland/mixin/client/FlintlockAimCrosshairMixin.java +++ b/src/main/java/com/dec/decisland/mixin/client/FlintlockAimCrosshairMixin.java @@ -6,8 +6,7 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.gui.Gui; import net.minecraft.client.gui.GuiGraphics; -import net.minecraft.client.renderer.RenderPipelines; -import net.minecraft.resources.Identifier; +import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.ItemStack; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; @@ -16,8 +15,8 @@ @Mixin(Gui.class) public class FlintlockAimCrosshairMixin { - private static final Identifier CROSSHAIR_TEX = - Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "textures/gui/flintlock_crosshair.png"); + private static final ResourceLocation CROSSHAIR_TEX = + ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "textures/gui/flintlock_crosshair.png"); @Inject(method = "renderCrosshair(Lnet/minecraft/client/gui/GuiGraphics;Lnet/minecraft/client/DeltaTracker;)V", at = @At("HEAD"), cancellable = true) private void decisland$flintlockAimCrosshair(GuiGraphics graphics, DeltaTracker deltaTracker, CallbackInfo ci) { @@ -36,7 +35,7 @@ public class FlintlockAimCrosshairMixin { int x = (graphics.guiWidth() - 16) / 2; int y = (graphics.guiHeight() - 16) / 2; - graphics.blit(RenderPipelines.GUI_TEXTURED, CROSSHAIR_TEX, x, y, 0.0f, 0.0f, 16, 16, 16, 16); + graphics.blit(CROSSHAIR_TEX, x, y, 0.0f, 0.0f, 16, 16, 16, 16); ci.cancel(); } } diff --git a/src/main/java/com/dec/decisland/mixin/client/FlintlockAimFovMixin.java b/src/main/java/com/dec/decisland/mixin/client/FlintlockAimFovMixin.java index 530753c..b9dc170 100644 --- a/src/main/java/com/dec/decisland/mixin/client/FlintlockAimFovMixin.java +++ b/src/main/java/com/dec/decisland/mixin/client/FlintlockAimFovMixin.java @@ -12,10 +12,11 @@ @Mixin(GameRenderer.class) public class FlintlockAimFovMixin { - @Inject(method = "getFov(Lnet/minecraft/client/Camera;FZ)F", at = @At("RETURN"), cancellable = true) - private void decisland$flintlockAimFov(Camera camera, float partialTick, boolean useFovSetting, CallbackInfoReturnable cir) { + // 1.21.1: GameRenderer#getFov returns double + @Inject(method = "getFov(Lnet/minecraft/client/Camera;FZ)D", at = @At("RETURN"), cancellable = true) + private void decisland$flintlockAimFov(Camera camera, float partialTick, boolean useFovSetting, CallbackInfoReturnable cir) { Minecraft mc = Minecraft.getInstance(); - if (mc.player == null || camera.entity() != mc.player || !mc.player.isCrouching()) { + if (mc.player == null || camera.getEntity() != mc.player || !mc.player.isCrouching()) { return; } @@ -27,6 +28,6 @@ public class FlintlockAimFovMixin { } } - cir.setReturnValue(cir.getReturnValueF() * 0.65f); + cir.setReturnValue(cir.getReturnValueD() * 0.65); } } diff --git a/src/main/java/com/dec/decisland/mixin/client/GunHoldHandsMixin.java b/src/main/java/com/dec/decisland/mixin/client/GunHoldHandsMixin.java index 14c9d08..720719b 100644 --- a/src/main/java/com/dec/decisland/mixin/client/GunHoldHandsMixin.java +++ b/src/main/java/com/dec/decisland/mixin/client/GunHoldHandsMixin.java @@ -6,10 +6,10 @@ import com.mojang.math.Axis; import net.minecraft.client.player.AbstractClientPlayer; import net.minecraft.client.player.LocalPlayer; -import net.minecraft.client.renderer.SubmitNodeCollector; import net.minecraft.client.renderer.ItemInHandRenderer; +import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.core.registries.BuiltInRegistries; -import net.minecraft.resources.Identifier; +import net.minecraft.resources.ResourceLocation; import net.minecraft.world.InteractionHand; import net.minecraft.world.item.ItemStack; import org.spongepowered.asm.mixin.Mixin; @@ -48,7 +48,7 @@ public class GunHoldHandsMixin { } @Inject( - method = "renderArmWithItem(Lnet/minecraft/client/player/AbstractClientPlayer;FFLnet/minecraft/world/InteractionHand;FLnet/minecraft/world/item/ItemStack;FLcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/SubmitNodeCollector;I)V", + method = "renderArmWithItem(Lnet/minecraft/client/player/AbstractClientPlayer;FFLnet/minecraft/world/InteractionHand;FLnet/minecraft/world/item/ItemStack;FLcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/MultiBufferSource;I)V", at = @At("HEAD") ) private void decisland$gunFirstPersonPose( @@ -60,7 +60,7 @@ public class GunHoldHandsMixin { ItemStack stack, float equipProgress, PoseStack poseStack, - SubmitNodeCollector nodeCollector, + MultiBufferSource buffer, int packedLight, CallbackInfo ci ) { @@ -194,7 +194,7 @@ private static void applySupportPose(PoseStack poseStack, boolean aiming, boolea private static boolean isShortFlintlock(ItemStack stack) { try { - Identifier id = BuiltInRegistries.ITEM.getKey(stack.getItem()); + ResourceLocation id = BuiltInRegistries.ITEM.getKey(stack.getItem()); return id != null && "short_flintlock".equals(id.getPath()); } catch (Throwable ignored) { return false; diff --git a/src/main/java/com/dec/decisland/mixin/client/GunHoldThirdPersonPoseMixin.java b/src/main/java/com/dec/decisland/mixin/client/GunHoldThirdPersonPoseMixin.java index 0795f7d..1888023 100644 --- a/src/main/java/com/dec/decisland/mixin/client/GunHoldThirdPersonPoseMixin.java +++ b/src/main/java/com/dec/decisland/mixin/client/GunHoldThirdPersonPoseMixin.java @@ -1,45 +1,41 @@ package com.dec.decisland.mixin.client; - import com.dec.decisland.item.gun.GunItem; import net.minecraft.client.model.HumanoidModel; -import net.minecraft.client.renderer.entity.player.AvatarRenderer; +import net.minecraft.client.player.AbstractClientPlayer; +import net.minecraft.client.renderer.entity.player.PlayerRenderer; import net.minecraft.core.registries.BuiltInRegistries; -import net.minecraft.resources.Identifier; +import net.minecraft.resources.ResourceLocation; import net.minecraft.world.InteractionHand; -import net.minecraft.world.entity.Avatar; import net.minecraft.world.item.ItemStack; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; - -@Mixin(AvatarRenderer.class) +@Mixin(PlayerRenderer.class) public class GunHoldThirdPersonPoseMixin { @Inject( - method = "getArmPose(Lnet/minecraft/world/entity/Avatar;Lnet/minecraft/world/item/ItemStack;Lnet/minecraft/world/InteractionHand;)Lnet/minecraft/client/model/HumanoidModel$ArmPose;", + method = "getArmPose(Lnet/minecraft/client/player/AbstractClientPlayer;Lnet/minecraft/world/InteractionHand;)Lnet/minecraft/client/model/HumanoidModel$ArmPose;", at = @At("HEAD"), cancellable = true ) private static void decisland$gunHoldArmPose( - Avatar player, - ItemStack stack, + AbstractClientPlayer player, InteractionHand hand, CallbackInfoReturnable cir ) { + ItemStack stack = player.getItemInHand(hand); if (stack.getItem() instanceof GunItem) { cir.setReturnValue(isShortFlintlock(stack) ? HumanoidModel.ArmPose.ITEM : HumanoidModel.ArmPose.BOW_AND_ARROW); return; } - ItemStack other = hand == InteractionHand.OFF_HAND ? player.getMainHandItem() : player.getOffhandItem(); if (stack.isEmpty() && other.getItem() instanceof GunItem && !isShortFlintlock(other)) { cir.setReturnValue(HumanoidModel.ArmPose.CROSSBOW_HOLD); } } - private static boolean isShortFlintlock(ItemStack stack) { try { - Identifier id = BuiltInRegistries.ITEM.getKey(stack.getItem()); + ResourceLocation id = BuiltInRegistries.ITEM.getKey(stack.getItem()); return id != null && "short_flintlock".equals(id.getPath()); } catch (Throwable ignored) { return false; diff --git a/src/main/java/com/dec/decisland/mixin/client/GunThirdPersonStraightArmMixin.java b/src/main/java/com/dec/decisland/mixin/client/GunThirdPersonStraightArmMixin.java index 9be6bef..d40af31 100644 --- a/src/main/java/com/dec/decisland/mixin/client/GunThirdPersonStraightArmMixin.java +++ b/src/main/java/com/dec/decisland/mixin/client/GunThirdPersonStraightArmMixin.java @@ -2,7 +2,7 @@ import net.minecraft.client.model.HumanoidModel; import net.minecraft.client.model.geom.ModelPart; -import net.minecraft.client.renderer.entity.state.HumanoidRenderState; +import net.minecraft.world.entity.LivingEntity; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.injection.At; @@ -14,17 +14,19 @@ public abstract class GunThirdPersonStraightArmMixin { @Shadow public ModelPart head; @Shadow public ModelPart rightArm; @Shadow public ModelPart leftArm; + @Shadow public HumanoidModel.ArmPose rightArmPose; + @Shadow public HumanoidModel.ArmPose leftArmPose; - @Inject(method = "setupAnim(Lnet/minecraft/client/renderer/entity/state/HumanoidRenderState;)V", at = @At("TAIL")) - private void decisland$straightGunArms(HumanoidRenderState state, CallbackInfo ci) { - if (state == null) { + @Inject(method = "setupAnim(Lnet/minecraft/world/entity/LivingEntity;FFFFF)V", at = @At("TAIL")) + private void decisland$straightGunArms(LivingEntity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, CallbackInfo ci) { + if (entity == null) { return; } - boolean rightGun = state.rightArmPose == HumanoidModel.ArmPose.BOW_AND_ARROW; - boolean leftGun = state.leftArmPose == HumanoidModel.ArmPose.BOW_AND_ARROW; - boolean rightSupport = state.rightArmPose == HumanoidModel.ArmPose.CROSSBOW_HOLD; - boolean leftSupport = state.leftArmPose == HumanoidModel.ArmPose.CROSSBOW_HOLD; + boolean rightGun = this.rightArmPose == HumanoidModel.ArmPose.BOW_AND_ARROW; + boolean leftGun = this.leftArmPose == HumanoidModel.ArmPose.BOW_AND_ARROW; + boolean rightSupport = this.rightArmPose == HumanoidModel.ArmPose.CROSSBOW_HOLD; + boolean leftSupport = this.leftArmPose == HumanoidModel.ArmPose.CROSSBOW_HOLD; if (!rightGun && !leftGun && !rightSupport && !leftSupport) { return; } diff --git a/src/main/java/com/dec/decisland/network/AttackPayload.kt b/src/main/java/com/dec/decisland/network/AttackPayload.kt index d8f454e..93cac31 100644 --- a/src/main/java/com/dec/decisland/network/AttackPayload.kt +++ b/src/main/java/com/dec/decisland/network/AttackPayload.kt @@ -5,7 +5,7 @@ import net.minecraft.nbt.CompoundTag import net.minecraft.network.FriendlyByteBuf import net.minecraft.network.codec.StreamCodec import net.minecraft.network.protocol.common.custom.CustomPacketPayload -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.world.InteractionHand class AttackPayload( @@ -18,7 +18,7 @@ class AttackPayload( companion object { @JvmField - val ID: Identifier = Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "attack_payload") + val ID: ResourceLocation = ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "attack_payload") @JvmField val TYPE: CustomPacketPayload.Type = CustomPacketPayload.Type(ID) diff --git a/src/main/java/com/dec/decisland/network/DashPayload.kt b/src/main/java/com/dec/decisland/network/DashPayload.kt index e3a527c..b3f43ab 100644 --- a/src/main/java/com/dec/decisland/network/DashPayload.kt +++ b/src/main/java/com/dec/decisland/network/DashPayload.kt @@ -5,7 +5,7 @@ import net.minecraft.network.FriendlyByteBuf import net.minecraft.network.codec.ByteBufCodecs import net.minecraft.network.codec.StreamCodec import net.minecraft.network.protocol.common.custom.CustomPacketPayload -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation class DashPayload( val power: Float, @@ -14,7 +14,7 @@ class DashPayload( companion object { @JvmField - val ID: Identifier = Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "dash_s2c") + val ID: ResourceLocation = ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "dash_s2c") @JvmField val TYPE: CustomPacketPayload.Type = CustomPacketPayload.Type(ID) diff --git a/src/main/java/com/dec/decisland/network/ManaSyncPayload.kt b/src/main/java/com/dec/decisland/network/ManaSyncPayload.kt index 8f39044..556552a 100644 --- a/src/main/java/com/dec/decisland/network/ManaSyncPayload.kt +++ b/src/main/java/com/dec/decisland/network/ManaSyncPayload.kt @@ -5,7 +5,7 @@ import net.minecraft.network.FriendlyByteBuf import net.minecraft.network.codec.ByteBufCodecs import net.minecraft.network.codec.StreamCodec import net.minecraft.network.protocol.common.custom.CustomPacketPayload -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation class ManaSyncPayload( val currentMana: Float, @@ -15,7 +15,7 @@ class ManaSyncPayload( companion object { @JvmField - val ID: Identifier = Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "mana_sync_payload") + val ID: ResourceLocation = ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "mana_sync_payload") @JvmField val TYPE: CustomPacketPayload.Type = CustomPacketPayload.Type(ID) diff --git a/src/main/java/com/dec/decisland/network/Networking.kt b/src/main/java/com/dec/decisland/network/Networking.kt index 7760952..6d90167 100644 --- a/src/main/java/com/dec/decisland/network/Networking.kt +++ b/src/main/java/com/dec/decisland/network/Networking.kt @@ -1,7 +1,7 @@ package com.dec.decisland.network import com.dec.decisland.DecIsland -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.server.level.ServerLevel import net.minecraft.server.level.ServerPlayer import net.minecraft.world.entity.Entity @@ -60,7 +60,7 @@ object Networking { } @JvmStatic - fun sendBedrockEmitter(player: ServerPlayer, particleId: Identifier, position: Vec3, durationTicks: Int = 40) { + fun sendBedrockEmitter(player: ServerPlayer, particleId: ResourceLocation, position: Vec3, durationTicks: Int = 40) { PacketDistributor.sendToPlayer( player, SpawnBedrockEmitterPayload(particleId, position.x, position.y, position.z, durationTicks), @@ -68,7 +68,7 @@ object Networking { } @JvmStatic - fun sendBedrockEmitterToTracking(entity: Entity, particleId: Identifier, position: Vec3, durationTicks: Int = 2) { + fun sendBedrockEmitterToTracking(entity: Entity, particleId: ResourceLocation, position: Vec3, durationTicks: Int = 2) { PacketDistributor.sendToPlayersTrackingEntity( entity, SpawnBedrockEmitterPayload(particleId, position.x, position.y, position.z, durationTicks), @@ -78,7 +78,7 @@ object Networking { @JvmStatic fun sendBedrockEmitterToNearby( level: ServerLevel, - particleId: Identifier, + particleId: ResourceLocation, position: Vec3, radius: Double = 64.0, durationTicks: Int = 2, diff --git a/src/main/java/com/dec/decisland/network/RecoilPayload.kt b/src/main/java/com/dec/decisland/network/RecoilPayload.kt index 787249f..28faade 100644 --- a/src/main/java/com/dec/decisland/network/RecoilPayload.kt +++ b/src/main/java/com/dec/decisland/network/RecoilPayload.kt @@ -5,7 +5,7 @@ import net.minecraft.network.FriendlyByteBuf import net.minecraft.network.codec.ByteBufCodecs import net.minecraft.network.codec.StreamCodec import net.minecraft.network.protocol.common.custom.CustomPacketPayload -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation class RecoilPayload( val pitchUpDegrees: Float, @@ -15,7 +15,7 @@ class RecoilPayload( companion object { @JvmField - val ID: Identifier = Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "recoil_s2c") + val ID: ResourceLocation = ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "recoil_s2c") @JvmField val TYPE: CustomPacketPayload.Type = CustomPacketPayload.Type(ID) diff --git a/src/main/java/com/dec/decisland/network/SpawnBedrockEmitterPayload.kt b/src/main/java/com/dec/decisland/network/SpawnBedrockEmitterPayload.kt index 952c337..87060a5 100644 --- a/src/main/java/com/dec/decisland/network/SpawnBedrockEmitterPayload.kt +++ b/src/main/java/com/dec/decisland/network/SpawnBedrockEmitterPayload.kt @@ -5,10 +5,10 @@ import net.minecraft.network.FriendlyByteBuf import net.minecraft.network.codec.ByteBufCodecs import net.minecraft.network.codec.StreamCodec import net.minecraft.network.protocol.common.custom.CustomPacketPayload -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation class SpawnBedrockEmitterPayload( - val id: Identifier, + val id: ResourceLocation, val x: Double, val y: Double, val z: Double, @@ -18,14 +18,14 @@ class SpawnBedrockEmitterPayload( companion object { @JvmField - val ID: Identifier = Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "spawn_bedrock_emitter_s2c") + val ID: ResourceLocation = ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "spawn_bedrock_emitter_s2c") @JvmField val TYPE: CustomPacketPayload.Type = CustomPacketPayload.Type(ID) @JvmField val STREAM_CODEC: StreamCodec = StreamCodec.composite( - Identifier.STREAM_CODEC, + ResourceLocation.STREAM_CODEC, SpawnBedrockEmitterPayload::id, ByteBufCodecs.DOUBLE, SpawnBedrockEmitterPayload::x, diff --git a/src/main/java/com/dec/decisland/particles/ModParticles.kt b/src/main/java/com/dec/decisland/particles/ModParticles.kt index d120591..f71128f 100644 --- a/src/main/java/com/dec/decisland/particles/ModParticles.kt +++ b/src/main/java/com/dec/decisland/particles/ModParticles.kt @@ -37,7 +37,7 @@ import com.google.gson.JsonParser import net.minecraft.core.particles.ParticleType import net.minecraft.core.particles.SimpleParticleType import net.minecraft.core.registries.BuiltInRegistries -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.neoforged.bus.api.IEventBus import net.neoforged.neoforge.registries.DeferredHolder import net.neoforged.neoforge.registries.DeferredRegister @@ -52,8 +52,8 @@ object ModParticles { private const val BEDROCK_MANIFEST = "assets/decisland/particles/bedrock_manifest.txt" private val particleConfigs = mutableListOf() - private val bedrockDefinitionById = LinkedHashMap() - private val bedrockSpritesById = LinkedHashMap>() + private val bedrockDefinitionById = LinkedHashMap() + private val bedrockSpritesById = LinkedHashMap>() @Volatile private var bedrockLoaded = false @@ -114,19 +114,19 @@ object ModParticles { fun getParticleConfigs(): List = particleConfigs @JvmStatic - fun resolveBedrockDefinition(id: Identifier): BedrockParticleEffectDefinition? { + fun resolveBedrockDefinition(id: ResourceLocation): BedrockParticleEffectDefinition? { ensureBedrockLoaded() return bedrockDefinitionById[normalizeBedrockId(id)] } @JvmStatic - fun resolveBedrockSpriteId(id: Identifier): Identifier? { + fun resolveBedrockSpriteId(id: ResourceLocation): ResourceLocation? { ensureBedrockLoaded() return bedrockSpritesById[normalizeBedrockId(id)]?.firstOrNull() } @JvmStatic - fun resolveBedrockSpriteIds(id: Identifier): List { + fun resolveBedrockSpriteIds(id: ResourceLocation): List { ensureBedrockLoaded() return bedrockSpritesById[normalizeBedrockId(id)] ?: emptyList() } @@ -159,12 +159,12 @@ object ModParticles { } } - private fun parseBedrockResource(stream: java.io.InputStream): Triple?>? { + private fun parseBedrockResource(stream: java.io.InputStream): Triple?>? { val root = InputStreamReader(stream).use { JsonParser.parseReader(it) } val effect = root.asJsonObjectOrNull()?.getAsJsonObjectOrNull("particle_effect") ?: return null val description = effect.getAsJsonObjectOrNull("description") ?: return null val rawIdentifier = description.getAsJsonPrimitiveOrNull("identifier")?.asString ?: return null - val id = normalizeBedrockId(Identifier.tryParse(rawIdentifier) ?: return null) + val id = normalizeBedrockId(ResourceLocation.tryParse(rawIdentifier) ?: return null) val texturePath = description.getAsJsonObjectOrNull("basic_render_parameters") ?.getAsJsonPrimitiveOrNull("texture") ?.asString @@ -344,13 +344,13 @@ object ModParticles { return Triple(id, definition, spriteIds) } - private fun normalizeBedrockId(id: Identifier): Identifier = + private fun normalizeBedrockId(id: ResourceLocation): ResourceLocation = when (id.namespace) { - "dec", "the-poetry-of-winter" -> Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, id.path) + "dec", "the-poetry-of-winter" -> ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, id.path) else -> id } - private fun texturePathToSpriteIds(raw: String): List? { + private fun texturePathToSpriteIds(raw: String): List? { val normalized = raw.replace('\\', '/').removeSuffix(".png") val hasExplicitNamespace = normalized.contains(':') val namespace: String @@ -366,15 +366,15 @@ object ModParticles { val path = if (rawPath.startsWith("textures/")) rawPath else "textures/$rawPath" return when { path == "textures/particle/sga_*" && namespace == "minecraft" -> - ('a'..'z').map { char -> Identifier.fromNamespaceAndPath(namespace, "sga_$char") } + ('a'..'z').map { char -> ResourceLocation.fromNamespaceAndPath(namespace, "sga_$char") } path.startsWith("textures/particle/") -> - listOf(Identifier.fromNamespaceAndPath(namespace, path.removePrefix("textures/particle/"))) + listOf(ResourceLocation.fromNamespaceAndPath(namespace, path.removePrefix("textures/particle/"))) path.startsWith("textures/wb_par/") -> - listOf(Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "wb_par/${path.removePrefix("textures/wb_par/")}")) + listOf(ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "wb_par/${path.removePrefix("textures/wb_par/")}")) path.startsWith("textures/EPIC/") -> - listOf(Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "epic/${path.removePrefix("textures/EPIC/")}")) + listOf(ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "epic/${path.removePrefix("textures/EPIC/")}")) path.startsWith("textures/epic/") -> - listOf(Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "epic/${path.removePrefix("textures/epic/")}")) + listOf(ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "epic/${path.removePrefix("textures/epic/")}")) else -> null } } diff --git a/src/main/java/com/dec/decisland/particles/custom/AbsoluteZeroSmokeSeedParticle.kt b/src/main/java/com/dec/decisland/particles/custom/AbsoluteZeroSmokeSeedParticle.kt index 1976a01..b1700bf 100644 --- a/src/main/java/com/dec/decisland/particles/custom/AbsoluteZeroSmokeSeedParticle.kt +++ b/src/main/java/com/dec/decisland/particles/custom/AbsoluteZeroSmokeSeedParticle.kt @@ -69,7 +69,6 @@ class AbsoluteZeroSmokeSeedParticle( xSpeed: Double, ySpeed: Double, zSpeed: Double, - random: RandomSource, ): Particle = AbsoluteZeroSmokeSeedParticle(level, x, y, z, numParticles, radius, initialSpeed) } diff --git a/src/main/java/com/dec/decisland/particles/custom/AbsoluteZeroSmokeSingleParticle.kt b/src/main/java/com/dec/decisland/particles/custom/AbsoluteZeroSmokeSingleParticle.kt index ca13fc4..d2d40f7 100644 --- a/src/main/java/com/dec/decisland/particles/custom/AbsoluteZeroSmokeSingleParticle.kt +++ b/src/main/java/com/dec/decisland/particles/custom/AbsoluteZeroSmokeSingleParticle.kt @@ -3,10 +3,10 @@ package com.dec.decisland.particles.custom import net.minecraft.client.multiplayer.ClientLevel import net.minecraft.client.particle.Particle import net.minecraft.client.particle.ParticleProvider -import net.minecraft.client.particle.SingleQuadParticle +import net.minecraft.client.particle.ParticleRenderType import net.minecraft.client.particle.SpriteSet +import net.minecraft.client.particle.TextureSheetParticle import net.minecraft.core.particles.SimpleParticleType -import net.minecraft.util.RandomSource import kotlin.math.max class AbsoluteZeroSmokeSingleParticle( @@ -18,7 +18,7 @@ class AbsoluteZeroSmokeSingleParticle( ySpeed: Double, zSpeed: Double, private val sprites: SpriteSet, -) : SingleQuadParticle(level, x, y, z, sprites.get(0, 1)) { +) : TextureSheetParticle(level, x, y, z) { private val rotationRateRadPerTick: Float init { @@ -44,7 +44,7 @@ class AbsoluteZeroSmokeSingleParticle( quadSize = max(0.0f, 0.3f * sizeFactor) } - override fun getLayer(): Layer = Layer.TRANSLUCENT + override fun getRenderType(): ParticleRenderType = ParticleRenderType.PARTICLE_SHEET_TRANSLUCENT override fun getFacingCameraMode(): FacingCameraMode = FacingCameraMode.LOOKAT_XYZ @@ -58,7 +58,6 @@ class AbsoluteZeroSmokeSingleParticle( xSpeed: Double, ySpeed: Double, zSpeed: Double, - random: RandomSource, ): Particle = AbsoluteZeroSmokeSingleParticle(level, x, y, z, xSpeed, ySpeed, zSpeed, sprite) } diff --git a/src/main/java/com/dec/decisland/particles/custom/BlizzardWakeParticle.kt b/src/main/java/com/dec/decisland/particles/custom/BlizzardWakeParticle.kt index ed74a4a..467582d 100644 --- a/src/main/java/com/dec/decisland/particles/custom/BlizzardWakeParticle.kt +++ b/src/main/java/com/dec/decisland/particles/custom/BlizzardWakeParticle.kt @@ -4,14 +4,13 @@ import net.minecraft.client.multiplayer.ClientLevel import net.minecraft.client.particle.Particle import net.minecraft.client.particle.ParticleProvider import net.minecraft.client.particle.ParticleRenderType -import net.minecraft.client.particle.SingleQuadParticle import net.minecraft.client.particle.SpriteSet +import net.minecraft.client.particle.TextureSheetParticle import net.minecraft.core.particles.SimpleParticleType -import net.minecraft.util.RandomSource import kotlin.math.max class BlizzardWakeParticle(level: ClientLevel, x: Double, y: Double, z: Double, private val sprites: SpriteSet) : - SingleQuadParticle(level, x, y, z, sprites.get(0, 1)) { + TextureSheetParticle(level, x, y, z) { private val initialSize: Float init { @@ -30,12 +29,10 @@ class BlizzardWakeParticle(level: ClientLevel, x: Double, y: Double, z: Double, quadSize = max(0.0f, initialSize - ageSec * 0.05f) } - override fun getLayer(): Layer = Layer.OPAQUE + override fun getRenderType(): ParticleRenderType = ParticleRenderType.PARTICLE_SHEET_OPAQUE override fun getFacingCameraMode(): FacingCameraMode = FacingCameraMode.LOOKAT_XYZ - override fun getGroup(): ParticleRenderType = ParticleRenderType.SINGLE_QUADS - class Provider(private val sprite: SpriteSet) : ParticleProvider { override fun createParticle( particleType: SimpleParticleType, @@ -46,7 +43,6 @@ class BlizzardWakeParticle(level: ClientLevel, x: Double, y: Double, z: Double, xSpeed: Double, ySpeed: Double, zSpeed: Double, - random: RandomSource, ): Particle = BlizzardWakeParticle(level, x, y, z, sprite) } } diff --git a/src/main/java/com/dec/decisland/particles/custom/ImperialTotemParticle.kt b/src/main/java/com/dec/decisland/particles/custom/ImperialTotemParticle.kt index 0e7ea6c..ceb0b5d 100644 --- a/src/main/java/com/dec/decisland/particles/custom/ImperialTotemParticle.kt +++ b/src/main/java/com/dec/decisland/particles/custom/ImperialTotemParticle.kt @@ -3,10 +3,10 @@ package com.dec.decisland.particles.custom import net.minecraft.client.multiplayer.ClientLevel import net.minecraft.client.particle.Particle import net.minecraft.client.particle.ParticleProvider -import net.minecraft.client.particle.SingleQuadParticle +import net.minecraft.client.particle.ParticleRenderType import net.minecraft.client.particle.SpriteSet +import net.minecraft.client.particle.TextureSheetParticle import net.minecraft.core.particles.SimpleParticleType -import net.minecraft.util.RandomSource class ImperialTotemParticle( level: ClientLevel, @@ -17,7 +17,7 @@ class ImperialTotemParticle( ySpeed: Double, zSpeed: Double, private val sprites: SpriteSet, -) : SingleQuadParticle(level, x, y, z, sprites.get(0, 1)) { +) : TextureSheetParticle(level, x, y, z) { init { xd = xSpeed yd = ySpeed @@ -35,7 +35,7 @@ class ImperialTotemParticle( if (isAlive) setSpriteFromAge(sprites) } - override fun getLayer(): Layer = Layer.TRANSLUCENT + override fun getRenderType(): ParticleRenderType = ParticleRenderType.PARTICLE_SHEET_TRANSLUCENT class Provider(private val sprites: SpriteSet) : ParticleProvider { override fun createParticle( @@ -47,7 +47,6 @@ class ImperialTotemParticle( xSpeed: Double, ySpeed: Double, zSpeed: Double, - random: RandomSource, ): Particle = ImperialTotemParticle(level, x, y, z, xSpeed, ySpeed, zSpeed, sprites) } } diff --git a/src/main/java/com/dec/decisland/tag/ModBlockTags.kt b/src/main/java/com/dec/decisland/tag/ModBlockTags.kt index 23a2da4..ed9d0cd 100644 --- a/src/main/java/com/dec/decisland/tag/ModBlockTags.kt +++ b/src/main/java/com/dec/decisland/tag/ModBlockTags.kt @@ -2,11 +2,11 @@ package com.dec.decisland.tag import com.dec.decisland.DecIsland import net.minecraft.core.registries.Registries -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.tags.TagKey import net.minecraft.world.level.block.Block object ModBlockTags { private fun create(name: String): TagKey = - TagKey.create(Registries.BLOCK, Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, name)) + TagKey.create(Registries.BLOCK, ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, name)) } diff --git a/src/main/java/com/dec/decisland/tag/ModItemTags.kt b/src/main/java/com/dec/decisland/tag/ModItemTags.kt index c5fff0b..e7de9e4 100644 --- a/src/main/java/com/dec/decisland/tag/ModItemTags.kt +++ b/src/main/java/com/dec/decisland/tag/ModItemTags.kt @@ -2,7 +2,7 @@ package com.dec.decisland.tag import com.dec.decisland.DecIsland import net.minecraft.core.registries.Registries -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.tags.TagKey import net.minecraft.world.item.Item @@ -62,5 +62,5 @@ object ModItemTags { val REPAIRS_FASHION: TagKey = create("repairs_fashion") private fun create(name: String): TagKey = - TagKey.create(Registries.ITEM, Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, name)) + TagKey.create(Registries.ITEM, ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, name)) } diff --git a/src/main/java/com/dec/decisland/world/portal/SnowPortalShape.java b/src/main/java/com/dec/decisland/world/portal/SnowPortalShape.java index 0a2b2ed..486e45f 100644 --- a/src/main/java/com/dec/decisland/world/portal/SnowPortalShape.java +++ b/src/main/java/com/dec/decisland/world/portal/SnowPortalShape.java @@ -5,8 +5,8 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.server.level.ServerLevel; +import net.minecraft.BlockUtil; import net.minecraft.util.Mth; -import net.minecraft.util.BlockUtil; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntityDimensions; import net.minecraft.world.level.BlockGetter; @@ -246,7 +246,7 @@ private static Optional findVertical(BlockGetter level, BlockPo Direction widthDir = axis == Direction.Axis.X ? Direction.SOUTH : Direction.EAST; Direction negativeWidth = widthDir.getOpposite(); BlockPos cursor = pos; - while (cursor.getY() > level.getMinY() && isInside(level.getBlockState(cursor.below()))) { + while (cursor.getY() > level.getMinBuildHeight() && isInside(level.getBlockState(cursor.below()))) { cursor = cursor.below(); } for (int i = 0; i < MAX_SIZE; i++) { diff --git a/src/main/java/com/dec/decisland/world/portal/SnowPortalTeleporter.java b/src/main/java/com/dec/decisland/world/portal/SnowPortalTeleporter.java index ed0a9ce..0845cbf 100644 --- a/src/main/java/com/dec/decisland/world/portal/SnowPortalTeleporter.java +++ b/src/main/java/com/dec/decisland/world/portal/SnowPortalTeleporter.java @@ -4,23 +4,22 @@ import java.util.HashSet; import java.util.Optional; import java.util.Set; +import javax.annotation.Nullable; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.server.level.ServerLevel; import net.minecraft.util.Mth; import net.minecraft.world.entity.Entity; -import net.minecraft.world.entity.Relative; import net.minecraft.world.level.Level; import net.minecraft.world.level.dimension.DimensionType; import net.minecraft.world.level.levelgen.Heightmap; -import net.minecraft.world.level.portal.TeleportTransition; +import net.minecraft.world.level.portal.DimensionTransition; import net.minecraft.world.phys.Vec3; -import org.jspecify.annotations.Nullable; public final class SnowPortalTeleporter { private SnowPortalTeleporter() {} - public static @Nullable TeleportTransition createTransition(ServerLevel sourceLevel, Entity entity, BlockPos portalPos, Direction.Axis sourceAxis) { + public static @Nullable DimensionTransition createTransition(ServerLevel sourceLevel, Entity entity, BlockPos portalPos, Direction.Axis sourceAxis) { ServerLevel destination = sourceLevel.dimension().equals(ModDimensions.VOID_LEVEL) ? sourceLevel.getServer().getLevel(Level.OVERWORLD) : sourceLevel.getServer().getLevel(ModDimensions.VOID_LEVEL); if (destination == null) { return null; @@ -46,15 +45,13 @@ private SnowPortalTeleporter() {} if (sourceAxis != Direction.Axis.Y && shape.axis() != Direction.Axis.Y && sourceAxis != shape.axis()) { yaw += 90.0F; } - Set relatives = Relative.DELTA; - return new TeleportTransition( + return new DimensionTransition( destination, teleportPos, entity.getDeltaMovement(), yaw, entity.getXRot(), - relatives, - TeleportTransition.PLAY_PORTAL_SOUND.then(e -> e.placePortalTicket(shape.lowerCorner())) + DimensionTransition.PLAY_PORTAL_SOUND.then(e -> e.placePortalTicket(shape.lowerCorner())) ); } @@ -65,7 +62,7 @@ private static Optional findClosestPortal(ServerLevel level, Bl int radius = 32; for (int x = center.getX() - radius; x <= center.getX() + radius; x++) { for (int z = center.getZ() - radius; z <= center.getZ() + radius; z++) { - for (int y = level.getMaxY(); y >= level.getMinY(); y--) { + for (int y = level.getMaxBuildHeight(); y >= level.getMinBuildHeight(); y--) { BlockPos pos = new BlockPos(x, y, z); if (!level.getBlockState(pos).is(com.dec.decisland.block.ModBlocks.SNOW_PORTAL.get())) { continue; @@ -99,7 +96,7 @@ private static Optional createDestinationPortal(ServerLevel lev int x = center.getX() + dx; int z = center.getZ() + dz; int y = level.getHeight(Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, x, z); - y = Mth.clamp(y, level.getMinY() + 2, level.getMaxY() - 4); + y = Mth.clamp(y, level.getMinBuildHeight() + 2, level.getMaxBuildHeight() - 4); BlockPos lowerCorner = new BlockPos(x, y, z); Optional created = SnowPortalShape.createMinimalPortal(level, lowerCorner, axis); if (created.isPresent()) { diff --git a/src/main/java/com/dec/decisland/worldgen/FractalSurfaceChunkGenerator.kt b/src/main/java/com/dec/decisland/worldgen/FractalSurfaceChunkGenerator.kt index 80dc7f4..789c1b3 100644 --- a/src/main/java/com/dec/decisland/worldgen/FractalSurfaceChunkGenerator.kt +++ b/src/main/java/com/dec/decisland/worldgen/FractalSurfaceChunkGenerator.kt @@ -5,7 +5,7 @@ import com.mojang.serialization.MapCodec import com.mojang.serialization.codecs.RecordCodecBuilder import net.minecraft.core.BlockPos import net.minecraft.core.QuartPos -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.server.level.WorldGenRegion import net.minecraft.util.Mth import net.minecraft.world.level.LevelHeightAccessor @@ -17,6 +17,7 @@ import net.minecraft.world.level.block.Blocks import net.minecraft.world.level.block.state.BlockState import net.minecraft.world.level.chunk.ChunkAccess import net.minecraft.world.level.chunk.ChunkGenerator +import net.minecraft.world.level.levelgen.GenerationStep import net.minecraft.world.level.levelgen.Heightmap import net.minecraft.world.level.levelgen.RandomState import net.minecraft.world.level.levelgen.blending.Blender @@ -62,9 +63,9 @@ class FractalSurfaceChunkGenerator( val biomeParamsByIndex = IntArray(size * size) val slopeParamPalette = ArrayList() - val slopeParamIndexById = HashMap() + val slopeParamIndexById = HashMap() - fun slopeIndexFor(biomeId: Identifier): Int { + fun slopeIndexFor(biomeId: ResourceLocation): Int { val existing = slopeParamIndexById[biomeId] if (existing != null) return existing val params = settings.biomeSlopeParams[biomeId] @@ -159,7 +160,7 @@ class FractalSurfaceChunkGenerator( val biome = biomeSource.getNoiseBiome(qx, 0, qz, sampler) val biomeId = biome.unwrapKey() .orElseThrow { IllegalStateException("Biome holder has no key") } - .identifier() + .location() biomeParamsByIndex[heightIndex(lx, lz)] = slopeIndexFor(biomeId) } } @@ -263,7 +264,7 @@ class FractalSurfaceChunkGenerator( private fun ensureNoise(randomState: RandomState) { if (noiseA != null && noiseB != null && selectorNoise != null && macroNoise != null && caveNoise != null) return - val factory = randomState.getOrCreateRandomFactory(Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "fractal_surface")) + val factory = randomState.getOrCreateRandomFactory(ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "fractal_surface")) noiseA = FractalPerlin2D(factory.at(0, 0, 0).nextLong()) noiseB = FractalPerlin2D(factory.at(1, 0, 0).nextLong()) selectorNoise = FractalPerlin2D(factory.at(2, 0, 0).nextLong()) @@ -283,7 +284,8 @@ class FractalSurfaceChunkGenerator( randomState: RandomState, biomeManager: BiomeManager, structureManager: StructureManager, - chunk: ChunkAccess + chunk: ChunkAccess, + step: GenerationStep.Carving ) { // No caves/carvers for now (surface-first iteration). } @@ -334,9 +336,9 @@ class FractalSurfaceChunkGenerator( val biomeParamsByIndex = IntArray(size * size) val slopeParamPalette = ArrayList() - val slopeParamIndexById = HashMap() + val slopeParamIndexById = HashMap() - fun slopeIndexFor(biomeId: Identifier): Int { + fun slopeIndexFor(biomeId: ResourceLocation): Int { val existing = slopeParamIndexById[biomeId] if (existing != null) return existing val params = settings.biomeSlopeParams[biomeId] @@ -359,7 +361,7 @@ class FractalSurfaceChunkGenerator( val biome = biomeSource.getNoiseBiome(qx, 0, qz, sampler) val biomeId = biome.unwrapKey() .orElseThrow { IllegalStateException("Biome holder has no key") } - .identifier() + .location() biomeParamsByIndex[heightIndex(lx, lz)] = slopeIndexFor(biomeId) } } @@ -558,17 +560,17 @@ class FractalSurfaceChunkGenerator( val worldZ = chunkPos.minBlockZ + z val biome = biomeSource.getNoiseBiome(QuartPos.fromBlock(worldX), 0, QuartPos.fromBlock(worldZ), sampler) - val biomeId = biome.unwrapKey().orElseThrow().identifier() - val isPlains = biomeId == Biomes.PLAINS.identifier() + val biomeId = biome.unwrapKey().orElseThrow().location() + val isPlains = biomeId == Biomes.PLAINS.location() val shouldSnowCover = !isPlains val topIsSnow = shouldSnowCover && h >= settings.snowLine val isGlacier = glacierMask[idx] > 0.65 && h >= settings.snowLine - 10 val isRiver = riverMask[idx] > 0.55 val isIceRiver = iceRiverMask[idx] > settings.macro.iceRiverThreshold && !isPlains - val isForestLike = biomeId == Biomes.FOREST.identifier() || biomeId == Biomes.BIRCH_FOREST.identifier() || biomeId == Biomes.SNOWY_TAIGA.identifier() || biomeId == Biomes.GROVE.identifier() - val isIceSpikesBiome = biomeId == Biomes.ICE_SPIKES.identifier() + val isForestLike = biomeId == Biomes.FOREST.location() || biomeId == Biomes.BIRCH_FOREST.location() || biomeId == Biomes.SNOWY_TAIGA.location() || biomeId == Biomes.GROVE.location() + val isIceSpikesBiome = biomeId == Biomes.ICE_SPIKES.location() - val topIsGrass = isPlains || biomeId == Biomes.MEADOW.identifier() || biomeId == Biomes.FOREST.identifier() || biomeId == Biomes.BIRCH_FOREST.identifier() || biomeId == Biomes.SNOWY_TAIGA.identifier() || biomeId == Biomes.GROVE.identifier() + val topIsGrass = isPlains || biomeId == Biomes.MEADOW.location() || biomeId == Biomes.FOREST.location() || biomeId == Biomes.BIRCH_FOREST.location() || biomeId == Biomes.SNOWY_TAIGA.location() || biomeId == Biomes.GROVE.location() val topStateDefault = if (topIsGrass) grass else snowBlock // Solid terrain. @@ -585,7 +587,7 @@ class FractalSurfaceChunkGenerator( ) > settings.underground.threshold if (carve) { - chunk.setBlockState(BlockPos(worldX, y, worldZ), Blocks.AIR.defaultBlockState(), 2) + chunk.setBlockState(BlockPos(worldX, y, worldZ), Blocks.AIR.defaultBlockState(), false) continue } @@ -599,7 +601,7 @@ class FractalSurfaceChunkGenerator( y >= h - 3 -> dirt else -> stone } - chunk.setBlockState(BlockPos(worldX, y, worldZ), state, 2) + chunk.setBlockState(BlockPos(worldX, y, worldZ), state, false) } // Water fill (optional lowlands). @@ -608,25 +610,25 @@ class FractalSurfaceChunkGenerator( val fill = if (isIceRiver) ice else water for (y in (h + 1)..riverFillTop) { if (y < maxY) { - chunk.setBlockState(BlockPos(worldX, y, worldZ), fill, 2) + chunk.setBlockState(BlockPos(worldX, y, worldZ), fill, false) } } if (!isIceRiver && shouldSnowCover && riverFillTop + 1 < maxY) { // Light snow cover around cold rivers. - chunk.setBlockState(BlockPos(worldX, riverFillTop + 1, worldZ), snowLayer, 2) + chunk.setBlockState(BlockPos(worldX, riverFillTop + 1, worldZ), snowLayer, false) } } else if (h < settings.seaLevel) { val fill = if (isIceRiver) ice else water for (y in (h + 1)..settings.seaLevel) { if (y < maxY) { - chunk.setBlockState(BlockPos(worldX, y, worldZ), fill, 2) + chunk.setBlockState(BlockPos(worldX, y, worldZ), fill, false) } } } else if (shouldSnowCover && !topIsSnow) { val y = h + 1 if (y in minY until maxY) { if (!isGlacier && !isIceRiver) { - chunk.setBlockState(BlockPos(worldX, y, worldZ), snowLayer, 2) + chunk.setBlockState(BlockPos(worldX, y, worldZ), snowLayer, false) } } } @@ -639,7 +641,7 @@ class FractalSurfaceChunkGenerator( val height = (12 + ((spikeNoise - 0.62) / 0.38 * 80.0)).toInt() val topY = min(maxY - 1, h + height) for (yy in (h + 1)..topY) { - chunk.setBlockState(BlockPos(worldX, yy, worldZ), base, 2) + chunk.setBlockState(BlockPos(worldX, yy, worldZ), base, false) } } } diff --git a/src/main/java/com/dec/decisland/worldgen/FractalSurfaceSettings.kt b/src/main/java/com/dec/decisland/worldgen/FractalSurfaceSettings.kt index e23aa73..0f621f7 100644 --- a/src/main/java/com/dec/decisland/worldgen/FractalSurfaceSettings.kt +++ b/src/main/java/com/dec/decisland/worldgen/FractalSurfaceSettings.kt @@ -2,7 +2,7 @@ package com.dec.decisland.worldgen import com.mojang.serialization.Codec import com.mojang.serialization.codecs.RecordCodecBuilder -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation data class FractalSurfaceSettings( val baseHeight: Double, @@ -20,7 +20,7 @@ data class FractalSurfaceSettings( val genDepth: Int, val seaLevel: Int, val snowLine: Int, - val biomeSlopeParams: Map, + val biomeSlopeParams: Map, ) { companion object { val CODEC: Codec = RecordCodecBuilder.create { instance -> @@ -40,7 +40,7 @@ data class FractalSurfaceSettings( Codec.INT.fieldOf("gen_depth").forGetter(FractalSurfaceSettings::genDepth), Codec.INT.fieldOf("sea_level").forGetter(FractalSurfaceSettings::seaLevel), Codec.INT.fieldOf("snow_line").forGetter(FractalSurfaceSettings::snowLine), - Codec.unboundedMap(Identifier.CODEC, SlopeParams.CODEC).fieldOf("biome_slope_params").forGetter(FractalSurfaceSettings::biomeSlopeParams), + Codec.unboundedMap(ResourceLocation.CODEC, SlopeParams.CODEC).fieldOf("biome_slope_params").forGetter(FractalSurfaceSettings::biomeSlopeParams), ).apply(instance, ::FractalSurfaceSettings) } } diff --git a/src/main/java/com/dec/decisland/worldgen/ModDimensions.kt b/src/main/java/com/dec/decisland/worldgen/ModDimensions.kt index 578e117..0d20531 100644 --- a/src/main/java/com/dec/decisland/worldgen/ModDimensions.kt +++ b/src/main/java/com/dec/decisland/worldgen/ModDimensions.kt @@ -2,7 +2,7 @@ package com.dec.decisland.worldgen import com.dec.decisland.DecIsland import net.minecraft.core.registries.Registries -import net.minecraft.resources.Identifier +import net.minecraft.resources.ResourceLocation import net.minecraft.resources.ResourceKey import net.minecraft.world.level.Level import net.minecraft.world.level.dimension.DimensionType @@ -10,9 +10,9 @@ import net.minecraft.world.level.dimension.DimensionType object ModDimensions { @JvmField val VOID_LEVEL: ResourceKey = - ResourceKey.create(Registries.DIMENSION, Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "void")) + ResourceKey.create(Registries.DIMENSION, ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "void")) @JvmField val VOID_TYPE: ResourceKey = - ResourceKey.create(Registries.DIMENSION_TYPE, Identifier.fromNamespaceAndPath(DecIsland.MOD_ID, "void")) + ResourceKey.create(Registries.DIMENSION_TYPE, ResourceLocation.fromNamespaceAndPath(DecIsland.MOD_ID, "void")) } diff --git a/src/main/resources/META-INF/accesstransformer.cfg b/src/main/resources/META-INF/accesstransformer.cfg new file mode 100644 index 0000000..b8d5d69 --- /dev/null +++ b/src/main/resources/META-INF/accesstransformer.cfg @@ -0,0 +1,5 @@ +# Expose BlockModelGenerators outputs to mod datagen code +# (replaces the former net.minecraft.data.models.BlockModelGeneratorsAccess shim, +# which caused a JPMS split-package conflict with the minecraft module) +public net.minecraft.data.models.BlockModelGenerators blockStateOutput +public net.minecraft.data.models.BlockModelGenerators modelOutput diff --git a/src/main/resources/decisland.mixins.json b/src/main/resources/decisland.mixins.json index b7b3f70..52c3813 100644 --- a/src/main/resources/decisland.mixins.json +++ b/src/main/resources/decisland.mixins.json @@ -3,11 +3,9 @@ "package": "com.dec.decisland.mixin", "compatibilityLevel": "JAVA_21", "mixins": [ - "ItemCooldownsAccessor", - "ThrowableProjectileMixin" + "ItemCooldownsAccessor" ], "client": [ - "client.EquipmentLayerRendererMixin", "client.FlintlockAimCameraMixin", "client.FlintlockAimCrosshairMixin", "client.FlintlockAimFovMixin", diff --git a/src/main/templates/META-INF/neoforge.mods.toml b/src/main/templates/META-INF/neoforge.mods.toml index b617c40..7654a5e 100644 --- a/src/main/templates/META-INF/neoforge.mods.toml +++ b/src/main/templates/META-INF/neoforge.mods.toml @@ -1,9 +1,15 @@ # This is an example neoforge.mods.toml file. It contains the data relating to the loading mods. -# There are several mandatory fields (#mandatory), and many more that are optional (#optional). +# It contains several mandatory fields (#mandatory), and many more that are optional (#optional). # The overall format is standard TOML format, v0.5.0. # Note that there are a couple of TOML lists in this file. # Find more information on toml format here: https://github.com/toml-lang/toml +# The loader mod type. Mandatory in NeoForge 21.1 (optional in newer versions). +modLoader="javafml" #mandatory + +# The loader version range. Mandatory in NeoForge 21.1. +loaderVersion="[4,)" #mandatory + # The license for you mod. This is mandatory metadata and allows for easier comprehension of your redistributive properties. # Review your options at https://choosealicense.com/. All rights reserved is the default copyright stance, and is thus the default here. license="${mod_license}" From 8c6b7915b0a9fdfaa5ebf7a8c6a4e646f05d7475 Mon Sep 17 00:00:00 2001 From: IMpasto Date: Fri, 11 Sep 2026 20:04:25 +0800 Subject: [PATCH 2/2] Update README.md --- README.md | 138 +----------------------------------------------------- 1 file changed, 2 insertions(+), 136 deletions(-) diff --git a/README.md b/README.md index b47f7d7..c6d51bd 100644 --- a/README.md +++ b/README.md @@ -20,140 +20,6 @@ So far, we support Minecraft 1.21.1 and Neoforge 21.1.247 ## 物品移植进度(基岩版 → JE) -对比基准:`_tmp_bedrock_source/DecIslandB/ex_items/`(基岩 536 个)vs `list/items.txt`(JE 注册表,由 runData 生成)。 -最后更新:2026-09-02。剩余 **69** 个未移植。 +1.21.1已完成移植 +neoforge 21.1.247 -注意:双格作物(方块)暂缓;copper/iron_bow 盔甲为基岩废弃内容,不移植。 - -### 剑 ×19 -- [ ] bamboo_yataghan 竹长剑 -- [ ] blue_of_the_sea 海之忧伤 -- [x] decrepit_atlantis 破旧的亚特兰蒂斯 -- [x] dust_destroyer 尘灭者 -- [x] everlasting_winter_sword 永冬长剑 -- [x] ghost_sword 灵魂吸收者 -- [x] growth 生长者 -- [ ] radiate_sword 堕落圣刃 -- [x] scale_sword 鳞之刃 -- [ ] star_sword 迸发之星 -- [ ] storm_giant_sword 风暴巨剑 -- [x] sword_of_deep 黑域 -- [x] sword_of_guard 侍卫之灵 -- [x] sword_of_halloween 万圣之刃 -- [x] the_imperial_sword 尚方宝剑 -- [ ] village_guardian 村庄守卫 -- [x] vortex 旋涡 -- [x] warden_sword 匿潜刃 -- [x] wind_of_shadow 暗影之风 - -### 法杖 ×10 -- [ ] bat_staff 蝙蝠杖 -- [ ] blaze_staff 烈焰法杖 -- [ ] chaos_staff 混沌召唤杖 -- [ ] chicken_staff 小鸡法杖 -- [ ] dust_staff 尘埃召唤杖 -- [ ] ghost_summoner 唤魂者 -- [ ] god_of_sun 太阳神 -- [ ] natural_spear 自然之矛 -- [ ] radiate_spreader 堕落之神 -- [ ] spider_staff 蜘蛛法杖 - -### 破坏神杖 ×2 -- [ ] destroy_staff 破坏神杖 -- [ ] god_of_destroy 破坏之神 - -### 图腾 ×4 -- [ ] energy_totem 能量图腾 -- [ ] fire_totem 火焰图腾 -- [ ] gingerbread_totem 姜饼图腾 -- [ ] ocean_totem 海洋图腾 - -### 枪械 ×3 + 弹药 ×2 -- [ ] bomber 轰炸者 -- [ ] catapult 弹弓 -- [ ] echo_of_deep 深渊回影 -- [ ] bomber_bullet 轰炸弹 -- [ ] exploding_pellets 爆炸弹丸 - -### 投掷杂项 ×6 -- [ ] dragon_fireball_by_player 龙息弹 -- [ ] grapeshot_frozen_ball 霰弹冰霜魔法球 -- [ ] leaves_knife 绿叶飞刀 -- [ ] levitation_cloud 悬浮云 -- [ ] poison_bag 毒囊 -- [ ] soul_fireball 灵魂烈焰弹 - -### 导航/载具 ×10 -- [ ] fire_heart 烈火之心 -- [ ] ghost_dirt_wall 鬼魂土墙 -- [ ] hook_rope 钩锁 -- [ ] ice_hook_rope 极寒钩锁 -- [ ] levitation_dirt_wall 飘浮土墙 -- [ ] magic_scroll_blue 蓝魔法卷轴 -- [ ] paraffin_bucket 煤油桶 -- [ ] scarecrow 稻草人 -- [ ] simple_car 简单小车(骑乘实体,工程量大) -- [ ] simple_glider 简单滑翔机(骑乘实体,工程量大) - -### 装饰 ×8 -- [ ] christmas_gift 圣诞礼物 -- [ ] christmas_sock 圣诞袜 -- [ ] drift_bottle 漂流瓶 -- [ ] golden_fence 流金栅栏 -- [ ] magic_mask_bag 魔法面具袋 -- [ ] patterned_vase_red 红色纹饰花瓶 -- [ ] red_bag 红包 -- [ ] unknow_book 未知的书 - -### 零散 ×7 -- [ ] angel_purification 净化使者(矛) -- [ ] wooden_enchant_book 木制附魔书(魔法书) -- [ ] tear_from_dream 梦境之泪(魔法饰品) -- [ ] blood_meat 血腥肉块(夜间活动物品) -- [ ] everlasting_winter_heart 永冬之心(夜间活动物品) - -## 剑 ×19 移植方案(2026-09-02 侦查完毕) - -### 约定 -- 面板伤害 = 1 + 材质加成 + 参数,对齐基岩 `minecraft:damage`;攻速统一 -2.4(JE 剑标准) -- 技能冷却用 `useCooldown`;`magicpoint` 走 `ManaManager`;基岩事件自伤魔法 1 = 命中扣 1 耐久(WEAPON 组件) -- **材质严格专属**:每把剑单独建 `ModToolMaterial`,不复用已有材质(不可损坏的剑不给耐久) -- **粒子不将就**:未移植的基岩粒子必须先移植,不用现有粒子顶替 -- 村庄守卫做**占位版**:被动(命中给附近村民回血)完整实现;技能(召唤村庄传送门)因 boss/传送门未移植,只做前置检查与提示,不生成传送门,后续补齐 - -### A 批:简单/被动 -| 剑 | 机制 | 要点 | -|---|---|---| -| [x] decrepit_atlantis 破旧的亚特兰蒂斯 | 无技能,不可损坏 | 纯属性,无耐久,伤害 6,附魔 15 | -| [x] sword_of_guard 侍卫之灵 | 右键耗魔 1 → 自身抗性 5s | 耐久 231 / 伤害 6 / 附魔 15,铁修复 | -| [x] sword_of_halloween 万圣之刃 | 命中 1/5 概率召唤南瓜炸弹 | 炸弹:3s 引信、威力 2、带火;耐久 513 / 伤害 5 | -| [x] ghost_sword 灵魂吸收者 | 命中 1/6 概率目标隐身 3s + 粒子 | 耐久 4095 / 伤害 12,复用已有 ghost_sickle 粒子 | -| [x] dust_destroyer 尘灭者 | 右键耗魔 1(需 >1,与基岩一致)→ 前方 3/5 格凋零雾 ×2 | 雾:接触凋零 10s 放大器2(同基岩 json)+ 2 伤害,5s 消散;耐久 2045 / 伤害 14 | -| [x] growth 生长者 | 命中耗魔 4 / 右键耗魔 5 → 生长能量射线 | 复用已有 GrowingEnergyRay;耐久 502 / 伤害 7 | - -### B 批:AOE/增益/蓄力 -| 剑 | 机制 | 要点 | -|---|---|---| -| [x] everlasting_winter_sword 永冬长剑 | 右键耗魔 1 → 半径 2-4 环减速 3s I | 耐久 1712 / 伤害 8 / 附魔 5 | -| [x] sword_of_deep 黑域 | 右键耗魔 4 → 半径 4 全体凋零 10s II | 耐久 1023 / 伤害 13;已移植 deep_range 粒子 | -| [x] vortex 旋涡 | 右键:水中耗魔 7(潮涌 5s + r3 中毒 5s + 溺水伤害 10)/ 陆地耗魔 11(中毒 2s + 伤害 7) | 耐久 832 / 伤害 8;已移植 bubble_vortex 粒子 | -| [x] scale_sword 鳞之刃 | 命中:水中 1/2 概率目标 r3 溺水伤害 10 + 自身潮涌 10s;右键水中耗魔 6 / 陆地耗魔 10 强化版(伤害 12/8) | 耐久 1024 / 伤害 8 | -| [x] warden_sword 匿潜刃 | 长按 1.5s 蓄力:耗魔 20 → 自身失明 10s + 黑暗 30s + 力量 8s + 速度 8s II + 抗性 8s II | 耐久 563 / 伤害 6 / 附魔 7,冷却 15s | -| [x] wind_of_shadow 暗影之风 | 两段:右键耗魔 10 → 隐身 + 加速 3s;续按 3s → 半径 4 魔法伤害 11 | 耐久 524 / 伤害 8,冷却 4s;已移植 ender_spurt/ender_bomb 粒子 | -| [x] the_imperial_sword 尚方宝剑 | 右键计数蓄能:第 8 次耗魔 15 → 力量 5s II + 抗性 2s III + r2-5 定身 1s;第 16 次强化版 | 耐久 564 / 伤害 8 / 附魔 20;已移植 frozen_shield 粒子 | - -### C 批:发射投射物(需新实体) -| 剑 | 投射物 | 要点 | -|---|---|---| -| [ ] blue_of_the_sea 海之忧伤 | HardBubble ×4(伤害 4、无重力、初速 3/1/0.6/0.6) | 耗魔 3,耐久 412 / 伤害 6,冷却 0.7s | -| [ ] storm_giant_sword 风暴巨剑 | StormEnergy ×4(伤害 4 + 击退、初速 0.08-0.3 散射) | 耗魔 3,耐久 533 / 伤害 6,冷却 2s | -| [ ] radiate_sword 堕落圣刃 | RadiateFog(伤害 1 + 中毒 5s III) | 耗魔 2,耐久 1024 / 伤害 10,冷却 0.2s | -| [ ] star_sword 迸发之星 | SpotsBySword ×6(伤害 14 + 点燃、初速 0.2-2.0) | 右键叠计数至 12 发射(4/8 层蓄力特效),耗魔 15;耐久 4096 / 伤害 12 / 附魔 10 | -| [ ] bamboo_yataghan 竹长剑 | 投掷剑本体(伤害 7 + 击退、重力、弹跳、插地) | 需耐久 >7 并消耗 7;耐久 60 / 伤害 6,无附魔 | -| [ ] village_guardian 村庄守卫 | 被动:命中给目标附近 4 格村民回血 10s;技能:占位(抬头+耐久>100+耗魔 20,提示等待传送门内容) | 耐久 513 / 伤害 6,冷却 60s | - -### 待移植粒子清单(剑相关) -`bat_spurt`(A 批)、`deep_range`、`bubble_vortex`、`frozen_shield`、`village_portal_seep`、`ender_bomb`、`ender_spurt`、`bubble_spurt_middle`(B/C 批) - -### 待新建投射物实体 -`PumpkinBomb`、`WitherCloud`(A 批)、`HardBubble`、`StormEnergy`、`RadiateFog`、`SpotsBySword`、`BambooYataghanProjectile`(C 批)