From e745e3c0e212fdbb2ba3ab77e53429dd04a98449 Mon Sep 17 00:00:00 2001 From: Mrbysco Date: Sun, 25 Aug 2024 23:49:01 +0200 Subject: [PATCH] Port part 2 (It compiles) --- build.gradle | 2 +- gradle.properties | 2 +- .../0ce9513b0186cea52ebc929e2f8c8ccda756a973 | 2 +- .../103d9f3f36b01595f1aa5172191e60eff02e6924 | 4 +- .../179674195255ab63c9f5485ba69bb471229f1b08 | 18 +- .../2e50376a258ceefdeaf48c21f919aaa551c1fbe8 | 4 +- .../4c771f18963704254e4ac70d3c4a47862c033e90 | 24 +- .../5087c299c545f231f80b5b2735f6ccd716b4183c | 2 +- .../59eb3dbb5f86130e09b3c62d89b9525ee01cf52d | 254 ++-- .../9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e | 1296 ++++++++--------- .../cd090bff9ca93079474b6df48215a8307e531e73 | 4 +- .../db48a960ede29674471ba728c8a4044887312abf | 2 +- .../e5dec02110ede407c6775959c17b4e417a6be25a | 2 +- .../efe4d838b8fd4e04b2a0e298776dfdfd41c82762 | 4 +- .../en_us/entries/tier_3/camo.json | 4 +- .../resources/data/c/tags/block/ores.json | 5 + .../blocks => c/tags/block}/ores/power.json | 0 .../tags/block}/ores_in_ground/deepslate.json | 0 .../tags/block}/ores_in_ground/stone.json | 0 .../resources/data/c/tags/item/ores.json | 5 + .../items => c/tags/item}/ores/power.json | 0 .../tags/item}/ores_in_ground/deepslate.json | 0 .../tags/item}/ores_in_ground/stone.json | 0 .../building_blocks/force_black_torch.json | 6 +- .../building_blocks/force_blue_torch.json | 6 +- .../recipes/building_blocks/force_brick.json | 6 +- .../building_blocks/force_brick_black.json | 6 +- .../force_brick_black_slab.json | 4 +- ...ick_black_slab_from_force_brick_black.json | 4 +- .../force_brick_black_stairs.json | 4 +- ...k_black_stairs_from_force_brick_black.json | 4 +- .../building_blocks/force_brick_blue.json | 6 +- .../force_brick_blue_slab.json | 4 +- ...brick_blue_slab_from_force_brick_blue.json | 4 +- .../force_brick_blue_stairs.json | 4 +- ...ick_blue_stairs_from_force_brick_blue.json | 4 +- .../building_blocks/force_brick_brown.json | 6 +- .../force_brick_brown_slab.json | 4 +- ...ick_brown_slab_from_force_brick_brown.json | 4 +- .../force_brick_brown_stairs.json | 4 +- ...k_brown_stairs_from_force_brick_brown.json | 4 +- .../building_blocks/force_brick_cyan.json | 6 +- .../force_brick_cyan_slab.json | 4 +- ...brick_cyan_slab_from_force_brick_cyan.json | 4 +- .../force_brick_cyan_stairs.json | 4 +- ...ick_cyan_stairs_from_force_brick_cyan.json | 4 +- .../building_blocks/force_brick_gray.json | 6 +- .../force_brick_gray_slab.json | 4 +- ...brick_gray_slab_from_force_brick_gray.json | 4 +- .../force_brick_gray_stairs.json | 4 +- ...ick_gray_stairs_from_force_brick_gray.json | 4 +- .../building_blocks/force_brick_green.json | 6 +- .../force_brick_green_slab.json | 4 +- ...ick_green_slab_from_force_brick_green.json | 4 +- .../force_brick_green_stairs.json | 4 +- ...k_green_stairs_from_force_brick_green.json | 4 +- .../force_brick_light_blue.json | 6 +- .../force_brick_light_blue_slab.json | 4 +- ...blue_slab_from_force_brick_light_blue.json | 4 +- .../force_brick_light_blue_stairs.json | 4 +- ...ue_stairs_from_force_brick_light_blue.json | 4 +- .../force_brick_light_gray.json | 6 +- .../force_brick_light_gray_slab.json | 4 +- ...gray_slab_from_force_brick_light_gray.json | 4 +- .../force_brick_light_gray_stairs.json | 4 +- ...ay_stairs_from_force_brick_light_gray.json | 4 +- .../building_blocks/force_brick_lime.json | 6 +- .../force_brick_lime_slab.json | 4 +- ...brick_lime_slab_from_force_brick_lime.json | 4 +- .../force_brick_lime_stairs.json | 4 +- ...ick_lime_stairs_from_force_brick_lime.json | 4 +- .../building_blocks/force_brick_magenta.json | 6 +- .../force_brick_magenta_slab.json | 4 +- ...magenta_slab_from_force_brick_magenta.json | 4 +- .../force_brick_magenta_stairs.json | 4 +- ...genta_stairs_from_force_brick_magenta.json | 4 +- .../building_blocks/force_brick_orange.json | 6 +- .../force_brick_orange_slab.json | 4 +- ...k_orange_slab_from_force_brick_orange.json | 4 +- .../force_brick_orange_stairs.json | 4 +- ...orange_stairs_from_force_brick_orange.json | 4 +- .../building_blocks/force_brick_pink.json | 6 +- .../force_brick_pink_slab.json | 4 +- ...brick_pink_slab_from_force_brick_pink.json | 4 +- .../force_brick_pink_stairs.json | 4 +- ...ick_pink_stairs_from_force_brick_pink.json | 4 +- .../building_blocks/force_brick_purple.json | 6 +- .../force_brick_purple_slab.json | 4 +- ...k_purple_slab_from_force_brick_purple.json | 4 +- .../force_brick_purple_stairs.json | 4 +- ...purple_stairs_from_force_brick_purple.json | 4 +- .../building_blocks/force_brick_red.json | 6 +- .../building_blocks/force_brick_red_slab.json | 4 +- ...e_brick_red_slab_from_force_brick_red.json | 4 +- .../force_brick_red_stairs.json | 4 +- ...brick_red_stairs_from_force_brick_red.json | 4 +- .../building_blocks/force_brick_slab.json | 4 +- .../force_brick_slab_from_force_brick.json | 4 +- .../building_blocks/force_brick_stairs.json | 4 +- .../force_brick_stairs_from_force_brick.json | 4 +- .../building_blocks/force_brick_white.json | 6 +- .../force_brick_white_slab.json | 4 +- ...ick_white_slab_from_force_brick_white.json | 4 +- .../force_brick_white_stairs.json | 4 +- ...k_white_stairs_from_force_brick_white.json | 4 +- .../building_blocks/force_brick_yellow.json | 6 +- .../force_brick_yellow_slab.json | 4 +- ...k_yellow_slab_from_force_brick_yellow.json | 4 +- .../force_brick_yellow_stairs.json | 4 +- ...yellow_stairs_from_force_brick_yellow.json | 4 +- .../building_blocks/force_brown_torch.json | 6 +- .../building_blocks/force_cyan_torch.json | 6 +- .../building_blocks/force_gray_torch.json | 6 +- .../building_blocks/force_green_torch.json | 6 +- .../force_light_blue_torch.json | 6 +- .../force_light_gray_torch.json | 6 +- .../building_blocks/force_lime_torch.json | 6 +- .../building_blocks/force_magenta_torch.json | 6 +- .../building_blocks/force_orange_torch.json | 6 +- .../building_blocks/force_pink_torch.json | 6 +- .../building_blocks/force_plank_slab.json | 4 +- .../building_blocks/force_plank_stairs.json | 4 +- .../recipes/building_blocks/force_planks.json | 2 +- .../building_blocks/force_purple_torch.json | 6 +- .../building_blocks/force_red_torch.json | 6 +- .../recipes/building_blocks/force_torch.json | 6 +- .../building_blocks/force_white_torch.json | 6 +- .../recipes/building_blocks/force_wood.json | 4 +- .../recipes/combat/force_bow.json | 4 +- .../recipes/combat/force_sword.json | 4 +- .../food/cooked_bacon_from_smelting.json | 4 +- .../recipes/food/fortune_cookie.json | 8 +- .../recipes/food/snow_cookie.json | 4 +- .../recipes/food/soul_wafer.json | 12 +- .../freezing/bone_from_blaze_rod.json | 4 +- .../freezing/bone_meal_from_blaze_powder.json | 4 +- .../freezing/brick_from_nether_brick.json | 4 +- .../freezing/cobblestone_from_netherrack.json | 4 +- .../freezing/ice_from_water_bottle.json | 4 +- .../freezing/ice_from_water_bucket.json | 4 +- .../freezing/leather_from_rotten_flesh.json | 4 +- .../freezing/obsidian_from_lava_bucket.json | 4 +- .../freezing/sandstone_from_red_sand.json | 4 +- .../freezing/sandstone_from_sand.json | 4 +- .../freezing/snowball_from_slimeball.json | 4 +- .../freezing/stone_bricks_from_stone.json | 4 +- .../freezing/stone_from_cobblestone.json | 4 +- .../grinding/acacia_planks_from_door.json | 4 +- .../grinding/acacia_planks_from_log.json | 4 +- .../acacia_planks_from_pressure_plate.json | 4 +- .../grinding/birch_planks_from_door.json | 4 +- .../grinding/birch_planks_from_log.json | 4 +- .../birch_planks_from_pressure_plate.json | 4 +- .../grinding/blaze_powder_from_blaze_rod.json | 4 +- .../grinding/bone_meal_from_bone.json | 4 +- .../grinding/cherry_planks_from_door.json | 4 +- .../grinding/cherry_planks_from_log.json | 4 +- .../cherry_planks_from_pressure_plate.json | 4 +- .../grinding/cobblestone_from_furnace.json | 4 +- .../cooked_bacon_from_cooked_porkchop.json | 4 +- .../grinding/crimson_planks_from_door.json | 4 +- .../grinding/crimson_planks_from_log.json | 4 +- .../crimson_planks_from_pressure_plate.json | 4 +- .../grinding/dark_oak_planks_from_door.json | 4 +- .../grinding/dark_oak_planks_from_log.json | 4 +- .../dark_oak_planks_from_pressure_plate.json | 4 +- .../grinding/grinding/flint_from_gravel.json | 4 +- .../grinding/force_planks_from_log.json | 4 +- ...ot_from_light_weighted_pressure_plate.json | 4 +- .../grinding/ingots_from_force_furnace.json | 4 +- .../grinding/iron_ingot_from_door.json | 4 +- ...ot_from_heavy_weighted_pressure_plate.json | 4 +- .../grinding/jungle_planks_from_door.json | 4 +- .../grinding/jungle_planks_from_log.json | 4 +- .../jungle_planks_from_pressure_plate.json | 4 +- .../grinding/mangrove_planks_from_door.json | 4 +- .../grinding/mangrove_planks_from_log.json | 4 +- .../mangrove_planks_from_pressure_plate.json | 4 +- .../grinding/oak_planks_from_bookshelf.json | 4 +- .../grinding/oak_planks_from_chest.json | 4 +- .../oak_planks_from_crafting_table.json | 4 +- .../grinding/oak_planks_from_door.json | 4 +- .../grinding/oak_planks_from_log.json | 4 +- .../oak_planks_from_pressure_plate.json | 4 +- .../grinding/grinding/paper_from_book.json | 4 +- .../grinding/raw_bacon_from_porkchop.json | 4 +- .../grinding/sand_from_cobblestone.json | 4 +- .../grinding/sand_from_red_sandstone.json | 4 +- .../grinding/sand_from_sandstone.json | 4 +- .../grinding/spruce_planks_from_door.json | 4 +- .../grinding/spruce_planks_from_log.json | 4 +- .../spruce_planks_from_pressure_plate.json | 4 +- .../grinding/stone_from_pressure_plate.json | 4 +- .../grinding/grinding/string_from_wool.json | 4 +- .../grinding/string_from_wool_carpet.json | 4 +- .../grinding/warped_planks_from_door.json | 4 +- .../grinding/warped_planks_from_log.json | 4 +- .../warped_planks_from_pressure_plate.json | 4 +- .../misc/black_force_furnace_from_dye.json | 6 +- .../misc/blue_force_furnace_from_dye.json | 6 +- .../misc/brown_force_furnace_from_dye.json | 6 +- .../misc/cyan_force_furnace_from_dye.json | 6 +- .../recipes/misc/force_and_you.json | 8 +- .../recipes/misc/force_belt.json | 8 +- .../recipes/misc/force_flask.json | 4 +- .../misc/force_flask_from_entity_flask.json | 2 +- .../recipes/misc/force_furnace_from_dye.json | 4 +- .../recipes/misc/force_gear.json | 2 +- .../recipes/misc/force_ingot_from_gold.json | 4 +- .../recipes/misc/force_ingot_from_iron.json | 4 +- .../misc/force_ingot_from_nuggets.json | 2 +- .../recipes/misc/force_nugget.json | 2 +- .../recipes/misc/force_pack_upgrade.json | 6 +- .../recipes/misc/force_stick.json | 4 +- .../recipes/misc/golden_power_source.json | 2 +- .../misc/gray_force_furnace_from_dye.json | 6 +- .../misc/green_force_furnace_from_dye.json | 6 +- .../gunpowder_from_pile_of_gunpowder.json | 4 +- .../recipes/misc/item_card.json | 10 +- .../recipes/misc/item_card_empty.json | 4 +- .../recipes/misc/item_card_flipped.json | 10 +- .../light_blue_force_furnace_from_dye.json | 6 +- .../light_gray_force_furnace_from_dye.json | 6 +- .../misc/lime_force_furnace_from_dye.json | 6 +- .../misc/magenta_force_furnace_from_dye.json | 6 +- .../recipes/misc/magnet_glove.json | 8 +- .../misc/orange_force_furnace_from_dye.json | 6 +- .../misc/pink_force_furnace_from_dye.json | 6 +- .../misc/purple_force_furnace_from_dye.json | 6 +- .../misc/red_force_furnace_from_dye.json | 6 +- .../recipes/misc/red_potion.json | 8 +- .../misc/slime_ball_from_chu_jelly.json | 2 +- .../recipes/misc/spoils_bag.json | 4 +- .../recipes/misc/spoils_bag_t2.json | 4 +- .../recipes/misc/spoils_bag_t3.json | 4 +- .../recipes/misc/treasure_core.json | 8 +- .../misc/white_force_furnace_from_dye.json | 6 +- .../recipes/redstone/force_engine.json | 10 +- .../recipes/redstone/force_furnace.json | 8 +- .../recipes/tools/baconator.json | 4 +- .../recipes/tools/force_arrow.json | 6 +- .../recipes/tools/force_axe.json | 4 +- .../recipes/tools/force_boots.json | 2 +- .../recipes/tools/force_chest.json | 2 +- .../recipes/tools/force_helmet.json | 2 +- .../recipes/tools/force_legs.json | 2 +- .../recipes/tools/force_mitt.json | 8 +- .../recipes/tools/force_pack.json | 6 +- .../recipes/tools/force_pickaxe.json | 4 +- .../recipes/tools/force_rod.json | 6 +- .../recipes/tools/force_rod_from_stick.json | 6 +- .../recipes/tools/force_shears.json | 2 +- .../recipes/tools/force_shovel.json | 4 +- .../recipes/tools/force_wrench.json | 4 +- .../transmutation/beef_to_porkchop.json | 8 +- .../transmutation/brown_to_red_mushroom.json | 8 +- .../transmutation/chicken_to_beef.json | 8 +- .../cooked_beef_to_porkchop.json | 8 +- .../transmutation/cooked_chicken_to_beef.json | 8 +- .../cooked_mutton_to_chicken.json | 8 +- .../cooked_porkchop_to_mutton.json | 8 +- .../transmutation/dandelion_to_poppy.json | 8 +- .../transmutation/diamond_from_axe.json | 8 +- .../transmutation/diamond_from_boots.json | 8 +- .../diamond_from_chestplate.json | 8 +- .../transmutation/diamond_from_helmet.json | 8 +- .../transmutation/diamond_from_hoe.json | 8 +- .../diamond_from_horse_armor.json | 8 +- .../transmutation/diamond_from_leggings.json | 8 +- .../transmutation/diamond_from_pickaxe.json | 8 +- .../transmutation/diamond_from_shovel.json | 8 +- .../transmutation/diamond_from_sword.json | 8 +- ...experience_bottle_from_enchanted_book.json | 8 +- .../force_brick_from_stone_bricks.json | 8 +- .../force_sapling_from_sapling.json | 6 +- .../fortune_from_fortune_cookie.json | 8 +- .../transmutation/gold_ingot_from_axe.json | 8 +- .../transmutation/gold_ingot_from_boots.json | 8 +- .../gold_ingot_from_chestplate.json | 8 +- .../transmutation/gold_ingot_from_clock.json | 8 +- .../transmutation/gold_ingot_from_helmet.json | 8 +- .../transmutation/gold_ingot_from_hoe.json | 8 +- .../gold_ingot_from_horse_armor.json | 8 +- .../gold_ingot_from_leggings.json | 8 +- .../gold_ingot_from_pickaxe.json | 8 +- .../transmutation/gold_ingot_from_shovel.json | 8 +- .../transmutation/gold_ingot_from_sword.json | 8 +- .../infuser_from_enchanting_table.json | 8 +- .../irom_ingot_from_cauldron.json | 8 +- .../irom_ingot_from_compass.json | 8 +- .../transmutation/iron_ingot_from_anvil.json | 8 +- .../transmutation/iron_ingot_from_axe.json | 8 +- .../transmutation/iron_ingot_from_boots.json | 8 +- .../transmutation/iron_ingot_from_bucket.json | 8 +- .../iron_ingot_from_chainmail_boots.json | 8 +- .../iron_ingot_from_chainmail_chestplate.json | 8 +- .../iron_ingot_from_chainmail_helmet.json | 8 +- .../iron_ingot_from_chainmail_leggings.json | 8 +- .../iron_ingot_from_chestplate.json | 8 +- .../transmutation/iron_ingot_from_door.json | 8 +- .../transmutation/iron_ingot_from_helmet.json | 8 +- .../transmutation/iron_ingot_from_hoe.json | 8 +- .../iron_ingot_from_horse_armor.json | 8 +- .../iron_ingot_from_leggings.json | 8 +- .../iron_ingot_from_minecart.json | 8 +- .../iron_ingot_from_pickaxe.json | 8 +- .../transmutation/iron_ingot_from_shovel.json | 8 +- .../transmutation/iron_ingot_from_sword.json | 8 +- .../transmutation/mutton_to_chicken.json | 8 +- .../transmutation/poppy_to_dandelion.json | 8 +- .../transmutation/porkchop_to_mutton.json | 8 +- .../transmutation/red_to_brown_mushroom.json | 8 +- .../transmutation/stick_from_stone_axe.json | 8 +- .../transmutation/stick_from_stone_hoe.json | 8 +- .../stick_from_stone_pickaxe.json | 8 +- .../stick_from_stone_shovel.json | 8 +- .../transmutation/stick_from_stone_sword.json | 8 +- .../transmutation/stick_from_wooden_axe.json | 8 +- .../transmutation/stick_from_wooden_hoe.json | 8 +- .../stick_from_wooden_pickaxe.json | 8 +- .../stick_from_wooden_shovel.json | 8 +- .../stick_from_wooden_sword.json | 8 +- .../transmutation/string_from_bow.json | 8 +- .../tripwire_hook_from_crossbow.json | 8 +- .../transmutation/upgrade_core.json | 8 +- .../transmutation/upgrade_tome.json | 8 +- .../forcecraft/loot_modifiers/smelting.json | 2 +- .../blocks/black_force_furnace.json | 5 +- .../blocks/blue_force_furnace.json | 5 +- .../blocks/brown_force_furnace.json | 5 +- .../blocks/cyan_force_furnace.json | 5 +- .../blocks/deepslate_power_ore.json | 16 +- .../blocks/force_black_torch.json | 0 .../blocks/force_blue_torch.json | 0 .../blocks/force_brick.json | 0 .../blocks/force_brick_black.json | 0 .../blocks/force_brick_black_slab.json | 0 .../blocks/force_brick_black_stairs.json | 0 .../blocks/force_brick_blue.json | 0 .../blocks/force_brick_blue_slab.json | 0 .../blocks/force_brick_blue_stairs.json | 0 .../blocks/force_brick_brown.json | 0 .../blocks/force_brick_brown_slab.json | 0 .../blocks/force_brick_brown_stairs.json | 0 .../blocks/force_brick_cyan.json | 0 .../blocks/force_brick_cyan_slab.json | 0 .../blocks/force_brick_cyan_stairs.json | 0 .../blocks/force_brick_gray.json | 0 .../blocks/force_brick_gray_slab.json | 0 .../blocks/force_brick_gray_stairs.json | 0 .../blocks/force_brick_green.json | 0 .../blocks/force_brick_green_slab.json | 0 .../blocks/force_brick_green_stairs.json | 0 .../blocks/force_brick_light_blue.json | 0 .../blocks/force_brick_light_blue_slab.json | 0 .../blocks/force_brick_light_blue_stairs.json | 0 .../blocks/force_brick_light_gray.json | 0 .../blocks/force_brick_light_gray_slab.json | 0 .../blocks/force_brick_light_gray_stairs.json | 0 .../blocks/force_brick_lime.json | 0 .../blocks/force_brick_lime_slab.json | 0 .../blocks/force_brick_lime_stairs.json | 0 .../blocks/force_brick_magenta.json | 0 .../blocks/force_brick_magenta_slab.json | 0 .../blocks/force_brick_magenta_stairs.json | 0 .../blocks/force_brick_orange.json | 0 .../blocks/force_brick_orange_slab.json | 0 .../blocks/force_brick_orange_stairs.json | 0 .../blocks/force_brick_pink.json | 0 .../blocks/force_brick_pink_slab.json | 0 .../blocks/force_brick_pink_stairs.json | 0 .../blocks/force_brick_purple.json | 0 .../blocks/force_brick_purple_slab.json | 0 .../blocks/force_brick_purple_stairs.json | 0 .../blocks/force_brick_red.json | 0 .../blocks/force_brick_red_slab.json | 0 .../blocks/force_brick_red_stairs.json | 0 .../blocks/force_brick_slab.json | 0 .../blocks/force_brick_stairs.json | 0 .../blocks/force_brick_white.json | 0 .../blocks/force_brick_white_slab.json | 0 .../blocks/force_brick_white_stairs.json | 0 .../blocks/force_brick_yellow.json | 0 .../blocks/force_brick_yellow_slab.json | 0 .../blocks/force_brick_yellow_stairs.json | 0 .../blocks/force_brown_torch.json | 0 .../blocks/force_cyan_torch.json | 0 .../blocks/force_engine.json | 5 +- .../blocks/force_furnace.json | 5 +- .../blocks/force_gray_torch.json | 0 .../blocks/force_green_torch.json | 0 .../blocks/force_leaves.json | 60 +- .../blocks/force_light_blue_torch.json | 0 .../blocks/force_light_gray_torch.json | 0 .../blocks/force_lime_torch.json | 0 .../blocks/force_log.json | 0 .../blocks/force_magenta_torch.json | 0 .../blocks/force_orange_torch.json | 0 .../blocks/force_pink_torch.json | 0 .../blocks/force_plank_slab.json | 0 .../blocks/force_plank_stairs.json | 0 .../blocks/force_planks.json | 0 .../blocks/force_purple_torch.json | 0 .../blocks/force_red_torch.json | 0 .../blocks/force_sapling.json | 0 .../blocks/force_torch.json | 0 .../blocks/force_white_torch.json | 0 .../blocks/force_wood.json | 0 .../blocks/gray_force_furnace.json | 5 +- .../blocks/green_force_furnace.json | 5 +- .../blocks/infuser.json | 0 .../blocks/light_blue_force_furnace.json | 5 +- .../blocks/light_gray_force_furnace.json | 5 +- .../blocks/lime_force_furnace.json | 5 +- .../blocks/magenta_force_furnace.json | 5 +- .../blocks/orange_force_furnace.json | 5 +- .../blocks/pink_force_furnace.json | 5 +- .../blocks/power_ore.json | 16 +- .../blocks/purple_force_furnace.json | 5 +- .../blocks/red_force_furnace.json | 5 +- .../blocks/time_torch.json | 0 .../blocks/wall_force_black_torch.json | 0 .../blocks/wall_force_blue_torch.json | 0 .../blocks/wall_force_brown_torch.json | 0 .../blocks/wall_force_cyan_torch.json | 0 .../blocks/wall_force_gray_torch.json | 0 .../blocks/wall_force_green_torch.json | 0 .../blocks/wall_force_light_blue_torch.json | 0 .../blocks/wall_force_light_gray_torch.json | 0 .../blocks/wall_force_lime_torch.json | 0 .../blocks/wall_force_magenta_torch.json | 0 .../blocks/wall_force_orange_torch.json | 0 .../blocks/wall_force_pink_torch.json | 0 .../blocks/wall_force_purple_torch.json | 0 .../blocks/wall_force_red_torch.json | 0 .../blocks/wall_force_torch.json | 0 .../blocks/wall_force_white_torch.json | 0 .../blocks/wall_time_torch.json | 0 .../blocks/white_force_furnace.json | 5 +- .../entities/angry_enderman.json | 3 +- .../entities/blue_chu_chu.json | 5 +- .../loot_table/entities/cold_chicken.json | 64 + .../loot_table/entities/cold_cow.json | 73 + .../loot_table/entities/cold_pig.json | 73 + .../entities/creeper_tot.json | 25 +- .../entities/ender_tot.json | 14 +- .../entities/fairy.json | 0 .../entities/gold_chu_chu.json | 5 +- .../entities/green_chu_chu.json | 5 +- .../entities/red_chu_chu.json | 5 +- .../spoils/tier1.json | 6 +- .../spoils/tier2.json | 8 +- .../spoils/tier3.json | 14 +- .../loot_tables/entities/cold_chicken.json | 41 - .../loot_tables/entities/cold_cow.json | 50 - .../loot_tables/entities/cold_pig.json | 50 - .../biome_modifier/add_swamp_chu_chu.json | 2 +- .../{recipes => recipe}/baconator.json | 5 +- .../black_force_furnace_from_dye.json | 5 +- .../blue_force_furnace_from_dye.json | 5 +- .../brown_force_furnace_from_dye.json | 5 +- .../cooked_bacon_from_smelting.json | 5 +- .../cyan_force_furnace_from_dye.json | 5 +- .../{recipes => recipe}/force_and_you.json | 7 +- .../{recipes => recipe}/force_arrow.json | 8 +- .../{recipes => recipe}/force_axe.json | 7 +- .../{recipes => recipe}/force_belt.json | 9 +- .../forcecraft/recipe/force_black_torch.json | 21 + .../{recipes => recipe}/force_blue_torch.json | 4 +- .../{recipes => recipe}/force_boots.json | 5 +- .../{recipes => recipe}/force_bow.json | 9 +- .../{recipes => recipe}/force_brick.json | 2 +- .../force_brick_black.json | 5 +- .../force_brick_black_slab.json | 2 +- ...ick_black_slab_from_force_brick_black.json | 6 +- .../force_brick_black_stairs.json | 2 +- ...k_black_stairs_from_force_brick_black.json | 6 +- .../{recipes => recipe}/force_brick_blue.json | 5 +- .../force_brick_blue_slab.json | 2 +- ...brick_blue_slab_from_force_brick_blue.json | 6 +- .../force_brick_blue_stairs.json | 2 +- ...ick_blue_stairs_from_force_brick_blue.json | 6 +- .../force_brick_brown.json | 5 +- .../force_brick_brown_slab.json | 2 +- ...ick_brown_slab_from_force_brick_brown.json | 6 +- .../force_brick_brown_stairs.json | 2 +- ...k_brown_stairs_from_force_brick_brown.json | 6 +- .../{recipes => recipe}/force_brick_cyan.json | 5 +- .../force_brick_cyan_slab.json | 2 +- ...brick_cyan_slab_from_force_brick_cyan.json | 6 +- .../force_brick_cyan_stairs.json | 2 +- ...ick_cyan_stairs_from_force_brick_cyan.json | 6 +- .../{recipes => recipe}/force_brick_gray.json | 5 +- .../force_brick_gray_slab.json | 2 +- ...brick_gray_slab_from_force_brick_gray.json | 6 +- .../force_brick_gray_stairs.json | 2 +- ...ick_gray_stairs_from_force_brick_gray.json | 6 +- .../force_brick_green.json | 5 +- .../force_brick_green_slab.json | 2 +- ...ick_green_slab_from_force_brick_green.json | 6 +- .../force_brick_green_stairs.json | 2 +- ...k_green_stairs_from_force_brick_green.json | 6 +- .../force_brick_light_blue.json | 5 +- .../force_brick_light_blue_slab.json | 2 +- ...blue_slab_from_force_brick_light_blue.json | 6 +- .../force_brick_light_blue_stairs.json | 2 +- ...ue_stairs_from_force_brick_light_blue.json | 6 +- .../force_brick_light_gray.json | 5 +- .../force_brick_light_gray_slab.json | 2 +- ...gray_slab_from_force_brick_light_gray.json | 6 +- .../force_brick_light_gray_stairs.json | 2 +- ...ay_stairs_from_force_brick_light_gray.json | 6 +- .../{recipes => recipe}/force_brick_lime.json | 5 +- .../force_brick_lime_slab.json | 2 +- ...brick_lime_slab_from_force_brick_lime.json | 6 +- .../force_brick_lime_stairs.json | 2 +- ...ick_lime_stairs_from_force_brick_lime.json | 6 +- .../force_brick_magenta.json | 5 +- .../force_brick_magenta_slab.json | 2 +- ...magenta_slab_from_force_brick_magenta.json | 6 +- .../force_brick_magenta_stairs.json | 2 +- ...genta_stairs_from_force_brick_magenta.json | 6 +- .../force_brick_orange.json | 5 +- .../force_brick_orange_slab.json | 2 +- ...k_orange_slab_from_force_brick_orange.json | 6 +- .../force_brick_orange_stairs.json | 2 +- ...orange_stairs_from_force_brick_orange.json | 6 +- .../{recipes => recipe}/force_brick_pink.json | 5 +- .../force_brick_pink_slab.json | 2 +- ...brick_pink_slab_from_force_brick_pink.json | 6 +- .../force_brick_pink_stairs.json | 2 +- ...ick_pink_stairs_from_force_brick_pink.json | 6 +- .../force_brick_purple.json | 5 +- .../force_brick_purple_slab.json | 2 +- ...k_purple_slab_from_force_brick_purple.json | 6 +- .../force_brick_purple_stairs.json | 2 +- ...purple_stairs_from_force_brick_purple.json | 6 +- .../{recipes => recipe}/force_brick_red.json | 5 +- .../force_brick_red_slab.json | 2 +- ...e_brick_red_slab_from_force_brick_red.json | 6 +- .../force_brick_red_stairs.json | 2 +- ...brick_red_stairs_from_force_brick_red.json | 6 +- .../{recipes => recipe}/force_brick_slab.json | 2 +- .../force_brick_slab_from_force_brick.json | 6 +- .../force_brick_stairs.json | 2 +- .../force_brick_stairs_from_force_brick.json | 6 +- .../force_brick_white.json | 5 +- .../force_brick_white_slab.json | 2 +- ...ick_white_slab_from_force_brick_white.json | 6 +- .../force_brick_white_stairs.json | 2 +- ...k_white_stairs_from_force_brick_white.json | 6 +- .../force_brick_yellow.json | 5 +- .../force_brick_yellow_slab.json | 2 +- ...k_yellow_slab_from_force_brick_yellow.json | 6 +- .../force_brick_yellow_stairs.json | 2 +- ...yellow_stairs_from_force_brick_yellow.json | 6 +- .../forcecraft/recipe/force_brown_torch.json | 21 + .../{recipes => recipe}/force_chest.json | 5 +- .../{recipes => recipe}/force_cyan_torch.json | 4 +- .../{recipes => recipe}/force_engine.json | 9 +- .../{recipes => recipe}/force_flask.json | 6 +- .../force_flask_from_entity_flask.json | 3 +- .../{recipes => recipe}/force_furnace.json | 7 +- .../force_furnace_from_dye.json | 5 +- .../{recipes => recipe}/force_gear.json | 5 +- .../{recipes => recipe}/force_gray_torch.json | 4 +- .../forcecraft/recipe/force_green_torch.json | 21 + .../{recipes => recipe}/force_helmet.json | 5 +- .../force_ingot_from_gold.json | 8 +- .../force_ingot_from_iron.json | 8 +- .../force_ingot_from_nuggets.json | 5 +- .../{recipes => recipe}/force_legs.json | 5 +- .../force_light_blue_torch.json} | 4 +- .../force_light_gray_torch.json} | 4 +- .../{recipes => recipe}/force_lime_torch.json | 4 +- .../recipe/force_magenta_torch.json | 21 + .../{recipes => recipe}/force_mitt.json | 11 +- .../{recipes => recipe}/force_nugget.json | 4 +- .../forcecraft/recipe/force_orange_torch.json | 21 + .../{recipes => recipe}/force_pack.json | 7 +- .../force_pack_upgrade.json | 7 +- .../{recipes => recipe}/force_pickaxe.json | 7 +- .../{recipes => recipe}/force_pink_torch.json | 4 +- .../{recipes => recipe}/force_plank_slab.json | 2 +- .../force_plank_stairs.json | 2 +- .../{recipes => recipe}/force_planks.json | 2 +- .../forcecraft/recipe/force_purple_torch.json | 21 + .../{recipes => recipe}/force_red_torch.json | 4 +- .../{recipes => recipe}/force_rod.json | 9 +- .../force_rod_from_stick.json | 11 +- .../{recipes => recipe}/force_shears.json | 5 +- .../{recipes => recipe}/force_shovel.json | 7 +- .../{recipes => recipe}/force_stick.json | 2 +- .../{recipes => recipe}/force_sword.json | 7 +- .../{recipes => recipe}/force_torch.json | 4 +- .../forcecraft/recipe/force_white_torch.json | 21 + .../{recipes => recipe}/force_wood.json | 2 +- .../{recipes => recipe}/force_wrench.json | 5 +- .../{recipes => recipe}/fortune_cookie.json | 3 +- .../freezing/bone_from_blaze_rod.json | 4 +- .../freezing/bone_meal_from_blaze_powder.json | 2 +- .../freezing/brick_from_nether_brick.json | 14 + .../freezing/cobblestone_from_netherrack.json | 4 +- .../freezing/ice_from_water_bottle.json | 34 + .../freezing/ice_from_water_bucket.json | 4 +- .../freezing/leather_from_rotten_flesh.json | 2 +- .../freezing/obsidian_from_lava_bucket.json | 4 +- .../freezing/sandstone_from_red_sand.json | 4 +- .../recipe/freezing/sandstone_from_sand.json | 14 + .../freezing/snowball_from_slimeball.json | 4 +- .../freezing/stone_bricks_from_stone.json | 4 +- .../freezing/stone_from_cobblestone.json | 14 + .../golden_power_source.json | 5 +- .../gray_force_furnace_from_dye.json | 5 +- .../green_force_furnace_from_dye.json | 5 +- .../grinding/acacia_planks_from_door.json | 2 +- .../grinding/acacia_planks_from_log.json | 2 +- .../acacia_planks_from_pressure_plate.json | 2 +- .../grinding/birch_planks_from_door.json | 2 +- .../grinding/birch_planks_from_log.json | 2 +- .../birch_planks_from_pressure_plate.json | 2 +- .../grinding/blaze_powder_from_blaze_rod.json | 4 +- .../grinding/bone_meal_from_bone.json | 4 +- .../grinding/cherry_planks_from_door.json | 2 +- .../grinding/cherry_planks_from_log.json | 2 +- .../cherry_planks_from_pressure_plate.json | 2 +- .../grinding/cobblestone_from_furnace.json | 2 +- .../cooked_bacon_from_cooked_porkchop.json | 2 +- .../grinding/crimson_planks_from_door.json | 2 +- .../grinding/crimson_planks_from_log.json | 2 +- .../crimson_planks_from_pressure_plate.json | 2 +- .../grinding/dark_oak_planks_from_door.json | 2 +- .../grinding/dark_oak_planks_from_log.json | 2 +- .../dark_oak_planks_from_pressure_plate.json | 2 +- .../grinding/flint_from_gravel.json | 4 +- .../grinding/force_planks_from_log.json | 2 +- ...ot_from_light_weighted_pressure_plate.json | 2 +- .../grinding/ingots_from_force_furnace.json | 4 +- .../grinding/iron_ingot_from_door.json | 2 +- ...ot_from_heavy_weighted_pressure_plate.json | 2 +- .../grinding/jungle_planks_from_door.json | 2 +- .../grinding/jungle_planks_from_log.json | 2 +- .../jungle_planks_from_pressure_plate.json | 2 +- .../grinding/mangrove_planks_from_door.json | 2 +- .../grinding/mangrove_planks_from_log.json | 2 +- .../mangrove_planks_from_pressure_plate.json | 2 +- .../grinding/oak_planks_from_bookshelf.json | 6 +- .../grinding/oak_planks_from_chest.json | 4 +- .../oak_planks_from_crafting_table.json | 2 +- .../grinding/oak_planks_from_door.json | 2 +- .../grinding/oak_planks_from_log.json | 2 +- .../oak_planks_from_pressure_plate.json | 2 +- .../grinding/paper_from_book.json | 2 +- .../grinding/raw_bacon_from_porkchop.json | 2 +- .../grinding/sand_from_cobblestone.json | 4 +- .../grinding/sand_from_red_sandstone.json | 2 +- .../grinding/sand_from_sandstone.json | 2 +- .../grinding/spruce_planks_from_door.json | 2 +- .../grinding/spruce_planks_from_log.json | 2 +- .../spruce_planks_from_pressure_plate.json | 2 +- .../grinding/stone_from_pressure_plate.json | 2 +- .../grinding/string_from_wool.json | 2 +- .../grinding/string_from_wool_carpet.json | 2 +- .../grinding/warped_planks_from_door.json | 2 +- .../grinding/warped_planks_from_log.json | 2 +- .../warped_planks_from_pressure_plate.json | 2 +- .../gunpowder_from_pile_of_gunpowder.json | 3 +- .../infuser/convert_freezing.json | 3 +- .../infuser/convert_grinding.json | 3 +- .../infuser/convert_heat.json | 3 +- .../infuser/convert_speed.json | 3 +- .../infuser/convert_time_torch.json | 6 +- .../infuser/convert_xp.json | 3 +- .../infuser/convert_xp_book.json | 3 +- .../infuser/infuse_bane.json | 0 .../infuser/infuse_bleeding.json | 0 .../recipe/infuser/infuse_camo.json | 28 + .../infuser/infuse_damage.json | 0 .../infuser/infuse_ender.json | 0 .../infuser/infuse_fortune.json | 0 .../infuser/infuse_freezing.json | 0 .../infuser/infuse_healing.json | 0 .../infuser/infuse_heat.json | 0 .../infuser/infuse_knockback.json | 2 +- .../infuser/infuse_light.json | 0 .../infuser/infuse_lumberjack.json | 0 .../infuser/infuse_pack_upgrade1.json | 0 .../infuser/infuse_pack_upgrade2.json | 0 .../infuser/infuse_pack_upgrade3.json | 0 .../infuser/infuse_pack_upgrade4.json | 0 .../infuser/infuse_rainbow.json | 0 .../infuser/infuse_silk.json | 0 .../infuser/infuse_speed.json | 0 .../infuser/infuse_sturdy.json | 0 .../infuser/infuse_treasure.json | 0 .../infuser/infuse_wing.json | 0 .../{recipes => recipe}/item_card.json | 9 +- .../{recipes => recipe}/item_card_empty.json | 3 +- .../item_card_flipped.json | 9 +- .../light_blue_force_furnace_from_dye.json | 5 +- .../light_gray_force_furnace_from_dye.json | 5 +- .../lime_force_furnace_from_dye.json | 5 +- .../magenta_force_furnace_from_dye.json | 5 +- .../{recipes => recipe}/magnet_glove.json | 7 +- .../orange_force_furnace_from_dye.json | 5 +- .../pink_force_furnace_from_dye.json | 5 +- .../purple_force_furnace_from_dye.json | 5 +- .../red_force_furnace_from_dye.json | 5 +- .../{recipes => recipe}/red_potion.json | 3 +- .../slime_ball_from_chu_jelly.json | 3 +- .../{recipes => recipe}/snow_cookie.json | 3 +- .../{recipes => recipe}/soul_wafer.json | 9 +- .../{recipes => recipe}/spoils_bag.json | 3 +- .../{recipes => recipe}/spoils_bag_t2.json | 3 +- .../{recipes => recipe}/spoils_bag_t3.json | 3 +- .../transmutation/beef_to_porkchop.json | 3 +- .../transmutation/brown_to_red_mushroom.json | 3 +- .../transmutation/chicken_to_beef.json | 3 +- .../cooked_beef_to_porkchop.json | 3 +- .../transmutation/cooked_chicken_to_beef.json | 3 +- .../cooked_mutton_to_chicken.json | 3 +- .../cooked_porkchop_to_mutton.json | 3 +- .../transmutation/dandelion_to_poppy.json | 3 +- .../transmutation/diamond_from_axe.json | 2 +- .../transmutation/diamond_from_boots.json | 2 +- .../diamond_from_chestplate.json | 2 +- .../transmutation/diamond_from_helmet.json | 2 +- .../transmutation/diamond_from_hoe.json | 2 +- .../diamond_from_horse_armor.json | 2 +- .../transmutation/diamond_from_leggings.json | 2 +- .../transmutation/diamond_from_pickaxe.json | 2 +- .../transmutation/diamond_from_shovel.json | 3 +- .../transmutation/diamond_from_sword.json | 2 +- ...experience_bottle_from_enchanted_book.json | 3 +- .../force_brick_from_stone_bricks.json | 3 +- .../force_sapling_from_sapling.json | 3 +- .../fortune_from_fortune_cookie.json | 3 +- .../transmutation/gold_ingot_from_axe.json | 2 +- .../transmutation/gold_ingot_from_boots.json | 2 +- .../gold_ingot_from_chestplate.json | 2 +- .../transmutation/gold_ingot_from_clock.json | 2 +- .../transmutation/gold_ingot_from_helmet.json | 2 +- .../transmutation/gold_ingot_from_hoe.json | 2 +- .../gold_ingot_from_horse_armor.json | 2 +- .../gold_ingot_from_leggings.json | 2 +- .../gold_ingot_from_pickaxe.json | 2 +- .../transmutation/gold_ingot_from_shovel.json | 3 +- .../transmutation/gold_ingot_from_sword.json | 2 +- .../infuser_from_enchanting_table.json | 3 +- .../irom_ingot_from_cauldron.json | 2 +- .../irom_ingot_from_compass.json | 2 +- .../transmutation/iron_ingot_from_anvil.json | 2 +- .../transmutation/iron_ingot_from_axe.json | 2 +- .../transmutation/iron_ingot_from_boots.json | 2 +- .../transmutation/iron_ingot_from_bucket.json | 2 +- .../iron_ingot_from_chainmail_boots.json | 2 +- .../iron_ingot_from_chainmail_chestplate.json | 2 +- .../iron_ingot_from_chainmail_helmet.json | 2 +- .../iron_ingot_from_chainmail_leggings.json | 2 +- .../iron_ingot_from_chestplate.json | 2 +- .../transmutation/iron_ingot_from_door.json | 2 +- .../transmutation/iron_ingot_from_helmet.json | 2 +- .../transmutation/iron_ingot_from_hoe.json | 2 +- .../iron_ingot_from_horse_armor.json | 2 +- .../iron_ingot_from_leggings.json | 2 +- .../iron_ingot_from_minecart.json | 2 +- .../iron_ingot_from_pickaxe.json | 2 +- .../transmutation/iron_ingot_from_shovel.json | 3 +- .../transmutation/iron_ingot_from_sword.json | 2 +- .../transmutation/mutton_to_chicken.json | 3 +- .../transmutation/poppy_to_dandelion.json | 3 +- .../transmutation/porkchop_to_mutton.json | 3 +- .../transmutation/red_to_brown_mushroom.json | 3 +- .../transmutation/stick_from_stone_axe.json | 3 +- .../transmutation/stick_from_stone_hoe.json | 3 +- .../stick_from_stone_pickaxe.json | 3 +- .../stick_from_stone_shovel.json | 3 +- .../transmutation/stick_from_stone_sword.json | 3 +- .../transmutation/stick_from_wooden_axe.json | 3 +- .../transmutation/stick_from_wooden_hoe.json | 3 +- .../stick_from_wooden_pickaxe.json | 3 +- .../stick_from_wooden_shovel.json | 3 +- .../stick_from_wooden_sword.json | 3 +- .../transmutation/string_from_bow.json | 3 +- .../tripwire_hook_from_crossbow.json | 3 +- .../recipe/transmutation/upgrade_core.json | 29 + .../transmutation/upgrade_tome.json | 3 +- .../{recipes => recipe}/treasure_core.json | 11 +- .../white_force_furnace_from_dye.json | 5 +- .../forcecraft/recipes/force_green_torch.json | 21 - .../recipes/force_light_blue_torch.json | 21 - .../recipes/force_light_gray_torch.json | 21 - .../recipes/force_magenta_torch.json | 21 - .../recipes/force_orange_torch.json | 21 - .../recipes/force_purple_torch.json | 21 - .../forcecraft/recipes/force_white_torch.json | 21 - .../freezing/brick_from_nether_brick.json | 14 - .../freezing/ice_from_water_bottle.json | 20 - .../recipes/freezing/sandstone_from_sand.json | 14 - .../freezing/stone_from_cobblestone.json | 14 - .../recipes/infuser/infuse_camo.json | 14 - .../recipes/transmutation/upgrade_core.json | 16 - .../tags/block/needs_force_tool.json | 5 + .../tags/blocks/needs_force_tool.json | 6 - .../tags/{items => item}/baconator_food.json | 0 .../tags/{items => item}/chu_jelly.json | 0 .../tags/{items => item}/ender.json | 0 .../tags/{items => item}/entity_flasks.json | 0 .../tags/{items => item}/force_furnace.json | 0 .../tags/{items => item}/force_logs.json | 0 .../tags/{items => item}/fortune.json | 0 .../data/forge/tags/blocks/ores.json | 5 - .../resources/data/forge/tags/items/ores.json | 5 - .../cooked_bacon_from_campfire_cooking.json | 4 +- .../food/cooked_bacon_from_smoking.json | 4 +- ...gem_from_blasting_deepslate_power_ore.json | 4 +- .../force_gem_from_blasting_power_ore.json | 4 +- ...gem_from_smelting_deepslate_power_ore.json | 4 +- .../force_gem_from_smelting_power_ore.json | 4 +- .../cooked_bacon_from_campfire_cooking.json | 5 +- .../cooked_bacon_from_smoking.json | 5 +- ...gem_from_blasting_deepslate_power_ore.json | 5 +- .../force_gem_from_blasting_power_ore.json | 5 +- ...gem_from_smelting_deepslate_power_ore.json | 5 +- .../force_gem_from_smelting_power_ore.json | 5 +- .../{blocks => block}/mineable/pickaxe.json | 0 .../{blocks => block}/needs_diamond_tool.json | 0 .../{blocks => block}/needs_iron_tool.json | 0 .../com/mrbysco/forcecraft/ForceCraft.java | 12 +- .../attachment/ForceAttachments.java | 28 - .../ExperienceTomeAttachment.java | 40 - .../experiencetome/IExperienceTome.java | 14 - .../forcerod/ForceRodAttachment.java | 216 --- .../forcerod/IForceRodModifier.java | 59 - .../forcewrench/ForceWrenchAttachment.java | 106 -- .../attachment/forcewrench/IForceWrench.java | 25 - .../forcecraft/attachment/magnet/IMagnet.java | 12 - .../attachment/magnet/MagnetAttachment.java | 60 - .../toolmodifier/IToolModifier.java | 219 --- .../toolmodifier/ToolModifierAttachment.java | 559 ------- .../attachments/ForceAttachments.java | 19 + .../banemodifier/BaneModifierAttachment.java | 7 +- .../banemodifier/IBaneModifier.java | 2 +- .../playermodifier/IPlayerModifier.java | 2 +- .../PlayerModifierAttachment.java | 10 +- .../blockentities/ForceEngineBlockEntity.java | 40 +- .../blockentities/InfuserBlockEntity.java | 410 +++--- .../blockentities/InfuserModifierType.java | 17 +- .../blockentities/TimeTorchBlockEntity.java | 27 +- .../AbstractForceFurnaceBlockEntity.java | 58 +- .../furnace/ForceFurnaceBlockEntity.java | 2 + .../forcecraft/blocks/ForceFluidBlock.java | 17 +- .../forcecraft/blocks/ForceFurnaceBlock.java | 12 +- .../blocks/engine/ForceEngineBlock.java | 16 +- .../blocks/flammable/FlammableStairs.java | 2 +- .../blocks/infuser/InfuserBlock.java | 17 +- .../capability/CapabilityHandler.java | 28 +- .../capability/FluidHandlerWrapper.java | 13 +- .../capability/ItemStackHandlerWrapper.java | 13 +- .../forcecraft/client/ClientHandler.java | 36 +- .../forcecraft/client/KeybindHandler.java | 24 +- .../client/gui/card/ItemCardScreen.java | 2 +- .../client/gui/engine/ForceEngineScreen.java | 4 +- .../gui/pack/RenameAndRecolorScreen.java | 11 +- .../client/renderer/ColdPigRenderer.java | 3 +- .../renderer/layer/CreeperTotChargeLayer.java | 2 +- .../forcecraft/client/util/RenderHelper.java | 20 +- .../forcecraft/command/ForceCommands.java | 8 +- .../forcecraft/command/IForceCommand.java | 16 - .../forcecraft/command/IsHardCommand.java | 46 - .../compat/jei/infuser/InfuserCategory.java | 31 +- .../AbstractMultiOutputCategory.java | 11 +- .../jei/transfer/ItemCardTransferHandler.java | 2 +- .../compat/patchouli/PatchouliCompat.java | 4 +- .../components/ForceComponents.java | 383 +++++ .../components/card/RecipeContentsData.java | 54 + .../components/flask/FlaskContent.java | 29 + .../forcewrench/ForceWrenchData.java | 42 + .../storage/BeltStackHandler.java | 2 +- .../storage/BeltStorage.java | 11 +- .../storage/PackStackHandler.java | 19 +- .../storage/PackStorage.java | 11 +- .../storage/StorageManager.java | 66 +- .../forcecraft/datagen/ForceDataGen.java | 12 +- .../datagen/data/ForceDamageTypeProvider.java | 4 +- .../data/ForceLootModifierProvider.java | 7 +- .../datagen/data/ForceLootProvider.java | 101 +- .../datagen/data/ForceRecipeProvider.java | 84 +- .../data/SpoilsBagLootTableProvider.java | 41 +- .../data/tags/ForceBlockTagProvider.java | 16 +- .../data/tags/ForceItemTagProvider.java | 12 +- .../datagen/patchouli/PatchouliProvider.java | 16 +- .../forcecraft/effects/BleedingEffect.java | 3 +- .../forcecraft/effects/MagnetEffect.java | 5 +- .../entities/AngryEndermanEntity.java | 4 +- .../forcecraft/entities/ChuChuEntity.java | 6 - .../entities/ColdChickenEntity.java | 6 +- .../forcecraft/entities/ColdCowEntity.java | 6 +- .../forcecraft/entities/ColdPigEntity.java | 6 +- .../forcecraft/entities/CreeperTotEntity.java | 59 +- .../forcecraft/entities/EnderTotEntity.java | 12 +- .../forcecraft/entities/FairyEntity.java | 14 +- .../entities/goal/EatGrassToRestoreGoal.java | 4 +- .../entities/projectile/FlaskEntity.java | 9 +- .../entities/projectile/ForceArrowEntity.java | 48 +- .../forcecraft/handlers/BaneHandler.java | 15 +- .../handlers/GrindstoneHandler.java | 64 +- .../forcecraft/handlers/HeartHandler.java | 2 +- .../forcecraft/handlers/LootTableHandler.java | 15 +- .../forcecraft/handlers/LootingHandler.java | 149 +- .../forcecraft/handlers/LumberHandler.java | 33 + .../forcecraft/handlers/PlayerCapHandler.java | 45 +- .../handlers/ToolModifierHandler.java | 50 +- .../forcecraft/handlers/TooltipHandler.java | 92 ++ .../forcecraft/items/BaconatorItem.java | 26 +- .../forcecraft/items/CustomFoodItem.java | 11 +- .../forcecraft/items/ExperienceTomeItem.java | 15 +- .../forcecraft/items/ForceArmorItem.java | 28 +- .../forcecraft/items/ForceBeltItem.java | 28 +- .../items/ForceFluidBucketItem.java | 4 +- .../forcecraft/items/ForcePackItem.java | 40 +- .../mrbysco/forcecraft/items/FortuneItem.java | 16 +- .../forcecraft/items/ItemCardItem.java | 23 +- .../forcecraft/items/SpoilsBagItem.java | 27 +- .../items/flask/EntityFlaskItem.java | 48 +- .../items/flask/FlaskFluidHandler.java | 7 +- .../items/flask/ForceFilledForceFlask.java | 4 +- .../forcecraft/items/flask/MilkFlaskItem.java | 4 +- .../forcecraft/items/flask/RedPotionItem.java | 5 +- .../items/heart/RecoveryHeartItem.java | 2 +- .../items/infuser/ForceToolData.java | 22 +- .../items/infuser/IForceChargingTool.java | 1 - .../items/infuser/UpgradeBookData.java | 225 ++- .../items/infuser/UpgradeTomeItem.java | 25 +- .../nonburnable/NonBurnableItemEntity.java | 6 +- .../items/tools/ForceArrowItem.java | 60 +- .../forcecraft/items/tools/ForceAxeItem.java | 33 +- .../forcecraft/items/tools/ForceBowItem.java | 101 +- .../forcecraft/items/tools/ForceMittItem.java | 54 +- .../items/tools/ForcePickaxeItem.java | 13 +- .../forcecraft/items/tools/ForceRodItem.java | 192 +-- .../items/tools/ForceShearsItem.java | 57 +- .../items/tools/ForceShovelItem.java | 13 +- .../items/tools/ForceSwordItem.java | 26 +- .../items/tools/ForceWrenchItem.java | 67 +- .../items/tools/MagnetGloveItem.java | 33 +- .../lootmodifiers/SmeltingModifier.java | 13 +- .../forcecraft/menu/ForceBeltMenu.java | 7 +- .../forcecraft/menu/ForcePackMenu.java | 23 +- .../mrbysco/forcecraft/menu/ItemCardMenu.java | 18 +- .../furnace/AbstractForceFurnaceMenu.java | 3 +- .../handler/ServerPayloadHandler.java | 23 +- .../networking/message/PackChangePayload.java | 2 +- .../message/RecipeToCardPayload.java | 12 +- .../forcecraft/recipe/FreezingRecipe.java | 37 +- .../forcecraft/recipe/GrindingRecipe.java | 41 +- .../forcecraft/recipe/InfuseRecipe.java | 68 +- .../recipe/MultipleOutputFurnaceRecipe.java | 10 +- .../recipe/ShapedNoRemainderRecipe.java | 63 +- .../recipe/TransmutationRecipe.java | 80 +- .../recipe/condition/ForceConditions.java | 6 +- .../condition/TorchEnabledCondition.java | 8 +- .../forcecraft/registry/ForceComponents.java | 20 - .../registry/ForceRecipeSerializers.java | 21 +- .../forcecraft/registry/ForceRegistry.java | 70 +- .../forcecraft/registry/ForceTables.java | 14 +- .../forcecraft/registry/ForceTags.java | 2 +- .../registry/material/ModArmor.java | 113 +- .../registry/material/ModToolTiers.java | 11 +- .../mrbysco/forcecraft/util/ForceUtils.java | 17 + .../com/mrbysco/forcecraft/util/MobUtil.java | 9 +- 971 files changed, 5069 insertions(+), 6274 deletions(-) create mode 100644 src/generated/resources/data/c/tags/block/ores.json rename src/generated/resources/data/{forge/tags/blocks => c/tags/block}/ores/power.json (100%) rename src/generated/resources/data/{forge/tags/blocks => c/tags/block}/ores_in_ground/deepslate.json (100%) rename src/generated/resources/data/{forge/tags/blocks => c/tags/block}/ores_in_ground/stone.json (100%) create mode 100644 src/generated/resources/data/c/tags/item/ores.json rename src/generated/resources/data/{forge/tags/items => c/tags/item}/ores/power.json (100%) rename src/generated/resources/data/{forge/tags/items => c/tags/item}/ores_in_ground/deepslate.json (100%) rename src/generated/resources/data/{forge/tags/items => c/tags/item}/ores_in_ground/stone.json (100%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_black_torch.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_blue_torch.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick.json (85%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_black.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_black_slab.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_black_slab_from_force_brick_black.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_black_stairs.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_black_stairs_from_force_brick_black.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_blue.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_blue_slab.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_blue_slab_from_force_brick_blue.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_blue_stairs.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_blue_stairs_from_force_brick_blue.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_brown.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_brown_slab.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_brown_slab_from_force_brick_brown.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_brown_stairs.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_brown_stairs_from_force_brick_brown.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_cyan.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_cyan_slab.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_cyan_slab_from_force_brick_cyan.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_cyan_stairs.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_cyan_stairs_from_force_brick_cyan.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_gray.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_gray_slab.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_gray_slab_from_force_brick_gray.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_gray_stairs.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_gray_stairs_from_force_brick_gray.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_green.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_green_slab.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_green_slab_from_force_brick_green.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_green_stairs.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_green_stairs_from_force_brick_green.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_light_blue.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_light_blue_slab.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_light_blue_slab_from_force_brick_light_blue.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_light_blue_stairs.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_light_blue_stairs_from_force_brick_light_blue.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_light_gray.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_light_gray_slab.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_light_gray_slab_from_force_brick_light_gray.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_light_gray_stairs.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_light_gray_stairs_from_force_brick_light_gray.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_lime.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_lime_slab.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_lime_slab_from_force_brick_lime.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_lime_stairs.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_lime_stairs_from_force_brick_lime.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_magenta.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_magenta_slab.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_magenta_slab_from_force_brick_magenta.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_magenta_stairs.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_magenta_stairs_from_force_brick_magenta.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_orange.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_orange_slab.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_orange_slab_from_force_brick_orange.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_orange_stairs.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_orange_stairs_from_force_brick_orange.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_pink.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_pink_slab.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_pink_slab_from_force_brick_pink.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_pink_stairs.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_pink_stairs_from_force_brick_pink.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_purple.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_purple_slab.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_purple_slab_from_force_brick_purple.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_purple_stairs.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_purple_stairs_from_force_brick_purple.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_red.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_red_slab.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_red_slab_from_force_brick_red.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_red_stairs.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_red_stairs_from_force_brick_red.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_slab.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_slab_from_force_brick.json (88%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_stairs.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_stairs_from_force_brick.json (88%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_white.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_white_slab.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_white_slab_from_force_brick_white.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_white_stairs.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_white_stairs_from_force_brick_white.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_yellow.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_yellow_slab.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_yellow_slab_from_force_brick_yellow.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_yellow_stairs.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brick_yellow_stairs_from_force_brick_yellow.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_brown_torch.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_cyan_torch.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_gray_torch.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_green_torch.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_light_blue_torch.json (85%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_light_gray_torch.json (85%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_lime_torch.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_magenta_torch.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_orange_torch.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_pink_torch.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_plank_slab.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_plank_stairs.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_planks.json (92%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_purple_torch.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_red_torch.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_torch.json (85%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_white_torch.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/building_blocks/force_wood.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/combat/force_bow.json (90%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/combat/force_sword.json (90%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/food/cooked_bacon_from_smelting.json (88%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/food/fortune_cookie.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/food/snow_cookie.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/food/soul_wafer.json (82%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/freezing/freezing/bone_from_blaze_rod.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/freezing/freezing/bone_meal_from_blaze_powder.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/freezing/freezing/brick_from_nether_brick.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/freezing/freezing/cobblestone_from_netherrack.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/freezing/freezing/ice_from_water_bottle.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/freezing/freezing/ice_from_water_bucket.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/freezing/freezing/leather_from_rotten_flesh.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/freezing/freezing/obsidian_from_lava_bucket.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/freezing/freezing/sandstone_from_red_sand.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/freezing/freezing/sandstone_from_sand.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/freezing/freezing/snowball_from_slimeball.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/freezing/freezing/stone_bricks_from_stone.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/freezing/freezing/stone_from_cobblestone.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/grinding/grinding/acacia_planks_from_door.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/grinding/grinding/acacia_planks_from_log.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/grinding/grinding/acacia_planks_from_pressure_plate.json (88%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/grinding/grinding/birch_planks_from_door.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/grinding/grinding/birch_planks_from_log.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/grinding/grinding/birch_planks_from_pressure_plate.json (88%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/grinding/grinding/blaze_powder_from_blaze_rod.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/grinding/grinding/bone_meal_from_bone.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/grinding/grinding/cherry_planks_from_door.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/grinding/grinding/cherry_planks_from_log.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/grinding/grinding/cherry_planks_from_pressure_plate.json (88%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/grinding/grinding/cobblestone_from_furnace.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/grinding/grinding/cooked_bacon_from_cooked_porkchop.json (88%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/grinding/grinding/crimson_planks_from_door.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/grinding/grinding/crimson_planks_from_log.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/grinding/grinding/crimson_planks_from_pressure_plate.json (88%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/grinding/grinding/dark_oak_planks_from_door.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/grinding/grinding/dark_oak_planks_from_log.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/grinding/grinding/dark_oak_planks_from_pressure_plate.json (88%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/grinding/grinding/flint_from_gravel.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/grinding/grinding/force_planks_from_log.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/grinding/grinding/gold_ingot_from_light_weighted_pressure_plate.json (88%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/grinding/grinding/ingots_from_force_furnace.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/grinding/grinding/iron_ingot_from_door.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/grinding/grinding/iron_ingot_from_heavy_weighted_pressure_plate.json (88%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/grinding/grinding/jungle_planks_from_door.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/grinding/grinding/jungle_planks_from_log.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/grinding/grinding/jungle_planks_from_pressure_plate.json (88%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/grinding/grinding/mangrove_planks_from_door.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/grinding/grinding/mangrove_planks_from_log.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/grinding/grinding/mangrove_planks_from_pressure_plate.json (88%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/grinding/grinding/oak_planks_from_bookshelf.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/grinding/grinding/oak_planks_from_chest.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/grinding/grinding/oak_planks_from_crafting_table.json (88%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/grinding/grinding/oak_planks_from_door.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/grinding/grinding/oak_planks_from_log.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/grinding/grinding/oak_planks_from_pressure_plate.json (88%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/grinding/grinding/paper_from_book.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/grinding/grinding/raw_bacon_from_porkchop.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/grinding/grinding/sand_from_cobblestone.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/grinding/grinding/sand_from_red_sandstone.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/grinding/grinding/sand_from_sandstone.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/grinding/grinding/spruce_planks_from_door.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/grinding/grinding/spruce_planks_from_log.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/grinding/grinding/spruce_planks_from_pressure_plate.json (88%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/grinding/grinding/stone_from_pressure_plate.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/grinding/grinding/string_from_wool.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/grinding/grinding/string_from_wool_carpet.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/grinding/grinding/warped_planks_from_door.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/grinding/grinding/warped_planks_from_log.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/grinding/grinding/warped_planks_from_pressure_plate.json (88%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/misc/black_force_furnace_from_dye.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/misc/blue_force_furnace_from_dye.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/misc/brown_force_furnace_from_dye.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/misc/cyan_force_furnace_from_dye.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/misc/force_and_you.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/misc/force_belt.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/misc/force_flask.json (89%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/misc/force_flask_from_entity_flask.json (92%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/misc/force_furnace_from_dye.json (89%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/misc/force_gear.json (92%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/misc/force_ingot_from_gold.json (90%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/misc/force_ingot_from_iron.json (90%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/misc/force_ingot_from_nuggets.json (93%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/misc/force_nugget.json (93%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/misc/force_pack_upgrade.json (88%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/misc/force_stick.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/misc/golden_power_source.json (92%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/misc/gray_force_furnace_from_dye.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/misc/green_force_furnace_from_dye.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/misc/gunpowder_from_pile_of_gunpowder.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/misc/item_card.json (85%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/misc/item_card_empty.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/misc/item_card_flipped.json (85%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/misc/light_blue_force_furnace_from_dye.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/misc/light_gray_force_furnace_from_dye.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/misc/lime_force_furnace_from_dye.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/misc/magenta_force_furnace_from_dye.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/misc/magnet_glove.json (85%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/misc/orange_force_furnace_from_dye.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/misc/pink_force_furnace_from_dye.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/misc/purple_force_furnace_from_dye.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/misc/red_force_furnace_from_dye.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/misc/red_potion.json (81%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/misc/slime_ball_from_chu_jelly.json (92%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/misc/spoils_bag.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/misc/spoils_bag_t2.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/misc/spoils_bag_t3.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/misc/treasure_core.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/misc/white_force_furnace_from_dye.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/redstone/force_engine.json (85%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/redstone/force_furnace.json (85%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/tools/baconator.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/tools/force_arrow.json (88%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/tools/force_axe.json (90%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/tools/force_boots.json (93%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/tools/force_chest.json (93%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/tools/force_helmet.json (93%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/tools/force_legs.json (92%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/tools/force_mitt.json (87%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/tools/force_pack.json (88%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/tools/force_pickaxe.json (90%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/tools/force_rod.json (88%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/tools/force_rod_from_stick.json (88%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/tools/force_shears.json (93%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/tools/force_shovel.json (90%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/tools/force_wrench.json (90%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/beef_to_porkchop.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/brown_to_red_mushroom.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/chicken_to_beef.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/cooked_beef_to_porkchop.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/cooked_chicken_to_beef.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/cooked_mutton_to_chicken.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/cooked_porkchop_to_mutton.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/dandelion_to_poppy.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/diamond_from_axe.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/diamond_from_boots.json (82%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/diamond_from_chestplate.json (82%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/diamond_from_helmet.json (82%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/diamond_from_hoe.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/diamond_from_horse_armor.json (82%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/diamond_from_leggings.json (82%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/diamond_from_pickaxe.json (82%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/diamond_from_shovel.json (82%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/diamond_from_sword.json (82%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/experience_bottle_from_enchanted_book.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/force_brick_from_stone_bricks.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/force_sapling_from_sapling.json (86%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/fortune_from_fortune_cookie.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/gold_ingot_from_axe.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/gold_ingot_from_boots.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/gold_ingot_from_chestplate.json (82%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/gold_ingot_from_clock.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/gold_ingot_from_helmet.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/gold_ingot_from_hoe.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/gold_ingot_from_horse_armor.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/gold_ingot_from_leggings.json (82%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/gold_ingot_from_pickaxe.json (82%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/gold_ingot_from_shovel.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/gold_ingot_from_sword.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/infuser_from_enchanting_table.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/irom_ingot_from_cauldron.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/irom_ingot_from_compass.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/iron_ingot_from_anvil.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/iron_ingot_from_axe.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/iron_ingot_from_boots.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/iron_ingot_from_bucket.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/iron_ingot_from_chainmail_boots.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/iron_ingot_from_chainmail_chestplate.json (82%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/iron_ingot_from_chainmail_helmet.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/iron_ingot_from_chainmail_leggings.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/iron_ingot_from_chestplate.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/iron_ingot_from_door.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/iron_ingot_from_helmet.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/iron_ingot_from_hoe.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/iron_ingot_from_horse_armor.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/iron_ingot_from_leggings.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/iron_ingot_from_minecart.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/iron_ingot_from_pickaxe.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/iron_ingot_from_shovel.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/iron_ingot_from_sword.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/mutton_to_chicken.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/poppy_to_dandelion.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/porkchop_to_mutton.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/red_to_brown_mushroom.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/stick_from_stone_axe.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/stick_from_stone_hoe.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/stick_from_stone_pickaxe.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/stick_from_stone_shovel.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/stick_from_stone_sword.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/stick_from_wooden_axe.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/stick_from_wooden_hoe.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/stick_from_wooden_pickaxe.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/stick_from_wooden_shovel.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/stick_from_wooden_sword.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/string_from_bow.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/tripwire_hook_from_crossbow.json (83%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/upgrade_core.json (82%) rename src/generated/resources/data/forcecraft/{advancements => advancement}/recipes/transmutation/transmutation/upgrade_tome.json (83%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/black_force_furnace.json (78%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/blue_force_furnace.json (78%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/brown_force_furnace.json (78%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/cyan_force_furnace.json (78%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/deepslate_power_ore.json (81%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_black_torch.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_blue_torch.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_brick.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_brick_black.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_brick_black_slab.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_brick_black_stairs.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_brick_blue.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_brick_blue_slab.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_brick_blue_stairs.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_brick_brown.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_brick_brown_slab.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_brick_brown_stairs.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_brick_cyan.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_brick_cyan_slab.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_brick_cyan_stairs.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_brick_gray.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_brick_gray_slab.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_brick_gray_stairs.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_brick_green.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_brick_green_slab.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_brick_green_stairs.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_brick_light_blue.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_brick_light_blue_slab.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_brick_light_blue_stairs.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_brick_light_gray.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_brick_light_gray_slab.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_brick_light_gray_stairs.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_brick_lime.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_brick_lime_slab.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_brick_lime_stairs.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_brick_magenta.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_brick_magenta_slab.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_brick_magenta_stairs.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_brick_orange.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_brick_orange_slab.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_brick_orange_stairs.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_brick_pink.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_brick_pink_slab.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_brick_pink_stairs.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_brick_purple.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_brick_purple_slab.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_brick_purple_stairs.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_brick_red.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_brick_red_slab.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_brick_red_stairs.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_brick_slab.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_brick_stairs.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_brick_white.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_brick_white_slab.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_brick_white_stairs.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_brick_yellow.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_brick_yellow_slab.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_brick_yellow_stairs.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_brown_torch.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_cyan_torch.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_engine.json (78%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_furnace.json (78%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_gray_torch.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_green_torch.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_leaves.json (78%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_light_blue_torch.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_light_gray_torch.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_lime_torch.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_log.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_magenta_torch.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_orange_torch.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_pink_torch.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_plank_slab.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_plank_stairs.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_planks.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_purple_torch.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_red_torch.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_sapling.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_torch.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_white_torch.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/force_wood.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/gray_force_furnace.json (78%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/green_force_furnace.json (78%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/infuser.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/light_blue_force_furnace.json (79%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/light_gray_force_furnace.json (79%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/lime_force_furnace.json (78%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/magenta_force_furnace.json (78%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/orange_force_furnace.json (78%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/pink_force_furnace.json (78%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/power_ore.json (81%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/purple_force_furnace.json (78%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/red_force_furnace.json (78%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/time_torch.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/wall_force_black_torch.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/wall_force_blue_torch.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/wall_force_brown_torch.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/wall_force_cyan_torch.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/wall_force_gray_torch.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/wall_force_green_torch.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/wall_force_light_blue_torch.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/wall_force_light_gray_torch.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/wall_force_lime_torch.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/wall_force_magenta_torch.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/wall_force_orange_torch.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/wall_force_pink_torch.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/wall_force_purple_torch.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/wall_force_red_torch.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/wall_force_torch.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/wall_force_white_torch.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/wall_time_torch.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/blocks/white_force_furnace.json (78%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/entities/angry_enderman.json (87%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/entities/blue_chu_chu.json (92%) create mode 100644 src/generated/resources/data/forcecraft/loot_table/entities/cold_chicken.json create mode 100644 src/generated/resources/data/forcecraft/loot_table/entities/cold_cow.json create mode 100644 src/generated/resources/data/forcecraft/loot_table/entities/cold_pig.json rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/entities/creeper_tot.json (63%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/entities/ender_tot.json (70%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/entities/fairy.json (100%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/entities/gold_chu_chu.json (92%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/entities/green_chu_chu.json (92%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/entities/red_chu_chu.json (92%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/spoils/tier1.json (94%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/spoils/tier2.json (93%) rename src/generated/resources/data/forcecraft/{loot_tables => loot_table}/spoils/tier3.json (89%) delete mode 100644 src/generated/resources/data/forcecraft/loot_tables/entities/cold_chicken.json delete mode 100644 src/generated/resources/data/forcecraft/loot_tables/entities/cold_cow.json delete mode 100644 src/generated/resources/data/forcecraft/loot_tables/entities/cold_pig.json rename src/generated/resources/data/forcecraft/{recipes => recipe}/baconator.json (78%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/black_force_furnace_from_dye.json (66%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/blue_force_furnace_from_dye.json (67%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/brown_force_furnace_from_dye.json (66%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/cooked_bacon_from_smelting.json (69%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/cyan_force_furnace_from_dye.json (67%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_and_you.json (61%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_arrow.json (61%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_axe.json (63%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_belt.json (65%) create mode 100644 src/generated/resources/data/forcecraft/recipe/force_black_torch.json rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_blue_torch.json (76%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_boots.json (66%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_bow.json (60%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick.json (88%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_black.json (67%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_black_slab.json (81%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_black_slab_from_force_brick_black.json (56%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_black_stairs.json (82%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_black_stairs_from_force_brick_black.json (56%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_blue.json (68%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_blue_slab.json (81%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_blue_slab_from_force_brick_blue.json (56%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_blue_stairs.json (82%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_blue_stairs_from_force_brick_blue.json (56%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_brown.json (67%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_brown_slab.json (81%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_brown_slab_from_force_brick_brown.json (56%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_brown_stairs.json (82%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_brown_stairs_from_force_brick_brown.json (56%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_cyan.json (68%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_cyan_slab.json (81%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_cyan_slab_from_force_brick_cyan.json (56%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_cyan_stairs.json (82%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_cyan_stairs_from_force_brick_cyan.json (56%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_gray.json (68%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_gray_slab.json (81%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_gray_slab_from_force_brick_gray.json (56%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_gray_stairs.json (82%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_gray_stairs_from_force_brick_gray.json (56%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_green.json (67%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_green_slab.json (81%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_green_slab_from_force_brick_green.json (56%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_green_stairs.json (82%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_green_stairs_from_force_brick_green.json (56%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_light_blue.json (65%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_light_blue_slab.json (80%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_light_blue_slab_from_force_brick_light_blue.json (56%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_light_blue_stairs.json (81%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_light_blue_stairs_from_force_brick_light_blue.json (55%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_light_gray.json (65%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_light_gray_slab.json (80%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_light_gray_slab_from_force_brick_light_gray.json (56%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_light_gray_stairs.json (81%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_light_gray_stairs_from_force_brick_light_gray.json (55%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_lime.json (68%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_lime_slab.json (81%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_lime_slab_from_force_brick_lime.json (56%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_lime_stairs.json (82%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_lime_stairs_from_force_brick_lime.json (56%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_magenta.json (66%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_magenta_slab.json (80%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_magenta_slab_from_force_brick_magenta.json (56%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_magenta_stairs.json (81%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_magenta_stairs_from_force_brick_magenta.json (56%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_orange.json (67%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_orange_slab.json (81%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_orange_slab_from_force_brick_orange.json (56%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_orange_stairs.json (82%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_orange_stairs_from_force_brick_orange.json (56%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_pink.json (68%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_pink_slab.json (81%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_pink_slab_from_force_brick_pink.json (56%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_pink_stairs.json (82%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_pink_stairs_from_force_brick_pink.json (56%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_purple.json (67%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_purple_slab.json (81%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_purple_slab_from_force_brick_purple.json (56%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_purple_stairs.json (82%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_purple_stairs_from_force_brick_purple.json (56%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_red.json (68%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_red_slab.json (81%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_red_slab_from_force_brick_red.json (56%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_red_stairs.json (82%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_red_stairs_from_force_brick_red.json (56%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_slab.json (82%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_slab_from_force_brick.json (57%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_stairs.json (83%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_stairs_from_force_brick.json (56%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_white.json (67%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_white_slab.json (81%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_white_slab_from_force_brick_white.json (56%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_white_stairs.json (82%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_white_stairs_from_force_brick_white.json (56%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_yellow.json (67%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_yellow_slab.json (81%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_yellow_slab_from_force_brick_yellow.json (56%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_yellow_stairs.json (82%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_brick_yellow_stairs_from_force_brick_yellow.json (56%) create mode 100644 src/generated/resources/data/forcecraft/recipe/force_brown_torch.json rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_chest.json (67%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_cyan_torch.json (76%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_engine.json (64%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_flask.json (67%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_flask_from_entity_flask.json (78%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_furnace.json (68%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_furnace_from_dye.json (67%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_gear.json (67%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_gray_torch.json (76%) create mode 100644 src/generated/resources/data/forcecraft/recipe/force_green_torch.json rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_helmet.json (66%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_ingot_from_gold.json (54%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_ingot_from_iron.json (54%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_ingot_from_nuggets.json (67%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_legs.json (68%) rename src/generated/resources/data/forcecraft/{recipes/force_brown_torch.json => recipe/force_light_blue_torch.json} (75%) rename src/generated/resources/data/forcecraft/{recipes/force_black_torch.json => recipe/force_light_gray_torch.json} (75%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_lime_torch.json (76%) create mode 100644 src/generated/resources/data/forcecraft/recipe/force_magenta_torch.json rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_mitt.json (56%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_nugget.json (65%) create mode 100644 src/generated/resources/data/forcecraft/recipe/force_orange_torch.json rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_pack.json (69%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_pack_upgrade.json (67%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_pickaxe.json (63%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_pink_torch.json (76%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_plank_slab.json (82%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_plank_stairs.json (83%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_planks.json (82%) create mode 100644 src/generated/resources/data/forcecraft/recipe/force_purple_torch.json rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_red_torch.json (77%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_rod.json (60%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_rod_from_stick.json (59%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_shears.json (65%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_shovel.json (62%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_stick.json (85%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_sword.json (62%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_torch.json (77%) create mode 100644 src/generated/resources/data/forcecraft/recipe/force_white_torch.json rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_wood.json (85%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/force_wrench.json (73%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/fortune_cookie.json (78%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/freezing/bone_from_blaze_rod.json (70%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/freezing/bone_meal_from_blaze_powder.json (83%) create mode 100644 src/generated/resources/data/forcecraft/recipe/freezing/brick_from_nether_brick.json rename src/generated/resources/data/forcecraft/{recipes => recipe}/freezing/cobblestone_from_netherrack.json (68%) create mode 100644 src/generated/resources/data/forcecraft/recipe/freezing/ice_from_water_bottle.json rename src/generated/resources/data/forcecraft/{recipes => recipe}/freezing/ice_from_water_bucket.json (74%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/freezing/leather_from_rotten_flesh.json (84%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/freezing/obsidian_from_lava_bucket.json (75%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/freezing/sandstone_from_red_sand.json (68%) create mode 100644 src/generated/resources/data/forcecraft/recipe/freezing/sandstone_from_sand.json rename src/generated/resources/data/forcecraft/{recipes => recipe}/freezing/snowball_from_slimeball.json (69%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/freezing/stone_bricks_from_stone.json (69%) create mode 100644 src/generated/resources/data/forcecraft/recipe/freezing/stone_from_cobblestone.json rename src/generated/resources/data/forcecraft/{recipes => recipe}/golden_power_source.json (67%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/gray_force_furnace_from_dye.json (67%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/green_force_furnace_from_dye.json (66%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/grinding/acacia_planks_from_door.json (83%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/grinding/acacia_planks_from_log.json (83%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/grinding/acacia_planks_from_pressure_plate.json (84%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/grinding/birch_planks_from_door.json (83%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/grinding/birch_planks_from_log.json (83%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/grinding/birch_planks_from_pressure_plate.json (84%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/grinding/blaze_powder_from_blaze_rod.json (71%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/grinding/bone_meal_from_bone.json (73%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/grinding/cherry_planks_from_door.json (83%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/grinding/cherry_planks_from_log.json (83%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/grinding/cherry_planks_from_pressure_plate.json (84%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/grinding/cobblestone_from_furnace.json (83%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/grinding/cooked_bacon_from_cooked_porkchop.json (83%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/grinding/crimson_planks_from_door.json (83%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/grinding/crimson_planks_from_log.json (83%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/grinding/crimson_planks_from_pressure_plate.json (83%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/grinding/dark_oak_planks_from_door.json (83%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/grinding/dark_oak_planks_from_log.json (82%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/grinding/dark_oak_planks_from_pressure_plate.json (83%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/grinding/flint_from_gravel.json (74%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/grinding/force_planks_from_log.json (83%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/grinding/gold_ingot_from_light_weighted_pressure_plate.json (85%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/grinding/ingots_from_force_furnace.json (75%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/grinding/iron_ingot_from_door.json (84%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/grinding/iron_ingot_from_heavy_weighted_pressure_plate.json (85%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/grinding/jungle_planks_from_door.json (83%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/grinding/jungle_planks_from_log.json (83%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/grinding/jungle_planks_from_pressure_plate.json (84%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/grinding/mangrove_planks_from_door.json (83%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/grinding/mangrove_planks_from_log.json (82%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/grinding/mangrove_planks_from_pressure_plate.json (83%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/grinding/oak_planks_from_bookshelf.json (66%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/grinding/oak_planks_from_chest.json (71%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/grinding/oak_planks_from_crafting_table.json (84%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/grinding/oak_planks_from_door.json (84%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/grinding/oak_planks_from_log.json (84%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/grinding/oak_planks_from_pressure_plate.json (84%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/grinding/paper_from_book.json (85%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/grinding/raw_bacon_from_porkchop.json (84%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/grinding/sand_from_cobblestone.json (69%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/grinding/sand_from_red_sandstone.json (85%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/grinding/sand_from_sandstone.json (86%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/grinding/spruce_planks_from_door.json (83%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/grinding/spruce_planks_from_log.json (83%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/grinding/spruce_planks_from_pressure_plate.json (84%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/grinding/stone_from_pressure_plate.json (86%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/grinding/string_from_wool.json (82%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/grinding/string_from_wool_carpet.json (83%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/grinding/warped_planks_from_door.json (83%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/grinding/warped_planks_from_log.json (83%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/grinding/warped_planks_from_pressure_plate.json (84%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/gunpowder_from_pile_of_gunpowder.json (80%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/infuser/convert_freezing.json (80%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/infuser/convert_grinding.json (80%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/infuser/convert_heat.json (82%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/infuser/convert_speed.json (81%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/infuser/convert_time_torch.json (71%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/infuser/convert_xp.json (80%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/infuser/convert_xp_book.json (79%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/infuser/infuse_bane.json (100%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/infuser/infuse_bleeding.json (100%) create mode 100644 src/generated/resources/data/forcecraft/recipe/infuser/infuse_camo.json rename src/generated/resources/data/forcecraft/{recipes => recipe}/infuser/infuse_damage.json (100%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/infuser/infuse_ender.json (100%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/infuser/infuse_fortune.json (100%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/infuser/infuse_freezing.json (100%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/infuser/infuse_healing.json (100%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/infuser/infuse_heat.json (100%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/infuser/infuse_knockback.json (84%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/infuser/infuse_light.json (100%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/infuser/infuse_lumberjack.json (100%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/infuser/infuse_pack_upgrade1.json (100%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/infuser/infuse_pack_upgrade2.json (100%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/infuser/infuse_pack_upgrade3.json (100%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/infuser/infuse_pack_upgrade4.json (100%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/infuser/infuse_rainbow.json (100%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/infuser/infuse_silk.json (100%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/infuser/infuse_speed.json (100%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/infuser/infuse_sturdy.json (100%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/infuser/infuse_treasure.json (100%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/infuser/infuse_wing.json (100%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/item_card.json (65%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/item_card_empty.json (79%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/item_card_flipped.json (65%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/light_blue_force_furnace_from_dye.json (64%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/light_gray_force_furnace_from_dye.json (64%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/lime_force_furnace_from_dye.json (67%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/magenta_force_furnace_from_dye.json (65%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/magnet_glove.json (67%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/orange_force_furnace_from_dye.json (66%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/pink_force_furnace_from_dye.json (67%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/purple_force_furnace_from_dye.json (66%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/red_force_furnace_from_dye.json (67%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/red_potion.json (84%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/slime_ball_from_chu_jelly.json (76%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/snow_cookie.json (75%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/soul_wafer.json (70%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/spoils_bag.json (79%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/spoils_bag_t2.json (78%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/spoils_bag_t3.json (78%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/beef_to_porkchop.json (78%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/brown_to_red_mushroom.json (78%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/chicken_to_beef.json (80%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/cooked_beef_to_porkchop.json (77%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/cooked_chicken_to_beef.json (78%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/cooked_mutton_to_chicken.json (77%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/cooked_porkchop_to_mutton.json (78%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/dandelion_to_poppy.json (80%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/diamond_from_axe.json (86%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/diamond_from_boots.json (86%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/diamond_from_chestplate.json (86%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/diamond_from_helmet.json (86%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/diamond_from_hoe.json (86%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/diamond_from_horse_armor.json (86%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/diamond_from_leggings.json (86%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/diamond_from_pickaxe.json (86%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/diamond_from_shovel.json (80%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/diamond_from_sword.json (86%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/experience_bottle_from_enchanted_book.json (76%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/force_brick_from_stone_bricks.json (78%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/force_sapling_from_sapling.json (77%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/fortune_from_fortune_cookie.json (79%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/gold_ingot_from_axe.json (84%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/gold_ingot_from_boots.json (85%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/gold_ingot_from_chestplate.json (85%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/gold_ingot_from_clock.json (84%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/gold_ingot_from_helmet.json (85%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/gold_ingot_from_hoe.json (84%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/gold_ingot_from_horse_armor.json (85%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/gold_ingot_from_leggings.json (85%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/gold_ingot_from_pickaxe.json (85%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/gold_ingot_from_shovel.json (79%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/gold_ingot_from_sword.json (85%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/infuser_from_enchanting_table.json (80%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/irom_ingot_from_cauldron.json (84%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/irom_ingot_from_compass.json (84%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/iron_ingot_from_anvil.json (84%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/iron_ingot_from_axe.json (84%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/iron_ingot_from_boots.json (84%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/iron_ingot_from_bucket.json (84%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/iron_ingot_from_chainmail_boots.json (85%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/iron_ingot_from_chainmail_chestplate.json (85%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/iron_ingot_from_chainmail_helmet.json (85%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/iron_ingot_from_chainmail_leggings.json (85%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/iron_ingot_from_chestplate.json (85%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/iron_ingot_from_door.json (84%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/iron_ingot_from_helmet.json (85%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/iron_ingot_from_hoe.json (84%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/iron_ingot_from_horse_armor.json (85%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/iron_ingot_from_leggings.json (85%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/iron_ingot_from_minecart.json (84%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/iron_ingot_from_pickaxe.json (85%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/iron_ingot_from_shovel.json (78%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/iron_ingot_from_sword.json (84%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/mutton_to_chicken.json (79%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/poppy_to_dandelion.json (78%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/porkchop_to_mutton.json (80%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/red_to_brown_mushroom.json (77%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/stick_from_stone_axe.json (80%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/stick_from_stone_hoe.json (80%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/stick_from_stone_pickaxe.json (80%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/stick_from_stone_shovel.json (80%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/stick_from_stone_sword.json (80%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/stick_from_wooden_axe.json (80%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/stick_from_wooden_hoe.json (80%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/stick_from_wooden_pickaxe.json (80%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/stick_from_wooden_shovel.json (80%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/stick_from_wooden_sword.json (80%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/string_from_bow.json (79%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/tripwire_hook_from_crossbow.json (77%) create mode 100644 src/generated/resources/data/forcecraft/recipe/transmutation/upgrade_core.json rename src/generated/resources/data/forcecraft/{recipes => recipe}/transmutation/upgrade_tome.json (77%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/treasure_core.json (54%) rename src/generated/resources/data/forcecraft/{recipes => recipe}/white_force_furnace_from_dye.json (66%) delete mode 100644 src/generated/resources/data/forcecraft/recipes/force_green_torch.json delete mode 100644 src/generated/resources/data/forcecraft/recipes/force_light_blue_torch.json delete mode 100644 src/generated/resources/data/forcecraft/recipes/force_light_gray_torch.json delete mode 100644 src/generated/resources/data/forcecraft/recipes/force_magenta_torch.json delete mode 100644 src/generated/resources/data/forcecraft/recipes/force_orange_torch.json delete mode 100644 src/generated/resources/data/forcecraft/recipes/force_purple_torch.json delete mode 100644 src/generated/resources/data/forcecraft/recipes/force_white_torch.json delete mode 100644 src/generated/resources/data/forcecraft/recipes/freezing/brick_from_nether_brick.json delete mode 100644 src/generated/resources/data/forcecraft/recipes/freezing/ice_from_water_bottle.json delete mode 100644 src/generated/resources/data/forcecraft/recipes/freezing/sandstone_from_sand.json delete mode 100644 src/generated/resources/data/forcecraft/recipes/freezing/stone_from_cobblestone.json delete mode 100644 src/generated/resources/data/forcecraft/recipes/infuser/infuse_camo.json delete mode 100644 src/generated/resources/data/forcecraft/recipes/transmutation/upgrade_core.json create mode 100644 src/generated/resources/data/forcecraft/tags/block/needs_force_tool.json delete mode 100644 src/generated/resources/data/forcecraft/tags/blocks/needs_force_tool.json rename src/generated/resources/data/forcecraft/tags/{items => item}/baconator_food.json (100%) rename src/generated/resources/data/forcecraft/tags/{items => item}/chu_jelly.json (100%) rename src/generated/resources/data/forcecraft/tags/{items => item}/ender.json (100%) rename src/generated/resources/data/forcecraft/tags/{items => item}/entity_flasks.json (100%) rename src/generated/resources/data/forcecraft/tags/{items => item}/force_furnace.json (100%) rename src/generated/resources/data/forcecraft/tags/{items => item}/force_logs.json (100%) rename src/generated/resources/data/forcecraft/tags/{items => item}/fortune.json (100%) delete mode 100644 src/generated/resources/data/forge/tags/blocks/ores.json delete mode 100644 src/generated/resources/data/forge/tags/items/ores.json rename src/generated/resources/data/minecraft/{advancements => advancement}/recipes/food/cooked_bacon_from_campfire_cooking.json (88%) rename src/generated/resources/data/minecraft/{advancements => advancement}/recipes/food/cooked_bacon_from_smoking.json (88%) rename src/generated/resources/data/minecraft/{advancements => advancement}/recipes/misc/force_gem_from_blasting_deepslate_power_ore.json (87%) rename src/generated/resources/data/minecraft/{advancements => advancement}/recipes/misc/force_gem_from_blasting_power_ore.json (88%) rename src/generated/resources/data/minecraft/{advancements => advancement}/recipes/misc/force_gem_from_smelting_deepslate_power_ore.json (87%) rename src/generated/resources/data/minecraft/{advancements => advancement}/recipes/misc/force_gem_from_smelting_power_ore.json (88%) rename src/generated/resources/data/minecraft/{recipes => recipe}/cooked_bacon_from_campfire_cooking.json (70%) rename src/generated/resources/data/minecraft/{recipes => recipe}/cooked_bacon_from_smoking.json (69%) rename src/generated/resources/data/minecraft/{recipes => recipe}/force_gem_from_blasting_deepslate_power_ore.json (71%) rename src/generated/resources/data/minecraft/{recipes => recipe}/force_gem_from_blasting_power_ore.json (70%) rename src/generated/resources/data/minecraft/{recipes => recipe}/force_gem_from_smelting_deepslate_power_ore.json (71%) rename src/generated/resources/data/minecraft/{recipes => recipe}/force_gem_from_smelting_power_ore.json (70%) rename src/generated/resources/data/minecraft/tags/{blocks => block}/mineable/pickaxe.json (100%) rename src/generated/resources/data/minecraft/tags/{blocks => block}/needs_diamond_tool.json (100%) rename src/generated/resources/data/minecraft/tags/{blocks => block}/needs_iron_tool.json (100%) delete mode 100644 src/main/java/com/mrbysco/forcecraft/attachment/ForceAttachments.java delete mode 100644 src/main/java/com/mrbysco/forcecraft/attachment/experiencetome/ExperienceTomeAttachment.java delete mode 100644 src/main/java/com/mrbysco/forcecraft/attachment/experiencetome/IExperienceTome.java delete mode 100644 src/main/java/com/mrbysco/forcecraft/attachment/forcerod/ForceRodAttachment.java delete mode 100644 src/main/java/com/mrbysco/forcecraft/attachment/forcerod/IForceRodModifier.java delete mode 100644 src/main/java/com/mrbysco/forcecraft/attachment/forcewrench/ForceWrenchAttachment.java delete mode 100644 src/main/java/com/mrbysco/forcecraft/attachment/forcewrench/IForceWrench.java delete mode 100644 src/main/java/com/mrbysco/forcecraft/attachment/magnet/IMagnet.java delete mode 100644 src/main/java/com/mrbysco/forcecraft/attachment/magnet/MagnetAttachment.java delete mode 100644 src/main/java/com/mrbysco/forcecraft/attachment/toolmodifier/IToolModifier.java delete mode 100644 src/main/java/com/mrbysco/forcecraft/attachment/toolmodifier/ToolModifierAttachment.java create mode 100644 src/main/java/com/mrbysco/forcecraft/attachments/ForceAttachments.java rename src/main/java/com/mrbysco/forcecraft/{attachment => attachments}/banemodifier/BaneModifierAttachment.java (78%) rename src/main/java/com/mrbysco/forcecraft/{attachment => attachments}/banemodifier/IBaneModifier.java (75%) rename src/main/java/com/mrbysco/forcecraft/{attachment => attachments}/playermodifier/IPlayerModifier.java (94%) rename src/main/java/com/mrbysco/forcecraft/{attachment => attachments}/playermodifier/PlayerModifierAttachment.java (91%) delete mode 100644 src/main/java/com/mrbysco/forcecraft/command/IForceCommand.java delete mode 100644 src/main/java/com/mrbysco/forcecraft/command/IsHardCommand.java create mode 100644 src/main/java/com/mrbysco/forcecraft/components/ForceComponents.java create mode 100644 src/main/java/com/mrbysco/forcecraft/components/card/RecipeContentsData.java create mode 100644 src/main/java/com/mrbysco/forcecraft/components/flask/FlaskContent.java create mode 100644 src/main/java/com/mrbysco/forcecraft/components/forcewrench/ForceWrenchData.java rename src/main/java/com/mrbysco/forcecraft/{attachment => components}/storage/BeltStackHandler.java (90%) rename src/main/java/com/mrbysco/forcecraft/{attachment => components}/storage/BeltStorage.java (61%) rename src/main/java/com/mrbysco/forcecraft/{attachment => components}/storage/PackStackHandler.java (81%) rename src/main/java/com/mrbysco/forcecraft/{attachment => components}/storage/PackStorage.java (62%) rename src/main/java/com/mrbysco/forcecraft/{attachment => components}/storage/StorageManager.java (74%) create mode 100644 src/main/java/com/mrbysco/forcecraft/handlers/LumberHandler.java create mode 100644 src/main/java/com/mrbysco/forcecraft/handlers/TooltipHandler.java delete mode 100644 src/main/java/com/mrbysco/forcecraft/registry/ForceComponents.java diff --git a/build.gradle b/build.gradle index 70f29aed..d546c660 100644 --- a/build.gradle +++ b/build.gradle @@ -80,7 +80,7 @@ dependencies { localRuntime "mezz.jei:jei-${jei_minecraft}-neoforge:${jei_version}" - compileOnly "vazkii.patchouli:Patchouli:${patchouli_version}:api" + compileOnly "vazkii.patchouli:Patchouli:${patchouli_version}" runtimeOnly "vazkii.patchouli:Patchouli:${patchouli_version}" implementation "xyz.brassgoggledcoders:PatchouliProvider:${patchouli_provider_version}" diff --git a/gradle.properties b/gradle.properties index 8c8a2d2c..15e08dde 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,7 +6,7 @@ org.gradle.debug=false # Base info mc_version=1.21.1 -neo_version=21.1.15 +neo_version=21.1.26 neogradle.subsystems.parchment.minecraftVersion=1.21 neogradle.subsystems.parchment.mappingsVersion=2024.07.28 neogradle.subsystems.conventions.runs.create-default-run-per-type=false diff --git a/src/generated/resources/.cache/0ce9513b0186cea52ebc929e2f8c8ccda756a973 b/src/generated/resources/.cache/0ce9513b0186cea52ebc929e2f8c8ccda756a973 index 80927179..b2d1100a 100644 --- a/src/generated/resources/.cache/0ce9513b0186cea52ebc929e2f8c8ccda756a973 +++ b/src/generated/resources/.cache/0ce9513b0186cea52ebc929e2f8c8ccda756a973 @@ -1,2 +1,2 @@ -// 1.20.4 2024-01-29T23:32:45.1942324 Languages: en_us for mod: forcecraft +// 1.21.1 2024-08-25T23:46:34.846281257 Languages: en_us for mod: forcecraft ca3fee7f03df586da2be292587f8a6b2f9277cae assets/forcecraft/lang/en_us.json diff --git a/src/generated/resources/.cache/103d9f3f36b01595f1aa5172191e60eff02e6924 b/src/generated/resources/.cache/103d9f3f36b01595f1aa5172191e60eff02e6924 index 89203f6e..3346b8e6 100644 --- a/src/generated/resources/.cache/103d9f3f36b01595f1aa5172191e60eff02e6924 +++ b/src/generated/resources/.cache/103d9f3f36b01595f1aa5172191e60eff02e6924 @@ -1,4 +1,4 @@ -// 1.20.4 2024-01-28T23:49:44.4734461 Registries +// 1.21.1 2024-08-25T23:46:34.844399119 Registries 60ee9492bc063eb6c2bab075da9af619affa45a5 data/forcecraft/damage_type/bleeding.json acec5f281dd1e80bdfa05bfcbb148f13e9cee25a data/forcecraft/damage_type/liquid_force.json 31e8f7b75a4be931c36b0c89412a813e03ac9d0c data/forcecraft/neoforge/biome_modifier/add_chu_chu.json @@ -8,7 +8,7 @@ b9c04c98b6567affe15ad2ea3275c29b1080f8c7 data/forcecraft/neoforge/biome_modifier d8114e6ac0be1b9b32692e7316a7b07055e26234 data/forcecraft/neoforge/biome_modifier/add_force_ore.json 4e3ca4e05c849c078d7aa0c4aae2ce91aff0b047 data/forcecraft/neoforge/biome_modifier/add_force_ore_buried.json a348918d7a560bbd136e0ea984c06bb92d593c3a data/forcecraft/neoforge/biome_modifier/add_force_tree.json -3516896800ecd44192d9edd10bf4b57e80cbbd59 data/forcecraft/neoforge/biome_modifier/add_swamp_chu_chu.json +466e4e733449a75540d71fa1abc808b93a08f88b data/forcecraft/neoforge/biome_modifier/add_swamp_chu_chu.json 92c01554f5ee191aea49da24b3718c72524e6b2e data/forcecraft/worldgen/configured_feature/force_tree.json 41064caedb29cd771aaa20f7feec3016bb3a6cc1 data/forcecraft/worldgen/configured_feature/force_tree_with_bees.json da15370457f9a0174b1767bff1274c8311a5deb4 data/forcecraft/worldgen/configured_feature/ore_force.json diff --git a/src/generated/resources/.cache/179674195255ab63c9f5485ba69bb471229f1b08 b/src/generated/resources/.cache/179674195255ab63c9f5485ba69bb471229f1b08 index 7d7f83d9..1bff98b8 100644 --- a/src/generated/resources/.cache/179674195255ab63c9f5485ba69bb471229f1b08 +++ b/src/generated/resources/.cache/179674195255ab63c9f5485ba69bb471229f1b08 @@ -1,9 +1,9 @@ -// 1.20.4 2024-01-28T23:49:44.4709458 Tags for minecraft:block mod id forcecraft -6682e317fdf17b7ed16b01be6244689ba18716a1 data/forcecraft/tags/blocks/needs_force_tool.json -5ec6a48a81a06d202f30aee8ebfbbb9b9564386b data/forge/tags/blocks/ores.json -f002772c304bb8350635523d7d3bb1c4fdb5796a data/forge/tags/blocks/ores/power.json -b73848b6920747aedc21ffb8aed7e3aa8d325f04 data/forge/tags/blocks/ores_in_ground/deepslate.json -5b2618b88b5b044099742e91e0a5e3ed254d91cf data/forge/tags/blocks/ores_in_ground/stone.json -d24fa89133e2e0d0fed52aec4122ab12ef2313f8 data/minecraft/tags/blocks/mineable/pickaxe.json -bbb8aafb9fe8b2ac991b03b55e4a2bee3318a1da data/minecraft/tags/blocks/needs_diamond_tool.json -f002772c304bb8350635523d7d3bb1c4fdb5796a data/minecraft/tags/blocks/needs_iron_tool.json +// 1.21.1 2024-08-25T23:46:34.836315186 Tags for minecraft:block mod id forcecraft +d964b17dbbb1870466808060f50c0991f7cfaf65 data/c/tags/block/ores.json +f002772c304bb8350635523d7d3bb1c4fdb5796a data/c/tags/block/ores/power.json +b73848b6920747aedc21ffb8aed7e3aa8d325f04 data/c/tags/block/ores_in_ground/deepslate.json +5b2618b88b5b044099742e91e0a5e3ed254d91cf data/c/tags/block/ores_in_ground/stone.json +f57a1c0d935679dbbcab3f2e8a06cae2238a6735 data/forcecraft/tags/block/needs_force_tool.json +d24fa89133e2e0d0fed52aec4122ab12ef2313f8 data/minecraft/tags/block/mineable/pickaxe.json +bbb8aafb9fe8b2ac991b03b55e4a2bee3318a1da data/minecraft/tags/block/needs_diamond_tool.json +f002772c304bb8350635523d7d3bb1c4fdb5796a data/minecraft/tags/block/needs_iron_tool.json diff --git a/src/generated/resources/.cache/2e50376a258ceefdeaf48c21f919aaa551c1fbe8 b/src/generated/resources/.cache/2e50376a258ceefdeaf48c21f919aaa551c1fbe8 index 02a64050..19e9356e 100644 --- a/src/generated/resources/.cache/2e50376a258ceefdeaf48c21f919aaa551c1fbe8 +++ b/src/generated/resources/.cache/2e50376a258ceefdeaf48c21f919aaa551c1fbe8 @@ -1,4 +1,4 @@ -// 1.20.4 2024-01-28T23:49:44.4694454 Item Models +// 1.21.1 2024-08-25T23:46:34.833589688 Item Models 38d04f9d765c05fdedcc2d4f9b2dd0c4073e699b assets/forcecraft/models/item/deepslate_power_ore.json 1c3dbd26b63a1f340d3c8ee3bd86528ce4725b84 assets/forcecraft/models/item/force_black_torch.json 88894b26fe4fead4fe1ddb0e752b8880310f94d1 assets/forcecraft/models/item/force_blue_torch.json @@ -66,9 +66,9 @@ bb09f857b6278769856250e4bb9bfcf70f36e009 assets/forcecraft/models/item/force_lim 46e6a5f824e56408b7d37a989ed59597d9994e9a assets/forcecraft/models/item/force_magenta_torch.json 4bf248ddb919f56d691de81bf9c8522ec11f4fd4 assets/forcecraft/models/item/force_orange_torch.json 7a52e62da08ae6c84544535f553c045281586a38 assets/forcecraft/models/item/force_pink_torch.json -4e271f0b6074418983e9e8bacde2b7c21857a307 assets/forcecraft/models/item/force_planks.json ba7d8e4a6ea40e05d94731ba82bf7915dc0d8b39 assets/forcecraft/models/item/force_plank_slab.json 53d8c4c8565b838c011814d87badd8ccc35c4415 assets/forcecraft/models/item/force_plank_stairs.json +4e271f0b6074418983e9e8bacde2b7c21857a307 assets/forcecraft/models/item/force_planks.json 9bffddf1042b848e34cd63c34d9b6dd0992280de assets/forcecraft/models/item/force_purple_torch.json 6d5aded3ade8458331b06b5419dbc76b0f719d18 assets/forcecraft/models/item/force_red_torch.json 63040ca7b337faeaec82d79b20dffb89382a6653 assets/forcecraft/models/item/force_torch.json diff --git a/src/generated/resources/.cache/4c771f18963704254e4ac70d3c4a47862c033e90 b/src/generated/resources/.cache/4c771f18963704254e4ac70d3c4a47862c033e90 index 5b671ba0..c79039b0 100644 --- a/src/generated/resources/.cache/4c771f18963704254e4ac70d3c4a47862c033e90 +++ b/src/generated/resources/.cache/4c771f18963704254e4ac70d3c4a47862c033e90 @@ -1,12 +1,12 @@ -// 1.20.4 2024-01-29T21:43:15.1733754 Tags for minecraft:item mod id forcecraft -53afa95f4f2972f61ad4870a14ffdad392433608 data/forcecraft/tags/items/baconator_food.json -f37c1227f073af48a0e3f526510a90a1f11811d7 data/forcecraft/tags/items/chu_jelly.json -ca0dfb4cd17d1a8bebda73a2ba9587fde8c1486d data/forcecraft/tags/items/ender.json -2266034e578a6f8f80f45b0fadae1a067a3319d6 data/forcecraft/tags/items/entity_flasks.json -ba8baa1de0654d18f27068517c95b5fb869c254a data/forcecraft/tags/items/force_furnace.json -eff2e9b711edce9a5ae1875f820c2b5272b0779f data/forcecraft/tags/items/force_logs.json -f6578c63f571b1fa389775ac66b9218c094d5150 data/forcecraft/tags/items/fortune.json -5ec6a48a81a06d202f30aee8ebfbbb9b9564386b data/forge/tags/items/ores.json -f002772c304bb8350635523d7d3bb1c4fdb5796a data/forge/tags/items/ores/power.json -b73848b6920747aedc21ffb8aed7e3aa8d325f04 data/forge/tags/items/ores_in_ground/deepslate.json -5b2618b88b5b044099742e91e0a5e3ed254d91cf data/forge/tags/items/ores_in_ground/stone.json +// 1.21.1 2024-08-25T23:46:34.845110648 Tags for minecraft:item mod id forcecraft +d964b17dbbb1870466808060f50c0991f7cfaf65 data/c/tags/item/ores.json +f002772c304bb8350635523d7d3bb1c4fdb5796a data/c/tags/item/ores/power.json +b73848b6920747aedc21ffb8aed7e3aa8d325f04 data/c/tags/item/ores_in_ground/deepslate.json +5b2618b88b5b044099742e91e0a5e3ed254d91cf data/c/tags/item/ores_in_ground/stone.json +53afa95f4f2972f61ad4870a14ffdad392433608 data/forcecraft/tags/item/baconator_food.json +f37c1227f073af48a0e3f526510a90a1f11811d7 data/forcecraft/tags/item/chu_jelly.json +ca0dfb4cd17d1a8bebda73a2ba9587fde8c1486d data/forcecraft/tags/item/ender.json +2266034e578a6f8f80f45b0fadae1a067a3319d6 data/forcecraft/tags/item/entity_flasks.json +ba8baa1de0654d18f27068517c95b5fb869c254a data/forcecraft/tags/item/force_furnace.json +eff2e9b711edce9a5ae1875f820c2b5272b0779f data/forcecraft/tags/item/force_logs.json +f6578c63f571b1fa389775ac66b9218c094d5150 data/forcecraft/tags/item/fortune.json diff --git a/src/generated/resources/.cache/5087c299c545f231f80b5b2735f6ccd716b4183c b/src/generated/resources/.cache/5087c299c545f231f80b5b2735f6ccd716b4183c index cbfdb344..5610d618 100644 --- a/src/generated/resources/.cache/5087c299c545f231f80b5b2735f6ccd716b4183c +++ b/src/generated/resources/.cache/5087c299c545f231f80b5b2735f6ccd716b4183c @@ -1,2 +1,2 @@ -// 1.20.4 2024-01-28T23:49:44.4739455 Tags for minecraft:damage_type mod id forcecraft +// 1.21.1 2024-08-25T23:46:34.845743938 Tags for minecraft:damage_type mod id forcecraft 4b412418d34f4755bb831ad081e1a540bf7dfe13 data/minecraft/tags/damage_type/bypasses_armor.json diff --git a/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d b/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d index f9f7fb2e..e6869652 100644 --- a/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d +++ b/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d @@ -1,127 +1,127 @@ -// 1.20.4 2024-01-29T23:26:10.6779185 Loot Tables -ca5af9d0e5bf5dbe2e2c28f177710795753d744a data/forcecraft/loot_tables/blocks/black_force_furnace.json -d241beda60667659c0a5111512d10bfa846fdc88 data/forcecraft/loot_tables/blocks/blue_force_furnace.json -e9eb4380443b0050fec72dd137f268485f812117 data/forcecraft/loot_tables/blocks/brown_force_furnace.json -b2a508c9560914928607d4fc933dbff2a0d2b5d4 data/forcecraft/loot_tables/blocks/cyan_force_furnace.json -5c6a0d22fcd43b7876bf3c03382cfb78cc7f96e2 data/forcecraft/loot_tables/blocks/deepslate_power_ore.json -a9b5401435de757df457fe79ef6560533934b3ce data/forcecraft/loot_tables/blocks/force_black_torch.json -dd2a8a847e57fdd519649125f192b25bb696f173 data/forcecraft/loot_tables/blocks/force_blue_torch.json -71462518423bc9c825f171760b7d0bbcef7dfd6a data/forcecraft/loot_tables/blocks/force_brick.json -b61204ac8cff0443ae105024a2671cdac7dc4ef3 data/forcecraft/loot_tables/blocks/force_brick_black.json -55511c37f3b1fa0c254529d14a048ff5fb9b8fb0 data/forcecraft/loot_tables/blocks/force_brick_black_slab.json -d6b9ce8bdf3eb84e9c484a4f22fd000a2714d258 data/forcecraft/loot_tables/blocks/force_brick_black_stairs.json -ddc03b6920fe3e2530b8c84c18fb569fcbc55f70 data/forcecraft/loot_tables/blocks/force_brick_blue.json -35c6697f2ded71d3bfa088bccba5ada99e985cab data/forcecraft/loot_tables/blocks/force_brick_blue_slab.json -f8848e4ae710a1492407ed4a97766518c763a0f5 data/forcecraft/loot_tables/blocks/force_brick_blue_stairs.json -8f137ab594e9e78151981d46fe277a9fdf86f3e3 data/forcecraft/loot_tables/blocks/force_brick_brown.json -f36818ae81a5ea67010311fa7570406fa7e0852c data/forcecraft/loot_tables/blocks/force_brick_brown_slab.json -316ff7043d7f323d6ed0f06daf4db107e2d9a894 data/forcecraft/loot_tables/blocks/force_brick_brown_stairs.json -80380c81ffd8e38f0fe7e9fd77701070389c20d5 data/forcecraft/loot_tables/blocks/force_brick_cyan.json -9f858377cc163a077eaa4bccf34102ada7acdf5c data/forcecraft/loot_tables/blocks/force_brick_cyan_slab.json -d1b38e5690ffeffd15e5166a8523994be09148e6 data/forcecraft/loot_tables/blocks/force_brick_cyan_stairs.json -1a82aca2ba20dd091eeac5b1d5d54b46c7aba4f4 data/forcecraft/loot_tables/blocks/force_brick_gray.json -1c7b73fc9f468da8ba19844cc6606094ef985614 data/forcecraft/loot_tables/blocks/force_brick_gray_slab.json -06b504b52cfe09153333e159bb84e0c9564559cd data/forcecraft/loot_tables/blocks/force_brick_gray_stairs.json -c4d2aad7b648fc19e8d0e57f12bc24618f4db2ee data/forcecraft/loot_tables/blocks/force_brick_green.json -56f17e4bffa4e83195e79f2693256c3d3857816c data/forcecraft/loot_tables/blocks/force_brick_green_slab.json -abdd20cee440386e8631a25c111a133030ae87f8 data/forcecraft/loot_tables/blocks/force_brick_green_stairs.json -4d0f672aa08c65434452e6ad8a24bd130e2eb5f3 data/forcecraft/loot_tables/blocks/force_brick_light_blue.json -58a6d41fece5b7f1455f7c09178a1535d60f81a5 data/forcecraft/loot_tables/blocks/force_brick_light_blue_slab.json -92df0e42df1cdcce93b4a8f5eec7829ba4427f33 data/forcecraft/loot_tables/blocks/force_brick_light_blue_stairs.json -6194d44da92c3f24bb833ff4611f9edb7909fda2 data/forcecraft/loot_tables/blocks/force_brick_light_gray.json -50672e3ec2a43564204a423a65a7e9c5a28abd53 data/forcecraft/loot_tables/blocks/force_brick_light_gray_slab.json -105aa28e54f87e32ad25998c8d7f19c4c3b17186 data/forcecraft/loot_tables/blocks/force_brick_light_gray_stairs.json -32808265762d60ef0b021ada1813162c9ce1b96b data/forcecraft/loot_tables/blocks/force_brick_lime.json -8eb7424dcdb94a505854dba4b5242aad913dbb39 data/forcecraft/loot_tables/blocks/force_brick_lime_slab.json -69f41f74c28ce44077aa8b87bf166a81554c837d data/forcecraft/loot_tables/blocks/force_brick_lime_stairs.json -077185ed634a97c90ceeeb87a2ef3616886e7f21 data/forcecraft/loot_tables/blocks/force_brick_magenta.json -d9c802a9606e3eabef2ba7f1256fac57a3d1be71 data/forcecraft/loot_tables/blocks/force_brick_magenta_slab.json -2c99127568d801b7b29e63cf87b835f34533cc2c data/forcecraft/loot_tables/blocks/force_brick_magenta_stairs.json -7daa00ae25cdb5df0fe841ca73fc94f86029cae2 data/forcecraft/loot_tables/blocks/force_brick_orange.json -d94d17aff96130823015a247e16200b49d3c0887 data/forcecraft/loot_tables/blocks/force_brick_orange_slab.json -988fe823b353edd759060732f29c4ddf38bb3771 data/forcecraft/loot_tables/blocks/force_brick_orange_stairs.json -1af6aa2ef39f2f8af9556f87c8da9fcb3eb66204 data/forcecraft/loot_tables/blocks/force_brick_pink.json -803e1e4495cea3ff20eec3fa83bfda69e3efa4d6 data/forcecraft/loot_tables/blocks/force_brick_pink_slab.json -de3e2e759723b514ae67dc1e27a7dfd34440acdd data/forcecraft/loot_tables/blocks/force_brick_pink_stairs.json -12beebb61c1d6637cc8c2e628871ea62775750f3 data/forcecraft/loot_tables/blocks/force_brick_purple.json -2e279d74fac466045ff8d396aec1a7b5ca7af19e data/forcecraft/loot_tables/blocks/force_brick_purple_slab.json -e687a502d6a1be2a04625f00936ce295c2777991 data/forcecraft/loot_tables/blocks/force_brick_purple_stairs.json -be55eab35559670cfb5608da4e871c7b8dcf715f data/forcecraft/loot_tables/blocks/force_brick_red.json -108fda2557bccd0afdadb6238d99ab59b9f2c9d5 data/forcecraft/loot_tables/blocks/force_brick_red_slab.json -a23051033d453d52b1c1705c1939415aebde851b data/forcecraft/loot_tables/blocks/force_brick_red_stairs.json -5e036731e32ffd894ac55fce00e499bf2e0c0622 data/forcecraft/loot_tables/blocks/force_brick_slab.json -55dbd91cc5ae7a2c43e02cd43305c955a2309328 data/forcecraft/loot_tables/blocks/force_brick_stairs.json -28b928de257b08053069f87db8b23f4793fabfe1 data/forcecraft/loot_tables/blocks/force_brick_white.json -324baa8344da24127849a4f39f85b0e9509e97a1 data/forcecraft/loot_tables/blocks/force_brick_white_slab.json -b5585ec6541ba689494b7ea10aa033b464cb0103 data/forcecraft/loot_tables/blocks/force_brick_white_stairs.json -2127843767e87e3218ddca553f2f6369c7bb3cdc data/forcecraft/loot_tables/blocks/force_brick_yellow.json -99c0ec2791855cc005bf78998cfba117d02abb1a data/forcecraft/loot_tables/blocks/force_brick_yellow_slab.json -850182db7927bd06870772b38662f2455d3590cc data/forcecraft/loot_tables/blocks/force_brick_yellow_stairs.json -e7ce9b65dd7edc31496812f86b9e63518931cf80 data/forcecraft/loot_tables/blocks/force_brown_torch.json -01efce3969e23a0798080112255ac2a10210e5a8 data/forcecraft/loot_tables/blocks/force_cyan_torch.json -7041fc27a55ac3a403b292db89c4717324be5ea9 data/forcecraft/loot_tables/blocks/force_engine.json -16e926c9373e58c4d10463709dc0b29a497bda1e data/forcecraft/loot_tables/blocks/force_furnace.json -3d040912271d927c4fdd10a2a71fd89821f1de70 data/forcecraft/loot_tables/blocks/force_gray_torch.json -4aa0d21c2520bf48db242337c5be1c4cca6f64bb data/forcecraft/loot_tables/blocks/force_green_torch.json -4874ea680ba05a811b5d7763223da6a1aa583732 data/forcecraft/loot_tables/blocks/force_leaves.json -28da173cfba709dfbb594bf9f45f06badf34d3e0 data/forcecraft/loot_tables/blocks/force_light_blue_torch.json -f24da43bc2b85f1140daeafb90640308683d0fe0 data/forcecraft/loot_tables/blocks/force_light_gray_torch.json -38fd4c2a5d05f1260da54dd06f9bd93fdb51e284 data/forcecraft/loot_tables/blocks/force_lime_torch.json -9554dfe88453069ad40c8136288c1884e823afb0 data/forcecraft/loot_tables/blocks/force_log.json -acb7e9c8292bd186e836fe5c0d28acb12d6fbe43 data/forcecraft/loot_tables/blocks/force_magenta_torch.json -ec7ca1de7a6751bc696bc4f547a27ae3ad4e8acb data/forcecraft/loot_tables/blocks/force_orange_torch.json -0779d86e0cf67fcdcc03b4d5e0d691d4c48276db data/forcecraft/loot_tables/blocks/force_pink_torch.json -343e4bef1e27494008e39e5bf990486e42b50d19 data/forcecraft/loot_tables/blocks/force_planks.json -75081f63b92cb2a22860243684dba8f45024d7f1 data/forcecraft/loot_tables/blocks/force_plank_slab.json -04cc0186657cfcb9900cd27d801910e761dfe82a data/forcecraft/loot_tables/blocks/force_plank_stairs.json -4f87db2d1c069ab627216e6dd7ddf51b64a7a242 data/forcecraft/loot_tables/blocks/force_purple_torch.json -379baf564fba3e64b30e6e25760725045b358dd1 data/forcecraft/loot_tables/blocks/force_red_torch.json -4332e2e370d812736b9ae462ed6597f023cf3f83 data/forcecraft/loot_tables/blocks/force_sapling.json -705e220a9655720f7364564a044061427b83c881 data/forcecraft/loot_tables/blocks/force_torch.json -793e657e2a53dc2206cd9f2300450f7373b23034 data/forcecraft/loot_tables/blocks/force_white_torch.json -efe99dad58052843283573b4ab55af8f5e2aed44 data/forcecraft/loot_tables/blocks/force_wood.json -fbff1c2345dc9027e7095f293578a41aecb3a03b data/forcecraft/loot_tables/blocks/gray_force_furnace.json -d1c3a2e9f6477df87c30d48cd52af49c692376b1 data/forcecraft/loot_tables/blocks/green_force_furnace.json -5a4954818f92001cb4bff7c6c988f2c2c3647491 data/forcecraft/loot_tables/blocks/infuser.json -0472bc89253b7fad900669f1a140b1328b87852e data/forcecraft/loot_tables/blocks/light_blue_force_furnace.json -bf6cfa605640a8a548f8f90fef2d9885ac3dfcb1 data/forcecraft/loot_tables/blocks/light_gray_force_furnace.json -98f372a68a0515d58f7ef1c053e706050f246f87 data/forcecraft/loot_tables/blocks/lime_force_furnace.json -b576d4bfaf7ce8d7d4a4e00124a9facf64d56a8e data/forcecraft/loot_tables/blocks/magenta_force_furnace.json -b365cb291e9ff37ffa7e61efe1de3695a4dfa541 data/forcecraft/loot_tables/blocks/orange_force_furnace.json -1cc2611f453b34e49061210765d46cadd291ca8d data/forcecraft/loot_tables/blocks/pink_force_furnace.json -ed59678549037cce0ad7a007c372b92e56eef890 data/forcecraft/loot_tables/blocks/power_ore.json -86f9fd7efa16615e73e355524295b41367161a93 data/forcecraft/loot_tables/blocks/purple_force_furnace.json -dd5290475194b9bb06eecd665170680788ed162d data/forcecraft/loot_tables/blocks/red_force_furnace.json -2d3495fb8fbf9c2a50d835ffa90624f3db6839cf data/forcecraft/loot_tables/blocks/time_torch.json -94aeab56767396b19bd4927904e6e96d65fb96d7 data/forcecraft/loot_tables/blocks/wall_force_black_torch.json -4edf5dfab837afc77ee982b1a9111d30187d6d78 data/forcecraft/loot_tables/blocks/wall_force_blue_torch.json -a8a6c6b00061af8effe7cd2f9c1086a1d0340188 data/forcecraft/loot_tables/blocks/wall_force_brown_torch.json -fcba7728c575637da4664f6b691aa1f5ff1d0973 data/forcecraft/loot_tables/blocks/wall_force_cyan_torch.json -9fea49f76c9ea20d447be74c12afcd5d1d12267d data/forcecraft/loot_tables/blocks/wall_force_gray_torch.json -7f55b4cd228f75bf4e28dac34b1f389f03580f04 data/forcecraft/loot_tables/blocks/wall_force_green_torch.json -a10b82977f371a0790ce4a74f29a19ebbda084ef data/forcecraft/loot_tables/blocks/wall_force_light_blue_torch.json -082ee97e27b66cc3c8093897a93e3e83dc65867e data/forcecraft/loot_tables/blocks/wall_force_light_gray_torch.json -7ad159ea3c12cfeb3f44975f51cb0a0fe70279af data/forcecraft/loot_tables/blocks/wall_force_lime_torch.json -ced696f90e13f45b595091e71679d5881a8053d0 data/forcecraft/loot_tables/blocks/wall_force_magenta_torch.json -b07ac0227b9b8802669b66a19701fd9228fcc1db data/forcecraft/loot_tables/blocks/wall_force_orange_torch.json -2f833f100168cdf2f43fcc8e07fba87abace6ac9 data/forcecraft/loot_tables/blocks/wall_force_pink_torch.json -785f2d2b8421f703503d8b424d5a38962954c413 data/forcecraft/loot_tables/blocks/wall_force_purple_torch.json -85601b34cee5c694469f632403d4483bcd5115fb data/forcecraft/loot_tables/blocks/wall_force_red_torch.json -e42ec7db52131d98b76e7c9f2c55ff6cd9d3413e data/forcecraft/loot_tables/blocks/wall_force_torch.json -62d700390e76061cd84d84deac5163115c63559e data/forcecraft/loot_tables/blocks/wall_force_white_torch.json -978bdaf0685e3d54e79f98a7ad8fb35f2727a2fb data/forcecraft/loot_tables/blocks/wall_time_torch.json -85043052fb03a7f7bd6241f2848cc068833a22e1 data/forcecraft/loot_tables/blocks/white_force_furnace.json -0dc091408e4fdcc140418cafd9b75112c1ecf4c4 data/forcecraft/loot_tables/entities/angry_enderman.json -f1f75d6da95336f7fdc0e6f8a5cc3e92fa713ee0 data/forcecraft/loot_tables/entities/blue_chu_chu.json -693971ef52f8cb678877e55c230fee1209c52f9c data/forcecraft/loot_tables/entities/cold_chicken.json -553095efdc12b65b9fac6559f8839f30a30b3839 data/forcecraft/loot_tables/entities/cold_cow.json -d1c79f0e3c12d30dcd6dac64cd41fc41776fd753 data/forcecraft/loot_tables/entities/cold_pig.json -60c15f99e6dee367087dab93f98a7aada6e19eed data/forcecraft/loot_tables/entities/creeper_tot.json -d4248781dc628bab48f187e81a249226d436e495 data/forcecraft/loot_tables/entities/ender_tot.json -f65b5c47fb6dba3eee707487b2bd3a7b7de8bec3 data/forcecraft/loot_tables/entities/fairy.json -2c1de53f8e094e1176c37b0b8f273c8ec57774e9 data/forcecraft/loot_tables/entities/gold_chu_chu.json -93e4f44fe4f321d104c078df83654d4dc4c1b273 data/forcecraft/loot_tables/entities/green_chu_chu.json -ce7e61339241058bc098ea5c1d7e1ba8bf10f606 data/forcecraft/loot_tables/entities/red_chu_chu.json -0ed4d70d997be807c121d7debff58e88536646a9 data/forcecraft/loot_tables/spoils/tier1.json -7af9a23a3ff320d507b7ec0db456bcaf11c90dbe data/forcecraft/loot_tables/spoils/tier2.json -e443d97f08eaf435708178f6beed3fd93352a066 data/forcecraft/loot_tables/spoils/tier3.json +// 1.21.1 2024-08-25T23:46:34.836875276 Loot Tables +a3f924f448e689c5b6356bc3513913f4a3e9d232 data/forcecraft/loot_table/blocks/black_force_furnace.json +08db02555ece2c9aa153c66c226a557cd8dc8f97 data/forcecraft/loot_table/blocks/blue_force_furnace.json +7abfdb8279c0cbb51bcbf6546cdf8618ac5676a4 data/forcecraft/loot_table/blocks/brown_force_furnace.json +8c17e9d9e79ea260ef885d57de1b13865b6c0798 data/forcecraft/loot_table/blocks/cyan_force_furnace.json +791becb9a2cb09e71cf1e383e12d1e73808e3d42 data/forcecraft/loot_table/blocks/deepslate_power_ore.json +a9b5401435de757df457fe79ef6560533934b3ce data/forcecraft/loot_table/blocks/force_black_torch.json +dd2a8a847e57fdd519649125f192b25bb696f173 data/forcecraft/loot_table/blocks/force_blue_torch.json +71462518423bc9c825f171760b7d0bbcef7dfd6a data/forcecraft/loot_table/blocks/force_brick.json +b61204ac8cff0443ae105024a2671cdac7dc4ef3 data/forcecraft/loot_table/blocks/force_brick_black.json +55511c37f3b1fa0c254529d14a048ff5fb9b8fb0 data/forcecraft/loot_table/blocks/force_brick_black_slab.json +d6b9ce8bdf3eb84e9c484a4f22fd000a2714d258 data/forcecraft/loot_table/blocks/force_brick_black_stairs.json +ddc03b6920fe3e2530b8c84c18fb569fcbc55f70 data/forcecraft/loot_table/blocks/force_brick_blue.json +35c6697f2ded71d3bfa088bccba5ada99e985cab data/forcecraft/loot_table/blocks/force_brick_blue_slab.json +f8848e4ae710a1492407ed4a97766518c763a0f5 data/forcecraft/loot_table/blocks/force_brick_blue_stairs.json +8f137ab594e9e78151981d46fe277a9fdf86f3e3 data/forcecraft/loot_table/blocks/force_brick_brown.json +f36818ae81a5ea67010311fa7570406fa7e0852c data/forcecraft/loot_table/blocks/force_brick_brown_slab.json +316ff7043d7f323d6ed0f06daf4db107e2d9a894 data/forcecraft/loot_table/blocks/force_brick_brown_stairs.json +80380c81ffd8e38f0fe7e9fd77701070389c20d5 data/forcecraft/loot_table/blocks/force_brick_cyan.json +9f858377cc163a077eaa4bccf34102ada7acdf5c data/forcecraft/loot_table/blocks/force_brick_cyan_slab.json +d1b38e5690ffeffd15e5166a8523994be09148e6 data/forcecraft/loot_table/blocks/force_brick_cyan_stairs.json +1a82aca2ba20dd091eeac5b1d5d54b46c7aba4f4 data/forcecraft/loot_table/blocks/force_brick_gray.json +1c7b73fc9f468da8ba19844cc6606094ef985614 data/forcecraft/loot_table/blocks/force_brick_gray_slab.json +06b504b52cfe09153333e159bb84e0c9564559cd data/forcecraft/loot_table/blocks/force_brick_gray_stairs.json +c4d2aad7b648fc19e8d0e57f12bc24618f4db2ee data/forcecraft/loot_table/blocks/force_brick_green.json +56f17e4bffa4e83195e79f2693256c3d3857816c data/forcecraft/loot_table/blocks/force_brick_green_slab.json +abdd20cee440386e8631a25c111a133030ae87f8 data/forcecraft/loot_table/blocks/force_brick_green_stairs.json +4d0f672aa08c65434452e6ad8a24bd130e2eb5f3 data/forcecraft/loot_table/blocks/force_brick_light_blue.json +58a6d41fece5b7f1455f7c09178a1535d60f81a5 data/forcecraft/loot_table/blocks/force_brick_light_blue_slab.json +92df0e42df1cdcce93b4a8f5eec7829ba4427f33 data/forcecraft/loot_table/blocks/force_brick_light_blue_stairs.json +6194d44da92c3f24bb833ff4611f9edb7909fda2 data/forcecraft/loot_table/blocks/force_brick_light_gray.json +50672e3ec2a43564204a423a65a7e9c5a28abd53 data/forcecraft/loot_table/blocks/force_brick_light_gray_slab.json +105aa28e54f87e32ad25998c8d7f19c4c3b17186 data/forcecraft/loot_table/blocks/force_brick_light_gray_stairs.json +32808265762d60ef0b021ada1813162c9ce1b96b data/forcecraft/loot_table/blocks/force_brick_lime.json +8eb7424dcdb94a505854dba4b5242aad913dbb39 data/forcecraft/loot_table/blocks/force_brick_lime_slab.json +69f41f74c28ce44077aa8b87bf166a81554c837d data/forcecraft/loot_table/blocks/force_brick_lime_stairs.json +077185ed634a97c90ceeeb87a2ef3616886e7f21 data/forcecraft/loot_table/blocks/force_brick_magenta.json +d9c802a9606e3eabef2ba7f1256fac57a3d1be71 data/forcecraft/loot_table/blocks/force_brick_magenta_slab.json +2c99127568d801b7b29e63cf87b835f34533cc2c data/forcecraft/loot_table/blocks/force_brick_magenta_stairs.json +7daa00ae25cdb5df0fe841ca73fc94f86029cae2 data/forcecraft/loot_table/blocks/force_brick_orange.json +d94d17aff96130823015a247e16200b49d3c0887 data/forcecraft/loot_table/blocks/force_brick_orange_slab.json +988fe823b353edd759060732f29c4ddf38bb3771 data/forcecraft/loot_table/blocks/force_brick_orange_stairs.json +1af6aa2ef39f2f8af9556f87c8da9fcb3eb66204 data/forcecraft/loot_table/blocks/force_brick_pink.json +803e1e4495cea3ff20eec3fa83bfda69e3efa4d6 data/forcecraft/loot_table/blocks/force_brick_pink_slab.json +de3e2e759723b514ae67dc1e27a7dfd34440acdd data/forcecraft/loot_table/blocks/force_brick_pink_stairs.json +12beebb61c1d6637cc8c2e628871ea62775750f3 data/forcecraft/loot_table/blocks/force_brick_purple.json +2e279d74fac466045ff8d396aec1a7b5ca7af19e data/forcecraft/loot_table/blocks/force_brick_purple_slab.json +e687a502d6a1be2a04625f00936ce295c2777991 data/forcecraft/loot_table/blocks/force_brick_purple_stairs.json +be55eab35559670cfb5608da4e871c7b8dcf715f data/forcecraft/loot_table/blocks/force_brick_red.json +108fda2557bccd0afdadb6238d99ab59b9f2c9d5 data/forcecraft/loot_table/blocks/force_brick_red_slab.json +a23051033d453d52b1c1705c1939415aebde851b data/forcecraft/loot_table/blocks/force_brick_red_stairs.json +5e036731e32ffd894ac55fce00e499bf2e0c0622 data/forcecraft/loot_table/blocks/force_brick_slab.json +55dbd91cc5ae7a2c43e02cd43305c955a2309328 data/forcecraft/loot_table/blocks/force_brick_stairs.json +28b928de257b08053069f87db8b23f4793fabfe1 data/forcecraft/loot_table/blocks/force_brick_white.json +324baa8344da24127849a4f39f85b0e9509e97a1 data/forcecraft/loot_table/blocks/force_brick_white_slab.json +b5585ec6541ba689494b7ea10aa033b464cb0103 data/forcecraft/loot_table/blocks/force_brick_white_stairs.json +2127843767e87e3218ddca553f2f6369c7bb3cdc data/forcecraft/loot_table/blocks/force_brick_yellow.json +99c0ec2791855cc005bf78998cfba117d02abb1a data/forcecraft/loot_table/blocks/force_brick_yellow_slab.json +850182db7927bd06870772b38662f2455d3590cc data/forcecraft/loot_table/blocks/force_brick_yellow_stairs.json +e7ce9b65dd7edc31496812f86b9e63518931cf80 data/forcecraft/loot_table/blocks/force_brown_torch.json +01efce3969e23a0798080112255ac2a10210e5a8 data/forcecraft/loot_table/blocks/force_cyan_torch.json +f9722d90ff154c2af7308081c18c5c7af4972fb6 data/forcecraft/loot_table/blocks/force_engine.json +2beb7934090b2c2f09592e1e9b980a50bdc87536 data/forcecraft/loot_table/blocks/force_furnace.json +3d040912271d927c4fdd10a2a71fd89821f1de70 data/forcecraft/loot_table/blocks/force_gray_torch.json +4aa0d21c2520bf48db242337c5be1c4cca6f64bb data/forcecraft/loot_table/blocks/force_green_torch.json +ca78ec4c4855ebeb2489705fa72bb6158cc78dd4 data/forcecraft/loot_table/blocks/force_leaves.json +28da173cfba709dfbb594bf9f45f06badf34d3e0 data/forcecraft/loot_table/blocks/force_light_blue_torch.json +f24da43bc2b85f1140daeafb90640308683d0fe0 data/forcecraft/loot_table/blocks/force_light_gray_torch.json +38fd4c2a5d05f1260da54dd06f9bd93fdb51e284 data/forcecraft/loot_table/blocks/force_lime_torch.json +9554dfe88453069ad40c8136288c1884e823afb0 data/forcecraft/loot_table/blocks/force_log.json +acb7e9c8292bd186e836fe5c0d28acb12d6fbe43 data/forcecraft/loot_table/blocks/force_magenta_torch.json +ec7ca1de7a6751bc696bc4f547a27ae3ad4e8acb data/forcecraft/loot_table/blocks/force_orange_torch.json +0779d86e0cf67fcdcc03b4d5e0d691d4c48276db data/forcecraft/loot_table/blocks/force_pink_torch.json +75081f63b92cb2a22860243684dba8f45024d7f1 data/forcecraft/loot_table/blocks/force_plank_slab.json +04cc0186657cfcb9900cd27d801910e761dfe82a data/forcecraft/loot_table/blocks/force_plank_stairs.json +343e4bef1e27494008e39e5bf990486e42b50d19 data/forcecraft/loot_table/blocks/force_planks.json +4f87db2d1c069ab627216e6dd7ddf51b64a7a242 data/forcecraft/loot_table/blocks/force_purple_torch.json +379baf564fba3e64b30e6e25760725045b358dd1 data/forcecraft/loot_table/blocks/force_red_torch.json +4332e2e370d812736b9ae462ed6597f023cf3f83 data/forcecraft/loot_table/blocks/force_sapling.json +705e220a9655720f7364564a044061427b83c881 data/forcecraft/loot_table/blocks/force_torch.json +793e657e2a53dc2206cd9f2300450f7373b23034 data/forcecraft/loot_table/blocks/force_white_torch.json +efe99dad58052843283573b4ab55af8f5e2aed44 data/forcecraft/loot_table/blocks/force_wood.json +9488c266dba3de04bb5b5b32a8c1becdba07b1fc data/forcecraft/loot_table/blocks/gray_force_furnace.json +b49728341753fc18262e33015c2ef885ea1afb59 data/forcecraft/loot_table/blocks/green_force_furnace.json +5a4954818f92001cb4bff7c6c988f2c2c3647491 data/forcecraft/loot_table/blocks/infuser.json +028e437c74ffbb5a10f368a7c45a4208f5cf8c8a data/forcecraft/loot_table/blocks/light_blue_force_furnace.json +66bde592b4fbe203f457e8450d902c3edf511ac0 data/forcecraft/loot_table/blocks/light_gray_force_furnace.json +2ba84c935f4c01aa6998dd13adfe3e50717d98df data/forcecraft/loot_table/blocks/lime_force_furnace.json +1a992a67388773180a6bfd8104d1a222fac7140d data/forcecraft/loot_table/blocks/magenta_force_furnace.json +15dbc8f32b26064fdfc05f9889d3cd567b8e3861 data/forcecraft/loot_table/blocks/orange_force_furnace.json +beb424422677900b7c81fbc11ffe684cedc53995 data/forcecraft/loot_table/blocks/pink_force_furnace.json +8b9c18a2621dca14726e216c629cd32dc44ecf43 data/forcecraft/loot_table/blocks/power_ore.json +be24211f3d1ea14b8b450b95f00b4fac8b4a0529 data/forcecraft/loot_table/blocks/purple_force_furnace.json +63503bbffb788b811c5c89cba3dd26ded7da9839 data/forcecraft/loot_table/blocks/red_force_furnace.json +2d3495fb8fbf9c2a50d835ffa90624f3db6839cf data/forcecraft/loot_table/blocks/time_torch.json +94aeab56767396b19bd4927904e6e96d65fb96d7 data/forcecraft/loot_table/blocks/wall_force_black_torch.json +4edf5dfab837afc77ee982b1a9111d30187d6d78 data/forcecraft/loot_table/blocks/wall_force_blue_torch.json +a8a6c6b00061af8effe7cd2f9c1086a1d0340188 data/forcecraft/loot_table/blocks/wall_force_brown_torch.json +fcba7728c575637da4664f6b691aa1f5ff1d0973 data/forcecraft/loot_table/blocks/wall_force_cyan_torch.json +9fea49f76c9ea20d447be74c12afcd5d1d12267d data/forcecraft/loot_table/blocks/wall_force_gray_torch.json +7f55b4cd228f75bf4e28dac34b1f389f03580f04 data/forcecraft/loot_table/blocks/wall_force_green_torch.json +a10b82977f371a0790ce4a74f29a19ebbda084ef data/forcecraft/loot_table/blocks/wall_force_light_blue_torch.json +082ee97e27b66cc3c8093897a93e3e83dc65867e data/forcecraft/loot_table/blocks/wall_force_light_gray_torch.json +7ad159ea3c12cfeb3f44975f51cb0a0fe70279af data/forcecraft/loot_table/blocks/wall_force_lime_torch.json +ced696f90e13f45b595091e71679d5881a8053d0 data/forcecraft/loot_table/blocks/wall_force_magenta_torch.json +b07ac0227b9b8802669b66a19701fd9228fcc1db data/forcecraft/loot_table/blocks/wall_force_orange_torch.json +2f833f100168cdf2f43fcc8e07fba87abace6ac9 data/forcecraft/loot_table/blocks/wall_force_pink_torch.json +785f2d2b8421f703503d8b424d5a38962954c413 data/forcecraft/loot_table/blocks/wall_force_purple_torch.json +85601b34cee5c694469f632403d4483bcd5115fb data/forcecraft/loot_table/blocks/wall_force_red_torch.json +e42ec7db52131d98b76e7c9f2c55ff6cd9d3413e data/forcecraft/loot_table/blocks/wall_force_torch.json +62d700390e76061cd84d84deac5163115c63559e data/forcecraft/loot_table/blocks/wall_force_white_torch.json +978bdaf0685e3d54e79f98a7ad8fb35f2727a2fb data/forcecraft/loot_table/blocks/wall_time_torch.json +5c1a469b530f5e68203bc45ab7c49494ae94e311 data/forcecraft/loot_table/blocks/white_force_furnace.json +70fbafae39c6af9bc581affce62051ebcf18db95 data/forcecraft/loot_table/entities/angry_enderman.json +cb92f72acf4e7736b9aea5b506cb4e1e4972f19f data/forcecraft/loot_table/entities/blue_chu_chu.json +d203d4f26f150feba2e5bec9fa4211ae944967ce data/forcecraft/loot_table/entities/cold_chicken.json +fbc5c2895588b669eb8b02783427dc41d2406263 data/forcecraft/loot_table/entities/cold_cow.json +5d4acb4df17397a7afce6e4d7cf585f0730362eb data/forcecraft/loot_table/entities/cold_pig.json +5e3f77847d5a96a492ec892482e8f017bf163d4a data/forcecraft/loot_table/entities/creeper_tot.json +ef321a229ea8df739bbe59a8bb8cbefda5417f01 data/forcecraft/loot_table/entities/ender_tot.json +f65b5c47fb6dba3eee707487b2bd3a7b7de8bec3 data/forcecraft/loot_table/entities/fairy.json +3fc73d6a649a4a029c6921bbbdf9ec82587f3cc1 data/forcecraft/loot_table/entities/gold_chu_chu.json +60fde0f1bbb2644e066a6270655053c116060ad2 data/forcecraft/loot_table/entities/green_chu_chu.json +fef0bd39d908e9cac95e1d2ab2c9cff7faa49469 data/forcecraft/loot_table/entities/red_chu_chu.json +9411073e505431225f349b5fb8039cf5025bc58b data/forcecraft/loot_table/spoils/tier1.json +9007c70bcc9f7efada58675502a65e593d629729 data/forcecraft/loot_table/spoils/tier2.json +99746ccae3b89e58aae07a17086e12b336f8a612 data/forcecraft/loot_table/spoils/tier3.json diff --git a/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e b/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e index dd9ae4e7..0e924729 100644 --- a/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e +++ b/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e @@ -1,648 +1,648 @@ -// 1.20.4 2024-08-15T21:17:41.0755055 Recipes -336bd70bf0493a85ea26c5c55c7a0f3c6471dbf0 data/forcecraft/advancements/recipes/building_blocks/force_black_torch.json -fbc6710f4224d531b5bba07f413f06838cb299ee data/forcecraft/advancements/recipes/building_blocks/force_blue_torch.json -8e907873e2ff90f9e39f2306846e7dabc767618e data/forcecraft/advancements/recipes/building_blocks/force_brick.json -077082ced57176db1c654bd443b786aee231542f data/forcecraft/advancements/recipes/building_blocks/force_brick_black.json -c05e4d84d7ff63006cee3dfab432b16a5c9ace04 data/forcecraft/advancements/recipes/building_blocks/force_brick_black_slab.json -225d85153ff48dfb99704a9050dcf758526dc321 data/forcecraft/advancements/recipes/building_blocks/force_brick_black_slab_from_force_brick_black.json -eced81ac53a5ea7c0e60a77f444a20be01e65a50 data/forcecraft/advancements/recipes/building_blocks/force_brick_black_stairs.json -30f6c7d315e40fdd468c69e41c541948dec917d9 data/forcecraft/advancements/recipes/building_blocks/force_brick_black_stairs_from_force_brick_black.json -4653f427b7627fa9f0ac61ec92836f927003fb64 data/forcecraft/advancements/recipes/building_blocks/force_brick_blue.json -d12ead0f38c7f9d6cf5954aed1c8134b5abc877d data/forcecraft/advancements/recipes/building_blocks/force_brick_blue_slab.json -950d253fa98bc6f59be23a34f1a524f2e23e93aa data/forcecraft/advancements/recipes/building_blocks/force_brick_blue_slab_from_force_brick_blue.json -550a8e10c57fd1c21e83ba10365baa4bebef3c28 data/forcecraft/advancements/recipes/building_blocks/force_brick_blue_stairs.json -c71e9cdfbd6e669a381c06d846fbc805a4291be0 data/forcecraft/advancements/recipes/building_blocks/force_brick_blue_stairs_from_force_brick_blue.json -77983fb0769f4be2a41f2cb4cb31975ac0e3aa5a data/forcecraft/advancements/recipes/building_blocks/force_brick_brown.json -23e7a1578c8187780682affbeccc6798b9d68b14 data/forcecraft/advancements/recipes/building_blocks/force_brick_brown_slab.json -89eca91e637d0e4bb452b5416bff3f79b1075eca data/forcecraft/advancements/recipes/building_blocks/force_brick_brown_slab_from_force_brick_brown.json -32713d3b99c42027a7deaddade05e28ddc8a0ac2 data/forcecraft/advancements/recipes/building_blocks/force_brick_brown_stairs.json -6bd395c58617b947840412dc4ccf1069c9a025c6 data/forcecraft/advancements/recipes/building_blocks/force_brick_brown_stairs_from_force_brick_brown.json -1b9f2d93615e50ff931fa0f2091b15e7eb52c8d6 data/forcecraft/advancements/recipes/building_blocks/force_brick_cyan.json -e01c0c6abfffd48d1d3eab76b20a0663052fa47f data/forcecraft/advancements/recipes/building_blocks/force_brick_cyan_slab.json -909697d3bb8b3357e311875e2f21cd714e53a85d data/forcecraft/advancements/recipes/building_blocks/force_brick_cyan_slab_from_force_brick_cyan.json -4522fcc51b8aa18300602e3e5228009c1d1bb48d data/forcecraft/advancements/recipes/building_blocks/force_brick_cyan_stairs.json -003acce9c6774d766cd2acd1a63eccab9a937209 data/forcecraft/advancements/recipes/building_blocks/force_brick_cyan_stairs_from_force_brick_cyan.json -f796b63a7236ca449f88adbdf45fa04c8de74777 data/forcecraft/advancements/recipes/building_blocks/force_brick_gray.json -8259599223f28aec95bf149509ded9b78b4b8a6f data/forcecraft/advancements/recipes/building_blocks/force_brick_gray_slab.json -9ffcaa76e45e948a727c2b5d7789311b60799f59 data/forcecraft/advancements/recipes/building_blocks/force_brick_gray_slab_from_force_brick_gray.json -3462bf1135bf05ab58793a65a434b919d5f99786 data/forcecraft/advancements/recipes/building_blocks/force_brick_gray_stairs.json -0087bf5dc23d3b20a71be748a12b00f3c2f407f0 data/forcecraft/advancements/recipes/building_blocks/force_brick_gray_stairs_from_force_brick_gray.json -9d35eed3a78ee85a6aaa1f31980971f6a9095477 data/forcecraft/advancements/recipes/building_blocks/force_brick_green.json -ae8b3ad81fd01bfde901ca1339b3567f6a437e08 data/forcecraft/advancements/recipes/building_blocks/force_brick_green_slab.json -5e42aa9b41e924603195b949faa43af4957d1f20 data/forcecraft/advancements/recipes/building_blocks/force_brick_green_slab_from_force_brick_green.json -c26948cfb608f37302af42e125e4edf0c8d81f1a data/forcecraft/advancements/recipes/building_blocks/force_brick_green_stairs.json -ac6fbfa5fd4a57e94a7c241e5161542968459e92 data/forcecraft/advancements/recipes/building_blocks/force_brick_green_stairs_from_force_brick_green.json -aec2274e4bf61c1a31e8d61fd8cff42a92272911 data/forcecraft/advancements/recipes/building_blocks/force_brick_light_blue.json -5c2cc0a14b489b6c552814afb629a7a288c39b53 data/forcecraft/advancements/recipes/building_blocks/force_brick_light_blue_slab.json -a2498b245294164b09069af3e1fc01aaf24d4f3b data/forcecraft/advancements/recipes/building_blocks/force_brick_light_blue_slab_from_force_brick_light_blue.json -c288e22e9bd3c65ff3af508e7722577e0ae269da data/forcecraft/advancements/recipes/building_blocks/force_brick_light_blue_stairs.json -ced80128e38d412eadd1c8ef0bbf731409fc371e data/forcecraft/advancements/recipes/building_blocks/force_brick_light_blue_stairs_from_force_brick_light_blue.json -755e13b74708a32b0a8db74d32b3ee10f7920581 data/forcecraft/advancements/recipes/building_blocks/force_brick_light_gray.json -a94be0d99f06e34e9c3f4dc0598404f4ff36a168 data/forcecraft/advancements/recipes/building_blocks/force_brick_light_gray_slab.json -8103f972abc10285456493644a1b8c4b3a2b5f70 data/forcecraft/advancements/recipes/building_blocks/force_brick_light_gray_slab_from_force_brick_light_gray.json -72331d4e23e9e9f35c26fb83bfd4ac5b29d47c0e data/forcecraft/advancements/recipes/building_blocks/force_brick_light_gray_stairs.json -ae8e9b49bdb1a690cbcf2c6387a2d3e005137575 data/forcecraft/advancements/recipes/building_blocks/force_brick_light_gray_stairs_from_force_brick_light_gray.json -9d6c9c8a96ae623178d1aa8b368b4b3b51963934 data/forcecraft/advancements/recipes/building_blocks/force_brick_lime.json -1c7c64be8671fc190eb5a12b58dbe160f653fe86 data/forcecraft/advancements/recipes/building_blocks/force_brick_lime_slab.json -ea6cf52fafdf5947813359b0970173aecfcb6c68 data/forcecraft/advancements/recipes/building_blocks/force_brick_lime_slab_from_force_brick_lime.json -a6bb2c662ec058c13d8b85ea1ca7e1bb04d44af3 data/forcecraft/advancements/recipes/building_blocks/force_brick_lime_stairs.json -4137760554c2b144ea46fbe3583160d7321dcda1 data/forcecraft/advancements/recipes/building_blocks/force_brick_lime_stairs_from_force_brick_lime.json -37a67b687b949dc4c9732f1d602a7d66fb03312b data/forcecraft/advancements/recipes/building_blocks/force_brick_magenta.json -c3b5fc068357b1b27ed635e50f4b955af38fbea4 data/forcecraft/advancements/recipes/building_blocks/force_brick_magenta_slab.json -9a1ff10167dda56a0fe973f2443c8a5ade12ea6e data/forcecraft/advancements/recipes/building_blocks/force_brick_magenta_slab_from_force_brick_magenta.json -5045d32ee46cf40fb42c2461e919e8e04d4e6718 data/forcecraft/advancements/recipes/building_blocks/force_brick_magenta_stairs.json -f3d48cae05cc603616bc19deb9b4541eb598892a data/forcecraft/advancements/recipes/building_blocks/force_brick_magenta_stairs_from_force_brick_magenta.json -4f661ea2bcdb9c3e3c0b02f01f0a7fdf93124841 data/forcecraft/advancements/recipes/building_blocks/force_brick_orange.json -06a42d34e5525cd81b8b533b22a652cdce891558 data/forcecraft/advancements/recipes/building_blocks/force_brick_orange_slab.json -2dbd4765cfb0c44fccbc260f3c5f2537b5dfc3ea data/forcecraft/advancements/recipes/building_blocks/force_brick_orange_slab_from_force_brick_orange.json -6907d4faeb76f621bc13b3289c45d35ec2cf421d data/forcecraft/advancements/recipes/building_blocks/force_brick_orange_stairs.json -09c703efdcd43cc39e2d877ff55b9fde58779bc1 data/forcecraft/advancements/recipes/building_blocks/force_brick_orange_stairs_from_force_brick_orange.json -208060a4db76035b6da9e4c1a094c9757b769e11 data/forcecraft/advancements/recipes/building_blocks/force_brick_pink.json -7c99d25929b35464939878060cf5eccf2c38fdd8 data/forcecraft/advancements/recipes/building_blocks/force_brick_pink_slab.json -61a39242d6bed821518acc49d7c998ab1aca88f0 data/forcecraft/advancements/recipes/building_blocks/force_brick_pink_slab_from_force_brick_pink.json -98ed2147a7556cc3a144033b6a691da50c865e8b data/forcecraft/advancements/recipes/building_blocks/force_brick_pink_stairs.json -33356bf02b948f4efd3a53429de0a10cc2a1b3b8 data/forcecraft/advancements/recipes/building_blocks/force_brick_pink_stairs_from_force_brick_pink.json -8e9ca5efd5390acbeec6cb5927d5113b349148e0 data/forcecraft/advancements/recipes/building_blocks/force_brick_purple.json -53d32d05397d2150cd985e3a594a8e9205a4db6b data/forcecraft/advancements/recipes/building_blocks/force_brick_purple_slab.json -17bd90dee0552c4e9f9a5c6fa601f0a9659a4045 data/forcecraft/advancements/recipes/building_blocks/force_brick_purple_slab_from_force_brick_purple.json -0ec0950c83efff0a7b8c5fe0cb0bad0b8d8c3d43 data/forcecraft/advancements/recipes/building_blocks/force_brick_purple_stairs.json -6a13e00e9406611996136d834cd44b474f35b893 data/forcecraft/advancements/recipes/building_blocks/force_brick_purple_stairs_from_force_brick_purple.json -2b274b8772f7f86a0f5d5e25cbc9902a2cfd0cd2 data/forcecraft/advancements/recipes/building_blocks/force_brick_red.json -dea0857067d58259c1f9431c8ddacc86fd466380 data/forcecraft/advancements/recipes/building_blocks/force_brick_red_slab.json -763bb18342cd358b486667bd2c487c752e47fac8 data/forcecraft/advancements/recipes/building_blocks/force_brick_red_slab_from_force_brick_red.json -9656a0db5d60b23df13173024f258e775801837a data/forcecraft/advancements/recipes/building_blocks/force_brick_red_stairs.json -1097640f13d0be986ade1e1451d757a6639abeea data/forcecraft/advancements/recipes/building_blocks/force_brick_red_stairs_from_force_brick_red.json -5058fb9e6971f0246d6193a537c57a522b910a94 data/forcecraft/advancements/recipes/building_blocks/force_brick_slab.json -58125cfe31f3626d8d2061e7c8dfc305354ad54a data/forcecraft/advancements/recipes/building_blocks/force_brick_slab_from_force_brick.json -d8e3a4a6db99d54c1f481db4dddca50c069fc69b data/forcecraft/advancements/recipes/building_blocks/force_brick_stairs.json -f6684fe08c3274de9d97c79df161946e1782ce0c data/forcecraft/advancements/recipes/building_blocks/force_brick_stairs_from_force_brick.json -ea4be230fdf7c31f23e8ca12e2295fb936226cfc data/forcecraft/advancements/recipes/building_blocks/force_brick_white.json -6b711fd392647a7f87ae081539fda233f5cc4247 data/forcecraft/advancements/recipes/building_blocks/force_brick_white_slab.json -c0174b81b680cd3ebff63a2f515379bca158f6d2 data/forcecraft/advancements/recipes/building_blocks/force_brick_white_slab_from_force_brick_white.json -61c35f909afe695c96fa3264ba8be513d5c17fd2 data/forcecraft/advancements/recipes/building_blocks/force_brick_white_stairs.json -b1c882c4208d168cb043e3efd1bc86fd8e1cfd7a data/forcecraft/advancements/recipes/building_blocks/force_brick_white_stairs_from_force_brick_white.json -28f4c6a71ced28ca884948f674ba851fc96c8231 data/forcecraft/advancements/recipes/building_blocks/force_brick_yellow.json -38ddbbfe747e099f3b434b19c005ac5fb2ef05fc data/forcecraft/advancements/recipes/building_blocks/force_brick_yellow_slab.json -9eb7ff6c861fd1ac7673516aee8153b89c81f3ae data/forcecraft/advancements/recipes/building_blocks/force_brick_yellow_slab_from_force_brick_yellow.json -d8765968933b72417d41e43262b94a31b53561a1 data/forcecraft/advancements/recipes/building_blocks/force_brick_yellow_stairs.json -0e186fab3d2ff60112c4f95b5d4d441c499fb75c data/forcecraft/advancements/recipes/building_blocks/force_brick_yellow_stairs_from_force_brick_yellow.json -a42784858b4e21a74c8107ffd91ec2b08014a913 data/forcecraft/advancements/recipes/building_blocks/force_brown_torch.json -020bb2c892e3bb64cc4b8832f6e5525ac607868c data/forcecraft/advancements/recipes/building_blocks/force_cyan_torch.json -09aba1d9a13ad3edee73fef2415c2bd6ed17374e data/forcecraft/advancements/recipes/building_blocks/force_gray_torch.json -27bce1128a0a28010b264677739d0934564e3772 data/forcecraft/advancements/recipes/building_blocks/force_green_torch.json -e60a703c6cdff2a4f2ae364423f322c62d582277 data/forcecraft/advancements/recipes/building_blocks/force_light_blue_torch.json -81fd99b84deb4aa5fcbe193f34c0dffbeb008d43 data/forcecraft/advancements/recipes/building_blocks/force_light_gray_torch.json -979c4948b77cc225a4f6efd0a08d7d78900326d6 data/forcecraft/advancements/recipes/building_blocks/force_lime_torch.json -ea44451276e577e4c0e2d454b0d584a86f711862 data/forcecraft/advancements/recipes/building_blocks/force_magenta_torch.json -9fa0851e408b076a6894349f13c2222377f6e98a data/forcecraft/advancements/recipes/building_blocks/force_orange_torch.json -dfccbda582ed7781dde132c7e1165f76473c69ba data/forcecraft/advancements/recipes/building_blocks/force_pink_torch.json -1eb7020bdb46950126fe53556463042b76f8b546 data/forcecraft/advancements/recipes/building_blocks/force_planks.json -9d67f2fc9c61bf9cda4c36b08887d7e1b4612cfe data/forcecraft/advancements/recipes/building_blocks/force_plank_slab.json -a82b91c77db4ec09a496ba3f989e6c9237f11c39 data/forcecraft/advancements/recipes/building_blocks/force_plank_stairs.json -cea5da992f88c1d2a7c48a3bba4e9fa051b05ed5 data/forcecraft/advancements/recipes/building_blocks/force_purple_torch.json -b7475c0020e179c0d12850a42421d22e6ad54ff2 data/forcecraft/advancements/recipes/building_blocks/force_red_torch.json -3dca0f41a8ee81f4c4dc1b187748f14112ad4de2 data/forcecraft/advancements/recipes/building_blocks/force_torch.json -af2cd424c3688cd0259128be1edee5b1d136ca6d data/forcecraft/advancements/recipes/building_blocks/force_white_torch.json -8b17ed34af9d4d217162cefedc3c4a1751c91a00 data/forcecraft/advancements/recipes/building_blocks/force_wood.json -ba5a66cb03017d156af8a596ba7b33bd1085ded8 data/forcecraft/advancements/recipes/combat/force_bow.json -01cd214d98284926f98afdc6ad84fe1207aef59b data/forcecraft/advancements/recipes/combat/force_sword.json -423f2da37a63cd60468e5cd6a34e8001ebf9c3a1 data/forcecraft/advancements/recipes/food/cooked_bacon_from_smelting.json -9f73bf50ef5362da64fd217b96ec632ad66458ac data/forcecraft/advancements/recipes/food/fortune_cookie.json -65c3bddd7d025b8f2fae8f587137518b5ae4942e data/forcecraft/advancements/recipes/food/snow_cookie.json -442d33563e6c4fed452e88835117af771b378181 data/forcecraft/advancements/recipes/food/soul_wafer.json -c5f67f482cfca35d316bea885062e4eaf84cbf00 data/forcecraft/advancements/recipes/freezing/freezing/bone_from_blaze_rod.json -2299cdd9c4b82a5dc46d54bae68ad4ed60daaa48 data/forcecraft/advancements/recipes/freezing/freezing/bone_meal_from_blaze_powder.json -47714818639b181f7b041c099e1013db375088ff data/forcecraft/advancements/recipes/freezing/freezing/brick_from_nether_brick.json -dafc20e4c5782c9719653d8f38db0c040a840314 data/forcecraft/advancements/recipes/freezing/freezing/cobblestone_from_netherrack.json -6101415942977bc3eb37623a95c67a0920a4f0bb data/forcecraft/advancements/recipes/freezing/freezing/ice_from_water_bottle.json -b5b1de812bf607d09c0598c212d664ae39a97c91 data/forcecraft/advancements/recipes/freezing/freezing/ice_from_water_bucket.json -cc44995b9639dc8ff6b2fc0ddefd2641e8c621bd data/forcecraft/advancements/recipes/freezing/freezing/leather_from_rotten_flesh.json -07dc550962b8097aa6ce1a3534c1eb2d7a6b9c4f data/forcecraft/advancements/recipes/freezing/freezing/obsidian_from_lava_bucket.json -496f5ae1121c73b7ed37049cb128ba566b7a69fc data/forcecraft/advancements/recipes/freezing/freezing/sandstone_from_red_sand.json -c765f81b9c01ddd01e23ae6dc971d1591643902f data/forcecraft/advancements/recipes/freezing/freezing/sandstone_from_sand.json -1f7bd021cebf7c65eb8014fce80b1b65cb6cb0f3 data/forcecraft/advancements/recipes/freezing/freezing/snowball_from_slimeball.json -6ef5ba84a9b395b65f791877ab7de72cc25731d5 data/forcecraft/advancements/recipes/freezing/freezing/stone_bricks_from_stone.json -56ddf4a08e695be3d834a816aa8fedd9618af472 data/forcecraft/advancements/recipes/freezing/freezing/stone_from_cobblestone.json -e2624b385b1f6bf2f880b11f2c2ae967db077e0b data/forcecraft/advancements/recipes/grinding/grinding/acacia_planks_from_door.json -7d5d8f6fe6f56f0567b563a8f41723061b7acda3 data/forcecraft/advancements/recipes/grinding/grinding/acacia_planks_from_log.json -058f00c6c09df34e88e53fe5e01eb094a1997786 data/forcecraft/advancements/recipes/grinding/grinding/acacia_planks_from_pressure_plate.json -3ebf17ff440b8eec929a6add39cde017d8c142a1 data/forcecraft/advancements/recipes/grinding/grinding/birch_planks_from_door.json -5056e730c5b1d5a3f58fdbff9f3ae3bab9f7455b data/forcecraft/advancements/recipes/grinding/grinding/birch_planks_from_log.json -b128957350ec10416aebd5586c1b42bc7530ec3a data/forcecraft/advancements/recipes/grinding/grinding/birch_planks_from_pressure_plate.json -d2cd3e441259eb33cbd37dc1dfd7a3eafaae8578 data/forcecraft/advancements/recipes/grinding/grinding/blaze_powder_from_blaze_rod.json -887b0473720d2fc5c7e873aae5eb9045e61c2e2c data/forcecraft/advancements/recipes/grinding/grinding/bone_meal_from_bone.json -1dc5dac21b8c8c06ddd68d304c2b9e2102176efb data/forcecraft/advancements/recipes/grinding/grinding/cherry_planks_from_door.json -0147b9b8ad7bba3710d5912710832a39a9ac7330 data/forcecraft/advancements/recipes/grinding/grinding/cherry_planks_from_log.json -cd8cfedb8e9f10bd50b6951eadc0048c0309bf9e data/forcecraft/advancements/recipes/grinding/grinding/cherry_planks_from_pressure_plate.json -8648e49af70e834872638e1805fd51b0f87b656b data/forcecraft/advancements/recipes/grinding/grinding/cobblestone_from_furnace.json -7284e4d475100b012fc5a41b37240b40c70cbe8a data/forcecraft/advancements/recipes/grinding/grinding/cooked_bacon_from_cooked_porkchop.json -73dca00338dcda5168c63fd9bea7b0c6f1484b2d data/forcecraft/advancements/recipes/grinding/grinding/crimson_planks_from_door.json -e356bb105b29eadc46cf87de25ea88249fdd5b0f data/forcecraft/advancements/recipes/grinding/grinding/crimson_planks_from_log.json -d21756bf94a3bce163cda799749821866578e771 data/forcecraft/advancements/recipes/grinding/grinding/crimson_planks_from_pressure_plate.json -61d0645c69b0fdca9f7b59be64d3b1a3694125c2 data/forcecraft/advancements/recipes/grinding/grinding/dark_oak_planks_from_door.json -2ea9b2f2a5a15255f5746fb742d4cd6ee224323c data/forcecraft/advancements/recipes/grinding/grinding/dark_oak_planks_from_log.json -44852020183183e3376b5608f60785e0486042e1 data/forcecraft/advancements/recipes/grinding/grinding/dark_oak_planks_from_pressure_plate.json -f21e75fd5f3dde630c36587f03b3164ed5f6cb8a data/forcecraft/advancements/recipes/grinding/grinding/flint_from_gravel.json -bf2feaa9a9eff96bfd99c134fa0b170544d3179f data/forcecraft/advancements/recipes/grinding/grinding/force_planks_from_log.json -934cb8c2910e0af54ab9bd6af380e12ab2262bf4 data/forcecraft/advancements/recipes/grinding/grinding/gold_ingot_from_light_weighted_pressure_plate.json -97aa74af8bbd193ffe6f16aeb23f5f6a4a56dd91 data/forcecraft/advancements/recipes/grinding/grinding/ingots_from_force_furnace.json -8610e2f904a7e0bf9168b30237f958946973e010 data/forcecraft/advancements/recipes/grinding/grinding/iron_ingot_from_door.json -3a2a774abba8348837eeea1bb59f6113c1ca74ee data/forcecraft/advancements/recipes/grinding/grinding/iron_ingot_from_heavy_weighted_pressure_plate.json -4e7ea98a2e8398daf7488c5d09b9ec112dc5864e data/forcecraft/advancements/recipes/grinding/grinding/jungle_planks_from_door.json -94dae4dbe857467e95d2eec61b20d650aa928095 data/forcecraft/advancements/recipes/grinding/grinding/jungle_planks_from_log.json -0023a64fbe9342985d47d3e9df8276bfe174bfae data/forcecraft/advancements/recipes/grinding/grinding/jungle_planks_from_pressure_plate.json -5c985c2db6bdad4c8e0c5b7ff229efde7145864e data/forcecraft/advancements/recipes/grinding/grinding/mangrove_planks_from_door.json -a2efac772937af99b95cd39379ec507bf96ac8a7 data/forcecraft/advancements/recipes/grinding/grinding/mangrove_planks_from_log.json -1a199aa3773dc40f5b55d6a9959e7cd88aaeb9ab data/forcecraft/advancements/recipes/grinding/grinding/mangrove_planks_from_pressure_plate.json -c793166c071bb8b25846ad3c599f1f7b52c9144a data/forcecraft/advancements/recipes/grinding/grinding/oak_planks_from_bookshelf.json -43cbc1a777ea6d0b88bb4461a8396bee5b7caf6e data/forcecraft/advancements/recipes/grinding/grinding/oak_planks_from_chest.json -5ddd411ae1a5597d8b7ddbfbb5e5d7e2c12f2488 data/forcecraft/advancements/recipes/grinding/grinding/oak_planks_from_crafting_table.json -4476d414730ce85a48d0a4c4078fdb84535be2ce data/forcecraft/advancements/recipes/grinding/grinding/oak_planks_from_door.json -44a5a2853700e7967a6912f55ad751a6cfbf0bdf data/forcecraft/advancements/recipes/grinding/grinding/oak_planks_from_log.json -42eeeae24decd7a3a0e9e250ca08449dc801b79d data/forcecraft/advancements/recipes/grinding/grinding/oak_planks_from_pressure_plate.json -3f6b9aa1031499db941e06669f457b07b59d3657 data/forcecraft/advancements/recipes/grinding/grinding/paper_from_book.json -161a644b92350970759d2c3c897711da1f17a075 data/forcecraft/advancements/recipes/grinding/grinding/raw_bacon_from_porkchop.json -fd408573dff549dc0e8f510f939f587d32609167 data/forcecraft/advancements/recipes/grinding/grinding/sand_from_cobblestone.json -835d0f0e5981184e86f437c4adcf4fe014ba7af8 data/forcecraft/advancements/recipes/grinding/grinding/sand_from_red_sandstone.json -81dfc857dee58df3fe92b067e86a2f7cd425c612 data/forcecraft/advancements/recipes/grinding/grinding/sand_from_sandstone.json -507dec9a2154fff37a9ee827bd27a9de0b0558fb data/forcecraft/advancements/recipes/grinding/grinding/spruce_planks_from_door.json -491536665e65b3c96df0a37c193c58e3174f83ae data/forcecraft/advancements/recipes/grinding/grinding/spruce_planks_from_log.json -2a82b7318c6e3869065e124ad390cf6c872a766b data/forcecraft/advancements/recipes/grinding/grinding/spruce_planks_from_pressure_plate.json -d5db49720b20657a20a7a8153f24d4864792b7cd data/forcecraft/advancements/recipes/grinding/grinding/stone_from_pressure_plate.json -f4fe6eea2542fa702f1643193e6d48502f256fec data/forcecraft/advancements/recipes/grinding/grinding/string_from_wool.json -36ed5f65ea0a1990ea0ef7b8fb5dde3b15bc562b data/forcecraft/advancements/recipes/grinding/grinding/string_from_wool_carpet.json -d3a663e7c56a2f1de6e234443818c502e2f989a4 data/forcecraft/advancements/recipes/grinding/grinding/warped_planks_from_door.json -667844ea27ab4be5dee58c9744c38281aecdaf51 data/forcecraft/advancements/recipes/grinding/grinding/warped_planks_from_log.json -66597004c376a8828a9bc6c05401fc11a4f871e6 data/forcecraft/advancements/recipes/grinding/grinding/warped_planks_from_pressure_plate.json -ef77d3b221146382a38a005a7f71df91b0e7887b data/forcecraft/advancements/recipes/misc/black_force_furnace_from_dye.json -827e4644c8a797ad2cb6221d289c321694d876a3 data/forcecraft/advancements/recipes/misc/blue_force_furnace_from_dye.json -dc1e4f38b1338bfaed9684a95019c78c4301ca90 data/forcecraft/advancements/recipes/misc/brown_force_furnace_from_dye.json -712e1d3da57a92708b7a2e3d0328982203e9d666 data/forcecraft/advancements/recipes/misc/cyan_force_furnace_from_dye.json -23627bb3fb0833cc8066884aea7283f3bba20168 data/forcecraft/advancements/recipes/misc/force_and_you.json -71975d182f9028768407595a7db13ada33fd02e5 data/forcecraft/advancements/recipes/misc/force_belt.json -33e31e3a5ff090c986661ba21ecf34956b30acb8 data/forcecraft/advancements/recipes/misc/force_flask.json -1624a396eacfa3d08436bce2f8bf872de05eabfb data/forcecraft/advancements/recipes/misc/force_flask_from_entity_flask.json -be4cdda1ae1b8afe994b94b3b755f1ebf95d4941 data/forcecraft/advancements/recipes/misc/force_furnace_from_dye.json -05d6d311e7baf1d2b8e10b12856d14942747eade data/forcecraft/advancements/recipes/misc/force_gear.json -e2bfe25304523cfa6f1fced966822edd9690cfd0 data/forcecraft/advancements/recipes/misc/force_ingot_from_gold.json -3d489963309c498572daa0f998eac795c61137d2 data/forcecraft/advancements/recipes/misc/force_ingot_from_iron.json -829bf865b42ac094323a6f491485d1168d70a171 data/forcecraft/advancements/recipes/misc/force_ingot_from_nuggets.json -084a9a84d8910d8408ec58ca83d205a5f43ea731 data/forcecraft/advancements/recipes/misc/force_nugget.json -19a24c8a0bb407267b1d3eafdaaa8187ad131651 data/forcecraft/advancements/recipes/misc/force_pack_upgrade.json -0e2902dda4b517e667b578c4e221f2b466a1505f data/forcecraft/advancements/recipes/misc/force_stick.json -7b73fdb648b6ed47b145d887d770a51fcd2bd677 data/forcecraft/advancements/recipes/misc/golden_power_source.json -e60c90a44d12a181e582b0708f852461cdf7245c data/forcecraft/advancements/recipes/misc/gray_force_furnace_from_dye.json -2e02fb89a4241fd91c3e7f7130d0c003b2d53e58 data/forcecraft/advancements/recipes/misc/green_force_furnace_from_dye.json -260fc1c9f929996bf48f786980789422b983cfa5 data/forcecraft/advancements/recipes/misc/gunpowder_from_pile_of_gunpowder.json -ede9c1489fb662153b1dc35d5d9d5034da9adfd0 data/forcecraft/advancements/recipes/misc/item_card.json -8e0fa75fbfd3ee720ac8c9d01d0aab1c0ade1106 data/forcecraft/advancements/recipes/misc/item_card_empty.json -7818f620c9e9c436949829a025ae992fbdf7f3ce data/forcecraft/advancements/recipes/misc/item_card_flipped.json -c686eb17c48cc030e17295520e6b6945d141463c data/forcecraft/advancements/recipes/misc/light_blue_force_furnace_from_dye.json -63b3966eae5fcb600bbc3086e17764290ede6abf data/forcecraft/advancements/recipes/misc/light_gray_force_furnace_from_dye.json -273a6a14802dad541086d4f147dda317389a6ebb data/forcecraft/advancements/recipes/misc/lime_force_furnace_from_dye.json -086cf2e0114f7ab709f2598b140fe9df961b9a59 data/forcecraft/advancements/recipes/misc/magenta_force_furnace_from_dye.json -2c0f82445830a0c874ed3a35abb8e99422cc3c45 data/forcecraft/advancements/recipes/misc/magnet_glove.json -e62788dcb40d1fd095199a7ce697831030a88824 data/forcecraft/advancements/recipes/misc/orange_force_furnace_from_dye.json -c7ffdb7ae2e0439afd131e2d9499eb2d03116647 data/forcecraft/advancements/recipes/misc/pink_force_furnace_from_dye.json -1ff5fe49b91887dc6556d9c66decf11d2e5ab994 data/forcecraft/advancements/recipes/misc/purple_force_furnace_from_dye.json -65384a6c741e92fb855f5d118ece09e288859bef data/forcecraft/advancements/recipes/misc/red_force_furnace_from_dye.json -8855090f32f96d64a27f8e13dc042c6b42fb7d64 data/forcecraft/advancements/recipes/misc/red_potion.json -30ce51a9558c6a12f776db92c4cdb350c7b80f33 data/forcecraft/advancements/recipes/misc/slime_ball_from_chu_jelly.json -764c3d63c60ea6c55efcfe8f960855f1d833e482 data/forcecraft/advancements/recipes/misc/spoils_bag.json -7a7d8ca9793275209b473ce2f127c347eb9536f2 data/forcecraft/advancements/recipes/misc/spoils_bag_t2.json -6c3e49510598a9d5721d2573b43f97a25a9e3098 data/forcecraft/advancements/recipes/misc/spoils_bag_t3.json -55847b8276991fb169ad1ee8b552f8e5ade7d26d data/forcecraft/advancements/recipes/misc/treasure_core.json -9dee872309e5923a5a3f28a3468963adf0f1e104 data/forcecraft/advancements/recipes/misc/white_force_furnace_from_dye.json -ca63c48e4fd772c0d86151ede4ec89f41b1fc134 data/forcecraft/advancements/recipes/redstone/force_engine.json -b94782a9b9140ff7e0a4b83b50c90d28961b25db data/forcecraft/advancements/recipes/redstone/force_furnace.json -09532404fdd2cb489c79a9c0970b4246d981534e data/forcecraft/advancements/recipes/tools/baconator.json -0f8e908bfd0faae17cb796174c1f99a705ac498b data/forcecraft/advancements/recipes/tools/force_arrow.json -17e449e618d2c4e76b4ff5162ce1569b5067b172 data/forcecraft/advancements/recipes/tools/force_axe.json -8ac6c86762a52c38cb81dce3f48f24ab925bd8d0 data/forcecraft/advancements/recipes/tools/force_boots.json -54cb7941dc29f6b193c1e77160d5bddffb0c6a18 data/forcecraft/advancements/recipes/tools/force_chest.json -a6a593030659028170c4818f8ef7fc975c2d1d59 data/forcecraft/advancements/recipes/tools/force_helmet.json -8debc4bc8d232682e6bd6f3b24c0b62d4e7b2234 data/forcecraft/advancements/recipes/tools/force_legs.json -412adf8e5216fb0bba063c5c728827bcf23d4166 data/forcecraft/advancements/recipes/tools/force_mitt.json -a3dc9d660ecd557c8d4158767fe110acc20f6c83 data/forcecraft/advancements/recipes/tools/force_pack.json -b9c16e9ca0b256dc4fe58bf0f965083ab4bc147c data/forcecraft/advancements/recipes/tools/force_pickaxe.json -cda0a8d4c9c7873e52a78e0498a1375038186d00 data/forcecraft/advancements/recipes/tools/force_rod.json -1267f331ba258d499567b3633ca5223a579a1f35 data/forcecraft/advancements/recipes/tools/force_rod_from_stick.json -a48cf302a6ae39fa268224ddf1047b37622ea4f0 data/forcecraft/advancements/recipes/tools/force_shears.json -25ec9aba9a78bf6b65959e7fab8788aeefc268e5 data/forcecraft/advancements/recipes/tools/force_shovel.json -cbd5953168cf5a8022fe36292dd0499635d3cf31 data/forcecraft/advancements/recipes/tools/force_wrench.json -f8368b8994ee919aef4f07a0425f23ec2fa14baf data/forcecraft/advancements/recipes/transmutation/transmutation/beef_to_porkchop.json -6b2752bf236246b3e90fc6778af52b232778b544 data/forcecraft/advancements/recipes/transmutation/transmutation/brown_to_red_mushroom.json -4d8876c5e8a7a26ee03c65125f32d3e32af8fefa data/forcecraft/advancements/recipes/transmutation/transmutation/chicken_to_beef.json -a6d608256978e057e8518f67ca437a1e1bb45a46 data/forcecraft/advancements/recipes/transmutation/transmutation/cooked_beef_to_porkchop.json -c413cd0ae2a096fa02654173bd0cdbdb6ba46170 data/forcecraft/advancements/recipes/transmutation/transmutation/cooked_chicken_to_beef.json -8b28e1e2530e7f1ee268d772f1abe59cd3d98146 data/forcecraft/advancements/recipes/transmutation/transmutation/cooked_mutton_to_chicken.json -155129d2658758454201fbf3c95ffc64060d750c data/forcecraft/advancements/recipes/transmutation/transmutation/cooked_porkchop_to_mutton.json -3cb1248f7b21fd17a35ed8de9a13742ecebaed47 data/forcecraft/advancements/recipes/transmutation/transmutation/dandelion_to_poppy.json -a2e73ca1b620be67efe8ac6d4eba879b4d50bec9 data/forcecraft/advancements/recipes/transmutation/transmutation/diamond_from_axe.json -16db455864c0ace18d4ba3e13977d03db0661767 data/forcecraft/advancements/recipes/transmutation/transmutation/diamond_from_boots.json -0d407d6eac18de271b6d3784ebe71952ec6d86cd data/forcecraft/advancements/recipes/transmutation/transmutation/diamond_from_chestplate.json -9acd519763bb6e7f1f519d6ee3fa6517545aa217 data/forcecraft/advancements/recipes/transmutation/transmutation/diamond_from_helmet.json -26cfd33ec743b942dcfa2731c6515cddedc4b9cc data/forcecraft/advancements/recipes/transmutation/transmutation/diamond_from_hoe.json -64d9c5beb39a1f9b95f80fc7bb99d2b47464a1ea data/forcecraft/advancements/recipes/transmutation/transmutation/diamond_from_horse_armor.json -92ac17257afc3d187b96c2ca5b89af57509bbbcb data/forcecraft/advancements/recipes/transmutation/transmutation/diamond_from_leggings.json -d34426c6eac2b1caa9caab462c6818a803e6f2ac data/forcecraft/advancements/recipes/transmutation/transmutation/diamond_from_pickaxe.json -c4542b1e242d854273f21d9f567527a93df2de05 data/forcecraft/advancements/recipes/transmutation/transmutation/diamond_from_shovel.json -34d03ccbc822bd9705f65bf2f1d3540a8c80261b data/forcecraft/advancements/recipes/transmutation/transmutation/diamond_from_sword.json -4fe8a60595460ec749b282c80cd0a1d22d14285b data/forcecraft/advancements/recipes/transmutation/transmutation/experience_bottle_from_enchanted_book.json -1cb03d30241801bffa2831cfd18ce3179f976971 data/forcecraft/advancements/recipes/transmutation/transmutation/force_brick_from_stone_bricks.json -2dfbfd40338d0ed0c745a44cf62e044e00366b8c data/forcecraft/advancements/recipes/transmutation/transmutation/force_sapling_from_sapling.json -83096ad6d9ea7b7e00d676e85d1a534bfe7eff16 data/forcecraft/advancements/recipes/transmutation/transmutation/fortune_from_fortune_cookie.json -0c5e2e62144225563aa446f58d5e3e0114f692f1 data/forcecraft/advancements/recipes/transmutation/transmutation/gold_ingot_from_axe.json -5612cd2d1b57037054748ca3339958fcb4d3d6a2 data/forcecraft/advancements/recipes/transmutation/transmutation/gold_ingot_from_boots.json -b762a2732843fb0264935bcec7b0d868eaeae045 data/forcecraft/advancements/recipes/transmutation/transmutation/gold_ingot_from_chestplate.json -f8f9e62e2466ac37916661d3179bafe205e9afbf data/forcecraft/advancements/recipes/transmutation/transmutation/gold_ingot_from_clock.json -f03ffe29f43f9da8a6b899bc57ff20527b99ff1c data/forcecraft/advancements/recipes/transmutation/transmutation/gold_ingot_from_helmet.json -a1a4b2b50c283e4e5529ebe5d9883a7988c64896 data/forcecraft/advancements/recipes/transmutation/transmutation/gold_ingot_from_hoe.json -6e302ca16f49cca05428b6748e84b8a96bc65cf0 data/forcecraft/advancements/recipes/transmutation/transmutation/gold_ingot_from_horse_armor.json -a718e4231c48bc864959ff575a108757287ec0f3 data/forcecraft/advancements/recipes/transmutation/transmutation/gold_ingot_from_leggings.json -dc94cd33fbc524a8beb457788fccc5fe93e7e76a data/forcecraft/advancements/recipes/transmutation/transmutation/gold_ingot_from_pickaxe.json -758434076a67ba87a9a9e9b54bbb326e1e9bb754 data/forcecraft/advancements/recipes/transmutation/transmutation/gold_ingot_from_shovel.json -a2a645928321719cf6a4f545180c3db8a3ebdb6d data/forcecraft/advancements/recipes/transmutation/transmutation/gold_ingot_from_sword.json -f56177e792ed1e1fedf687c8080b38f7f4b0c4a8 data/forcecraft/advancements/recipes/transmutation/transmutation/infuser_from_enchanting_table.json -87d7c88fdbf2e15829615daaf9569c439c382875 data/forcecraft/advancements/recipes/transmutation/transmutation/irom_ingot_from_cauldron.json -0674b708ecd5a196f1e9d23334febf6acc419924 data/forcecraft/advancements/recipes/transmutation/transmutation/irom_ingot_from_compass.json -83a643332f75ba4c0d6ef4e74eb307d931956355 data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_anvil.json -6f76dbda04c48280fec982b4d2acf440ebd303e7 data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_axe.json -4fe5b350f5f81006004cc0192ac65ca1bbd28a8a data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_boots.json -65de5ea3984d3e58c897f1d1d0488397adf46df7 data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_bucket.json -e0d95b974bee6b6f9cf5693b12cb0f1e728350e4 data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_chainmail_boots.json -6e1856945bb689055cdb7f88f0fd137813176ecc data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_chainmail_chestplate.json -839504d15f109843ac99dfa8b21f4a733577d1e9 data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_chainmail_helmet.json -b0160f849f8a4b7e27b6cdd89e1f7cc57ca70297 data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_chainmail_leggings.json -b3da3b1760ba5a104e3e38e88a7c4f41825c3908 data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_chestplate.json -bb9bd2ad4e25e165a9ce1f295a2792b03019c89e data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_door.json -57a10c23ff5b03a6412b5fb7a8ed4afe111a5b5c data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_helmet.json -ddf5897d025d8350e46b7c11fc7d6e37de5b4b55 data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_hoe.json -2edd1f1378b74d46af398923c0b4a31f991e2950 data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_horse_armor.json -70ebe7ca7a2c653c6803ed5784f506afed2f52d2 data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_leggings.json -846f10f91ea73d58a0d23c774c28e18388ef4c56 data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_minecart.json -8a4b9a44a1480097e44e4eaf0deac257a117a170 data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_pickaxe.json -55adb2df4baa56e4633a59cbc217f26d15d3f485 data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_shovel.json -f458975c71b37ede0a261b98aec2527ecc3c385f data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_sword.json -0c5b5f49eb5b586d1491ae42f3ad3a62b1695d06 data/forcecraft/advancements/recipes/transmutation/transmutation/mutton_to_chicken.json -44f938381e074851b92d8b759070b6527b767256 data/forcecraft/advancements/recipes/transmutation/transmutation/poppy_to_dandelion.json -c43d43fa860d059f02785daf0a411be70c7862d6 data/forcecraft/advancements/recipes/transmutation/transmutation/porkchop_to_mutton.json -d5baf4cbb3a0be32e2bfbc3aea165207dad642cd data/forcecraft/advancements/recipes/transmutation/transmutation/red_to_brown_mushroom.json -2a0ba4ab9a91199b7d872215186a0b9a0d5081b0 data/forcecraft/advancements/recipes/transmutation/transmutation/stick_from_stone_axe.json -90f7a22d0fe26c04112daf019e517cdd487cbe31 data/forcecraft/advancements/recipes/transmutation/transmutation/stick_from_stone_hoe.json -ad07ac50bcea3c4b0f23a4b83cee12723dde8866 data/forcecraft/advancements/recipes/transmutation/transmutation/stick_from_stone_pickaxe.json -bf2908af551876abdfdec78e2192b2dbaad6f090 data/forcecraft/advancements/recipes/transmutation/transmutation/stick_from_stone_shovel.json -ee8872578847f23757ac7cf1b652af68cb50230e data/forcecraft/advancements/recipes/transmutation/transmutation/stick_from_stone_sword.json -0deec5dfdd8d19027099749f44168a22bb189597 data/forcecraft/advancements/recipes/transmutation/transmutation/stick_from_wooden_axe.json -c2756c0fdfa9a7808cdd1d64ef6e1bc1964c6e23 data/forcecraft/advancements/recipes/transmutation/transmutation/stick_from_wooden_hoe.json -5149d4f402bfa54990686bb8bbd4a3de62291869 data/forcecraft/advancements/recipes/transmutation/transmutation/stick_from_wooden_pickaxe.json -a60f3fa6e61866e9501eb5fb6a13830072725ac4 data/forcecraft/advancements/recipes/transmutation/transmutation/stick_from_wooden_shovel.json -ceeab0b24d0872a031d4c71f9109810bb368ab33 data/forcecraft/advancements/recipes/transmutation/transmutation/stick_from_wooden_sword.json -d92a82de62880e255504c142c62a2a7f045a7a68 data/forcecraft/advancements/recipes/transmutation/transmutation/string_from_bow.json -7aa66975ecee88e5d2632fcc9028461b22c708fd data/forcecraft/advancements/recipes/transmutation/transmutation/tripwire_hook_from_crossbow.json -0e7fb4394f47fce059d50f92e3658629ced112ff data/forcecraft/advancements/recipes/transmutation/transmutation/upgrade_core.json -95624ba0c7ba6b6b77086bbcecc3e223a21aa70d data/forcecraft/advancements/recipes/transmutation/transmutation/upgrade_tome.json -19bad840f1cec8b476ca6d990a1e6d6c2c7abc4f data/forcecraft/recipes/baconator.json -8526c208fcd8a97fd02f9e9f057b6ea98110e393 data/forcecraft/recipes/black_force_furnace_from_dye.json -3128d75de6f8963c1b45af4f7744d3efa0649d44 data/forcecraft/recipes/blue_force_furnace_from_dye.json -c9178790d7bd6296d7790caa48594255a0acd74b data/forcecraft/recipes/brown_force_furnace_from_dye.json -b1f4200b7d07c2b67d2b52a1d4e3fe308784efd3 data/forcecraft/recipes/cooked_bacon_from_smelting.json -f156474e36c1d300ee3c7a50ced3a6c65d10ecce data/forcecraft/recipes/cyan_force_furnace_from_dye.json -06db570e9ce6e54df4d67666699e8574dc3cd2e7 data/forcecraft/recipes/force_and_you.json -a1226fcdd8f2abc8cf84b8081d3ec437ca0c11cb data/forcecraft/recipes/force_arrow.json -9daf878cde0899e50695b39cb177d871a286bc63 data/forcecraft/recipes/force_axe.json -e13331a1cf82fe4a2e508f9ff0bee84215729d3e data/forcecraft/recipes/force_belt.json -b0c75559731d1ec81c0b4099ee1b5e779578c1eb data/forcecraft/recipes/force_black_torch.json -ff117c1de44e1269347e565f5d22a8fa632866d5 data/forcecraft/recipes/force_blue_torch.json -fdd5e9df9f477477dffc76bffce339fc0af19bea data/forcecraft/recipes/force_boots.json -29db7f8a9926febfc82cc40dac4d87dc3d51cd19 data/forcecraft/recipes/force_bow.json -fbe9cd724ea669901dbcfc65be3cd0d9ad743bd6 data/forcecraft/recipes/force_brick.json -18b90347b5dc96c7260c49149a82ed5693e20084 data/forcecraft/recipes/force_brick_black.json -3f6db474b924068edf55cbd24f58cfb2c18a59d4 data/forcecraft/recipes/force_brick_black_slab.json -17d4b7ea1d70f40cdb89170b4fc1acd02c20e137 data/forcecraft/recipes/force_brick_black_slab_from_force_brick_black.json -49e7f58664e91c7a71461eea3e84cf4bd3108b1d data/forcecraft/recipes/force_brick_black_stairs.json -017b7d087298d2894406f12803aa366a6530916e data/forcecraft/recipes/force_brick_black_stairs_from_force_brick_black.json -7e0c9d2a5a17bb682bf68fbfdeeb9e767cbeccb2 data/forcecraft/recipes/force_brick_blue.json -d327b130d7477ebfacbdd6086f5713f42d85eb51 data/forcecraft/recipes/force_brick_blue_slab.json -c98828f12042d12b4b732779ddc82abd5a00f1ab data/forcecraft/recipes/force_brick_blue_slab_from_force_brick_blue.json -3cd3af0a219cfd324f084a21b01c9a8ee00e6888 data/forcecraft/recipes/force_brick_blue_stairs.json -167c554f54471bd89ccfcb6d3f1ea575de78946c data/forcecraft/recipes/force_brick_blue_stairs_from_force_brick_blue.json -dfabb62957ba7c90f1430b3bc0762d593099c9b4 data/forcecraft/recipes/force_brick_brown.json -19187165c3381d67f145271a40adcdad7841aadb data/forcecraft/recipes/force_brick_brown_slab.json -539516ba9a4e175a4fd82e199a308d1b892db180 data/forcecraft/recipes/force_brick_brown_slab_from_force_brick_brown.json -fee6dd972517260ebe2dec0ff14a8fc3f6402641 data/forcecraft/recipes/force_brick_brown_stairs.json -9458573435d79051214a82a690329b0acfaf8308 data/forcecraft/recipes/force_brick_brown_stairs_from_force_brick_brown.json -557b0a067a2b1a7764de7c641156343f9db94274 data/forcecraft/recipes/force_brick_cyan.json -ca517ec401ca611bff76c037253f699ad72dd26e data/forcecraft/recipes/force_brick_cyan_slab.json -5126e89d756945bbe3a0a482cd900b6a228d7ff4 data/forcecraft/recipes/force_brick_cyan_slab_from_force_brick_cyan.json -ad488ae0bd0560f28e1abcd479ae6fc9902a69b7 data/forcecraft/recipes/force_brick_cyan_stairs.json -8f9666d22c8fc156e8ed70660a920c449527d167 data/forcecraft/recipes/force_brick_cyan_stairs_from_force_brick_cyan.json -da067134b878c7a5f8e2d54bbddb2f0244ea5ef2 data/forcecraft/recipes/force_brick_gray.json -a52679c44166bbb8564e9a766cea21acea08fa02 data/forcecraft/recipes/force_brick_gray_slab.json -2fdc3170f334aba51133777d07e4d452e048d002 data/forcecraft/recipes/force_brick_gray_slab_from_force_brick_gray.json -348570287c8bcf68d6af5eb3bb3537f50e8afc4d data/forcecraft/recipes/force_brick_gray_stairs.json -941f000824d7ee56d898194b05b4a69dc8b6ca66 data/forcecraft/recipes/force_brick_gray_stairs_from_force_brick_gray.json -2b8e3486a51599876113fe2f19be3de1b4ea830e data/forcecraft/recipes/force_brick_green.json -312e970b7e313291f5a9c6dc7224aaf1388b81a6 data/forcecraft/recipes/force_brick_green_slab.json -97a07fd99e45a1f62e6311d466d6db4e7559a3d2 data/forcecraft/recipes/force_brick_green_slab_from_force_brick_green.json -ea85c616b8af2e91cc7c0ac6b3f05ee957b84fc6 data/forcecraft/recipes/force_brick_green_stairs.json -3a07ea2d0dd20d56a34a5557608e6a22d0824454 data/forcecraft/recipes/force_brick_green_stairs_from_force_brick_green.json -571237b62898bd69213d193a44a17a15f132f8a0 data/forcecraft/recipes/force_brick_light_blue.json -c05920033b2030ae758a2a6a0fb66da5415b3380 data/forcecraft/recipes/force_brick_light_blue_slab.json -06a5fec82298809092261f386e183e6882eda61b data/forcecraft/recipes/force_brick_light_blue_slab_from_force_brick_light_blue.json -950d881457d3764d58048f0becdd189087787980 data/forcecraft/recipes/force_brick_light_blue_stairs.json -7da2553d7b14294ea4fa7fc0639a282e5044381e data/forcecraft/recipes/force_brick_light_blue_stairs_from_force_brick_light_blue.json -9c30067d02af3d029ae58841195f2ebb8db99ec6 data/forcecraft/recipes/force_brick_light_gray.json -17222d725e4877eb277114ad29a568289fa7609d data/forcecraft/recipes/force_brick_light_gray_slab.json -3eb06275938531d8200cff9aae9e1d33d1266259 data/forcecraft/recipes/force_brick_light_gray_slab_from_force_brick_light_gray.json -568f5cc8705aa837ebd261d48313dd2f21346974 data/forcecraft/recipes/force_brick_light_gray_stairs.json -9df702c62ea776807dbee0f7f4a6e8dc3346be92 data/forcecraft/recipes/force_brick_light_gray_stairs_from_force_brick_light_gray.json -aa83820fd3d50165c35024eb3754f7208d6a969b data/forcecraft/recipes/force_brick_lime.json -db4f1e173988ad2d96f3bbeced420d5b075a5a6d data/forcecraft/recipes/force_brick_lime_slab.json -4838ff20aa93b3ec8a3e726985eb3b68f9b44e48 data/forcecraft/recipes/force_brick_lime_slab_from_force_brick_lime.json -c960e93ba7ae826545f615edc73ff1dbf3b9626b data/forcecraft/recipes/force_brick_lime_stairs.json -3f0b3f59d02e199e70846cefe28e6d5bc09148e7 data/forcecraft/recipes/force_brick_lime_stairs_from_force_brick_lime.json -ae38a274b93a3a141d4f1ff6f412c8c58b874f56 data/forcecraft/recipes/force_brick_magenta.json -77ef90b2c28a8896ea797584fea32bb8819d359b data/forcecraft/recipes/force_brick_magenta_slab.json -66bc55af25c5b2456619bd6aacae552c9c026599 data/forcecraft/recipes/force_brick_magenta_slab_from_force_brick_magenta.json -752abc56505a2745fb0f5f19a42723fa70ac03ce data/forcecraft/recipes/force_brick_magenta_stairs.json -6c0bcb54df70404cfef1b4bc8bff38281774f0fb data/forcecraft/recipes/force_brick_magenta_stairs_from_force_brick_magenta.json -5e50049b09f3b5169db5a2711e1fc36574915ece data/forcecraft/recipes/force_brick_orange.json -81f14303fd3f0187c898af1553d1ac3b01882240 data/forcecraft/recipes/force_brick_orange_slab.json -dc4fb46bae534ab8a604494b5177ffe9061cb7ff data/forcecraft/recipes/force_brick_orange_slab_from_force_brick_orange.json -a690e22663a2deca4546b868815ed1c105441bdb data/forcecraft/recipes/force_brick_orange_stairs.json -f97908a957bd674a204a57c0eb9a682ff5824bac data/forcecraft/recipes/force_brick_orange_stairs_from_force_brick_orange.json -5d01a55b9f2d2131aff7b6888744ee92645ff38f data/forcecraft/recipes/force_brick_pink.json -a6b28231664a8441b495f3d7183994d3e989b9b6 data/forcecraft/recipes/force_brick_pink_slab.json -930b14c6ae01276a817dcd0034f9fb612e6d9feb data/forcecraft/recipes/force_brick_pink_slab_from_force_brick_pink.json -c163a7e040b38d3a0d41698a08ad55543e138413 data/forcecraft/recipes/force_brick_pink_stairs.json -c573dbf3e222796c6459434563259fbe90fc8239 data/forcecraft/recipes/force_brick_pink_stairs_from_force_brick_pink.json -c49e201961d3926eb62590ec3c20c2387ff29097 data/forcecraft/recipes/force_brick_purple.json -b42c02430a31d00ad0fb087b807031a318180604 data/forcecraft/recipes/force_brick_purple_slab.json -4760939dbe19c7862a8ff8fce23d7fa949505db5 data/forcecraft/recipes/force_brick_purple_slab_from_force_brick_purple.json -ae7338f42a1d159a524b0ec6323484a6c9f68bab data/forcecraft/recipes/force_brick_purple_stairs.json -1477d9278dba2de05f24e42e64263fdced5cad34 data/forcecraft/recipes/force_brick_purple_stairs_from_force_brick_purple.json -b8784d41bf0cb491a9593ff1944fb025919d02ad data/forcecraft/recipes/force_brick_red.json -1e9ef7476ef1e78f5574cfce81e2995795d47759 data/forcecraft/recipes/force_brick_red_slab.json -1eb26116f45126751b310f9400431d6d41ac0042 data/forcecraft/recipes/force_brick_red_slab_from_force_brick_red.json -04a2720dc4992aae853202f80a52cdb87f8f418e data/forcecraft/recipes/force_brick_red_stairs.json -e0604c659b5017d091790bb18d2baaf37c8c579c data/forcecraft/recipes/force_brick_red_stairs_from_force_brick_red.json -be4e54d3f4ef5319ee76e79c1fcda861d0586b4e data/forcecraft/recipes/force_brick_slab.json -68b334bbe4539ddaa8c7c773876549c8656ef6ee data/forcecraft/recipes/force_brick_slab_from_force_brick.json -3be0546249e5e82809bb1d7c70b4615bdca644cd data/forcecraft/recipes/force_brick_stairs.json -2cb4517e975b00bab6f1217cc5a6580ff6b96964 data/forcecraft/recipes/force_brick_stairs_from_force_brick.json -bf5a5c7b1c588d7bc1c2b036067fa2608da2573c data/forcecraft/recipes/force_brick_white.json -efa9eeb051106cf84be49da541fbf154d99d4d67 data/forcecraft/recipes/force_brick_white_slab.json -d4002b541ccbf23d0be193c0d703b89252fb9eb8 data/forcecraft/recipes/force_brick_white_slab_from_force_brick_white.json -68cf0e1394d6c6e14fbce0a97f3893c3a11e2e7c data/forcecraft/recipes/force_brick_white_stairs.json -240c43b83a3193ca717c28c50af6c5b6edd6697f data/forcecraft/recipes/force_brick_white_stairs_from_force_brick_white.json -caca76bad71eba6b1b0ec93349d700489d16d280 data/forcecraft/recipes/force_brick_yellow.json -fc3b40b2a02c6367631c5230487a9f5e9b2d01c1 data/forcecraft/recipes/force_brick_yellow_slab.json -48098f4edbf74f30a6a05a4788291e68e08e8d8c data/forcecraft/recipes/force_brick_yellow_slab_from_force_brick_yellow.json -0a445da7e1b6dd0b84bcd4c06c3ae673d9c97471 data/forcecraft/recipes/force_brick_yellow_stairs.json -2b7a5022e69d289446f10f4026cbb85495478afa data/forcecraft/recipes/force_brick_yellow_stairs_from_force_brick_yellow.json -6b23e3cf9d875f854cb8b7245b119ec4852a8428 data/forcecraft/recipes/force_brown_torch.json -a6c90f140f2c85f94ab1ffdb4740ddae2a77ae0c data/forcecraft/recipes/force_chest.json -41f6467e0eb398539d1a371e82e1ee597e2d54de data/forcecraft/recipes/force_cyan_torch.json -a4555d02a0c95f3f406ed0c210b780eb7ac58399 data/forcecraft/recipes/force_engine.json -d3fd1c300e0a235a8435ea126dc48b2d470deb1a data/forcecraft/recipes/force_flask.json -209e6d73508927be43bc484bd5a801db1f1243c2 data/forcecraft/recipes/force_flask_from_entity_flask.json -89c3464e698524bf879165159560f1a3ec0d8870 data/forcecraft/recipes/force_furnace.json -e045182395a4b669d4f8965951df76f0bb589eb3 data/forcecraft/recipes/force_furnace_from_dye.json -1a36956282fe8890bba5e5f298a2fdd8e98ea2f5 data/forcecraft/recipes/force_gear.json -8ed60b133f03e5e4ad8fd57f70258f5c8fe890ee data/forcecraft/recipes/force_gray_torch.json -cb21ba4263ed68467800106d21c3ee392217f8a8 data/forcecraft/recipes/force_green_torch.json -994dd0786c40822ac340543ad34336173e91e59f data/forcecraft/recipes/force_helmet.json -bf60268bcf1ce5e2c020cf2c53d798d1327595ff data/forcecraft/recipes/force_ingot_from_gold.json -fd26ea81c61eed5c133640a911062d630a86109f data/forcecraft/recipes/force_ingot_from_iron.json -27fb8779965cc1a15d5f35dfee13b17b1569d9f7 data/forcecraft/recipes/force_ingot_from_nuggets.json -077657974adea17d38fcef5c5d5b95b402001481 data/forcecraft/recipes/force_legs.json -e57af26c04660b2c7437bfff1767a2fa998c5132 data/forcecraft/recipes/force_light_blue_torch.json -aa825f38c3a9b2fe6a679df4164b0bf26de5eb21 data/forcecraft/recipes/force_light_gray_torch.json -0bbdd862d59295f9e0798e290274ccbff6fada85 data/forcecraft/recipes/force_lime_torch.json -c35f8b636ded01ad281898dce3d5cfe1dd9c87bb data/forcecraft/recipes/force_magenta_torch.json -a50ff4519afc263b7a4c9bec436695b039509cb8 data/forcecraft/recipes/force_mitt.json -92e36e2f1d472943d895802cc3292e8fdbef80c2 data/forcecraft/recipes/force_nugget.json -c8b4a183a435d1ed82ccfe6fe4eee0a7d82e067d data/forcecraft/recipes/force_orange_torch.json -b29e13a925372c38df7c34d58960f414fa7c3c63 data/forcecraft/recipes/force_pack.json -00b3c678ef7c5588f23f82d4a0687d33debd8545 data/forcecraft/recipes/force_pack_upgrade.json -bc407097ef1379fd0cf1969b70b9efbfca7b8728 data/forcecraft/recipes/force_pickaxe.json -ccc9e67ff55c5e194fbea16e9ce8a84d4bb5b01d data/forcecraft/recipes/force_pink_torch.json -1c7f5d15d115fbefa26eacfb54e92cac72e3cb66 data/forcecraft/recipes/force_planks.json -134a064344e6c52b88177e9c1fcfc520513839fc data/forcecraft/recipes/force_plank_slab.json -134136dd5fd58706f684f689c3607b223130dace data/forcecraft/recipes/force_plank_stairs.json -35a097dcff723f7f114d53115c67a674e73a0d36 data/forcecraft/recipes/force_purple_torch.json -0361b196b4528ed3311e7dfb9aa092b201acbdc9 data/forcecraft/recipes/force_red_torch.json -9d92f9aad2d8c8f0a94eb0952889ef625e9275f1 data/forcecraft/recipes/force_rod.json -f387b066ce98c63244e8f7075c11769d1d2e171f data/forcecraft/recipes/force_rod_from_stick.json -3791d0203278ade6318391d5883574bcb06f5251 data/forcecraft/recipes/force_shears.json -f22fad37e024289ec2ab50e4c800ec4bf4a168fa data/forcecraft/recipes/force_shovel.json -38a3d25b32eae33f725f64924f6ae4a18bfbb9df data/forcecraft/recipes/force_stick.json -64a358fde804736e4834b2013a458df7d4c9f8ee data/forcecraft/recipes/force_sword.json -07b263ce7ffab90a9bcd4984136bbc2f7e427780 data/forcecraft/recipes/force_torch.json -42ff49245a0734b5f31f7d19fb64b05de47cfbae data/forcecraft/recipes/force_white_torch.json -2ff56a1d8f5285ef668ff95b659b3ce05caa6ea0 data/forcecraft/recipes/force_wood.json -a358ed429b8f1879a1fcbcef204bc6d737555bcf data/forcecraft/recipes/force_wrench.json -2a5c271b0606827ca07bb03f2e0627348929c5c6 data/forcecraft/recipes/fortune_cookie.json -0e94bde3a031a272afc59d2dda4b5cc7b3fac3a2 data/forcecraft/recipes/freezing/bone_from_blaze_rod.json -76e0a9a9dabfa459e60417440a05aca87bb4400d data/forcecraft/recipes/freezing/bone_meal_from_blaze_powder.json -77d18e3f200f8321082e0a59fc7717638d5153c7 data/forcecraft/recipes/freezing/brick_from_nether_brick.json -aa6667979ae75cf0f75c74ca6e8f5f365d045756 data/forcecraft/recipes/freezing/cobblestone_from_netherrack.json -50a384938268dd53fdd5b1f70eb83253f21646ee data/forcecraft/recipes/freezing/ice_from_water_bottle.json -b02d98471e9448f10a055d16dd62bc34afbc11c7 data/forcecraft/recipes/freezing/ice_from_water_bucket.json -c41b64f98bb7feec832d0f77fa52e6aaf2e56e4a data/forcecraft/recipes/freezing/leather_from_rotten_flesh.json -d76b4919bf0e3c1b2df5eaa1cb8059bf6ef0aa42 data/forcecraft/recipes/freezing/obsidian_from_lava_bucket.json -ec1715c59e78f401c56b471159831048dc9e60ed data/forcecraft/recipes/freezing/sandstone_from_red_sand.json -8236bc420ca5bcd102b3b60c7b6bb32da5185180 data/forcecraft/recipes/freezing/sandstone_from_sand.json -e84b7a0fda968e4f5d7c75956afdfcd38cf08ab7 data/forcecraft/recipes/freezing/snowball_from_slimeball.json -bdb2803daa6512ea57db6a0aa46a5ab8ab4678a2 data/forcecraft/recipes/freezing/stone_bricks_from_stone.json -26176332b829816045c53be5ce67c7e75e31043d data/forcecraft/recipes/freezing/stone_from_cobblestone.json -3e868220ad8d2cd7213829d5dd6f511944fd0e9d data/forcecraft/recipes/golden_power_source.json -cbc349b73248e5bcbd3769c591a2a36a4e8ca7a0 data/forcecraft/recipes/gray_force_furnace_from_dye.json -9a71a028c02b7a84bc75c883508cacfd0b09cbcb data/forcecraft/recipes/green_force_furnace_from_dye.json -257c799940c47225d594c74c144634b2eb4e7f97 data/forcecraft/recipes/grinding/acacia_planks_from_door.json -69d8ff311d157a134ba9db89b5c84c227df32710 data/forcecraft/recipes/grinding/acacia_planks_from_log.json -69de70fad66fc306fe3e58777d1f0495fe145aa4 data/forcecraft/recipes/grinding/acacia_planks_from_pressure_plate.json -831f40f14842c3c71ea5284e82dd5e0b16778b7f data/forcecraft/recipes/grinding/birch_planks_from_door.json -59053742d1cfa422d2387da0c062f0d7a4539622 data/forcecraft/recipes/grinding/birch_planks_from_log.json -5d8b77e10c10be5031d4270e979de67687f9ba0e data/forcecraft/recipes/grinding/birch_planks_from_pressure_plate.json -33e0eca66c60d8e5f19bd5ee87689aab5b1e8eeb data/forcecraft/recipes/grinding/blaze_powder_from_blaze_rod.json -919977b3e542894fcf689c692d80096a928fe07a data/forcecraft/recipes/grinding/bone_meal_from_bone.json -64385155f3bb08dda7b443eb823a477d0fa93a30 data/forcecraft/recipes/grinding/cherry_planks_from_door.json -2b5496e1ffba27f7998f82bec991adce4caf5629 data/forcecraft/recipes/grinding/cherry_planks_from_log.json -daa9728654691dbf61f8cf51d4c9823d01e686ca data/forcecraft/recipes/grinding/cherry_planks_from_pressure_plate.json -27e2970f2fd5b0c3a90691c9260ffee5ae1aeb3e data/forcecraft/recipes/grinding/cobblestone_from_furnace.json -53b4f28ca1027b9cd6123f0b86441bced843b7ac data/forcecraft/recipes/grinding/cooked_bacon_from_cooked_porkchop.json -3c1eeb07cf4124051c5d2f9a6b646734a3a5d36b data/forcecraft/recipes/grinding/crimson_planks_from_door.json -4ae9574464d963fb19f39a7a24e1cfec0414ed57 data/forcecraft/recipes/grinding/crimson_planks_from_log.json -523d37c2fceda0a2287bd868537de6c07b73df91 data/forcecraft/recipes/grinding/crimson_planks_from_pressure_plate.json -66d852077f597fa6054432c7e54ce72031d5ab18 data/forcecraft/recipes/grinding/dark_oak_planks_from_door.json -cb0a4554641a37c4df371f282c017482c005dd1d data/forcecraft/recipes/grinding/dark_oak_planks_from_log.json -af25e8766a4c9b74547aaa22725ee862bd43fd9d data/forcecraft/recipes/grinding/dark_oak_planks_from_pressure_plate.json -949563b96f562f7dfd49f86bc5ac0f2095a1fb54 data/forcecraft/recipes/grinding/flint_from_gravel.json -6594524b94f43dbe9740e8d1ad453747b77ca67f data/forcecraft/recipes/grinding/force_planks_from_log.json -328f3104fcb191c77bc7a9729abb6d86c9df067b data/forcecraft/recipes/grinding/gold_ingot_from_light_weighted_pressure_plate.json -3f46291866a57a2455d56265cfafdbce0c504932 data/forcecraft/recipes/grinding/ingots_from_force_furnace.json -5aa600003ce15089548012aaa0fe236a44e3d810 data/forcecraft/recipes/grinding/iron_ingot_from_door.json -e355fd2ed73e8fb979b4cc2735fc18cdf30f3801 data/forcecraft/recipes/grinding/iron_ingot_from_heavy_weighted_pressure_plate.json -df174d42125fad6a4998082a4f4db77fc22dfd6c data/forcecraft/recipes/grinding/jungle_planks_from_door.json -1f720b5d85e7788910ea7118e19a5a0488ca266f data/forcecraft/recipes/grinding/jungle_planks_from_log.json -936f097cefd9c20f1e56355e6ebf0bf634a1d693 data/forcecraft/recipes/grinding/jungle_planks_from_pressure_plate.json -bae23f491df37eadad2809e9e9655f4a78aa268c data/forcecraft/recipes/grinding/mangrove_planks_from_door.json -6c61e039ca1400a518f07d1ae5583ef2d35b95e1 data/forcecraft/recipes/grinding/mangrove_planks_from_log.json -d5157d8cb6b48f39307c4ec421bde112de5fe859 data/forcecraft/recipes/grinding/mangrove_planks_from_pressure_plate.json -adca51c9c8ec043a4dd3d4b100cf95fce468ec39 data/forcecraft/recipes/grinding/oak_planks_from_bookshelf.json -074472cf02a0fa8c3d7e6f79b310f79f2fb2750a data/forcecraft/recipes/grinding/oak_planks_from_chest.json -0211c1d4ef99a1403a183422e6f2bd8d825446c1 data/forcecraft/recipes/grinding/oak_planks_from_crafting_table.json -89a4a52385a7b70e8ce5c501409fcc9211f190c5 data/forcecraft/recipes/grinding/oak_planks_from_door.json -32f22a3649c1251429d3b464c10f220a57523bce data/forcecraft/recipes/grinding/oak_planks_from_log.json -b70c68fa7e7e5adfa9946fc7ca07cb395bfc78ad data/forcecraft/recipes/grinding/oak_planks_from_pressure_plate.json -583f920a46688cf1dd321fb19e914eadb6141033 data/forcecraft/recipes/grinding/paper_from_book.json -5f2be554ab2b1b7ae750cead17846654b0004277 data/forcecraft/recipes/grinding/raw_bacon_from_porkchop.json -8c36f63113aaf258096fde7d0fd9c380dcff03f6 data/forcecraft/recipes/grinding/sand_from_cobblestone.json -2eb106a23f6d891cf37b1ac45c4a72369da56102 data/forcecraft/recipes/grinding/sand_from_red_sandstone.json -8cd635dfdbb202871df333874ee8ad4a8cc13d35 data/forcecraft/recipes/grinding/sand_from_sandstone.json -9fea02f4e2dff77f17ad1c046ace311fbda5074d data/forcecraft/recipes/grinding/spruce_planks_from_door.json -ae8eb5ead6caacf3b42619c1d12e5f1532472760 data/forcecraft/recipes/grinding/spruce_planks_from_log.json -915c43754fb08024ed45e5a312a1ee83b8344948 data/forcecraft/recipes/grinding/spruce_planks_from_pressure_plate.json -6e35f355502cf9c2a5ac63715fd38d0e8149ea71 data/forcecraft/recipes/grinding/stone_from_pressure_plate.json -1044976f5b55a8ef9c7d5dfee5d74eca7631d14f data/forcecraft/recipes/grinding/string_from_wool.json -ae366274aa1d170684a58b9172748134879b78f3 data/forcecraft/recipes/grinding/string_from_wool_carpet.json -a0ffb04c5d0ac13196947472f0b0df4df6d8059f data/forcecraft/recipes/grinding/warped_planks_from_door.json -6670086da290cb94a4a6bd08d0b71e1ff09c603a data/forcecraft/recipes/grinding/warped_planks_from_log.json -aef0261351c9d8a15a67670eb17f8dfcb2f425bd data/forcecraft/recipes/grinding/warped_planks_from_pressure_plate.json -70d46b04211e5c18b13178c14201756be50ec717 data/forcecraft/recipes/gunpowder_from_pile_of_gunpowder.json -8176ffc9dda8c2197666fceaa767cc2e441a5d89 data/forcecraft/recipes/infuser/convert_freezing.json -6a6e87a445a09136c9b8ee29cce993865572bf44 data/forcecraft/recipes/infuser/convert_grinding.json -4f735271fbd1e42f5d4e8a5a7beae8ca533f19e1 data/forcecraft/recipes/infuser/convert_heat.json -a942f0527792e6b7667beb77d9cacbef16458c99 data/forcecraft/recipes/infuser/convert_speed.json -707e8510eaaad1f2a7515865b099d24b8a0a5f79 data/forcecraft/recipes/infuser/convert_time_torch.json -85a9e708f8188f918bdf05e172db36842962be99 data/forcecraft/recipes/infuser/convert_xp.json -fdde3cfe407a127f0f44fe500efab22f0bee95ab data/forcecraft/recipes/infuser/convert_xp_book.json -e2b0799ab886a316dc9e9c4f2c5aaeec890ea637 data/forcecraft/recipes/infuser/infuse_bane.json -d8217dcdd6ce12096f28fe5fc91e3d9dd81739ff data/forcecraft/recipes/infuser/infuse_bleeding.json -f4bcac04cd8a71994a5293350a77469a1313f5b0 data/forcecraft/recipes/infuser/infuse_camo.json -0796002d10da6a64e6a5540d21018d04ed95a640 data/forcecraft/recipes/infuser/infuse_damage.json -10b3bebb86063177bed84eb70bcd9a824e1f44fb data/forcecraft/recipes/infuser/infuse_ender.json -e74c6ea51602a5c76aef171cf8e96abbb4a0a3cb data/forcecraft/recipes/infuser/infuse_fortune.json -7e7ceacfb4b00c83753a99bbc4d3baf57ab9ef98 data/forcecraft/recipes/infuser/infuse_freezing.json -94633200f1068d29124dd01d1045c6753a7eed6c data/forcecraft/recipes/infuser/infuse_healing.json -39fe4eaa9b440497b7b9e4c2cfb0fc664984d0f6 data/forcecraft/recipes/infuser/infuse_heat.json -8f038e9f0831575c44c128cc86a763092ac4aa2f data/forcecraft/recipes/infuser/infuse_knockback.json -1c78fbe435dcd36f2bfd5f23c6873a00e9a43781 data/forcecraft/recipes/infuser/infuse_light.json -7cca0022b3b2e617a108d572c433a92385865291 data/forcecraft/recipes/infuser/infuse_lumberjack.json -e8d000521918fd005c34a000cc9faa9d0ba30dd1 data/forcecraft/recipes/infuser/infuse_pack_upgrade1.json -7c75d785308cbc87dfa98d621ca23d2e0607c7c6 data/forcecraft/recipes/infuser/infuse_pack_upgrade2.json -f0bc42879e886d991e6ea6905a4b7730cdcddce7 data/forcecraft/recipes/infuser/infuse_pack_upgrade3.json -bf10227bb525a091b6aca145e80d87f6ae0256a8 data/forcecraft/recipes/infuser/infuse_pack_upgrade4.json -af4979be601c72ed07c5d1eba2283be1e4a6882c data/forcecraft/recipes/infuser/infuse_rainbow.json -eed4b41a9ce1123d516e37ce7074007d140a4a14 data/forcecraft/recipes/infuser/infuse_silk.json -d306ef3faad0171cf5cfd78438bd1e9471a32201 data/forcecraft/recipes/infuser/infuse_speed.json -d279385c052d4790c0d17a117fd169685ccabb13 data/forcecraft/recipes/infuser/infuse_sturdy.json -6515da2c05f8f836373c4accfc31ed109c619b40 data/forcecraft/recipes/infuser/infuse_treasure.json -35383dfa25391959ecd409a69e0add37630d70e6 data/forcecraft/recipes/infuser/infuse_wing.json -03370c4f4e0946607996b22da241e9c64296f244 data/forcecraft/recipes/item_card.json -0325ad861517f0c143c721d4698a66c7e363d70e data/forcecraft/recipes/item_card_empty.json -017e9f15f820bd1bb9d8e0da7609a2891a679483 data/forcecraft/recipes/item_card_flipped.json -22158479f69d999b2ff5bb25c026a1ddac57edd7 data/forcecraft/recipes/light_blue_force_furnace_from_dye.json -9bcafd28ce22e627ec84b56520e57380dd4792fa data/forcecraft/recipes/light_gray_force_furnace_from_dye.json -add7c5bbc5558bf1ef850cf5ccfb300bbac82da4 data/forcecraft/recipes/lime_force_furnace_from_dye.json -f96089ef6b5b907fedf1848eead1e778dd7f41b6 data/forcecraft/recipes/magenta_force_furnace_from_dye.json -8e36d53f5fe6b3a07a2e8cf82942e634279d4c36 data/forcecraft/recipes/magnet_glove.json -11b1275d830f9b30056e72df00a9aa557cc7fa2a data/forcecraft/recipes/orange_force_furnace_from_dye.json -fab5c72b1a3762ef66a382145fc5b34403c72cc0 data/forcecraft/recipes/pink_force_furnace_from_dye.json -3160def121e769191381240da6a127298bc60839 data/forcecraft/recipes/purple_force_furnace_from_dye.json -88dc50ff41f752800c76dd5867988bfae95146c7 data/forcecraft/recipes/red_force_furnace_from_dye.json -4f85acf0a93c96f8c89aa18c0338a18314abc73c data/forcecraft/recipes/red_potion.json -5a91776f829540580137b0767a17e43e9291a170 data/forcecraft/recipes/slime_ball_from_chu_jelly.json -30c48519bc1a1930103016daa62776a274710902 data/forcecraft/recipes/snow_cookie.json -9e4526797d736e7f46f90e601146eaa254cda494 data/forcecraft/recipes/soul_wafer.json -1a0899d61fc16096c5682598cdfc50dd2e705215 data/forcecraft/recipes/spoils_bag.json -a3ffa4982ac4fa77a54897b1da3c7b78418cca48 data/forcecraft/recipes/spoils_bag_t2.json -97abe926e78e35e65d35149a3f6825519ab7f4ca data/forcecraft/recipes/spoils_bag_t3.json -bccd635052487a23147e34e996cc4dc711a12bc8 data/forcecraft/recipes/transmutation/beef_to_porkchop.json -05a0d501494115d2cfc80fd107f7d49b08b5836e data/forcecraft/recipes/transmutation/brown_to_red_mushroom.json -d3d6e697fdb4fd9d67989fc16ce9286b9b5b5ae6 data/forcecraft/recipes/transmutation/chicken_to_beef.json -46c9ed24ba833dfe0f4186d8b2cd620fd328028c data/forcecraft/recipes/transmutation/cooked_beef_to_porkchop.json -aa5d98c76b405d3f0a4c12710784823fe82aec63 data/forcecraft/recipes/transmutation/cooked_chicken_to_beef.json -8801d109f234195fd0754ba35effceb8fb520646 data/forcecraft/recipes/transmutation/cooked_mutton_to_chicken.json -c2068413478ab25a5836fa7405f8af111a13a50f data/forcecraft/recipes/transmutation/cooked_porkchop_to_mutton.json -64f584fd4021ccbba0c8e1b537eca779b9f8008d data/forcecraft/recipes/transmutation/dandelion_to_poppy.json -abba4138849589008210eaac2069454d38afec59 data/forcecraft/recipes/transmutation/diamond_from_axe.json -ce4eb64c6f70717dbba7647ab4b5f31241b7363f data/forcecraft/recipes/transmutation/diamond_from_boots.json -7a43ccd01ecf6fc1ac360aa0418e202449655c21 data/forcecraft/recipes/transmutation/diamond_from_chestplate.json -3e8f6f951d5c712a02fbd8f1681138198753e6e9 data/forcecraft/recipes/transmutation/diamond_from_helmet.json -059d281090c4b7cab30c963ebe12a957b4a6a646 data/forcecraft/recipes/transmutation/diamond_from_hoe.json -baaa2b021f85c8e8b70577e1301943e8c45ef677 data/forcecraft/recipes/transmutation/diamond_from_horse_armor.json -03d37055acbdc67b71b2a58943ffc7ea8a313221 data/forcecraft/recipes/transmutation/diamond_from_leggings.json -4c81c34583ef79797da6f918d2ffc9567b7da0fa data/forcecraft/recipes/transmutation/diamond_from_pickaxe.json -84c21546bd28e6c880d416b4362acea16a0088bc data/forcecraft/recipes/transmutation/diamond_from_shovel.json -b6d963cdee6025a50eb71ac559c2c69864bd74aa data/forcecraft/recipes/transmutation/diamond_from_sword.json -3d0ba98d292fee49d5dcd2039178b27fbd53b859 data/forcecraft/recipes/transmutation/experience_bottle_from_enchanted_book.json -d742a15d01c7c0c9ed3b3981e3ee807d28495f2e data/forcecraft/recipes/transmutation/force_brick_from_stone_bricks.json -d9ab66849d84f809769524d6cb541c90f1079c18 data/forcecraft/recipes/transmutation/force_sapling_from_sapling.json -e116e395dace436c72d72b063309ea0f198a31b5 data/forcecraft/recipes/transmutation/fortune_from_fortune_cookie.json -73dc358f67158d973fe4743d097f627aa717517e data/forcecraft/recipes/transmutation/gold_ingot_from_axe.json -95638b8a0746aef9c8d8cfc89ad5566046e5c740 data/forcecraft/recipes/transmutation/gold_ingot_from_boots.json -6fbac9b06e0a129b40236c4a5fa4d77738c6e21e data/forcecraft/recipes/transmutation/gold_ingot_from_chestplate.json -4f4fbf1ad0b47ba67c70cc11c8929f0019105c50 data/forcecraft/recipes/transmutation/gold_ingot_from_clock.json -3c46f4160abd0e4268e0a487be5c2c8eeb6e46b9 data/forcecraft/recipes/transmutation/gold_ingot_from_helmet.json -0c469da0b049df78ab54e7d606c3d3b3f394b431 data/forcecraft/recipes/transmutation/gold_ingot_from_hoe.json -4e885dcc47c58f016def0b170384287d44a1c71a data/forcecraft/recipes/transmutation/gold_ingot_from_horse_armor.json -246ffe940d8602fbd760c559f2bdda3f8a02be96 data/forcecraft/recipes/transmutation/gold_ingot_from_leggings.json -e03fb076beeeb412c018578cbcab304baeb83ce6 data/forcecraft/recipes/transmutation/gold_ingot_from_pickaxe.json -f1492e09e7be0f1c742f11bbbc4dc43e30fd24fa data/forcecraft/recipes/transmutation/gold_ingot_from_shovel.json -ce0be80ce1f0fba97cc70d483d917bfd18ebce41 data/forcecraft/recipes/transmutation/gold_ingot_from_sword.json -d1145157fd0601cbe4f835374633364760d6c0e5 data/forcecraft/recipes/transmutation/infuser_from_enchanting_table.json -a1d13ebd3e3ea45dc0e625f30d90481247d57cbb data/forcecraft/recipes/transmutation/irom_ingot_from_cauldron.json -53d9180f311ebc55a7a8bc25b0c8c6c940d1427f data/forcecraft/recipes/transmutation/irom_ingot_from_compass.json -194e246ba80f751d684b7c3866427dd898313ed7 data/forcecraft/recipes/transmutation/iron_ingot_from_anvil.json -d9584978bfe5c7425ee6cc7129b390184acd2c3a data/forcecraft/recipes/transmutation/iron_ingot_from_axe.json -cf325936f1c3c6879f4d2e5d920a8c8e44d4a9fb data/forcecraft/recipes/transmutation/iron_ingot_from_boots.json -9adcdbd4441668450841c8fac72eb731b59e4a28 data/forcecraft/recipes/transmutation/iron_ingot_from_bucket.json -c235c3a2ca442b87709a46ce5bd9a51354ed38da data/forcecraft/recipes/transmutation/iron_ingot_from_chainmail_boots.json -fb5115300b3da7915e0ba7f299ad71d6062bf03a data/forcecraft/recipes/transmutation/iron_ingot_from_chainmail_chestplate.json -241721cb2554aeb6b877222fab183dd26d5389e9 data/forcecraft/recipes/transmutation/iron_ingot_from_chainmail_helmet.json -6ebd6fdf6108f95338131732379bb4132adfc4e9 data/forcecraft/recipes/transmutation/iron_ingot_from_chainmail_leggings.json -9591432f8a8352f403deeee037a1c18345719c64 data/forcecraft/recipes/transmutation/iron_ingot_from_chestplate.json -c298b83a9bb51a9b89371656a9fcee561574a46e data/forcecraft/recipes/transmutation/iron_ingot_from_door.json -c1387d751c2cb6347d1870881ea387925e1b64e5 data/forcecraft/recipes/transmutation/iron_ingot_from_helmet.json -6f94e203ae135e35d738359bbb5c327ff3a72103 data/forcecraft/recipes/transmutation/iron_ingot_from_hoe.json -7feadb27ff31491cccee6b682953fa6459278db7 data/forcecraft/recipes/transmutation/iron_ingot_from_horse_armor.json -2a08d4796082b4f855ffff9a69a2f4a2366b8c92 data/forcecraft/recipes/transmutation/iron_ingot_from_leggings.json -63ab63dd25ced5525afb691587b56d9979ee32fb data/forcecraft/recipes/transmutation/iron_ingot_from_minecart.json -f070178c5d13725010d0743e51e7b4318707fa12 data/forcecraft/recipes/transmutation/iron_ingot_from_pickaxe.json -8f99e31655e528393daa298ef3511b5ce1572d9c data/forcecraft/recipes/transmutation/iron_ingot_from_shovel.json -6b62b74182df30eaff3f4c5dc76c5f4fd49e4972 data/forcecraft/recipes/transmutation/iron_ingot_from_sword.json -be56976f6ffc4e617ee15d819c599954c34ad930 data/forcecraft/recipes/transmutation/mutton_to_chicken.json -7add3a54a572c42bee3fb722737c9ee7b1c280e2 data/forcecraft/recipes/transmutation/poppy_to_dandelion.json -6d5bc8cf702d5c3d1c82e250833834256d69f1da data/forcecraft/recipes/transmutation/porkchop_to_mutton.json -32ae993b283ef083a684e390d438d9f892ac5d5d data/forcecraft/recipes/transmutation/red_to_brown_mushroom.json -cdaff3fc331f37fa204f6741517aa0c24e2c7454 data/forcecraft/recipes/transmutation/stick_from_stone_axe.json -e3bad183292a192f2ae4882dbd4a5951846daa48 data/forcecraft/recipes/transmutation/stick_from_stone_hoe.json -1b55e5472ae5264049ea95c394805e4c28f45685 data/forcecraft/recipes/transmutation/stick_from_stone_pickaxe.json -a361232e985df1002d4d8fade4861f76b9c17ef0 data/forcecraft/recipes/transmutation/stick_from_stone_shovel.json -24d6683eae5b70549ced733ee4d627a185a0a805 data/forcecraft/recipes/transmutation/stick_from_stone_sword.json -0dff3c0a249b744e565c5eb82ca27141102634ab data/forcecraft/recipes/transmutation/stick_from_wooden_axe.json -18fb369d102499df145457eb6c9539079b192e82 data/forcecraft/recipes/transmutation/stick_from_wooden_hoe.json -42a9fe509df7ab2bb8a3b078628013aa99067461 data/forcecraft/recipes/transmutation/stick_from_wooden_pickaxe.json -4d535132a7416c8a2633affba88c499dc126a94a data/forcecraft/recipes/transmutation/stick_from_wooden_shovel.json -94f6aea5071adf60ae8dadfec8900db06f2afbc1 data/forcecraft/recipes/transmutation/stick_from_wooden_sword.json -b35719087f4f9f437680290cad42ff950fb67cab data/forcecraft/recipes/transmutation/string_from_bow.json -4467733170edd8d4c1f4c83bc251f6cc8c313e8f data/forcecraft/recipes/transmutation/tripwire_hook_from_crossbow.json -b3ffa8c5244a11de6304840692fde8f812a6c813 data/forcecraft/recipes/transmutation/upgrade_core.json -b7af9467900cd5fb9676acce1c3ac6abcaad0f0d data/forcecraft/recipes/transmutation/upgrade_tome.json -e4a67eda1975b707da50ea8df57e758e5e123c38 data/forcecraft/recipes/treasure_core.json -a5c99703bbf4bb6794ef97fa8d114988ee5c729c data/forcecraft/recipes/white_force_furnace_from_dye.json -73d71d98d9da377d09173df1325229240722cc42 data/minecraft/advancements/recipes/food/cooked_bacon_from_campfire_cooking.json -1e1cbe6a5e03831969a05260f41fb09cc87e868c data/minecraft/advancements/recipes/food/cooked_bacon_from_smoking.json -23dc8eee1763fa63dfe01bfe6a86787b6ad99857 data/minecraft/advancements/recipes/misc/force_gem_from_blasting_deepslate_power_ore.json -77609a97aed2b27677d6f9914c43b15a2c459917 data/minecraft/advancements/recipes/misc/force_gem_from_blasting_power_ore.json -0eb334b2ca7d46b3608e4a84875c24ba309731fa data/minecraft/advancements/recipes/misc/force_gem_from_smelting_deepslate_power_ore.json -67cfe55eb6d28bf5d851c3137693e41fb6c0af10 data/minecraft/advancements/recipes/misc/force_gem_from_smelting_power_ore.json -466f2ef5380a60b772ce7950380fb9d62695bb1a data/minecraft/recipes/cooked_bacon_from_campfire_cooking.json -a93282cab01d6154ca706aea15eefc021dad3426 data/minecraft/recipes/cooked_bacon_from_smoking.json -da4b2e0e9b2d2686cd57ba2788ecd91549fa133b data/minecraft/recipes/force_gem_from_blasting_deepslate_power_ore.json -60dc19eacb422f477784795ad33c5e1c285a3fbd data/minecraft/recipes/force_gem_from_blasting_power_ore.json -a51df1c73346afaccc51dcba9a7969a697908564 data/minecraft/recipes/force_gem_from_smelting_deepslate_power_ore.json -f2333bf111869bd512c172bca788efa8450f5a1a data/minecraft/recipes/force_gem_from_smelting_power_ore.json +// 1.21.1 2024-08-25T23:46:34.838392314 Recipes +3e6d620f7add54f0a4894209d84ba72c8bebe1ca data/forcecraft/advancement/recipes/building_blocks/force_black_torch.json +9c1f7e54da6ecd6a41cec7802d0c30a0c915b7c1 data/forcecraft/advancement/recipes/building_blocks/force_blue_torch.json +d82ae03117d94de897534994565aceca4eafb713 data/forcecraft/advancement/recipes/building_blocks/force_brick.json +bd154cd135920303b81a5f095122f082b6fa6650 data/forcecraft/advancement/recipes/building_blocks/force_brick_black.json +a78cfaad3cc97a00f19a1e01ae8379a50087c25a data/forcecraft/advancement/recipes/building_blocks/force_brick_black_slab.json +5daff434d3d283a899df36fad1cb80ae39c2efd1 data/forcecraft/advancement/recipes/building_blocks/force_brick_black_slab_from_force_brick_black.json +b9daf0ef55d56649cdc11583718608efa8a193c2 data/forcecraft/advancement/recipes/building_blocks/force_brick_black_stairs.json +024feb1820d0160ffaf0a689dd1bbdc5a0651519 data/forcecraft/advancement/recipes/building_blocks/force_brick_black_stairs_from_force_brick_black.json +7e0d1c3243f1c7567f92dc8884c1a5dc8ff11413 data/forcecraft/advancement/recipes/building_blocks/force_brick_blue.json +e75107abe0f7fb8598c53436d864b1dc33cf2a54 data/forcecraft/advancement/recipes/building_blocks/force_brick_blue_slab.json +7c94465434ea452832223cccdc91e127509d4ee3 data/forcecraft/advancement/recipes/building_blocks/force_brick_blue_slab_from_force_brick_blue.json +284967453668e869232eefcf793739f8c10b0c06 data/forcecraft/advancement/recipes/building_blocks/force_brick_blue_stairs.json +008b3d9426e91e810cc01f890d8715ea65edd0c7 data/forcecraft/advancement/recipes/building_blocks/force_brick_blue_stairs_from_force_brick_blue.json +42773a8a15dc9eefed5eaf8488301a9540acae07 data/forcecraft/advancement/recipes/building_blocks/force_brick_brown.json +232197e62936e9c120d02aa85c42fc844fcd3c94 data/forcecraft/advancement/recipes/building_blocks/force_brick_brown_slab.json +25e0e5d8d3364ff43c517ac113af8760fbf04a0b data/forcecraft/advancement/recipes/building_blocks/force_brick_brown_slab_from_force_brick_brown.json +2d28d1b2df95f8088bb49f62f575799502749b43 data/forcecraft/advancement/recipes/building_blocks/force_brick_brown_stairs.json +b845755ce0ee106781dbbcd2523560eeec4f7547 data/forcecraft/advancement/recipes/building_blocks/force_brick_brown_stairs_from_force_brick_brown.json +9913c687f9988f3f0e228aa5951d9abaef77f267 data/forcecraft/advancement/recipes/building_blocks/force_brick_cyan.json +734c3942dbca94ae5d02d9f612802b362e7f4d5a data/forcecraft/advancement/recipes/building_blocks/force_brick_cyan_slab.json +89243cc2262462ed0f9261633b562e70d009af55 data/forcecraft/advancement/recipes/building_blocks/force_brick_cyan_slab_from_force_brick_cyan.json +2a0c036ca40a8a4ec210d8189c9563f3bf94a98a data/forcecraft/advancement/recipes/building_blocks/force_brick_cyan_stairs.json +2c696b905968e9bbe646f53b479531a913625b6e data/forcecraft/advancement/recipes/building_blocks/force_brick_cyan_stairs_from_force_brick_cyan.json +407009e08fee0700a42a02e7253c9863f2db0144 data/forcecraft/advancement/recipes/building_blocks/force_brick_gray.json +0775935a222c62efe15f9d1ffe9c2c1440cf3cdf data/forcecraft/advancement/recipes/building_blocks/force_brick_gray_slab.json +19660c547a88dc2d559447a741ceb63ef42d68f8 data/forcecraft/advancement/recipes/building_blocks/force_brick_gray_slab_from_force_brick_gray.json +47418a9fd11bc36727fdcd6f2f67d40509a2d4d3 data/forcecraft/advancement/recipes/building_blocks/force_brick_gray_stairs.json +93ebc38f8f2421978a3c87ad6401a4aced054a5f data/forcecraft/advancement/recipes/building_blocks/force_brick_gray_stairs_from_force_brick_gray.json +3652d586c8ea78860fd47a22fea20f042b410cce data/forcecraft/advancement/recipes/building_blocks/force_brick_green.json +98889d72abe804d91503a0ee1a435f2ac238fe8d data/forcecraft/advancement/recipes/building_blocks/force_brick_green_slab.json +5f2aafc9ba4e372035aaaae7e80ab4c95d808c96 data/forcecraft/advancement/recipes/building_blocks/force_brick_green_slab_from_force_brick_green.json +569e1b21389107c7e4d4b44a6bc008b7b3a36c27 data/forcecraft/advancement/recipes/building_blocks/force_brick_green_stairs.json +48551dc4fb2467c25236ee4a60c1a766f0627a4c data/forcecraft/advancement/recipes/building_blocks/force_brick_green_stairs_from_force_brick_green.json +c86b84ac990fd72b202018ac0cf2cb7bfebed385 data/forcecraft/advancement/recipes/building_blocks/force_brick_light_blue.json +aa9d576ca4445bf49f8b348044a38775ad2be5d3 data/forcecraft/advancement/recipes/building_blocks/force_brick_light_blue_slab.json +70b90a5aa2b4bd953582693398e5c93dbf592ff8 data/forcecraft/advancement/recipes/building_blocks/force_brick_light_blue_slab_from_force_brick_light_blue.json +5f8ebca2dafda94e8854724acd617e0cb7cef1c2 data/forcecraft/advancement/recipes/building_blocks/force_brick_light_blue_stairs.json +198dec34193edb5b9ac93b32b737f71a11187791 data/forcecraft/advancement/recipes/building_blocks/force_brick_light_blue_stairs_from_force_brick_light_blue.json +7e8a6fe9f7ab57aa3f0aca92496399ef41bfc9c7 data/forcecraft/advancement/recipes/building_blocks/force_brick_light_gray.json +e1682caf0c3eb79a4a8b18b7e8504c896b5e3ae6 data/forcecraft/advancement/recipes/building_blocks/force_brick_light_gray_slab.json +8ba1a682206d96c008e4f748d9e5412171c56d04 data/forcecraft/advancement/recipes/building_blocks/force_brick_light_gray_slab_from_force_brick_light_gray.json +4f776ad42c23cd6247d07440ec56ec36227a9cc8 data/forcecraft/advancement/recipes/building_blocks/force_brick_light_gray_stairs.json +837b1177e8a3f4bbaef1ad7c133325b6348779c3 data/forcecraft/advancement/recipes/building_blocks/force_brick_light_gray_stairs_from_force_brick_light_gray.json +1afe9d673249e459b4b4bedb671242a00d6e81c7 data/forcecraft/advancement/recipes/building_blocks/force_brick_lime.json +b12239a016f4801404a212b49c6d13298db8251c data/forcecraft/advancement/recipes/building_blocks/force_brick_lime_slab.json +926204765017a703aa3dc7f7af08528f711bca0d data/forcecraft/advancement/recipes/building_blocks/force_brick_lime_slab_from_force_brick_lime.json +3524588e89dbfd8a430ae37bfa5027f78b442cf5 data/forcecraft/advancement/recipes/building_blocks/force_brick_lime_stairs.json +bcf6bf37a14047a9d9116370f248202f2a960046 data/forcecraft/advancement/recipes/building_blocks/force_brick_lime_stairs_from_force_brick_lime.json +e40984c3291faa413282ba73ecbdce2e14f6b582 data/forcecraft/advancement/recipes/building_blocks/force_brick_magenta.json +55b3c9dcccf68cf283a3bcc98e9c65aa049aab27 data/forcecraft/advancement/recipes/building_blocks/force_brick_magenta_slab.json +864f397e8f9f32fa6c9c8c43920623389220612a data/forcecraft/advancement/recipes/building_blocks/force_brick_magenta_slab_from_force_brick_magenta.json +118fdd18d1ec541937c6db5d066cad354a5a7a56 data/forcecraft/advancement/recipes/building_blocks/force_brick_magenta_stairs.json +c14bf8cb27a893c0aad194f599220c95d864fba8 data/forcecraft/advancement/recipes/building_blocks/force_brick_magenta_stairs_from_force_brick_magenta.json +34628c8060c221274f455a9c12cda6e6cef866e7 data/forcecraft/advancement/recipes/building_blocks/force_brick_orange.json +07f93e0b4dcf4bc13c8a5c300d6ffd4fef3ec674 data/forcecraft/advancement/recipes/building_blocks/force_brick_orange_slab.json +088e40af8dd4a492c965f5e8a7ae88c284d886a3 data/forcecraft/advancement/recipes/building_blocks/force_brick_orange_slab_from_force_brick_orange.json +a072ce5429dfc83f3549442e23ed754263fd711a data/forcecraft/advancement/recipes/building_blocks/force_brick_orange_stairs.json +d4c393aed93fbafb4930a02e41621862dc3ead02 data/forcecraft/advancement/recipes/building_blocks/force_brick_orange_stairs_from_force_brick_orange.json +818b455d5b2236e0f3d22ec81213ec5db134e01f data/forcecraft/advancement/recipes/building_blocks/force_brick_pink.json +c6ae3152a9e76e6be50ec96beb0fff170d7d903f data/forcecraft/advancement/recipes/building_blocks/force_brick_pink_slab.json +dc3de28d7aee2c075c636f139a1368374d68e94c data/forcecraft/advancement/recipes/building_blocks/force_brick_pink_slab_from_force_brick_pink.json +48b1a7dc7d4a408b13adfa6723cde9bfdc0e4421 data/forcecraft/advancement/recipes/building_blocks/force_brick_pink_stairs.json +6266fefb4195a32d40f52fedb013d17a5858490d data/forcecraft/advancement/recipes/building_blocks/force_brick_pink_stairs_from_force_brick_pink.json +77dcfaf56cf7a43e5118f0ded2a7ca1420e0c2ab data/forcecraft/advancement/recipes/building_blocks/force_brick_purple.json +cbcb3fdee3dd066d31c08c2e472c7271925932a5 data/forcecraft/advancement/recipes/building_blocks/force_brick_purple_slab.json +58851b46386f9607789f36ee724a115018b76a12 data/forcecraft/advancement/recipes/building_blocks/force_brick_purple_slab_from_force_brick_purple.json +3354bb915d8f914069f04025f778af583afdba45 data/forcecraft/advancement/recipes/building_blocks/force_brick_purple_stairs.json +637c6b7e28554efb4427a08ad7b36c67a1c56c55 data/forcecraft/advancement/recipes/building_blocks/force_brick_purple_stairs_from_force_brick_purple.json +558f84ccd5dec5bdc7ed1d09d506c76837f9559d data/forcecraft/advancement/recipes/building_blocks/force_brick_red.json +66c410f798fcdfc12af35a788fb3f18b8904d645 data/forcecraft/advancement/recipes/building_blocks/force_brick_red_slab.json +e51f489587f89a674c6437e3d663511adc326e47 data/forcecraft/advancement/recipes/building_blocks/force_brick_red_slab_from_force_brick_red.json +417528856a2f3703acb66bf3a5717a1893e49d5b data/forcecraft/advancement/recipes/building_blocks/force_brick_red_stairs.json +58b3a05f9c59fb9036e50f357774423dc5797e7a data/forcecraft/advancement/recipes/building_blocks/force_brick_red_stairs_from_force_brick_red.json +c22cbf2771f8812f337593f921c38ff994de6c42 data/forcecraft/advancement/recipes/building_blocks/force_brick_slab.json +4d64f24cc1c12664f0456c0526f7bad37d7b33f8 data/forcecraft/advancement/recipes/building_blocks/force_brick_slab_from_force_brick.json +8c713294f1a12614a748867b610e989e37a592f9 data/forcecraft/advancement/recipes/building_blocks/force_brick_stairs.json +45584037b1f86941578a2a4d6e0744ea8b22d65c data/forcecraft/advancement/recipes/building_blocks/force_brick_stairs_from_force_brick.json +08ce060d14f8e5e33a1a1cf351b70cbe0facd40b data/forcecraft/advancement/recipes/building_blocks/force_brick_white.json +ef1bd8d8b47d7404df56e2e6483fe1b32e5d23d7 data/forcecraft/advancement/recipes/building_blocks/force_brick_white_slab.json +4e1bcb44550d3dfb8e99771c06abc174868d6d08 data/forcecraft/advancement/recipes/building_blocks/force_brick_white_slab_from_force_brick_white.json +de52ebae43217f0273238fd2e1e6b4663dd06b54 data/forcecraft/advancement/recipes/building_blocks/force_brick_white_stairs.json +b6c691ed4c24b7b27476e8e8c1353809112a66c3 data/forcecraft/advancement/recipes/building_blocks/force_brick_white_stairs_from_force_brick_white.json +0864f5ff9fbbd424d025e1323e62dcb323baf56b data/forcecraft/advancement/recipes/building_blocks/force_brick_yellow.json +d1d359cdb0e0f8198d869f1a348b603694615c65 data/forcecraft/advancement/recipes/building_blocks/force_brick_yellow_slab.json +bd1ca27c040ecd7339c0c7840b848db142a30e1c data/forcecraft/advancement/recipes/building_blocks/force_brick_yellow_slab_from_force_brick_yellow.json +486325a39eabc0ac171465a41e022b7313edcffe data/forcecraft/advancement/recipes/building_blocks/force_brick_yellow_stairs.json +0e49344425577fff9ded03e023021562c29d7e0a data/forcecraft/advancement/recipes/building_blocks/force_brick_yellow_stairs_from_force_brick_yellow.json +a8ddd3196cd708bcd1f6dedb1e10e6608e854052 data/forcecraft/advancement/recipes/building_blocks/force_brown_torch.json +24a953cd62bd1930793a17d97f0e4e439ca5732b data/forcecraft/advancement/recipes/building_blocks/force_cyan_torch.json +7a464500cd24ca031e4a717add32eccaf30bda0f data/forcecraft/advancement/recipes/building_blocks/force_gray_torch.json +cca63ad31e184ec544393718950c3a94e2a2285c data/forcecraft/advancement/recipes/building_blocks/force_green_torch.json +99abfc7d54967fd1d1e4778f70b4b3563b07850f data/forcecraft/advancement/recipes/building_blocks/force_light_blue_torch.json +11ddd1c85f507511ab108fd7e38f60122f1a007c data/forcecraft/advancement/recipes/building_blocks/force_light_gray_torch.json +60a173a79a3711f9fd78ae5daa2b9944399b2e5c data/forcecraft/advancement/recipes/building_blocks/force_lime_torch.json +4cdea6d48c7fca8fd2395588af1f62c66f73f8c1 data/forcecraft/advancement/recipes/building_blocks/force_magenta_torch.json +7a9b15827275fa38a89d3f1bd419faab35eb4e8e data/forcecraft/advancement/recipes/building_blocks/force_orange_torch.json +b694f4aa480c48db9351c1d2b82629add1519ff3 data/forcecraft/advancement/recipes/building_blocks/force_pink_torch.json +5b3564e5610648336753071ade5aeb5e9e906c59 data/forcecraft/advancement/recipes/building_blocks/force_plank_slab.json +80a6978556065b5a871c9ed0165ccca59f842c7d data/forcecraft/advancement/recipes/building_blocks/force_plank_stairs.json +12e7ba7e66bf2ce31c2a6c3d9989383e1770bad9 data/forcecraft/advancement/recipes/building_blocks/force_planks.json +f9f89749af46583168ae3e16af7d38c7a09eca75 data/forcecraft/advancement/recipes/building_blocks/force_purple_torch.json +8765f71df00efb13ab543ad8143a1aa8fc75bb7b data/forcecraft/advancement/recipes/building_blocks/force_red_torch.json +2be9e8ed424476b1184c464950fb9a79279b37e8 data/forcecraft/advancement/recipes/building_blocks/force_torch.json +3725c1698ec9dfc031565b84a9efd552d98582e8 data/forcecraft/advancement/recipes/building_blocks/force_white_torch.json +a1aed1a995f10cee23b70dd392ea05e301b2cc4b data/forcecraft/advancement/recipes/building_blocks/force_wood.json +5a179ef068a76dfaffd939e2914265c579b1d3ed data/forcecraft/advancement/recipes/combat/force_bow.json +a8ef3f755974d76070d894aa19bf304782d4bef2 data/forcecraft/advancement/recipes/combat/force_sword.json +66a3a43e2d7daefcad98212fc01906449b3cdf5e data/forcecraft/advancement/recipes/food/cooked_bacon_from_smelting.json +21053eed58a22b643317513a9fc4418bc32dea98 data/forcecraft/advancement/recipes/food/fortune_cookie.json +bc1ce053d292cb60f7499c021319cb9003487efb data/forcecraft/advancement/recipes/food/snow_cookie.json +feca2a485c7d8bc50858bf06ca927bc129078312 data/forcecraft/advancement/recipes/food/soul_wafer.json +f1c0eceeb9c26533c590408515e1b9219e68abf8 data/forcecraft/advancement/recipes/freezing/freezing/bone_from_blaze_rod.json +266e86b427f37f56423a3de158c4035ac689ed00 data/forcecraft/advancement/recipes/freezing/freezing/bone_meal_from_blaze_powder.json +8e1e6240619fe356772d13a29a0748e26307af65 data/forcecraft/advancement/recipes/freezing/freezing/brick_from_nether_brick.json +756f2f90a3c25b918edfcfde4fe7a07d54d23579 data/forcecraft/advancement/recipes/freezing/freezing/cobblestone_from_netherrack.json +1ad0d2a0cb20fe390065b6c787fb67b450ef898d data/forcecraft/advancement/recipes/freezing/freezing/ice_from_water_bottle.json +1b36863692a1b440477cba4b902ef3d7a0e6fc7e data/forcecraft/advancement/recipes/freezing/freezing/ice_from_water_bucket.json +18b64f10ac219dc63275d8646966738876e1d5fa data/forcecraft/advancement/recipes/freezing/freezing/leather_from_rotten_flesh.json +1971f87ddf4e7595aeda39d4f6532fe5da64ffbe data/forcecraft/advancement/recipes/freezing/freezing/obsidian_from_lava_bucket.json +e61d7346ce227c600e969c042e1598bb5053f028 data/forcecraft/advancement/recipes/freezing/freezing/sandstone_from_red_sand.json +cf5782554f7347e26d6e7bbfc10a2d353fa85f9b data/forcecraft/advancement/recipes/freezing/freezing/sandstone_from_sand.json +5dd13c880f84dd4e15a27f235a2b3fa09be43e49 data/forcecraft/advancement/recipes/freezing/freezing/snowball_from_slimeball.json +21746ec6723e6ad55c7759f4d81d22dd6a04ac04 data/forcecraft/advancement/recipes/freezing/freezing/stone_bricks_from_stone.json +ff5087ff52dea45005b5c0355f2d8ac770a10be9 data/forcecraft/advancement/recipes/freezing/freezing/stone_from_cobblestone.json +862c4033782e6f3ebbe97136851d2f0a9729bf4b data/forcecraft/advancement/recipes/grinding/grinding/acacia_planks_from_door.json +176e95f601323910471ece5461f49e0492d6a375 data/forcecraft/advancement/recipes/grinding/grinding/acacia_planks_from_log.json +b1ec4eab6c6bfa54c0cd270e04df7ba48bad866b data/forcecraft/advancement/recipes/grinding/grinding/acacia_planks_from_pressure_plate.json +79818c7c414012d24bb150be8354ddfa0cf7ba7c data/forcecraft/advancement/recipes/grinding/grinding/birch_planks_from_door.json +ba915a91b530a281aaba795d36d02e771861e62a data/forcecraft/advancement/recipes/grinding/grinding/birch_planks_from_log.json +21ff1227af3807bcad70a6b09f8b729fafbc5c2e data/forcecraft/advancement/recipes/grinding/grinding/birch_planks_from_pressure_plate.json +c83832944021b3b615b66c6c1e34ff0737ec3b55 data/forcecraft/advancement/recipes/grinding/grinding/blaze_powder_from_blaze_rod.json +9d94c4bebc7f3dd6b5727e7cfa603492500cf05a data/forcecraft/advancement/recipes/grinding/grinding/bone_meal_from_bone.json +a927c24d741234a6e04e16a27481aa0bd53815b2 data/forcecraft/advancement/recipes/grinding/grinding/cherry_planks_from_door.json +976a474445b061532853413b6b74671adfebdda6 data/forcecraft/advancement/recipes/grinding/grinding/cherry_planks_from_log.json +ccded1a96e07be11ebaad0b1ec33e407d690f8b4 data/forcecraft/advancement/recipes/grinding/grinding/cherry_planks_from_pressure_plate.json +87abdf072bf8cb5e908303b5746b1cd05036fd96 data/forcecraft/advancement/recipes/grinding/grinding/cobblestone_from_furnace.json +7e0672ed3b8b1edeb4fdd66748b8adb6ed7b0c76 data/forcecraft/advancement/recipes/grinding/grinding/cooked_bacon_from_cooked_porkchop.json +2990483dc613e04d8e2503748ae072466968f31a data/forcecraft/advancement/recipes/grinding/grinding/crimson_planks_from_door.json +432efe66d492b98897cc971e4e3c95e0308a6a96 data/forcecraft/advancement/recipes/grinding/grinding/crimson_planks_from_log.json +35f55cd9d6914e033326510a3ce56ed82c260a98 data/forcecraft/advancement/recipes/grinding/grinding/crimson_planks_from_pressure_plate.json +7fe2b9abb9a7e0dabd56710b8ece80e3a58ee235 data/forcecraft/advancement/recipes/grinding/grinding/dark_oak_planks_from_door.json +0637bd3c5bcd77d6f43acf397c3f6ddc455a092d data/forcecraft/advancement/recipes/grinding/grinding/dark_oak_planks_from_log.json +bdcd9ec7c4b74b6481ee4df1c3dd882a64dcc238 data/forcecraft/advancement/recipes/grinding/grinding/dark_oak_planks_from_pressure_plate.json +dab1413c6d99a4b1aafe0f5bbe0c22dfef3ec18b data/forcecraft/advancement/recipes/grinding/grinding/flint_from_gravel.json +c1537344689617489139ad0beb47c0bc78304b11 data/forcecraft/advancement/recipes/grinding/grinding/force_planks_from_log.json +991cb03f0c33f066f525bc38d76337cf7c81bef2 data/forcecraft/advancement/recipes/grinding/grinding/gold_ingot_from_light_weighted_pressure_plate.json +05f9da13651c0d0d9b0b1c59f0e12c9802432609 data/forcecraft/advancement/recipes/grinding/grinding/ingots_from_force_furnace.json +8553abaed73756461eae55f5bfe134b7819cd850 data/forcecraft/advancement/recipes/grinding/grinding/iron_ingot_from_door.json +6fc3b30514722c8fdf9a02ec74471b1bf678a745 data/forcecraft/advancement/recipes/grinding/grinding/iron_ingot_from_heavy_weighted_pressure_plate.json +a45bc4ec87db998ed75a7dd92a08e98da84e9295 data/forcecraft/advancement/recipes/grinding/grinding/jungle_planks_from_door.json +f4c1aa8529291afd046c8bf067309e6cdda477d1 data/forcecraft/advancement/recipes/grinding/grinding/jungle_planks_from_log.json +e13d7fa6218e582a46720787d3a24833a12dfd8b data/forcecraft/advancement/recipes/grinding/grinding/jungle_planks_from_pressure_plate.json +5d73c78e960ffe55c47fcf88d85e64976777b3ef data/forcecraft/advancement/recipes/grinding/grinding/mangrove_planks_from_door.json +45e78ba598eb691314abf94989e8f0436f6f32ac data/forcecraft/advancement/recipes/grinding/grinding/mangrove_planks_from_log.json +c7ab0dbed873c9a38c608707cb3a11ccf0fb4cb7 data/forcecraft/advancement/recipes/grinding/grinding/mangrove_planks_from_pressure_plate.json +4dc46b51a161324ec1987ad466358d82421ced64 data/forcecraft/advancement/recipes/grinding/grinding/oak_planks_from_bookshelf.json +1b0089eb31289c7839a4f61d22f0a94106059aa4 data/forcecraft/advancement/recipes/grinding/grinding/oak_planks_from_chest.json +3093df55ce2d9d93b6240acb3a443f74a5540771 data/forcecraft/advancement/recipes/grinding/grinding/oak_planks_from_crafting_table.json +9d4ee5d5e3b8522dea5bbd7fb0789d69d7e54591 data/forcecraft/advancement/recipes/grinding/grinding/oak_planks_from_door.json +534c8fc28d52028faed87d9682176bb7d1c5e836 data/forcecraft/advancement/recipes/grinding/grinding/oak_planks_from_log.json +12f5db0ae3f4ce0acee1dc58af5c181c883e0f8e data/forcecraft/advancement/recipes/grinding/grinding/oak_planks_from_pressure_plate.json +a2625e6eca606e0eb66b7cf3755ea97e61759725 data/forcecraft/advancement/recipes/grinding/grinding/paper_from_book.json +9ee36c299a699b772082166e558f212b002b3b81 data/forcecraft/advancement/recipes/grinding/grinding/raw_bacon_from_porkchop.json +aebbb79e0ede0e946540ae6823eea525c26d691c data/forcecraft/advancement/recipes/grinding/grinding/sand_from_cobblestone.json +bb215dc813d849f063a16f93bcbd7c02afd12a4f data/forcecraft/advancement/recipes/grinding/grinding/sand_from_red_sandstone.json +a7d3b4fc3e5975c61a5eedce101eef25007b950b data/forcecraft/advancement/recipes/grinding/grinding/sand_from_sandstone.json +ea3997131f2a185fc0fa84d6d179e38775437fa9 data/forcecraft/advancement/recipes/grinding/grinding/spruce_planks_from_door.json +b09781f7a88bd5434180c731fd6694a4685ad734 data/forcecraft/advancement/recipes/grinding/grinding/spruce_planks_from_log.json +9c94019e8a0fdeb35fc91dedbe459f5c6dfc5238 data/forcecraft/advancement/recipes/grinding/grinding/spruce_planks_from_pressure_plate.json +0eda76fa1496cc8a1655682f3882799d97370c86 data/forcecraft/advancement/recipes/grinding/grinding/stone_from_pressure_plate.json +d498b8d1d8f830be93f260e6dd1e630361a41c1d data/forcecraft/advancement/recipes/grinding/grinding/string_from_wool.json +be27ef38baeb64bcbcf5cb9b8a6e62c1962cb488 data/forcecraft/advancement/recipes/grinding/grinding/string_from_wool_carpet.json +882c610ca2660f8c03cfe1d64d0f7802ed89bff1 data/forcecraft/advancement/recipes/grinding/grinding/warped_planks_from_door.json +a7ebbca329da1804e8e81ed4e8ebe1849ad50370 data/forcecraft/advancement/recipes/grinding/grinding/warped_planks_from_log.json +75e754039115a0d7b2a2e61014172af0186b60e0 data/forcecraft/advancement/recipes/grinding/grinding/warped_planks_from_pressure_plate.json +b570eb68278ca2237e35a881ec2b3a1bfea3fb59 data/forcecraft/advancement/recipes/misc/black_force_furnace_from_dye.json +459cca66a875f22fd651ea3d7d1c2ed1706ef415 data/forcecraft/advancement/recipes/misc/blue_force_furnace_from_dye.json +c22357c43da2d0a4ed94b38c4bb985452689f1e9 data/forcecraft/advancement/recipes/misc/brown_force_furnace_from_dye.json +2dc90cccf8ea469b4f9457c7095f55ab5b8371da data/forcecraft/advancement/recipes/misc/cyan_force_furnace_from_dye.json +40a385499ae8966529e34275560e8c6d7226edd4 data/forcecraft/advancement/recipes/misc/force_and_you.json +631558609f1c320732d0bcdb98688f79cd251f8e data/forcecraft/advancement/recipes/misc/force_belt.json +2bfe9b83aea9a3ae055fc818342827bb4041c67a data/forcecraft/advancement/recipes/misc/force_flask.json +dd3d025c8bddffd3fb9866f0356b248c7bcf5ede data/forcecraft/advancement/recipes/misc/force_flask_from_entity_flask.json +7ebbf2eb8ea179c2a5187efc606ecb945ffcae7d data/forcecraft/advancement/recipes/misc/force_furnace_from_dye.json +2b38b9d0ece28038afd2802cf8cf3103a78cb5bd data/forcecraft/advancement/recipes/misc/force_gear.json +067d4d4b5fbdb9a1daa247febb94bc724f532ff0 data/forcecraft/advancement/recipes/misc/force_ingot_from_gold.json +a8c8f40bd8bccde634810c38f94f915c2f491324 data/forcecraft/advancement/recipes/misc/force_ingot_from_iron.json +e4ec48eb244fa8cb77b178b9613385d8b220e95c data/forcecraft/advancement/recipes/misc/force_ingot_from_nuggets.json +7dc7d4f5195fe962779959c6dd35fb336406d618 data/forcecraft/advancement/recipes/misc/force_nugget.json +b9acc27fcfeee8bc8e4fc618f2d78fb893250a5c data/forcecraft/advancement/recipes/misc/force_pack_upgrade.json +09b7e7ed65331e1bc328938e7d1d61166ae11d78 data/forcecraft/advancement/recipes/misc/force_stick.json +4757207678fa6620396eddbcf7d4aa01781a28e7 data/forcecraft/advancement/recipes/misc/golden_power_source.json +6157ef40a825beab15fb62357f809d5005a9aa68 data/forcecraft/advancement/recipes/misc/gray_force_furnace_from_dye.json +c92d8075037c96148d0ea5bd208283e26a0f7f53 data/forcecraft/advancement/recipes/misc/green_force_furnace_from_dye.json +4975a06b2b2e1416ed511e2a85ff4624ecb851a7 data/forcecraft/advancement/recipes/misc/gunpowder_from_pile_of_gunpowder.json +58faaa05801c334393916ae86edcf41003e32bc6 data/forcecraft/advancement/recipes/misc/item_card.json +a5d30a07b67ca0d585790ca494d3a1ac19c8bbc9 data/forcecraft/advancement/recipes/misc/item_card_empty.json +f37b50dc62272e8ea84363e582680f53951d0976 data/forcecraft/advancement/recipes/misc/item_card_flipped.json +9651b8eca54adc398a3084f4d7b0470d8c9220ab data/forcecraft/advancement/recipes/misc/light_blue_force_furnace_from_dye.json +7d5b34f3a3c7a00c1df22ee607ff30b9f44dc92b data/forcecraft/advancement/recipes/misc/light_gray_force_furnace_from_dye.json +b2f3019c9f7944841341ef310a79771497f2f9f6 data/forcecraft/advancement/recipes/misc/lime_force_furnace_from_dye.json +4c376afb6eefef78ac4abfd6031020748c71d3b2 data/forcecraft/advancement/recipes/misc/magenta_force_furnace_from_dye.json +29acfb23369086ba9e623e6d80b874be0570afb5 data/forcecraft/advancement/recipes/misc/magnet_glove.json +ad863e855201da75dc6442bfd39a89dcd971fbe3 data/forcecraft/advancement/recipes/misc/orange_force_furnace_from_dye.json +14a07fa3486b4d96b476031bcef3393b444a1759 data/forcecraft/advancement/recipes/misc/pink_force_furnace_from_dye.json +5250a611f5736f35987343a5ab87247d4c4d349c data/forcecraft/advancement/recipes/misc/purple_force_furnace_from_dye.json +b297751e9e1cf212598a3385d9bdd3884d2eea77 data/forcecraft/advancement/recipes/misc/red_force_furnace_from_dye.json +31c012e1247f8ddc774fa3feeb609469e41f26f3 data/forcecraft/advancement/recipes/misc/red_potion.json +7a05f55bf5ae23d0ac60856d28df3cd3bc03b8a7 data/forcecraft/advancement/recipes/misc/slime_ball_from_chu_jelly.json +371db9dac0dca9a54a474dab365c9d73e1cd58c5 data/forcecraft/advancement/recipes/misc/spoils_bag.json +76180832bd933347c247a7ea8cd0910ee8f386cc data/forcecraft/advancement/recipes/misc/spoils_bag_t2.json +cb777010f25afdf1f08f400fec33ceaf4c4a242b data/forcecraft/advancement/recipes/misc/spoils_bag_t3.json +d39d65a042d3b48383e7bd84d8eb839edd2c57ac data/forcecraft/advancement/recipes/misc/treasure_core.json +3daad804ca474c3c2e5c2a37741efb34cdfa9032 data/forcecraft/advancement/recipes/misc/white_force_furnace_from_dye.json +174d29a2297175bd8db63127a4f900342745865d data/forcecraft/advancement/recipes/redstone/force_engine.json +33e44635c924bf34bcaf78e3e0265f77063cb6af data/forcecraft/advancement/recipes/redstone/force_furnace.json +74a567fcd291758336c15b68112a3096ecd31557 data/forcecraft/advancement/recipes/tools/baconator.json +5e655c72c920c1f5167d24d772e2bfcdfe88f981 data/forcecraft/advancement/recipes/tools/force_arrow.json +a3105661d0c6bc290da156ba1e0681eb9fab20b9 data/forcecraft/advancement/recipes/tools/force_axe.json +c3d648aa3f1e7f8002367fef49368609417b2302 data/forcecraft/advancement/recipes/tools/force_boots.json +231971f4001e238ebf843e4ccf5fb5ab6a4908e8 data/forcecraft/advancement/recipes/tools/force_chest.json +93613985fde4c12047bfbd0a95d067e74775ca82 data/forcecraft/advancement/recipes/tools/force_helmet.json +0e8e58b6c0cd9157de0cb3227a1f58a17565c992 data/forcecraft/advancement/recipes/tools/force_legs.json +bed84837cd733fee1cf93a5140425df6c6b42626 data/forcecraft/advancement/recipes/tools/force_mitt.json +9b1497622dbd67855a96dd2a38710506bdcc6538 data/forcecraft/advancement/recipes/tools/force_pack.json +63807b02d079d8b963c1addfb1609f609c875299 data/forcecraft/advancement/recipes/tools/force_pickaxe.json +ba19faf97ce5468ebea108a67665143694c1c492 data/forcecraft/advancement/recipes/tools/force_rod.json +06db215861713ac1c54e0cae6df70f7217cd6352 data/forcecraft/advancement/recipes/tools/force_rod_from_stick.json +c0c00b57e1ba8ce3120d35414eebdaabacd7ef66 data/forcecraft/advancement/recipes/tools/force_shears.json +0c298d568f234e05462af29d6884910837862d55 data/forcecraft/advancement/recipes/tools/force_shovel.json +9b4db57067db9d337f45dae8e6a5d8f21165c391 data/forcecraft/advancement/recipes/tools/force_wrench.json +a4e8b5d25de4203afc1cebdfe96319fe194792ab data/forcecraft/advancement/recipes/transmutation/transmutation/beef_to_porkchop.json +61d9ade28ef459505961f3d4e49194d49ce48080 data/forcecraft/advancement/recipes/transmutation/transmutation/brown_to_red_mushroom.json +869ceb141c5239215259087b81b6d9b5cf2f9e05 data/forcecraft/advancement/recipes/transmutation/transmutation/chicken_to_beef.json +5337ae9cbfce2a7ea5647b512d12a1bb640143ac data/forcecraft/advancement/recipes/transmutation/transmutation/cooked_beef_to_porkchop.json +50cbaaadc77993a60ff68e86a8ab8f492b0c6647 data/forcecraft/advancement/recipes/transmutation/transmutation/cooked_chicken_to_beef.json +b28160b575a49b6a29a6a2a22ed260174261b8cf data/forcecraft/advancement/recipes/transmutation/transmutation/cooked_mutton_to_chicken.json +3fba9422909f49b6557a3327a7e7940398b8adb3 data/forcecraft/advancement/recipes/transmutation/transmutation/cooked_porkchop_to_mutton.json +1a4da846858260e2feeda2b707d181c330a0d03a data/forcecraft/advancement/recipes/transmutation/transmutation/dandelion_to_poppy.json +126c25f19a6ca227259f941b8ae2fd08fadc277a data/forcecraft/advancement/recipes/transmutation/transmutation/diamond_from_axe.json +60b0ebb29ab393e0f608208d0367aec6c1cf7238 data/forcecraft/advancement/recipes/transmutation/transmutation/diamond_from_boots.json +57bceb7a6cad5100dd673c954922065a99fa131a data/forcecraft/advancement/recipes/transmutation/transmutation/diamond_from_chestplate.json +497dda7f017999e3504960c0b79b64cab3fba5b9 data/forcecraft/advancement/recipes/transmutation/transmutation/diamond_from_helmet.json +da41f35eb141ca73e4b1412c09572177c9262e12 data/forcecraft/advancement/recipes/transmutation/transmutation/diamond_from_hoe.json +af74076e289791469e60e3ccb6d2d6eea028ee1b data/forcecraft/advancement/recipes/transmutation/transmutation/diamond_from_horse_armor.json +a51161efda7121df4fe49abaf2429b32d1e155bd data/forcecraft/advancement/recipes/transmutation/transmutation/diamond_from_leggings.json +2c65eadcdcca8f0cb4f7a075b24485321fe5800e data/forcecraft/advancement/recipes/transmutation/transmutation/diamond_from_pickaxe.json +3ca90ff5e0e70f6b7ea57f33d7e2c563f905c66f data/forcecraft/advancement/recipes/transmutation/transmutation/diamond_from_shovel.json +2f229dbe1e3c21a911229fe97b7dc40547026e38 data/forcecraft/advancement/recipes/transmutation/transmutation/diamond_from_sword.json +6b9917ad404290bc813ee26f3616493ac58811a7 data/forcecraft/advancement/recipes/transmutation/transmutation/experience_bottle_from_enchanted_book.json +de44d2452a929aeaef24f3352f1dba0fb7d0f5f2 data/forcecraft/advancement/recipes/transmutation/transmutation/force_brick_from_stone_bricks.json +2c0cb927a82fec800df7745da8d3138c83bff78c data/forcecraft/advancement/recipes/transmutation/transmutation/force_sapling_from_sapling.json +b77aeeac01d3b2e7dca8ce80ec362ae13c2c9b81 data/forcecraft/advancement/recipes/transmutation/transmutation/fortune_from_fortune_cookie.json +83eaa7619b1ae2e56ee8ae4ca5d4b82ed7389927 data/forcecraft/advancement/recipes/transmutation/transmutation/gold_ingot_from_axe.json +4fc43f18286b946bebf607262c85174e4a851bf1 data/forcecraft/advancement/recipes/transmutation/transmutation/gold_ingot_from_boots.json +ff53508a91c172a551761b6378037bd04489d464 data/forcecraft/advancement/recipes/transmutation/transmutation/gold_ingot_from_chestplate.json +731b9eb02549aa7a8b1910156ce7433b572c0cae data/forcecraft/advancement/recipes/transmutation/transmutation/gold_ingot_from_clock.json +26e31edd2585a55b32aeb676c8b4be5f42e120ae data/forcecraft/advancement/recipes/transmutation/transmutation/gold_ingot_from_helmet.json +5c3ded1bd7f568390aa0abd3d6e1ab0c64133b54 data/forcecraft/advancement/recipes/transmutation/transmutation/gold_ingot_from_hoe.json +b42b831e07aa7c86606deaf1c474da4a89721921 data/forcecraft/advancement/recipes/transmutation/transmutation/gold_ingot_from_horse_armor.json +99ab0556f763f7dc105501935c90c8e446a1782a data/forcecraft/advancement/recipes/transmutation/transmutation/gold_ingot_from_leggings.json +1670390213f4e81a63513ecd5de897a6a74ab76b data/forcecraft/advancement/recipes/transmutation/transmutation/gold_ingot_from_pickaxe.json +277baa8d4f48be02bb2b59fa4be4d3de5c2e54b1 data/forcecraft/advancement/recipes/transmutation/transmutation/gold_ingot_from_shovel.json +9fe6e6b3e93aeb9e4d56a17c81b69363c64359a0 data/forcecraft/advancement/recipes/transmutation/transmutation/gold_ingot_from_sword.json +21d54e6020ef1dea0b0ab397cdf38a9a2a3a7520 data/forcecraft/advancement/recipes/transmutation/transmutation/infuser_from_enchanting_table.json +5b87ff4e0d4f4c9cdb0bad7371879c29e746e89f data/forcecraft/advancement/recipes/transmutation/transmutation/irom_ingot_from_cauldron.json +b8ffe957ac107fdf62140476f79a3e707b04e440 data/forcecraft/advancement/recipes/transmutation/transmutation/irom_ingot_from_compass.json +40e9b80f40ec2899ca01a5381e953792285c1d30 data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_anvil.json +4b75b67b924e493bb7efaa132f78cca2cd40b5c3 data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_axe.json +49bf8edf279211b16e72ac682e7b5b854c32a983 data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_boots.json +249ebd5caa6b5dbc4fdcaea2f924cb20903ff79f data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_bucket.json +36abe86a8cc44e094fd280497d17fc1deb63f790 data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_chainmail_boots.json +cf7e1b37708202bd8b92d96a1ab890bef0f067ab data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_chainmail_chestplate.json +d99c1f11ecff9fbd2e8c44f61bd9391e03f38af3 data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_chainmail_helmet.json +2c5344edf1f2c666f10eec20e4c1434cea6db527 data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_chainmail_leggings.json +d0ea68af288c2e8c84061d2787d27176a7e41d4b data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_chestplate.json +505ce239b5cfbf54a21f0b65c780f9371d04e74b data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_door.json +1e6cc5677901bd661989aa47b161b25b98161f24 data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_helmet.json +8f5345496ae80f70bf56c6429f3888da95f52dab data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_hoe.json +a08b6d8f8295bde532c75200fe51d7c921a1ca77 data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_horse_armor.json +bfc89124bd42bf13d4b90a13e9a53aeeee371ff5 data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_leggings.json +6bc14f1c1ff8b26204a12343a4c9b15b50c60192 data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_minecart.json +75f49c5c761644d089801396e2a3010e2007aa2b data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_pickaxe.json +d3dad506c3cb57c7e6e98cca933f733ac8a5352d data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_shovel.json +12201e294030b2660dc508a6a732938f8a594a75 data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_sword.json +15f089e3eb5d10bf165caf112242eb459570667f data/forcecraft/advancement/recipes/transmutation/transmutation/mutton_to_chicken.json +0ef3d017a6adebaa80fe4cf64bb1c2d62e686457 data/forcecraft/advancement/recipes/transmutation/transmutation/poppy_to_dandelion.json +69f5025f7999cd0d7df8366c38a70a25809d3230 data/forcecraft/advancement/recipes/transmutation/transmutation/porkchop_to_mutton.json +d9a9c4d7f484aa409ce66faa8cd6a82d81860797 data/forcecraft/advancement/recipes/transmutation/transmutation/red_to_brown_mushroom.json +2fa841f228bd7281dfd0b3d6136bcfbcd909270d data/forcecraft/advancement/recipes/transmutation/transmutation/stick_from_stone_axe.json +854eb7f702e97efee8602f894d1c78d7db1c2360 data/forcecraft/advancement/recipes/transmutation/transmutation/stick_from_stone_hoe.json +12ba436044a54abe0f7f9eac888652517abb4d4b data/forcecraft/advancement/recipes/transmutation/transmutation/stick_from_stone_pickaxe.json +8cc063a47c07fad77c5793f4eb48ae85dd7c1185 data/forcecraft/advancement/recipes/transmutation/transmutation/stick_from_stone_shovel.json +0c8b2a970161056f7bc8000fc11533cac9b335c9 data/forcecraft/advancement/recipes/transmutation/transmutation/stick_from_stone_sword.json +a4c1f062d9d2d7f98b80cd6e0f7bb544469e45ab data/forcecraft/advancement/recipes/transmutation/transmutation/stick_from_wooden_axe.json +539c62cc2a3c64cf258fc067ea9634a6c9321a02 data/forcecraft/advancement/recipes/transmutation/transmutation/stick_from_wooden_hoe.json +84af5c605e773524c6bddd0c1727467486e00388 data/forcecraft/advancement/recipes/transmutation/transmutation/stick_from_wooden_pickaxe.json +a839e72c7ee16c699c72a310409db004f5e4e04e data/forcecraft/advancement/recipes/transmutation/transmutation/stick_from_wooden_shovel.json +89a90fb454511a73539ca8c69e149e7103a633aa data/forcecraft/advancement/recipes/transmutation/transmutation/stick_from_wooden_sword.json +c878fb4dff6c02788238bce0b4176d793fc53161 data/forcecraft/advancement/recipes/transmutation/transmutation/string_from_bow.json +de5939b7ba341925894da5d6f6c235d4a5a75c04 data/forcecraft/advancement/recipes/transmutation/transmutation/tripwire_hook_from_crossbow.json +7970b9d1568a876ea0dfe878556f7b751137a100 data/forcecraft/advancement/recipes/transmutation/transmutation/upgrade_core.json +215296b31241c0a41357bfd5c288a874ac0c1a93 data/forcecraft/advancement/recipes/transmutation/transmutation/upgrade_tome.json +d19ba95f26ac544e2b062fa2cdb85d6cc20d31cd data/forcecraft/recipe/baconator.json +6ca0dd29830c7af1cccff3e348d479a3e6ffb2d5 data/forcecraft/recipe/black_force_furnace_from_dye.json +1d78b3b16f56df0d2f0de0c74cbd30aabde553f5 data/forcecraft/recipe/blue_force_furnace_from_dye.json +5c7c776b11f3e3de86159b086f862c394d60038b data/forcecraft/recipe/brown_force_furnace_from_dye.json +a99748bf7f7b4aba3618ce7a88f0715fe4da0761 data/forcecraft/recipe/cooked_bacon_from_smelting.json +97c5ec3be846ef5dd49e2569ed830f6d3364dfb1 data/forcecraft/recipe/cyan_force_furnace_from_dye.json +d871b132fdfc4de7235193f055827cdcc7a97a1b data/forcecraft/recipe/force_and_you.json +0183e80107c80b424a11d9bede164c3ce4423397 data/forcecraft/recipe/force_arrow.json +16069edd7ff43ed5e56e57659e13656d60254868 data/forcecraft/recipe/force_axe.json +fe9c1d0928e78af37a284799df559675f61f8581 data/forcecraft/recipe/force_belt.json +ce6b12bcde9ae1d1483a91d3823f6963f9e53808 data/forcecraft/recipe/force_black_torch.json +f034f972f99f67bb2cb340fa40c067f231c70ed4 data/forcecraft/recipe/force_blue_torch.json +072cf3a33229feaf04bbb24556a9df65a5a397df data/forcecraft/recipe/force_boots.json +939921ea1c13c1fe72a72c2ea578cb5e17e9e9c9 data/forcecraft/recipe/force_bow.json +815561f0416245daec29e8fab9e0ef9dc29ae73a data/forcecraft/recipe/force_brick.json +90cfe7cf018ca70c2b7dcac4cee0804c89d9f279 data/forcecraft/recipe/force_brick_black.json +a05bb75109476b7e6c34eecd9880656d8452a105 data/forcecraft/recipe/force_brick_black_slab.json +66b0798b35df09a4ef8e9d3c8edd09e5ad176d38 data/forcecraft/recipe/force_brick_black_slab_from_force_brick_black.json +611196c303f86993945bf15de2a041a33288ba17 data/forcecraft/recipe/force_brick_black_stairs.json +06d3008a3bf16bd4a8bad6adef068785961da447 data/forcecraft/recipe/force_brick_black_stairs_from_force_brick_black.json +3a7019a0d217e148f0922fd2f5b4fa6a84188a1b data/forcecraft/recipe/force_brick_blue.json +36d2bc502ca8e6322cb9a3082f92439783ef9df1 data/forcecraft/recipe/force_brick_blue_slab.json +7b47d41d3ddddc147f050665b6dbc8c3168c32d9 data/forcecraft/recipe/force_brick_blue_slab_from_force_brick_blue.json +57fddbbdaa29662ce8dd0db40bf59e5fc1479169 data/forcecraft/recipe/force_brick_blue_stairs.json +050aa448dcc8246c92d0e7533689bf829afa5f9e data/forcecraft/recipe/force_brick_blue_stairs_from_force_brick_blue.json +92e49973313da048a7bfddb8410a2fb427cf1fd6 data/forcecraft/recipe/force_brick_brown.json +fd9b917a8c9f4050c8aa7681ca9e4e0ab3678fda data/forcecraft/recipe/force_brick_brown_slab.json +2574883970c1f141655ebf929b322d596cb80740 data/forcecraft/recipe/force_brick_brown_slab_from_force_brick_brown.json +4c972347d50afabfcc07dfce27f69eb5f015a9e5 data/forcecraft/recipe/force_brick_brown_stairs.json +d9f5f1204d409137ed476d10952e8fc995349f4f data/forcecraft/recipe/force_brick_brown_stairs_from_force_brick_brown.json +ac63f8f11cc7a126448819ace649d64c57121430 data/forcecraft/recipe/force_brick_cyan.json +cf54a9a036a310fb4941dca1fe93a1cfeb1f2f42 data/forcecraft/recipe/force_brick_cyan_slab.json +699dec1e3c4dbc76ef21066b36260e7dcea72bfb data/forcecraft/recipe/force_brick_cyan_slab_from_force_brick_cyan.json +cf04b74e90490ddb1ba15d463074ff02699d055a data/forcecraft/recipe/force_brick_cyan_stairs.json +27493572f9147de22186089b7acd7517fe088ddb data/forcecraft/recipe/force_brick_cyan_stairs_from_force_brick_cyan.json +462a567d16edf596b24ec78432b2dc222032b687 data/forcecraft/recipe/force_brick_gray.json +b81b75470e19d8feb3abd475918de45b9aaff0d8 data/forcecraft/recipe/force_brick_gray_slab.json +78aac57528e37c659a2edcbaa642efef90ac0b55 data/forcecraft/recipe/force_brick_gray_slab_from_force_brick_gray.json +3b2e6de9b690e1c070635233079af1f02510f5dd data/forcecraft/recipe/force_brick_gray_stairs.json +d956e0c21203227f9f5754ee6efd971ce95d6f0f data/forcecraft/recipe/force_brick_gray_stairs_from_force_brick_gray.json +014a3d6174278c75b107f8eb75a892b0ef638ab0 data/forcecraft/recipe/force_brick_green.json +2da09a938904609fd6b9b2f0596dcdba0e30cb86 data/forcecraft/recipe/force_brick_green_slab.json +aca77d90280ec27265a7f70279244696852c6d37 data/forcecraft/recipe/force_brick_green_slab_from_force_brick_green.json +b9953336ffae7fa21a5f3181273b42ea283c76a7 data/forcecraft/recipe/force_brick_green_stairs.json +f99dd404ea6e429d569e34c423af8015b3a02b98 data/forcecraft/recipe/force_brick_green_stairs_from_force_brick_green.json +6d11d2843f40bae8fcfcbab7b8d73cd9cad98f0c data/forcecraft/recipe/force_brick_light_blue.json +fad926e2149eac71c1dd7c18368cddcff1b8aba3 data/forcecraft/recipe/force_brick_light_blue_slab.json +c0b5263ee916fa04c37f59707587047357dcc24d data/forcecraft/recipe/force_brick_light_blue_slab_from_force_brick_light_blue.json +86c75a7f87de0902c5cbd70948ebfc9db8f9c5d3 data/forcecraft/recipe/force_brick_light_blue_stairs.json +02b516b8abd7b2508322b09dba4c2a03b54f335c data/forcecraft/recipe/force_brick_light_blue_stairs_from_force_brick_light_blue.json +c71a8b3cc6b550f05945b2acb84e3a6f13afa119 data/forcecraft/recipe/force_brick_light_gray.json +eeccb54b92e7774649cbba7b071dda13d4aa081f data/forcecraft/recipe/force_brick_light_gray_slab.json +dda1c7cb020db579d82ce9aa144157c59332480e data/forcecraft/recipe/force_brick_light_gray_slab_from_force_brick_light_gray.json +3eee25f5f1f2857e56430a779e976ddea5c22265 data/forcecraft/recipe/force_brick_light_gray_stairs.json +f977d4f4b098bc44f991bbef3a832fc977125610 data/forcecraft/recipe/force_brick_light_gray_stairs_from_force_brick_light_gray.json +49f2bc90817e0da3ff9b64ff2926050541ef3f5e data/forcecraft/recipe/force_brick_lime.json +56c9e30595820378aa792fa6db3e4b2bc81de0c3 data/forcecraft/recipe/force_brick_lime_slab.json +1ff6d276e772fa6982c52da9034eb51d3682d567 data/forcecraft/recipe/force_brick_lime_slab_from_force_brick_lime.json +acb83593496c88167119042494d078850810a47a data/forcecraft/recipe/force_brick_lime_stairs.json +d6ad43aaa8d57ef7c971a1a1fb3c88b6194f5031 data/forcecraft/recipe/force_brick_lime_stairs_from_force_brick_lime.json +bbf747f7926c20a226089a27f72b881ace57a761 data/forcecraft/recipe/force_brick_magenta.json +040a2859c6e8050286aac3ffe5979076cc5360d3 data/forcecraft/recipe/force_brick_magenta_slab.json +3e76254b062a8c68675cd6e722835867795aa3de data/forcecraft/recipe/force_brick_magenta_slab_from_force_brick_magenta.json +e313ebc32cb1ef5e64382d7c11192e6229c7d7e8 data/forcecraft/recipe/force_brick_magenta_stairs.json +7da2712b7fd898889f5ee3d95d4c0974bef8cf40 data/forcecraft/recipe/force_brick_magenta_stairs_from_force_brick_magenta.json +bcb153eeb188c03a7fd8558d7d382d27f1a3faa2 data/forcecraft/recipe/force_brick_orange.json +a5d8ec079517019ff90ebb096c44cd81e0b885f5 data/forcecraft/recipe/force_brick_orange_slab.json +670fc77966aa6d5da929c945334accbd908e0540 data/forcecraft/recipe/force_brick_orange_slab_from_force_brick_orange.json +a307cad3fb74a77740ce83b94c45e846727e6328 data/forcecraft/recipe/force_brick_orange_stairs.json +618a4e4ce296b513262db532ce185004a890179e data/forcecraft/recipe/force_brick_orange_stairs_from_force_brick_orange.json +01a387ca70b676defe714bac2a3d6032af87fdf4 data/forcecraft/recipe/force_brick_pink.json +ac9d857d661fecca612cb904b58ba141fd0d9219 data/forcecraft/recipe/force_brick_pink_slab.json +8226b5ed9fa70b9e80982ad275a6d77a28e23b67 data/forcecraft/recipe/force_brick_pink_slab_from_force_brick_pink.json +4c58e23751717f6ad06279ce4acdc44915d9c07a data/forcecraft/recipe/force_brick_pink_stairs.json +55d986a86d1b7b4e67a3957c824463b6c108439e data/forcecraft/recipe/force_brick_pink_stairs_from_force_brick_pink.json +4628fade74ddeda6e3133ce4246deb7f9709f718 data/forcecraft/recipe/force_brick_purple.json +aab71d0e6f287bccc8ac097ee82c233ba4220788 data/forcecraft/recipe/force_brick_purple_slab.json +2fba711a4be015cda81d78c7488c1dd55b2b1ee6 data/forcecraft/recipe/force_brick_purple_slab_from_force_brick_purple.json +344f209df168c7107927b941c6117cc9b73e2541 data/forcecraft/recipe/force_brick_purple_stairs.json +b5984021be87e275d890f93874d5c7d6ffcb53c2 data/forcecraft/recipe/force_brick_purple_stairs_from_force_brick_purple.json +fd6b46eabfd48ba92ea5a71b240bb19cf3eabc78 data/forcecraft/recipe/force_brick_red.json +635ef831acc490796faa90d2deeb50115115fd5a data/forcecraft/recipe/force_brick_red_slab.json +15a5120a7ec36f1c0ec4ec982aed949c2b3fd77c data/forcecraft/recipe/force_brick_red_slab_from_force_brick_red.json +6ae74cd492d8ad87e9c513c549efd6f555e88304 data/forcecraft/recipe/force_brick_red_stairs.json +01c59a507126f50d9f05141be50507a998e800c4 data/forcecraft/recipe/force_brick_red_stairs_from_force_brick_red.json +76ee00ea311c8841a3fe704caff404db8dc63f41 data/forcecraft/recipe/force_brick_slab.json +8e7162f079d2f146d482484b1bc8a0f03a7d0bad data/forcecraft/recipe/force_brick_slab_from_force_brick.json +f436e1c2cd7fd75d78010bf933c7f94cd20a67bb data/forcecraft/recipe/force_brick_stairs.json +3429e6fb32ec465c4fc74ec648fa440fc1e50cec data/forcecraft/recipe/force_brick_stairs_from_force_brick.json +eb350fd54ebdd0f01e187961d80e16ff3bb64337 data/forcecraft/recipe/force_brick_white.json +67801c33bd9f3348e6ecbf2d50e31936c7a413c0 data/forcecraft/recipe/force_brick_white_slab.json +9d75a0e26e35616b646d547b5946a86b8786d791 data/forcecraft/recipe/force_brick_white_slab_from_force_brick_white.json +c59bdcee0cb9d880735c2f91ccfd6d1ffce7e3dd data/forcecraft/recipe/force_brick_white_stairs.json +fc2ef2e31b1fe088c86d16c0f2a5a6ef772bd024 data/forcecraft/recipe/force_brick_white_stairs_from_force_brick_white.json +04b693b3c68ac9558ee15466ad3736642a9f4965 data/forcecraft/recipe/force_brick_yellow.json +ceae933a1615f839a9d71b6a7a5904fe06ca000d data/forcecraft/recipe/force_brick_yellow_slab.json +825156b4f34a1f38d9ccc3b824c0eb8c8b41bcea data/forcecraft/recipe/force_brick_yellow_slab_from_force_brick_yellow.json +690e3b13484c5e5535f3087fe5fe1b469ca94bd2 data/forcecraft/recipe/force_brick_yellow_stairs.json +ccdf648943ce60ebed129d0b42ff6e4748b77ec0 data/forcecraft/recipe/force_brick_yellow_stairs_from_force_brick_yellow.json +43c1cb6511a22e1209447e556eff0d59b7854097 data/forcecraft/recipe/force_brown_torch.json +8c094c9a7fc6607bbd398d4a99797dd1dff63a7f data/forcecraft/recipe/force_chest.json +2dbec43d5deed8dfb6a882c69e5fb47b1b0b40a9 data/forcecraft/recipe/force_cyan_torch.json +5ceeefee5871d99ddcaabb1a512212f689f85e07 data/forcecraft/recipe/force_engine.json +3cf4902d8438d27157879970b225b42852dfbfd6 data/forcecraft/recipe/force_flask.json +e82f6f5c5f563d4170fb9da2e944874d17e299da data/forcecraft/recipe/force_flask_from_entity_flask.json +fefc162163f6cc4bd5398999bc5a30aa7e05badd data/forcecraft/recipe/force_furnace.json +67863efc522faad1e31de4827dafaf3f32b906e7 data/forcecraft/recipe/force_furnace_from_dye.json +08f43e0e5f0e048f1ba15b53bfd46d615e504e1f data/forcecraft/recipe/force_gear.json +79ac364e51d758ae509917b811e28f5a540bdb4a data/forcecraft/recipe/force_gray_torch.json +3a3add7a3c5ab540d6a34ca51edc2320d9d545d9 data/forcecraft/recipe/force_green_torch.json +25265159821c1e698b34f58d3db4e325cddac8e7 data/forcecraft/recipe/force_helmet.json +5acda95e7952e94b42ac0b537f9103edd9496399 data/forcecraft/recipe/force_ingot_from_gold.json +cbe26bf9d4882ae280561f45c97c97487da2c0e2 data/forcecraft/recipe/force_ingot_from_iron.json +0ca7cf764c7f2c9a283038752e54daadf0980024 data/forcecraft/recipe/force_ingot_from_nuggets.json +2c60ecfc43f609f0ed922dbf35f1d26a6305caeb data/forcecraft/recipe/force_legs.json +b4a7af2ff0d41b2aafd3b2ce385b02f7f0287529 data/forcecraft/recipe/force_light_blue_torch.json +15c2efefae27c1e16a4174781c02142bf9ca18a5 data/forcecraft/recipe/force_light_gray_torch.json +31986f81a9fada20f5973d4c89b2b227f7b05885 data/forcecraft/recipe/force_lime_torch.json +35a4815bae1057b5cbd064aff35ca80cf59114c1 data/forcecraft/recipe/force_magenta_torch.json +90f4ae2845a6def1fe92dca1d89965e81e259a77 data/forcecraft/recipe/force_mitt.json +48544f6247d05721dc12f9f9b2848ed0cd9ccd1b data/forcecraft/recipe/force_nugget.json +0522d1ac833e0af105dff3ed73a5e05896f5cbf4 data/forcecraft/recipe/force_orange_torch.json +2d1c31e05dbfbf54db94bf15063d31ac195b1ed1 data/forcecraft/recipe/force_pack.json +324edd92e4bd1bafce769e36ff7004f3dedae42b data/forcecraft/recipe/force_pack_upgrade.json +3c11a616457f18756e775d4fb1ee777cc42dbc0a data/forcecraft/recipe/force_pickaxe.json +c80f1fd80fd8f522ed1e2d30b8b8eb5b5f15415f data/forcecraft/recipe/force_pink_torch.json +650e20a227790ae3d6fa0a33886de9c9a3ece92d data/forcecraft/recipe/force_plank_slab.json +22f9df0d7cdf580ad1f80cbd443d190309783ae6 data/forcecraft/recipe/force_plank_stairs.json +ca44e37ea4f0f9e7135575de4cdde92043194730 data/forcecraft/recipe/force_planks.json +401c2bd70732c7bd0ec16304d2a678da7e5fb314 data/forcecraft/recipe/force_purple_torch.json +6241291023a7cfe6ead24db363860dc8b657ef26 data/forcecraft/recipe/force_red_torch.json +9a7cbfe991b3053f8eb6e4f70ccaad1951c34162 data/forcecraft/recipe/force_rod.json +ae56aa680e5b2c434ebcff296cd27cce0e4074e2 data/forcecraft/recipe/force_rod_from_stick.json +b86fff773c72456e006204b5ad9de876baaad230 data/forcecraft/recipe/force_shears.json +d3d61ef104d6c2c270a57ab081cdd4023918610b data/forcecraft/recipe/force_shovel.json +8644b66510c6b06c7f795530907759985e4e5f4e data/forcecraft/recipe/force_stick.json +37cf94b1dc24771c324686d57fa30bfe03d53ebd data/forcecraft/recipe/force_sword.json +fa6d9353df0583709108aa18eaf20bcb9e8a1fe4 data/forcecraft/recipe/force_torch.json +7207f0d151633e90d884c61dfebda16141b97b6b data/forcecraft/recipe/force_white_torch.json +6a0d7b0d04b51eec8fc174cf8da91df9403b8f26 data/forcecraft/recipe/force_wood.json +f23c9896083e6ff7321aa33df1f2c5f8364a12ad data/forcecraft/recipe/force_wrench.json +439a008f46c58403a4dbd392a6bbe3a96c83155b data/forcecraft/recipe/fortune_cookie.json +fbec1603adec55b57947d7dbe2f812288bb053d3 data/forcecraft/recipe/freezing/bone_from_blaze_rod.json +a060ef55de5307ec0158ad5af51ae9ab24ac7f5a data/forcecraft/recipe/freezing/bone_meal_from_blaze_powder.json +7e4c5dfb9b836421baa262eccfe2d6077445f6d9 data/forcecraft/recipe/freezing/brick_from_nether_brick.json +640d5bf6cd696c7257ebd79329c94399963237ec data/forcecraft/recipe/freezing/cobblestone_from_netherrack.json +93a39cb9eab221a2200925e101719db67f711d67 data/forcecraft/recipe/freezing/ice_from_water_bottle.json +50c6acbef0cdf834bad0468d122abee9746eb925 data/forcecraft/recipe/freezing/ice_from_water_bucket.json +87fc417c3d35ee8941b580527e87181c8a960060 data/forcecraft/recipe/freezing/leather_from_rotten_flesh.json +e1041f9e2047d9ff054424586e68b7a939475023 data/forcecraft/recipe/freezing/obsidian_from_lava_bucket.json +c2686d0e631105051e4223aae431e91fd062a248 data/forcecraft/recipe/freezing/sandstone_from_red_sand.json +53d85a3004092208657873063de230e9a7dcb874 data/forcecraft/recipe/freezing/sandstone_from_sand.json +72cc93614fe1a4204a567d335ca2cca8f6119b38 data/forcecraft/recipe/freezing/snowball_from_slimeball.json +97d6847b44cd2b948664deddf0f043a1b84fd11f data/forcecraft/recipe/freezing/stone_bricks_from_stone.json +943d7b408f1d7f56d63a6b7dbcdc0a176078079c data/forcecraft/recipe/freezing/stone_from_cobblestone.json +f28f7e10e3d752e393cfed8ae740c2a0b791f884 data/forcecraft/recipe/golden_power_source.json +dcc67f956319346bb5bacb7611dbfc67b62fa4b7 data/forcecraft/recipe/gray_force_furnace_from_dye.json +7b3fed72e5c3cedc4bf54a5b6f9b897bab021b52 data/forcecraft/recipe/green_force_furnace_from_dye.json +50f4877415693066d6ba2ec948abb195136361c7 data/forcecraft/recipe/grinding/acacia_planks_from_door.json +ae683a39e46f8184c788e6bbd6fbfb3c2c6fbe11 data/forcecraft/recipe/grinding/acacia_planks_from_log.json +a2cf50c52f13d4e791766695e76576ab993418ff data/forcecraft/recipe/grinding/acacia_planks_from_pressure_plate.json +2ec6db9f876b2df78c12e02b948d146795009ab9 data/forcecraft/recipe/grinding/birch_planks_from_door.json +6d725d13e825c6139a19ebf762a5949895a58ec2 data/forcecraft/recipe/grinding/birch_planks_from_log.json +7f46599c3a01a6121f4091104361f0b8caabc067 data/forcecraft/recipe/grinding/birch_planks_from_pressure_plate.json +9b3edc375ab292b29d6be894cb02f7240fca9330 data/forcecraft/recipe/grinding/blaze_powder_from_blaze_rod.json +59951e62dd88f9fa4c373435f1d3129221379c8b data/forcecraft/recipe/grinding/bone_meal_from_bone.json +12371d9e0b4e9dd4d537c2ea7e37485ceba1c824 data/forcecraft/recipe/grinding/cherry_planks_from_door.json +0d1aa8bc7052d8ab8dbc5ed40443c8cecc1ef725 data/forcecraft/recipe/grinding/cherry_planks_from_log.json +429cd52bff6f14d2db573d483369abd214fd172c data/forcecraft/recipe/grinding/cherry_planks_from_pressure_plate.json +e865fa99182ffff51f69f3571ae259e232fde4b8 data/forcecraft/recipe/grinding/cobblestone_from_furnace.json +c9c9675cdc7ac0277b7b4a57ee84fbe566b2261b data/forcecraft/recipe/grinding/cooked_bacon_from_cooked_porkchop.json +65b9207668484d163794890b5444ddb88e19756c data/forcecraft/recipe/grinding/crimson_planks_from_door.json +bc5ea7ca6868fbdd79542daf2d20a519c71c7c00 data/forcecraft/recipe/grinding/crimson_planks_from_log.json +891996b17ef12cf0da85d2253e267273871fa2d0 data/forcecraft/recipe/grinding/crimson_planks_from_pressure_plate.json +dca817e461e5e21d256e3d80feaa2cfc8e684031 data/forcecraft/recipe/grinding/dark_oak_planks_from_door.json +1919d62a27fb0160a1022471e6eb42daac7f9ea1 data/forcecraft/recipe/grinding/dark_oak_planks_from_log.json +e778fd3829925297d5cc4f8620a8012228865eca data/forcecraft/recipe/grinding/dark_oak_planks_from_pressure_plate.json +9dab63c0620a932c5c2e34490888ab6726849026 data/forcecraft/recipe/grinding/flint_from_gravel.json +790ac490db954fda1968657d5c791d95ab1143f5 data/forcecraft/recipe/grinding/force_planks_from_log.json +21a176bb600461ca9abaf3f0de560b0bd4bdfaf3 data/forcecraft/recipe/grinding/gold_ingot_from_light_weighted_pressure_plate.json +2a293ae0198793703981ae1b912fc568e63d1f64 data/forcecraft/recipe/grinding/ingots_from_force_furnace.json +95d9ca42012ff84fb30c31f54dc1e07fd24f7a56 data/forcecraft/recipe/grinding/iron_ingot_from_door.json +1c362cab628da444450b2463d6be27473dc81227 data/forcecraft/recipe/grinding/iron_ingot_from_heavy_weighted_pressure_plate.json +016a39290d2fb5915bb71e2bbc18e02a9bf32435 data/forcecraft/recipe/grinding/jungle_planks_from_door.json +b09d3729863f18ea8041f0efe93429c11a0f5f23 data/forcecraft/recipe/grinding/jungle_planks_from_log.json +0883c4b797f9b4c12eda143c3ba212899006fe4a data/forcecraft/recipe/grinding/jungle_planks_from_pressure_plate.json +4e4957e3142da26af6d887e98ba9c43d8b015484 data/forcecraft/recipe/grinding/mangrove_planks_from_door.json +f5a8345530414c420955c7e1e4a0d977606291b0 data/forcecraft/recipe/grinding/mangrove_planks_from_log.json +fe2ee33838fc5a7f1960c5d7bfed8650670fd9fd data/forcecraft/recipe/grinding/mangrove_planks_from_pressure_plate.json +0628863fe15c26121f4fcb93765deffaf0181041 data/forcecraft/recipe/grinding/oak_planks_from_bookshelf.json +d4a92153a17050bb8b0dcd348b32ab1242946078 data/forcecraft/recipe/grinding/oak_planks_from_chest.json +5e0d6e392b971984c0b8079f7d1236e8eff921a3 data/forcecraft/recipe/grinding/oak_planks_from_crafting_table.json +ceafbbb56f5a81a875b9ee8b563c522a4f34ba8d data/forcecraft/recipe/grinding/oak_planks_from_door.json +382c12b100ec73c32b8b79407da7b131351dba01 data/forcecraft/recipe/grinding/oak_planks_from_log.json +2723e74bacfdd78190fd0d217029bc8305ac237b data/forcecraft/recipe/grinding/oak_planks_from_pressure_plate.json +aad3b886f78112f0d3faa8921a4ef37fe965c007 data/forcecraft/recipe/grinding/paper_from_book.json +bce91549d943315d0742d661daff7c5e13e796c9 data/forcecraft/recipe/grinding/raw_bacon_from_porkchop.json +37bd9f7265b8508cbccc74bd32ec8d71dab09257 data/forcecraft/recipe/grinding/sand_from_cobblestone.json +8a6bc468043776888f6357c497154cb542ccf4e1 data/forcecraft/recipe/grinding/sand_from_red_sandstone.json +0e3147ed5484939e0de63c252718ad40aba0baf1 data/forcecraft/recipe/grinding/sand_from_sandstone.json +220022d789ab7cc9437de8b4ed9085ef08929b2d data/forcecraft/recipe/grinding/spruce_planks_from_door.json +36c8ddcd67a1b4b308ad79f941ea69ac0f1e47cb data/forcecraft/recipe/grinding/spruce_planks_from_log.json +f795c1bd25611cac0f5d2b5474de297cdec58b41 data/forcecraft/recipe/grinding/spruce_planks_from_pressure_plate.json +93a757bdfebd8ffd06b2488ae247886bc0103336 data/forcecraft/recipe/grinding/stone_from_pressure_plate.json +452672c488c8c0f8c8235c379dc6f8e26bc9541b data/forcecraft/recipe/grinding/string_from_wool.json +11c0f082f1706b9fafbe31b6939fb2a43fab04f1 data/forcecraft/recipe/grinding/string_from_wool_carpet.json +57812e7a27666bf3e2292f8980545c8a2ea20b13 data/forcecraft/recipe/grinding/warped_planks_from_door.json +cd1d1ddf2d0a467aacf0d225ffa7bccf26fa3d45 data/forcecraft/recipe/grinding/warped_planks_from_log.json +16dec9eb78c17e92661b3a0a955557b953b482a9 data/forcecraft/recipe/grinding/warped_planks_from_pressure_plate.json +e4addc6b84144d904311c847f253f0f2c3450fd1 data/forcecraft/recipe/gunpowder_from_pile_of_gunpowder.json +91fbe99a0a160421feb0c07d3f6e7bae3f9fae8c data/forcecraft/recipe/infuser/convert_freezing.json +5e7e405fc2f207af1f82eaf2604d068a8db24f93 data/forcecraft/recipe/infuser/convert_grinding.json +3f171155e000799f0c0378fa0cf2d32d4494a60d data/forcecraft/recipe/infuser/convert_heat.json +93f00cdb366e0a741e7499b466c2c0da1dd65fdb data/forcecraft/recipe/infuser/convert_speed.json +435022c534e5d833465e0b143181001b851786c4 data/forcecraft/recipe/infuser/convert_time_torch.json +ef06df81c8463c91ca1a9ffdd1a1161a284a22f3 data/forcecraft/recipe/infuser/convert_xp.json +1d1a453d1e7d34d9a274f4d2c92d72891d80acc4 data/forcecraft/recipe/infuser/convert_xp_book.json +e2b0799ab886a316dc9e9c4f2c5aaeec890ea637 data/forcecraft/recipe/infuser/infuse_bane.json +d8217dcdd6ce12096f28fe5fc91e3d9dd81739ff data/forcecraft/recipe/infuser/infuse_bleeding.json +d703cc266d521cf2b2a4206476aecac348e5780b data/forcecraft/recipe/infuser/infuse_camo.json +0796002d10da6a64e6a5540d21018d04ed95a640 data/forcecraft/recipe/infuser/infuse_damage.json +10b3bebb86063177bed84eb70bcd9a824e1f44fb data/forcecraft/recipe/infuser/infuse_ender.json +e74c6ea51602a5c76aef171cf8e96abbb4a0a3cb data/forcecraft/recipe/infuser/infuse_fortune.json +7e7ceacfb4b00c83753a99bbc4d3baf57ab9ef98 data/forcecraft/recipe/infuser/infuse_freezing.json +94633200f1068d29124dd01d1045c6753a7eed6c data/forcecraft/recipe/infuser/infuse_healing.json +39fe4eaa9b440497b7b9e4c2cfb0fc664984d0f6 data/forcecraft/recipe/infuser/infuse_heat.json +7c200d2db565b00610ac6dd1a6c9de241cf1417c data/forcecraft/recipe/infuser/infuse_knockback.json +1c78fbe435dcd36f2bfd5f23c6873a00e9a43781 data/forcecraft/recipe/infuser/infuse_light.json +7cca0022b3b2e617a108d572c433a92385865291 data/forcecraft/recipe/infuser/infuse_lumberjack.json +e8d000521918fd005c34a000cc9faa9d0ba30dd1 data/forcecraft/recipe/infuser/infuse_pack_upgrade1.json +7c75d785308cbc87dfa98d621ca23d2e0607c7c6 data/forcecraft/recipe/infuser/infuse_pack_upgrade2.json +f0bc42879e886d991e6ea6905a4b7730cdcddce7 data/forcecraft/recipe/infuser/infuse_pack_upgrade3.json +bf10227bb525a091b6aca145e80d87f6ae0256a8 data/forcecraft/recipe/infuser/infuse_pack_upgrade4.json +af4979be601c72ed07c5d1eba2283be1e4a6882c data/forcecraft/recipe/infuser/infuse_rainbow.json +eed4b41a9ce1123d516e37ce7074007d140a4a14 data/forcecraft/recipe/infuser/infuse_silk.json +d306ef3faad0171cf5cfd78438bd1e9471a32201 data/forcecraft/recipe/infuser/infuse_speed.json +d279385c052d4790c0d17a117fd169685ccabb13 data/forcecraft/recipe/infuser/infuse_sturdy.json +6515da2c05f8f836373c4accfc31ed109c619b40 data/forcecraft/recipe/infuser/infuse_treasure.json +35383dfa25391959ecd409a69e0add37630d70e6 data/forcecraft/recipe/infuser/infuse_wing.json +da7b2e32695bad12357c7e7dd85ffb02ce49be47 data/forcecraft/recipe/item_card.json +b9e17a647c11b15b5ab280b40e57a34ee1793d52 data/forcecraft/recipe/item_card_empty.json +77f06ec95ee65ce4ce63c0aa02aa18d8094e66a0 data/forcecraft/recipe/item_card_flipped.json +c05cbf318c4de913d415fb18322ac37cc140fc04 data/forcecraft/recipe/light_blue_force_furnace_from_dye.json +78e41246c92950998d400a19dcca7c5f8e77fd0a data/forcecraft/recipe/light_gray_force_furnace_from_dye.json +e6171577b2bf9509f4e6111f8fd7b8e487b49808 data/forcecraft/recipe/lime_force_furnace_from_dye.json +68835837ec901b6806d897ee33e28e52c4735f30 data/forcecraft/recipe/magenta_force_furnace_from_dye.json +71b69411d7a8f6ee4cfee00499f4a1230b3743f2 data/forcecraft/recipe/magnet_glove.json +348ca9641b27501601cd5e15b0aecd3e7cb22b74 data/forcecraft/recipe/orange_force_furnace_from_dye.json +72c7f5846509d99247fd35f59dc881285767ab8c data/forcecraft/recipe/pink_force_furnace_from_dye.json +72085f65cdc275cb19a930dd06fe097cbbe2b553 data/forcecraft/recipe/purple_force_furnace_from_dye.json +b9cddeee1824413f013519cb74ff93c6ae458fa8 data/forcecraft/recipe/red_force_furnace_from_dye.json +df953bd62617d38e84c98000a136f2c31fd83227 data/forcecraft/recipe/red_potion.json +c0f09d3d1d7d5016f889a29dfbe2da5242a1f1c6 data/forcecraft/recipe/slime_ball_from_chu_jelly.json +bb5a31ae8027995b35cc1ea5cc02628131402674 data/forcecraft/recipe/snow_cookie.json +c8f74320179685006406a1f3b4fbb5e4f544248a data/forcecraft/recipe/soul_wafer.json +a4c7d1fde655ee80b36a9ce523ad3380463dc537 data/forcecraft/recipe/spoils_bag.json +1afc77f402939923d22de72f67359a56af109ca6 data/forcecraft/recipe/spoils_bag_t2.json +dd466ec06a86813440f45a1e47a3cf6ea4f6c87c data/forcecraft/recipe/spoils_bag_t3.json +78585759eb16b2fd42f309e4c7208692e8c4182a data/forcecraft/recipe/transmutation/beef_to_porkchop.json +ff21c365a2fef0d643892518bdf3470077bf7461 data/forcecraft/recipe/transmutation/brown_to_red_mushroom.json +fb5c902494d43de77d90884d343e04659c6e59f2 data/forcecraft/recipe/transmutation/chicken_to_beef.json +c3cd45baaf980764562c10a172559d6aae44ffa1 data/forcecraft/recipe/transmutation/cooked_beef_to_porkchop.json +e456d9d5e6f0f7f79928e5b1d629e47437e516d0 data/forcecraft/recipe/transmutation/cooked_chicken_to_beef.json +53573d2f4c46190a85c8c4beb672b55213500c2c data/forcecraft/recipe/transmutation/cooked_mutton_to_chicken.json +9f5366fe2e3330303bb61347c626ab3cec6b7d8a data/forcecraft/recipe/transmutation/cooked_porkchop_to_mutton.json +f53966bc3a0545e3cd12063018975c2eb2eda4fd data/forcecraft/recipe/transmutation/dandelion_to_poppy.json +8c3a598ff12685f05af337e12abecc3ab6be1342 data/forcecraft/recipe/transmutation/diamond_from_axe.json +652ac8d0be5fef4fe89a4c4fcb7c1e160a419c77 data/forcecraft/recipe/transmutation/diamond_from_boots.json +179e735e8e948f3cb34dd6ed4a200630440bcbe5 data/forcecraft/recipe/transmutation/diamond_from_chestplate.json +69dbfa4d84b4b84ef82b80fc34de11be144b37ea data/forcecraft/recipe/transmutation/diamond_from_helmet.json +fab0bcb5438b165517a0c48693874c823514b7cd data/forcecraft/recipe/transmutation/diamond_from_hoe.json +0670357e1f32345cba4534364e8b5329d1131467 data/forcecraft/recipe/transmutation/diamond_from_horse_armor.json +a7d0a11ad89d25f9b71b9da8db5eb0c39b4ee01c data/forcecraft/recipe/transmutation/diamond_from_leggings.json +c4a54f9d9e419e0dcf13da5605548df29600bca5 data/forcecraft/recipe/transmutation/diamond_from_pickaxe.json +3e13d561619b0fd607f3b4a02725b0773ec740c3 data/forcecraft/recipe/transmutation/diamond_from_shovel.json +64e4d231bcee782508865bfc0b9e036f83465012 data/forcecraft/recipe/transmutation/diamond_from_sword.json +7301d688a094bd3f6eb25bd2517397eae78f6bb7 data/forcecraft/recipe/transmutation/experience_bottle_from_enchanted_book.json +476d373ed1b6b219fa361030c905a6db2c62eca5 data/forcecraft/recipe/transmutation/force_brick_from_stone_bricks.json +1eafb9c50f8c52751011f5564a64af0f54c0e780 data/forcecraft/recipe/transmutation/force_sapling_from_sapling.json +f64c0268da28cb61868d2f337a0806f902480eb8 data/forcecraft/recipe/transmutation/fortune_from_fortune_cookie.json +ef450cb0d1a43c1d61ef05a496350b88293c5ab2 data/forcecraft/recipe/transmutation/gold_ingot_from_axe.json +3be1f1d24a48059c59d5bd9088e14e12c55c6b48 data/forcecraft/recipe/transmutation/gold_ingot_from_boots.json +8f14c859aa11c1bc0f965aeefac79b70aff263b9 data/forcecraft/recipe/transmutation/gold_ingot_from_chestplate.json +86094b13c027e3dc9343d13fab6d2f91482221fb data/forcecraft/recipe/transmutation/gold_ingot_from_clock.json +d78cf790673c3f424b1bce01133080377a39baaa data/forcecraft/recipe/transmutation/gold_ingot_from_helmet.json +1adc876b78a543f9569d823d6b4c220443cca715 data/forcecraft/recipe/transmutation/gold_ingot_from_hoe.json +2521117a7d1e05f156d9f9682c1e22b29b1047ad data/forcecraft/recipe/transmutation/gold_ingot_from_horse_armor.json +577a9e9e50741256353743cad3caf20ad7664b7b data/forcecraft/recipe/transmutation/gold_ingot_from_leggings.json +4eb92535bfbcfb7e61c83d5659188ebba6bed9c2 data/forcecraft/recipe/transmutation/gold_ingot_from_pickaxe.json +dc5cf5cb7449089803670ca79fe9c2f0036b796e data/forcecraft/recipe/transmutation/gold_ingot_from_shovel.json +e85c48e4d8e278b63a1998897dbe3ab2c2cde914 data/forcecraft/recipe/transmutation/gold_ingot_from_sword.json +f8b6a712edaf4dfbedd83b442cc409ab7cb24cc3 data/forcecraft/recipe/transmutation/infuser_from_enchanting_table.json +3296db480c7fe522b551041430853150c34bca63 data/forcecraft/recipe/transmutation/irom_ingot_from_cauldron.json +456e2eecf4cdd9de57238e89158db90ffe47a8e6 data/forcecraft/recipe/transmutation/irom_ingot_from_compass.json +ddaeea8225e9359528c13000eaeb38744097b9fd data/forcecraft/recipe/transmutation/iron_ingot_from_anvil.json +d31ebf104721e6381e2220fd8a73cbd1440ea3c7 data/forcecraft/recipe/transmutation/iron_ingot_from_axe.json +d8a6eac370fb332e265d7da41c287ce58052266b data/forcecraft/recipe/transmutation/iron_ingot_from_boots.json +b8fae90a5e6f246b9838829cb350b04d5bdbf648 data/forcecraft/recipe/transmutation/iron_ingot_from_bucket.json +d85baf7d715332b04a805c770db069e5830a2250 data/forcecraft/recipe/transmutation/iron_ingot_from_chainmail_boots.json +23abfe31032e57727ed26ba4121e56b87e47e2f0 data/forcecraft/recipe/transmutation/iron_ingot_from_chainmail_chestplate.json +0aad0770e445ded4ec92f1b532f37aa5f3646faf data/forcecraft/recipe/transmutation/iron_ingot_from_chainmail_helmet.json +8642dad4dfbef4adb4cf6bedc4eec2198123ddd4 data/forcecraft/recipe/transmutation/iron_ingot_from_chainmail_leggings.json +09e8b0920d06a6b78df247c3f7c364e346845aec data/forcecraft/recipe/transmutation/iron_ingot_from_chestplate.json +94edf44842e8cc6deb02673903b0586816827e11 data/forcecraft/recipe/transmutation/iron_ingot_from_door.json +6210fb05de6a535d2a619b07679548e44d625a86 data/forcecraft/recipe/transmutation/iron_ingot_from_helmet.json +e016c56148988bdc5679b4e25a82ed7855b58e12 data/forcecraft/recipe/transmutation/iron_ingot_from_hoe.json +7a3a0a662bff5e4ad5765d1262943cad18e0d49d data/forcecraft/recipe/transmutation/iron_ingot_from_horse_armor.json +ccf334768d2dcb1991a05c8648848d1862bf70dd data/forcecraft/recipe/transmutation/iron_ingot_from_leggings.json +9750d85388850d10c2e6e9ce8ecce9761c183bfc data/forcecraft/recipe/transmutation/iron_ingot_from_minecart.json +98f6d9d717d3430be3018235a28f4452c9043fd7 data/forcecraft/recipe/transmutation/iron_ingot_from_pickaxe.json +9502269dfa17261563e0804530df0f4072bc99c0 data/forcecraft/recipe/transmutation/iron_ingot_from_shovel.json +0ed21c9fec0b03adce3c2a0267784fb9bdaf4247 data/forcecraft/recipe/transmutation/iron_ingot_from_sword.json +980c0c53f5bf1abe67628c5afd8787735058a843 data/forcecraft/recipe/transmutation/mutton_to_chicken.json +0218ea4562d7ef41a8eb09636b87295289a66df1 data/forcecraft/recipe/transmutation/poppy_to_dandelion.json +7691e96d5fea437c9254127732d11b196e43dae0 data/forcecraft/recipe/transmutation/porkchop_to_mutton.json +5df2de9bb299e717741a6efc17060230e9741344 data/forcecraft/recipe/transmutation/red_to_brown_mushroom.json +044a255304f4278994f156f682e82e7908239b66 data/forcecraft/recipe/transmutation/stick_from_stone_axe.json +0937dce995c53e7783b5d228880cfebcac601d7b data/forcecraft/recipe/transmutation/stick_from_stone_hoe.json +10f4c8f7303140a2a908b91832b37b08c60e0d9e data/forcecraft/recipe/transmutation/stick_from_stone_pickaxe.json +df780cd5ad424561131e0f8c6f877159055e5b22 data/forcecraft/recipe/transmutation/stick_from_stone_shovel.json +dfaa295e493476eac3ebc00d083eb9556510a79d data/forcecraft/recipe/transmutation/stick_from_stone_sword.json +c37bb0922bcb392e5d5263f4080292bda27aac95 data/forcecraft/recipe/transmutation/stick_from_wooden_axe.json +119401fd454bc73253decdc55e005b3eaad37940 data/forcecraft/recipe/transmutation/stick_from_wooden_hoe.json +7adc5e6dcb3623b376f9d4f4a116a28f582a1596 data/forcecraft/recipe/transmutation/stick_from_wooden_pickaxe.json +c33a3ca56210bbe9f112551d612e3a365fd391be data/forcecraft/recipe/transmutation/stick_from_wooden_shovel.json +8e8ad90aa1dd22b531e26eb610da20d2e5d1bd8c data/forcecraft/recipe/transmutation/stick_from_wooden_sword.json +e29e842cc19006d27f61ec181abd1c73f98e3f8e data/forcecraft/recipe/transmutation/string_from_bow.json +6ea4032498758de24d685a9ad0afcead6fbb762a data/forcecraft/recipe/transmutation/tripwire_hook_from_crossbow.json +f93682bceb01c9fb1c2e42666edd9762dc818a0e data/forcecraft/recipe/transmutation/upgrade_core.json +49d7fe867a7c70e5ff289e7220f74a67bd81d3d7 data/forcecraft/recipe/transmutation/upgrade_tome.json +e0dfc55d30600af7fe71289e372f2cf255025e4d data/forcecraft/recipe/treasure_core.json +2f986aa5a44c0cde4b444444f28c194879ab9068 data/forcecraft/recipe/white_force_furnace_from_dye.json +335c25acc276c52505cdb00bbc4680f95b3472ff data/minecraft/advancement/recipes/food/cooked_bacon_from_campfire_cooking.json +05119022884be16e3183abd754c8f26e764191e4 data/minecraft/advancement/recipes/food/cooked_bacon_from_smoking.json +0bf1f399e1f7470273fec075bc392f7320fc1bbb data/minecraft/advancement/recipes/misc/force_gem_from_blasting_deepslate_power_ore.json +a80637419de6856dacfd9631eb36204dd53d4f1f data/minecraft/advancement/recipes/misc/force_gem_from_blasting_power_ore.json +ac85c315c4ae0af42bab3923d96d59605526ee26 data/minecraft/advancement/recipes/misc/force_gem_from_smelting_deepslate_power_ore.json +0fe28f413e4fde88b7785ab5e099f8d60eb67a42 data/minecraft/advancement/recipes/misc/force_gem_from_smelting_power_ore.json +5cb01e2bc9e3e85b7c21e7bb0e1995b515a86d64 data/minecraft/recipe/cooked_bacon_from_campfire_cooking.json +f957f42a8188cc2d85aaa7cdff920037d94dad34 data/minecraft/recipe/cooked_bacon_from_smoking.json +8080168efcc48a71af5816612dd9c9df3993c44b data/minecraft/recipe/force_gem_from_blasting_deepslate_power_ore.json +5e6c8792b859601a5ce2115825f62dc570d81781 data/minecraft/recipe/force_gem_from_blasting_power_ore.json +ce9be7908d999667a2a18a6cff6059ac044c4cd3 data/minecraft/recipe/force_gem_from_smelting_deepslate_power_ore.json +274e7588e4a13b6f67ba796608b024f349ea4b85 data/minecraft/recipe/force_gem_from_smelting_power_ore.json diff --git a/src/generated/resources/.cache/cd090bff9ca93079474b6df48215a8307e531e73 b/src/generated/resources/.cache/cd090bff9ca93079474b6df48215a8307e531e73 index 428a3b25..ffa1f29c 100644 --- a/src/generated/resources/.cache/cd090bff9ca93079474b6df48215a8307e531e73 +++ b/src/generated/resources/.cache/cd090bff9ca93079474b6df48215a8307e531e73 @@ -1,4 +1,4 @@ -// 1.20.4 2024-06-13T23:09:40.361465 Patchouli Book Provider +// 1.21.1 2024-08-25T23:46:34.829477272 Patchouli Book Provider 32e348ff36c416065a34159ff6ff141da1db8d45 assets/forcecraft/patchouli_books/force_and_you/en_us/categories/infuser.json e88d1941fc0b6d9e137df52d0a31db79d529ccd3 assets/forcecraft/patchouli_books/force_and_you/en_us/categories/tier_0.json 4f94f2846a491b0763ff728099aa598bf7cd558d assets/forcecraft/patchouli_books/force_and_you/en_us/categories/tier_1.json @@ -37,7 +37,7 @@ aca4688f97967196fa5dbfdec3b7face4f4c129f assets/forcecraft/patchouli_books/force b00c4497afafd8c973e3477c786bcbb055ee9924 assets/forcecraft/patchouli_books/force_and_you/en_us/entries/tier_2/rainbow.json 0e2aab81417969ae6bef5e0f1c0433016702f1c4 assets/forcecraft/patchouli_books/force_and_you/en_us/entries/tier_2/speed_core.json e97944ca127cf0900eea3da3c6c82910c69373d2 assets/forcecraft/patchouli_books/force_and_you/en_us/entries/tier_3/bleeding.json -ffe70844f59734481e8625055d77d0d9af03fdf7 assets/forcecraft/patchouli_books/force_and_you/en_us/entries/tier_3/camo.json +eb08cf99e7168aab04fa9e4625a88717c67fae86 assets/forcecraft/patchouli_books/force_and_you/en_us/entries/tier_3/camo.json f473de5ed1a4de2d101cb0e535734ff331b4f59e assets/forcecraft/patchouli_books/force_and_you/en_us/entries/tier_3/holding_2.json 9983444a73348a62c7e947ac9bf3b3da49de217b assets/forcecraft/patchouli_books/force_and_you/en_us/entries/tier_3/silk.json f29590e4756584c06d2c8d270de5cc2e7cbde3d7 assets/forcecraft/patchouli_books/force_and_you/en_us/entries/tier_4/bane.json diff --git a/src/generated/resources/.cache/db48a960ede29674471ba728c8a4044887312abf b/src/generated/resources/.cache/db48a960ede29674471ba728c8a4044887312abf index 76ee5d84..91e46288 100644 --- a/src/generated/resources/.cache/db48a960ede29674471ba728c8a4044887312abf +++ b/src/generated/resources/.cache/db48a960ede29674471ba728c8a4044887312abf @@ -1,4 +1,4 @@ -// 1.20.4 2024-01-28T23:49:44.4744457 Block States: forcecraft +// 1.21.1 2024-08-25T23:46:34.846846776 Block States: forcecraft 76bd2dbcbce69e7d8f85ba70103b57ca2cfa6363 assets/forcecraft/blockstates/deepslate_power_ore.json f70cda4a2bc1189d5401a77932f0a1bcf08f22c0 assets/forcecraft/blockstates/force_brick_black_slab.json 7b4da1c445d81d848c7ebc80907ca0ee024645a9 assets/forcecraft/blockstates/force_brick_black_stairs.json diff --git a/src/generated/resources/.cache/e5dec02110ede407c6775959c17b4e417a6be25a b/src/generated/resources/.cache/e5dec02110ede407c6775959c17b4e417a6be25a index 795d8f8b..ea542113 100644 --- a/src/generated/resources/.cache/e5dec02110ede407c6775959c17b4e417a6be25a +++ b/src/generated/resources/.cache/e5dec02110ede407c6775959c17b4e417a6be25a @@ -1,3 +1,3 @@ -// 1.20.4 2024-01-28T23:49:44.4709458 Block Models: forcecraft +// 1.21.1 2024-08-25T23:46:34.835772466 Block Models: forcecraft 67f809816832429586f5cce42fc8343a4ab11c9d assets/forcecraft/models/block/deepslate_power_ore.json e098c27f025c9b96ea9f788687ad98485d01ef22 assets/forcecraft/models/block/power_ore.json diff --git a/src/generated/resources/.cache/efe4d838b8fd4e04b2a0e298776dfdfd41c82762 b/src/generated/resources/.cache/efe4d838b8fd4e04b2a0e298776dfdfd41c82762 index 115231ac..29bfd024 100644 --- a/src/generated/resources/.cache/efe4d838b8fd4e04b2a0e298776dfdfd41c82762 +++ b/src/generated/resources/.cache/efe4d838b8fd4e04b2a0e298776dfdfd41c82762 @@ -1,3 +1,3 @@ -// 1.20.4 2024-01-28T23:49:44.4704459 Global Loot Modifiers : forcecraft -8e2d544beb82e037d1272d746373c0121c18aee2 data/forcecraft/loot_modifiers/smelting.json +// 1.21.1 2024-08-25T23:46:34.835148417 Global Loot Modifiers : forcecraft +cd8f3a406a4721fb5fcc022974106a7290da3706 data/forcecraft/loot_modifiers/smelting.json 732e3efcf4e47d0de76e12fa314206cf33464053 data/neoforge/loot_modifiers/global_loot_modifiers.json diff --git a/src/generated/resources/assets/forcecraft/patchouli_books/force_and_you/en_us/entries/tier_3/camo.json b/src/generated/resources/assets/forcecraft/patchouli_books/force_and_you/en_us/entries/tier_3/camo.json index d2a4929a..c0edb956 100644 --- a/src/generated/resources/assets/forcecraft/patchouli_books/force_and_you/en_us/entries/tier_3/camo.json +++ b/src/generated/resources/assets/forcecraft/patchouli_books/force_and_you/en_us/entries/tier_3/camo.json @@ -1,7 +1,7 @@ { "advancement": "forcecraft:tier3/tier", "category": "forcecraft:tier_3", - "icon": "minecraft:potion{\"Potion\":\"minecraft:invisibility\"}", + "icon": "minecraft:potion[minecraft:potion_contents={potion:\"minecraft:invisibility\"}]", "name": "info.forcecraft.book.camo.entry.name", "pages": [ { @@ -10,7 +10,7 @@ }, { "type": "patchouli:spotlight", - "item": "minecraft:potion{\"Potion\":\"minecraft:invisibility\"}" + "item": "minecraft:potion[minecraft:potion_contents={potion:\"minecraft:invisibility\"}]" } ], "secret": true diff --git a/src/generated/resources/data/c/tags/block/ores.json b/src/generated/resources/data/c/tags/block/ores.json new file mode 100644 index 00000000..871c6f3d --- /dev/null +++ b/src/generated/resources/data/c/tags/block/ores.json @@ -0,0 +1,5 @@ +{ + "values": [ + "#c:ores/power" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/forge/tags/blocks/ores/power.json b/src/generated/resources/data/c/tags/block/ores/power.json similarity index 100% rename from src/generated/resources/data/forge/tags/blocks/ores/power.json rename to src/generated/resources/data/c/tags/block/ores/power.json diff --git a/src/generated/resources/data/forge/tags/blocks/ores_in_ground/deepslate.json b/src/generated/resources/data/c/tags/block/ores_in_ground/deepslate.json similarity index 100% rename from src/generated/resources/data/forge/tags/blocks/ores_in_ground/deepslate.json rename to src/generated/resources/data/c/tags/block/ores_in_ground/deepslate.json diff --git a/src/generated/resources/data/forge/tags/blocks/ores_in_ground/stone.json b/src/generated/resources/data/c/tags/block/ores_in_ground/stone.json similarity index 100% rename from src/generated/resources/data/forge/tags/blocks/ores_in_ground/stone.json rename to src/generated/resources/data/c/tags/block/ores_in_ground/stone.json diff --git a/src/generated/resources/data/c/tags/item/ores.json b/src/generated/resources/data/c/tags/item/ores.json new file mode 100644 index 00000000..871c6f3d --- /dev/null +++ b/src/generated/resources/data/c/tags/item/ores.json @@ -0,0 +1,5 @@ +{ + "values": [ + "#c:ores/power" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/forge/tags/items/ores/power.json b/src/generated/resources/data/c/tags/item/ores/power.json similarity index 100% rename from src/generated/resources/data/forge/tags/items/ores/power.json rename to src/generated/resources/data/c/tags/item/ores/power.json diff --git a/src/generated/resources/data/forge/tags/items/ores_in_ground/deepslate.json b/src/generated/resources/data/c/tags/item/ores_in_ground/deepslate.json similarity index 100% rename from src/generated/resources/data/forge/tags/items/ores_in_ground/deepslate.json rename to src/generated/resources/data/c/tags/item/ores_in_ground/deepslate.json diff --git a/src/generated/resources/data/forge/tags/items/ores_in_ground/stone.json b/src/generated/resources/data/c/tags/item/ores_in_ground/stone.json similarity index 100% rename from src/generated/resources/data/forge/tags/items/ores_in_ground/stone.json rename to src/generated/resources/data/c/tags/item/ores_in_ground/stone.json diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_black_torch.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_black_torch.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_black_torch.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_black_torch.json index 44bb952c..486edc92 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_black_torch.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_black_torch.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forge:dyes/black" + "items": "#c:dyes/black" } ] }, @@ -15,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_torch" - ] + "items": "forcecraft:force_torch" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_blue_torch.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_blue_torch.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_blue_torch.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_blue_torch.json index 611acfb3..755e96d0 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_blue_torch.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_blue_torch.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forge:dyes/blue" + "items": "#c:dyes/blue" } ] }, @@ -15,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_torch" - ] + "items": "forcecraft:force_torch" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick.json similarity index 85% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick.json index 1c30892c..abcb6e86 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_gem" - ] + "items": "forcecraft:force_gem" } ] }, @@ -17,7 +15,7 @@ "conditions": { "items": [ { - "tag": "minecraft:stone_bricks" + "items": "#minecraft:stone_bricks" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_black.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_black.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_black.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_black.json index bc663b57..033e9949 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_black.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_black.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forge:dyes/black" + "items": "#c:dyes/black" } ] }, @@ -15,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick" - ] + "items": "forcecraft:force_brick" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_black_slab.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_black_slab.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_black_slab.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_black_slab.json index f01f3dc7..ff82c5e4 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_black_slab.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_black_slab.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_black" - ] + "items": "forcecraft:force_brick_black" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_black_slab_from_force_brick_black.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_black_slab_from_force_brick_black.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_black_slab_from_force_brick_black.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_black_slab_from_force_brick_black.json index d4e4dacd..c6862f4b 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_black_slab_from_force_brick_black.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_black_slab_from_force_brick_black.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_black" - ] + "items": "forcecraft:force_brick_black" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_black_stairs.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_black_stairs.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_black_stairs.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_black_stairs.json index 81780086..68308672 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_black_stairs.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_black_stairs.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_black" - ] + "items": "forcecraft:force_brick_black" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_black_stairs_from_force_brick_black.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_black_stairs_from_force_brick_black.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_black_stairs_from_force_brick_black.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_black_stairs_from_force_brick_black.json index d4af226c..dad30f8a 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_black_stairs_from_force_brick_black.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_black_stairs_from_force_brick_black.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_black" - ] + "items": "forcecraft:force_brick_black" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_blue.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_blue.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_blue.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_blue.json index bdfbcf86..b60a3188 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_blue.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_blue.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forge:dyes/blue" + "items": "#c:dyes/blue" } ] }, @@ -15,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick" - ] + "items": "forcecraft:force_brick" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_blue_slab.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_blue_slab.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_blue_slab.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_blue_slab.json index 5079ae6c..f431348a 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_blue_slab.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_blue_slab.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_blue" - ] + "items": "forcecraft:force_brick_blue" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_blue_slab_from_force_brick_blue.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_blue_slab_from_force_brick_blue.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_blue_slab_from_force_brick_blue.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_blue_slab_from_force_brick_blue.json index 51198990..0f771f94 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_blue_slab_from_force_brick_blue.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_blue_slab_from_force_brick_blue.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_blue" - ] + "items": "forcecraft:force_brick_blue" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_blue_stairs.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_blue_stairs.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_blue_stairs.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_blue_stairs.json index e80215be..398b4a9d 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_blue_stairs.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_blue_stairs.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_blue" - ] + "items": "forcecraft:force_brick_blue" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_blue_stairs_from_force_brick_blue.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_blue_stairs_from_force_brick_blue.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_blue_stairs_from_force_brick_blue.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_blue_stairs_from_force_brick_blue.json index 0ecc6302..c58979f0 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_blue_stairs_from_force_brick_blue.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_blue_stairs_from_force_brick_blue.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_blue" - ] + "items": "forcecraft:force_brick_blue" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_brown.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_brown.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_brown.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_brown.json index 377093f9..d37e8b85 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_brown.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_brown.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forge:dyes/brown" + "items": "#c:dyes/brown" } ] }, @@ -15,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick" - ] + "items": "forcecraft:force_brick" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_brown_slab.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_brown_slab.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_brown_slab.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_brown_slab.json index c2faf0c7..eb86c5bd 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_brown_slab.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_brown_slab.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_brown" - ] + "items": "forcecraft:force_brick_brown" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_brown_slab_from_force_brick_brown.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_brown_slab_from_force_brick_brown.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_brown_slab_from_force_brick_brown.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_brown_slab_from_force_brick_brown.json index 2427b5c0..f7b17294 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_brown_slab_from_force_brick_brown.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_brown_slab_from_force_brick_brown.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_brown" - ] + "items": "forcecraft:force_brick_brown" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_brown_stairs.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_brown_stairs.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_brown_stairs.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_brown_stairs.json index 79fabe13..92938cb4 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_brown_stairs.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_brown_stairs.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_brown" - ] + "items": "forcecraft:force_brick_brown" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_brown_stairs_from_force_brick_brown.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_brown_stairs_from_force_brick_brown.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_brown_stairs_from_force_brick_brown.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_brown_stairs_from_force_brick_brown.json index 717f99a9..9809fcff 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_brown_stairs_from_force_brick_brown.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_brown_stairs_from_force_brick_brown.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_brown" - ] + "items": "forcecraft:force_brick_brown" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_cyan.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_cyan.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_cyan.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_cyan.json index cb335b8c..c1440398 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_cyan.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_cyan.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forge:dyes/cyan" + "items": "#c:dyes/cyan" } ] }, @@ -15,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick" - ] + "items": "forcecraft:force_brick" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_cyan_slab.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_cyan_slab.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_cyan_slab.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_cyan_slab.json index f0aeb2a4..88c3f576 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_cyan_slab.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_cyan_slab.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_cyan" - ] + "items": "forcecraft:force_brick_cyan" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_cyan_slab_from_force_brick_cyan.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_cyan_slab_from_force_brick_cyan.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_cyan_slab_from_force_brick_cyan.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_cyan_slab_from_force_brick_cyan.json index ac0766c1..e61f21fe 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_cyan_slab_from_force_brick_cyan.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_cyan_slab_from_force_brick_cyan.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_cyan" - ] + "items": "forcecraft:force_brick_cyan" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_cyan_stairs.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_cyan_stairs.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_cyan_stairs.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_cyan_stairs.json index 51361799..30bc0e91 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_cyan_stairs.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_cyan_stairs.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_cyan" - ] + "items": "forcecraft:force_brick_cyan" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_cyan_stairs_from_force_brick_cyan.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_cyan_stairs_from_force_brick_cyan.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_cyan_stairs_from_force_brick_cyan.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_cyan_stairs_from_force_brick_cyan.json index 6b73535b..548ee2e7 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_cyan_stairs_from_force_brick_cyan.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_cyan_stairs_from_force_brick_cyan.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_cyan" - ] + "items": "forcecraft:force_brick_cyan" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_gray.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_gray.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_gray.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_gray.json index 616b720a..0346ddab 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_gray.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_gray.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick" - ] + "items": "forcecraft:force_brick" } ] }, @@ -17,7 +15,7 @@ "conditions": { "items": [ { - "tag": "forge:dyes/gray" + "items": "#c:dyes/gray" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_gray_slab.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_gray_slab.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_gray_slab.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_gray_slab.json index a26259b4..c4a17689 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_gray_slab.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_gray_slab.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_gray" - ] + "items": "forcecraft:force_brick_gray" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_gray_slab_from_force_brick_gray.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_gray_slab_from_force_brick_gray.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_gray_slab_from_force_brick_gray.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_gray_slab_from_force_brick_gray.json index 22e5c9fc..8c8270b1 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_gray_slab_from_force_brick_gray.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_gray_slab_from_force_brick_gray.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_gray" - ] + "items": "forcecraft:force_brick_gray" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_gray_stairs.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_gray_stairs.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_gray_stairs.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_gray_stairs.json index 4f823cc1..c5ac7126 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_gray_stairs.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_gray_stairs.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_gray" - ] + "items": "forcecraft:force_brick_gray" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_gray_stairs_from_force_brick_gray.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_gray_stairs_from_force_brick_gray.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_gray_stairs_from_force_brick_gray.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_gray_stairs_from_force_brick_gray.json index f3c722c2..3e92b1a2 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_gray_stairs_from_force_brick_gray.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_gray_stairs_from_force_brick_gray.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_gray" - ] + "items": "forcecraft:force_brick_gray" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_green.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_green.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_green.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_green.json index f1f00a60..b2fe47f7 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_green.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_green.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick" - ] + "items": "forcecraft:force_brick" } ] }, @@ -17,7 +15,7 @@ "conditions": { "items": [ { - "tag": "forge:dyes/green" + "items": "#c:dyes/green" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_green_slab.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_green_slab.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_green_slab.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_green_slab.json index 724d2eb4..16342a61 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_green_slab.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_green_slab.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_green" - ] + "items": "forcecraft:force_brick_green" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_green_slab_from_force_brick_green.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_green_slab_from_force_brick_green.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_green_slab_from_force_brick_green.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_green_slab_from_force_brick_green.json index 01e60c79..595275b4 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_green_slab_from_force_brick_green.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_green_slab_from_force_brick_green.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_green" - ] + "items": "forcecraft:force_brick_green" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_green_stairs.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_green_stairs.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_green_stairs.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_green_stairs.json index 97640cc8..204fd8c1 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_green_stairs.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_green_stairs.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_green" - ] + "items": "forcecraft:force_brick_green" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_green_stairs_from_force_brick_green.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_green_stairs_from_force_brick_green.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_green_stairs_from_force_brick_green.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_green_stairs_from_force_brick_green.json index 8a2b4659..a583014e 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_green_stairs_from_force_brick_green.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_green_stairs_from_force_brick_green.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_green" - ] + "items": "forcecraft:force_brick_green" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_light_blue.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_light_blue.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_light_blue.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_light_blue.json index 39f7166b..bc577ed3 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_light_blue.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_light_blue.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick" - ] + "items": "forcecraft:force_brick" } ] }, @@ -17,7 +15,7 @@ "conditions": { "items": [ { - "tag": "forge:dyes/light_blue" + "items": "#c:dyes/light_blue" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_light_blue_slab.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_light_blue_slab.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_light_blue_slab.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_light_blue_slab.json index 4038c744..6ca2972c 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_light_blue_slab.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_light_blue_slab.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_light_blue" - ] + "items": "forcecraft:force_brick_light_blue" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_light_blue_slab_from_force_brick_light_blue.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_light_blue_slab_from_force_brick_light_blue.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_light_blue_slab_from_force_brick_light_blue.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_light_blue_slab_from_force_brick_light_blue.json index fe41fb8f..e9603ecb 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_light_blue_slab_from_force_brick_light_blue.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_light_blue_slab_from_force_brick_light_blue.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_light_blue" - ] + "items": "forcecraft:force_brick_light_blue" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_light_blue_stairs.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_light_blue_stairs.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_light_blue_stairs.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_light_blue_stairs.json index b04a1742..5ce9308a 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_light_blue_stairs.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_light_blue_stairs.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_light_blue" - ] + "items": "forcecraft:force_brick_light_blue" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_light_blue_stairs_from_force_brick_light_blue.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_light_blue_stairs_from_force_brick_light_blue.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_light_blue_stairs_from_force_brick_light_blue.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_light_blue_stairs_from_force_brick_light_blue.json index ca0a636d..2ffad213 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_light_blue_stairs_from_force_brick_light_blue.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_light_blue_stairs_from_force_brick_light_blue.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_light_blue" - ] + "items": "forcecraft:force_brick_light_blue" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_light_gray.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_light_gray.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_light_gray.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_light_gray.json index bddbceac..7f5aa993 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_light_gray.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_light_gray.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick" - ] + "items": "forcecraft:force_brick" } ] }, @@ -17,7 +15,7 @@ "conditions": { "items": [ { - "tag": "forge:dyes/light_gray" + "items": "#c:dyes/light_gray" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_light_gray_slab.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_light_gray_slab.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_light_gray_slab.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_light_gray_slab.json index 2839dfbe..bbbaec1a 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_light_gray_slab.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_light_gray_slab.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_light_gray" - ] + "items": "forcecraft:force_brick_light_gray" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_light_gray_slab_from_force_brick_light_gray.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_light_gray_slab_from_force_brick_light_gray.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_light_gray_slab_from_force_brick_light_gray.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_light_gray_slab_from_force_brick_light_gray.json index cf50afb5..738bb0fe 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_light_gray_slab_from_force_brick_light_gray.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_light_gray_slab_from_force_brick_light_gray.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_light_gray" - ] + "items": "forcecraft:force_brick_light_gray" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_light_gray_stairs.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_light_gray_stairs.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_light_gray_stairs.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_light_gray_stairs.json index 89c314dd..68c09328 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_light_gray_stairs.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_light_gray_stairs.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_light_gray" - ] + "items": "forcecraft:force_brick_light_gray" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_light_gray_stairs_from_force_brick_light_gray.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_light_gray_stairs_from_force_brick_light_gray.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_light_gray_stairs_from_force_brick_light_gray.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_light_gray_stairs_from_force_brick_light_gray.json index 56bddf22..ee63b9cb 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_light_gray_stairs_from_force_brick_light_gray.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_light_gray_stairs_from_force_brick_light_gray.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_light_gray" - ] + "items": "forcecraft:force_brick_light_gray" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_lime.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_lime.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_lime.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_lime.json index ce21b34d..1cd64093 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_lime.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_lime.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick" - ] + "items": "forcecraft:force_brick" } ] }, @@ -17,7 +15,7 @@ "conditions": { "items": [ { - "tag": "forge:dyes/lime" + "items": "#c:dyes/lime" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_lime_slab.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_lime_slab.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_lime_slab.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_lime_slab.json index 14136a6a..2f99a75c 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_lime_slab.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_lime_slab.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_lime" - ] + "items": "forcecraft:force_brick_lime" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_lime_slab_from_force_brick_lime.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_lime_slab_from_force_brick_lime.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_lime_slab_from_force_brick_lime.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_lime_slab_from_force_brick_lime.json index 5899a685..61d7e2ff 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_lime_slab_from_force_brick_lime.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_lime_slab_from_force_brick_lime.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_lime" - ] + "items": "forcecraft:force_brick_lime" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_lime_stairs.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_lime_stairs.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_lime_stairs.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_lime_stairs.json index 50105f86..168ec422 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_lime_stairs.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_lime_stairs.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_lime" - ] + "items": "forcecraft:force_brick_lime" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_lime_stairs_from_force_brick_lime.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_lime_stairs_from_force_brick_lime.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_lime_stairs_from_force_brick_lime.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_lime_stairs_from_force_brick_lime.json index 74bc5961..6bfa7daf 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_lime_stairs_from_force_brick_lime.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_lime_stairs_from_force_brick_lime.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_lime" - ] + "items": "forcecraft:force_brick_lime" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_magenta.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_magenta.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_magenta.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_magenta.json index 6b81911b..ccdc9545 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_magenta.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_magenta.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick" - ] + "items": "forcecraft:force_brick" } ] }, @@ -17,7 +15,7 @@ "conditions": { "items": [ { - "tag": "forge:dyes/magenta" + "items": "#c:dyes/magenta" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_magenta_slab.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_magenta_slab.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_magenta_slab.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_magenta_slab.json index fba547c0..aabae85c 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_magenta_slab.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_magenta_slab.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_magenta" - ] + "items": "forcecraft:force_brick_magenta" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_magenta_slab_from_force_brick_magenta.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_magenta_slab_from_force_brick_magenta.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_magenta_slab_from_force_brick_magenta.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_magenta_slab_from_force_brick_magenta.json index 29d04684..711eb4d1 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_magenta_slab_from_force_brick_magenta.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_magenta_slab_from_force_brick_magenta.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_magenta" - ] + "items": "forcecraft:force_brick_magenta" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_magenta_stairs.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_magenta_stairs.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_magenta_stairs.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_magenta_stairs.json index 03662bfb..d3b43db8 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_magenta_stairs.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_magenta_stairs.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_magenta" - ] + "items": "forcecraft:force_brick_magenta" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_magenta_stairs_from_force_brick_magenta.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_magenta_stairs_from_force_brick_magenta.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_magenta_stairs_from_force_brick_magenta.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_magenta_stairs_from_force_brick_magenta.json index b1f29c0f..d128a427 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_magenta_stairs_from_force_brick_magenta.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_magenta_stairs_from_force_brick_magenta.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_magenta" - ] + "items": "forcecraft:force_brick_magenta" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_orange.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_orange.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_orange.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_orange.json index e0795f21..a0554bcb 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_orange.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_orange.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick" - ] + "items": "forcecraft:force_brick" } ] }, @@ -17,7 +15,7 @@ "conditions": { "items": [ { - "tag": "forge:dyes/orange" + "items": "#c:dyes/orange" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_orange_slab.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_orange_slab.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_orange_slab.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_orange_slab.json index e9f85b8b..6bddfbd9 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_orange_slab.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_orange_slab.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_orange" - ] + "items": "forcecraft:force_brick_orange" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_orange_slab_from_force_brick_orange.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_orange_slab_from_force_brick_orange.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_orange_slab_from_force_brick_orange.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_orange_slab_from_force_brick_orange.json index 6256fea8..889370ed 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_orange_slab_from_force_brick_orange.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_orange_slab_from_force_brick_orange.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_orange" - ] + "items": "forcecraft:force_brick_orange" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_orange_stairs.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_orange_stairs.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_orange_stairs.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_orange_stairs.json index 1453e2c4..a1df682f 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_orange_stairs.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_orange_stairs.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_orange" - ] + "items": "forcecraft:force_brick_orange" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_orange_stairs_from_force_brick_orange.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_orange_stairs_from_force_brick_orange.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_orange_stairs_from_force_brick_orange.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_orange_stairs_from_force_brick_orange.json index 4ece5cf7..746fa4e0 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_orange_stairs_from_force_brick_orange.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_orange_stairs_from_force_brick_orange.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_orange" - ] + "items": "forcecraft:force_brick_orange" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_pink.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_pink.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_pink.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_pink.json index 57e0de6d..2b335c17 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_pink.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_pink.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick" - ] + "items": "forcecraft:force_brick" } ] }, @@ -17,7 +15,7 @@ "conditions": { "items": [ { - "tag": "forge:dyes/pink" + "items": "#c:dyes/pink" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_pink_slab.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_pink_slab.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_pink_slab.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_pink_slab.json index c0bc6265..de8f640e 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_pink_slab.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_pink_slab.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_pink" - ] + "items": "forcecraft:force_brick_pink" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_pink_slab_from_force_brick_pink.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_pink_slab_from_force_brick_pink.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_pink_slab_from_force_brick_pink.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_pink_slab_from_force_brick_pink.json index 5a5f4c42..fafaea28 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_pink_slab_from_force_brick_pink.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_pink_slab_from_force_brick_pink.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_pink" - ] + "items": "forcecraft:force_brick_pink" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_pink_stairs.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_pink_stairs.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_pink_stairs.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_pink_stairs.json index 8fb11f8c..55b17572 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_pink_stairs.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_pink_stairs.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_pink" - ] + "items": "forcecraft:force_brick_pink" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_pink_stairs_from_force_brick_pink.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_pink_stairs_from_force_brick_pink.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_pink_stairs_from_force_brick_pink.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_pink_stairs_from_force_brick_pink.json index f8a5d77f..c3156954 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_pink_stairs_from_force_brick_pink.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_pink_stairs_from_force_brick_pink.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_pink" - ] + "items": "forcecraft:force_brick_pink" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_purple.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_purple.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_purple.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_purple.json index 81dee435..8889e181 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_purple.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_purple.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick" - ] + "items": "forcecraft:force_brick" } ] }, @@ -17,7 +15,7 @@ "conditions": { "items": [ { - "tag": "forge:dyes/purple" + "items": "#c:dyes/purple" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_purple_slab.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_purple_slab.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_purple_slab.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_purple_slab.json index 2501e96e..3418bc09 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_purple_slab.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_purple_slab.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_purple" - ] + "items": "forcecraft:force_brick_purple" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_purple_slab_from_force_brick_purple.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_purple_slab_from_force_brick_purple.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_purple_slab_from_force_brick_purple.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_purple_slab_from_force_brick_purple.json index 5525819d..4e531ba9 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_purple_slab_from_force_brick_purple.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_purple_slab_from_force_brick_purple.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_purple" - ] + "items": "forcecraft:force_brick_purple" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_purple_stairs.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_purple_stairs.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_purple_stairs.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_purple_stairs.json index 374b8f22..9d55f75b 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_purple_stairs.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_purple_stairs.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_purple" - ] + "items": "forcecraft:force_brick_purple" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_purple_stairs_from_force_brick_purple.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_purple_stairs_from_force_brick_purple.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_purple_stairs_from_force_brick_purple.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_purple_stairs_from_force_brick_purple.json index 374780dc..be812de8 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_purple_stairs_from_force_brick_purple.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_purple_stairs_from_force_brick_purple.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_purple" - ] + "items": "forcecraft:force_brick_purple" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_red.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_red.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_red.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_red.json index 45142218..6d98d160 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_red.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_red.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick" - ] + "items": "forcecraft:force_brick" } ] }, @@ -17,7 +15,7 @@ "conditions": { "items": [ { - "tag": "forge:dyes/red" + "items": "#c:dyes/red" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_red_slab.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_red_slab.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_red_slab.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_red_slab.json index 8dd41579..d59d7c21 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_red_slab.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_red_slab.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_red" - ] + "items": "forcecraft:force_brick_red" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_red_slab_from_force_brick_red.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_red_slab_from_force_brick_red.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_red_slab_from_force_brick_red.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_red_slab_from_force_brick_red.json index f730c0a5..10a3664a 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_red_slab_from_force_brick_red.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_red_slab_from_force_brick_red.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_red" - ] + "items": "forcecraft:force_brick_red" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_red_stairs.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_red_stairs.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_red_stairs.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_red_stairs.json index a97fc6af..78a2bbf0 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_red_stairs.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_red_stairs.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_red" - ] + "items": "forcecraft:force_brick_red" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_red_stairs_from_force_brick_red.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_red_stairs_from_force_brick_red.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_red_stairs_from_force_brick_red.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_red_stairs_from_force_brick_red.json index 7ca31c35..c51845a5 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_red_stairs_from_force_brick_red.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_red_stairs_from_force_brick_red.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_red" - ] + "items": "forcecraft:force_brick_red" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_slab.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_slab.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_slab.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_slab.json index f38b4db2..c381578f 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_slab.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_slab.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick" - ] + "items": "forcecraft:force_brick" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_slab_from_force_brick.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_slab_from_force_brick.json similarity index 88% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_slab_from_force_brick.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_slab_from_force_brick.json index df7f1bb4..035e39bf 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_slab_from_force_brick.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_slab_from_force_brick.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick" - ] + "items": "forcecraft:force_brick" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_stairs.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_stairs.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_stairs.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_stairs.json index d670721c..b73aed7d 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_stairs.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_stairs.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick" - ] + "items": "forcecraft:force_brick" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_stairs_from_force_brick.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_stairs_from_force_brick.json similarity index 88% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_stairs_from_force_brick.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_stairs_from_force_brick.json index 7f5f8a17..88743255 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_stairs_from_force_brick.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_stairs_from_force_brick.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick" - ] + "items": "forcecraft:force_brick" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_white.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_white.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_white.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_white.json index 8755b89e..60720f5b 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_white.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_white.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick" - ] + "items": "forcecraft:force_brick" } ] }, @@ -23,7 +21,7 @@ "conditions": { "items": [ { - "tag": "forge:dyes/white" + "items": "#c:dyes/white" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_white_slab.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_white_slab.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_white_slab.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_white_slab.json index 42cfd95c..8b24df7e 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_white_slab.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_white_slab.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_white" - ] + "items": "forcecraft:force_brick_white" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_white_slab_from_force_brick_white.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_white_slab_from_force_brick_white.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_white_slab_from_force_brick_white.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_white_slab_from_force_brick_white.json index 22013924..fcfa28a7 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_white_slab_from_force_brick_white.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_white_slab_from_force_brick_white.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_white" - ] + "items": "forcecraft:force_brick_white" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_white_stairs.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_white_stairs.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_white_stairs.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_white_stairs.json index d2f3b255..f6134b66 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_white_stairs.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_white_stairs.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_white" - ] + "items": "forcecraft:force_brick_white" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_white_stairs_from_force_brick_white.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_white_stairs_from_force_brick_white.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_white_stairs_from_force_brick_white.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_white_stairs_from_force_brick_white.json index 8c5d82a1..ad023e7c 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_white_stairs_from_force_brick_white.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_white_stairs_from_force_brick_white.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_white" - ] + "items": "forcecraft:force_brick_white" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_yellow.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_yellow.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_yellow.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_yellow.json index 7a43b10c..414ace57 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_yellow.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_yellow.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick" - ] + "items": "forcecraft:force_brick" } ] }, @@ -23,7 +21,7 @@ "conditions": { "items": [ { - "tag": "forge:dyes/yellow" + "items": "#c:dyes/yellow" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_yellow_slab.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_yellow_slab.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_yellow_slab.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_yellow_slab.json index 2b3c169f..4bfcbdbb 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_yellow_slab.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_yellow_slab.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_yellow" - ] + "items": "forcecraft:force_brick_yellow" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_yellow_slab_from_force_brick_yellow.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_yellow_slab_from_force_brick_yellow.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_yellow_slab_from_force_brick_yellow.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_yellow_slab_from_force_brick_yellow.json index 3b06ad07..d23bd4a0 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_yellow_slab_from_force_brick_yellow.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_yellow_slab_from_force_brick_yellow.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_yellow" - ] + "items": "forcecraft:force_brick_yellow" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_yellow_stairs.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_yellow_stairs.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_yellow_stairs.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_yellow_stairs.json index a0d56c3e..f904d19f 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_yellow_stairs.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_yellow_stairs.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_yellow" - ] + "items": "forcecraft:force_brick_yellow" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_yellow_stairs_from_force_brick_yellow.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_yellow_stairs_from_force_brick_yellow.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_yellow_stairs_from_force_brick_yellow.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_yellow_stairs_from_force_brick_yellow.json index b747c535..9e1b490b 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brick_yellow_stairs_from_force_brick_yellow.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brick_yellow_stairs_from_force_brick_yellow.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_brick_yellow" - ] + "items": "forcecraft:force_brick_yellow" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brown_torch.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brown_torch.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brown_torch.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brown_torch.json index b4709a5e..591a7b8c 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_brown_torch.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_brown_torch.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forge:dyes/brown" + "items": "#c:dyes/brown" } ] }, @@ -15,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_torch" - ] + "items": "forcecraft:force_torch" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_cyan_torch.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_cyan_torch.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_cyan_torch.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_cyan_torch.json index 7649442f..2c128917 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_cyan_torch.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_cyan_torch.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forge:dyes/cyan" + "items": "#c:dyes/cyan" } ] }, @@ -15,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_torch" - ] + "items": "forcecraft:force_torch" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_gray_torch.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_gray_torch.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_gray_torch.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_gray_torch.json index 4541523f..1cf33732 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_gray_torch.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_gray_torch.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forge:dyes/gray" + "items": "#c:dyes/gray" } ] }, @@ -15,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_torch" - ] + "items": "forcecraft:force_torch" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_green_torch.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_green_torch.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_green_torch.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_green_torch.json index 1207e962..867f8cd6 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_green_torch.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_green_torch.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forge:dyes/green" + "items": "#c:dyes/green" } ] }, @@ -15,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_torch" - ] + "items": "forcecraft:force_torch" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_light_blue_torch.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_light_blue_torch.json similarity index 85% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_light_blue_torch.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_light_blue_torch.json index a4bff073..de34b29f 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_light_blue_torch.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_light_blue_torch.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forge:dyes/light_blue" + "items": "#c:dyes/light_blue" } ] }, @@ -15,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_torch" - ] + "items": "forcecraft:force_torch" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_light_gray_torch.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_light_gray_torch.json similarity index 85% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_light_gray_torch.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_light_gray_torch.json index cb12093e..3059bea4 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_light_gray_torch.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_light_gray_torch.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forge:dyes/light_gray" + "items": "#c:dyes/light_gray" } ] }, @@ -15,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_torch" - ] + "items": "forcecraft:force_torch" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_lime_torch.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_lime_torch.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_lime_torch.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_lime_torch.json index e6ab9e5f..8a11152f 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_lime_torch.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_lime_torch.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forge:dyes/lime" + "items": "#c:dyes/lime" } ] }, @@ -15,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_torch" - ] + "items": "forcecraft:force_torch" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_magenta_torch.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_magenta_torch.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_magenta_torch.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_magenta_torch.json index f79b07cd..f64f2887 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_magenta_torch.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_magenta_torch.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forge:dyes/magenta" + "items": "#c:dyes/magenta" } ] }, @@ -15,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_torch" - ] + "items": "forcecraft:force_torch" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_orange_torch.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_orange_torch.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_orange_torch.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_orange_torch.json index 70ce4c80..b9f0bc0e 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_orange_torch.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_orange_torch.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forge:dyes/orange" + "items": "#c:dyes/orange" } ] }, @@ -15,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_torch" - ] + "items": "forcecraft:force_torch" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_pink_torch.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_pink_torch.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_pink_torch.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_pink_torch.json index b9a7c6b7..9f13280f 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_pink_torch.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_pink_torch.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forge:dyes/pink" + "items": "#c:dyes/pink" } ] }, @@ -15,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_torch" - ] + "items": "forcecraft:force_torch" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_plank_slab.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_plank_slab.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_plank_slab.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_plank_slab.json index 8b192fe3..e26e0006 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_plank_slab.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_plank_slab.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_planks" - ] + "items": "forcecraft:force_planks" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_plank_stairs.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_plank_stairs.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_plank_stairs.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_plank_stairs.json index 2abef775..12c176a5 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_plank_stairs.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_plank_stairs.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_planks" - ] + "items": "forcecraft:force_planks" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_planks.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_planks.json similarity index 92% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_planks.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_planks.json index d636b1f5..8feab6d3 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_planks.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_planks.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forcecraft:force_logs" + "items": "#forcecraft:force_logs" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_purple_torch.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_purple_torch.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_purple_torch.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_purple_torch.json index 084eeba0..b86b8f1c 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_purple_torch.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_purple_torch.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forge:dyes/purple" + "items": "#c:dyes/purple" } ] }, @@ -15,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_torch" - ] + "items": "forcecraft:force_torch" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_red_torch.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_red_torch.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_red_torch.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_red_torch.json index b62b7a33..fe9184d2 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_red_torch.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_red_torch.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forge:dyes/red" + "items": "#c:dyes/red" } ] }, @@ -15,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_torch" - ] + "items": "forcecraft:force_torch" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_torch.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_torch.json similarity index 85% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_torch.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_torch.json index 0e18e7bc..7ceba3ba 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_torch.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_torch.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:golden_power_source" - ] + "items": "forcecraft:golden_power_source" } ] }, @@ -17,7 +15,7 @@ "conditions": { "items": [ { - "tag": "forge:rods/wooden" + "items": "#c:rods/wooden" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_white_torch.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_white_torch.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_white_torch.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_white_torch.json index 91dc9c3d..25abc38b 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_white_torch.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_white_torch.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forge:dyes/white" + "items": "#c:dyes/white" } ] }, @@ -15,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_torch" - ] + "items": "forcecraft:force_torch" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_wood.json b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_wood.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_wood.json rename to src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_wood.json index d1057b9a..93aeaeab 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/building_blocks/force_wood.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/building_blocks/force_wood.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_log" - ] + "items": "forcecraft:force_log" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/combat/force_bow.json b/src/generated/resources/data/forcecraft/advancement/recipes/combat/force_bow.json similarity index 90% rename from src/generated/resources/data/forcecraft/advancements/recipes/combat/force_bow.json rename to src/generated/resources/data/forcecraft/advancement/recipes/combat/force_bow.json index dfa2d5b5..c1917cf1 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/combat/force_bow.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/combat/force_bow.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forge:nuggets/force" + "items": "#c:nuggets/force" } ] }, @@ -15,7 +15,7 @@ "conditions": { "items": [ { - "tag": "forge:rods/force" + "items": "#c:rods/force" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/combat/force_sword.json b/src/generated/resources/data/forcecraft/advancement/recipes/combat/force_sword.json similarity index 90% rename from src/generated/resources/data/forcecraft/advancements/recipes/combat/force_sword.json rename to src/generated/resources/data/forcecraft/advancement/recipes/combat/force_sword.json index 787b67bb..4906e7e9 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/combat/force_sword.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/combat/force_sword.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forge:ingots/force" + "items": "#c:ingots/force" } ] }, @@ -15,7 +15,7 @@ "conditions": { "items": [ { - "tag": "forge:rods/force" + "items": "#c:rods/force" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/food/cooked_bacon_from_smelting.json b/src/generated/resources/data/forcecraft/advancement/recipes/food/cooked_bacon_from_smelting.json similarity index 88% rename from src/generated/resources/data/forcecraft/advancements/recipes/food/cooked_bacon_from_smelting.json rename to src/generated/resources/data/forcecraft/advancement/recipes/food/cooked_bacon_from_smelting.json index f82f6574..6fd0d519 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/food/cooked_bacon_from_smelting.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/food/cooked_bacon_from_smelting.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:raw_bacon" - ] + "items": "forcecraft:raw_bacon" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/food/fortune_cookie.json b/src/generated/resources/data/forcecraft/advancement/recipes/food/fortune_cookie.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/food/fortune_cookie.json rename to src/generated/resources/data/forcecraft/advancement/recipes/food/fortune_cookie.json index 20f17eee..7868cc34 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/food/fortune_cookie.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/food/fortune_cookie.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:cookie" - ] + "items": "minecraft:cookie" } ] }, @@ -17,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:paper" - ] + "items": "minecraft:paper" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/food/snow_cookie.json b/src/generated/resources/data/forcecraft/advancement/recipes/food/snow_cookie.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/food/snow_cookie.json rename to src/generated/resources/data/forcecraft/advancement/recipes/food/snow_cookie.json index 714d4cb0..dc52d367 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/food/snow_cookie.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/food/snow_cookie.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:snowball" - ] + "items": "minecraft:snowball" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/food/soul_wafer.json b/src/generated/resources/data/forcecraft/advancement/recipes/food/soul_wafer.json similarity index 82% rename from src/generated/resources/data/forcecraft/advancements/recipes/food/soul_wafer.json rename to src/generated/resources/data/forcecraft/advancement/recipes/food/soul_wafer.json index f08997e7..e35f39d0 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/food/soul_wafer.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/food/soul_wafer.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forge:bones" + "items": "#c:bones" } ] }, @@ -15,7 +15,7 @@ "conditions": { "items": [ { - "tag": "forge:gunpowder" + "items": "#c:gunpowders" } ] }, @@ -25,9 +25,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:rotten_flesh" - ] + "items": "minecraft:rotten_flesh" } ] }, @@ -37,9 +35,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:snow_cookie" - ] + "items": "forcecraft:snow_cookie" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/freezing/freezing/bone_from_blaze_rod.json b/src/generated/resources/data/forcecraft/advancement/recipes/freezing/freezing/bone_from_blaze_rod.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/freezing/freezing/bone_from_blaze_rod.json rename to src/generated/resources/data/forcecraft/advancement/recipes/freezing/freezing/bone_from_blaze_rod.json index 7e264221..e1542e81 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/freezing/freezing/bone_from_blaze_rod.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/freezing/freezing/bone_from_blaze_rod.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:freezing_core" - ] + "items": "forcecraft:freezing_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/freezing/freezing/bone_meal_from_blaze_powder.json b/src/generated/resources/data/forcecraft/advancement/recipes/freezing/freezing/bone_meal_from_blaze_powder.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/freezing/freezing/bone_meal_from_blaze_powder.json rename to src/generated/resources/data/forcecraft/advancement/recipes/freezing/freezing/bone_meal_from_blaze_powder.json index 496df695..8d13781e 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/freezing/freezing/bone_meal_from_blaze_powder.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/freezing/freezing/bone_meal_from_blaze_powder.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:freezing_core" - ] + "items": "forcecraft:freezing_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/freezing/freezing/brick_from_nether_brick.json b/src/generated/resources/data/forcecraft/advancement/recipes/freezing/freezing/brick_from_nether_brick.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/freezing/freezing/brick_from_nether_brick.json rename to src/generated/resources/data/forcecraft/advancement/recipes/freezing/freezing/brick_from_nether_brick.json index b78e553d..55299213 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/freezing/freezing/brick_from_nether_brick.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/freezing/freezing/brick_from_nether_brick.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:freezing_core" - ] + "items": "forcecraft:freezing_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/freezing/freezing/cobblestone_from_netherrack.json b/src/generated/resources/data/forcecraft/advancement/recipes/freezing/freezing/cobblestone_from_netherrack.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/freezing/freezing/cobblestone_from_netherrack.json rename to src/generated/resources/data/forcecraft/advancement/recipes/freezing/freezing/cobblestone_from_netherrack.json index 2bf1727b..b46fbff8 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/freezing/freezing/cobblestone_from_netherrack.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/freezing/freezing/cobblestone_from_netherrack.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:freezing_core" - ] + "items": "forcecraft:freezing_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/freezing/freezing/ice_from_water_bottle.json b/src/generated/resources/data/forcecraft/advancement/recipes/freezing/freezing/ice_from_water_bottle.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/freezing/freezing/ice_from_water_bottle.json rename to src/generated/resources/data/forcecraft/advancement/recipes/freezing/freezing/ice_from_water_bottle.json index 98f9b297..47396756 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/freezing/freezing/ice_from_water_bottle.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/freezing/freezing/ice_from_water_bottle.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:freezing_core" - ] + "items": "forcecraft:freezing_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/freezing/freezing/ice_from_water_bucket.json b/src/generated/resources/data/forcecraft/advancement/recipes/freezing/freezing/ice_from_water_bucket.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/freezing/freezing/ice_from_water_bucket.json rename to src/generated/resources/data/forcecraft/advancement/recipes/freezing/freezing/ice_from_water_bucket.json index 921b72c9..6d6a96e8 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/freezing/freezing/ice_from_water_bucket.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/freezing/freezing/ice_from_water_bucket.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:freezing_core" - ] + "items": "forcecraft:freezing_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/freezing/freezing/leather_from_rotten_flesh.json b/src/generated/resources/data/forcecraft/advancement/recipes/freezing/freezing/leather_from_rotten_flesh.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/freezing/freezing/leather_from_rotten_flesh.json rename to src/generated/resources/data/forcecraft/advancement/recipes/freezing/freezing/leather_from_rotten_flesh.json index f9226d76..fdf08209 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/freezing/freezing/leather_from_rotten_flesh.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/freezing/freezing/leather_from_rotten_flesh.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:freezing_core" - ] + "items": "forcecraft:freezing_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/freezing/freezing/obsidian_from_lava_bucket.json b/src/generated/resources/data/forcecraft/advancement/recipes/freezing/freezing/obsidian_from_lava_bucket.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/freezing/freezing/obsidian_from_lava_bucket.json rename to src/generated/resources/data/forcecraft/advancement/recipes/freezing/freezing/obsidian_from_lava_bucket.json index 991725e6..982e3317 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/freezing/freezing/obsidian_from_lava_bucket.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/freezing/freezing/obsidian_from_lava_bucket.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:freezing_core" - ] + "items": "forcecraft:freezing_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/freezing/freezing/sandstone_from_red_sand.json b/src/generated/resources/data/forcecraft/advancement/recipes/freezing/freezing/sandstone_from_red_sand.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/freezing/freezing/sandstone_from_red_sand.json rename to src/generated/resources/data/forcecraft/advancement/recipes/freezing/freezing/sandstone_from_red_sand.json index 07f5ef01..bcd82a12 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/freezing/freezing/sandstone_from_red_sand.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/freezing/freezing/sandstone_from_red_sand.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:freezing_core" - ] + "items": "forcecraft:freezing_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/freezing/freezing/sandstone_from_sand.json b/src/generated/resources/data/forcecraft/advancement/recipes/freezing/freezing/sandstone_from_sand.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/freezing/freezing/sandstone_from_sand.json rename to src/generated/resources/data/forcecraft/advancement/recipes/freezing/freezing/sandstone_from_sand.json index aaba270f..9109c412 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/freezing/freezing/sandstone_from_sand.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/freezing/freezing/sandstone_from_sand.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:freezing_core" - ] + "items": "forcecraft:freezing_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/freezing/freezing/snowball_from_slimeball.json b/src/generated/resources/data/forcecraft/advancement/recipes/freezing/freezing/snowball_from_slimeball.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/freezing/freezing/snowball_from_slimeball.json rename to src/generated/resources/data/forcecraft/advancement/recipes/freezing/freezing/snowball_from_slimeball.json index 7c6eb371..0e363e4f 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/freezing/freezing/snowball_from_slimeball.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/freezing/freezing/snowball_from_slimeball.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:freezing_core" - ] + "items": "forcecraft:freezing_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/freezing/freezing/stone_bricks_from_stone.json b/src/generated/resources/data/forcecraft/advancement/recipes/freezing/freezing/stone_bricks_from_stone.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/freezing/freezing/stone_bricks_from_stone.json rename to src/generated/resources/data/forcecraft/advancement/recipes/freezing/freezing/stone_bricks_from_stone.json index c4ded060..476d5017 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/freezing/freezing/stone_bricks_from_stone.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/freezing/freezing/stone_bricks_from_stone.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:freezing_core" - ] + "items": "forcecraft:freezing_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/freezing/freezing/stone_from_cobblestone.json b/src/generated/resources/data/forcecraft/advancement/recipes/freezing/freezing/stone_from_cobblestone.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/freezing/freezing/stone_from_cobblestone.json rename to src/generated/resources/data/forcecraft/advancement/recipes/freezing/freezing/stone_from_cobblestone.json index 5972a725..65939af7 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/freezing/freezing/stone_from_cobblestone.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/freezing/freezing/stone_from_cobblestone.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:freezing_core" - ] + "items": "forcecraft:freezing_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/acacia_planks_from_door.json b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/acacia_planks_from_door.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/acacia_planks_from_door.json rename to src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/acacia_planks_from_door.json index 3a5585ba..12ffa23a 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/acacia_planks_from_door.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/acacia_planks_from_door.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:grinding_core" - ] + "items": "forcecraft:grinding_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/acacia_planks_from_log.json b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/acacia_planks_from_log.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/acacia_planks_from_log.json rename to src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/acacia_planks_from_log.json index de9a43c8..adcf7568 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/acacia_planks_from_log.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/acacia_planks_from_log.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:grinding_core" - ] + "items": "forcecraft:grinding_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/acacia_planks_from_pressure_plate.json b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/acacia_planks_from_pressure_plate.json similarity index 88% rename from src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/acacia_planks_from_pressure_plate.json rename to src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/acacia_planks_from_pressure_plate.json index faf151e3..23b210c0 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/acacia_planks_from_pressure_plate.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/acacia_planks_from_pressure_plate.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:grinding_core" - ] + "items": "forcecraft:grinding_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/birch_planks_from_door.json b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/birch_planks_from_door.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/birch_planks_from_door.json rename to src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/birch_planks_from_door.json index 3652c2c1..7e4335a9 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/birch_planks_from_door.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/birch_planks_from_door.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:grinding_core" - ] + "items": "forcecraft:grinding_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/birch_planks_from_log.json b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/birch_planks_from_log.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/birch_planks_from_log.json rename to src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/birch_planks_from_log.json index f70ba544..795d9f71 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/birch_planks_from_log.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/birch_planks_from_log.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:grinding_core" - ] + "items": "forcecraft:grinding_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/birch_planks_from_pressure_plate.json b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/birch_planks_from_pressure_plate.json similarity index 88% rename from src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/birch_planks_from_pressure_plate.json rename to src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/birch_planks_from_pressure_plate.json index 2316d0df..008f4cd4 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/birch_planks_from_pressure_plate.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/birch_planks_from_pressure_plate.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:grinding_core" - ] + "items": "forcecraft:grinding_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/blaze_powder_from_blaze_rod.json b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/blaze_powder_from_blaze_rod.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/blaze_powder_from_blaze_rod.json rename to src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/blaze_powder_from_blaze_rod.json index b2c43ef9..26bf86a0 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/blaze_powder_from_blaze_rod.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/blaze_powder_from_blaze_rod.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:grinding_core" - ] + "items": "forcecraft:grinding_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/bone_meal_from_bone.json b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/bone_meal_from_bone.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/bone_meal_from_bone.json rename to src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/bone_meal_from_bone.json index 98423e7a..b5bdb3d6 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/bone_meal_from_bone.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/bone_meal_from_bone.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:grinding_core" - ] + "items": "forcecraft:grinding_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/cherry_planks_from_door.json b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/cherry_planks_from_door.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/cherry_planks_from_door.json rename to src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/cherry_planks_from_door.json index 7a50884b..92414b2a 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/cherry_planks_from_door.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/cherry_planks_from_door.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:grinding_core" - ] + "items": "forcecraft:grinding_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/cherry_planks_from_log.json b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/cherry_planks_from_log.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/cherry_planks_from_log.json rename to src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/cherry_planks_from_log.json index 1a8f90fb..bf6d8c14 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/cherry_planks_from_log.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/cherry_planks_from_log.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:grinding_core" - ] + "items": "forcecraft:grinding_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/cherry_planks_from_pressure_plate.json b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/cherry_planks_from_pressure_plate.json similarity index 88% rename from src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/cherry_planks_from_pressure_plate.json rename to src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/cherry_planks_from_pressure_plate.json index 8367d0d3..0a61ca9c 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/cherry_planks_from_pressure_plate.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/cherry_planks_from_pressure_plate.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:grinding_core" - ] + "items": "forcecraft:grinding_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/cobblestone_from_furnace.json b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/cobblestone_from_furnace.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/cobblestone_from_furnace.json rename to src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/cobblestone_from_furnace.json index 0cbfca0c..3b6b86e0 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/cobblestone_from_furnace.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/cobblestone_from_furnace.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:grinding_core" - ] + "items": "forcecraft:grinding_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/cooked_bacon_from_cooked_porkchop.json b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/cooked_bacon_from_cooked_porkchop.json similarity index 88% rename from src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/cooked_bacon_from_cooked_porkchop.json rename to src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/cooked_bacon_from_cooked_porkchop.json index 913bfa29..11b7b4fe 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/cooked_bacon_from_cooked_porkchop.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/cooked_bacon_from_cooked_porkchop.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:grinding_core" - ] + "items": "forcecraft:grinding_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/crimson_planks_from_door.json b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/crimson_planks_from_door.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/crimson_planks_from_door.json rename to src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/crimson_planks_from_door.json index 6abe57e0..43dc70de 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/crimson_planks_from_door.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/crimson_planks_from_door.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:grinding_core" - ] + "items": "forcecraft:grinding_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/crimson_planks_from_log.json b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/crimson_planks_from_log.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/crimson_planks_from_log.json rename to src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/crimson_planks_from_log.json index 0e02f6e0..4b6914ea 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/crimson_planks_from_log.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/crimson_planks_from_log.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:grinding_core" - ] + "items": "forcecraft:grinding_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/crimson_planks_from_pressure_plate.json b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/crimson_planks_from_pressure_plate.json similarity index 88% rename from src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/crimson_planks_from_pressure_plate.json rename to src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/crimson_planks_from_pressure_plate.json index 81fead1f..2bb1f087 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/crimson_planks_from_pressure_plate.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/crimson_planks_from_pressure_plate.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:grinding_core" - ] + "items": "forcecraft:grinding_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/dark_oak_planks_from_door.json b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/dark_oak_planks_from_door.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/dark_oak_planks_from_door.json rename to src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/dark_oak_planks_from_door.json index 82cae4a4..4c8f3657 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/dark_oak_planks_from_door.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/dark_oak_planks_from_door.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:grinding_core" - ] + "items": "forcecraft:grinding_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/dark_oak_planks_from_log.json b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/dark_oak_planks_from_log.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/dark_oak_planks_from_log.json rename to src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/dark_oak_planks_from_log.json index 615a25b6..d7a7ebb2 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/dark_oak_planks_from_log.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/dark_oak_planks_from_log.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:grinding_core" - ] + "items": "forcecraft:grinding_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/dark_oak_planks_from_pressure_plate.json b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/dark_oak_planks_from_pressure_plate.json similarity index 88% rename from src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/dark_oak_planks_from_pressure_plate.json rename to src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/dark_oak_planks_from_pressure_plate.json index 153267b4..5d6d8723 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/dark_oak_planks_from_pressure_plate.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/dark_oak_planks_from_pressure_plate.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:grinding_core" - ] + "items": "forcecraft:grinding_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/flint_from_gravel.json b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/flint_from_gravel.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/flint_from_gravel.json rename to src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/flint_from_gravel.json index f5c3671d..15d3eb87 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/flint_from_gravel.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/flint_from_gravel.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:grinding_core" - ] + "items": "forcecraft:grinding_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/force_planks_from_log.json b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/force_planks_from_log.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/force_planks_from_log.json rename to src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/force_planks_from_log.json index 5a9108d9..52644b11 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/force_planks_from_log.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/force_planks_from_log.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:grinding_core" - ] + "items": "forcecraft:grinding_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/gold_ingot_from_light_weighted_pressure_plate.json b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/gold_ingot_from_light_weighted_pressure_plate.json similarity index 88% rename from src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/gold_ingot_from_light_weighted_pressure_plate.json rename to src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/gold_ingot_from_light_weighted_pressure_plate.json index c8514404..9dd2f2ee 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/gold_ingot_from_light_weighted_pressure_plate.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/gold_ingot_from_light_weighted_pressure_plate.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:grinding_core" - ] + "items": "forcecraft:grinding_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/ingots_from_force_furnace.json b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/ingots_from_force_furnace.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/ingots_from_force_furnace.json rename to src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/ingots_from_force_furnace.json index 8c27c79a..a78615ad 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/ingots_from_force_furnace.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/ingots_from_force_furnace.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:grinding_core" - ] + "items": "forcecraft:grinding_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/iron_ingot_from_door.json b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/iron_ingot_from_door.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/iron_ingot_from_door.json rename to src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/iron_ingot_from_door.json index 404f70d1..d2cf9cca 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/iron_ingot_from_door.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/iron_ingot_from_door.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:grinding_core" - ] + "items": "forcecraft:grinding_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/iron_ingot_from_heavy_weighted_pressure_plate.json b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/iron_ingot_from_heavy_weighted_pressure_plate.json similarity index 88% rename from src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/iron_ingot_from_heavy_weighted_pressure_plate.json rename to src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/iron_ingot_from_heavy_weighted_pressure_plate.json index afa3fcde..84396a9d 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/iron_ingot_from_heavy_weighted_pressure_plate.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/iron_ingot_from_heavy_weighted_pressure_plate.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:grinding_core" - ] + "items": "forcecraft:grinding_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/jungle_planks_from_door.json b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/jungle_planks_from_door.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/jungle_planks_from_door.json rename to src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/jungle_planks_from_door.json index f8f7acef..be3d0de2 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/jungle_planks_from_door.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/jungle_planks_from_door.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:grinding_core" - ] + "items": "forcecraft:grinding_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/jungle_planks_from_log.json b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/jungle_planks_from_log.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/jungle_planks_from_log.json rename to src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/jungle_planks_from_log.json index e4e22894..49abaab9 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/jungle_planks_from_log.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/jungle_planks_from_log.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:grinding_core" - ] + "items": "forcecraft:grinding_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/jungle_planks_from_pressure_plate.json b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/jungle_planks_from_pressure_plate.json similarity index 88% rename from src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/jungle_planks_from_pressure_plate.json rename to src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/jungle_planks_from_pressure_plate.json index 5ac13440..dd1bea76 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/jungle_planks_from_pressure_plate.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/jungle_planks_from_pressure_plate.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:grinding_core" - ] + "items": "forcecraft:grinding_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/mangrove_planks_from_door.json b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/mangrove_planks_from_door.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/mangrove_planks_from_door.json rename to src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/mangrove_planks_from_door.json index 0471dd22..299074ee 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/mangrove_planks_from_door.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/mangrove_planks_from_door.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:grinding_core" - ] + "items": "forcecraft:grinding_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/mangrove_planks_from_log.json b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/mangrove_planks_from_log.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/mangrove_planks_from_log.json rename to src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/mangrove_planks_from_log.json index 8d1baee2..9091240b 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/mangrove_planks_from_log.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/mangrove_planks_from_log.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:grinding_core" - ] + "items": "forcecraft:grinding_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/mangrove_planks_from_pressure_plate.json b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/mangrove_planks_from_pressure_plate.json similarity index 88% rename from src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/mangrove_planks_from_pressure_plate.json rename to src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/mangrove_planks_from_pressure_plate.json index cd56c1d4..54a653b4 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/mangrove_planks_from_pressure_plate.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/mangrove_planks_from_pressure_plate.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:grinding_core" - ] + "items": "forcecraft:grinding_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/oak_planks_from_bookshelf.json b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/oak_planks_from_bookshelf.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/oak_planks_from_bookshelf.json rename to src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/oak_planks_from_bookshelf.json index 728aeff1..73d570b9 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/oak_planks_from_bookshelf.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/oak_planks_from_bookshelf.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:grinding_core" - ] + "items": "forcecraft:grinding_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/oak_planks_from_chest.json b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/oak_planks_from_chest.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/oak_planks_from_chest.json rename to src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/oak_planks_from_chest.json index f6023511..b875393c 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/oak_planks_from_chest.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/oak_planks_from_chest.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:grinding_core" - ] + "items": "forcecraft:grinding_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/oak_planks_from_crafting_table.json b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/oak_planks_from_crafting_table.json similarity index 88% rename from src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/oak_planks_from_crafting_table.json rename to src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/oak_planks_from_crafting_table.json index 2228426d..0a6d8b14 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/oak_planks_from_crafting_table.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/oak_planks_from_crafting_table.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:grinding_core" - ] + "items": "forcecraft:grinding_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/oak_planks_from_door.json b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/oak_planks_from_door.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/oak_planks_from_door.json rename to src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/oak_planks_from_door.json index 06f536f0..69887cdb 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/oak_planks_from_door.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/oak_planks_from_door.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:grinding_core" - ] + "items": "forcecraft:grinding_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/oak_planks_from_log.json b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/oak_planks_from_log.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/oak_planks_from_log.json rename to src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/oak_planks_from_log.json index 9099bd5a..0ad53a36 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/oak_planks_from_log.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/oak_planks_from_log.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:grinding_core" - ] + "items": "forcecraft:grinding_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/oak_planks_from_pressure_plate.json b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/oak_planks_from_pressure_plate.json similarity index 88% rename from src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/oak_planks_from_pressure_plate.json rename to src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/oak_planks_from_pressure_plate.json index 670d63e6..b0876320 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/oak_planks_from_pressure_plate.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/oak_planks_from_pressure_plate.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:grinding_core" - ] + "items": "forcecraft:grinding_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/paper_from_book.json b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/paper_from_book.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/paper_from_book.json rename to src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/paper_from_book.json index a3161f6e..fa09925c 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/paper_from_book.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/paper_from_book.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:grinding_core" - ] + "items": "forcecraft:grinding_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/raw_bacon_from_porkchop.json b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/raw_bacon_from_porkchop.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/raw_bacon_from_porkchop.json rename to src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/raw_bacon_from_porkchop.json index aa48d630..aa0d82e6 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/raw_bacon_from_porkchop.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/raw_bacon_from_porkchop.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:grinding_core" - ] + "items": "forcecraft:grinding_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/sand_from_cobblestone.json b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/sand_from_cobblestone.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/sand_from_cobblestone.json rename to src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/sand_from_cobblestone.json index 4424c880..3ea75c81 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/sand_from_cobblestone.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/sand_from_cobblestone.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:grinding_core" - ] + "items": "forcecraft:grinding_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/sand_from_red_sandstone.json b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/sand_from_red_sandstone.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/sand_from_red_sandstone.json rename to src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/sand_from_red_sandstone.json index 4dd13972..900d2f22 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/sand_from_red_sandstone.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/sand_from_red_sandstone.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:grinding_core" - ] + "items": "forcecraft:grinding_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/sand_from_sandstone.json b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/sand_from_sandstone.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/sand_from_sandstone.json rename to src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/sand_from_sandstone.json index 75162b57..643b93a1 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/sand_from_sandstone.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/sand_from_sandstone.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:grinding_core" - ] + "items": "forcecraft:grinding_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/spruce_planks_from_door.json b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/spruce_planks_from_door.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/spruce_planks_from_door.json rename to src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/spruce_planks_from_door.json index 5fc984bf..f8c1182f 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/spruce_planks_from_door.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/spruce_planks_from_door.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:grinding_core" - ] + "items": "forcecraft:grinding_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/spruce_planks_from_log.json b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/spruce_planks_from_log.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/spruce_planks_from_log.json rename to src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/spruce_planks_from_log.json index fea32c48..35dec03d 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/spruce_planks_from_log.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/spruce_planks_from_log.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:grinding_core" - ] + "items": "forcecraft:grinding_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/spruce_planks_from_pressure_plate.json b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/spruce_planks_from_pressure_plate.json similarity index 88% rename from src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/spruce_planks_from_pressure_plate.json rename to src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/spruce_planks_from_pressure_plate.json index 77ff269f..00c04f0a 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/spruce_planks_from_pressure_plate.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/spruce_planks_from_pressure_plate.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:grinding_core" - ] + "items": "forcecraft:grinding_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/stone_from_pressure_plate.json b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/stone_from_pressure_plate.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/stone_from_pressure_plate.json rename to src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/stone_from_pressure_plate.json index 6ad086c2..e8c47ef2 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/stone_from_pressure_plate.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/stone_from_pressure_plate.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:grinding_core" - ] + "items": "forcecraft:grinding_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/string_from_wool.json b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/string_from_wool.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/string_from_wool.json rename to src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/string_from_wool.json index 239280e0..fbad1e6b 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/string_from_wool.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/string_from_wool.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:grinding_core" - ] + "items": "forcecraft:grinding_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/string_from_wool_carpet.json b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/string_from_wool_carpet.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/string_from_wool_carpet.json rename to src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/string_from_wool_carpet.json index b687db27..2c8d24b3 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/string_from_wool_carpet.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/string_from_wool_carpet.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:grinding_core" - ] + "items": "forcecraft:grinding_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/warped_planks_from_door.json b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/warped_planks_from_door.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/warped_planks_from_door.json rename to src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/warped_planks_from_door.json index b1e37b1a..f7a413e5 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/warped_planks_from_door.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/warped_planks_from_door.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:grinding_core" - ] + "items": "forcecraft:grinding_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/warped_planks_from_log.json b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/warped_planks_from_log.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/warped_planks_from_log.json rename to src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/warped_planks_from_log.json index c033e5d4..8c813aa0 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/warped_planks_from_log.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/warped_planks_from_log.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:grinding_core" - ] + "items": "forcecraft:grinding_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/warped_planks_from_pressure_plate.json b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/warped_planks_from_pressure_plate.json similarity index 88% rename from src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/warped_planks_from_pressure_plate.json rename to src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/warped_planks_from_pressure_plate.json index c045084a..d7bf56d3 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/grinding/grinding/warped_planks_from_pressure_plate.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/grinding/grinding/warped_planks_from_pressure_plate.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:grinding_core" - ] + "items": "forcecraft:grinding_core" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/misc/black_force_furnace_from_dye.json b/src/generated/resources/data/forcecraft/advancement/recipes/misc/black_force_furnace_from_dye.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/misc/black_force_furnace_from_dye.json rename to src/generated/resources/data/forcecraft/advancement/recipes/misc/black_force_furnace_from_dye.json index e3639880..af88b6f4 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/misc/black_force_furnace_from_dye.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/misc/black_force_furnace_from_dye.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forge:dyes/black" + "items": "#c:dyes/black" } ] }, @@ -15,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_furnace" - ] + "items": "forcecraft:force_furnace" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/misc/blue_force_furnace_from_dye.json b/src/generated/resources/data/forcecraft/advancement/recipes/misc/blue_force_furnace_from_dye.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/misc/blue_force_furnace_from_dye.json rename to src/generated/resources/data/forcecraft/advancement/recipes/misc/blue_force_furnace_from_dye.json index 362d8b59..1897486e 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/misc/blue_force_furnace_from_dye.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/misc/blue_force_furnace_from_dye.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forge:dyes/blue" + "items": "#c:dyes/blue" } ] }, @@ -15,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_furnace" - ] + "items": "forcecraft:force_furnace" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/misc/brown_force_furnace_from_dye.json b/src/generated/resources/data/forcecraft/advancement/recipes/misc/brown_force_furnace_from_dye.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/misc/brown_force_furnace_from_dye.json rename to src/generated/resources/data/forcecraft/advancement/recipes/misc/brown_force_furnace_from_dye.json index c86cf1d5..8f2c88d3 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/misc/brown_force_furnace_from_dye.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/misc/brown_force_furnace_from_dye.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forge:dyes/brown" + "items": "#c:dyes/brown" } ] }, @@ -15,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_furnace" - ] + "items": "forcecraft:force_furnace" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/misc/cyan_force_furnace_from_dye.json b/src/generated/resources/data/forcecraft/advancement/recipes/misc/cyan_force_furnace_from_dye.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/misc/cyan_force_furnace_from_dye.json rename to src/generated/resources/data/forcecraft/advancement/recipes/misc/cyan_force_furnace_from_dye.json index 13fc653a..b41136be 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/misc/cyan_force_furnace_from_dye.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/misc/cyan_force_furnace_from_dye.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forge:dyes/cyan" + "items": "#c:dyes/cyan" } ] }, @@ -15,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_furnace" - ] + "items": "forcecraft:force_furnace" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/misc/force_and_you.json b/src/generated/resources/data/forcecraft/advancement/recipes/misc/force_and_you.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/misc/force_and_you.json rename to src/generated/resources/data/forcecraft/advancement/recipes/misc/force_and_you.json index ba8cf5c3..1dfc99cb 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/misc/force_and_you.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/misc/force_and_you.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:book" - ] + "items": "minecraft:book" } ] }, @@ -17,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_gem" - ] + "items": "forcecraft:force_gem" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/misc/force_belt.json b/src/generated/resources/data/forcecraft/advancement/recipes/misc/force_belt.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/misc/force_belt.json rename to src/generated/resources/data/forcecraft/advancement/recipes/misc/force_belt.json index f5c93620..7fa963b1 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/misc/force_belt.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/misc/force_belt.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forge:ingots/force" + "items": "#c:ingots/force" } ] }, @@ -15,7 +15,7 @@ "conditions": { "items": [ { - "tag": "forge:ingots/iron" + "items": "#c:ingots/iron" } ] }, @@ -25,7 +25,7 @@ "conditions": { "items": [ { - "tag": "forge:leather" + "items": "#c:leathers" } ] }, @@ -41,7 +41,7 @@ "conditions": { "items": [ { - "tag": "minecraft:wool" + "items": "#minecraft:wool" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/misc/force_flask.json b/src/generated/resources/data/forcecraft/advancement/recipes/misc/force_flask.json similarity index 89% rename from src/generated/resources/data/forcecraft/advancements/recipes/misc/force_flask.json rename to src/generated/resources/data/forcecraft/advancement/recipes/misc/force_flask.json index d959ec0e..e6c40f5c 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/misc/force_flask.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/misc/force_flask.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forge:nuggets/force" + "items": "#c:nuggets/force" } ] }, @@ -15,7 +15,7 @@ "conditions": { "items": [ { - "tag": "forge:glass" + "items": "#c:glass_blocks" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/misc/force_flask_from_entity_flask.json b/src/generated/resources/data/forcecraft/advancement/recipes/misc/force_flask_from_entity_flask.json similarity index 92% rename from src/generated/resources/data/forcecraft/advancements/recipes/misc/force_flask_from_entity_flask.json rename to src/generated/resources/data/forcecraft/advancement/recipes/misc/force_flask_from_entity_flask.json index 14debd71..49077e04 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/misc/force_flask_from_entity_flask.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/misc/force_flask_from_entity_flask.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forcecraft:entity_flasks" + "items": "#forcecraft:entity_flasks" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/misc/force_furnace_from_dye.json b/src/generated/resources/data/forcecraft/advancement/recipes/misc/force_furnace_from_dye.json similarity index 89% rename from src/generated/resources/data/forcecraft/advancements/recipes/misc/force_furnace_from_dye.json rename to src/generated/resources/data/forcecraft/advancement/recipes/misc/force_furnace_from_dye.json index fe520b90..8023fc74 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/misc/force_furnace_from_dye.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/misc/force_furnace_from_dye.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forcecraft:force_furnace" + "items": "#forcecraft:force_furnace" } ] }, @@ -21,7 +21,7 @@ "conditions": { "items": [ { - "tag": "forge:dyes/yellow" + "items": "#c:dyes/yellow" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/misc/force_gear.json b/src/generated/resources/data/forcecraft/advancement/recipes/misc/force_gear.json similarity index 92% rename from src/generated/resources/data/forcecraft/advancements/recipes/misc/force_gear.json rename to src/generated/resources/data/forcecraft/advancement/recipes/misc/force_gear.json index 33492fed..6cd2a856 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/misc/force_gear.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/misc/force_gear.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forge:ingots/force" + "items": "#c:ingots/force" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/misc/force_ingot_from_gold.json b/src/generated/resources/data/forcecraft/advancement/recipes/misc/force_ingot_from_gold.json similarity index 90% rename from src/generated/resources/data/forcecraft/advancements/recipes/misc/force_ingot_from_gold.json rename to src/generated/resources/data/forcecraft/advancement/recipes/misc/force_ingot_from_gold.json index 8251fc24..9de67e01 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/misc/force_ingot_from_gold.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/misc/force_ingot_from_gold.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forge:gems/force" + "items": "#c:gems/force" } ] }, @@ -15,7 +15,7 @@ "conditions": { "items": [ { - "tag": "forge:ingots/gold" + "items": "#c:ingots/gold" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/misc/force_ingot_from_iron.json b/src/generated/resources/data/forcecraft/advancement/recipes/misc/force_ingot_from_iron.json similarity index 90% rename from src/generated/resources/data/forcecraft/advancements/recipes/misc/force_ingot_from_iron.json rename to src/generated/resources/data/forcecraft/advancement/recipes/misc/force_ingot_from_iron.json index d071529e..f6d1b5ce 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/misc/force_ingot_from_iron.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/misc/force_ingot_from_iron.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forge:gems/force" + "items": "#c:gems/force" } ] }, @@ -15,7 +15,7 @@ "conditions": { "items": [ { - "tag": "forge:ingots/iron" + "items": "#c:ingots/iron" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/misc/force_ingot_from_nuggets.json b/src/generated/resources/data/forcecraft/advancement/recipes/misc/force_ingot_from_nuggets.json similarity index 93% rename from src/generated/resources/data/forcecraft/advancements/recipes/misc/force_ingot_from_nuggets.json rename to src/generated/resources/data/forcecraft/advancement/recipes/misc/force_ingot_from_nuggets.json index d114a3b2..17e753d2 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/misc/force_ingot_from_nuggets.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/misc/force_ingot_from_nuggets.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forge:nuggets/force" + "items": "#c:nuggets/force" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/misc/force_nugget.json b/src/generated/resources/data/forcecraft/advancement/recipes/misc/force_nugget.json similarity index 93% rename from src/generated/resources/data/forcecraft/advancements/recipes/misc/force_nugget.json rename to src/generated/resources/data/forcecraft/advancement/recipes/misc/force_nugget.json index 1097bc8a..cb70bab3 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/misc/force_nugget.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/misc/force_nugget.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forge:ingots/force" + "items": "#c:ingots/force" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/misc/force_pack_upgrade.json b/src/generated/resources/data/forcecraft/advancement/recipes/misc/force_pack_upgrade.json similarity index 88% rename from src/generated/resources/data/forcecraft/advancements/recipes/misc/force_pack_upgrade.json rename to src/generated/resources/data/forcecraft/advancement/recipes/misc/force_pack_upgrade.json index 537c1ead..af095b93 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/misc/force_pack_upgrade.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/misc/force_pack_upgrade.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forge:ingots/force" + "items": "#c:ingots/force" } ] }, @@ -15,7 +15,7 @@ "conditions": { "items": [ { - "tag": "forge:leather" + "items": "#c:leathers" } ] }, @@ -31,7 +31,7 @@ "conditions": { "items": [ { - "tag": "minecraft:wool" + "items": "#minecraft:wool" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/misc/force_stick.json b/src/generated/resources/data/forcecraft/advancement/recipes/misc/force_stick.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/misc/force_stick.json rename to src/generated/resources/data/forcecraft/advancement/recipes/misc/force_stick.json index 2b40c825..85a0a33d 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/misc/force_stick.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/misc/force_stick.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_planks" - ] + "items": "forcecraft:force_planks" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/misc/golden_power_source.json b/src/generated/resources/data/forcecraft/advancement/recipes/misc/golden_power_source.json similarity index 92% rename from src/generated/resources/data/forcecraft/advancements/recipes/misc/golden_power_source.json rename to src/generated/resources/data/forcecraft/advancement/recipes/misc/golden_power_source.json index 976ae81b..e420b563 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/misc/golden_power_source.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/misc/golden_power_source.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forcecraft:force_logs" + "items": "#forcecraft:force_logs" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/misc/gray_force_furnace_from_dye.json b/src/generated/resources/data/forcecraft/advancement/recipes/misc/gray_force_furnace_from_dye.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/misc/gray_force_furnace_from_dye.json rename to src/generated/resources/data/forcecraft/advancement/recipes/misc/gray_force_furnace_from_dye.json index 40cf9e0e..562228c5 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/misc/gray_force_furnace_from_dye.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/misc/gray_force_furnace_from_dye.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_furnace" - ] + "items": "forcecraft:force_furnace" } ] }, @@ -17,7 +15,7 @@ "conditions": { "items": [ { - "tag": "forge:dyes/gray" + "items": "#c:dyes/gray" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/misc/green_force_furnace_from_dye.json b/src/generated/resources/data/forcecraft/advancement/recipes/misc/green_force_furnace_from_dye.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/misc/green_force_furnace_from_dye.json rename to src/generated/resources/data/forcecraft/advancement/recipes/misc/green_force_furnace_from_dye.json index 070e90ad..5da1adbb 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/misc/green_force_furnace_from_dye.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/misc/green_force_furnace_from_dye.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_furnace" - ] + "items": "forcecraft:force_furnace" } ] }, @@ -17,7 +15,7 @@ "conditions": { "items": [ { - "tag": "forge:dyes/green" + "items": "#c:dyes/green" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/misc/gunpowder_from_pile_of_gunpowder.json b/src/generated/resources/data/forcecraft/advancement/recipes/misc/gunpowder_from_pile_of_gunpowder.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/misc/gunpowder_from_pile_of_gunpowder.json rename to src/generated/resources/data/forcecraft/advancement/recipes/misc/gunpowder_from_pile_of_gunpowder.json index e44fdc2a..541635e3 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/misc/gunpowder_from_pile_of_gunpowder.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/misc/gunpowder_from_pile_of_gunpowder.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:pile_of_gunpowder" - ] + "items": "forcecraft:pile_of_gunpowder" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/misc/item_card.json b/src/generated/resources/data/forcecraft/advancement/recipes/misc/item_card.json similarity index 85% rename from src/generated/resources/data/forcecraft/advancements/recipes/misc/item_card.json rename to src/generated/resources/data/forcecraft/advancement/recipes/misc/item_card.json index 8f30bbab..3a00d2fe 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/misc/item_card.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/misc/item_card.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forge:dyes/blue" + "items": "#c:dyes/blue" } ] }, @@ -15,7 +15,7 @@ "conditions": { "items": [ { - "tag": "forge:ingots/force" + "items": "#c:ingots/force" } ] }, @@ -25,9 +25,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:paper" - ] + "items": "minecraft:paper" } ] }, @@ -37,7 +35,7 @@ "conditions": { "items": [ { - "tag": "forge:dyes/red" + "items": "#c:dyes/red" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/misc/item_card_empty.json b/src/generated/resources/data/forcecraft/advancement/recipes/misc/item_card_empty.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/misc/item_card_empty.json rename to src/generated/resources/data/forcecraft/advancement/recipes/misc/item_card_empty.json index 7a89a0c7..47591920 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/misc/item_card_empty.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/misc/item_card_empty.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:item_card" - ] + "items": "forcecraft:item_card" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/misc/item_card_flipped.json b/src/generated/resources/data/forcecraft/advancement/recipes/misc/item_card_flipped.json similarity index 85% rename from src/generated/resources/data/forcecraft/advancements/recipes/misc/item_card_flipped.json rename to src/generated/resources/data/forcecraft/advancement/recipes/misc/item_card_flipped.json index a6848653..f514131a 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/misc/item_card_flipped.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/misc/item_card_flipped.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forge:dyes/blue" + "items": "#c:dyes/blue" } ] }, @@ -15,7 +15,7 @@ "conditions": { "items": [ { - "tag": "forge:ingots/force" + "items": "#c:ingots/force" } ] }, @@ -25,9 +25,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:paper" - ] + "items": "minecraft:paper" } ] }, @@ -37,7 +35,7 @@ "conditions": { "items": [ { - "tag": "forge:dyes/red" + "items": "#c:dyes/red" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/misc/light_blue_force_furnace_from_dye.json b/src/generated/resources/data/forcecraft/advancement/recipes/misc/light_blue_force_furnace_from_dye.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/misc/light_blue_force_furnace_from_dye.json rename to src/generated/resources/data/forcecraft/advancement/recipes/misc/light_blue_force_furnace_from_dye.json index 8eca01ca..8c12192b 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/misc/light_blue_force_furnace_from_dye.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/misc/light_blue_force_furnace_from_dye.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_furnace" - ] + "items": "forcecraft:force_furnace" } ] }, @@ -17,7 +15,7 @@ "conditions": { "items": [ { - "tag": "forge:dyes/light_blue" + "items": "#c:dyes/light_blue" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/misc/light_gray_force_furnace_from_dye.json b/src/generated/resources/data/forcecraft/advancement/recipes/misc/light_gray_force_furnace_from_dye.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/misc/light_gray_force_furnace_from_dye.json rename to src/generated/resources/data/forcecraft/advancement/recipes/misc/light_gray_force_furnace_from_dye.json index 9a0183a6..52a5f057 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/misc/light_gray_force_furnace_from_dye.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/misc/light_gray_force_furnace_from_dye.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_furnace" - ] + "items": "forcecraft:force_furnace" } ] }, @@ -17,7 +15,7 @@ "conditions": { "items": [ { - "tag": "forge:dyes/light_gray" + "items": "#c:dyes/light_gray" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/misc/lime_force_furnace_from_dye.json b/src/generated/resources/data/forcecraft/advancement/recipes/misc/lime_force_furnace_from_dye.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/misc/lime_force_furnace_from_dye.json rename to src/generated/resources/data/forcecraft/advancement/recipes/misc/lime_force_furnace_from_dye.json index 1084bbbb..8349feef 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/misc/lime_force_furnace_from_dye.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/misc/lime_force_furnace_from_dye.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_furnace" - ] + "items": "forcecraft:force_furnace" } ] }, @@ -17,7 +15,7 @@ "conditions": { "items": [ { - "tag": "forge:dyes/lime" + "items": "#c:dyes/lime" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/misc/magenta_force_furnace_from_dye.json b/src/generated/resources/data/forcecraft/advancement/recipes/misc/magenta_force_furnace_from_dye.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/misc/magenta_force_furnace_from_dye.json rename to src/generated/resources/data/forcecraft/advancement/recipes/misc/magenta_force_furnace_from_dye.json index 97318077..f6d64eda 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/misc/magenta_force_furnace_from_dye.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/misc/magenta_force_furnace_from_dye.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_furnace" - ] + "items": "forcecraft:force_furnace" } ] }, @@ -17,7 +15,7 @@ "conditions": { "items": [ { - "tag": "forge:dyes/magenta" + "items": "#c:dyes/magenta" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/misc/magnet_glove.json b/src/generated/resources/data/forcecraft/advancement/recipes/misc/magnet_glove.json similarity index 85% rename from src/generated/resources/data/forcecraft/advancements/recipes/misc/magnet_glove.json rename to src/generated/resources/data/forcecraft/advancement/recipes/misc/magnet_glove.json index 67b52f28..6ff91437 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/misc/magnet_glove.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/misc/magnet_glove.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:compass" - ] + "items": "minecraft:compass" } ] }, @@ -17,7 +15,7 @@ "conditions": { "items": [ { - "tag": "forge:ingots/force" + "items": "#c:ingots/force" } ] }, @@ -27,7 +25,7 @@ "conditions": { "items": [ { - "tag": "forge:nether_stars" + "items": "#c:nether_stars" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/misc/orange_force_furnace_from_dye.json b/src/generated/resources/data/forcecraft/advancement/recipes/misc/orange_force_furnace_from_dye.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/misc/orange_force_furnace_from_dye.json rename to src/generated/resources/data/forcecraft/advancement/recipes/misc/orange_force_furnace_from_dye.json index e6efdbdc..6225a29c 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/misc/orange_force_furnace_from_dye.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/misc/orange_force_furnace_from_dye.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_furnace" - ] + "items": "forcecraft:force_furnace" } ] }, @@ -17,7 +15,7 @@ "conditions": { "items": [ { - "tag": "forge:dyes/orange" + "items": "#c:dyes/orange" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/misc/pink_force_furnace_from_dye.json b/src/generated/resources/data/forcecraft/advancement/recipes/misc/pink_force_furnace_from_dye.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/misc/pink_force_furnace_from_dye.json rename to src/generated/resources/data/forcecraft/advancement/recipes/misc/pink_force_furnace_from_dye.json index dac611ab..bc53ad49 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/misc/pink_force_furnace_from_dye.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/misc/pink_force_furnace_from_dye.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_furnace" - ] + "items": "forcecraft:force_furnace" } ] }, @@ -17,7 +15,7 @@ "conditions": { "items": [ { - "tag": "forge:dyes/pink" + "items": "#c:dyes/pink" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/misc/purple_force_furnace_from_dye.json b/src/generated/resources/data/forcecraft/advancement/recipes/misc/purple_force_furnace_from_dye.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/misc/purple_force_furnace_from_dye.json rename to src/generated/resources/data/forcecraft/advancement/recipes/misc/purple_force_furnace_from_dye.json index 400ffb85..77015c5f 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/misc/purple_force_furnace_from_dye.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/misc/purple_force_furnace_from_dye.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_furnace" - ] + "items": "forcecraft:force_furnace" } ] }, @@ -17,7 +15,7 @@ "conditions": { "items": [ { - "tag": "forge:dyes/purple" + "items": "#c:dyes/purple" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/misc/red_force_furnace_from_dye.json b/src/generated/resources/data/forcecraft/advancement/recipes/misc/red_force_furnace_from_dye.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/misc/red_force_furnace_from_dye.json rename to src/generated/resources/data/forcecraft/advancement/recipes/misc/red_force_furnace_from_dye.json index 5ee56175..3944a2a7 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/misc/red_force_furnace_from_dye.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/misc/red_force_furnace_from_dye.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_furnace" - ] + "items": "forcecraft:force_furnace" } ] }, @@ -17,7 +15,7 @@ "conditions": { "items": [ { - "tag": "forge:dyes/red" + "items": "#c:dyes/red" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/misc/red_potion.json b/src/generated/resources/data/forcecraft/advancement/recipes/misc/red_potion.json similarity index 81% rename from src/generated/resources/data/forcecraft/advancements/recipes/misc/red_potion.json rename to src/generated/resources/data/forcecraft/advancement/recipes/misc/red_potion.json index ea81ea80..7afa618d 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/misc/red_potion.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/misc/red_potion.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_filled_force_flask" - ] + "items": "forcecraft:force_filled_force_flask" } ] }, @@ -17,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:red_chu_jelly" - ] + "items": "forcecraft:red_chu_jelly" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/misc/slime_ball_from_chu_jelly.json b/src/generated/resources/data/forcecraft/advancement/recipes/misc/slime_ball_from_chu_jelly.json similarity index 92% rename from src/generated/resources/data/forcecraft/advancements/recipes/misc/slime_ball_from_chu_jelly.json rename to src/generated/resources/data/forcecraft/advancement/recipes/misc/slime_ball_from_chu_jelly.json index fc38a4b6..1840fe2b 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/misc/slime_ball_from_chu_jelly.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/misc/slime_ball_from_chu_jelly.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forcecraft:chu_jelly" + "items": "#forcecraft:chu_jelly" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/misc/spoils_bag.json b/src/generated/resources/data/forcecraft/advancement/recipes/misc/spoils_bag.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/misc/spoils_bag.json rename to src/generated/resources/data/forcecraft/advancement/recipes/misc/spoils_bag.json index 7589b58b..e874a082 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/misc/spoils_bag.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/misc/spoils_bag.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:life_card" - ] + "items": "forcecraft:life_card" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/misc/spoils_bag_t2.json b/src/generated/resources/data/forcecraft/advancement/recipes/misc/spoils_bag_t2.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/misc/spoils_bag_t2.json rename to src/generated/resources/data/forcecraft/advancement/recipes/misc/spoils_bag_t2.json index a84f8d6a..0f6eccfc 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/misc/spoils_bag_t2.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/misc/spoils_bag_t2.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:darkness_card" - ] + "items": "forcecraft:darkness_card" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/misc/spoils_bag_t3.json b/src/generated/resources/data/forcecraft/advancement/recipes/misc/spoils_bag_t3.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/misc/spoils_bag_t3.json rename to src/generated/resources/data/forcecraft/advancement/recipes/misc/spoils_bag_t3.json index 64d418dc..d3e15653 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/misc/spoils_bag_t3.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/misc/spoils_bag_t3.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:undeath_card" - ] + "items": "forcecraft:undeath_card" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/misc/treasure_core.json b/src/generated/resources/data/forcecraft/advancement/recipes/misc/treasure_core.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/misc/treasure_core.json rename to src/generated/resources/data/forcecraft/advancement/recipes/misc/treasure_core.json index 8b1d2b47..76bc1cea 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/misc/treasure_core.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/misc/treasure_core.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forge:gems/diamond" + "items": "#c:gems/diamond" } ] }, @@ -15,7 +15,7 @@ "conditions": { "items": [ { - "tag": "forge:ingots/force" + "items": "#c:ingots/force" } ] }, @@ -25,7 +25,7 @@ "conditions": { "items": [ { - "tag": "forge:storage_blocks/gold" + "items": "#c:storage_blocks/gold" } ] }, @@ -35,7 +35,7 @@ "conditions": { "items": [ { - "tag": "forge:nether_stars" + "items": "#c:nether_stars" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/misc/white_force_furnace_from_dye.json b/src/generated/resources/data/forcecraft/advancement/recipes/misc/white_force_furnace_from_dye.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/misc/white_force_furnace_from_dye.json rename to src/generated/resources/data/forcecraft/advancement/recipes/misc/white_force_furnace_from_dye.json index d68406a8..dfbbf4bf 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/misc/white_force_furnace_from_dye.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/misc/white_force_furnace_from_dye.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_furnace" - ] + "items": "forcecraft:force_furnace" } ] }, @@ -23,7 +21,7 @@ "conditions": { "items": [ { - "tag": "forge:dyes/white" + "items": "#c:dyes/white" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/redstone/force_engine.json b/src/generated/resources/data/forcecraft/advancement/recipes/redstone/force_engine.json similarity index 85% rename from src/generated/resources/data/forcecraft/advancements/recipes/redstone/force_engine.json rename to src/generated/resources/data/forcecraft/advancement/recipes/redstone/force_engine.json index e4a07118..d6e33a13 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/redstone/force_engine.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/redstone/force_engine.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forge:gears/force" + "items": "#c:gears/force" } ] }, @@ -15,7 +15,7 @@ "conditions": { "items": [ { - "tag": "forge:ingots/force" + "items": "#c:ingots/force" } ] }, @@ -25,7 +25,7 @@ "conditions": { "items": [ { - "tag": "forge:glass" + "items": "#c:glass_blocks" } ] }, @@ -35,9 +35,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:piston" - ] + "items": "minecraft:piston" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/redstone/force_furnace.json b/src/generated/resources/data/forcecraft/advancement/recipes/redstone/force_furnace.json similarity index 85% rename from src/generated/resources/data/forcecraft/advancements/recipes/redstone/force_furnace.json rename to src/generated/resources/data/forcecraft/advancement/recipes/redstone/force_furnace.json index 8af0a6ba..718ad528 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/redstone/force_furnace.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/redstone/force_furnace.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forge:ingots/force" + "items": "#c:ingots/force" } ] }, @@ -15,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:furnace" - ] + "items": "minecraft:furnace" } ] }, @@ -27,7 +25,7 @@ "conditions": { "items": [ { - "tag": "forge:ingots/iron" + "items": "#c:ingots/iron" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/tools/baconator.json b/src/generated/resources/data/forcecraft/advancement/recipes/tools/baconator.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/tools/baconator.json rename to src/generated/resources/data/forcecraft/advancement/recipes/tools/baconator.json index cd735d42..97527c86 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/tools/baconator.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/tools/baconator.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:pig_flask" - ] + "items": "forcecraft:pig_flask" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/tools/force_arrow.json b/src/generated/resources/data/forcecraft/advancement/recipes/tools/force_arrow.json similarity index 88% rename from src/generated/resources/data/forcecraft/advancements/recipes/tools/force_arrow.json rename to src/generated/resources/data/forcecraft/advancement/recipes/tools/force_arrow.json index c2753e62..87749220 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/tools/force_arrow.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/tools/force_arrow.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forge:feathers" + "items": "#c:feathers" } ] }, @@ -15,7 +15,7 @@ "conditions": { "items": [ { - "tag": "forge:nuggets/force" + "items": "#c:nuggets/force" } ] }, @@ -25,7 +25,7 @@ "conditions": { "items": [ { - "tag": "forge:rods/force" + "items": "#c:rods/force" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/tools/force_axe.json b/src/generated/resources/data/forcecraft/advancement/recipes/tools/force_axe.json similarity index 90% rename from src/generated/resources/data/forcecraft/advancements/recipes/tools/force_axe.json rename to src/generated/resources/data/forcecraft/advancement/recipes/tools/force_axe.json index 42b7159b..038e351e 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/tools/force_axe.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/tools/force_axe.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forge:ingots/force" + "items": "#c:ingots/force" } ] }, @@ -15,7 +15,7 @@ "conditions": { "items": [ { - "tag": "forge:rods/force" + "items": "#c:rods/force" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/tools/force_boots.json b/src/generated/resources/data/forcecraft/advancement/recipes/tools/force_boots.json similarity index 93% rename from src/generated/resources/data/forcecraft/advancements/recipes/tools/force_boots.json rename to src/generated/resources/data/forcecraft/advancement/recipes/tools/force_boots.json index 37bc51d6..3dab9380 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/tools/force_boots.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/tools/force_boots.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forge:ingots/force" + "items": "#c:ingots/force" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/tools/force_chest.json b/src/generated/resources/data/forcecraft/advancement/recipes/tools/force_chest.json similarity index 93% rename from src/generated/resources/data/forcecraft/advancements/recipes/tools/force_chest.json rename to src/generated/resources/data/forcecraft/advancement/recipes/tools/force_chest.json index a2b1182c..7b6d5166 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/tools/force_chest.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/tools/force_chest.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forge:ingots/force" + "items": "#c:ingots/force" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/tools/force_helmet.json b/src/generated/resources/data/forcecraft/advancement/recipes/tools/force_helmet.json similarity index 93% rename from src/generated/resources/data/forcecraft/advancements/recipes/tools/force_helmet.json rename to src/generated/resources/data/forcecraft/advancement/recipes/tools/force_helmet.json index a9ba4501..f7f3e27f 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/tools/force_helmet.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/tools/force_helmet.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forge:ingots/force" + "items": "#c:ingots/force" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/tools/force_legs.json b/src/generated/resources/data/forcecraft/advancement/recipes/tools/force_legs.json similarity index 92% rename from src/generated/resources/data/forcecraft/advancements/recipes/tools/force_legs.json rename to src/generated/resources/data/forcecraft/advancement/recipes/tools/force_legs.json index 686445dd..97bf1b39 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/tools/force_legs.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/tools/force_legs.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forge:ingots/force" + "items": "#c:ingots/force" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/tools/force_mitt.json b/src/generated/resources/data/forcecraft/advancement/recipes/tools/force_mitt.json similarity index 87% rename from src/generated/resources/data/forcecraft/advancements/recipes/tools/force_mitt.json rename to src/generated/resources/data/forcecraft/advancement/recipes/tools/force_mitt.json index 2beca00e..de82998c 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/tools/force_mitt.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/tools/force_mitt.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forge:cobblestone/normal" + "items": "#c:cobblestones/normal" } ] }, @@ -15,7 +15,7 @@ "conditions": { "items": [ { - "tag": "forge:ingots/force" + "items": "#c:ingots/force" } ] }, @@ -25,7 +25,7 @@ "conditions": { "items": [ { - "tag": "forge:ingots/iron" + "items": "#c:ingots/iron" } ] }, @@ -35,7 +35,7 @@ "conditions": { "items": [ { - "tag": "forge:leather" + "items": "#c:leathers" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/tools/force_pack.json b/src/generated/resources/data/forcecraft/advancement/recipes/tools/force_pack.json similarity index 88% rename from src/generated/resources/data/forcecraft/advancements/recipes/tools/force_pack.json rename to src/generated/resources/data/forcecraft/advancement/recipes/tools/force_pack.json index a2b14805..e1409486 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/tools/force_pack.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/tools/force_pack.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forge:ingots/force" + "items": "#c:ingots/force" } ] }, @@ -15,7 +15,7 @@ "conditions": { "items": [ { - "tag": "forge:leather" + "items": "#c:leathers" } ] }, @@ -25,7 +25,7 @@ "conditions": { "items": [ { - "tag": "minecraft:planks" + "items": "#minecraft:planks" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/tools/force_pickaxe.json b/src/generated/resources/data/forcecraft/advancement/recipes/tools/force_pickaxe.json similarity index 90% rename from src/generated/resources/data/forcecraft/advancements/recipes/tools/force_pickaxe.json rename to src/generated/resources/data/forcecraft/advancement/recipes/tools/force_pickaxe.json index 87d4be23..1d01420a 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/tools/force_pickaxe.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/tools/force_pickaxe.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forge:ingots/force" + "items": "#c:ingots/force" } ] }, @@ -15,7 +15,7 @@ "conditions": { "items": [ { - "tag": "forge:rods/force" + "items": "#c:rods/force" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/tools/force_rod.json b/src/generated/resources/data/forcecraft/advancement/recipes/tools/force_rod.json similarity index 88% rename from src/generated/resources/data/forcecraft/advancements/recipes/tools/force_rod.json rename to src/generated/resources/data/forcecraft/advancement/recipes/tools/force_rod.json index 9da62903..816d2158 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/tools/force_rod.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/tools/force_rod.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forge:ingots/force" + "items": "#c:ingots/force" } ] }, @@ -15,7 +15,7 @@ "conditions": { "items": [ { - "tag": "forge:nuggets/force" + "items": "#c:nuggets/force" } ] }, @@ -25,7 +25,7 @@ "conditions": { "items": [ { - "tag": "forge:rods/force" + "items": "#c:rods/force" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/tools/force_rod_from_stick.json b/src/generated/resources/data/forcecraft/advancement/recipes/tools/force_rod_from_stick.json similarity index 88% rename from src/generated/resources/data/forcecraft/advancements/recipes/tools/force_rod_from_stick.json rename to src/generated/resources/data/forcecraft/advancement/recipes/tools/force_rod_from_stick.json index d3d5c04e..c7ebed3f 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/tools/force_rod_from_stick.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/tools/force_rod_from_stick.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forge:ingots/force" + "items": "#c:ingots/force" } ] }, @@ -15,7 +15,7 @@ "conditions": { "items": [ { - "tag": "forge:nuggets/force" + "items": "#c:nuggets/force" } ] }, @@ -25,7 +25,7 @@ "conditions": { "items": [ { - "tag": "forge:rods/force" + "items": "#c:rods/force" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/tools/force_shears.json b/src/generated/resources/data/forcecraft/advancement/recipes/tools/force_shears.json similarity index 93% rename from src/generated/resources/data/forcecraft/advancements/recipes/tools/force_shears.json rename to src/generated/resources/data/forcecraft/advancement/recipes/tools/force_shears.json index 304d61db..145b4a90 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/tools/force_shears.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/tools/force_shears.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forge:ingots/force" + "items": "#c:ingots/force" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/tools/force_shovel.json b/src/generated/resources/data/forcecraft/advancement/recipes/tools/force_shovel.json similarity index 90% rename from src/generated/resources/data/forcecraft/advancements/recipes/tools/force_shovel.json rename to src/generated/resources/data/forcecraft/advancement/recipes/tools/force_shovel.json index 486e1d87..2da786a4 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/tools/force_shovel.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/tools/force_shovel.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forge:ingots/force" + "items": "#c:ingots/force" } ] }, @@ -15,7 +15,7 @@ "conditions": { "items": [ { - "tag": "forge:rods/force" + "items": "#c:rods/force" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/tools/force_wrench.json b/src/generated/resources/data/forcecraft/advancement/recipes/tools/force_wrench.json similarity index 90% rename from src/generated/resources/data/forcecraft/advancements/recipes/tools/force_wrench.json rename to src/generated/resources/data/forcecraft/advancement/recipes/tools/force_wrench.json index 11f76ba8..c20ceed3 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/tools/force_wrench.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/tools/force_wrench.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "forge:ingots/force" + "items": "#c:ingots/force" } ] }, @@ -15,7 +15,7 @@ "conditions": { "items": [ { - "tag": "forge:rods/force" + "items": "#c:rods/force" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/beef_to_porkchop.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/beef_to_porkchop.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/beef_to_porkchop.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/beef_to_porkchop.json index fa98f96f..d36fa481 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/beef_to_porkchop.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/beef_to_porkchop.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:beef" - ] + "items": "minecraft:beef" } ] }, @@ -17,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/brown_to_red_mushroom.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/brown_to_red_mushroom.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/brown_to_red_mushroom.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/brown_to_red_mushroom.json index 94e9b320..5423f469 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/brown_to_red_mushroom.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/brown_to_red_mushroom.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:brown_mushroom" - ] + "items": "minecraft:brown_mushroom" } ] }, @@ -17,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/chicken_to_beef.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/chicken_to_beef.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/chicken_to_beef.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/chicken_to_beef.json index f060a0a9..2c416f27 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/chicken_to_beef.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/chicken_to_beef.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:chicken" - ] + "items": "minecraft:chicken" } ] }, @@ -17,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/cooked_beef_to_porkchop.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/cooked_beef_to_porkchop.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/cooked_beef_to_porkchop.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/cooked_beef_to_porkchop.json index d006126e..2c0702bf 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/cooked_beef_to_porkchop.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/cooked_beef_to_porkchop.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:cooked_beef" - ] + "items": "minecraft:cooked_beef" } ] }, @@ -17,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/cooked_chicken_to_beef.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/cooked_chicken_to_beef.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/cooked_chicken_to_beef.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/cooked_chicken_to_beef.json index a0d4fc39..36118699 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/cooked_chicken_to_beef.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/cooked_chicken_to_beef.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:cooked_chicken" - ] + "items": "minecraft:cooked_chicken" } ] }, @@ -17,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/cooked_mutton_to_chicken.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/cooked_mutton_to_chicken.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/cooked_mutton_to_chicken.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/cooked_mutton_to_chicken.json index d3dd8111..fe3aea53 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/cooked_mutton_to_chicken.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/cooked_mutton_to_chicken.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:cooked_mutton" - ] + "items": "minecraft:cooked_mutton" } ] }, @@ -17,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/cooked_porkchop_to_mutton.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/cooked_porkchop_to_mutton.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/cooked_porkchop_to_mutton.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/cooked_porkchop_to_mutton.json index 77197acb..7a499f8a 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/cooked_porkchop_to_mutton.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/cooked_porkchop_to_mutton.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:cooked_porkchop" - ] + "items": "minecraft:cooked_porkchop" } ] }, @@ -17,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/dandelion_to_poppy.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/dandelion_to_poppy.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/dandelion_to_poppy.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/dandelion_to_poppy.json index 10883327..d8c4eea8 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/dandelion_to_poppy.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/dandelion_to_poppy.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:dandelion" - ] + "items": "minecraft:dandelion" } ] }, @@ -17,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/diamond_from_axe.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/diamond_from_axe.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/diamond_from_axe.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/diamond_from_axe.json index ea50d250..dac4b18d 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/diamond_from_axe.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/diamond_from_axe.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, @@ -23,9 +21,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:diamond_axe" - ] + "items": "minecraft:diamond_axe" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/diamond_from_boots.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/diamond_from_boots.json similarity index 82% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/diamond_from_boots.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/diamond_from_boots.json index 8e1f6d4c..42b3f0a7 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/diamond_from_boots.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/diamond_from_boots.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:diamond_boots" - ] + "items": "minecraft:diamond_boots" } ] }, @@ -17,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/diamond_from_chestplate.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/diamond_from_chestplate.json similarity index 82% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/diamond_from_chestplate.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/diamond_from_chestplate.json index 874d4402..744905f5 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/diamond_from_chestplate.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/diamond_from_chestplate.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:diamond_chestplate" - ] + "items": "minecraft:diamond_chestplate" } ] }, @@ -17,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/diamond_from_helmet.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/diamond_from_helmet.json similarity index 82% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/diamond_from_helmet.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/diamond_from_helmet.json index 259fe5a8..92f6e327 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/diamond_from_helmet.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/diamond_from_helmet.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:diamond_helmet" - ] + "items": "minecraft:diamond_helmet" } ] }, @@ -17,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/diamond_from_hoe.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/diamond_from_hoe.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/diamond_from_hoe.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/diamond_from_hoe.json index e260e638..b9d4492e 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/diamond_from_hoe.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/diamond_from_hoe.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, @@ -23,9 +21,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:diamond_hoe" - ] + "items": "minecraft:diamond_hoe" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/diamond_from_horse_armor.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/diamond_from_horse_armor.json similarity index 82% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/diamond_from_horse_armor.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/diamond_from_horse_armor.json index 79cfb26d..50273f19 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/diamond_from_horse_armor.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/diamond_from_horse_armor.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:diamond_horse_armor" - ] + "items": "minecraft:diamond_horse_armor" } ] }, @@ -17,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/diamond_from_leggings.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/diamond_from_leggings.json similarity index 82% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/diamond_from_leggings.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/diamond_from_leggings.json index 41fed6b1..a2780ef6 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/diamond_from_leggings.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/diamond_from_leggings.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:diamond_leggings" - ] + "items": "minecraft:diamond_leggings" } ] }, @@ -17,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/diamond_from_pickaxe.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/diamond_from_pickaxe.json similarity index 82% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/diamond_from_pickaxe.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/diamond_from_pickaxe.json index 41f07eac..11c18367 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/diamond_from_pickaxe.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/diamond_from_pickaxe.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, @@ -23,9 +21,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:diamond_pickaxe" - ] + "items": "minecraft:diamond_pickaxe" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/diamond_from_shovel.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/diamond_from_shovel.json similarity index 82% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/diamond_from_shovel.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/diamond_from_shovel.json index 50d4b8c1..d33088c5 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/diamond_from_shovel.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/diamond_from_shovel.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, @@ -23,9 +21,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:diamond_shovel" - ] + "items": "minecraft:diamond_shovel" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/diamond_from_sword.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/diamond_from_sword.json similarity index 82% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/diamond_from_sword.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/diamond_from_sword.json index 3cf20951..e2c3d006 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/diamond_from_sword.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/diamond_from_sword.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, @@ -23,9 +21,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:diamond_sword" - ] + "items": "minecraft:diamond_sword" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/experience_bottle_from_enchanted_book.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/experience_bottle_from_enchanted_book.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/experience_bottle_from_enchanted_book.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/experience_bottle_from_enchanted_book.json index d56894a8..bbe61671 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/experience_bottle_from_enchanted_book.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/experience_bottle_from_enchanted_book.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:enchanted_book" - ] + "items": "minecraft:enchanted_book" } ] }, @@ -17,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/force_brick_from_stone_bricks.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/force_brick_from_stone_bricks.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/force_brick_from_stone_bricks.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/force_brick_from_stone_bricks.json index 63dd1011..2c2554be 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/force_brick_from_stone_bricks.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/force_brick_from_stone_bricks.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, @@ -17,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:stone_bricks" - ] + "items": "minecraft:stone_bricks" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/force_sapling_from_sapling.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/force_sapling_from_sapling.json similarity index 86% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/force_sapling_from_sapling.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/force_sapling_from_sapling.json index ab706317..cba50842 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/force_sapling_from_sapling.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/force_sapling_from_sapling.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, @@ -17,7 +15,7 @@ "conditions": { "items": [ { - "tag": "minecraft:saplings" + "items": "#minecraft:saplings" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/fortune_from_fortune_cookie.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/fortune_from_fortune_cookie.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/fortune_from_fortune_cookie.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/fortune_from_fortune_cookie.json index 97f15606..0a56c141 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/fortune_from_fortune_cookie.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/fortune_from_fortune_cookie.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:fortune_cookie" - ] + "items": "forcecraft:fortune_cookie" } ] }, @@ -17,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/gold_ingot_from_axe.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/gold_ingot_from_axe.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/gold_ingot_from_axe.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/gold_ingot_from_axe.json index ed642c7e..c9a9719c 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/gold_ingot_from_axe.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/gold_ingot_from_axe.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, @@ -23,9 +21,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:golden_axe" - ] + "items": "minecraft:golden_axe" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/gold_ingot_from_boots.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/gold_ingot_from_boots.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/gold_ingot_from_boots.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/gold_ingot_from_boots.json index 6eb51d12..dd84d9ee 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/gold_ingot_from_boots.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/gold_ingot_from_boots.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:golden_boots" - ] + "items": "minecraft:golden_boots" } ] }, @@ -17,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/gold_ingot_from_chestplate.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/gold_ingot_from_chestplate.json similarity index 82% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/gold_ingot_from_chestplate.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/gold_ingot_from_chestplate.json index e96d47b1..fb5be9a8 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/gold_ingot_from_chestplate.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/gold_ingot_from_chestplate.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:golden_chestplate" - ] + "items": "minecraft:golden_chestplate" } ] }, @@ -17,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/gold_ingot_from_clock.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/gold_ingot_from_clock.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/gold_ingot_from_clock.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/gold_ingot_from_clock.json index 2d1ef21a..328b5d9f 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/gold_ingot_from_clock.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/gold_ingot_from_clock.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:clock" - ] + "items": "minecraft:clock" } ] }, @@ -17,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/gold_ingot_from_helmet.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/gold_ingot_from_helmet.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/gold_ingot_from_helmet.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/gold_ingot_from_helmet.json index a79d5d76..4ff0a0fd 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/gold_ingot_from_helmet.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/gold_ingot_from_helmet.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:golden_helmet" - ] + "items": "minecraft:golden_helmet" } ] }, @@ -17,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/gold_ingot_from_hoe.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/gold_ingot_from_hoe.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/gold_ingot_from_hoe.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/gold_ingot_from_hoe.json index 71e5081b..f6161af7 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/gold_ingot_from_hoe.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/gold_ingot_from_hoe.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, @@ -23,9 +21,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:golden_hoe" - ] + "items": "minecraft:golden_hoe" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/gold_ingot_from_horse_armor.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/gold_ingot_from_horse_armor.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/gold_ingot_from_horse_armor.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/gold_ingot_from_horse_armor.json index e2115a87..1a865d8e 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/gold_ingot_from_horse_armor.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/gold_ingot_from_horse_armor.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:golden_horse_armor" - ] + "items": "minecraft:golden_horse_armor" } ] }, @@ -17,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/gold_ingot_from_leggings.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/gold_ingot_from_leggings.json similarity index 82% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/gold_ingot_from_leggings.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/gold_ingot_from_leggings.json index 9ac7e2a3..5f8a971d 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/gold_ingot_from_leggings.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/gold_ingot_from_leggings.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:golden_leggings" - ] + "items": "minecraft:golden_leggings" } ] }, @@ -17,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/gold_ingot_from_pickaxe.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/gold_ingot_from_pickaxe.json similarity index 82% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/gold_ingot_from_pickaxe.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/gold_ingot_from_pickaxe.json index bd699ac9..462b9c44 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/gold_ingot_from_pickaxe.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/gold_ingot_from_pickaxe.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, @@ -23,9 +21,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:golden_pickaxe" - ] + "items": "minecraft:golden_pickaxe" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/gold_ingot_from_shovel.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/gold_ingot_from_shovel.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/gold_ingot_from_shovel.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/gold_ingot_from_shovel.json index 63a5f7f3..5ade20a5 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/gold_ingot_from_shovel.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/gold_ingot_from_shovel.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, @@ -23,9 +21,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:golden_shovel" - ] + "items": "minecraft:golden_shovel" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/gold_ingot_from_sword.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/gold_ingot_from_sword.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/gold_ingot_from_sword.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/gold_ingot_from_sword.json index fa9a13d1..a3875c9b 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/gold_ingot_from_sword.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/gold_ingot_from_sword.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, @@ -23,9 +21,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:golden_sword" - ] + "items": "minecraft:golden_sword" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/infuser_from_enchanting_table.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/infuser_from_enchanting_table.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/infuser_from_enchanting_table.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/infuser_from_enchanting_table.json index 808c67ab..a6622275 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/infuser_from_enchanting_table.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/infuser_from_enchanting_table.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:enchanting_table" - ] + "items": "minecraft:enchanting_table" } ] }, @@ -17,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/irom_ingot_from_cauldron.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/irom_ingot_from_cauldron.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/irom_ingot_from_cauldron.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/irom_ingot_from_cauldron.json index cb48dc37..d5af77ac 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/irom_ingot_from_cauldron.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/irom_ingot_from_cauldron.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:cauldron" - ] + "items": "minecraft:cauldron" } ] }, @@ -17,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/irom_ingot_from_compass.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/irom_ingot_from_compass.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/irom_ingot_from_compass.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/irom_ingot_from_compass.json index b672ef4d..966e3c11 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/irom_ingot_from_compass.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/irom_ingot_from_compass.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:compass" - ] + "items": "minecraft:compass" } ] }, @@ -17,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_anvil.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_anvil.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_anvil.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_anvil.json index 098782a6..830fbcbc 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_anvil.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_anvil.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:anvil" - ] + "items": "minecraft:anvil" } ] }, @@ -17,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_axe.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_axe.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_axe.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_axe.json index e7471113..b62bb71b 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_axe.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_axe.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, @@ -23,9 +21,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:iron_axe" - ] + "items": "minecraft:iron_axe" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_boots.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_boots.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_boots.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_boots.json index 9541a8f3..19ef5372 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_boots.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_boots.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:iron_boots" - ] + "items": "minecraft:iron_boots" } ] }, @@ -17,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_bucket.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_bucket.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_bucket.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_bucket.json index d9e4a217..1dc9f7d9 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_bucket.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_bucket.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:bucket" - ] + "items": "minecraft:bucket" } ] }, @@ -17,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_chainmail_boots.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_chainmail_boots.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_chainmail_boots.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_chainmail_boots.json index d9167bd7..bbe9a62f 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_chainmail_boots.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_chainmail_boots.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:chainmail_boots" - ] + "items": "minecraft:chainmail_boots" } ] }, @@ -17,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_chainmail_chestplate.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_chainmail_chestplate.json similarity index 82% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_chainmail_chestplate.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_chainmail_chestplate.json index caa17d26..6a4f4811 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_chainmail_chestplate.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_chainmail_chestplate.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:chainmail_chestplate" - ] + "items": "minecraft:chainmail_chestplate" } ] }, @@ -17,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_chainmail_helmet.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_chainmail_helmet.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_chainmail_helmet.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_chainmail_helmet.json index 5a3a9586..ce0f1688 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_chainmail_helmet.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_chainmail_helmet.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:chainmail_helmet" - ] + "items": "minecraft:chainmail_helmet" } ] }, @@ -17,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_chainmail_leggings.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_chainmail_leggings.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_chainmail_leggings.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_chainmail_leggings.json index 282908aa..73789943 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_chainmail_leggings.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_chainmail_leggings.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:chainmail_leggings" - ] + "items": "minecraft:chainmail_leggings" } ] }, @@ -17,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_chestplate.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_chestplate.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_chestplate.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_chestplate.json index 366a5eff..25eea7fa 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_chestplate.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_chestplate.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:iron_chestplate" - ] + "items": "minecraft:iron_chestplate" } ] }, @@ -17,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_door.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_door.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_door.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_door.json index 02768c56..b01857f0 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_door.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_door.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:iron_door" - ] + "items": "minecraft:iron_door" } ] }, @@ -17,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_helmet.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_helmet.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_helmet.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_helmet.json index a943464f..36a68eaf 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_helmet.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_helmet.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:iron_helmet" - ] + "items": "minecraft:iron_helmet" } ] }, @@ -17,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_hoe.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_hoe.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_hoe.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_hoe.json index b94466ca..d8ab6866 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_hoe.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_hoe.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, @@ -23,9 +21,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:iron_hoe" - ] + "items": "minecraft:iron_hoe" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_horse_armor.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_horse_armor.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_horse_armor.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_horse_armor.json index d5c18d9a..201ef199 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_horse_armor.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_horse_armor.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:iron_horse_armor" - ] + "items": "minecraft:iron_horse_armor" } ] }, @@ -17,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_leggings.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_leggings.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_leggings.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_leggings.json index 31aa49f8..243f7c96 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_leggings.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_leggings.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:iron_leggings" - ] + "items": "minecraft:iron_leggings" } ] }, @@ -17,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_minecart.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_minecart.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_minecart.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_minecart.json index edf4dab3..4b9d58c5 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_minecart.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_minecart.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:minecart" - ] + "items": "minecraft:minecart" } ] }, @@ -17,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_pickaxe.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_pickaxe.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_pickaxe.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_pickaxe.json index ce151296..fbb8843e 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_pickaxe.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_pickaxe.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, @@ -23,9 +21,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:iron_pickaxe" - ] + "items": "minecraft:iron_pickaxe" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_shovel.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_shovel.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_shovel.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_shovel.json index c3bbb948..789b4e7d 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_shovel.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_shovel.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, @@ -23,9 +21,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:iron_shovel" - ] + "items": "minecraft:iron_shovel" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_sword.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_sword.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_sword.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_sword.json index 4849dd60..642a4fa7 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/iron_ingot_from_sword.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/iron_ingot_from_sword.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, @@ -23,9 +21,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:iron_sword" - ] + "items": "minecraft:iron_sword" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/mutton_to_chicken.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/mutton_to_chicken.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/mutton_to_chicken.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/mutton_to_chicken.json index f843961c..bf7dad50 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/mutton_to_chicken.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/mutton_to_chicken.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:mutton" - ] + "items": "minecraft:mutton" } ] }, @@ -17,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/poppy_to_dandelion.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/poppy_to_dandelion.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/poppy_to_dandelion.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/poppy_to_dandelion.json index 8c380804..87a3bd5a 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/poppy_to_dandelion.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/poppy_to_dandelion.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:poppy" - ] + "items": "minecraft:poppy" } ] }, @@ -17,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/porkchop_to_mutton.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/porkchop_to_mutton.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/porkchop_to_mutton.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/porkchop_to_mutton.json index 8314f7f4..0eb3dd2d 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/porkchop_to_mutton.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/porkchop_to_mutton.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:porkchop" - ] + "items": "minecraft:porkchop" } ] }, @@ -17,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/red_to_brown_mushroom.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/red_to_brown_mushroom.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/red_to_brown_mushroom.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/red_to_brown_mushroom.json index a0ea7480..02889691 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/red_to_brown_mushroom.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/red_to_brown_mushroom.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:red_mushroom" - ] + "items": "minecraft:red_mushroom" } ] }, @@ -17,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/stick_from_stone_axe.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/stick_from_stone_axe.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/stick_from_stone_axe.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/stick_from_stone_axe.json index 658967de..63dd2f81 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/stick_from_stone_axe.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/stick_from_stone_axe.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, @@ -23,9 +21,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:stone_axe" - ] + "items": "minecraft:stone_axe" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/stick_from_stone_hoe.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/stick_from_stone_hoe.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/stick_from_stone_hoe.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/stick_from_stone_hoe.json index 0b1aeadc..7d99cf5c 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/stick_from_stone_hoe.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/stick_from_stone_hoe.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, @@ -23,9 +21,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:stone_hoe" - ] + "items": "minecraft:stone_hoe" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/stick_from_stone_pickaxe.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/stick_from_stone_pickaxe.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/stick_from_stone_pickaxe.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/stick_from_stone_pickaxe.json index 9a4d15fc..3aa91f54 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/stick_from_stone_pickaxe.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/stick_from_stone_pickaxe.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, @@ -23,9 +21,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:stone_pickaxe" - ] + "items": "minecraft:stone_pickaxe" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/stick_from_stone_shovel.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/stick_from_stone_shovel.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/stick_from_stone_shovel.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/stick_from_stone_shovel.json index aeb4b487..07d0a2c4 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/stick_from_stone_shovel.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/stick_from_stone_shovel.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, @@ -23,9 +21,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:stone_shovel" - ] + "items": "minecraft:stone_shovel" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/stick_from_stone_sword.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/stick_from_stone_sword.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/stick_from_stone_sword.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/stick_from_stone_sword.json index fee20cb9..c509ba63 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/stick_from_stone_sword.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/stick_from_stone_sword.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, @@ -23,9 +21,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:stone_sword" - ] + "items": "minecraft:stone_sword" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/stick_from_wooden_axe.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/stick_from_wooden_axe.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/stick_from_wooden_axe.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/stick_from_wooden_axe.json index 97ccc95e..4f593599 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/stick_from_wooden_axe.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/stick_from_wooden_axe.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, @@ -23,9 +21,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:wooden_axe" - ] + "items": "minecraft:wooden_axe" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/stick_from_wooden_hoe.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/stick_from_wooden_hoe.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/stick_from_wooden_hoe.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/stick_from_wooden_hoe.json index 70586b8e..ac7faa22 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/stick_from_wooden_hoe.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/stick_from_wooden_hoe.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, @@ -23,9 +21,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:wooden_hoe" - ] + "items": "minecraft:wooden_hoe" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/stick_from_wooden_pickaxe.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/stick_from_wooden_pickaxe.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/stick_from_wooden_pickaxe.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/stick_from_wooden_pickaxe.json index 374a7857..7c90cf15 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/stick_from_wooden_pickaxe.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/stick_from_wooden_pickaxe.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, @@ -23,9 +21,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:wooden_pickaxe" - ] + "items": "minecraft:wooden_pickaxe" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/stick_from_wooden_shovel.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/stick_from_wooden_shovel.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/stick_from_wooden_shovel.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/stick_from_wooden_shovel.json index fa0b3ed9..a779cd8a 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/stick_from_wooden_shovel.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/stick_from_wooden_shovel.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, @@ -23,9 +21,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:wooden_shovel" - ] + "items": "minecraft:wooden_shovel" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/stick_from_wooden_sword.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/stick_from_wooden_sword.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/stick_from_wooden_sword.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/stick_from_wooden_sword.json index bed3a89f..ba8bf18e 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/stick_from_wooden_sword.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/stick_from_wooden_sword.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, @@ -23,9 +21,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:wooden_sword" - ] + "items": "minecraft:wooden_sword" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/string_from_bow.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/string_from_bow.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/string_from_bow.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/string_from_bow.json index 69a6a3b0..b3d537a2 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/string_from_bow.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/string_from_bow.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:bow" - ] + "items": "minecraft:bow" } ] }, @@ -17,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/tripwire_hook_from_crossbow.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/tripwire_hook_from_crossbow.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/tripwire_hook_from_crossbow.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/tripwire_hook_from_crossbow.json index 46b9e737..03922b30 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/tripwire_hook_from_crossbow.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/tripwire_hook_from_crossbow.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:crossbow" - ] + "items": "minecraft:crossbow" } ] }, @@ -17,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/upgrade_core.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/upgrade_core.json similarity index 82% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/upgrade_core.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/upgrade_core.json index 790119fb..f87c1da8 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/upgrade_core.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/upgrade_core.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:experience_tome" - ] + "items": "forcecraft:experience_tome" } ] }, @@ -17,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, diff --git a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/upgrade_tome.json b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/upgrade_tome.json similarity index 83% rename from src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/upgrade_tome.json rename to src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/upgrade_tome.json index fdfba03a..a1abb47e 100644 --- a/src/generated/resources/data/forcecraft/advancements/recipes/transmutation/transmutation/upgrade_tome.json +++ b/src/generated/resources/data/forcecraft/advancement/recipes/transmutation/transmutation/upgrade_tome.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:book" - ] + "items": "minecraft:book" } ] }, @@ -17,9 +15,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:force_rod" - ] + "items": "forcecraft:force_rod" } ] }, diff --git a/src/generated/resources/data/forcecraft/loot_modifiers/smelting.json b/src/generated/resources/data/forcecraft/loot_modifiers/smelting.json index 6b9fb3c9..e9fddab4 100644 --- a/src/generated/resources/data/forcecraft/loot_modifiers/smelting.json +++ b/src/generated/resources/data/forcecraft/loot_modifiers/smelting.json @@ -4,7 +4,7 @@ { "condition": "minecraft:match_tool", "predicate": { - "tag": "forcecraft:tools" + "items": "#forcecraft:tools" } } ] diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/black_force_furnace.json b/src/generated/resources/data/forcecraft/loot_table/blocks/black_force_furnace.json similarity index 78% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/black_force_furnace.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/black_force_furnace.json index 51d1a1bc..bce5c359 100644 --- a/src/generated/resources/data/forcecraft/loot_tables/blocks/black_force_furnace.json +++ b/src/generated/resources/data/forcecraft/loot_table/blocks/black_force_furnace.json @@ -13,7 +13,10 @@ "type": "minecraft:item", "functions": [ { - "function": "minecraft:copy_name", + "function": "minecraft:copy_components", + "include": [ + "minecraft:custom_name" + ], "source": "block_entity" } ], diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/blue_force_furnace.json b/src/generated/resources/data/forcecraft/loot_table/blocks/blue_force_furnace.json similarity index 78% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/blue_force_furnace.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/blue_force_furnace.json index eca2707f..6882b50a 100644 --- a/src/generated/resources/data/forcecraft/loot_tables/blocks/blue_force_furnace.json +++ b/src/generated/resources/data/forcecraft/loot_table/blocks/blue_force_furnace.json @@ -13,7 +13,10 @@ "type": "minecraft:item", "functions": [ { - "function": "minecraft:copy_name", + "function": "minecraft:copy_components", + "include": [ + "minecraft:custom_name" + ], "source": "block_entity" } ], diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/brown_force_furnace.json b/src/generated/resources/data/forcecraft/loot_table/blocks/brown_force_furnace.json similarity index 78% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/brown_force_furnace.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/brown_force_furnace.json index 4b03512c..f77419be 100644 --- a/src/generated/resources/data/forcecraft/loot_tables/blocks/brown_force_furnace.json +++ b/src/generated/resources/data/forcecraft/loot_table/blocks/brown_force_furnace.json @@ -13,7 +13,10 @@ "type": "minecraft:item", "functions": [ { - "function": "minecraft:copy_name", + "function": "minecraft:copy_components", + "include": [ + "minecraft:custom_name" + ], "source": "block_entity" } ], diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/cyan_force_furnace.json b/src/generated/resources/data/forcecraft/loot_table/blocks/cyan_force_furnace.json similarity index 78% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/cyan_force_furnace.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/cyan_force_furnace.json index ba27a131..5e550f0b 100644 --- a/src/generated/resources/data/forcecraft/loot_tables/blocks/cyan_force_furnace.json +++ b/src/generated/resources/data/forcecraft/loot_table/blocks/cyan_force_furnace.json @@ -13,7 +13,10 @@ "type": "minecraft:item", "functions": [ { - "function": "minecraft:copy_name", + "function": "minecraft:copy_components", + "include": [ + "minecraft:custom_name" + ], "source": "block_entity" } ], diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/deepslate_power_ore.json b/src/generated/resources/data/forcecraft/loot_table/blocks/deepslate_power_ore.json similarity index 81% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/deepslate_power_ore.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/deepslate_power_ore.json index 3f634da1..740da2d4 100644 --- a/src/generated/resources/data/forcecraft/loot_tables/blocks/deepslate_power_ore.json +++ b/src/generated/resources/data/forcecraft/loot_table/blocks/deepslate_power_ore.json @@ -13,14 +13,16 @@ { "condition": "minecraft:match_tool", "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } } - } - ] + ] + } } } ], diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_black_torch.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_black_torch.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_black_torch.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_black_torch.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_blue_torch.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_blue_torch.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_blue_torch.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_blue_torch.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_brick.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_brick.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_black.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_black.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_black.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_black.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_black_slab.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_black_slab.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_black_slab.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_black_slab.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_black_stairs.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_black_stairs.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_black_stairs.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_black_stairs.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_blue.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_blue.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_blue.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_blue.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_blue_slab.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_blue_slab.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_blue_slab.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_blue_slab.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_blue_stairs.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_blue_stairs.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_blue_stairs.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_blue_stairs.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_brown.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_brown.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_brown.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_brown.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_brown_slab.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_brown_slab.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_brown_slab.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_brown_slab.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_brown_stairs.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_brown_stairs.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_brown_stairs.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_brown_stairs.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_cyan.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_cyan.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_cyan.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_cyan.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_cyan_slab.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_cyan_slab.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_cyan_slab.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_cyan_slab.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_cyan_stairs.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_cyan_stairs.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_cyan_stairs.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_cyan_stairs.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_gray.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_gray.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_gray.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_gray.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_gray_slab.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_gray_slab.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_gray_slab.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_gray_slab.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_gray_stairs.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_gray_stairs.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_gray_stairs.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_gray_stairs.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_green.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_green.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_green.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_green.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_green_slab.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_green_slab.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_green_slab.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_green_slab.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_green_stairs.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_green_stairs.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_green_stairs.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_green_stairs.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_light_blue.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_light_blue.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_light_blue.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_light_blue.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_light_blue_slab.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_light_blue_slab.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_light_blue_slab.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_light_blue_slab.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_light_blue_stairs.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_light_blue_stairs.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_light_blue_stairs.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_light_blue_stairs.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_light_gray.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_light_gray.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_light_gray.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_light_gray.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_light_gray_slab.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_light_gray_slab.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_light_gray_slab.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_light_gray_slab.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_light_gray_stairs.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_light_gray_stairs.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_light_gray_stairs.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_light_gray_stairs.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_lime.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_lime.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_lime.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_lime.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_lime_slab.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_lime_slab.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_lime_slab.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_lime_slab.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_lime_stairs.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_lime_stairs.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_lime_stairs.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_lime_stairs.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_magenta.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_magenta.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_magenta.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_magenta.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_magenta_slab.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_magenta_slab.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_magenta_slab.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_magenta_slab.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_magenta_stairs.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_magenta_stairs.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_magenta_stairs.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_magenta_stairs.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_orange.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_orange.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_orange.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_orange.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_orange_slab.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_orange_slab.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_orange_slab.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_orange_slab.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_orange_stairs.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_orange_stairs.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_orange_stairs.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_orange_stairs.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_pink.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_pink.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_pink.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_pink.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_pink_slab.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_pink_slab.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_pink_slab.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_pink_slab.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_pink_stairs.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_pink_stairs.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_pink_stairs.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_pink_stairs.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_purple.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_purple.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_purple.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_purple.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_purple_slab.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_purple_slab.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_purple_slab.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_purple_slab.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_purple_stairs.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_purple_stairs.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_purple_stairs.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_purple_stairs.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_red.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_red.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_red.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_red.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_red_slab.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_red_slab.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_red_slab.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_red_slab.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_red_stairs.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_red_stairs.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_red_stairs.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_red_stairs.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_slab.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_slab.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_slab.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_slab.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_stairs.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_stairs.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_stairs.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_stairs.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_white.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_white.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_white.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_white.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_white_slab.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_white_slab.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_white_slab.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_white_slab.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_white_stairs.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_white_stairs.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_white_stairs.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_white_stairs.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_yellow.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_yellow.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_yellow.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_yellow.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_yellow_slab.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_yellow_slab.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_yellow_slab.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_yellow_slab.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_yellow_stairs.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_yellow_stairs.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_brick_yellow_stairs.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_brick_yellow_stairs.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_brown_torch.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_brown_torch.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_brown_torch.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_brown_torch.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_cyan_torch.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_cyan_torch.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_cyan_torch.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_cyan_torch.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_engine.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_engine.json similarity index 78% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_engine.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_engine.json index cdce0665..76526740 100644 --- a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_engine.json +++ b/src/generated/resources/data/forcecraft/loot_table/blocks/force_engine.json @@ -13,7 +13,10 @@ "type": "minecraft:item", "functions": [ { - "function": "minecraft:copy_name", + "function": "minecraft:copy_components", + "include": [ + "minecraft:custom_name" + ], "source": "block_entity" } ], diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_furnace.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_furnace.json similarity index 78% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_furnace.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_furnace.json index 399bdc6f..ca200779 100644 --- a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_furnace.json +++ b/src/generated/resources/data/forcecraft/loot_table/blocks/force_furnace.json @@ -13,7 +13,10 @@ "type": "minecraft:item", "functions": [ { - "function": "minecraft:copy_name", + "function": "minecraft:copy_components", + "include": [ + "minecraft:custom_name" + ], "source": "block_entity" } ], diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_gray_torch.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_gray_torch.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_gray_torch.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_gray_torch.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_green_torch.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_green_torch.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_green_torch.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_green_torch.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_leaves.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_leaves.json similarity index 78% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_leaves.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_leaves.json index 6db7f989..0e019c51 100644 --- a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_leaves.json +++ b/src/generated/resources/data/forcecraft/loot_table/blocks/force_leaves.json @@ -16,22 +16,22 @@ { "condition": "minecraft:match_tool", "predicate": { - "items": [ - "minecraft:shears" - ] + "items": "minecraft:shears" } }, { "condition": "minecraft:match_tool", "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } } - } - ] + ] + } } } ] @@ -74,22 +74,22 @@ { "condition": "minecraft:match_tool", "predicate": { - "items": [ - "minecraft:shears" - ] + "items": "minecraft:shears" } }, { "condition": "minecraft:match_tool", "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } } - } - ] + ] + } } } ] @@ -142,22 +142,22 @@ { "condition": "minecraft:match_tool", "predicate": { - "items": [ - "minecraft:shears" - ] + "items": "minecraft:shears" } }, { "condition": "minecraft:match_tool", "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } } - } - ] + ] + } } } ] diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_light_blue_torch.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_light_blue_torch.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_light_blue_torch.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_light_blue_torch.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_light_gray_torch.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_light_gray_torch.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_light_gray_torch.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_light_gray_torch.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_lime_torch.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_lime_torch.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_lime_torch.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_lime_torch.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_log.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_log.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_log.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_log.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_magenta_torch.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_magenta_torch.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_magenta_torch.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_magenta_torch.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_orange_torch.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_orange_torch.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_orange_torch.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_orange_torch.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_pink_torch.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_pink_torch.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_pink_torch.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_pink_torch.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_plank_slab.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_plank_slab.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_plank_slab.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_plank_slab.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_plank_stairs.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_plank_stairs.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_plank_stairs.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_plank_stairs.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_planks.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_planks.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_planks.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_planks.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_purple_torch.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_purple_torch.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_purple_torch.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_purple_torch.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_red_torch.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_red_torch.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_red_torch.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_red_torch.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_sapling.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_sapling.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_sapling.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_sapling.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_torch.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_torch.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_torch.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_torch.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_white_torch.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_white_torch.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_white_torch.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_white_torch.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/force_wood.json b/src/generated/resources/data/forcecraft/loot_table/blocks/force_wood.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/force_wood.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/force_wood.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/gray_force_furnace.json b/src/generated/resources/data/forcecraft/loot_table/blocks/gray_force_furnace.json similarity index 78% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/gray_force_furnace.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/gray_force_furnace.json index f68de978..67f5ce20 100644 --- a/src/generated/resources/data/forcecraft/loot_tables/blocks/gray_force_furnace.json +++ b/src/generated/resources/data/forcecraft/loot_table/blocks/gray_force_furnace.json @@ -13,7 +13,10 @@ "type": "minecraft:item", "functions": [ { - "function": "minecraft:copy_name", + "function": "minecraft:copy_components", + "include": [ + "minecraft:custom_name" + ], "source": "block_entity" } ], diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/green_force_furnace.json b/src/generated/resources/data/forcecraft/loot_table/blocks/green_force_furnace.json similarity index 78% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/green_force_furnace.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/green_force_furnace.json index 2c56ee08..8ec99be6 100644 --- a/src/generated/resources/data/forcecraft/loot_tables/blocks/green_force_furnace.json +++ b/src/generated/resources/data/forcecraft/loot_table/blocks/green_force_furnace.json @@ -13,7 +13,10 @@ "type": "minecraft:item", "functions": [ { - "function": "minecraft:copy_name", + "function": "minecraft:copy_components", + "include": [ + "minecraft:custom_name" + ], "source": "block_entity" } ], diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/infuser.json b/src/generated/resources/data/forcecraft/loot_table/blocks/infuser.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/infuser.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/infuser.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/light_blue_force_furnace.json b/src/generated/resources/data/forcecraft/loot_table/blocks/light_blue_force_furnace.json similarity index 79% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/light_blue_force_furnace.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/light_blue_force_furnace.json index fa0bf618..606db198 100644 --- a/src/generated/resources/data/forcecraft/loot_tables/blocks/light_blue_force_furnace.json +++ b/src/generated/resources/data/forcecraft/loot_table/blocks/light_blue_force_furnace.json @@ -13,7 +13,10 @@ "type": "minecraft:item", "functions": [ { - "function": "minecraft:copy_name", + "function": "minecraft:copy_components", + "include": [ + "minecraft:custom_name" + ], "source": "block_entity" } ], diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/light_gray_force_furnace.json b/src/generated/resources/data/forcecraft/loot_table/blocks/light_gray_force_furnace.json similarity index 79% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/light_gray_force_furnace.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/light_gray_force_furnace.json index eaeb226b..2bc8f938 100644 --- a/src/generated/resources/data/forcecraft/loot_tables/blocks/light_gray_force_furnace.json +++ b/src/generated/resources/data/forcecraft/loot_table/blocks/light_gray_force_furnace.json @@ -13,7 +13,10 @@ "type": "minecraft:item", "functions": [ { - "function": "minecraft:copy_name", + "function": "minecraft:copy_components", + "include": [ + "minecraft:custom_name" + ], "source": "block_entity" } ], diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/lime_force_furnace.json b/src/generated/resources/data/forcecraft/loot_table/blocks/lime_force_furnace.json similarity index 78% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/lime_force_furnace.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/lime_force_furnace.json index ea7ab12a..01167f4b 100644 --- a/src/generated/resources/data/forcecraft/loot_tables/blocks/lime_force_furnace.json +++ b/src/generated/resources/data/forcecraft/loot_table/blocks/lime_force_furnace.json @@ -13,7 +13,10 @@ "type": "minecraft:item", "functions": [ { - "function": "minecraft:copy_name", + "function": "minecraft:copy_components", + "include": [ + "minecraft:custom_name" + ], "source": "block_entity" } ], diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/magenta_force_furnace.json b/src/generated/resources/data/forcecraft/loot_table/blocks/magenta_force_furnace.json similarity index 78% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/magenta_force_furnace.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/magenta_force_furnace.json index 6d3c940e..36c271a3 100644 --- a/src/generated/resources/data/forcecraft/loot_tables/blocks/magenta_force_furnace.json +++ b/src/generated/resources/data/forcecraft/loot_table/blocks/magenta_force_furnace.json @@ -13,7 +13,10 @@ "type": "minecraft:item", "functions": [ { - "function": "minecraft:copy_name", + "function": "minecraft:copy_components", + "include": [ + "minecraft:custom_name" + ], "source": "block_entity" } ], diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/orange_force_furnace.json b/src/generated/resources/data/forcecraft/loot_table/blocks/orange_force_furnace.json similarity index 78% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/orange_force_furnace.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/orange_force_furnace.json index 5b4ca373..9de8eec4 100644 --- a/src/generated/resources/data/forcecraft/loot_tables/blocks/orange_force_furnace.json +++ b/src/generated/resources/data/forcecraft/loot_table/blocks/orange_force_furnace.json @@ -13,7 +13,10 @@ "type": "minecraft:item", "functions": [ { - "function": "minecraft:copy_name", + "function": "minecraft:copy_components", + "include": [ + "minecraft:custom_name" + ], "source": "block_entity" } ], diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/pink_force_furnace.json b/src/generated/resources/data/forcecraft/loot_table/blocks/pink_force_furnace.json similarity index 78% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/pink_force_furnace.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/pink_force_furnace.json index 94fee7c8..20d9ad98 100644 --- a/src/generated/resources/data/forcecraft/loot_tables/blocks/pink_force_furnace.json +++ b/src/generated/resources/data/forcecraft/loot_table/blocks/pink_force_furnace.json @@ -13,7 +13,10 @@ "type": "minecraft:item", "functions": [ { - "function": "minecraft:copy_name", + "function": "minecraft:copy_components", + "include": [ + "minecraft:custom_name" + ], "source": "block_entity" } ], diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/power_ore.json b/src/generated/resources/data/forcecraft/loot_table/blocks/power_ore.json similarity index 81% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/power_ore.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/power_ore.json index a178fb18..0145d111 100644 --- a/src/generated/resources/data/forcecraft/loot_tables/blocks/power_ore.json +++ b/src/generated/resources/data/forcecraft/loot_table/blocks/power_ore.json @@ -13,14 +13,16 @@ { "condition": "minecraft:match_tool", "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } } - } - ] + ] + } } } ], diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/purple_force_furnace.json b/src/generated/resources/data/forcecraft/loot_table/blocks/purple_force_furnace.json similarity index 78% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/purple_force_furnace.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/purple_force_furnace.json index bb7ffe36..2d4a0307 100644 --- a/src/generated/resources/data/forcecraft/loot_tables/blocks/purple_force_furnace.json +++ b/src/generated/resources/data/forcecraft/loot_table/blocks/purple_force_furnace.json @@ -13,7 +13,10 @@ "type": "minecraft:item", "functions": [ { - "function": "minecraft:copy_name", + "function": "minecraft:copy_components", + "include": [ + "minecraft:custom_name" + ], "source": "block_entity" } ], diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/red_force_furnace.json b/src/generated/resources/data/forcecraft/loot_table/blocks/red_force_furnace.json similarity index 78% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/red_force_furnace.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/red_force_furnace.json index d83f5712..b2dffbd5 100644 --- a/src/generated/resources/data/forcecraft/loot_tables/blocks/red_force_furnace.json +++ b/src/generated/resources/data/forcecraft/loot_table/blocks/red_force_furnace.json @@ -13,7 +13,10 @@ "type": "minecraft:item", "functions": [ { - "function": "minecraft:copy_name", + "function": "minecraft:copy_components", + "include": [ + "minecraft:custom_name" + ], "source": "block_entity" } ], diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/time_torch.json b/src/generated/resources/data/forcecraft/loot_table/blocks/time_torch.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/time_torch.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/time_torch.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/wall_force_black_torch.json b/src/generated/resources/data/forcecraft/loot_table/blocks/wall_force_black_torch.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/wall_force_black_torch.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/wall_force_black_torch.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/wall_force_blue_torch.json b/src/generated/resources/data/forcecraft/loot_table/blocks/wall_force_blue_torch.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/wall_force_blue_torch.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/wall_force_blue_torch.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/wall_force_brown_torch.json b/src/generated/resources/data/forcecraft/loot_table/blocks/wall_force_brown_torch.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/wall_force_brown_torch.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/wall_force_brown_torch.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/wall_force_cyan_torch.json b/src/generated/resources/data/forcecraft/loot_table/blocks/wall_force_cyan_torch.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/wall_force_cyan_torch.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/wall_force_cyan_torch.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/wall_force_gray_torch.json b/src/generated/resources/data/forcecraft/loot_table/blocks/wall_force_gray_torch.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/wall_force_gray_torch.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/wall_force_gray_torch.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/wall_force_green_torch.json b/src/generated/resources/data/forcecraft/loot_table/blocks/wall_force_green_torch.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/wall_force_green_torch.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/wall_force_green_torch.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/wall_force_light_blue_torch.json b/src/generated/resources/data/forcecraft/loot_table/blocks/wall_force_light_blue_torch.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/wall_force_light_blue_torch.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/wall_force_light_blue_torch.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/wall_force_light_gray_torch.json b/src/generated/resources/data/forcecraft/loot_table/blocks/wall_force_light_gray_torch.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/wall_force_light_gray_torch.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/wall_force_light_gray_torch.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/wall_force_lime_torch.json b/src/generated/resources/data/forcecraft/loot_table/blocks/wall_force_lime_torch.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/wall_force_lime_torch.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/wall_force_lime_torch.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/wall_force_magenta_torch.json b/src/generated/resources/data/forcecraft/loot_table/blocks/wall_force_magenta_torch.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/wall_force_magenta_torch.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/wall_force_magenta_torch.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/wall_force_orange_torch.json b/src/generated/resources/data/forcecraft/loot_table/blocks/wall_force_orange_torch.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/wall_force_orange_torch.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/wall_force_orange_torch.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/wall_force_pink_torch.json b/src/generated/resources/data/forcecraft/loot_table/blocks/wall_force_pink_torch.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/wall_force_pink_torch.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/wall_force_pink_torch.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/wall_force_purple_torch.json b/src/generated/resources/data/forcecraft/loot_table/blocks/wall_force_purple_torch.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/wall_force_purple_torch.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/wall_force_purple_torch.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/wall_force_red_torch.json b/src/generated/resources/data/forcecraft/loot_table/blocks/wall_force_red_torch.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/wall_force_red_torch.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/wall_force_red_torch.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/wall_force_torch.json b/src/generated/resources/data/forcecraft/loot_table/blocks/wall_force_torch.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/wall_force_torch.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/wall_force_torch.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/wall_force_white_torch.json b/src/generated/resources/data/forcecraft/loot_table/blocks/wall_force_white_torch.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/wall_force_white_torch.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/wall_force_white_torch.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/wall_time_torch.json b/src/generated/resources/data/forcecraft/loot_table/blocks/wall_time_torch.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/wall_time_torch.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/wall_time_torch.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/blocks/white_force_furnace.json b/src/generated/resources/data/forcecraft/loot_table/blocks/white_force_furnace.json similarity index 78% rename from src/generated/resources/data/forcecraft/loot_tables/blocks/white_force_furnace.json rename to src/generated/resources/data/forcecraft/loot_table/blocks/white_force_furnace.json index a4c312ec..6b99bcc2 100644 --- a/src/generated/resources/data/forcecraft/loot_tables/blocks/white_force_furnace.json +++ b/src/generated/resources/data/forcecraft/loot_table/blocks/white_force_furnace.json @@ -13,7 +13,10 @@ "type": "minecraft:item", "functions": [ { - "function": "minecraft:copy_name", + "function": "minecraft:copy_components", + "include": [ + "minecraft:custom_name" + ], "source": "block_entity" } ], diff --git a/src/generated/resources/data/forcecraft/loot_tables/entities/angry_enderman.json b/src/generated/resources/data/forcecraft/loot_table/entities/angry_enderman.json similarity index 87% rename from src/generated/resources/data/forcecraft/loot_tables/entities/angry_enderman.json rename to src/generated/resources/data/forcecraft/loot_table/entities/angry_enderman.json index 7700c364..eb525be4 100644 --- a/src/generated/resources/data/forcecraft/loot_tables/entities/angry_enderman.json +++ b/src/generated/resources/data/forcecraft/loot_table/entities/angry_enderman.json @@ -22,7 +22,8 @@ "max": 1.0, "min": 0.0 }, - "function": "minecraft:looting_enchant" + "enchantment": "minecraft:looting", + "function": "minecraft:enchanted_count_increase" } ], "name": "minecraft:ender_pearl" diff --git a/src/generated/resources/data/forcecraft/loot_tables/entities/blue_chu_chu.json b/src/generated/resources/data/forcecraft/loot_table/entities/blue_chu_chu.json similarity index 92% rename from src/generated/resources/data/forcecraft/loot_tables/entities/blue_chu_chu.json rename to src/generated/resources/data/forcecraft/loot_table/entities/blue_chu_chu.json index 14aafd5d..86f3f267 100644 --- a/src/generated/resources/data/forcecraft/loot_tables/entities/blue_chu_chu.json +++ b/src/generated/resources/data/forcecraft/loot_table/entities/blue_chu_chu.json @@ -9,7 +9,7 @@ "entity": "this", "predicate": { "type_specific": { - "type": "slime", + "type": "minecraft:slime", "size": 1 } } @@ -47,7 +47,8 @@ "max": 1.0, "min": 0.0 }, - "function": "minecraft:looting_enchant" + "enchantment": "minecraft:looting", + "function": "minecraft:enchanted_count_increase" } ], "name": "forcecraft:blue_chu_jelly" diff --git a/src/generated/resources/data/forcecraft/loot_table/entities/cold_chicken.json b/src/generated/resources/data/forcecraft/loot_table/entities/cold_chicken.json new file mode 100644 index 00000000..62fdfa14 --- /dev/null +++ b/src/generated/resources/data/forcecraft/loot_table/entities/cold_chicken.json @@ -0,0 +1,64 @@ +{ + "type": "minecraft:entity", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "conditions": [ + { + "condition": "minecraft:any_of", + "terms": [ + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "flags": { + "is_on_fire": true + } + } + }, + { + "condition": "minecraft:entity_properties", + "entity": "direct_attacker", + "predicate": { + "equipment": { + "mainhand": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "#minecraft:smelts_loot" + } + ] + } + } + } + } + } + ] + } + ], + "function": "minecraft:furnace_smelt" + }, + { + "count": { + "type": "minecraft:uniform", + "max": 1.0, + "min": 0.0 + }, + "enchantment": "minecraft:looting", + "function": "minecraft:enchanted_count_increase" + } + ], + "name": "minecraft:chicken" + } + ], + "name": "main", + "rolls": 1.0 + } + ], + "random_sequence": "forcecraft:entities/cold_chicken" +} \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/loot_table/entities/cold_cow.json b/src/generated/resources/data/forcecraft/loot_table/entities/cold_cow.json new file mode 100644 index 00000000..3068bc42 --- /dev/null +++ b/src/generated/resources/data/forcecraft/loot_table/entities/cold_cow.json @@ -0,0 +1,73 @@ +{ + "type": "minecraft:entity", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 3.0, + "min": 1.0 + }, + "function": "minecraft:set_count" + }, + { + "conditions": [ + { + "condition": "minecraft:any_of", + "terms": [ + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "flags": { + "is_on_fire": true + } + } + }, + { + "condition": "minecraft:entity_properties", + "entity": "direct_attacker", + "predicate": { + "equipment": { + "mainhand": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "#minecraft:smelts_loot" + } + ] + } + } + } + } + } + ] + } + ], + "function": "minecraft:furnace_smelt" + }, + { + "count": { + "type": "minecraft:uniform", + "max": 1.0, + "min": 0.0 + }, + "enchantment": "minecraft:looting", + "function": "minecraft:enchanted_count_increase" + } + ], + "name": "minecraft:beef" + } + ], + "name": "main", + "rolls": 1.0 + } + ], + "random_sequence": "forcecraft:entities/cold_cow" +} \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/loot_table/entities/cold_pig.json b/src/generated/resources/data/forcecraft/loot_table/entities/cold_pig.json new file mode 100644 index 00000000..b62a6b2b --- /dev/null +++ b/src/generated/resources/data/forcecraft/loot_table/entities/cold_pig.json @@ -0,0 +1,73 @@ +{ + "type": "minecraft:entity", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 3.0, + "min": 1.0 + }, + "function": "minecraft:set_count" + }, + { + "conditions": [ + { + "condition": "minecraft:any_of", + "terms": [ + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "flags": { + "is_on_fire": true + } + } + }, + { + "condition": "minecraft:entity_properties", + "entity": "direct_attacker", + "predicate": { + "equipment": { + "mainhand": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "#minecraft:smelts_loot" + } + ] + } + } + } + } + } + ] + } + ], + "function": "minecraft:furnace_smelt" + }, + { + "count": { + "type": "minecraft:uniform", + "max": 1.0, + "min": 0.0 + }, + "enchantment": "minecraft:looting", + "function": "minecraft:enchanted_count_increase" + } + ], + "name": "minecraft:porkchop" + } + ], + "name": "main", + "rolls": 1.0 + } + ], + "random_sequence": "forcecraft:entities/cold_pig" +} \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/loot_tables/entities/creeper_tot.json b/src/generated/resources/data/forcecraft/loot_table/entities/creeper_tot.json similarity index 63% rename from src/generated/resources/data/forcecraft/loot_tables/entities/creeper_tot.json rename to src/generated/resources/data/forcecraft/loot_table/entities/creeper_tot.json index fc472fd0..58bd08dd 100644 --- a/src/generated/resources/data/forcecraft/loot_tables/entities/creeper_tot.json +++ b/src/generated/resources/data/forcecraft/loot_table/entities/creeper_tot.json @@ -22,7 +22,8 @@ "max": 1.0, "min": 0.0 }, - "function": "minecraft:looting_enchant" + "enchantment": "minecraft:looting", + "function": "minecraft:enchanted_count_increase" } ], "name": "forcecraft:pile_of_gunpowder" @@ -35,9 +36,14 @@ "bonus_rolls": 0.0, "conditions": [ { - "chance": 0.025, - "condition": "minecraft:random_chance_with_looting", - "looting_multiplier": 0.01 + "condition": "minecraft:random_chance_with_enchanted_bonus", + "enchanted_chance": { + "type": "minecraft:linear", + "base": 0.035, + "per_level_above_first": 0.01 + }, + "enchantment": "minecraft:looting", + "unenchanted_chance": 0.025 } ], "entries": [ @@ -53,9 +59,14 @@ "bonus_rolls": 0.0, "conditions": [ { - "chance": 0.025, - "condition": "minecraft:random_chance_with_looting", - "looting_multiplier": 0.01 + "condition": "minecraft:random_chance_with_enchanted_bonus", + "enchanted_chance": { + "type": "minecraft:linear", + "base": 0.035, + "per_level_above_first": 0.01 + }, + "enchantment": "minecraft:looting", + "unenchanted_chance": 0.025 } ], "entries": [ diff --git a/src/generated/resources/data/forcecraft/loot_tables/entities/ender_tot.json b/src/generated/resources/data/forcecraft/loot_table/entities/ender_tot.json similarity index 70% rename from src/generated/resources/data/forcecraft/loot_tables/entities/ender_tot.json rename to src/generated/resources/data/forcecraft/loot_table/entities/ender_tot.json index f9c106dc..4125628d 100644 --- a/src/generated/resources/data/forcecraft/loot_tables/entities/ender_tot.json +++ b/src/generated/resources/data/forcecraft/loot_table/entities/ender_tot.json @@ -22,7 +22,8 @@ "max": 1.0, "min": 0.0 }, - "function": "minecraft:looting_enchant" + "enchantment": "minecraft:looting", + "function": "minecraft:enchanted_count_increase" } ], "name": "minecraft:ender_pearl" @@ -35,9 +36,14 @@ "bonus_rolls": 0.0, "conditions": [ { - "chance": 0.025, - "condition": "minecraft:random_chance_with_looting", - "looting_multiplier": 0.01 + "condition": "minecraft:random_chance_with_enchanted_bonus", + "enchanted_chance": { + "type": "minecraft:linear", + "base": 0.035, + "per_level_above_first": 0.01 + }, + "enchantment": "minecraft:looting", + "unenchanted_chance": 0.025 } ], "entries": [ diff --git a/src/generated/resources/data/forcecraft/loot_tables/entities/fairy.json b/src/generated/resources/data/forcecraft/loot_table/entities/fairy.json similarity index 100% rename from src/generated/resources/data/forcecraft/loot_tables/entities/fairy.json rename to src/generated/resources/data/forcecraft/loot_table/entities/fairy.json diff --git a/src/generated/resources/data/forcecraft/loot_tables/entities/gold_chu_chu.json b/src/generated/resources/data/forcecraft/loot_table/entities/gold_chu_chu.json similarity index 92% rename from src/generated/resources/data/forcecraft/loot_tables/entities/gold_chu_chu.json rename to src/generated/resources/data/forcecraft/loot_table/entities/gold_chu_chu.json index f61620b7..8b759b45 100644 --- a/src/generated/resources/data/forcecraft/loot_tables/entities/gold_chu_chu.json +++ b/src/generated/resources/data/forcecraft/loot_table/entities/gold_chu_chu.json @@ -9,7 +9,7 @@ "entity": "this", "predicate": { "type_specific": { - "type": "slime", + "type": "minecraft:slime", "size": 1 } } @@ -47,7 +47,8 @@ "max": 1.0, "min": 0.0 }, - "function": "minecraft:looting_enchant" + "enchantment": "minecraft:looting", + "function": "minecraft:enchanted_count_increase" } ], "name": "forcecraft:gold_chu_jelly" diff --git a/src/generated/resources/data/forcecraft/loot_tables/entities/green_chu_chu.json b/src/generated/resources/data/forcecraft/loot_table/entities/green_chu_chu.json similarity index 92% rename from src/generated/resources/data/forcecraft/loot_tables/entities/green_chu_chu.json rename to src/generated/resources/data/forcecraft/loot_table/entities/green_chu_chu.json index 07f01be4..fe85c453 100644 --- a/src/generated/resources/data/forcecraft/loot_tables/entities/green_chu_chu.json +++ b/src/generated/resources/data/forcecraft/loot_table/entities/green_chu_chu.json @@ -9,7 +9,7 @@ "entity": "this", "predicate": { "type_specific": { - "type": "slime", + "type": "minecraft:slime", "size": 1 } } @@ -47,7 +47,8 @@ "max": 1.0, "min": 0.0 }, - "function": "minecraft:looting_enchant" + "enchantment": "minecraft:looting", + "function": "minecraft:enchanted_count_increase" } ], "name": "forcecraft:green_chu_jelly" diff --git a/src/generated/resources/data/forcecraft/loot_tables/entities/red_chu_chu.json b/src/generated/resources/data/forcecraft/loot_table/entities/red_chu_chu.json similarity index 92% rename from src/generated/resources/data/forcecraft/loot_tables/entities/red_chu_chu.json rename to src/generated/resources/data/forcecraft/loot_table/entities/red_chu_chu.json index 7c9c640b..5fd7a62a 100644 --- a/src/generated/resources/data/forcecraft/loot_tables/entities/red_chu_chu.json +++ b/src/generated/resources/data/forcecraft/loot_table/entities/red_chu_chu.json @@ -9,7 +9,7 @@ "entity": "this", "predicate": { "type_specific": { - "type": "slime", + "type": "minecraft:slime", "size": 1 } } @@ -47,7 +47,8 @@ "max": 1.0, "min": 0.0 }, - "function": "minecraft:looting_enchant" + "enchantment": "minecraft:looting", + "function": "minecraft:enchanted_count_increase" } ], "name": "forcecraft:red_chu_jelly" diff --git a/src/generated/resources/data/forcecraft/loot_tables/spoils/tier1.json b/src/generated/resources/data/forcecraft/loot_table/spoils/tier1.json similarity index 94% rename from src/generated/resources/data/forcecraft/loot_tables/spoils/tier1.json rename to src/generated/resources/data/forcecraft/loot_table/spoils/tier1.json index 79e50281..2c9a58eb 100644 --- a/src/generated/resources/data/forcecraft/loot_tables/spoils/tier1.json +++ b/src/generated/resources/data/forcecraft/loot_table/spoils/tier1.json @@ -111,15 +111,15 @@ "entries": [ { "type": "minecraft:loot_table", - "name": "minecraft:chests/village/village_toolsmith" + "value": "minecraft:chests/village/village_toolsmith" }, { "type": "minecraft:loot_table", - "name": "minecraft:chests/village/village_weaponsmith" + "value": "minecraft:chests/village/village_weaponsmith" }, { "type": "minecraft:loot_table", - "name": "minecraft:chests/spawn_bonus_chest" + "value": "minecraft:chests/spawn_bonus_chest" } ], "name": "Other tables", diff --git a/src/generated/resources/data/forcecraft/loot_tables/spoils/tier2.json b/src/generated/resources/data/forcecraft/loot_table/spoils/tier2.json similarity index 93% rename from src/generated/resources/data/forcecraft/loot_tables/spoils/tier2.json rename to src/generated/resources/data/forcecraft/loot_table/spoils/tier2.json index 987b3c2a..e03a9d69 100644 --- a/src/generated/resources/data/forcecraft/loot_tables/spoils/tier2.json +++ b/src/generated/resources/data/forcecraft/loot_table/spoils/tier2.json @@ -108,19 +108,19 @@ "entries": [ { "type": "minecraft:loot_table", - "name": "minecraft:chests/simple_dungeon" + "value": "minecraft:chests/simple_dungeon" }, { "type": "minecraft:loot_table", - "name": "minecraft:chests/desert_pyramid" + "value": "minecraft:chests/desert_pyramid" }, { "type": "minecraft:loot_table", - "name": "minecraft:chests/jungle_temple" + "value": "minecraft:chests/jungle_temple" }, { "type": "minecraft:loot_table", - "name": "minecraft:chests/nether_bridge" + "value": "minecraft:chests/nether_bridge" } ], "name": "Other Tables", diff --git a/src/generated/resources/data/forcecraft/loot_tables/spoils/tier3.json b/src/generated/resources/data/forcecraft/loot_table/spoils/tier3.json similarity index 89% rename from src/generated/resources/data/forcecraft/loot_tables/spoils/tier3.json rename to src/generated/resources/data/forcecraft/loot_table/spoils/tier3.json index e2e018d8..90d9b9f9 100644 --- a/src/generated/resources/data/forcecraft/loot_tables/spoils/tier3.json +++ b/src/generated/resources/data/forcecraft/loot_table/spoils/tier3.json @@ -112,31 +112,31 @@ "entries": [ { "type": "minecraft:loot_table", - "name": "minecraft:chests/abandoned_mineshaft" + "value": "minecraft:chests/abandoned_mineshaft" }, { "type": "minecraft:loot_table", - "name": "minecraft:chests/stronghold_corridor" + "value": "minecraft:chests/stronghold_corridor" }, { "type": "minecraft:loot_table", - "name": "minecraft:chests/stronghold_library" + "value": "minecraft:chests/stronghold_library" }, { "type": "minecraft:loot_table", - "name": "minecraft:chests/stronghold_crossing" + "value": "minecraft:chests/stronghold_crossing" }, { "type": "minecraft:loot_table", - "name": "minecraft:chests/bastion_treasure" + "value": "minecraft:chests/bastion_treasure" }, { "type": "minecraft:loot_table", - "name": "minecraft:chests/buried_treasure" + "value": "minecraft:chests/buried_treasure" }, { "type": "minecraft:loot_table", - "name": "minecraft:chests/end_city_treasure" + "value": "minecraft:chests/end_city_treasure" } ], "name": "Other Tables", diff --git a/src/generated/resources/data/forcecraft/loot_tables/entities/cold_chicken.json b/src/generated/resources/data/forcecraft/loot_tables/entities/cold_chicken.json deleted file mode 100644 index ff7837b5..00000000 --- a/src/generated/resources/data/forcecraft/loot_tables/entities/cold_chicken.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "type": "minecraft:entity", - "pools": [ - { - "bonus_rolls": 0.0, - "entries": [ - { - "type": "minecraft:item", - "functions": [ - { - "conditions": [ - { - "condition": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "flags": { - "is_on_fire": true - } - } - } - ], - "function": "minecraft:furnace_smelt" - }, - { - "count": { - "type": "minecraft:uniform", - "max": 1.0, - "min": 0.0 - }, - "function": "minecraft:looting_enchant" - } - ], - "name": "minecraft:chicken" - } - ], - "name": "main", - "rolls": 1.0 - } - ], - "random_sequence": "forcecraft:entities/cold_chicken" -} \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/loot_tables/entities/cold_cow.json b/src/generated/resources/data/forcecraft/loot_tables/entities/cold_cow.json deleted file mode 100644 index 77aa3686..00000000 --- a/src/generated/resources/data/forcecraft/loot_tables/entities/cold_cow.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "type": "minecraft:entity", - "pools": [ - { - "bonus_rolls": 0.0, - "entries": [ - { - "type": "minecraft:item", - "functions": [ - { - "add": false, - "count": { - "type": "minecraft:uniform", - "max": 3.0, - "min": 1.0 - }, - "function": "minecraft:set_count" - }, - { - "conditions": [ - { - "condition": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "flags": { - "is_on_fire": true - } - } - } - ], - "function": "minecraft:furnace_smelt" - }, - { - "count": { - "type": "minecraft:uniform", - "max": 1.0, - "min": 0.0 - }, - "function": "minecraft:looting_enchant" - } - ], - "name": "minecraft:beef" - } - ], - "name": "main", - "rolls": 1.0 - } - ], - "random_sequence": "forcecraft:entities/cold_cow" -} \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/loot_tables/entities/cold_pig.json b/src/generated/resources/data/forcecraft/loot_tables/entities/cold_pig.json deleted file mode 100644 index c1ceec23..00000000 --- a/src/generated/resources/data/forcecraft/loot_tables/entities/cold_pig.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "type": "minecraft:entity", - "pools": [ - { - "bonus_rolls": 0.0, - "entries": [ - { - "type": "minecraft:item", - "functions": [ - { - "add": false, - "count": { - "type": "minecraft:uniform", - "max": 3.0, - "min": 1.0 - }, - "function": "minecraft:set_count" - }, - { - "conditions": [ - { - "condition": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "flags": { - "is_on_fire": true - } - } - } - ], - "function": "minecraft:furnace_smelt" - }, - { - "count": { - "type": "minecraft:uniform", - "max": 1.0, - "min": 0.0 - }, - "function": "minecraft:looting_enchant" - } - ], - "name": "minecraft:porkchop" - } - ], - "name": "main", - "rolls": 1.0 - } - ], - "random_sequence": "forcecraft:entities/cold_pig" -} \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/neoforge/biome_modifier/add_swamp_chu_chu.json b/src/generated/resources/data/forcecraft/neoforge/biome_modifier/add_swamp_chu_chu.json index 0afbe2a8..9871c443 100644 --- a/src/generated/resources/data/forcecraft/neoforge/biome_modifier/add_swamp_chu_chu.json +++ b/src/generated/resources/data/forcecraft/neoforge/biome_modifier/add_swamp_chu_chu.json @@ -1,6 +1,6 @@ { "type": "neoforge:add_spawns", - "biomes": "#forge:is_swamp", + "biomes": "#c:is_swamp", "spawners": [ { "type": "forcecraft:red_chu_chu", diff --git a/src/generated/resources/data/forcecraft/recipes/baconator.json b/src/generated/resources/data/forcecraft/recipe/baconator.json similarity index 78% rename from src/generated/resources/data/forcecraft/recipes/baconator.json rename to src/generated/resources/data/forcecraft/recipe/baconator.json index e6e00bc2..1c1a80f4 100644 --- a/src/generated/resources/data/forcecraft/recipes/baconator.json +++ b/src/generated/resources/data/forcecraft/recipe/baconator.json @@ -3,7 +3,7 @@ "category": "equipment", "key": { "I": { - "tag": "forge:ingots/iron" + "tag": "c:ingots/iron" }, "M": { "item": "forcecraft:pig_flask" @@ -18,6 +18,7 @@ "IPI" ], "result": { - "item": "forcecraft:baconator" + "count": 1, + "id": "forcecraft:baconator" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/black_force_furnace_from_dye.json b/src/generated/resources/data/forcecraft/recipe/black_force_furnace_from_dye.json similarity index 66% rename from src/generated/resources/data/forcecraft/recipes/black_force_furnace_from_dye.json rename to src/generated/resources/data/forcecraft/recipe/black_force_furnace_from_dye.json index 34fcb955..cf1340d4 100644 --- a/src/generated/resources/data/forcecraft/recipes/black_force_furnace_from_dye.json +++ b/src/generated/resources/data/forcecraft/recipe/black_force_furnace_from_dye.json @@ -6,10 +6,11 @@ "item": "forcecraft:force_furnace" }, { - "tag": "forge:dyes/black" + "tag": "c:dyes/black" } ], "result": { - "item": "forcecraft:black_force_furnace" + "count": 1, + "id": "forcecraft:black_force_furnace" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/blue_force_furnace_from_dye.json b/src/generated/resources/data/forcecraft/recipe/blue_force_furnace_from_dye.json similarity index 67% rename from src/generated/resources/data/forcecraft/recipes/blue_force_furnace_from_dye.json rename to src/generated/resources/data/forcecraft/recipe/blue_force_furnace_from_dye.json index 8c94cb90..a8d5afd2 100644 --- a/src/generated/resources/data/forcecraft/recipes/blue_force_furnace_from_dye.json +++ b/src/generated/resources/data/forcecraft/recipe/blue_force_furnace_from_dye.json @@ -6,10 +6,11 @@ "item": "forcecraft:force_furnace" }, { - "tag": "forge:dyes/blue" + "tag": "c:dyes/blue" } ], "result": { - "item": "forcecraft:blue_force_furnace" + "count": 1, + "id": "forcecraft:blue_force_furnace" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/brown_force_furnace_from_dye.json b/src/generated/resources/data/forcecraft/recipe/brown_force_furnace_from_dye.json similarity index 66% rename from src/generated/resources/data/forcecraft/recipes/brown_force_furnace_from_dye.json rename to src/generated/resources/data/forcecraft/recipe/brown_force_furnace_from_dye.json index d5c68318..9006d950 100644 --- a/src/generated/resources/data/forcecraft/recipes/brown_force_furnace_from_dye.json +++ b/src/generated/resources/data/forcecraft/recipe/brown_force_furnace_from_dye.json @@ -6,10 +6,11 @@ "item": "forcecraft:force_furnace" }, { - "tag": "forge:dyes/brown" + "tag": "c:dyes/brown" } ], "result": { - "item": "forcecraft:brown_force_furnace" + "count": 1, + "id": "forcecraft:brown_force_furnace" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/cooked_bacon_from_smelting.json b/src/generated/resources/data/forcecraft/recipe/cooked_bacon_from_smelting.json similarity index 69% rename from src/generated/resources/data/forcecraft/recipes/cooked_bacon_from_smelting.json rename to src/generated/resources/data/forcecraft/recipe/cooked_bacon_from_smelting.json index 87d286ad..70067233 100644 --- a/src/generated/resources/data/forcecraft/recipes/cooked_bacon_from_smelting.json +++ b/src/generated/resources/data/forcecraft/recipe/cooked_bacon_from_smelting.json @@ -6,5 +6,8 @@ "ingredient": { "item": "forcecraft:raw_bacon" }, - "result": "forcecraft:cooked_bacon" + "result": { + "count": 1, + "id": "forcecraft:cooked_bacon" + } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/cyan_force_furnace_from_dye.json b/src/generated/resources/data/forcecraft/recipe/cyan_force_furnace_from_dye.json similarity index 67% rename from src/generated/resources/data/forcecraft/recipes/cyan_force_furnace_from_dye.json rename to src/generated/resources/data/forcecraft/recipe/cyan_force_furnace_from_dye.json index ef98d93b..018394a9 100644 --- a/src/generated/resources/data/forcecraft/recipes/cyan_force_furnace_from_dye.json +++ b/src/generated/resources/data/forcecraft/recipe/cyan_force_furnace_from_dye.json @@ -6,10 +6,11 @@ "item": "forcecraft:force_furnace" }, { - "tag": "forge:dyes/cyan" + "tag": "c:dyes/cyan" } ], "result": { - "item": "forcecraft:cyan_force_furnace" + "count": 1, + "id": "forcecraft:cyan_force_furnace" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_and_you.json b/src/generated/resources/data/forcecraft/recipe/force_and_you.json similarity index 61% rename from src/generated/resources/data/forcecraft/recipes/force_and_you.json rename to src/generated/resources/data/forcecraft/recipe/force_and_you.json index 5d836742..30000e4b 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_and_you.json +++ b/src/generated/resources/data/forcecraft/recipe/force_and_you.json @@ -10,7 +10,10 @@ } ], "result": { - "item": "patchouli:guide_book", - "nbt": "{\"patchouli:book\":\"forcecraft:force_and_you\"}" + "components": { + "patchouli:book": "forcecraft:force_and_you" + }, + "count": 1, + "id": "patchouli:guide_book" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_arrow.json b/src/generated/resources/data/forcecraft/recipe/force_arrow.json similarity index 61% rename from src/generated/resources/data/forcecraft/recipes/force_arrow.json rename to src/generated/resources/data/forcecraft/recipe/force_arrow.json index db591484..3d98e286 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_arrow.json +++ b/src/generated/resources/data/forcecraft/recipe/force_arrow.json @@ -3,13 +3,13 @@ "category": "equipment", "key": { "#": { - "tag": "forge:rods/force" + "tag": "c:rods/force" }, "X": { - "tag": "forge:nuggets/force" + "tag": "c:nuggets/force" }, "Y": { - "tag": "forge:feathers" + "tag": "c:feathers" } }, "pattern": [ @@ -19,6 +19,6 @@ ], "result": { "count": 6, - "item": "forcecraft:force_arrow" + "id": "forcecraft:force_arrow" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_axe.json b/src/generated/resources/data/forcecraft/recipe/force_axe.json similarity index 63% rename from src/generated/resources/data/forcecraft/recipes/force_axe.json rename to src/generated/resources/data/forcecraft/recipe/force_axe.json index cfd95e06..28dedfac 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_axe.json +++ b/src/generated/resources/data/forcecraft/recipe/force_axe.json @@ -3,10 +3,10 @@ "category": "equipment", "key": { "F": { - "tag": "forge:ingots/force" + "tag": "c:ingots/force" }, "S": { - "tag": "forge:rods/force" + "tag": "c:rods/force" } }, "pattern": [ @@ -15,6 +15,7 @@ " S" ], "result": { - "item": "forcecraft:force_axe" + "count": 1, + "id": "forcecraft:force_axe" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_belt.json b/src/generated/resources/data/forcecraft/recipe/force_belt.json similarity index 65% rename from src/generated/resources/data/forcecraft/recipes/force_belt.json rename to src/generated/resources/data/forcecraft/recipe/force_belt.json index 8ccb6b2b..c5a88f03 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_belt.json +++ b/src/generated/resources/data/forcecraft/recipe/force_belt.json @@ -3,13 +3,13 @@ "category": "misc", "key": { "F": { - "tag": "forge:ingots/force" + "tag": "c:ingots/force" }, "I": { - "tag": "forge:ingots/iron" + "tag": "c:ingots/iron" }, "L": { - "tag": "forge:leather" + "tag": "c:leathers" }, "W": { "tag": "minecraft:wool" @@ -21,6 +21,7 @@ "LWL" ], "result": { - "item": "forcecraft:force_belt" + "count": 1, + "id": "forcecraft:force_belt" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipe/force_black_torch.json b/src/generated/resources/data/forcecraft/recipe/force_black_torch.json new file mode 100644 index 00000000..2351d6c3 --- /dev/null +++ b/src/generated/resources/data/forcecraft/recipe/force_black_torch.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "D": { + "tag": "c:dyes/black" + }, + "T": { + "item": "forcecraft:force_torch" + } + }, + "pattern": [ + "TTT", + "TDT", + "TTT" + ], + "result": { + "count": 8, + "id": "forcecraft:force_black_torch" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_blue_torch.json b/src/generated/resources/data/forcecraft/recipe/force_blue_torch.json similarity index 76% rename from src/generated/resources/data/forcecraft/recipes/force_blue_torch.json rename to src/generated/resources/data/forcecraft/recipe/force_blue_torch.json index 4e6fa1d4..5050ef85 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_blue_torch.json +++ b/src/generated/resources/data/forcecraft/recipe/force_blue_torch.json @@ -3,7 +3,7 @@ "category": "building", "key": { "D": { - "tag": "forge:dyes/blue" + "tag": "c:dyes/blue" }, "T": { "item": "forcecraft:force_torch" @@ -16,6 +16,6 @@ ], "result": { "count": 8, - "item": "forcecraft:force_blue_torch" + "id": "forcecraft:force_blue_torch" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_boots.json b/src/generated/resources/data/forcecraft/recipe/force_boots.json similarity index 66% rename from src/generated/resources/data/forcecraft/recipes/force_boots.json rename to src/generated/resources/data/forcecraft/recipe/force_boots.json index 1a1ec251..598d12fd 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_boots.json +++ b/src/generated/resources/data/forcecraft/recipe/force_boots.json @@ -3,7 +3,7 @@ "category": "equipment", "key": { "F": { - "tag": "forge:ingots/force" + "tag": "c:ingots/force" } }, "pattern": [ @@ -11,6 +11,7 @@ "F F" ], "result": { - "item": "forcecraft:force_boots" + "count": 1, + "id": "forcecraft:force_boots" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_bow.json b/src/generated/resources/data/forcecraft/recipe/force_bow.json similarity index 60% rename from src/generated/resources/data/forcecraft/recipes/force_bow.json rename to src/generated/resources/data/forcecraft/recipe/force_bow.json index 1819e689..ef840d78 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_bow.json +++ b/src/generated/resources/data/forcecraft/recipe/force_bow.json @@ -3,13 +3,13 @@ "category": "equipment", "key": { "#": { - "tag": "forge:string" + "tag": "c:strings" }, "N": { - "tag": "forge:nuggets/force" + "tag": "c:nuggets/force" }, "S": { - "tag": "forge:rods/force" + "tag": "c:rods/force" } }, "pattern": [ @@ -18,6 +18,7 @@ " #S" ], "result": { - "item": "forcecraft:force_bow" + "count": 1, + "id": "forcecraft:force_bow" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick.json b/src/generated/resources/data/forcecraft/recipe/force_brick.json similarity index 88% rename from src/generated/resources/data/forcecraft/recipes/force_brick.json rename to src/generated/resources/data/forcecraft/recipe/force_brick.json index 56ee4a85..83ddc1f7 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick.json @@ -16,6 +16,6 @@ ], "result": { "count": 8, - "item": "forcecraft:force_brick" + "id": "forcecraft:force_brick" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_black.json b/src/generated/resources/data/forcecraft/recipe/force_brick_black.json similarity index 67% rename from src/generated/resources/data/forcecraft/recipes/force_brick_black.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_black.json index a13e8419..222f0bc7 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_black.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_black.json @@ -6,10 +6,11 @@ "item": "forcecraft:force_brick" }, { - "tag": "forge:dyes/black" + "tag": "c:dyes/black" } ], "result": { - "item": "forcecraft:force_brick_black" + "count": 1, + "id": "forcecraft:force_brick_black" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_black_slab.json b/src/generated/resources/data/forcecraft/recipe/force_brick_black_slab.json similarity index 81% rename from src/generated/resources/data/forcecraft/recipes/force_brick_black_slab.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_black_slab.json index 81f21522..7600f844 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_black_slab.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_black_slab.json @@ -11,6 +11,6 @@ ], "result": { "count": 6, - "item": "forcecraft:force_brick_black_slab" + "id": "forcecraft:force_brick_black_slab" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_black_slab_from_force_brick_black.json b/src/generated/resources/data/forcecraft/recipe/force_brick_black_slab_from_force_brick_black.json similarity index 56% rename from src/generated/resources/data/forcecraft/recipes/force_brick_black_slab_from_force_brick_black.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_black_slab_from_force_brick_black.json index 0d3b51a8..c0f8ac84 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_black_slab_from_force_brick_black.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_black_slab_from_force_brick_black.json @@ -1,8 +1,10 @@ { "type": "minecraft:stonecutting", - "count": 2, "ingredient": { "item": "forcecraft:force_brick_black" }, - "result": "forcecraft:force_brick_black_slab" + "result": { + "count": 2, + "id": "forcecraft:force_brick_black_slab" + } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_black_stairs.json b/src/generated/resources/data/forcecraft/recipe/force_brick_black_stairs.json similarity index 82% rename from src/generated/resources/data/forcecraft/recipes/force_brick_black_stairs.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_black_stairs.json index aae6d844..113666b0 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_black_stairs.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_black_stairs.json @@ -13,6 +13,6 @@ ], "result": { "count": 4, - "item": "forcecraft:force_brick_black_stairs" + "id": "forcecraft:force_brick_black_stairs" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_black_stairs_from_force_brick_black.json b/src/generated/resources/data/forcecraft/recipe/force_brick_black_stairs_from_force_brick_black.json similarity index 56% rename from src/generated/resources/data/forcecraft/recipes/force_brick_black_stairs_from_force_brick_black.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_black_stairs_from_force_brick_black.json index b587fcff..99eff58f 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_black_stairs_from_force_brick_black.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_black_stairs_from_force_brick_black.json @@ -1,8 +1,10 @@ { "type": "minecraft:stonecutting", - "count": 1, "ingredient": { "item": "forcecraft:force_brick_black" }, - "result": "forcecraft:force_brick_black_stairs" + "result": { + "count": 1, + "id": "forcecraft:force_brick_black_stairs" + } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_blue.json b/src/generated/resources/data/forcecraft/recipe/force_brick_blue.json similarity index 68% rename from src/generated/resources/data/forcecraft/recipes/force_brick_blue.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_blue.json index c773e162..baf51a7f 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_blue.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_blue.json @@ -6,10 +6,11 @@ "item": "forcecraft:force_brick" }, { - "tag": "forge:dyes/blue" + "tag": "c:dyes/blue" } ], "result": { - "item": "forcecraft:force_brick_blue" + "count": 1, + "id": "forcecraft:force_brick_blue" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_blue_slab.json b/src/generated/resources/data/forcecraft/recipe/force_brick_blue_slab.json similarity index 81% rename from src/generated/resources/data/forcecraft/recipes/force_brick_blue_slab.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_blue_slab.json index 5f9dcddd..e9d5c9d7 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_blue_slab.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_blue_slab.json @@ -11,6 +11,6 @@ ], "result": { "count": 6, - "item": "forcecraft:force_brick_blue_slab" + "id": "forcecraft:force_brick_blue_slab" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_blue_slab_from_force_brick_blue.json b/src/generated/resources/data/forcecraft/recipe/force_brick_blue_slab_from_force_brick_blue.json similarity index 56% rename from src/generated/resources/data/forcecraft/recipes/force_brick_blue_slab_from_force_brick_blue.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_blue_slab_from_force_brick_blue.json index 6935f80b..0758c4c7 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_blue_slab_from_force_brick_blue.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_blue_slab_from_force_brick_blue.json @@ -1,8 +1,10 @@ { "type": "minecraft:stonecutting", - "count": 2, "ingredient": { "item": "forcecraft:force_brick_blue" }, - "result": "forcecraft:force_brick_blue_slab" + "result": { + "count": 2, + "id": "forcecraft:force_brick_blue_slab" + } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_blue_stairs.json b/src/generated/resources/data/forcecraft/recipe/force_brick_blue_stairs.json similarity index 82% rename from src/generated/resources/data/forcecraft/recipes/force_brick_blue_stairs.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_blue_stairs.json index 1301a3df..41ec0147 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_blue_stairs.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_blue_stairs.json @@ -13,6 +13,6 @@ ], "result": { "count": 4, - "item": "forcecraft:force_brick_blue_stairs" + "id": "forcecraft:force_brick_blue_stairs" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_blue_stairs_from_force_brick_blue.json b/src/generated/resources/data/forcecraft/recipe/force_brick_blue_stairs_from_force_brick_blue.json similarity index 56% rename from src/generated/resources/data/forcecraft/recipes/force_brick_blue_stairs_from_force_brick_blue.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_blue_stairs_from_force_brick_blue.json index bf1e110a..75ca7557 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_blue_stairs_from_force_brick_blue.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_blue_stairs_from_force_brick_blue.json @@ -1,8 +1,10 @@ { "type": "minecraft:stonecutting", - "count": 1, "ingredient": { "item": "forcecraft:force_brick_blue" }, - "result": "forcecraft:force_brick_blue_stairs" + "result": { + "count": 1, + "id": "forcecraft:force_brick_blue_stairs" + } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_brown.json b/src/generated/resources/data/forcecraft/recipe/force_brick_brown.json similarity index 67% rename from src/generated/resources/data/forcecraft/recipes/force_brick_brown.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_brown.json index 604bdb60..a269cc24 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_brown.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_brown.json @@ -6,10 +6,11 @@ "item": "forcecraft:force_brick" }, { - "tag": "forge:dyes/brown" + "tag": "c:dyes/brown" } ], "result": { - "item": "forcecraft:force_brick_brown" + "count": 1, + "id": "forcecraft:force_brick_brown" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_brown_slab.json b/src/generated/resources/data/forcecraft/recipe/force_brick_brown_slab.json similarity index 81% rename from src/generated/resources/data/forcecraft/recipes/force_brick_brown_slab.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_brown_slab.json index da3a467d..b351fabe 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_brown_slab.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_brown_slab.json @@ -11,6 +11,6 @@ ], "result": { "count": 6, - "item": "forcecraft:force_brick_brown_slab" + "id": "forcecraft:force_brick_brown_slab" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_brown_slab_from_force_brick_brown.json b/src/generated/resources/data/forcecraft/recipe/force_brick_brown_slab_from_force_brick_brown.json similarity index 56% rename from src/generated/resources/data/forcecraft/recipes/force_brick_brown_slab_from_force_brick_brown.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_brown_slab_from_force_brick_brown.json index f3140e1a..a2a4a099 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_brown_slab_from_force_brick_brown.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_brown_slab_from_force_brick_brown.json @@ -1,8 +1,10 @@ { "type": "minecraft:stonecutting", - "count": 2, "ingredient": { "item": "forcecraft:force_brick_brown" }, - "result": "forcecraft:force_brick_brown_slab" + "result": { + "count": 2, + "id": "forcecraft:force_brick_brown_slab" + } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_brown_stairs.json b/src/generated/resources/data/forcecraft/recipe/force_brick_brown_stairs.json similarity index 82% rename from src/generated/resources/data/forcecraft/recipes/force_brick_brown_stairs.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_brown_stairs.json index 5b670e6a..ecfb0506 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_brown_stairs.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_brown_stairs.json @@ -13,6 +13,6 @@ ], "result": { "count": 4, - "item": "forcecraft:force_brick_brown_stairs" + "id": "forcecraft:force_brick_brown_stairs" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_brown_stairs_from_force_brick_brown.json b/src/generated/resources/data/forcecraft/recipe/force_brick_brown_stairs_from_force_brick_brown.json similarity index 56% rename from src/generated/resources/data/forcecraft/recipes/force_brick_brown_stairs_from_force_brick_brown.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_brown_stairs_from_force_brick_brown.json index dfac96b6..58ec0d51 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_brown_stairs_from_force_brick_brown.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_brown_stairs_from_force_brick_brown.json @@ -1,8 +1,10 @@ { "type": "minecraft:stonecutting", - "count": 1, "ingredient": { "item": "forcecraft:force_brick_brown" }, - "result": "forcecraft:force_brick_brown_stairs" + "result": { + "count": 1, + "id": "forcecraft:force_brick_brown_stairs" + } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_cyan.json b/src/generated/resources/data/forcecraft/recipe/force_brick_cyan.json similarity index 68% rename from src/generated/resources/data/forcecraft/recipes/force_brick_cyan.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_cyan.json index e9f28989..7a48833a 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_cyan.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_cyan.json @@ -6,10 +6,11 @@ "item": "forcecraft:force_brick" }, { - "tag": "forge:dyes/cyan" + "tag": "c:dyes/cyan" } ], "result": { - "item": "forcecraft:force_brick_cyan" + "count": 1, + "id": "forcecraft:force_brick_cyan" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_cyan_slab.json b/src/generated/resources/data/forcecraft/recipe/force_brick_cyan_slab.json similarity index 81% rename from src/generated/resources/data/forcecraft/recipes/force_brick_cyan_slab.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_cyan_slab.json index 6e5b9f2f..de61ce8f 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_cyan_slab.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_cyan_slab.json @@ -11,6 +11,6 @@ ], "result": { "count": 6, - "item": "forcecraft:force_brick_cyan_slab" + "id": "forcecraft:force_brick_cyan_slab" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_cyan_slab_from_force_brick_cyan.json b/src/generated/resources/data/forcecraft/recipe/force_brick_cyan_slab_from_force_brick_cyan.json similarity index 56% rename from src/generated/resources/data/forcecraft/recipes/force_brick_cyan_slab_from_force_brick_cyan.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_cyan_slab_from_force_brick_cyan.json index 9fd814c9..9224df67 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_cyan_slab_from_force_brick_cyan.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_cyan_slab_from_force_brick_cyan.json @@ -1,8 +1,10 @@ { "type": "minecraft:stonecutting", - "count": 2, "ingredient": { "item": "forcecraft:force_brick_cyan" }, - "result": "forcecraft:force_brick_cyan_slab" + "result": { + "count": 2, + "id": "forcecraft:force_brick_cyan_slab" + } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_cyan_stairs.json b/src/generated/resources/data/forcecraft/recipe/force_brick_cyan_stairs.json similarity index 82% rename from src/generated/resources/data/forcecraft/recipes/force_brick_cyan_stairs.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_cyan_stairs.json index 7dee4048..84d1e2d5 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_cyan_stairs.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_cyan_stairs.json @@ -13,6 +13,6 @@ ], "result": { "count": 4, - "item": "forcecraft:force_brick_cyan_stairs" + "id": "forcecraft:force_brick_cyan_stairs" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_cyan_stairs_from_force_brick_cyan.json b/src/generated/resources/data/forcecraft/recipe/force_brick_cyan_stairs_from_force_brick_cyan.json similarity index 56% rename from src/generated/resources/data/forcecraft/recipes/force_brick_cyan_stairs_from_force_brick_cyan.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_cyan_stairs_from_force_brick_cyan.json index 6afc1a9a..f69ac45b 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_cyan_stairs_from_force_brick_cyan.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_cyan_stairs_from_force_brick_cyan.json @@ -1,8 +1,10 @@ { "type": "minecraft:stonecutting", - "count": 1, "ingredient": { "item": "forcecraft:force_brick_cyan" }, - "result": "forcecraft:force_brick_cyan_stairs" + "result": { + "count": 1, + "id": "forcecraft:force_brick_cyan_stairs" + } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_gray.json b/src/generated/resources/data/forcecraft/recipe/force_brick_gray.json similarity index 68% rename from src/generated/resources/data/forcecraft/recipes/force_brick_gray.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_gray.json index f82a1e3f..c0472df3 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_gray.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_gray.json @@ -6,10 +6,11 @@ "item": "forcecraft:force_brick" }, { - "tag": "forge:dyes/gray" + "tag": "c:dyes/gray" } ], "result": { - "item": "forcecraft:force_brick_gray" + "count": 1, + "id": "forcecraft:force_brick_gray" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_gray_slab.json b/src/generated/resources/data/forcecraft/recipe/force_brick_gray_slab.json similarity index 81% rename from src/generated/resources/data/forcecraft/recipes/force_brick_gray_slab.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_gray_slab.json index a6e32c9b..224626bc 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_gray_slab.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_gray_slab.json @@ -11,6 +11,6 @@ ], "result": { "count": 6, - "item": "forcecraft:force_brick_gray_slab" + "id": "forcecraft:force_brick_gray_slab" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_gray_slab_from_force_brick_gray.json b/src/generated/resources/data/forcecraft/recipe/force_brick_gray_slab_from_force_brick_gray.json similarity index 56% rename from src/generated/resources/data/forcecraft/recipes/force_brick_gray_slab_from_force_brick_gray.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_gray_slab_from_force_brick_gray.json index 4e58884b..7248eb5a 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_gray_slab_from_force_brick_gray.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_gray_slab_from_force_brick_gray.json @@ -1,8 +1,10 @@ { "type": "minecraft:stonecutting", - "count": 2, "ingredient": { "item": "forcecraft:force_brick_gray" }, - "result": "forcecraft:force_brick_gray_slab" + "result": { + "count": 2, + "id": "forcecraft:force_brick_gray_slab" + } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_gray_stairs.json b/src/generated/resources/data/forcecraft/recipe/force_brick_gray_stairs.json similarity index 82% rename from src/generated/resources/data/forcecraft/recipes/force_brick_gray_stairs.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_gray_stairs.json index 3688abf8..c3172739 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_gray_stairs.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_gray_stairs.json @@ -13,6 +13,6 @@ ], "result": { "count": 4, - "item": "forcecraft:force_brick_gray_stairs" + "id": "forcecraft:force_brick_gray_stairs" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_gray_stairs_from_force_brick_gray.json b/src/generated/resources/data/forcecraft/recipe/force_brick_gray_stairs_from_force_brick_gray.json similarity index 56% rename from src/generated/resources/data/forcecraft/recipes/force_brick_gray_stairs_from_force_brick_gray.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_gray_stairs_from_force_brick_gray.json index 80320cba..de35cede 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_gray_stairs_from_force_brick_gray.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_gray_stairs_from_force_brick_gray.json @@ -1,8 +1,10 @@ { "type": "minecraft:stonecutting", - "count": 1, "ingredient": { "item": "forcecraft:force_brick_gray" }, - "result": "forcecraft:force_brick_gray_stairs" + "result": { + "count": 1, + "id": "forcecraft:force_brick_gray_stairs" + } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_green.json b/src/generated/resources/data/forcecraft/recipe/force_brick_green.json similarity index 67% rename from src/generated/resources/data/forcecraft/recipes/force_brick_green.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_green.json index 1b12bad2..7d238f81 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_green.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_green.json @@ -6,10 +6,11 @@ "item": "forcecraft:force_brick" }, { - "tag": "forge:dyes/green" + "tag": "c:dyes/green" } ], "result": { - "item": "forcecraft:force_brick_green" + "count": 1, + "id": "forcecraft:force_brick_green" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_green_slab.json b/src/generated/resources/data/forcecraft/recipe/force_brick_green_slab.json similarity index 81% rename from src/generated/resources/data/forcecraft/recipes/force_brick_green_slab.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_green_slab.json index 91cce6de..876b22a1 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_green_slab.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_green_slab.json @@ -11,6 +11,6 @@ ], "result": { "count": 6, - "item": "forcecraft:force_brick_green_slab" + "id": "forcecraft:force_brick_green_slab" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_green_slab_from_force_brick_green.json b/src/generated/resources/data/forcecraft/recipe/force_brick_green_slab_from_force_brick_green.json similarity index 56% rename from src/generated/resources/data/forcecraft/recipes/force_brick_green_slab_from_force_brick_green.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_green_slab_from_force_brick_green.json index 6480e98b..bc9d440d 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_green_slab_from_force_brick_green.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_green_slab_from_force_brick_green.json @@ -1,8 +1,10 @@ { "type": "minecraft:stonecutting", - "count": 2, "ingredient": { "item": "forcecraft:force_brick_green" }, - "result": "forcecraft:force_brick_green_slab" + "result": { + "count": 2, + "id": "forcecraft:force_brick_green_slab" + } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_green_stairs.json b/src/generated/resources/data/forcecraft/recipe/force_brick_green_stairs.json similarity index 82% rename from src/generated/resources/data/forcecraft/recipes/force_brick_green_stairs.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_green_stairs.json index 2bb487f7..acad5584 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_green_stairs.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_green_stairs.json @@ -13,6 +13,6 @@ ], "result": { "count": 4, - "item": "forcecraft:force_brick_green_stairs" + "id": "forcecraft:force_brick_green_stairs" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_green_stairs_from_force_brick_green.json b/src/generated/resources/data/forcecraft/recipe/force_brick_green_stairs_from_force_brick_green.json similarity index 56% rename from src/generated/resources/data/forcecraft/recipes/force_brick_green_stairs_from_force_brick_green.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_green_stairs_from_force_brick_green.json index 698d971e..079546ea 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_green_stairs_from_force_brick_green.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_green_stairs_from_force_brick_green.json @@ -1,8 +1,10 @@ { "type": "minecraft:stonecutting", - "count": 1, "ingredient": { "item": "forcecraft:force_brick_green" }, - "result": "forcecraft:force_brick_green_stairs" + "result": { + "count": 1, + "id": "forcecraft:force_brick_green_stairs" + } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_light_blue.json b/src/generated/resources/data/forcecraft/recipe/force_brick_light_blue.json similarity index 65% rename from src/generated/resources/data/forcecraft/recipes/force_brick_light_blue.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_light_blue.json index 07dc23a8..62c4c786 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_light_blue.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_light_blue.json @@ -6,10 +6,11 @@ "item": "forcecraft:force_brick" }, { - "tag": "forge:dyes/light_blue" + "tag": "c:dyes/light_blue" } ], "result": { - "item": "forcecraft:force_brick_light_blue" + "count": 1, + "id": "forcecraft:force_brick_light_blue" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_light_blue_slab.json b/src/generated/resources/data/forcecraft/recipe/force_brick_light_blue_slab.json similarity index 80% rename from src/generated/resources/data/forcecraft/recipes/force_brick_light_blue_slab.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_light_blue_slab.json index eadbc434..0c485417 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_light_blue_slab.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_light_blue_slab.json @@ -11,6 +11,6 @@ ], "result": { "count": 6, - "item": "forcecraft:force_brick_light_blue_slab" + "id": "forcecraft:force_brick_light_blue_slab" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_light_blue_slab_from_force_brick_light_blue.json b/src/generated/resources/data/forcecraft/recipe/force_brick_light_blue_slab_from_force_brick_light_blue.json similarity index 56% rename from src/generated/resources/data/forcecraft/recipes/force_brick_light_blue_slab_from_force_brick_light_blue.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_light_blue_slab_from_force_brick_light_blue.json index 18995ed8..49d34dc2 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_light_blue_slab_from_force_brick_light_blue.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_light_blue_slab_from_force_brick_light_blue.json @@ -1,8 +1,10 @@ { "type": "minecraft:stonecutting", - "count": 2, "ingredient": { "item": "forcecraft:force_brick_light_blue" }, - "result": "forcecraft:force_brick_light_blue_slab" + "result": { + "count": 2, + "id": "forcecraft:force_brick_light_blue_slab" + } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_light_blue_stairs.json b/src/generated/resources/data/forcecraft/recipe/force_brick_light_blue_stairs.json similarity index 81% rename from src/generated/resources/data/forcecraft/recipes/force_brick_light_blue_stairs.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_light_blue_stairs.json index 1873b746..23b36ff4 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_light_blue_stairs.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_light_blue_stairs.json @@ -13,6 +13,6 @@ ], "result": { "count": 4, - "item": "forcecraft:force_brick_light_blue_stairs" + "id": "forcecraft:force_brick_light_blue_stairs" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_light_blue_stairs_from_force_brick_light_blue.json b/src/generated/resources/data/forcecraft/recipe/force_brick_light_blue_stairs_from_force_brick_light_blue.json similarity index 55% rename from src/generated/resources/data/forcecraft/recipes/force_brick_light_blue_stairs_from_force_brick_light_blue.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_light_blue_stairs_from_force_brick_light_blue.json index d8d687c1..9007a2ff 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_light_blue_stairs_from_force_brick_light_blue.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_light_blue_stairs_from_force_brick_light_blue.json @@ -1,8 +1,10 @@ { "type": "minecraft:stonecutting", - "count": 1, "ingredient": { "item": "forcecraft:force_brick_light_blue" }, - "result": "forcecraft:force_brick_light_blue_stairs" + "result": { + "count": 1, + "id": "forcecraft:force_brick_light_blue_stairs" + } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_light_gray.json b/src/generated/resources/data/forcecraft/recipe/force_brick_light_gray.json similarity index 65% rename from src/generated/resources/data/forcecraft/recipes/force_brick_light_gray.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_light_gray.json index d3c9c160..89c11630 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_light_gray.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_light_gray.json @@ -6,10 +6,11 @@ "item": "forcecraft:force_brick" }, { - "tag": "forge:dyes/light_gray" + "tag": "c:dyes/light_gray" } ], "result": { - "item": "forcecraft:force_brick_light_gray" + "count": 1, + "id": "forcecraft:force_brick_light_gray" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_light_gray_slab.json b/src/generated/resources/data/forcecraft/recipe/force_brick_light_gray_slab.json similarity index 80% rename from src/generated/resources/data/forcecraft/recipes/force_brick_light_gray_slab.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_light_gray_slab.json index afb92d3a..b8311ae1 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_light_gray_slab.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_light_gray_slab.json @@ -11,6 +11,6 @@ ], "result": { "count": 6, - "item": "forcecraft:force_brick_light_gray_slab" + "id": "forcecraft:force_brick_light_gray_slab" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_light_gray_slab_from_force_brick_light_gray.json b/src/generated/resources/data/forcecraft/recipe/force_brick_light_gray_slab_from_force_brick_light_gray.json similarity index 56% rename from src/generated/resources/data/forcecraft/recipes/force_brick_light_gray_slab_from_force_brick_light_gray.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_light_gray_slab_from_force_brick_light_gray.json index 51a1be05..c82459a4 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_light_gray_slab_from_force_brick_light_gray.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_light_gray_slab_from_force_brick_light_gray.json @@ -1,8 +1,10 @@ { "type": "minecraft:stonecutting", - "count": 2, "ingredient": { "item": "forcecraft:force_brick_light_gray" }, - "result": "forcecraft:force_brick_light_gray_slab" + "result": { + "count": 2, + "id": "forcecraft:force_brick_light_gray_slab" + } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_light_gray_stairs.json b/src/generated/resources/data/forcecraft/recipe/force_brick_light_gray_stairs.json similarity index 81% rename from src/generated/resources/data/forcecraft/recipes/force_brick_light_gray_stairs.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_light_gray_stairs.json index de9d68cf..628856b6 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_light_gray_stairs.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_light_gray_stairs.json @@ -13,6 +13,6 @@ ], "result": { "count": 4, - "item": "forcecraft:force_brick_light_gray_stairs" + "id": "forcecraft:force_brick_light_gray_stairs" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_light_gray_stairs_from_force_brick_light_gray.json b/src/generated/resources/data/forcecraft/recipe/force_brick_light_gray_stairs_from_force_brick_light_gray.json similarity index 55% rename from src/generated/resources/data/forcecraft/recipes/force_brick_light_gray_stairs_from_force_brick_light_gray.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_light_gray_stairs_from_force_brick_light_gray.json index 305f3f14..2ffb8c67 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_light_gray_stairs_from_force_brick_light_gray.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_light_gray_stairs_from_force_brick_light_gray.json @@ -1,8 +1,10 @@ { "type": "minecraft:stonecutting", - "count": 1, "ingredient": { "item": "forcecraft:force_brick_light_gray" }, - "result": "forcecraft:force_brick_light_gray_stairs" + "result": { + "count": 1, + "id": "forcecraft:force_brick_light_gray_stairs" + } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_lime.json b/src/generated/resources/data/forcecraft/recipe/force_brick_lime.json similarity index 68% rename from src/generated/resources/data/forcecraft/recipes/force_brick_lime.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_lime.json index d72e5d40..94742bb7 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_lime.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_lime.json @@ -6,10 +6,11 @@ "item": "forcecraft:force_brick" }, { - "tag": "forge:dyes/lime" + "tag": "c:dyes/lime" } ], "result": { - "item": "forcecraft:force_brick_lime" + "count": 1, + "id": "forcecraft:force_brick_lime" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_lime_slab.json b/src/generated/resources/data/forcecraft/recipe/force_brick_lime_slab.json similarity index 81% rename from src/generated/resources/data/forcecraft/recipes/force_brick_lime_slab.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_lime_slab.json index d32be84f..2c655907 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_lime_slab.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_lime_slab.json @@ -11,6 +11,6 @@ ], "result": { "count": 6, - "item": "forcecraft:force_brick_lime_slab" + "id": "forcecraft:force_brick_lime_slab" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_lime_slab_from_force_brick_lime.json b/src/generated/resources/data/forcecraft/recipe/force_brick_lime_slab_from_force_brick_lime.json similarity index 56% rename from src/generated/resources/data/forcecraft/recipes/force_brick_lime_slab_from_force_brick_lime.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_lime_slab_from_force_brick_lime.json index 6375cb0e..7624ac70 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_lime_slab_from_force_brick_lime.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_lime_slab_from_force_brick_lime.json @@ -1,8 +1,10 @@ { "type": "minecraft:stonecutting", - "count": 2, "ingredient": { "item": "forcecraft:force_brick_lime" }, - "result": "forcecraft:force_brick_lime_slab" + "result": { + "count": 2, + "id": "forcecraft:force_brick_lime_slab" + } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_lime_stairs.json b/src/generated/resources/data/forcecraft/recipe/force_brick_lime_stairs.json similarity index 82% rename from src/generated/resources/data/forcecraft/recipes/force_brick_lime_stairs.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_lime_stairs.json index 2cdb8ece..ac1e5c40 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_lime_stairs.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_lime_stairs.json @@ -13,6 +13,6 @@ ], "result": { "count": 4, - "item": "forcecraft:force_brick_lime_stairs" + "id": "forcecraft:force_brick_lime_stairs" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_lime_stairs_from_force_brick_lime.json b/src/generated/resources/data/forcecraft/recipe/force_brick_lime_stairs_from_force_brick_lime.json similarity index 56% rename from src/generated/resources/data/forcecraft/recipes/force_brick_lime_stairs_from_force_brick_lime.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_lime_stairs_from_force_brick_lime.json index 6c25ea82..dbdf8951 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_lime_stairs_from_force_brick_lime.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_lime_stairs_from_force_brick_lime.json @@ -1,8 +1,10 @@ { "type": "minecraft:stonecutting", - "count": 1, "ingredient": { "item": "forcecraft:force_brick_lime" }, - "result": "forcecraft:force_brick_lime_stairs" + "result": { + "count": 1, + "id": "forcecraft:force_brick_lime_stairs" + } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_magenta.json b/src/generated/resources/data/forcecraft/recipe/force_brick_magenta.json similarity index 66% rename from src/generated/resources/data/forcecraft/recipes/force_brick_magenta.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_magenta.json index 56252734..7e011377 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_magenta.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_magenta.json @@ -6,10 +6,11 @@ "item": "forcecraft:force_brick" }, { - "tag": "forge:dyes/magenta" + "tag": "c:dyes/magenta" } ], "result": { - "item": "forcecraft:force_brick_magenta" + "count": 1, + "id": "forcecraft:force_brick_magenta" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_magenta_slab.json b/src/generated/resources/data/forcecraft/recipe/force_brick_magenta_slab.json similarity index 80% rename from src/generated/resources/data/forcecraft/recipes/force_brick_magenta_slab.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_magenta_slab.json index 4abacbc2..ae4a210f 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_magenta_slab.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_magenta_slab.json @@ -11,6 +11,6 @@ ], "result": { "count": 6, - "item": "forcecraft:force_brick_magenta_slab" + "id": "forcecraft:force_brick_magenta_slab" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_magenta_slab_from_force_brick_magenta.json b/src/generated/resources/data/forcecraft/recipe/force_brick_magenta_slab_from_force_brick_magenta.json similarity index 56% rename from src/generated/resources/data/forcecraft/recipes/force_brick_magenta_slab_from_force_brick_magenta.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_magenta_slab_from_force_brick_magenta.json index 36380469..cbdd91ca 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_magenta_slab_from_force_brick_magenta.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_magenta_slab_from_force_brick_magenta.json @@ -1,8 +1,10 @@ { "type": "minecraft:stonecutting", - "count": 2, "ingredient": { "item": "forcecraft:force_brick_magenta" }, - "result": "forcecraft:force_brick_magenta_slab" + "result": { + "count": 2, + "id": "forcecraft:force_brick_magenta_slab" + } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_magenta_stairs.json b/src/generated/resources/data/forcecraft/recipe/force_brick_magenta_stairs.json similarity index 81% rename from src/generated/resources/data/forcecraft/recipes/force_brick_magenta_stairs.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_magenta_stairs.json index 6f0530fd..18d592f7 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_magenta_stairs.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_magenta_stairs.json @@ -13,6 +13,6 @@ ], "result": { "count": 4, - "item": "forcecraft:force_brick_magenta_stairs" + "id": "forcecraft:force_brick_magenta_stairs" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_magenta_stairs_from_force_brick_magenta.json b/src/generated/resources/data/forcecraft/recipe/force_brick_magenta_stairs_from_force_brick_magenta.json similarity index 56% rename from src/generated/resources/data/forcecraft/recipes/force_brick_magenta_stairs_from_force_brick_magenta.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_magenta_stairs_from_force_brick_magenta.json index 0d0c7c73..7e1719f6 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_magenta_stairs_from_force_brick_magenta.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_magenta_stairs_from_force_brick_magenta.json @@ -1,8 +1,10 @@ { "type": "minecraft:stonecutting", - "count": 1, "ingredient": { "item": "forcecraft:force_brick_magenta" }, - "result": "forcecraft:force_brick_magenta_stairs" + "result": { + "count": 1, + "id": "forcecraft:force_brick_magenta_stairs" + } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_orange.json b/src/generated/resources/data/forcecraft/recipe/force_brick_orange.json similarity index 67% rename from src/generated/resources/data/forcecraft/recipes/force_brick_orange.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_orange.json index 47b13474..f40a1b3a 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_orange.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_orange.json @@ -6,10 +6,11 @@ "item": "forcecraft:force_brick" }, { - "tag": "forge:dyes/orange" + "tag": "c:dyes/orange" } ], "result": { - "item": "forcecraft:force_brick_orange" + "count": 1, + "id": "forcecraft:force_brick_orange" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_orange_slab.json b/src/generated/resources/data/forcecraft/recipe/force_brick_orange_slab.json similarity index 81% rename from src/generated/resources/data/forcecraft/recipes/force_brick_orange_slab.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_orange_slab.json index e66cdee8..3764954b 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_orange_slab.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_orange_slab.json @@ -11,6 +11,6 @@ ], "result": { "count": 6, - "item": "forcecraft:force_brick_orange_slab" + "id": "forcecraft:force_brick_orange_slab" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_orange_slab_from_force_brick_orange.json b/src/generated/resources/data/forcecraft/recipe/force_brick_orange_slab_from_force_brick_orange.json similarity index 56% rename from src/generated/resources/data/forcecraft/recipes/force_brick_orange_slab_from_force_brick_orange.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_orange_slab_from_force_brick_orange.json index f11d7307..0544e5da 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_orange_slab_from_force_brick_orange.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_orange_slab_from_force_brick_orange.json @@ -1,8 +1,10 @@ { "type": "minecraft:stonecutting", - "count": 2, "ingredient": { "item": "forcecraft:force_brick_orange" }, - "result": "forcecraft:force_brick_orange_slab" + "result": { + "count": 2, + "id": "forcecraft:force_brick_orange_slab" + } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_orange_stairs.json b/src/generated/resources/data/forcecraft/recipe/force_brick_orange_stairs.json similarity index 82% rename from src/generated/resources/data/forcecraft/recipes/force_brick_orange_stairs.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_orange_stairs.json index aa9b4004..0546f295 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_orange_stairs.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_orange_stairs.json @@ -13,6 +13,6 @@ ], "result": { "count": 4, - "item": "forcecraft:force_brick_orange_stairs" + "id": "forcecraft:force_brick_orange_stairs" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_orange_stairs_from_force_brick_orange.json b/src/generated/resources/data/forcecraft/recipe/force_brick_orange_stairs_from_force_brick_orange.json similarity index 56% rename from src/generated/resources/data/forcecraft/recipes/force_brick_orange_stairs_from_force_brick_orange.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_orange_stairs_from_force_brick_orange.json index f0bd75ed..0b90f2b4 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_orange_stairs_from_force_brick_orange.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_orange_stairs_from_force_brick_orange.json @@ -1,8 +1,10 @@ { "type": "minecraft:stonecutting", - "count": 1, "ingredient": { "item": "forcecraft:force_brick_orange" }, - "result": "forcecraft:force_brick_orange_stairs" + "result": { + "count": 1, + "id": "forcecraft:force_brick_orange_stairs" + } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_pink.json b/src/generated/resources/data/forcecraft/recipe/force_brick_pink.json similarity index 68% rename from src/generated/resources/data/forcecraft/recipes/force_brick_pink.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_pink.json index c7bdf133..9f3cdba3 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_pink.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_pink.json @@ -6,10 +6,11 @@ "item": "forcecraft:force_brick" }, { - "tag": "forge:dyes/pink" + "tag": "c:dyes/pink" } ], "result": { - "item": "forcecraft:force_brick_pink" + "count": 1, + "id": "forcecraft:force_brick_pink" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_pink_slab.json b/src/generated/resources/data/forcecraft/recipe/force_brick_pink_slab.json similarity index 81% rename from src/generated/resources/data/forcecraft/recipes/force_brick_pink_slab.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_pink_slab.json index dd6bbdd0..c6ff1f8a 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_pink_slab.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_pink_slab.json @@ -11,6 +11,6 @@ ], "result": { "count": 6, - "item": "forcecraft:force_brick_pink_slab" + "id": "forcecraft:force_brick_pink_slab" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_pink_slab_from_force_brick_pink.json b/src/generated/resources/data/forcecraft/recipe/force_brick_pink_slab_from_force_brick_pink.json similarity index 56% rename from src/generated/resources/data/forcecraft/recipes/force_brick_pink_slab_from_force_brick_pink.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_pink_slab_from_force_brick_pink.json index f9ede586..5f470ac6 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_pink_slab_from_force_brick_pink.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_pink_slab_from_force_brick_pink.json @@ -1,8 +1,10 @@ { "type": "minecraft:stonecutting", - "count": 2, "ingredient": { "item": "forcecraft:force_brick_pink" }, - "result": "forcecraft:force_brick_pink_slab" + "result": { + "count": 2, + "id": "forcecraft:force_brick_pink_slab" + } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_pink_stairs.json b/src/generated/resources/data/forcecraft/recipe/force_brick_pink_stairs.json similarity index 82% rename from src/generated/resources/data/forcecraft/recipes/force_brick_pink_stairs.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_pink_stairs.json index 80307e7c..3c86eb0e 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_pink_stairs.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_pink_stairs.json @@ -13,6 +13,6 @@ ], "result": { "count": 4, - "item": "forcecraft:force_brick_pink_stairs" + "id": "forcecraft:force_brick_pink_stairs" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_pink_stairs_from_force_brick_pink.json b/src/generated/resources/data/forcecraft/recipe/force_brick_pink_stairs_from_force_brick_pink.json similarity index 56% rename from src/generated/resources/data/forcecraft/recipes/force_brick_pink_stairs_from_force_brick_pink.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_pink_stairs_from_force_brick_pink.json index 53404c62..1be6c66b 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_pink_stairs_from_force_brick_pink.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_pink_stairs_from_force_brick_pink.json @@ -1,8 +1,10 @@ { "type": "minecraft:stonecutting", - "count": 1, "ingredient": { "item": "forcecraft:force_brick_pink" }, - "result": "forcecraft:force_brick_pink_stairs" + "result": { + "count": 1, + "id": "forcecraft:force_brick_pink_stairs" + } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_purple.json b/src/generated/resources/data/forcecraft/recipe/force_brick_purple.json similarity index 67% rename from src/generated/resources/data/forcecraft/recipes/force_brick_purple.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_purple.json index 8dedd9ce..fc6a0a81 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_purple.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_purple.json @@ -6,10 +6,11 @@ "item": "forcecraft:force_brick" }, { - "tag": "forge:dyes/purple" + "tag": "c:dyes/purple" } ], "result": { - "item": "forcecraft:force_brick_purple" + "count": 1, + "id": "forcecraft:force_brick_purple" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_purple_slab.json b/src/generated/resources/data/forcecraft/recipe/force_brick_purple_slab.json similarity index 81% rename from src/generated/resources/data/forcecraft/recipes/force_brick_purple_slab.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_purple_slab.json index 381f1245..acc375cc 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_purple_slab.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_purple_slab.json @@ -11,6 +11,6 @@ ], "result": { "count": 6, - "item": "forcecraft:force_brick_purple_slab" + "id": "forcecraft:force_brick_purple_slab" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_purple_slab_from_force_brick_purple.json b/src/generated/resources/data/forcecraft/recipe/force_brick_purple_slab_from_force_brick_purple.json similarity index 56% rename from src/generated/resources/data/forcecraft/recipes/force_brick_purple_slab_from_force_brick_purple.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_purple_slab_from_force_brick_purple.json index 77f0d0a3..375f9027 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_purple_slab_from_force_brick_purple.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_purple_slab_from_force_brick_purple.json @@ -1,8 +1,10 @@ { "type": "minecraft:stonecutting", - "count": 2, "ingredient": { "item": "forcecraft:force_brick_purple" }, - "result": "forcecraft:force_brick_purple_slab" + "result": { + "count": 2, + "id": "forcecraft:force_brick_purple_slab" + } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_purple_stairs.json b/src/generated/resources/data/forcecraft/recipe/force_brick_purple_stairs.json similarity index 82% rename from src/generated/resources/data/forcecraft/recipes/force_brick_purple_stairs.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_purple_stairs.json index 06e8e016..039d1542 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_purple_stairs.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_purple_stairs.json @@ -13,6 +13,6 @@ ], "result": { "count": 4, - "item": "forcecraft:force_brick_purple_stairs" + "id": "forcecraft:force_brick_purple_stairs" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_purple_stairs_from_force_brick_purple.json b/src/generated/resources/data/forcecraft/recipe/force_brick_purple_stairs_from_force_brick_purple.json similarity index 56% rename from src/generated/resources/data/forcecraft/recipes/force_brick_purple_stairs_from_force_brick_purple.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_purple_stairs_from_force_brick_purple.json index 9fa6f24d..610a4f15 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_purple_stairs_from_force_brick_purple.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_purple_stairs_from_force_brick_purple.json @@ -1,8 +1,10 @@ { "type": "minecraft:stonecutting", - "count": 1, "ingredient": { "item": "forcecraft:force_brick_purple" }, - "result": "forcecraft:force_brick_purple_stairs" + "result": { + "count": 1, + "id": "forcecraft:force_brick_purple_stairs" + } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_red.json b/src/generated/resources/data/forcecraft/recipe/force_brick_red.json similarity index 68% rename from src/generated/resources/data/forcecraft/recipes/force_brick_red.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_red.json index ce0d181e..6fd0d146 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_red.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_red.json @@ -6,10 +6,11 @@ "item": "forcecraft:force_brick" }, { - "tag": "forge:dyes/red" + "tag": "c:dyes/red" } ], "result": { - "item": "forcecraft:force_brick_red" + "count": 1, + "id": "forcecraft:force_brick_red" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_red_slab.json b/src/generated/resources/data/forcecraft/recipe/force_brick_red_slab.json similarity index 81% rename from src/generated/resources/data/forcecraft/recipes/force_brick_red_slab.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_red_slab.json index 51fdad93..9b22ad7f 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_red_slab.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_red_slab.json @@ -11,6 +11,6 @@ ], "result": { "count": 6, - "item": "forcecraft:force_brick_red_slab" + "id": "forcecraft:force_brick_red_slab" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_red_slab_from_force_brick_red.json b/src/generated/resources/data/forcecraft/recipe/force_brick_red_slab_from_force_brick_red.json similarity index 56% rename from src/generated/resources/data/forcecraft/recipes/force_brick_red_slab_from_force_brick_red.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_red_slab_from_force_brick_red.json index bb88e39a..effc3e45 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_red_slab_from_force_brick_red.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_red_slab_from_force_brick_red.json @@ -1,8 +1,10 @@ { "type": "minecraft:stonecutting", - "count": 2, "ingredient": { "item": "forcecraft:force_brick_red" }, - "result": "forcecraft:force_brick_red_slab" + "result": { + "count": 2, + "id": "forcecraft:force_brick_red_slab" + } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_red_stairs.json b/src/generated/resources/data/forcecraft/recipe/force_brick_red_stairs.json similarity index 82% rename from src/generated/resources/data/forcecraft/recipes/force_brick_red_stairs.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_red_stairs.json index 5419bddf..ff3b84be 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_red_stairs.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_red_stairs.json @@ -13,6 +13,6 @@ ], "result": { "count": 4, - "item": "forcecraft:force_brick_red_stairs" + "id": "forcecraft:force_brick_red_stairs" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_red_stairs_from_force_brick_red.json b/src/generated/resources/data/forcecraft/recipe/force_brick_red_stairs_from_force_brick_red.json similarity index 56% rename from src/generated/resources/data/forcecraft/recipes/force_brick_red_stairs_from_force_brick_red.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_red_stairs_from_force_brick_red.json index a99d4e90..7fc48110 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_red_stairs_from_force_brick_red.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_red_stairs_from_force_brick_red.json @@ -1,8 +1,10 @@ { "type": "minecraft:stonecutting", - "count": 1, "ingredient": { "item": "forcecraft:force_brick_red" }, - "result": "forcecraft:force_brick_red_stairs" + "result": { + "count": 1, + "id": "forcecraft:force_brick_red_stairs" + } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_slab.json b/src/generated/resources/data/forcecraft/recipe/force_brick_slab.json similarity index 82% rename from src/generated/resources/data/forcecraft/recipes/force_brick_slab.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_slab.json index 6f31ca72..2a2ee31c 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_slab.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_slab.json @@ -11,6 +11,6 @@ ], "result": { "count": 6, - "item": "forcecraft:force_brick_slab" + "id": "forcecraft:force_brick_slab" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_slab_from_force_brick.json b/src/generated/resources/data/forcecraft/recipe/force_brick_slab_from_force_brick.json similarity index 57% rename from src/generated/resources/data/forcecraft/recipes/force_brick_slab_from_force_brick.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_slab_from_force_brick.json index 15bc1f8c..cde9bc9e 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_slab_from_force_brick.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_slab_from_force_brick.json @@ -1,8 +1,10 @@ { "type": "minecraft:stonecutting", - "count": 2, "ingredient": { "item": "forcecraft:force_brick" }, - "result": "forcecraft:force_brick_slab" + "result": { + "count": 2, + "id": "forcecraft:force_brick_slab" + } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_stairs.json b/src/generated/resources/data/forcecraft/recipe/force_brick_stairs.json similarity index 83% rename from src/generated/resources/data/forcecraft/recipes/force_brick_stairs.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_stairs.json index 1a1a20e1..18450292 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_stairs.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_stairs.json @@ -13,6 +13,6 @@ ], "result": { "count": 4, - "item": "forcecraft:force_brick_stairs" + "id": "forcecraft:force_brick_stairs" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_stairs_from_force_brick.json b/src/generated/resources/data/forcecraft/recipe/force_brick_stairs_from_force_brick.json similarity index 56% rename from src/generated/resources/data/forcecraft/recipes/force_brick_stairs_from_force_brick.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_stairs_from_force_brick.json index 53f3d320..00d8efd0 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_stairs_from_force_brick.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_stairs_from_force_brick.json @@ -1,8 +1,10 @@ { "type": "minecraft:stonecutting", - "count": 1, "ingredient": { "item": "forcecraft:force_brick" }, - "result": "forcecraft:force_brick_stairs" + "result": { + "count": 1, + "id": "forcecraft:force_brick_stairs" + } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_white.json b/src/generated/resources/data/forcecraft/recipe/force_brick_white.json similarity index 67% rename from src/generated/resources/data/forcecraft/recipes/force_brick_white.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_white.json index 8ebf6e6c..2ea6b398 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_white.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_white.json @@ -6,10 +6,11 @@ "item": "forcecraft:force_brick" }, { - "tag": "forge:dyes/white" + "tag": "c:dyes/white" } ], "result": { - "item": "forcecraft:force_brick_white" + "count": 1, + "id": "forcecraft:force_brick_white" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_white_slab.json b/src/generated/resources/data/forcecraft/recipe/force_brick_white_slab.json similarity index 81% rename from src/generated/resources/data/forcecraft/recipes/force_brick_white_slab.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_white_slab.json index 6e1993a2..ac8e391d 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_white_slab.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_white_slab.json @@ -11,6 +11,6 @@ ], "result": { "count": 6, - "item": "forcecraft:force_brick_white_slab" + "id": "forcecraft:force_brick_white_slab" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_white_slab_from_force_brick_white.json b/src/generated/resources/data/forcecraft/recipe/force_brick_white_slab_from_force_brick_white.json similarity index 56% rename from src/generated/resources/data/forcecraft/recipes/force_brick_white_slab_from_force_brick_white.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_white_slab_from_force_brick_white.json index b550283d..d214365a 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_white_slab_from_force_brick_white.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_white_slab_from_force_brick_white.json @@ -1,8 +1,10 @@ { "type": "minecraft:stonecutting", - "count": 2, "ingredient": { "item": "forcecraft:force_brick_white" }, - "result": "forcecraft:force_brick_white_slab" + "result": { + "count": 2, + "id": "forcecraft:force_brick_white_slab" + } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_white_stairs.json b/src/generated/resources/data/forcecraft/recipe/force_brick_white_stairs.json similarity index 82% rename from src/generated/resources/data/forcecraft/recipes/force_brick_white_stairs.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_white_stairs.json index edefed76..9dc78205 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_white_stairs.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_white_stairs.json @@ -13,6 +13,6 @@ ], "result": { "count": 4, - "item": "forcecraft:force_brick_white_stairs" + "id": "forcecraft:force_brick_white_stairs" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_white_stairs_from_force_brick_white.json b/src/generated/resources/data/forcecraft/recipe/force_brick_white_stairs_from_force_brick_white.json similarity index 56% rename from src/generated/resources/data/forcecraft/recipes/force_brick_white_stairs_from_force_brick_white.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_white_stairs_from_force_brick_white.json index ad0b1347..fd250851 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_white_stairs_from_force_brick_white.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_white_stairs_from_force_brick_white.json @@ -1,8 +1,10 @@ { "type": "minecraft:stonecutting", - "count": 1, "ingredient": { "item": "forcecraft:force_brick_white" }, - "result": "forcecraft:force_brick_white_stairs" + "result": { + "count": 1, + "id": "forcecraft:force_brick_white_stairs" + } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_yellow.json b/src/generated/resources/data/forcecraft/recipe/force_brick_yellow.json similarity index 67% rename from src/generated/resources/data/forcecraft/recipes/force_brick_yellow.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_yellow.json index e13a111b..2f4af305 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_yellow.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_yellow.json @@ -6,10 +6,11 @@ "item": "forcecraft:force_brick" }, { - "tag": "forge:dyes/yellow" + "tag": "c:dyes/yellow" } ], "result": { - "item": "forcecraft:force_brick_yellow" + "count": 1, + "id": "forcecraft:force_brick_yellow" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_yellow_slab.json b/src/generated/resources/data/forcecraft/recipe/force_brick_yellow_slab.json similarity index 81% rename from src/generated/resources/data/forcecraft/recipes/force_brick_yellow_slab.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_yellow_slab.json index dbbf0439..3747200c 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_yellow_slab.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_yellow_slab.json @@ -11,6 +11,6 @@ ], "result": { "count": 6, - "item": "forcecraft:force_brick_yellow_slab" + "id": "forcecraft:force_brick_yellow_slab" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_yellow_slab_from_force_brick_yellow.json b/src/generated/resources/data/forcecraft/recipe/force_brick_yellow_slab_from_force_brick_yellow.json similarity index 56% rename from src/generated/resources/data/forcecraft/recipes/force_brick_yellow_slab_from_force_brick_yellow.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_yellow_slab_from_force_brick_yellow.json index 6e731d9d..bc9c237d 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_yellow_slab_from_force_brick_yellow.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_yellow_slab_from_force_brick_yellow.json @@ -1,8 +1,10 @@ { "type": "minecraft:stonecutting", - "count": 2, "ingredient": { "item": "forcecraft:force_brick_yellow" }, - "result": "forcecraft:force_brick_yellow_slab" + "result": { + "count": 2, + "id": "forcecraft:force_brick_yellow_slab" + } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_yellow_stairs.json b/src/generated/resources/data/forcecraft/recipe/force_brick_yellow_stairs.json similarity index 82% rename from src/generated/resources/data/forcecraft/recipes/force_brick_yellow_stairs.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_yellow_stairs.json index cd62d053..472d78d3 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_yellow_stairs.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_yellow_stairs.json @@ -13,6 +13,6 @@ ], "result": { "count": 4, - "item": "forcecraft:force_brick_yellow_stairs" + "id": "forcecraft:force_brick_yellow_stairs" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brick_yellow_stairs_from_force_brick_yellow.json b/src/generated/resources/data/forcecraft/recipe/force_brick_yellow_stairs_from_force_brick_yellow.json similarity index 56% rename from src/generated/resources/data/forcecraft/recipes/force_brick_yellow_stairs_from_force_brick_yellow.json rename to src/generated/resources/data/forcecraft/recipe/force_brick_yellow_stairs_from_force_brick_yellow.json index 268ce6ef..31872385 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brick_yellow_stairs_from_force_brick_yellow.json +++ b/src/generated/resources/data/forcecraft/recipe/force_brick_yellow_stairs_from_force_brick_yellow.json @@ -1,8 +1,10 @@ { "type": "minecraft:stonecutting", - "count": 1, "ingredient": { "item": "forcecraft:force_brick_yellow" }, - "result": "forcecraft:force_brick_yellow_stairs" + "result": { + "count": 1, + "id": "forcecraft:force_brick_yellow_stairs" + } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipe/force_brown_torch.json b/src/generated/resources/data/forcecraft/recipe/force_brown_torch.json new file mode 100644 index 00000000..6057ee93 --- /dev/null +++ b/src/generated/resources/data/forcecraft/recipe/force_brown_torch.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "D": { + "tag": "c:dyes/brown" + }, + "T": { + "item": "forcecraft:force_torch" + } + }, + "pattern": [ + "TTT", + "TDT", + "TTT" + ], + "result": { + "count": 8, + "id": "forcecraft:force_brown_torch" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_chest.json b/src/generated/resources/data/forcecraft/recipe/force_chest.json similarity index 67% rename from src/generated/resources/data/forcecraft/recipes/force_chest.json rename to src/generated/resources/data/forcecraft/recipe/force_chest.json index c58b8ff3..abf46dff 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_chest.json +++ b/src/generated/resources/data/forcecraft/recipe/force_chest.json @@ -3,7 +3,7 @@ "category": "equipment", "key": { "F": { - "tag": "forge:ingots/force" + "tag": "c:ingots/force" } }, "pattern": [ @@ -12,6 +12,7 @@ "FFF" ], "result": { - "item": "forcecraft:force_chest" + "count": 1, + "id": "forcecraft:force_chest" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_cyan_torch.json b/src/generated/resources/data/forcecraft/recipe/force_cyan_torch.json similarity index 76% rename from src/generated/resources/data/forcecraft/recipes/force_cyan_torch.json rename to src/generated/resources/data/forcecraft/recipe/force_cyan_torch.json index b2459d50..e23c5b1f 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_cyan_torch.json +++ b/src/generated/resources/data/forcecraft/recipe/force_cyan_torch.json @@ -3,7 +3,7 @@ "category": "building", "key": { "D": { - "tag": "forge:dyes/cyan" + "tag": "c:dyes/cyan" }, "T": { "item": "forcecraft:force_torch" @@ -16,6 +16,6 @@ ], "result": { "count": 8, - "item": "forcecraft:force_cyan_torch" + "id": "forcecraft:force_cyan_torch" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_engine.json b/src/generated/resources/data/forcecraft/recipe/force_engine.json similarity index 64% rename from src/generated/resources/data/forcecraft/recipes/force_engine.json rename to src/generated/resources/data/forcecraft/recipe/force_engine.json index d6249ac4..b5ab5e41 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_engine.json +++ b/src/generated/resources/data/forcecraft/recipe/force_engine.json @@ -3,13 +3,13 @@ "category": "redstone", "key": { "#": { - "tag": "forge:glass" + "tag": "c:glass_blocks" }, "F": { - "tag": "forge:ingots/force" + "tag": "c:ingots/force" }, "G": { - "tag": "forge:gears/force" + "tag": "c:gears/force" }, "P": { "item": "minecraft:piston" @@ -21,6 +21,7 @@ "GPG" ], "result": { - "item": "forcecraft:force_engine" + "count": 1, + "id": "forcecraft:force_engine" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_flask.json b/src/generated/resources/data/forcecraft/recipe/force_flask.json similarity index 67% rename from src/generated/resources/data/forcecraft/recipes/force_flask.json rename to src/generated/resources/data/forcecraft/recipe/force_flask.json index 5310ce72..98478a6b 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_flask.json +++ b/src/generated/resources/data/forcecraft/recipe/force_flask.json @@ -3,10 +3,10 @@ "category": "misc", "key": { "G": { - "tag": "forge:glass" + "tag": "c:glass_blocks" }, "N": { - "tag": "forge:nuggets/force" + "tag": "c:nuggets/force" } }, "pattern": [ @@ -16,6 +16,6 @@ ], "result": { "count": 3, - "item": "forcecraft:force_flask" + "id": "forcecraft:force_flask" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_flask_from_entity_flask.json b/src/generated/resources/data/forcecraft/recipe/force_flask_from_entity_flask.json similarity index 78% rename from src/generated/resources/data/forcecraft/recipes/force_flask_from_entity_flask.json rename to src/generated/resources/data/forcecraft/recipe/force_flask_from_entity_flask.json index 6d04df08..ec3c78ba 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_flask_from_entity_flask.json +++ b/src/generated/resources/data/forcecraft/recipe/force_flask_from_entity_flask.json @@ -10,6 +10,7 @@ "E" ], "result": { - "item": "forcecraft:force_flask" + "count": 1, + "id": "forcecraft:force_flask" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_furnace.json b/src/generated/resources/data/forcecraft/recipe/force_furnace.json similarity index 68% rename from src/generated/resources/data/forcecraft/recipes/force_furnace.json rename to src/generated/resources/data/forcecraft/recipe/force_furnace.json index 2cd3312e..552937a6 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_furnace.json +++ b/src/generated/resources/data/forcecraft/recipe/force_furnace.json @@ -3,10 +3,10 @@ "category": "redstone", "key": { "F": { - "tag": "forge:ingots/force" + "tag": "c:ingots/force" }, "I": { - "tag": "forge:ingots/iron" + "tag": "c:ingots/iron" }, "U": { "item": "minecraft:furnace" @@ -18,6 +18,7 @@ "IUI" ], "result": { - "item": "forcecraft:force_furnace" + "count": 1, + "id": "forcecraft:force_furnace" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_furnace_from_dye.json b/src/generated/resources/data/forcecraft/recipe/force_furnace_from_dye.json similarity index 67% rename from src/generated/resources/data/forcecraft/recipes/force_furnace_from_dye.json rename to src/generated/resources/data/forcecraft/recipe/force_furnace_from_dye.json index 4c6df0e1..7813dca2 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_furnace_from_dye.json +++ b/src/generated/resources/data/forcecraft/recipe/force_furnace_from_dye.json @@ -6,10 +6,11 @@ "tag": "forcecraft:force_furnace" }, { - "tag": "forge:dyes/yellow" + "tag": "c:dyes/yellow" } ], "result": { - "item": "forcecraft:force_furnace" + "count": 1, + "id": "forcecraft:force_furnace" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_gear.json b/src/generated/resources/data/forcecraft/recipe/force_gear.json similarity index 67% rename from src/generated/resources/data/forcecraft/recipes/force_gear.json rename to src/generated/resources/data/forcecraft/recipe/force_gear.json index 699373a5..69314473 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_gear.json +++ b/src/generated/resources/data/forcecraft/recipe/force_gear.json @@ -3,7 +3,7 @@ "category": "misc", "key": { "F": { - "tag": "forge:ingots/force" + "tag": "c:ingots/force" } }, "pattern": [ @@ -12,6 +12,7 @@ " F " ], "result": { - "item": "forcecraft:force_gear" + "count": 1, + "id": "forcecraft:force_gear" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_gray_torch.json b/src/generated/resources/data/forcecraft/recipe/force_gray_torch.json similarity index 76% rename from src/generated/resources/data/forcecraft/recipes/force_gray_torch.json rename to src/generated/resources/data/forcecraft/recipe/force_gray_torch.json index 073c09fa..10f22806 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_gray_torch.json +++ b/src/generated/resources/data/forcecraft/recipe/force_gray_torch.json @@ -3,7 +3,7 @@ "category": "building", "key": { "D": { - "tag": "forge:dyes/gray" + "tag": "c:dyes/gray" }, "T": { "item": "forcecraft:force_torch" @@ -16,6 +16,6 @@ ], "result": { "count": 8, - "item": "forcecraft:force_gray_torch" + "id": "forcecraft:force_gray_torch" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipe/force_green_torch.json b/src/generated/resources/data/forcecraft/recipe/force_green_torch.json new file mode 100644 index 00000000..67af1a8e --- /dev/null +++ b/src/generated/resources/data/forcecraft/recipe/force_green_torch.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "D": { + "tag": "c:dyes/green" + }, + "T": { + "item": "forcecraft:force_torch" + } + }, + "pattern": [ + "TTT", + "TDT", + "TTT" + ], + "result": { + "count": 8, + "id": "forcecraft:force_green_torch" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_helmet.json b/src/generated/resources/data/forcecraft/recipe/force_helmet.json similarity index 66% rename from src/generated/resources/data/forcecraft/recipes/force_helmet.json rename to src/generated/resources/data/forcecraft/recipe/force_helmet.json index 71c5e824..a7e7a341 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_helmet.json +++ b/src/generated/resources/data/forcecraft/recipe/force_helmet.json @@ -3,7 +3,7 @@ "category": "equipment", "key": { "F": { - "tag": "forge:ingots/force" + "tag": "c:ingots/force" } }, "pattern": [ @@ -11,6 +11,7 @@ "F F" ], "result": { - "item": "forcecraft:force_helmet" + "count": 1, + "id": "forcecraft:force_helmet" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_ingot_from_gold.json b/src/generated/resources/data/forcecraft/recipe/force_ingot_from_gold.json similarity index 54% rename from src/generated/resources/data/forcecraft/recipes/force_ingot_from_gold.json rename to src/generated/resources/data/forcecraft/recipe/force_ingot_from_gold.json index c4454ba8..b7ec2fc4 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_ingot_from_gold.json +++ b/src/generated/resources/data/forcecraft/recipe/force_ingot_from_gold.json @@ -3,17 +3,17 @@ "category": "misc", "ingredients": [ { - "tag": "forge:ingots/gold" + "tag": "c:ingots/gold" }, { - "tag": "forge:ingots/gold" + "tag": "c:ingots/gold" }, { - "tag": "forge:gems/force" + "tag": "c:gems/force" } ], "result": { "count": 3, - "item": "forcecraft:force_ingot" + "id": "forcecraft:force_ingot" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_ingot_from_iron.json b/src/generated/resources/data/forcecraft/recipe/force_ingot_from_iron.json similarity index 54% rename from src/generated/resources/data/forcecraft/recipes/force_ingot_from_iron.json rename to src/generated/resources/data/forcecraft/recipe/force_ingot_from_iron.json index fffb8886..bf9bd62c 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_ingot_from_iron.json +++ b/src/generated/resources/data/forcecraft/recipe/force_ingot_from_iron.json @@ -3,17 +3,17 @@ "category": "misc", "ingredients": [ { - "tag": "forge:ingots/iron" + "tag": "c:ingots/iron" }, { - "tag": "forge:ingots/iron" + "tag": "c:ingots/iron" }, { - "tag": "forge:gems/force" + "tag": "c:gems/force" } ], "result": { "count": 2, - "item": "forcecraft:force_ingot" + "id": "forcecraft:force_ingot" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_ingot_from_nuggets.json b/src/generated/resources/data/forcecraft/recipe/force_ingot_from_nuggets.json similarity index 67% rename from src/generated/resources/data/forcecraft/recipes/force_ingot_from_nuggets.json rename to src/generated/resources/data/forcecraft/recipe/force_ingot_from_nuggets.json index b3daf252..e4ecca5b 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_ingot_from_nuggets.json +++ b/src/generated/resources/data/forcecraft/recipe/force_ingot_from_nuggets.json @@ -3,7 +3,7 @@ "category": "misc", "key": { "N": { - "tag": "forge:nuggets/force" + "tag": "c:nuggets/force" } }, "pattern": [ @@ -12,6 +12,7 @@ "NNN" ], "result": { - "item": "forcecraft:force_ingot" + "count": 1, + "id": "forcecraft:force_ingot" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_legs.json b/src/generated/resources/data/forcecraft/recipe/force_legs.json similarity index 68% rename from src/generated/resources/data/forcecraft/recipes/force_legs.json rename to src/generated/resources/data/forcecraft/recipe/force_legs.json index cb127f62..650731a9 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_legs.json +++ b/src/generated/resources/data/forcecraft/recipe/force_legs.json @@ -3,7 +3,7 @@ "category": "equipment", "key": { "F": { - "tag": "forge:ingots/force" + "tag": "c:ingots/force" } }, "pattern": [ @@ -12,6 +12,7 @@ "F F" ], "result": { - "item": "forcecraft:force_legs" + "count": 1, + "id": "forcecraft:force_legs" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_brown_torch.json b/src/generated/resources/data/forcecraft/recipe/force_light_blue_torch.json similarity index 75% rename from src/generated/resources/data/forcecraft/recipes/force_brown_torch.json rename to src/generated/resources/data/forcecraft/recipe/force_light_blue_torch.json index 4e33004e..e235af30 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_brown_torch.json +++ b/src/generated/resources/data/forcecraft/recipe/force_light_blue_torch.json @@ -3,7 +3,7 @@ "category": "building", "key": { "D": { - "tag": "forge:dyes/brown" + "tag": "c:dyes/light_blue" }, "T": { "item": "forcecraft:force_torch" @@ -16,6 +16,6 @@ ], "result": { "count": 8, - "item": "forcecraft:force_brown_torch" + "id": "forcecraft:force_light_blue_torch" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_black_torch.json b/src/generated/resources/data/forcecraft/recipe/force_light_gray_torch.json similarity index 75% rename from src/generated/resources/data/forcecraft/recipes/force_black_torch.json rename to src/generated/resources/data/forcecraft/recipe/force_light_gray_torch.json index d14ae35c..50e21aa3 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_black_torch.json +++ b/src/generated/resources/data/forcecraft/recipe/force_light_gray_torch.json @@ -3,7 +3,7 @@ "category": "building", "key": { "D": { - "tag": "forge:dyes/black" + "tag": "c:dyes/light_gray" }, "T": { "item": "forcecraft:force_torch" @@ -16,6 +16,6 @@ ], "result": { "count": 8, - "item": "forcecraft:force_black_torch" + "id": "forcecraft:force_light_gray_torch" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_lime_torch.json b/src/generated/resources/data/forcecraft/recipe/force_lime_torch.json similarity index 76% rename from src/generated/resources/data/forcecraft/recipes/force_lime_torch.json rename to src/generated/resources/data/forcecraft/recipe/force_lime_torch.json index 78ce21f7..a13cb0b2 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_lime_torch.json +++ b/src/generated/resources/data/forcecraft/recipe/force_lime_torch.json @@ -3,7 +3,7 @@ "category": "building", "key": { "D": { - "tag": "forge:dyes/lime" + "tag": "c:dyes/lime" }, "T": { "item": "forcecraft:force_torch" @@ -16,6 +16,6 @@ ], "result": { "count": 8, - "item": "forcecraft:force_lime_torch" + "id": "forcecraft:force_lime_torch" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipe/force_magenta_torch.json b/src/generated/resources/data/forcecraft/recipe/force_magenta_torch.json new file mode 100644 index 00000000..9970a819 --- /dev/null +++ b/src/generated/resources/data/forcecraft/recipe/force_magenta_torch.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "D": { + "tag": "c:dyes/magenta" + }, + "T": { + "item": "forcecraft:force_torch" + } + }, + "pattern": [ + "TTT", + "TDT", + "TTT" + ], + "result": { + "count": 8, + "id": "forcecraft:force_magenta_torch" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_mitt.json b/src/generated/resources/data/forcecraft/recipe/force_mitt.json similarity index 56% rename from src/generated/resources/data/forcecraft/recipes/force_mitt.json rename to src/generated/resources/data/forcecraft/recipe/force_mitt.json index bef0a6ac..fb02fc9b 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_mitt.json +++ b/src/generated/resources/data/forcecraft/recipe/force_mitt.json @@ -3,16 +3,16 @@ "category": "equipment", "key": { "C": { - "tag": "forge:cobblestone/normal" + "tag": "c:cobblestones/normal" }, "F": { - "tag": "forge:ingots/force" + "tag": "c:ingots/force" }, "I": { - "tag": "forge:ingots/iron" + "tag": "c:ingots/iron" }, "L": { - "tag": "forge:leather" + "tag": "c:leathers" } }, "pattern": [ @@ -21,6 +21,7 @@ "CLL" ], "result": { - "item": "forcecraft:force_mitt" + "count": 1, + "id": "forcecraft:force_mitt" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_nugget.json b/src/generated/resources/data/forcecraft/recipe/force_nugget.json similarity index 65% rename from src/generated/resources/data/forcecraft/recipes/force_nugget.json rename to src/generated/resources/data/forcecraft/recipe/force_nugget.json index 6ae5f254..94729e9d 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_nugget.json +++ b/src/generated/resources/data/forcecraft/recipe/force_nugget.json @@ -3,11 +3,11 @@ "category": "misc", "ingredients": [ { - "tag": "forge:ingots/force" + "tag": "c:ingots/force" } ], "result": { "count": 9, - "item": "forcecraft:force_nugget" + "id": "forcecraft:force_nugget" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipe/force_orange_torch.json b/src/generated/resources/data/forcecraft/recipe/force_orange_torch.json new file mode 100644 index 00000000..cc6f9a2c --- /dev/null +++ b/src/generated/resources/data/forcecraft/recipe/force_orange_torch.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "D": { + "tag": "c:dyes/orange" + }, + "T": { + "item": "forcecraft:force_torch" + } + }, + "pattern": [ + "TTT", + "TDT", + "TTT" + ], + "result": { + "count": 8, + "id": "forcecraft:force_orange_torch" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_pack.json b/src/generated/resources/data/forcecraft/recipe/force_pack.json similarity index 69% rename from src/generated/resources/data/forcecraft/recipes/force_pack.json rename to src/generated/resources/data/forcecraft/recipe/force_pack.json index 7fd8c464..75e0ae58 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_pack.json +++ b/src/generated/resources/data/forcecraft/recipe/force_pack.json @@ -6,10 +6,10 @@ "tag": "minecraft:planks" }, "F": { - "tag": "forge:ingots/force" + "tag": "c:ingots/force" }, "L": { - "tag": "forge:leather" + "tag": "c:leathers" } }, "pattern": [ @@ -18,6 +18,7 @@ "FLF" ], "result": { - "item": "forcecraft:force_pack" + "count": 1, + "id": "forcecraft:force_pack" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_pack_upgrade.json b/src/generated/resources/data/forcecraft/recipe/force_pack_upgrade.json similarity index 67% rename from src/generated/resources/data/forcecraft/recipes/force_pack_upgrade.json rename to src/generated/resources/data/forcecraft/recipe/force_pack_upgrade.json index 88695862..6a8df1f9 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_pack_upgrade.json +++ b/src/generated/resources/data/forcecraft/recipe/force_pack_upgrade.json @@ -3,10 +3,10 @@ "category": "misc", "key": { "I": { - "tag": "forge:ingots/force" + "tag": "c:ingots/force" }, "L": { - "tag": "forge:leather" + "tag": "c:leathers" }, "W": { "tag": "minecraft:wool" @@ -18,6 +18,7 @@ "WLW" ], "result": { - "item": "forcecraft:force_pack_upgrade" + "count": 1, + "id": "forcecraft:force_pack_upgrade" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_pickaxe.json b/src/generated/resources/data/forcecraft/recipe/force_pickaxe.json similarity index 63% rename from src/generated/resources/data/forcecraft/recipes/force_pickaxe.json rename to src/generated/resources/data/forcecraft/recipe/force_pickaxe.json index 01b811e8..8560d2de 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_pickaxe.json +++ b/src/generated/resources/data/forcecraft/recipe/force_pickaxe.json @@ -3,10 +3,10 @@ "category": "equipment", "key": { "F": { - "tag": "forge:ingots/force" + "tag": "c:ingots/force" }, "S": { - "tag": "forge:rods/force" + "tag": "c:rods/force" } }, "pattern": [ @@ -15,6 +15,7 @@ " S " ], "result": { - "item": "forcecraft:force_pickaxe" + "count": 1, + "id": "forcecraft:force_pickaxe" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_pink_torch.json b/src/generated/resources/data/forcecraft/recipe/force_pink_torch.json similarity index 76% rename from src/generated/resources/data/forcecraft/recipes/force_pink_torch.json rename to src/generated/resources/data/forcecraft/recipe/force_pink_torch.json index af1f7215..ba33c015 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_pink_torch.json +++ b/src/generated/resources/data/forcecraft/recipe/force_pink_torch.json @@ -3,7 +3,7 @@ "category": "building", "key": { "D": { - "tag": "forge:dyes/pink" + "tag": "c:dyes/pink" }, "T": { "item": "forcecraft:force_torch" @@ -16,6 +16,6 @@ ], "result": { "count": 8, - "item": "forcecraft:force_pink_torch" + "id": "forcecraft:force_pink_torch" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_plank_slab.json b/src/generated/resources/data/forcecraft/recipe/force_plank_slab.json similarity index 82% rename from src/generated/resources/data/forcecraft/recipes/force_plank_slab.json rename to src/generated/resources/data/forcecraft/recipe/force_plank_slab.json index 0ac5a8e4..f3b17707 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_plank_slab.json +++ b/src/generated/resources/data/forcecraft/recipe/force_plank_slab.json @@ -11,6 +11,6 @@ ], "result": { "count": 6, - "item": "forcecraft:force_plank_slab" + "id": "forcecraft:force_plank_slab" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_plank_stairs.json b/src/generated/resources/data/forcecraft/recipe/force_plank_stairs.json similarity index 83% rename from src/generated/resources/data/forcecraft/recipes/force_plank_stairs.json rename to src/generated/resources/data/forcecraft/recipe/force_plank_stairs.json index 7630dec7..351d1073 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_plank_stairs.json +++ b/src/generated/resources/data/forcecraft/recipe/force_plank_stairs.json @@ -13,6 +13,6 @@ ], "result": { "count": 4, - "item": "forcecraft:force_plank_stairs" + "id": "forcecraft:force_plank_stairs" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_planks.json b/src/generated/resources/data/forcecraft/recipe/force_planks.json similarity index 82% rename from src/generated/resources/data/forcecraft/recipes/force_planks.json rename to src/generated/resources/data/forcecraft/recipe/force_planks.json index 4e65a5a0..f32d4fd3 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_planks.json +++ b/src/generated/resources/data/forcecraft/recipe/force_planks.json @@ -8,6 +8,6 @@ ], "result": { "count": 4, - "item": "forcecraft:force_planks" + "id": "forcecraft:force_planks" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipe/force_purple_torch.json b/src/generated/resources/data/forcecraft/recipe/force_purple_torch.json new file mode 100644 index 00000000..1a3c8bb7 --- /dev/null +++ b/src/generated/resources/data/forcecraft/recipe/force_purple_torch.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "D": { + "tag": "c:dyes/purple" + }, + "T": { + "item": "forcecraft:force_torch" + } + }, + "pattern": [ + "TTT", + "TDT", + "TTT" + ], + "result": { + "count": 8, + "id": "forcecraft:force_purple_torch" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_red_torch.json b/src/generated/resources/data/forcecraft/recipe/force_red_torch.json similarity index 77% rename from src/generated/resources/data/forcecraft/recipes/force_red_torch.json rename to src/generated/resources/data/forcecraft/recipe/force_red_torch.json index 694c7585..ab862251 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_red_torch.json +++ b/src/generated/resources/data/forcecraft/recipe/force_red_torch.json @@ -3,7 +3,7 @@ "category": "building", "key": { "D": { - "tag": "forge:dyes/red" + "tag": "c:dyes/red" }, "T": { "item": "forcecraft:force_torch" @@ -16,6 +16,6 @@ ], "result": { "count": 8, - "item": "forcecraft:force_red_torch" + "id": "forcecraft:force_red_torch" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_rod.json b/src/generated/resources/data/forcecraft/recipe/force_rod.json similarity index 60% rename from src/generated/resources/data/forcecraft/recipes/force_rod.json rename to src/generated/resources/data/forcecraft/recipe/force_rod.json index f69bd31a..f67e363f 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_rod.json +++ b/src/generated/resources/data/forcecraft/recipe/force_rod.json @@ -3,13 +3,13 @@ "category": "equipment", "key": { "F": { - "tag": "forge:ingots/force" + "tag": "c:ingots/force" }, "N": { - "tag": "forge:nuggets/force" + "tag": "c:nuggets/force" }, "S": { - "tag": "forge:rods/force" + "tag": "c:rods/force" } }, "pattern": [ @@ -18,6 +18,7 @@ "N " ], "result": { - "item": "forcecraft:force_rod" + "count": 1, + "id": "forcecraft:force_rod" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_rod_from_stick.json b/src/generated/resources/data/forcecraft/recipe/force_rod_from_stick.json similarity index 59% rename from src/generated/resources/data/forcecraft/recipes/force_rod_from_stick.json rename to src/generated/resources/data/forcecraft/recipe/force_rod_from_stick.json index 7cfd2bc1..e9445d6f 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_rod_from_stick.json +++ b/src/generated/resources/data/forcecraft/recipe/force_rod_from_stick.json @@ -3,10 +3,10 @@ "category": "equipment", "key": { "F": { - "tag": "forge:ingots/force" + "tag": "c:ingots/force" }, "N": { - "tag": "forge:nuggets/force" + "tag": "c:nuggets/force" }, "S": { "item": "minecraft:stick" @@ -18,7 +18,10 @@ "N " ], "result": { - "item": "forcecraft:force_rod", - "nbt": "{Damage:73}" + "components": { + "minecraft:damage": 73 + }, + "count": 1, + "id": "forcecraft:force_rod" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_shears.json b/src/generated/resources/data/forcecraft/recipe/force_shears.json similarity index 65% rename from src/generated/resources/data/forcecraft/recipes/force_shears.json rename to src/generated/resources/data/forcecraft/recipe/force_shears.json index 6b18bfb3..8239c950 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_shears.json +++ b/src/generated/resources/data/forcecraft/recipe/force_shears.json @@ -3,7 +3,7 @@ "category": "equipment", "key": { "F": { - "tag": "forge:ingots/force" + "tag": "c:ingots/force" } }, "pattern": [ @@ -11,6 +11,7 @@ " F" ], "result": { - "item": "forcecraft:force_shears" + "count": 1, + "id": "forcecraft:force_shears" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_shovel.json b/src/generated/resources/data/forcecraft/recipe/force_shovel.json similarity index 62% rename from src/generated/resources/data/forcecraft/recipes/force_shovel.json rename to src/generated/resources/data/forcecraft/recipe/force_shovel.json index c9f9b024..755816fe 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_shovel.json +++ b/src/generated/resources/data/forcecraft/recipe/force_shovel.json @@ -3,10 +3,10 @@ "category": "equipment", "key": { "F": { - "tag": "forge:ingots/force" + "tag": "c:ingots/force" }, "S": { - "tag": "forge:rods/force" + "tag": "c:rods/force" } }, "pattern": [ @@ -15,6 +15,7 @@ "S" ], "result": { - "item": "forcecraft:force_shovel" + "count": 1, + "id": "forcecraft:force_shovel" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_stick.json b/src/generated/resources/data/forcecraft/recipe/force_stick.json similarity index 85% rename from src/generated/resources/data/forcecraft/recipes/force_stick.json rename to src/generated/resources/data/forcecraft/recipe/force_stick.json index 652cbc6d..12c5226e 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_stick.json +++ b/src/generated/resources/data/forcecraft/recipe/force_stick.json @@ -12,6 +12,6 @@ ], "result": { "count": 4, - "item": "forcecraft:force_stick" + "id": "forcecraft:force_stick" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_sword.json b/src/generated/resources/data/forcecraft/recipe/force_sword.json similarity index 62% rename from src/generated/resources/data/forcecraft/recipes/force_sword.json rename to src/generated/resources/data/forcecraft/recipe/force_sword.json index cc7cec25..21497309 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_sword.json +++ b/src/generated/resources/data/forcecraft/recipe/force_sword.json @@ -3,10 +3,10 @@ "category": "equipment", "key": { "F": { - "tag": "forge:ingots/force" + "tag": "c:ingots/force" }, "S": { - "tag": "forge:rods/force" + "tag": "c:rods/force" } }, "pattern": [ @@ -15,6 +15,7 @@ "S" ], "result": { - "item": "forcecraft:force_sword" + "count": 1, + "id": "forcecraft:force_sword" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_torch.json b/src/generated/resources/data/forcecraft/recipe/force_torch.json similarity index 77% rename from src/generated/resources/data/forcecraft/recipes/force_torch.json rename to src/generated/resources/data/forcecraft/recipe/force_torch.json index 865e4894..9cb1551c 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_torch.json +++ b/src/generated/resources/data/forcecraft/recipe/force_torch.json @@ -6,7 +6,7 @@ "item": "forcecraft:golden_power_source" }, "S": { - "tag": "forge:rods/wooden" + "tag": "c:rods/wooden" } }, "pattern": [ @@ -15,6 +15,6 @@ ], "result": { "count": 4, - "item": "forcecraft:force_torch" + "id": "forcecraft:force_torch" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipe/force_white_torch.json b/src/generated/resources/data/forcecraft/recipe/force_white_torch.json new file mode 100644 index 00000000..46cd5340 --- /dev/null +++ b/src/generated/resources/data/forcecraft/recipe/force_white_torch.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "D": { + "tag": "c:dyes/white" + }, + "T": { + "item": "forcecraft:force_torch" + } + }, + "pattern": [ + "TTT", + "TDT", + "TTT" + ], + "result": { + "count": 8, + "id": "forcecraft:force_white_torch" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_wood.json b/src/generated/resources/data/forcecraft/recipe/force_wood.json similarity index 85% rename from src/generated/resources/data/forcecraft/recipes/force_wood.json rename to src/generated/resources/data/forcecraft/recipe/force_wood.json index 6b436c83..7e7728b4 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_wood.json +++ b/src/generated/resources/data/forcecraft/recipe/force_wood.json @@ -12,6 +12,6 @@ ], "result": { "count": 3, - "item": "forcecraft:force_wood" + "id": "forcecraft:force_wood" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_wrench.json b/src/generated/resources/data/forcecraft/recipe/force_wrench.json similarity index 73% rename from src/generated/resources/data/forcecraft/recipes/force_wrench.json rename to src/generated/resources/data/forcecraft/recipe/force_wrench.json index 52cb3f3b..b707f098 100644 --- a/src/generated/resources/data/forcecraft/recipes/force_wrench.json +++ b/src/generated/resources/data/forcecraft/recipe/force_wrench.json @@ -3,7 +3,7 @@ "category": "equipment", "key": { "F": { - "tag": "forge:ingots/force" + "tag": "c:ingots/force" }, "G": { "item": "forcecraft:force_gear" @@ -15,6 +15,7 @@ " F " ], "result": { - "item": "forcecraft:force_wrench" + "count": 1, + "id": "forcecraft:force_wrench" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/fortune_cookie.json b/src/generated/resources/data/forcecraft/recipe/fortune_cookie.json similarity index 78% rename from src/generated/resources/data/forcecraft/recipes/fortune_cookie.json rename to src/generated/resources/data/forcecraft/recipe/fortune_cookie.json index 739724ba..6ef9eb32 100644 --- a/src/generated/resources/data/forcecraft/recipes/fortune_cookie.json +++ b/src/generated/resources/data/forcecraft/recipe/fortune_cookie.json @@ -10,6 +10,7 @@ } ], "result": { - "item": "forcecraft:fortune_cookie" + "count": 1, + "id": "forcecraft:fortune_cookie" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/freezing/bone_from_blaze_rod.json b/src/generated/resources/data/forcecraft/recipe/freezing/bone_from_blaze_rod.json similarity index 70% rename from src/generated/resources/data/forcecraft/recipes/freezing/bone_from_blaze_rod.json rename to src/generated/resources/data/forcecraft/recipe/freezing/bone_from_blaze_rod.json index 53963ac6..efe1f37d 100644 --- a/src/generated/resources/data/forcecraft/recipes/freezing/bone_from_blaze_rod.json +++ b/src/generated/resources/data/forcecraft/recipe/freezing/bone_from_blaze_rod.json @@ -3,12 +3,12 @@ "experience": 0.1, "freezingTime": 200, "ingredient": { - "tag": "forge:rods/blaze" + "tag": "c:rods/blaze" }, "results": [ { "count": 1, - "result": "minecraft:bone" + "id": "minecraft:bone" } ] } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/freezing/bone_meal_from_blaze_powder.json b/src/generated/resources/data/forcecraft/recipe/freezing/bone_meal_from_blaze_powder.json similarity index 83% rename from src/generated/resources/data/forcecraft/recipes/freezing/bone_meal_from_blaze_powder.json rename to src/generated/resources/data/forcecraft/recipe/freezing/bone_meal_from_blaze_powder.json index 9cd03f61..7ebc2831 100644 --- a/src/generated/resources/data/forcecraft/recipes/freezing/bone_meal_from_blaze_powder.json +++ b/src/generated/resources/data/forcecraft/recipe/freezing/bone_meal_from_blaze_powder.json @@ -8,7 +8,7 @@ "results": [ { "count": 1, - "result": "minecraft:bone_meal" + "id": "minecraft:bone_meal" } ] } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipe/freezing/brick_from_nether_brick.json b/src/generated/resources/data/forcecraft/recipe/freezing/brick_from_nether_brick.json new file mode 100644 index 00000000..f9a8ace2 --- /dev/null +++ b/src/generated/resources/data/forcecraft/recipe/freezing/brick_from_nether_brick.json @@ -0,0 +1,14 @@ +{ + "type": "forcecraft:freezing", + "experience": 0.1, + "freezingTime": 200, + "ingredient": { + "tag": "c:bricks/normal" + }, + "results": [ + { + "count": 1, + "id": "minecraft:brick" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/freezing/cobblestone_from_netherrack.json b/src/generated/resources/data/forcecraft/recipe/freezing/cobblestone_from_netherrack.json similarity index 68% rename from src/generated/resources/data/forcecraft/recipes/freezing/cobblestone_from_netherrack.json rename to src/generated/resources/data/forcecraft/recipe/freezing/cobblestone_from_netherrack.json index 0e13388e..8ca3e1c9 100644 --- a/src/generated/resources/data/forcecraft/recipes/freezing/cobblestone_from_netherrack.json +++ b/src/generated/resources/data/forcecraft/recipe/freezing/cobblestone_from_netherrack.json @@ -3,12 +3,12 @@ "experience": 0.1, "freezingTime": 200, "ingredient": { - "tag": "forge:netherrack" + "tag": "c:netherracks" }, "results": [ { "count": 1, - "result": "minecraft:cobblestone" + "id": "minecraft:cobblestone" } ] } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipe/freezing/ice_from_water_bottle.json b/src/generated/resources/data/forcecraft/recipe/freezing/ice_from_water_bottle.json new file mode 100644 index 00000000..adc9a030 --- /dev/null +++ b/src/generated/resources/data/forcecraft/recipe/freezing/ice_from_water_bottle.json @@ -0,0 +1,34 @@ +{ + "type": "forcecraft:freezing", + "experience": 0.1, + "freezingTime": 200, + "ingredient": { + "type": "neoforge:components", + "components": { + "minecraft:attribute_modifiers": { + "modifiers": [] + }, + "minecraft:enchantments": { + "levels": {} + }, + "minecraft:lore": [], + "minecraft:max_stack_size": 1, + "minecraft:potion_contents": { + "potion": "minecraft:water" + }, + "minecraft:rarity": "common", + "minecraft:repair_cost": 0 + }, + "items": "minecraft:potion" + }, + "results": [ + { + "count": 1, + "id": "minecraft:ice" + }, + { + "count": 1, + "id": "minecraft:glass_bottle" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/freezing/ice_from_water_bucket.json b/src/generated/resources/data/forcecraft/recipe/freezing/ice_from_water_bucket.json similarity index 74% rename from src/generated/resources/data/forcecraft/recipes/freezing/ice_from_water_bucket.json rename to src/generated/resources/data/forcecraft/recipe/freezing/ice_from_water_bucket.json index 964dbfc1..ca1188ee 100644 --- a/src/generated/resources/data/forcecraft/recipes/freezing/ice_from_water_bucket.json +++ b/src/generated/resources/data/forcecraft/recipe/freezing/ice_from_water_bucket.json @@ -8,11 +8,11 @@ "results": [ { "count": 1, - "result": "minecraft:packed_ice" + "id": "minecraft:packed_ice" }, { "count": 1, - "result": "minecraft:bucket" + "id": "minecraft:bucket" } ] } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/freezing/leather_from_rotten_flesh.json b/src/generated/resources/data/forcecraft/recipe/freezing/leather_from_rotten_flesh.json similarity index 84% rename from src/generated/resources/data/forcecraft/recipes/freezing/leather_from_rotten_flesh.json rename to src/generated/resources/data/forcecraft/recipe/freezing/leather_from_rotten_flesh.json index 98ac5105..0f9bd753 100644 --- a/src/generated/resources/data/forcecraft/recipes/freezing/leather_from_rotten_flesh.json +++ b/src/generated/resources/data/forcecraft/recipe/freezing/leather_from_rotten_flesh.json @@ -8,7 +8,7 @@ "results": [ { "count": 1, - "result": "minecraft:leather" + "id": "minecraft:leather" } ] } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/freezing/obsidian_from_lava_bucket.json b/src/generated/resources/data/forcecraft/recipe/freezing/obsidian_from_lava_bucket.json similarity index 75% rename from src/generated/resources/data/forcecraft/recipes/freezing/obsidian_from_lava_bucket.json rename to src/generated/resources/data/forcecraft/recipe/freezing/obsidian_from_lava_bucket.json index ee244cd9..ecc584f4 100644 --- a/src/generated/resources/data/forcecraft/recipes/freezing/obsidian_from_lava_bucket.json +++ b/src/generated/resources/data/forcecraft/recipe/freezing/obsidian_from_lava_bucket.json @@ -8,11 +8,11 @@ "results": [ { "count": 1, - "result": "minecraft:obsidian" + "id": "minecraft:obsidian" }, { "count": 1, - "result": "minecraft:bucket" + "id": "minecraft:bucket" } ] } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/freezing/sandstone_from_red_sand.json b/src/generated/resources/data/forcecraft/recipe/freezing/sandstone_from_red_sand.json similarity index 68% rename from src/generated/resources/data/forcecraft/recipes/freezing/sandstone_from_red_sand.json rename to src/generated/resources/data/forcecraft/recipe/freezing/sandstone_from_red_sand.json index 78dd11fc..5541866e 100644 --- a/src/generated/resources/data/forcecraft/recipes/freezing/sandstone_from_red_sand.json +++ b/src/generated/resources/data/forcecraft/recipe/freezing/sandstone_from_red_sand.json @@ -3,12 +3,12 @@ "experience": 0.1, "freezingTime": 200, "ingredient": { - "tag": "forge:sand/red" + "tag": "c:sands/red" }, "results": [ { "count": 1, - "result": "minecraft:red_sandstone" + "id": "minecraft:red_sandstone" } ] } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipe/freezing/sandstone_from_sand.json b/src/generated/resources/data/forcecraft/recipe/freezing/sandstone_from_sand.json new file mode 100644 index 00000000..16be0812 --- /dev/null +++ b/src/generated/resources/data/forcecraft/recipe/freezing/sandstone_from_sand.json @@ -0,0 +1,14 @@ +{ + "type": "forcecraft:freezing", + "experience": 0.1, + "freezingTime": 200, + "ingredient": { + "tag": "c:sands/colorless" + }, + "results": [ + { + "count": 1, + "id": "minecraft:sandstone" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/freezing/snowball_from_slimeball.json b/src/generated/resources/data/forcecraft/recipe/freezing/snowball_from_slimeball.json similarity index 69% rename from src/generated/resources/data/forcecraft/recipes/freezing/snowball_from_slimeball.json rename to src/generated/resources/data/forcecraft/recipe/freezing/snowball_from_slimeball.json index b75b4a80..2cc0b009 100644 --- a/src/generated/resources/data/forcecraft/recipes/freezing/snowball_from_slimeball.json +++ b/src/generated/resources/data/forcecraft/recipe/freezing/snowball_from_slimeball.json @@ -3,12 +3,12 @@ "experience": 0.1, "freezingTime": 200, "ingredient": { - "tag": "forge:slimeballs" + "tag": "c:slimeballs" }, "results": [ { "count": 1, - "result": "minecraft:snowball" + "id": "minecraft:snowball" } ] } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/freezing/stone_bricks_from_stone.json b/src/generated/resources/data/forcecraft/recipe/freezing/stone_bricks_from_stone.json similarity index 69% rename from src/generated/resources/data/forcecraft/recipes/freezing/stone_bricks_from_stone.json rename to src/generated/resources/data/forcecraft/recipe/freezing/stone_bricks_from_stone.json index 25273f5a..948e2788 100644 --- a/src/generated/resources/data/forcecraft/recipes/freezing/stone_bricks_from_stone.json +++ b/src/generated/resources/data/forcecraft/recipe/freezing/stone_bricks_from_stone.json @@ -3,12 +3,12 @@ "experience": 0.1, "freezingTime": 200, "ingredient": { - "tag": "forge:stone" + "tag": "c:stones" }, "results": [ { "count": 1, - "result": "minecraft:stone_bricks" + "id": "minecraft:stone_bricks" } ] } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipe/freezing/stone_from_cobblestone.json b/src/generated/resources/data/forcecraft/recipe/freezing/stone_from_cobblestone.json new file mode 100644 index 00000000..af4bcb3d --- /dev/null +++ b/src/generated/resources/data/forcecraft/recipe/freezing/stone_from_cobblestone.json @@ -0,0 +1,14 @@ +{ + "type": "forcecraft:freezing", + "experience": 0.1, + "freezingTime": 200, + "ingredient": { + "tag": "c:cobblestones/normal" + }, + "results": [ + { + "count": 1, + "id": "minecraft:stone" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/golden_power_source.json b/src/generated/resources/data/forcecraft/recipe/golden_power_source.json similarity index 67% rename from src/generated/resources/data/forcecraft/recipes/golden_power_source.json rename to src/generated/resources/data/forcecraft/recipe/golden_power_source.json index cd65360f..162e433c 100644 --- a/src/generated/resources/data/forcecraft/recipes/golden_power_source.json +++ b/src/generated/resources/data/forcecraft/recipe/golden_power_source.json @@ -6,5 +6,8 @@ "ingredient": { "tag": "forcecraft:force_logs" }, - "result": "forcecraft:golden_power_source" + "result": { + "count": 1, + "id": "forcecraft:golden_power_source" + } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/gray_force_furnace_from_dye.json b/src/generated/resources/data/forcecraft/recipe/gray_force_furnace_from_dye.json similarity index 67% rename from src/generated/resources/data/forcecraft/recipes/gray_force_furnace_from_dye.json rename to src/generated/resources/data/forcecraft/recipe/gray_force_furnace_from_dye.json index 76097a47..cecab2ad 100644 --- a/src/generated/resources/data/forcecraft/recipes/gray_force_furnace_from_dye.json +++ b/src/generated/resources/data/forcecraft/recipe/gray_force_furnace_from_dye.json @@ -6,10 +6,11 @@ "item": "forcecraft:force_furnace" }, { - "tag": "forge:dyes/gray" + "tag": "c:dyes/gray" } ], "result": { - "item": "forcecraft:gray_force_furnace" + "count": 1, + "id": "forcecraft:gray_force_furnace" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/green_force_furnace_from_dye.json b/src/generated/resources/data/forcecraft/recipe/green_force_furnace_from_dye.json similarity index 66% rename from src/generated/resources/data/forcecraft/recipes/green_force_furnace_from_dye.json rename to src/generated/resources/data/forcecraft/recipe/green_force_furnace_from_dye.json index e19680f5..827d1878 100644 --- a/src/generated/resources/data/forcecraft/recipes/green_force_furnace_from_dye.json +++ b/src/generated/resources/data/forcecraft/recipe/green_force_furnace_from_dye.json @@ -6,10 +6,11 @@ "item": "forcecraft:force_furnace" }, { - "tag": "forge:dyes/green" + "tag": "c:dyes/green" } ], "result": { - "item": "forcecraft:green_force_furnace" + "count": 1, + "id": "forcecraft:green_force_furnace" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/grinding/acacia_planks_from_door.json b/src/generated/resources/data/forcecraft/recipe/grinding/acacia_planks_from_door.json similarity index 83% rename from src/generated/resources/data/forcecraft/recipes/grinding/acacia_planks_from_door.json rename to src/generated/resources/data/forcecraft/recipe/grinding/acacia_planks_from_door.json index e6daa4f7..9eaf6dc3 100644 --- a/src/generated/resources/data/forcecraft/recipes/grinding/acacia_planks_from_door.json +++ b/src/generated/resources/data/forcecraft/recipe/grinding/acacia_planks_from_door.json @@ -8,7 +8,7 @@ "results": [ { "count": 2, - "result": "minecraft:acacia_planks" + "id": "minecraft:acacia_planks" } ], "secondaryChance": 1.0 diff --git a/src/generated/resources/data/forcecraft/recipes/grinding/acacia_planks_from_log.json b/src/generated/resources/data/forcecraft/recipe/grinding/acacia_planks_from_log.json similarity index 83% rename from src/generated/resources/data/forcecraft/recipes/grinding/acacia_planks_from_log.json rename to src/generated/resources/data/forcecraft/recipe/grinding/acacia_planks_from_log.json index 1516b9ed..4eaa86b7 100644 --- a/src/generated/resources/data/forcecraft/recipes/grinding/acacia_planks_from_log.json +++ b/src/generated/resources/data/forcecraft/recipe/grinding/acacia_planks_from_log.json @@ -8,7 +8,7 @@ "results": [ { "count": 6, - "result": "minecraft:acacia_planks" + "id": "minecraft:acacia_planks" } ], "secondaryChance": 1.0 diff --git a/src/generated/resources/data/forcecraft/recipes/grinding/acacia_planks_from_pressure_plate.json b/src/generated/resources/data/forcecraft/recipe/grinding/acacia_planks_from_pressure_plate.json similarity index 84% rename from src/generated/resources/data/forcecraft/recipes/grinding/acacia_planks_from_pressure_plate.json rename to src/generated/resources/data/forcecraft/recipe/grinding/acacia_planks_from_pressure_plate.json index eb05c6ca..2ce256be 100644 --- a/src/generated/resources/data/forcecraft/recipes/grinding/acacia_planks_from_pressure_plate.json +++ b/src/generated/resources/data/forcecraft/recipe/grinding/acacia_planks_from_pressure_plate.json @@ -8,7 +8,7 @@ "results": [ { "count": 2, - "result": "minecraft:acacia_planks" + "id": "minecraft:acacia_planks" } ], "secondaryChance": 1.0 diff --git a/src/generated/resources/data/forcecraft/recipes/grinding/birch_planks_from_door.json b/src/generated/resources/data/forcecraft/recipe/grinding/birch_planks_from_door.json similarity index 83% rename from src/generated/resources/data/forcecraft/recipes/grinding/birch_planks_from_door.json rename to src/generated/resources/data/forcecraft/recipe/grinding/birch_planks_from_door.json index 3e4b6a0c..577b29b7 100644 --- a/src/generated/resources/data/forcecraft/recipes/grinding/birch_planks_from_door.json +++ b/src/generated/resources/data/forcecraft/recipe/grinding/birch_planks_from_door.json @@ -8,7 +8,7 @@ "results": [ { "count": 2, - "result": "minecraft:birch_planks" + "id": "minecraft:birch_planks" } ], "secondaryChance": 1.0 diff --git a/src/generated/resources/data/forcecraft/recipes/grinding/birch_planks_from_log.json b/src/generated/resources/data/forcecraft/recipe/grinding/birch_planks_from_log.json similarity index 83% rename from src/generated/resources/data/forcecraft/recipes/grinding/birch_planks_from_log.json rename to src/generated/resources/data/forcecraft/recipe/grinding/birch_planks_from_log.json index 96ea735f..772b2f09 100644 --- a/src/generated/resources/data/forcecraft/recipes/grinding/birch_planks_from_log.json +++ b/src/generated/resources/data/forcecraft/recipe/grinding/birch_planks_from_log.json @@ -8,7 +8,7 @@ "results": [ { "count": 6, - "result": "minecraft:birch_planks" + "id": "minecraft:birch_planks" } ], "secondaryChance": 1.0 diff --git a/src/generated/resources/data/forcecraft/recipes/grinding/birch_planks_from_pressure_plate.json b/src/generated/resources/data/forcecraft/recipe/grinding/birch_planks_from_pressure_plate.json similarity index 84% rename from src/generated/resources/data/forcecraft/recipes/grinding/birch_planks_from_pressure_plate.json rename to src/generated/resources/data/forcecraft/recipe/grinding/birch_planks_from_pressure_plate.json index f23ca441..3633a9ec 100644 --- a/src/generated/resources/data/forcecraft/recipes/grinding/birch_planks_from_pressure_plate.json +++ b/src/generated/resources/data/forcecraft/recipe/grinding/birch_planks_from_pressure_plate.json @@ -8,7 +8,7 @@ "results": [ { "count": 2, - "result": "minecraft:birch_planks" + "id": "minecraft:birch_planks" } ], "secondaryChance": 1.0 diff --git a/src/generated/resources/data/forcecraft/recipes/grinding/blaze_powder_from_blaze_rod.json b/src/generated/resources/data/forcecraft/recipe/grinding/blaze_powder_from_blaze_rod.json similarity index 71% rename from src/generated/resources/data/forcecraft/recipes/grinding/blaze_powder_from_blaze_rod.json rename to src/generated/resources/data/forcecraft/recipe/grinding/blaze_powder_from_blaze_rod.json index cd2976b4..3f446fc1 100644 --- a/src/generated/resources/data/forcecraft/recipes/grinding/blaze_powder_from_blaze_rod.json +++ b/src/generated/resources/data/forcecraft/recipe/grinding/blaze_powder_from_blaze_rod.json @@ -2,13 +2,13 @@ "type": "forcecraft:grinding", "experience": 0.1, "ingredient": { - "tag": "forge:rods/blaze" + "tag": "c:rods/blaze" }, "processTime": 400, "results": [ { "count": 6, - "result": "minecraft:blaze_powder" + "id": "minecraft:blaze_powder" } ], "secondaryChance": 1.0 diff --git a/src/generated/resources/data/forcecraft/recipes/grinding/bone_meal_from_bone.json b/src/generated/resources/data/forcecraft/recipe/grinding/bone_meal_from_bone.json similarity index 73% rename from src/generated/resources/data/forcecraft/recipes/grinding/bone_meal_from_bone.json rename to src/generated/resources/data/forcecraft/recipe/grinding/bone_meal_from_bone.json index 89ef971f..d3c00d0b 100644 --- a/src/generated/resources/data/forcecraft/recipes/grinding/bone_meal_from_bone.json +++ b/src/generated/resources/data/forcecraft/recipe/grinding/bone_meal_from_bone.json @@ -2,13 +2,13 @@ "type": "forcecraft:grinding", "experience": 0.1, "ingredient": { - "tag": "forge:bones" + "tag": "c:bones" }, "processTime": 400, "results": [ { "count": 5, - "result": "minecraft:bone_meal" + "id": "minecraft:bone_meal" } ], "secondaryChance": 1.0 diff --git a/src/generated/resources/data/forcecraft/recipes/grinding/cherry_planks_from_door.json b/src/generated/resources/data/forcecraft/recipe/grinding/cherry_planks_from_door.json similarity index 83% rename from src/generated/resources/data/forcecraft/recipes/grinding/cherry_planks_from_door.json rename to src/generated/resources/data/forcecraft/recipe/grinding/cherry_planks_from_door.json index ead00153..e844953e 100644 --- a/src/generated/resources/data/forcecraft/recipes/grinding/cherry_planks_from_door.json +++ b/src/generated/resources/data/forcecraft/recipe/grinding/cherry_planks_from_door.json @@ -8,7 +8,7 @@ "results": [ { "count": 2, - "result": "minecraft:cherry_planks" + "id": "minecraft:cherry_planks" } ], "secondaryChance": 1.0 diff --git a/src/generated/resources/data/forcecraft/recipes/grinding/cherry_planks_from_log.json b/src/generated/resources/data/forcecraft/recipe/grinding/cherry_planks_from_log.json similarity index 83% rename from src/generated/resources/data/forcecraft/recipes/grinding/cherry_planks_from_log.json rename to src/generated/resources/data/forcecraft/recipe/grinding/cherry_planks_from_log.json index f257860a..6c67e053 100644 --- a/src/generated/resources/data/forcecraft/recipes/grinding/cherry_planks_from_log.json +++ b/src/generated/resources/data/forcecraft/recipe/grinding/cherry_planks_from_log.json @@ -8,7 +8,7 @@ "results": [ { "count": 6, - "result": "minecraft:cherry_planks" + "id": "minecraft:cherry_planks" } ], "secondaryChance": 1.0 diff --git a/src/generated/resources/data/forcecraft/recipes/grinding/cherry_planks_from_pressure_plate.json b/src/generated/resources/data/forcecraft/recipe/grinding/cherry_planks_from_pressure_plate.json similarity index 84% rename from src/generated/resources/data/forcecraft/recipes/grinding/cherry_planks_from_pressure_plate.json rename to src/generated/resources/data/forcecraft/recipe/grinding/cherry_planks_from_pressure_plate.json index ae888f6d..2ef49fbf 100644 --- a/src/generated/resources/data/forcecraft/recipes/grinding/cherry_planks_from_pressure_plate.json +++ b/src/generated/resources/data/forcecraft/recipe/grinding/cherry_planks_from_pressure_plate.json @@ -8,7 +8,7 @@ "results": [ { "count": 2, - "result": "minecraft:cherry_planks" + "id": "minecraft:cherry_planks" } ], "secondaryChance": 1.0 diff --git a/src/generated/resources/data/forcecraft/recipes/grinding/cobblestone_from_furnace.json b/src/generated/resources/data/forcecraft/recipe/grinding/cobblestone_from_furnace.json similarity index 83% rename from src/generated/resources/data/forcecraft/recipes/grinding/cobblestone_from_furnace.json rename to src/generated/resources/data/forcecraft/recipe/grinding/cobblestone_from_furnace.json index ef6c6903..0723c1b8 100644 --- a/src/generated/resources/data/forcecraft/recipes/grinding/cobblestone_from_furnace.json +++ b/src/generated/resources/data/forcecraft/recipe/grinding/cobblestone_from_furnace.json @@ -8,7 +8,7 @@ "results": [ { "count": 8, - "result": "minecraft:cobblestone" + "id": "minecraft:cobblestone" } ], "secondaryChance": 1.0 diff --git a/src/generated/resources/data/forcecraft/recipes/grinding/cooked_bacon_from_cooked_porkchop.json b/src/generated/resources/data/forcecraft/recipe/grinding/cooked_bacon_from_cooked_porkchop.json similarity index 83% rename from src/generated/resources/data/forcecraft/recipes/grinding/cooked_bacon_from_cooked_porkchop.json rename to src/generated/resources/data/forcecraft/recipe/grinding/cooked_bacon_from_cooked_porkchop.json index 2b33a824..a6b59c79 100644 --- a/src/generated/resources/data/forcecraft/recipes/grinding/cooked_bacon_from_cooked_porkchop.json +++ b/src/generated/resources/data/forcecraft/recipe/grinding/cooked_bacon_from_cooked_porkchop.json @@ -8,7 +8,7 @@ "results": [ { "count": 2, - "result": "forcecraft:cooked_bacon" + "id": "forcecraft:cooked_bacon" } ], "secondaryChance": 1.0 diff --git a/src/generated/resources/data/forcecraft/recipes/grinding/crimson_planks_from_door.json b/src/generated/resources/data/forcecraft/recipe/grinding/crimson_planks_from_door.json similarity index 83% rename from src/generated/resources/data/forcecraft/recipes/grinding/crimson_planks_from_door.json rename to src/generated/resources/data/forcecraft/recipe/grinding/crimson_planks_from_door.json index 9f38f1fa..ad37c6a2 100644 --- a/src/generated/resources/data/forcecraft/recipes/grinding/crimson_planks_from_door.json +++ b/src/generated/resources/data/forcecraft/recipe/grinding/crimson_planks_from_door.json @@ -8,7 +8,7 @@ "results": [ { "count": 2, - "result": "minecraft:crimson_planks" + "id": "minecraft:crimson_planks" } ], "secondaryChance": 1.0 diff --git a/src/generated/resources/data/forcecraft/recipes/grinding/crimson_planks_from_log.json b/src/generated/resources/data/forcecraft/recipe/grinding/crimson_planks_from_log.json similarity index 83% rename from src/generated/resources/data/forcecraft/recipes/grinding/crimson_planks_from_log.json rename to src/generated/resources/data/forcecraft/recipe/grinding/crimson_planks_from_log.json index c890efd5..157a08d2 100644 --- a/src/generated/resources/data/forcecraft/recipes/grinding/crimson_planks_from_log.json +++ b/src/generated/resources/data/forcecraft/recipe/grinding/crimson_planks_from_log.json @@ -8,7 +8,7 @@ "results": [ { "count": 6, - "result": "minecraft:crimson_planks" + "id": "minecraft:crimson_planks" } ], "secondaryChance": 1.0 diff --git a/src/generated/resources/data/forcecraft/recipes/grinding/crimson_planks_from_pressure_plate.json b/src/generated/resources/data/forcecraft/recipe/grinding/crimson_planks_from_pressure_plate.json similarity index 83% rename from src/generated/resources/data/forcecraft/recipes/grinding/crimson_planks_from_pressure_plate.json rename to src/generated/resources/data/forcecraft/recipe/grinding/crimson_planks_from_pressure_plate.json index 2575bc7a..d581c73d 100644 --- a/src/generated/resources/data/forcecraft/recipes/grinding/crimson_planks_from_pressure_plate.json +++ b/src/generated/resources/data/forcecraft/recipe/grinding/crimson_planks_from_pressure_plate.json @@ -8,7 +8,7 @@ "results": [ { "count": 2, - "result": "minecraft:crimson_planks" + "id": "minecraft:crimson_planks" } ], "secondaryChance": 1.0 diff --git a/src/generated/resources/data/forcecraft/recipes/grinding/dark_oak_planks_from_door.json b/src/generated/resources/data/forcecraft/recipe/grinding/dark_oak_planks_from_door.json similarity index 83% rename from src/generated/resources/data/forcecraft/recipes/grinding/dark_oak_planks_from_door.json rename to src/generated/resources/data/forcecraft/recipe/grinding/dark_oak_planks_from_door.json index ce70cdf4..44d707a9 100644 --- a/src/generated/resources/data/forcecraft/recipes/grinding/dark_oak_planks_from_door.json +++ b/src/generated/resources/data/forcecraft/recipe/grinding/dark_oak_planks_from_door.json @@ -8,7 +8,7 @@ "results": [ { "count": 2, - "result": "minecraft:dark_oak_planks" + "id": "minecraft:dark_oak_planks" } ], "secondaryChance": 1.0 diff --git a/src/generated/resources/data/forcecraft/recipes/grinding/dark_oak_planks_from_log.json b/src/generated/resources/data/forcecraft/recipe/grinding/dark_oak_planks_from_log.json similarity index 82% rename from src/generated/resources/data/forcecraft/recipes/grinding/dark_oak_planks_from_log.json rename to src/generated/resources/data/forcecraft/recipe/grinding/dark_oak_planks_from_log.json index 0c1c03cd..3984b439 100644 --- a/src/generated/resources/data/forcecraft/recipes/grinding/dark_oak_planks_from_log.json +++ b/src/generated/resources/data/forcecraft/recipe/grinding/dark_oak_planks_from_log.json @@ -8,7 +8,7 @@ "results": [ { "count": 6, - "result": "minecraft:dark_oak_planks" + "id": "minecraft:dark_oak_planks" } ], "secondaryChance": 1.0 diff --git a/src/generated/resources/data/forcecraft/recipes/grinding/dark_oak_planks_from_pressure_plate.json b/src/generated/resources/data/forcecraft/recipe/grinding/dark_oak_planks_from_pressure_plate.json similarity index 83% rename from src/generated/resources/data/forcecraft/recipes/grinding/dark_oak_planks_from_pressure_plate.json rename to src/generated/resources/data/forcecraft/recipe/grinding/dark_oak_planks_from_pressure_plate.json index 28e8791a..ba796e4b 100644 --- a/src/generated/resources/data/forcecraft/recipes/grinding/dark_oak_planks_from_pressure_plate.json +++ b/src/generated/resources/data/forcecraft/recipe/grinding/dark_oak_planks_from_pressure_plate.json @@ -8,7 +8,7 @@ "results": [ { "count": 2, - "result": "minecraft:dark_oak_planks" + "id": "minecraft:dark_oak_planks" } ], "secondaryChance": 1.0 diff --git a/src/generated/resources/data/forcecraft/recipes/grinding/flint_from_gravel.json b/src/generated/resources/data/forcecraft/recipe/grinding/flint_from_gravel.json similarity index 74% rename from src/generated/resources/data/forcecraft/recipes/grinding/flint_from_gravel.json rename to src/generated/resources/data/forcecraft/recipe/grinding/flint_from_gravel.json index dc695821..490017c5 100644 --- a/src/generated/resources/data/forcecraft/recipes/grinding/flint_from_gravel.json +++ b/src/generated/resources/data/forcecraft/recipe/grinding/flint_from_gravel.json @@ -2,13 +2,13 @@ "type": "forcecraft:grinding", "experience": 0.1, "ingredient": { - "tag": "forge:gravel" + "tag": "c:gravels" }, "processTime": 400, "results": [ { "count": 1, - "result": "minecraft:flint" + "id": "minecraft:flint" } ], "secondaryChance": 1.0 diff --git a/src/generated/resources/data/forcecraft/recipes/grinding/force_planks_from_log.json b/src/generated/resources/data/forcecraft/recipe/grinding/force_planks_from_log.json similarity index 83% rename from src/generated/resources/data/forcecraft/recipes/grinding/force_planks_from_log.json rename to src/generated/resources/data/forcecraft/recipe/grinding/force_planks_from_log.json index eac84a5d..03254e15 100644 --- a/src/generated/resources/data/forcecraft/recipes/grinding/force_planks_from_log.json +++ b/src/generated/resources/data/forcecraft/recipe/grinding/force_planks_from_log.json @@ -8,7 +8,7 @@ "results": [ { "count": 6, - "result": "forcecraft:force_planks" + "id": "forcecraft:force_planks" } ], "secondaryChance": 1.0 diff --git a/src/generated/resources/data/forcecraft/recipes/grinding/gold_ingot_from_light_weighted_pressure_plate.json b/src/generated/resources/data/forcecraft/recipe/grinding/gold_ingot_from_light_weighted_pressure_plate.json similarity index 85% rename from src/generated/resources/data/forcecraft/recipes/grinding/gold_ingot_from_light_weighted_pressure_plate.json rename to src/generated/resources/data/forcecraft/recipe/grinding/gold_ingot_from_light_weighted_pressure_plate.json index de6be1c1..7e10f1f5 100644 --- a/src/generated/resources/data/forcecraft/recipes/grinding/gold_ingot_from_light_weighted_pressure_plate.json +++ b/src/generated/resources/data/forcecraft/recipe/grinding/gold_ingot_from_light_weighted_pressure_plate.json @@ -8,7 +8,7 @@ "results": [ { "count": 2, - "result": "minecraft:gold_ingot" + "id": "minecraft:gold_ingot" } ], "secondaryChance": 1.0 diff --git a/src/generated/resources/data/forcecraft/recipes/grinding/ingots_from_force_furnace.json b/src/generated/resources/data/forcecraft/recipe/grinding/ingots_from_force_furnace.json similarity index 75% rename from src/generated/resources/data/forcecraft/recipes/grinding/ingots_from_force_furnace.json rename to src/generated/resources/data/forcecraft/recipe/grinding/ingots_from_force_furnace.json index c6973e9d..0eb55984 100644 --- a/src/generated/resources/data/forcecraft/recipes/grinding/ingots_from_force_furnace.json +++ b/src/generated/resources/data/forcecraft/recipe/grinding/ingots_from_force_furnace.json @@ -8,11 +8,11 @@ "results": [ { "count": 3, - "result": "forcecraft:force_ingot" + "id": "forcecraft:force_ingot" }, { "count": 2, - "result": "minecraft:iron_ingot" + "id": "minecraft:iron_ingot" } ], "secondaryChance": 1.0 diff --git a/src/generated/resources/data/forcecraft/recipes/grinding/iron_ingot_from_door.json b/src/generated/resources/data/forcecraft/recipe/grinding/iron_ingot_from_door.json similarity index 84% rename from src/generated/resources/data/forcecraft/recipes/grinding/iron_ingot_from_door.json rename to src/generated/resources/data/forcecraft/recipe/grinding/iron_ingot_from_door.json index e5f448b1..03380d57 100644 --- a/src/generated/resources/data/forcecraft/recipes/grinding/iron_ingot_from_door.json +++ b/src/generated/resources/data/forcecraft/recipe/grinding/iron_ingot_from_door.json @@ -8,7 +8,7 @@ "results": [ { "count": 2, - "result": "minecraft:iron_ingot" + "id": "minecraft:iron_ingot" } ], "secondaryChance": 1.0 diff --git a/src/generated/resources/data/forcecraft/recipes/grinding/iron_ingot_from_heavy_weighted_pressure_plate.json b/src/generated/resources/data/forcecraft/recipe/grinding/iron_ingot_from_heavy_weighted_pressure_plate.json similarity index 85% rename from src/generated/resources/data/forcecraft/recipes/grinding/iron_ingot_from_heavy_weighted_pressure_plate.json rename to src/generated/resources/data/forcecraft/recipe/grinding/iron_ingot_from_heavy_weighted_pressure_plate.json index b7877170..22598afe 100644 --- a/src/generated/resources/data/forcecraft/recipes/grinding/iron_ingot_from_heavy_weighted_pressure_plate.json +++ b/src/generated/resources/data/forcecraft/recipe/grinding/iron_ingot_from_heavy_weighted_pressure_plate.json @@ -8,7 +8,7 @@ "results": [ { "count": 2, - "result": "minecraft:iron_ingot" + "id": "minecraft:iron_ingot" } ], "secondaryChance": 1.0 diff --git a/src/generated/resources/data/forcecraft/recipes/grinding/jungle_planks_from_door.json b/src/generated/resources/data/forcecraft/recipe/grinding/jungle_planks_from_door.json similarity index 83% rename from src/generated/resources/data/forcecraft/recipes/grinding/jungle_planks_from_door.json rename to src/generated/resources/data/forcecraft/recipe/grinding/jungle_planks_from_door.json index 4ed98929..6a64c986 100644 --- a/src/generated/resources/data/forcecraft/recipes/grinding/jungle_planks_from_door.json +++ b/src/generated/resources/data/forcecraft/recipe/grinding/jungle_planks_from_door.json @@ -8,7 +8,7 @@ "results": [ { "count": 2, - "result": "minecraft:jungle_planks" + "id": "minecraft:jungle_planks" } ], "secondaryChance": 1.0 diff --git a/src/generated/resources/data/forcecraft/recipes/grinding/jungle_planks_from_log.json b/src/generated/resources/data/forcecraft/recipe/grinding/jungle_planks_from_log.json similarity index 83% rename from src/generated/resources/data/forcecraft/recipes/grinding/jungle_planks_from_log.json rename to src/generated/resources/data/forcecraft/recipe/grinding/jungle_planks_from_log.json index fa720a2a..f26f339b 100644 --- a/src/generated/resources/data/forcecraft/recipes/grinding/jungle_planks_from_log.json +++ b/src/generated/resources/data/forcecraft/recipe/grinding/jungle_planks_from_log.json @@ -8,7 +8,7 @@ "results": [ { "count": 6, - "result": "minecraft:jungle_planks" + "id": "minecraft:jungle_planks" } ], "secondaryChance": 1.0 diff --git a/src/generated/resources/data/forcecraft/recipes/grinding/jungle_planks_from_pressure_plate.json b/src/generated/resources/data/forcecraft/recipe/grinding/jungle_planks_from_pressure_plate.json similarity index 84% rename from src/generated/resources/data/forcecraft/recipes/grinding/jungle_planks_from_pressure_plate.json rename to src/generated/resources/data/forcecraft/recipe/grinding/jungle_planks_from_pressure_plate.json index b88d0ac7..5d78f3cc 100644 --- a/src/generated/resources/data/forcecraft/recipes/grinding/jungle_planks_from_pressure_plate.json +++ b/src/generated/resources/data/forcecraft/recipe/grinding/jungle_planks_from_pressure_plate.json @@ -8,7 +8,7 @@ "results": [ { "count": 2, - "result": "minecraft:jungle_planks" + "id": "minecraft:jungle_planks" } ], "secondaryChance": 1.0 diff --git a/src/generated/resources/data/forcecraft/recipes/grinding/mangrove_planks_from_door.json b/src/generated/resources/data/forcecraft/recipe/grinding/mangrove_planks_from_door.json similarity index 83% rename from src/generated/resources/data/forcecraft/recipes/grinding/mangrove_planks_from_door.json rename to src/generated/resources/data/forcecraft/recipe/grinding/mangrove_planks_from_door.json index aed31a2f..eb82862f 100644 --- a/src/generated/resources/data/forcecraft/recipes/grinding/mangrove_planks_from_door.json +++ b/src/generated/resources/data/forcecraft/recipe/grinding/mangrove_planks_from_door.json @@ -8,7 +8,7 @@ "results": [ { "count": 2, - "result": "minecraft:mangrove_planks" + "id": "minecraft:mangrove_planks" } ], "secondaryChance": 1.0 diff --git a/src/generated/resources/data/forcecraft/recipes/grinding/mangrove_planks_from_log.json b/src/generated/resources/data/forcecraft/recipe/grinding/mangrove_planks_from_log.json similarity index 82% rename from src/generated/resources/data/forcecraft/recipes/grinding/mangrove_planks_from_log.json rename to src/generated/resources/data/forcecraft/recipe/grinding/mangrove_planks_from_log.json index 3d9fbade..2e162da4 100644 --- a/src/generated/resources/data/forcecraft/recipes/grinding/mangrove_planks_from_log.json +++ b/src/generated/resources/data/forcecraft/recipe/grinding/mangrove_planks_from_log.json @@ -8,7 +8,7 @@ "results": [ { "count": 6, - "result": "minecraft:mangrove_planks" + "id": "minecraft:mangrove_planks" } ], "secondaryChance": 1.0 diff --git a/src/generated/resources/data/forcecraft/recipes/grinding/mangrove_planks_from_pressure_plate.json b/src/generated/resources/data/forcecraft/recipe/grinding/mangrove_planks_from_pressure_plate.json similarity index 83% rename from src/generated/resources/data/forcecraft/recipes/grinding/mangrove_planks_from_pressure_plate.json rename to src/generated/resources/data/forcecraft/recipe/grinding/mangrove_planks_from_pressure_plate.json index 5df10275..2c0e275f 100644 --- a/src/generated/resources/data/forcecraft/recipes/grinding/mangrove_planks_from_pressure_plate.json +++ b/src/generated/resources/data/forcecraft/recipe/grinding/mangrove_planks_from_pressure_plate.json @@ -8,7 +8,7 @@ "results": [ { "count": 2, - "result": "minecraft:mangrove_planks" + "id": "minecraft:mangrove_planks" } ], "secondaryChance": 1.0 diff --git a/src/generated/resources/data/forcecraft/recipes/grinding/oak_planks_from_bookshelf.json b/src/generated/resources/data/forcecraft/recipe/grinding/oak_planks_from_bookshelf.json similarity index 66% rename from src/generated/resources/data/forcecraft/recipes/grinding/oak_planks_from_bookshelf.json rename to src/generated/resources/data/forcecraft/recipe/grinding/oak_planks_from_bookshelf.json index d87cfe30..357eba67 100644 --- a/src/generated/resources/data/forcecraft/recipes/grinding/oak_planks_from_bookshelf.json +++ b/src/generated/resources/data/forcecraft/recipe/grinding/oak_planks_from_bookshelf.json @@ -2,17 +2,17 @@ "type": "forcecraft:grinding", "experience": 0.1, "ingredient": { - "tag": "forge:bookshelves" + "tag": "c:bookshelves" }, "processTime": 400, "results": [ { "count": 6, - "result": "minecraft:oak_planks" + "id": "minecraft:oak_planks" }, { "count": 9, - "result": "minecraft:paper" + "id": "minecraft:paper" } ], "secondaryChance": 1.0 diff --git a/src/generated/resources/data/forcecraft/recipes/grinding/oak_planks_from_chest.json b/src/generated/resources/data/forcecraft/recipe/grinding/oak_planks_from_chest.json similarity index 71% rename from src/generated/resources/data/forcecraft/recipes/grinding/oak_planks_from_chest.json rename to src/generated/resources/data/forcecraft/recipe/grinding/oak_planks_from_chest.json index 3f66821b..b40cb3db 100644 --- a/src/generated/resources/data/forcecraft/recipes/grinding/oak_planks_from_chest.json +++ b/src/generated/resources/data/forcecraft/recipe/grinding/oak_planks_from_chest.json @@ -2,13 +2,13 @@ "type": "forcecraft:grinding", "experience": 0.1, "ingredient": { - "tag": "forge:chests/wooden" + "tag": "c:chests/wooden" }, "processTime": 400, "results": [ { "count": 8, - "result": "minecraft:oak_planks" + "id": "minecraft:oak_planks" } ], "secondaryChance": 1.0 diff --git a/src/generated/resources/data/forcecraft/recipes/grinding/oak_planks_from_crafting_table.json b/src/generated/resources/data/forcecraft/recipe/grinding/oak_planks_from_crafting_table.json similarity index 84% rename from src/generated/resources/data/forcecraft/recipes/grinding/oak_planks_from_crafting_table.json rename to src/generated/resources/data/forcecraft/recipe/grinding/oak_planks_from_crafting_table.json index 3211650d..c28809ee 100644 --- a/src/generated/resources/data/forcecraft/recipes/grinding/oak_planks_from_crafting_table.json +++ b/src/generated/resources/data/forcecraft/recipe/grinding/oak_planks_from_crafting_table.json @@ -8,7 +8,7 @@ "results": [ { "count": 4, - "result": "minecraft:oak_planks" + "id": "minecraft:oak_planks" } ], "secondaryChance": 1.0 diff --git a/src/generated/resources/data/forcecraft/recipes/grinding/oak_planks_from_door.json b/src/generated/resources/data/forcecraft/recipe/grinding/oak_planks_from_door.json similarity index 84% rename from src/generated/resources/data/forcecraft/recipes/grinding/oak_planks_from_door.json rename to src/generated/resources/data/forcecraft/recipe/grinding/oak_planks_from_door.json index 6d9aca28..ee41a233 100644 --- a/src/generated/resources/data/forcecraft/recipes/grinding/oak_planks_from_door.json +++ b/src/generated/resources/data/forcecraft/recipe/grinding/oak_planks_from_door.json @@ -8,7 +8,7 @@ "results": [ { "count": 2, - "result": "minecraft:oak_planks" + "id": "minecraft:oak_planks" } ], "secondaryChance": 1.0 diff --git a/src/generated/resources/data/forcecraft/recipes/grinding/oak_planks_from_log.json b/src/generated/resources/data/forcecraft/recipe/grinding/oak_planks_from_log.json similarity index 84% rename from src/generated/resources/data/forcecraft/recipes/grinding/oak_planks_from_log.json rename to src/generated/resources/data/forcecraft/recipe/grinding/oak_planks_from_log.json index d60c4704..3c926f8c 100644 --- a/src/generated/resources/data/forcecraft/recipes/grinding/oak_planks_from_log.json +++ b/src/generated/resources/data/forcecraft/recipe/grinding/oak_planks_from_log.json @@ -8,7 +8,7 @@ "results": [ { "count": 6, - "result": "minecraft:oak_planks" + "id": "minecraft:oak_planks" } ], "secondaryChance": 1.0 diff --git a/src/generated/resources/data/forcecraft/recipes/grinding/oak_planks_from_pressure_plate.json b/src/generated/resources/data/forcecraft/recipe/grinding/oak_planks_from_pressure_plate.json similarity index 84% rename from src/generated/resources/data/forcecraft/recipes/grinding/oak_planks_from_pressure_plate.json rename to src/generated/resources/data/forcecraft/recipe/grinding/oak_planks_from_pressure_plate.json index 9383a153..ddaba5a7 100644 --- a/src/generated/resources/data/forcecraft/recipes/grinding/oak_planks_from_pressure_plate.json +++ b/src/generated/resources/data/forcecraft/recipe/grinding/oak_planks_from_pressure_plate.json @@ -8,7 +8,7 @@ "results": [ { "count": 2, - "result": "minecraft:oak_planks" + "id": "minecraft:oak_planks" } ], "secondaryChance": 1.0 diff --git a/src/generated/resources/data/forcecraft/recipes/grinding/paper_from_book.json b/src/generated/resources/data/forcecraft/recipe/grinding/paper_from_book.json similarity index 85% rename from src/generated/resources/data/forcecraft/recipes/grinding/paper_from_book.json rename to src/generated/resources/data/forcecraft/recipe/grinding/paper_from_book.json index f375b21c..e7d83227 100644 --- a/src/generated/resources/data/forcecraft/recipes/grinding/paper_from_book.json +++ b/src/generated/resources/data/forcecraft/recipe/grinding/paper_from_book.json @@ -8,7 +8,7 @@ "results": [ { "count": 3, - "result": "minecraft:paper" + "id": "minecraft:paper" } ], "secondaryChance": 1.0 diff --git a/src/generated/resources/data/forcecraft/recipes/grinding/raw_bacon_from_porkchop.json b/src/generated/resources/data/forcecraft/recipe/grinding/raw_bacon_from_porkchop.json similarity index 84% rename from src/generated/resources/data/forcecraft/recipes/grinding/raw_bacon_from_porkchop.json rename to src/generated/resources/data/forcecraft/recipe/grinding/raw_bacon_from_porkchop.json index 5a83e0ad..8040b15b 100644 --- a/src/generated/resources/data/forcecraft/recipes/grinding/raw_bacon_from_porkchop.json +++ b/src/generated/resources/data/forcecraft/recipe/grinding/raw_bacon_from_porkchop.json @@ -8,7 +8,7 @@ "results": [ { "count": 2, - "result": "forcecraft:raw_bacon" + "id": "forcecraft:raw_bacon" } ], "secondaryChance": 1.0 diff --git a/src/generated/resources/data/forcecraft/recipes/grinding/sand_from_cobblestone.json b/src/generated/resources/data/forcecraft/recipe/grinding/sand_from_cobblestone.json similarity index 69% rename from src/generated/resources/data/forcecraft/recipes/grinding/sand_from_cobblestone.json rename to src/generated/resources/data/forcecraft/recipe/grinding/sand_from_cobblestone.json index 7bd1590e..e83f40b7 100644 --- a/src/generated/resources/data/forcecraft/recipes/grinding/sand_from_cobblestone.json +++ b/src/generated/resources/data/forcecraft/recipe/grinding/sand_from_cobblestone.json @@ -2,13 +2,13 @@ "type": "forcecraft:grinding", "experience": 0.1, "ingredient": { - "tag": "forge:cobblestone/normal" + "tag": "c:cobblestones/normal" }, "processTime": 400, "results": [ { "count": 1, - "result": "minecraft:cobblestone" + "id": "minecraft:cobblestone" } ], "secondaryChance": 1.0 diff --git a/src/generated/resources/data/forcecraft/recipes/grinding/sand_from_red_sandstone.json b/src/generated/resources/data/forcecraft/recipe/grinding/sand_from_red_sandstone.json similarity index 85% rename from src/generated/resources/data/forcecraft/recipes/grinding/sand_from_red_sandstone.json rename to src/generated/resources/data/forcecraft/recipe/grinding/sand_from_red_sandstone.json index 16ca183a..2f14a9da 100644 --- a/src/generated/resources/data/forcecraft/recipes/grinding/sand_from_red_sandstone.json +++ b/src/generated/resources/data/forcecraft/recipe/grinding/sand_from_red_sandstone.json @@ -8,7 +8,7 @@ "results": [ { "count": 1, - "result": "minecraft:red_sand" + "id": "minecraft:red_sand" } ], "secondaryChance": 1.0 diff --git a/src/generated/resources/data/forcecraft/recipes/grinding/sand_from_sandstone.json b/src/generated/resources/data/forcecraft/recipe/grinding/sand_from_sandstone.json similarity index 86% rename from src/generated/resources/data/forcecraft/recipes/grinding/sand_from_sandstone.json rename to src/generated/resources/data/forcecraft/recipe/grinding/sand_from_sandstone.json index f04134d7..07d67e1e 100644 --- a/src/generated/resources/data/forcecraft/recipes/grinding/sand_from_sandstone.json +++ b/src/generated/resources/data/forcecraft/recipe/grinding/sand_from_sandstone.json @@ -8,7 +8,7 @@ "results": [ { "count": 1, - "result": "minecraft:sand" + "id": "minecraft:sand" } ], "secondaryChance": 1.0 diff --git a/src/generated/resources/data/forcecraft/recipes/grinding/spruce_planks_from_door.json b/src/generated/resources/data/forcecraft/recipe/grinding/spruce_planks_from_door.json similarity index 83% rename from src/generated/resources/data/forcecraft/recipes/grinding/spruce_planks_from_door.json rename to src/generated/resources/data/forcecraft/recipe/grinding/spruce_planks_from_door.json index 16bb2b21..fb90f924 100644 --- a/src/generated/resources/data/forcecraft/recipes/grinding/spruce_planks_from_door.json +++ b/src/generated/resources/data/forcecraft/recipe/grinding/spruce_planks_from_door.json @@ -8,7 +8,7 @@ "results": [ { "count": 2, - "result": "minecraft:spruce_planks" + "id": "minecraft:spruce_planks" } ], "secondaryChance": 1.0 diff --git a/src/generated/resources/data/forcecraft/recipes/grinding/spruce_planks_from_log.json b/src/generated/resources/data/forcecraft/recipe/grinding/spruce_planks_from_log.json similarity index 83% rename from src/generated/resources/data/forcecraft/recipes/grinding/spruce_planks_from_log.json rename to src/generated/resources/data/forcecraft/recipe/grinding/spruce_planks_from_log.json index df9044f6..b8daad76 100644 --- a/src/generated/resources/data/forcecraft/recipes/grinding/spruce_planks_from_log.json +++ b/src/generated/resources/data/forcecraft/recipe/grinding/spruce_planks_from_log.json @@ -8,7 +8,7 @@ "results": [ { "count": 6, - "result": "minecraft:spruce_planks" + "id": "minecraft:spruce_planks" } ], "secondaryChance": 1.0 diff --git a/src/generated/resources/data/forcecraft/recipes/grinding/spruce_planks_from_pressure_plate.json b/src/generated/resources/data/forcecraft/recipe/grinding/spruce_planks_from_pressure_plate.json similarity index 84% rename from src/generated/resources/data/forcecraft/recipes/grinding/spruce_planks_from_pressure_plate.json rename to src/generated/resources/data/forcecraft/recipe/grinding/spruce_planks_from_pressure_plate.json index 669d004c..221ec92b 100644 --- a/src/generated/resources/data/forcecraft/recipes/grinding/spruce_planks_from_pressure_plate.json +++ b/src/generated/resources/data/forcecraft/recipe/grinding/spruce_planks_from_pressure_plate.json @@ -8,7 +8,7 @@ "results": [ { "count": 2, - "result": "minecraft:spruce_planks" + "id": "minecraft:spruce_planks" } ], "secondaryChance": 1.0 diff --git a/src/generated/resources/data/forcecraft/recipes/grinding/stone_from_pressure_plate.json b/src/generated/resources/data/forcecraft/recipe/grinding/stone_from_pressure_plate.json similarity index 86% rename from src/generated/resources/data/forcecraft/recipes/grinding/stone_from_pressure_plate.json rename to src/generated/resources/data/forcecraft/recipe/grinding/stone_from_pressure_plate.json index 0d0761b9..ab5fd767 100644 --- a/src/generated/resources/data/forcecraft/recipes/grinding/stone_from_pressure_plate.json +++ b/src/generated/resources/data/forcecraft/recipe/grinding/stone_from_pressure_plate.json @@ -8,7 +8,7 @@ "results": [ { "count": 2, - "result": "minecraft:stone" + "id": "minecraft:stone" } ], "secondaryChance": 1.0 diff --git a/src/generated/resources/data/forcecraft/recipes/grinding/string_from_wool.json b/src/generated/resources/data/forcecraft/recipe/grinding/string_from_wool.json similarity index 82% rename from src/generated/resources/data/forcecraft/recipes/grinding/string_from_wool.json rename to src/generated/resources/data/forcecraft/recipe/grinding/string_from_wool.json index 05e07281..b98445ce 100644 --- a/src/generated/resources/data/forcecraft/recipes/grinding/string_from_wool.json +++ b/src/generated/resources/data/forcecraft/recipe/grinding/string_from_wool.json @@ -8,7 +8,7 @@ "results": [ { "count": 4, - "result": "forcecraft:force_planks" + "id": "forcecraft:force_planks" } ], "secondaryChance": 1.0 diff --git a/src/generated/resources/data/forcecraft/recipes/grinding/string_from_wool_carpet.json b/src/generated/resources/data/forcecraft/recipe/grinding/string_from_wool_carpet.json similarity index 83% rename from src/generated/resources/data/forcecraft/recipes/grinding/string_from_wool_carpet.json rename to src/generated/resources/data/forcecraft/recipe/grinding/string_from_wool_carpet.json index adf7fb39..84eeab69 100644 --- a/src/generated/resources/data/forcecraft/recipes/grinding/string_from_wool_carpet.json +++ b/src/generated/resources/data/forcecraft/recipe/grinding/string_from_wool_carpet.json @@ -8,7 +8,7 @@ "results": [ { "count": 2, - "result": "forcecraft:force_planks" + "id": "forcecraft:force_planks" } ], "secondaryChance": 1.0 diff --git a/src/generated/resources/data/forcecraft/recipes/grinding/warped_planks_from_door.json b/src/generated/resources/data/forcecraft/recipe/grinding/warped_planks_from_door.json similarity index 83% rename from src/generated/resources/data/forcecraft/recipes/grinding/warped_planks_from_door.json rename to src/generated/resources/data/forcecraft/recipe/grinding/warped_planks_from_door.json index 63037f36..05e2bcfd 100644 --- a/src/generated/resources/data/forcecraft/recipes/grinding/warped_planks_from_door.json +++ b/src/generated/resources/data/forcecraft/recipe/grinding/warped_planks_from_door.json @@ -8,7 +8,7 @@ "results": [ { "count": 2, - "result": "minecraft:warped_planks" + "id": "minecraft:warped_planks" } ], "secondaryChance": 1.0 diff --git a/src/generated/resources/data/forcecraft/recipes/grinding/warped_planks_from_log.json b/src/generated/resources/data/forcecraft/recipe/grinding/warped_planks_from_log.json similarity index 83% rename from src/generated/resources/data/forcecraft/recipes/grinding/warped_planks_from_log.json rename to src/generated/resources/data/forcecraft/recipe/grinding/warped_planks_from_log.json index 23cbe297..bbe4c9ac 100644 --- a/src/generated/resources/data/forcecraft/recipes/grinding/warped_planks_from_log.json +++ b/src/generated/resources/data/forcecraft/recipe/grinding/warped_planks_from_log.json @@ -8,7 +8,7 @@ "results": [ { "count": 6, - "result": "minecraft:warped_planks" + "id": "minecraft:warped_planks" } ], "secondaryChance": 1.0 diff --git a/src/generated/resources/data/forcecraft/recipes/grinding/warped_planks_from_pressure_plate.json b/src/generated/resources/data/forcecraft/recipe/grinding/warped_planks_from_pressure_plate.json similarity index 84% rename from src/generated/resources/data/forcecraft/recipes/grinding/warped_planks_from_pressure_plate.json rename to src/generated/resources/data/forcecraft/recipe/grinding/warped_planks_from_pressure_plate.json index 5ccea8b5..83b459ec 100644 --- a/src/generated/resources/data/forcecraft/recipes/grinding/warped_planks_from_pressure_plate.json +++ b/src/generated/resources/data/forcecraft/recipe/grinding/warped_planks_from_pressure_plate.json @@ -8,7 +8,7 @@ "results": [ { "count": 2, - "result": "minecraft:warped_planks" + "id": "minecraft:warped_planks" } ], "secondaryChance": 1.0 diff --git a/src/generated/resources/data/forcecraft/recipes/gunpowder_from_pile_of_gunpowder.json b/src/generated/resources/data/forcecraft/recipe/gunpowder_from_pile_of_gunpowder.json similarity index 80% rename from src/generated/resources/data/forcecraft/recipes/gunpowder_from_pile_of_gunpowder.json rename to src/generated/resources/data/forcecraft/recipe/gunpowder_from_pile_of_gunpowder.json index 59f32589..d6956f37 100644 --- a/src/generated/resources/data/forcecraft/recipes/gunpowder_from_pile_of_gunpowder.json +++ b/src/generated/resources/data/forcecraft/recipe/gunpowder_from_pile_of_gunpowder.json @@ -11,6 +11,7 @@ "##" ], "result": { - "item": "minecraft:gunpowder" + "count": 1, + "id": "minecraft:gunpowder" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/infuser/convert_freezing.json b/src/generated/resources/data/forcecraft/recipe/infuser/convert_freezing.json similarity index 80% rename from src/generated/resources/data/forcecraft/recipes/infuser/convert_freezing.json rename to src/generated/resources/data/forcecraft/recipe/infuser/convert_freezing.json index 9fb7f893..0bddd257 100644 --- a/src/generated/resources/data/forcecraft/recipes/infuser/convert_freezing.json +++ b/src/generated/resources/data/forcecraft/recipe/infuser/convert_freezing.json @@ -7,7 +7,8 @@ "item": "forcecraft:snow_cookie" }, "output": { - "item": "forcecraft:freezing_core" + "count": 1, + "id": "forcecraft:freezing_core" }, "resultType": "item", "tier": "2", diff --git a/src/generated/resources/data/forcecraft/recipes/infuser/convert_grinding.json b/src/generated/resources/data/forcecraft/recipe/infuser/convert_grinding.json similarity index 80% rename from src/generated/resources/data/forcecraft/recipes/infuser/convert_grinding.json rename to src/generated/resources/data/forcecraft/recipe/infuser/convert_grinding.json index e2916b33..de1708de 100644 --- a/src/generated/resources/data/forcecraft/recipes/infuser/convert_grinding.json +++ b/src/generated/resources/data/forcecraft/recipe/infuser/convert_grinding.json @@ -7,7 +7,8 @@ "item": "minecraft:flint" }, "output": { - "item": "forcecraft:grinding_core" + "count": 1, + "id": "forcecraft:grinding_core" }, "resultType": "item", "tier": "2", diff --git a/src/generated/resources/data/forcecraft/recipes/infuser/convert_heat.json b/src/generated/resources/data/forcecraft/recipe/infuser/convert_heat.json similarity index 82% rename from src/generated/resources/data/forcecraft/recipes/infuser/convert_heat.json rename to src/generated/resources/data/forcecraft/recipe/infuser/convert_heat.json index 88b4f6d1..869c0aea 100644 --- a/src/generated/resources/data/forcecraft/recipes/infuser/convert_heat.json +++ b/src/generated/resources/data/forcecraft/recipe/infuser/convert_heat.json @@ -7,7 +7,8 @@ "item": "forcecraft:golden_power_source" }, "output": { - "item": "forcecraft:heat_core" + "count": 1, + "id": "forcecraft:heat_core" }, "resultType": "item", "tier": "4", diff --git a/src/generated/resources/data/forcecraft/recipes/infuser/convert_speed.json b/src/generated/resources/data/forcecraft/recipe/infuser/convert_speed.json similarity index 81% rename from src/generated/resources/data/forcecraft/recipes/infuser/convert_speed.json rename to src/generated/resources/data/forcecraft/recipe/infuser/convert_speed.json index 452b9cae..7751f0d8 100644 --- a/src/generated/resources/data/forcecraft/recipes/infuser/convert_speed.json +++ b/src/generated/resources/data/forcecraft/recipe/infuser/convert_speed.json @@ -7,7 +7,8 @@ "item": "minecraft:sugar" }, "output": { - "item": "forcecraft:speed_core" + "count": 1, + "id": "forcecraft:speed_core" }, "resultType": "item", "tier": "2", diff --git a/src/generated/resources/data/forcecraft/recipes/infuser/convert_time_torch.json b/src/generated/resources/data/forcecraft/recipe/infuser/convert_time_torch.json similarity index 71% rename from src/generated/resources/data/forcecraft/recipes/infuser/convert_time_torch.json rename to src/generated/resources/data/forcecraft/recipe/infuser/convert_time_torch.json index bc97dfbb..a355bfdc 100644 --- a/src/generated/resources/data/forcecraft/recipes/infuser/convert_time_torch.json +++ b/src/generated/resources/data/forcecraft/recipe/infuser/convert_time_torch.json @@ -1,8 +1,7 @@ { "neoforge:conditions": [ { - "type": "forcecraft:time_torch_enabled", - "value": {} + "type": "forcecraft:time_torch_enabled" } ], "type": "forcecraft:infuser", @@ -13,7 +12,8 @@ "item": "minecraft:clock" }, "output": { - "item": "forcecraft:time_torch" + "count": 1, + "id": "forcecraft:time_torch" }, "resultType": "item", "tier": "6", diff --git a/src/generated/resources/data/forcecraft/recipes/infuser/convert_xp.json b/src/generated/resources/data/forcecraft/recipe/infuser/convert_xp.json similarity index 80% rename from src/generated/resources/data/forcecraft/recipes/infuser/convert_xp.json rename to src/generated/resources/data/forcecraft/recipe/infuser/convert_xp.json index dabfc3e7..9d29cd5c 100644 --- a/src/generated/resources/data/forcecraft/recipes/infuser/convert_xp.json +++ b/src/generated/resources/data/forcecraft/recipe/infuser/convert_xp.json @@ -7,7 +7,8 @@ "item": "minecraft:experience_bottle" }, "output": { - "item": "forcecraft:experience_core" + "count": 1, + "id": "forcecraft:experience_core" }, "resultType": "item", "tier": "2", diff --git a/src/generated/resources/data/forcecraft/recipes/infuser/convert_xp_book.json b/src/generated/resources/data/forcecraft/recipe/infuser/convert_xp_book.json similarity index 79% rename from src/generated/resources/data/forcecraft/recipes/infuser/convert_xp_book.json rename to src/generated/resources/data/forcecraft/recipe/infuser/convert_xp_book.json index 3c58dc00..fc46f21e 100644 --- a/src/generated/resources/data/forcecraft/recipes/infuser/convert_xp_book.json +++ b/src/generated/resources/data/forcecraft/recipe/infuser/convert_xp_book.json @@ -7,7 +7,8 @@ "item": "minecraft:experience_bottle" }, "output": { - "item": "forcecraft:experience_tome" + "count": 1, + "id": "forcecraft:experience_tome" }, "resultType": "item", "tier": "2", diff --git a/src/generated/resources/data/forcecraft/recipes/infuser/infuse_bane.json b/src/generated/resources/data/forcecraft/recipe/infuser/infuse_bane.json similarity index 100% rename from src/generated/resources/data/forcecraft/recipes/infuser/infuse_bane.json rename to src/generated/resources/data/forcecraft/recipe/infuser/infuse_bane.json diff --git a/src/generated/resources/data/forcecraft/recipes/infuser/infuse_bleeding.json b/src/generated/resources/data/forcecraft/recipe/infuser/infuse_bleeding.json similarity index 100% rename from src/generated/resources/data/forcecraft/recipes/infuser/infuse_bleeding.json rename to src/generated/resources/data/forcecraft/recipe/infuser/infuse_bleeding.json diff --git a/src/generated/resources/data/forcecraft/recipe/infuser/infuse_camo.json b/src/generated/resources/data/forcecraft/recipe/infuser/infuse_camo.json new file mode 100644 index 00000000..75ebd0e2 --- /dev/null +++ b/src/generated/resources/data/forcecraft/recipe/infuser/infuse_camo.json @@ -0,0 +1,28 @@ +{ + "type": "forcecraft:infuser", + "center": { + "tag": "forcecraft:valid_camo_tools" + }, + "ingredient": { + "type": "neoforge:components", + "components": { + "minecraft:attribute_modifiers": { + "modifiers": [] + }, + "minecraft:enchantments": { + "levels": {} + }, + "minecraft:lore": [], + "minecraft:max_stack_size": 1, + "minecraft:potion_contents": { + "potion": "minecraft:invisibility" + }, + "minecraft:rarity": "common", + "minecraft:repair_cost": 0 + }, + "items": "minecraft:potion" + }, + "resultType": "camo", + "tier": "3", + "time": 20 +} \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/infuser/infuse_damage.json b/src/generated/resources/data/forcecraft/recipe/infuser/infuse_damage.json similarity index 100% rename from src/generated/resources/data/forcecraft/recipes/infuser/infuse_damage.json rename to src/generated/resources/data/forcecraft/recipe/infuser/infuse_damage.json diff --git a/src/generated/resources/data/forcecraft/recipes/infuser/infuse_ender.json b/src/generated/resources/data/forcecraft/recipe/infuser/infuse_ender.json similarity index 100% rename from src/generated/resources/data/forcecraft/recipes/infuser/infuse_ender.json rename to src/generated/resources/data/forcecraft/recipe/infuser/infuse_ender.json diff --git a/src/generated/resources/data/forcecraft/recipes/infuser/infuse_fortune.json b/src/generated/resources/data/forcecraft/recipe/infuser/infuse_fortune.json similarity index 100% rename from src/generated/resources/data/forcecraft/recipes/infuser/infuse_fortune.json rename to src/generated/resources/data/forcecraft/recipe/infuser/infuse_fortune.json diff --git a/src/generated/resources/data/forcecraft/recipes/infuser/infuse_freezing.json b/src/generated/resources/data/forcecraft/recipe/infuser/infuse_freezing.json similarity index 100% rename from src/generated/resources/data/forcecraft/recipes/infuser/infuse_freezing.json rename to src/generated/resources/data/forcecraft/recipe/infuser/infuse_freezing.json diff --git a/src/generated/resources/data/forcecraft/recipes/infuser/infuse_healing.json b/src/generated/resources/data/forcecraft/recipe/infuser/infuse_healing.json similarity index 100% rename from src/generated/resources/data/forcecraft/recipes/infuser/infuse_healing.json rename to src/generated/resources/data/forcecraft/recipe/infuser/infuse_healing.json diff --git a/src/generated/resources/data/forcecraft/recipes/infuser/infuse_heat.json b/src/generated/resources/data/forcecraft/recipe/infuser/infuse_heat.json similarity index 100% rename from src/generated/resources/data/forcecraft/recipes/infuser/infuse_heat.json rename to src/generated/resources/data/forcecraft/recipe/infuser/infuse_heat.json diff --git a/src/generated/resources/data/forcecraft/recipes/infuser/infuse_knockback.json b/src/generated/resources/data/forcecraft/recipe/infuser/infuse_knockback.json similarity index 84% rename from src/generated/resources/data/forcecraft/recipes/infuser/infuse_knockback.json rename to src/generated/resources/data/forcecraft/recipe/infuser/infuse_knockback.json index b6558943..c0c38a4a 100644 --- a/src/generated/resources/data/forcecraft/recipes/infuser/infuse_knockback.json +++ b/src/generated/resources/data/forcecraft/recipe/infuser/infuse_knockback.json @@ -4,7 +4,7 @@ "tag": "forcecraft:valid_knockback_tools" }, "ingredient": { - "tag": "forge:nuggets/force" + "tag": "c:nuggets/force" }, "resultType": "force", "tier": "0", diff --git a/src/generated/resources/data/forcecraft/recipes/infuser/infuse_light.json b/src/generated/resources/data/forcecraft/recipe/infuser/infuse_light.json similarity index 100% rename from src/generated/resources/data/forcecraft/recipes/infuser/infuse_light.json rename to src/generated/resources/data/forcecraft/recipe/infuser/infuse_light.json diff --git a/src/generated/resources/data/forcecraft/recipes/infuser/infuse_lumberjack.json b/src/generated/resources/data/forcecraft/recipe/infuser/infuse_lumberjack.json similarity index 100% rename from src/generated/resources/data/forcecraft/recipes/infuser/infuse_lumberjack.json rename to src/generated/resources/data/forcecraft/recipe/infuser/infuse_lumberjack.json diff --git a/src/generated/resources/data/forcecraft/recipes/infuser/infuse_pack_upgrade1.json b/src/generated/resources/data/forcecraft/recipe/infuser/infuse_pack_upgrade1.json similarity index 100% rename from src/generated/resources/data/forcecraft/recipes/infuser/infuse_pack_upgrade1.json rename to src/generated/resources/data/forcecraft/recipe/infuser/infuse_pack_upgrade1.json diff --git a/src/generated/resources/data/forcecraft/recipes/infuser/infuse_pack_upgrade2.json b/src/generated/resources/data/forcecraft/recipe/infuser/infuse_pack_upgrade2.json similarity index 100% rename from src/generated/resources/data/forcecraft/recipes/infuser/infuse_pack_upgrade2.json rename to src/generated/resources/data/forcecraft/recipe/infuser/infuse_pack_upgrade2.json diff --git a/src/generated/resources/data/forcecraft/recipes/infuser/infuse_pack_upgrade3.json b/src/generated/resources/data/forcecraft/recipe/infuser/infuse_pack_upgrade3.json similarity index 100% rename from src/generated/resources/data/forcecraft/recipes/infuser/infuse_pack_upgrade3.json rename to src/generated/resources/data/forcecraft/recipe/infuser/infuse_pack_upgrade3.json diff --git a/src/generated/resources/data/forcecraft/recipes/infuser/infuse_pack_upgrade4.json b/src/generated/resources/data/forcecraft/recipe/infuser/infuse_pack_upgrade4.json similarity index 100% rename from src/generated/resources/data/forcecraft/recipes/infuser/infuse_pack_upgrade4.json rename to src/generated/resources/data/forcecraft/recipe/infuser/infuse_pack_upgrade4.json diff --git a/src/generated/resources/data/forcecraft/recipes/infuser/infuse_rainbow.json b/src/generated/resources/data/forcecraft/recipe/infuser/infuse_rainbow.json similarity index 100% rename from src/generated/resources/data/forcecraft/recipes/infuser/infuse_rainbow.json rename to src/generated/resources/data/forcecraft/recipe/infuser/infuse_rainbow.json diff --git a/src/generated/resources/data/forcecraft/recipes/infuser/infuse_silk.json b/src/generated/resources/data/forcecraft/recipe/infuser/infuse_silk.json similarity index 100% rename from src/generated/resources/data/forcecraft/recipes/infuser/infuse_silk.json rename to src/generated/resources/data/forcecraft/recipe/infuser/infuse_silk.json diff --git a/src/generated/resources/data/forcecraft/recipes/infuser/infuse_speed.json b/src/generated/resources/data/forcecraft/recipe/infuser/infuse_speed.json similarity index 100% rename from src/generated/resources/data/forcecraft/recipes/infuser/infuse_speed.json rename to src/generated/resources/data/forcecraft/recipe/infuser/infuse_speed.json diff --git a/src/generated/resources/data/forcecraft/recipes/infuser/infuse_sturdy.json b/src/generated/resources/data/forcecraft/recipe/infuser/infuse_sturdy.json similarity index 100% rename from src/generated/resources/data/forcecraft/recipes/infuser/infuse_sturdy.json rename to src/generated/resources/data/forcecraft/recipe/infuser/infuse_sturdy.json diff --git a/src/generated/resources/data/forcecraft/recipes/infuser/infuse_treasure.json b/src/generated/resources/data/forcecraft/recipe/infuser/infuse_treasure.json similarity index 100% rename from src/generated/resources/data/forcecraft/recipes/infuser/infuse_treasure.json rename to src/generated/resources/data/forcecraft/recipe/infuser/infuse_treasure.json diff --git a/src/generated/resources/data/forcecraft/recipes/infuser/infuse_wing.json b/src/generated/resources/data/forcecraft/recipe/infuser/infuse_wing.json similarity index 100% rename from src/generated/resources/data/forcecraft/recipes/infuser/infuse_wing.json rename to src/generated/resources/data/forcecraft/recipe/infuser/infuse_wing.json diff --git a/src/generated/resources/data/forcecraft/recipes/item_card.json b/src/generated/resources/data/forcecraft/recipe/item_card.json similarity index 65% rename from src/generated/resources/data/forcecraft/recipes/item_card.json rename to src/generated/resources/data/forcecraft/recipe/item_card.json index d305cc7e..8e787190 100644 --- a/src/generated/resources/data/forcecraft/recipes/item_card.json +++ b/src/generated/resources/data/forcecraft/recipe/item_card.json @@ -3,16 +3,16 @@ "category": "misc", "key": { "B": { - "tag": "forge:dyes/blue" + "tag": "c:dyes/blue" }, "I": { - "tag": "forge:ingots/force" + "tag": "c:ingots/force" }, "P": { "item": "minecraft:paper" }, "R": { - "tag": "forge:dyes/red" + "tag": "c:dyes/red" } }, "pattern": [ @@ -21,6 +21,7 @@ "PBP" ], "result": { - "item": "forcecraft:item_card" + "count": 1, + "id": "forcecraft:item_card" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/item_card_empty.json b/src/generated/resources/data/forcecraft/recipe/item_card_empty.json similarity index 79% rename from src/generated/resources/data/forcecraft/recipes/item_card_empty.json rename to src/generated/resources/data/forcecraft/recipe/item_card_empty.json index b23cb5d5..c9888a1c 100644 --- a/src/generated/resources/data/forcecraft/recipes/item_card_empty.json +++ b/src/generated/resources/data/forcecraft/recipe/item_card_empty.json @@ -10,6 +10,7 @@ "E" ], "result": { - "item": "forcecraft:item_card" + "count": 1, + "id": "forcecraft:item_card" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/item_card_flipped.json b/src/generated/resources/data/forcecraft/recipe/item_card_flipped.json similarity index 65% rename from src/generated/resources/data/forcecraft/recipes/item_card_flipped.json rename to src/generated/resources/data/forcecraft/recipe/item_card_flipped.json index 9f809ef7..bc13376a 100644 --- a/src/generated/resources/data/forcecraft/recipes/item_card_flipped.json +++ b/src/generated/resources/data/forcecraft/recipe/item_card_flipped.json @@ -3,16 +3,16 @@ "category": "misc", "key": { "B": { - "tag": "forge:dyes/blue" + "tag": "c:dyes/blue" }, "I": { - "tag": "forge:ingots/force" + "tag": "c:ingots/force" }, "P": { "item": "minecraft:paper" }, "R": { - "tag": "forge:dyes/red" + "tag": "c:dyes/red" } }, "pattern": [ @@ -21,6 +21,7 @@ "PPP" ], "result": { - "item": "forcecraft:item_card" + "count": 1, + "id": "forcecraft:item_card" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/light_blue_force_furnace_from_dye.json b/src/generated/resources/data/forcecraft/recipe/light_blue_force_furnace_from_dye.json similarity index 64% rename from src/generated/resources/data/forcecraft/recipes/light_blue_force_furnace_from_dye.json rename to src/generated/resources/data/forcecraft/recipe/light_blue_force_furnace_from_dye.json index 70f90b56..8a9a6745 100644 --- a/src/generated/resources/data/forcecraft/recipes/light_blue_force_furnace_from_dye.json +++ b/src/generated/resources/data/forcecraft/recipe/light_blue_force_furnace_from_dye.json @@ -6,10 +6,11 @@ "item": "forcecraft:force_furnace" }, { - "tag": "forge:dyes/light_blue" + "tag": "c:dyes/light_blue" } ], "result": { - "item": "forcecraft:light_blue_force_furnace" + "count": 1, + "id": "forcecraft:light_blue_force_furnace" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/light_gray_force_furnace_from_dye.json b/src/generated/resources/data/forcecraft/recipe/light_gray_force_furnace_from_dye.json similarity index 64% rename from src/generated/resources/data/forcecraft/recipes/light_gray_force_furnace_from_dye.json rename to src/generated/resources/data/forcecraft/recipe/light_gray_force_furnace_from_dye.json index 873c205d..ce09cf7e 100644 --- a/src/generated/resources/data/forcecraft/recipes/light_gray_force_furnace_from_dye.json +++ b/src/generated/resources/data/forcecraft/recipe/light_gray_force_furnace_from_dye.json @@ -6,10 +6,11 @@ "item": "forcecraft:force_furnace" }, { - "tag": "forge:dyes/light_gray" + "tag": "c:dyes/light_gray" } ], "result": { - "item": "forcecraft:light_gray_force_furnace" + "count": 1, + "id": "forcecraft:light_gray_force_furnace" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/lime_force_furnace_from_dye.json b/src/generated/resources/data/forcecraft/recipe/lime_force_furnace_from_dye.json similarity index 67% rename from src/generated/resources/data/forcecraft/recipes/lime_force_furnace_from_dye.json rename to src/generated/resources/data/forcecraft/recipe/lime_force_furnace_from_dye.json index 5495e7e3..5373f16e 100644 --- a/src/generated/resources/data/forcecraft/recipes/lime_force_furnace_from_dye.json +++ b/src/generated/resources/data/forcecraft/recipe/lime_force_furnace_from_dye.json @@ -6,10 +6,11 @@ "item": "forcecraft:force_furnace" }, { - "tag": "forge:dyes/lime" + "tag": "c:dyes/lime" } ], "result": { - "item": "forcecraft:lime_force_furnace" + "count": 1, + "id": "forcecraft:lime_force_furnace" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/magenta_force_furnace_from_dye.json b/src/generated/resources/data/forcecraft/recipe/magenta_force_furnace_from_dye.json similarity index 65% rename from src/generated/resources/data/forcecraft/recipes/magenta_force_furnace_from_dye.json rename to src/generated/resources/data/forcecraft/recipe/magenta_force_furnace_from_dye.json index 8c2e43f9..28a6395d 100644 --- a/src/generated/resources/data/forcecraft/recipes/magenta_force_furnace_from_dye.json +++ b/src/generated/resources/data/forcecraft/recipe/magenta_force_furnace_from_dye.json @@ -6,10 +6,11 @@ "item": "forcecraft:force_furnace" }, { - "tag": "forge:dyes/magenta" + "tag": "c:dyes/magenta" } ], "result": { - "item": "forcecraft:magenta_force_furnace" + "count": 1, + "id": "forcecraft:magenta_force_furnace" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/magnet_glove.json b/src/generated/resources/data/forcecraft/recipe/magnet_glove.json similarity index 67% rename from src/generated/resources/data/forcecraft/recipes/magnet_glove.json rename to src/generated/resources/data/forcecraft/recipe/magnet_glove.json index ee5bc889..2271df64 100644 --- a/src/generated/resources/data/forcecraft/recipes/magnet_glove.json +++ b/src/generated/resources/data/forcecraft/recipe/magnet_glove.json @@ -6,10 +6,10 @@ "item": "minecraft:compass" }, "F": { - "tag": "forge:ingots/force" + "tag": "c:ingots/force" }, "N": { - "tag": "forge:nether_stars" + "tag": "c:nether_stars" } }, "pattern": [ @@ -18,6 +18,7 @@ " F " ], "result": { - "item": "forcecraft:magnet_glove" + "count": 1, + "id": "forcecraft:magnet_glove" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/orange_force_furnace_from_dye.json b/src/generated/resources/data/forcecraft/recipe/orange_force_furnace_from_dye.json similarity index 66% rename from src/generated/resources/data/forcecraft/recipes/orange_force_furnace_from_dye.json rename to src/generated/resources/data/forcecraft/recipe/orange_force_furnace_from_dye.json index c0cfa589..193f5ffb 100644 --- a/src/generated/resources/data/forcecraft/recipes/orange_force_furnace_from_dye.json +++ b/src/generated/resources/data/forcecraft/recipe/orange_force_furnace_from_dye.json @@ -6,10 +6,11 @@ "item": "forcecraft:force_furnace" }, { - "tag": "forge:dyes/orange" + "tag": "c:dyes/orange" } ], "result": { - "item": "forcecraft:orange_force_furnace" + "count": 1, + "id": "forcecraft:orange_force_furnace" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/pink_force_furnace_from_dye.json b/src/generated/resources/data/forcecraft/recipe/pink_force_furnace_from_dye.json similarity index 67% rename from src/generated/resources/data/forcecraft/recipes/pink_force_furnace_from_dye.json rename to src/generated/resources/data/forcecraft/recipe/pink_force_furnace_from_dye.json index 02ac4de4..86206d29 100644 --- a/src/generated/resources/data/forcecraft/recipes/pink_force_furnace_from_dye.json +++ b/src/generated/resources/data/forcecraft/recipe/pink_force_furnace_from_dye.json @@ -6,10 +6,11 @@ "item": "forcecraft:force_furnace" }, { - "tag": "forge:dyes/pink" + "tag": "c:dyes/pink" } ], "result": { - "item": "forcecraft:pink_force_furnace" + "count": 1, + "id": "forcecraft:pink_force_furnace" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/purple_force_furnace_from_dye.json b/src/generated/resources/data/forcecraft/recipe/purple_force_furnace_from_dye.json similarity index 66% rename from src/generated/resources/data/forcecraft/recipes/purple_force_furnace_from_dye.json rename to src/generated/resources/data/forcecraft/recipe/purple_force_furnace_from_dye.json index 47a0a623..44d0b97f 100644 --- a/src/generated/resources/data/forcecraft/recipes/purple_force_furnace_from_dye.json +++ b/src/generated/resources/data/forcecraft/recipe/purple_force_furnace_from_dye.json @@ -6,10 +6,11 @@ "item": "forcecraft:force_furnace" }, { - "tag": "forge:dyes/purple" + "tag": "c:dyes/purple" } ], "result": { - "item": "forcecraft:purple_force_furnace" + "count": 1, + "id": "forcecraft:purple_force_furnace" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/red_force_furnace_from_dye.json b/src/generated/resources/data/forcecraft/recipe/red_force_furnace_from_dye.json similarity index 67% rename from src/generated/resources/data/forcecraft/recipes/red_force_furnace_from_dye.json rename to src/generated/resources/data/forcecraft/recipe/red_force_furnace_from_dye.json index beb33f4b..d4ce2696 100644 --- a/src/generated/resources/data/forcecraft/recipes/red_force_furnace_from_dye.json +++ b/src/generated/resources/data/forcecraft/recipe/red_force_furnace_from_dye.json @@ -6,10 +6,11 @@ "item": "forcecraft:force_furnace" }, { - "tag": "forge:dyes/red" + "tag": "c:dyes/red" } ], "result": { - "item": "forcecraft:red_force_furnace" + "count": 1, + "id": "forcecraft:red_force_furnace" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/red_potion.json b/src/generated/resources/data/forcecraft/recipe/red_potion.json similarity index 84% rename from src/generated/resources/data/forcecraft/recipes/red_potion.json rename to src/generated/resources/data/forcecraft/recipe/red_potion.json index 8e6244f4..3b60964b 100644 --- a/src/generated/resources/data/forcecraft/recipes/red_potion.json +++ b/src/generated/resources/data/forcecraft/recipe/red_potion.json @@ -15,6 +15,7 @@ "RF" ], "result": { - "item": "forcecraft:red_potion" + "count": 1, + "id": "forcecraft:red_potion" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/slime_ball_from_chu_jelly.json b/src/generated/resources/data/forcecraft/recipe/slime_ball_from_chu_jelly.json similarity index 76% rename from src/generated/resources/data/forcecraft/recipes/slime_ball_from_chu_jelly.json rename to src/generated/resources/data/forcecraft/recipe/slime_ball_from_chu_jelly.json index 284f35ff..be037f67 100644 --- a/src/generated/resources/data/forcecraft/recipes/slime_ball_from_chu_jelly.json +++ b/src/generated/resources/data/forcecraft/recipe/slime_ball_from_chu_jelly.json @@ -7,6 +7,7 @@ } ], "result": { - "item": "minecraft:slime_ball" + "count": 1, + "id": "minecraft:slime_ball" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/snow_cookie.json b/src/generated/resources/data/forcecraft/recipe/snow_cookie.json similarity index 75% rename from src/generated/resources/data/forcecraft/recipes/snow_cookie.json rename to src/generated/resources/data/forcecraft/recipe/snow_cookie.json index be301dd1..a2c9265e 100644 --- a/src/generated/resources/data/forcecraft/recipes/snow_cookie.json +++ b/src/generated/resources/data/forcecraft/recipe/snow_cookie.json @@ -7,6 +7,7 @@ } ], "result": { - "item": "forcecraft:snow_cookie" + "count": 1, + "id": "forcecraft:snow_cookie" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/soul_wafer.json b/src/generated/resources/data/forcecraft/recipe/soul_wafer.json similarity index 70% rename from src/generated/resources/data/forcecraft/recipes/soul_wafer.json rename to src/generated/resources/data/forcecraft/recipe/soul_wafer.json index 3f7719f3..af63eb1d 100644 --- a/src/generated/resources/data/forcecraft/recipes/soul_wafer.json +++ b/src/generated/resources/data/forcecraft/recipe/soul_wafer.json @@ -3,16 +3,16 @@ "category": "misc", "key": { "B": { - "tag": "forge:bones" + "tag": "c:bones" }, "F": { "item": "minecraft:rotten_flesh" }, "G": { - "tag": "forge:gunpowder" + "tag": "c:gunpowders" }, "L": { - "tag": "forge:dyes/light_blue" + "tag": "c:dyes/light_blue" }, "S": { "item": "forcecraft:snow_cookie" @@ -24,6 +24,7 @@ " L " ], "result": { - "item": "forcecraft:soul_wafer" + "count": 1, + "id": "forcecraft:soul_wafer" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/spoils_bag.json b/src/generated/resources/data/forcecraft/recipe/spoils_bag.json similarity index 79% rename from src/generated/resources/data/forcecraft/recipes/spoils_bag.json rename to src/generated/resources/data/forcecraft/recipe/spoils_bag.json index 6e2753d0..f7f6159c 100644 --- a/src/generated/resources/data/forcecraft/recipes/spoils_bag.json +++ b/src/generated/resources/data/forcecraft/recipe/spoils_bag.json @@ -11,6 +11,7 @@ "##" ], "result": { - "item": "forcecraft:spoils_bag" + "count": 1, + "id": "forcecraft:spoils_bag" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/spoils_bag_t2.json b/src/generated/resources/data/forcecraft/recipe/spoils_bag_t2.json similarity index 78% rename from src/generated/resources/data/forcecraft/recipes/spoils_bag_t2.json rename to src/generated/resources/data/forcecraft/recipe/spoils_bag_t2.json index b18c0fc8..b25233d8 100644 --- a/src/generated/resources/data/forcecraft/recipes/spoils_bag_t2.json +++ b/src/generated/resources/data/forcecraft/recipe/spoils_bag_t2.json @@ -11,6 +11,7 @@ "##" ], "result": { - "item": "forcecraft:spoils_bag_t2" + "count": 1, + "id": "forcecraft:spoils_bag_t2" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/spoils_bag_t3.json b/src/generated/resources/data/forcecraft/recipe/spoils_bag_t3.json similarity index 78% rename from src/generated/resources/data/forcecraft/recipes/spoils_bag_t3.json rename to src/generated/resources/data/forcecraft/recipe/spoils_bag_t3.json index 11beaeba..ba217b81 100644 --- a/src/generated/resources/data/forcecraft/recipes/spoils_bag_t3.json +++ b/src/generated/resources/data/forcecraft/recipe/spoils_bag_t3.json @@ -11,6 +11,7 @@ "##" ], "result": { - "item": "forcecraft:spoils_bag_t3" + "count": 1, + "id": "forcecraft:spoils_bag_t3" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/beef_to_porkchop.json b/src/generated/resources/data/forcecraft/recipe/transmutation/beef_to_porkchop.json similarity index 78% rename from src/generated/resources/data/forcecraft/recipes/transmutation/beef_to_porkchop.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/beef_to_porkchop.json index b45142ae..5a2549ad 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/beef_to_porkchop.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/beef_to_porkchop.json @@ -9,6 +9,7 @@ } ], "result": { - "item": "minecraft:porkchop" + "count": 1, + "id": "minecraft:porkchop" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/brown_to_red_mushroom.json b/src/generated/resources/data/forcecraft/recipe/transmutation/brown_to_red_mushroom.json similarity index 78% rename from src/generated/resources/data/forcecraft/recipes/transmutation/brown_to_red_mushroom.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/brown_to_red_mushroom.json index 159dced0..eece927e 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/brown_to_red_mushroom.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/brown_to_red_mushroom.json @@ -9,6 +9,7 @@ } ], "result": { - "item": "minecraft:red_mushroom" + "count": 1, + "id": "minecraft:red_mushroom" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/chicken_to_beef.json b/src/generated/resources/data/forcecraft/recipe/transmutation/chicken_to_beef.json similarity index 80% rename from src/generated/resources/data/forcecraft/recipes/transmutation/chicken_to_beef.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/chicken_to_beef.json index 5afa7140..36cb5534 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/chicken_to_beef.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/chicken_to_beef.json @@ -9,6 +9,7 @@ } ], "result": { - "item": "minecraft:beef" + "count": 1, + "id": "minecraft:beef" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/cooked_beef_to_porkchop.json b/src/generated/resources/data/forcecraft/recipe/transmutation/cooked_beef_to_porkchop.json similarity index 77% rename from src/generated/resources/data/forcecraft/recipes/transmutation/cooked_beef_to_porkchop.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/cooked_beef_to_porkchop.json index 6d67cd82..442f6689 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/cooked_beef_to_porkchop.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/cooked_beef_to_porkchop.json @@ -9,6 +9,7 @@ } ], "result": { - "item": "minecraft:cooked_porkchop" + "count": 1, + "id": "minecraft:cooked_porkchop" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/cooked_chicken_to_beef.json b/src/generated/resources/data/forcecraft/recipe/transmutation/cooked_chicken_to_beef.json similarity index 78% rename from src/generated/resources/data/forcecraft/recipes/transmutation/cooked_chicken_to_beef.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/cooked_chicken_to_beef.json index a87d8eaa..fa8c0a72 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/cooked_chicken_to_beef.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/cooked_chicken_to_beef.json @@ -9,6 +9,7 @@ } ], "result": { - "item": "minecraft:cooked_beef" + "count": 1, + "id": "minecraft:cooked_beef" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/cooked_mutton_to_chicken.json b/src/generated/resources/data/forcecraft/recipe/transmutation/cooked_mutton_to_chicken.json similarity index 77% rename from src/generated/resources/data/forcecraft/recipes/transmutation/cooked_mutton_to_chicken.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/cooked_mutton_to_chicken.json index 327f910b..57a0bab2 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/cooked_mutton_to_chicken.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/cooked_mutton_to_chicken.json @@ -9,6 +9,7 @@ } ], "result": { - "item": "minecraft:cooked_chicken" + "count": 1, + "id": "minecraft:cooked_chicken" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/cooked_porkchop_to_mutton.json b/src/generated/resources/data/forcecraft/recipe/transmutation/cooked_porkchop_to_mutton.json similarity index 78% rename from src/generated/resources/data/forcecraft/recipes/transmutation/cooked_porkchop_to_mutton.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/cooked_porkchop_to_mutton.json index a061aef5..7f4f5079 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/cooked_porkchop_to_mutton.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/cooked_porkchop_to_mutton.json @@ -9,6 +9,7 @@ } ], "result": { - "item": "minecraft:cooked_mutton" + "count": 1, + "id": "minecraft:cooked_mutton" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/dandelion_to_poppy.json b/src/generated/resources/data/forcecraft/recipe/transmutation/dandelion_to_poppy.json similarity index 80% rename from src/generated/resources/data/forcecraft/recipes/transmutation/dandelion_to_poppy.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/dandelion_to_poppy.json index 553426fa..74614cf6 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/dandelion_to_poppy.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/dandelion_to_poppy.json @@ -9,6 +9,7 @@ } ], "result": { - "item": "minecraft:poppy" + "count": 1, + "id": "minecraft:poppy" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/diamond_from_axe.json b/src/generated/resources/data/forcecraft/recipe/transmutation/diamond_from_axe.json similarity index 86% rename from src/generated/resources/data/forcecraft/recipes/transmutation/diamond_from_axe.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/diamond_from_axe.json index 3852d270..e84fd884 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/diamond_from_axe.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/diamond_from_axe.json @@ -10,6 +10,6 @@ ], "result": { "count": 2, - "item": "minecraft:diamond" + "id": "minecraft:diamond" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/diamond_from_boots.json b/src/generated/resources/data/forcecraft/recipe/transmutation/diamond_from_boots.json similarity index 86% rename from src/generated/resources/data/forcecraft/recipes/transmutation/diamond_from_boots.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/diamond_from_boots.json index 8c27cb78..973aaab6 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/diamond_from_boots.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/diamond_from_boots.json @@ -10,6 +10,6 @@ ], "result": { "count": 4, - "item": "minecraft:diamond" + "id": "minecraft:diamond" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/diamond_from_chestplate.json b/src/generated/resources/data/forcecraft/recipe/transmutation/diamond_from_chestplate.json similarity index 86% rename from src/generated/resources/data/forcecraft/recipes/transmutation/diamond_from_chestplate.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/diamond_from_chestplate.json index 59c4fcd2..7c124bdd 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/diamond_from_chestplate.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/diamond_from_chestplate.json @@ -10,6 +10,6 @@ ], "result": { "count": 8, - "item": "minecraft:diamond" + "id": "minecraft:diamond" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/diamond_from_helmet.json b/src/generated/resources/data/forcecraft/recipe/transmutation/diamond_from_helmet.json similarity index 86% rename from src/generated/resources/data/forcecraft/recipes/transmutation/diamond_from_helmet.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/diamond_from_helmet.json index bf5e3da2..04807112 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/diamond_from_helmet.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/diamond_from_helmet.json @@ -10,6 +10,6 @@ ], "result": { "count": 5, - "item": "minecraft:diamond" + "id": "minecraft:diamond" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/diamond_from_hoe.json b/src/generated/resources/data/forcecraft/recipe/transmutation/diamond_from_hoe.json similarity index 86% rename from src/generated/resources/data/forcecraft/recipes/transmutation/diamond_from_hoe.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/diamond_from_hoe.json index e0b52169..e7143b1e 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/diamond_from_hoe.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/diamond_from_hoe.json @@ -10,6 +10,6 @@ ], "result": { "count": 2, - "item": "minecraft:diamond" + "id": "minecraft:diamond" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/diamond_from_horse_armor.json b/src/generated/resources/data/forcecraft/recipe/transmutation/diamond_from_horse_armor.json similarity index 86% rename from src/generated/resources/data/forcecraft/recipes/transmutation/diamond_from_horse_armor.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/diamond_from_horse_armor.json index 0ef3e71c..d17d7cac 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/diamond_from_horse_armor.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/diamond_from_horse_armor.json @@ -10,6 +10,6 @@ ], "result": { "count": 4, - "item": "minecraft:diamond" + "id": "minecraft:diamond" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/diamond_from_leggings.json b/src/generated/resources/data/forcecraft/recipe/transmutation/diamond_from_leggings.json similarity index 86% rename from src/generated/resources/data/forcecraft/recipes/transmutation/diamond_from_leggings.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/diamond_from_leggings.json index 3730a145..de2cf39f 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/diamond_from_leggings.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/diamond_from_leggings.json @@ -10,6 +10,6 @@ ], "result": { "count": 7, - "item": "minecraft:diamond" + "id": "minecraft:diamond" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/diamond_from_pickaxe.json b/src/generated/resources/data/forcecraft/recipe/transmutation/diamond_from_pickaxe.json similarity index 86% rename from src/generated/resources/data/forcecraft/recipes/transmutation/diamond_from_pickaxe.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/diamond_from_pickaxe.json index b892841a..49783a17 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/diamond_from_pickaxe.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/diamond_from_pickaxe.json @@ -10,6 +10,6 @@ ], "result": { "count": 2, - "item": "minecraft:diamond" + "id": "minecraft:diamond" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/diamond_from_shovel.json b/src/generated/resources/data/forcecraft/recipe/transmutation/diamond_from_shovel.json similarity index 80% rename from src/generated/resources/data/forcecraft/recipes/transmutation/diamond_from_shovel.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/diamond_from_shovel.json index 4a2c8535..7612ac49 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/diamond_from_shovel.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/diamond_from_shovel.json @@ -9,6 +9,7 @@ } ], "result": { - "item": "minecraft:diamond" + "count": 1, + "id": "minecraft:diamond" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/diamond_from_sword.json b/src/generated/resources/data/forcecraft/recipe/transmutation/diamond_from_sword.json similarity index 86% rename from src/generated/resources/data/forcecraft/recipes/transmutation/diamond_from_sword.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/diamond_from_sword.json index c428e06b..2b3b365d 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/diamond_from_sword.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/diamond_from_sword.json @@ -10,6 +10,6 @@ ], "result": { "count": 2, - "item": "minecraft:diamond" + "id": "minecraft:diamond" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/experience_bottle_from_enchanted_book.json b/src/generated/resources/data/forcecraft/recipe/transmutation/experience_bottle_from_enchanted_book.json similarity index 76% rename from src/generated/resources/data/forcecraft/recipes/transmutation/experience_bottle_from_enchanted_book.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/experience_bottle_from_enchanted_book.json index f9ff0cb8..3a9ac392 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/experience_bottle_from_enchanted_book.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/experience_bottle_from_enchanted_book.json @@ -9,6 +9,7 @@ } ], "result": { - "item": "minecraft:experience_bottle" + "count": 1, + "id": "minecraft:experience_bottle" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/force_brick_from_stone_bricks.json b/src/generated/resources/data/forcecraft/recipe/transmutation/force_brick_from_stone_bricks.json similarity index 78% rename from src/generated/resources/data/forcecraft/recipes/transmutation/force_brick_from_stone_bricks.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/force_brick_from_stone_bricks.json index 659e7a43..7873e664 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/force_brick_from_stone_bricks.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/force_brick_from_stone_bricks.json @@ -9,6 +9,7 @@ } ], "result": { - "item": "forcecraft:force_brick" + "count": 1, + "id": "forcecraft:force_brick" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/force_sapling_from_sapling.json b/src/generated/resources/data/forcecraft/recipe/transmutation/force_sapling_from_sapling.json similarity index 77% rename from src/generated/resources/data/forcecraft/recipes/transmutation/force_sapling_from_sapling.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/force_sapling_from_sapling.json index db629424..5047dab0 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/force_sapling_from_sapling.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/force_sapling_from_sapling.json @@ -9,6 +9,7 @@ } ], "result": { - "item": "forcecraft:force_sapling" + "count": 1, + "id": "forcecraft:force_sapling" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/fortune_from_fortune_cookie.json b/src/generated/resources/data/forcecraft/recipe/transmutation/fortune_from_fortune_cookie.json similarity index 79% rename from src/generated/resources/data/forcecraft/recipes/transmutation/fortune_from_fortune_cookie.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/fortune_from_fortune_cookie.json index 29fbcf56..cc5ae799 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/fortune_from_fortune_cookie.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/fortune_from_fortune_cookie.json @@ -9,6 +9,7 @@ } ], "result": { - "item": "forcecraft:fortune" + "count": 1, + "id": "forcecraft:fortune" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/gold_ingot_from_axe.json b/src/generated/resources/data/forcecraft/recipe/transmutation/gold_ingot_from_axe.json similarity index 84% rename from src/generated/resources/data/forcecraft/recipes/transmutation/gold_ingot_from_axe.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/gold_ingot_from_axe.json index 5ba91e7a..3365c817 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/gold_ingot_from_axe.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/gold_ingot_from_axe.json @@ -10,6 +10,6 @@ ], "result": { "count": 2, - "item": "minecraft:gold_ingot" + "id": "minecraft:gold_ingot" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/gold_ingot_from_boots.json b/src/generated/resources/data/forcecraft/recipe/transmutation/gold_ingot_from_boots.json similarity index 85% rename from src/generated/resources/data/forcecraft/recipes/transmutation/gold_ingot_from_boots.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/gold_ingot_from_boots.json index d9605c8a..1c345f49 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/gold_ingot_from_boots.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/gold_ingot_from_boots.json @@ -10,6 +10,6 @@ ], "result": { "count": 4, - "item": "minecraft:gold_ingot" + "id": "minecraft:gold_ingot" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/gold_ingot_from_chestplate.json b/src/generated/resources/data/forcecraft/recipe/transmutation/gold_ingot_from_chestplate.json similarity index 85% rename from src/generated/resources/data/forcecraft/recipes/transmutation/gold_ingot_from_chestplate.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/gold_ingot_from_chestplate.json index 565ee8b9..66662c92 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/gold_ingot_from_chestplate.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/gold_ingot_from_chestplate.json @@ -10,6 +10,6 @@ ], "result": { "count": 8, - "item": "minecraft:gold_ingot" + "id": "minecraft:gold_ingot" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/gold_ingot_from_clock.json b/src/generated/resources/data/forcecraft/recipe/transmutation/gold_ingot_from_clock.json similarity index 84% rename from src/generated/resources/data/forcecraft/recipes/transmutation/gold_ingot_from_clock.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/gold_ingot_from_clock.json index aaa4a0d4..c26539da 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/gold_ingot_from_clock.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/gold_ingot_from_clock.json @@ -10,6 +10,6 @@ ], "result": { "count": 4, - "item": "minecraft:gold_ingot" + "id": "minecraft:gold_ingot" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/gold_ingot_from_helmet.json b/src/generated/resources/data/forcecraft/recipe/transmutation/gold_ingot_from_helmet.json similarity index 85% rename from src/generated/resources/data/forcecraft/recipes/transmutation/gold_ingot_from_helmet.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/gold_ingot_from_helmet.json index e338a29d..00004d5b 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/gold_ingot_from_helmet.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/gold_ingot_from_helmet.json @@ -10,6 +10,6 @@ ], "result": { "count": 5, - "item": "minecraft:gold_ingot" + "id": "minecraft:gold_ingot" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/gold_ingot_from_hoe.json b/src/generated/resources/data/forcecraft/recipe/transmutation/gold_ingot_from_hoe.json similarity index 84% rename from src/generated/resources/data/forcecraft/recipes/transmutation/gold_ingot_from_hoe.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/gold_ingot_from_hoe.json index a7e62e26..467e6aeb 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/gold_ingot_from_hoe.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/gold_ingot_from_hoe.json @@ -10,6 +10,6 @@ ], "result": { "count": 2, - "item": "minecraft:gold_ingot" + "id": "minecraft:gold_ingot" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/gold_ingot_from_horse_armor.json b/src/generated/resources/data/forcecraft/recipe/transmutation/gold_ingot_from_horse_armor.json similarity index 85% rename from src/generated/resources/data/forcecraft/recipes/transmutation/gold_ingot_from_horse_armor.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/gold_ingot_from_horse_armor.json index 3f7dc60e..8a027443 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/gold_ingot_from_horse_armor.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/gold_ingot_from_horse_armor.json @@ -10,6 +10,6 @@ ], "result": { "count": 4, - "item": "minecraft:gold_ingot" + "id": "minecraft:gold_ingot" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/gold_ingot_from_leggings.json b/src/generated/resources/data/forcecraft/recipe/transmutation/gold_ingot_from_leggings.json similarity index 85% rename from src/generated/resources/data/forcecraft/recipes/transmutation/gold_ingot_from_leggings.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/gold_ingot_from_leggings.json index 76475c05..6a4e4bda 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/gold_ingot_from_leggings.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/gold_ingot_from_leggings.json @@ -10,6 +10,6 @@ ], "result": { "count": 7, - "item": "minecraft:gold_ingot" + "id": "minecraft:gold_ingot" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/gold_ingot_from_pickaxe.json b/src/generated/resources/data/forcecraft/recipe/transmutation/gold_ingot_from_pickaxe.json similarity index 85% rename from src/generated/resources/data/forcecraft/recipes/transmutation/gold_ingot_from_pickaxe.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/gold_ingot_from_pickaxe.json index eb752524..a258abf3 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/gold_ingot_from_pickaxe.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/gold_ingot_from_pickaxe.json @@ -10,6 +10,6 @@ ], "result": { "count": 2, - "item": "minecraft:gold_ingot" + "id": "minecraft:gold_ingot" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/gold_ingot_from_shovel.json b/src/generated/resources/data/forcecraft/recipe/transmutation/gold_ingot_from_shovel.json similarity index 79% rename from src/generated/resources/data/forcecraft/recipes/transmutation/gold_ingot_from_shovel.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/gold_ingot_from_shovel.json index c56f84dc..93ac6fdb 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/gold_ingot_from_shovel.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/gold_ingot_from_shovel.json @@ -9,6 +9,7 @@ } ], "result": { - "item": "minecraft:gold_ingot" + "count": 1, + "id": "minecraft:gold_ingot" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/gold_ingot_from_sword.json b/src/generated/resources/data/forcecraft/recipe/transmutation/gold_ingot_from_sword.json similarity index 85% rename from src/generated/resources/data/forcecraft/recipes/transmutation/gold_ingot_from_sword.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/gold_ingot_from_sword.json index 7e53c8d4..8a881bf3 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/gold_ingot_from_sword.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/gold_ingot_from_sword.json @@ -10,6 +10,6 @@ ], "result": { "count": 2, - "item": "minecraft:gold_ingot" + "id": "minecraft:gold_ingot" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/infuser_from_enchanting_table.json b/src/generated/resources/data/forcecraft/recipe/transmutation/infuser_from_enchanting_table.json similarity index 80% rename from src/generated/resources/data/forcecraft/recipes/transmutation/infuser_from_enchanting_table.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/infuser_from_enchanting_table.json index 6c0ac3eb..36d75085 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/infuser_from_enchanting_table.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/infuser_from_enchanting_table.json @@ -9,6 +9,7 @@ } ], "result": { - "item": "forcecraft:infuser" + "count": 1, + "id": "forcecraft:infuser" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/irom_ingot_from_cauldron.json b/src/generated/resources/data/forcecraft/recipe/transmutation/irom_ingot_from_cauldron.json similarity index 84% rename from src/generated/resources/data/forcecraft/recipes/transmutation/irom_ingot_from_cauldron.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/irom_ingot_from_cauldron.json index dcb73741..c5765753 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/irom_ingot_from_cauldron.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/irom_ingot_from_cauldron.json @@ -10,6 +10,6 @@ ], "result": { "count": 7, - "item": "minecraft:iron_ingot" + "id": "minecraft:iron_ingot" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/irom_ingot_from_compass.json b/src/generated/resources/data/forcecraft/recipe/transmutation/irom_ingot_from_compass.json similarity index 84% rename from src/generated/resources/data/forcecraft/recipes/transmutation/irom_ingot_from_compass.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/irom_ingot_from_compass.json index 07521fc7..1ad83d87 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/irom_ingot_from_compass.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/irom_ingot_from_compass.json @@ -10,6 +10,6 @@ ], "result": { "count": 4, - "item": "minecraft:iron_ingot" + "id": "minecraft:iron_ingot" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/iron_ingot_from_anvil.json b/src/generated/resources/data/forcecraft/recipe/transmutation/iron_ingot_from_anvil.json similarity index 84% rename from src/generated/resources/data/forcecraft/recipes/transmutation/iron_ingot_from_anvil.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/iron_ingot_from_anvil.json index 5c032e0c..d2b627d9 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/iron_ingot_from_anvil.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/iron_ingot_from_anvil.json @@ -10,6 +10,6 @@ ], "result": { "count": 31, - "item": "minecraft:iron_ingot" + "id": "minecraft:iron_ingot" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/iron_ingot_from_axe.json b/src/generated/resources/data/forcecraft/recipe/transmutation/iron_ingot_from_axe.json similarity index 84% rename from src/generated/resources/data/forcecraft/recipes/transmutation/iron_ingot_from_axe.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/iron_ingot_from_axe.json index 50a97b15..3595f418 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/iron_ingot_from_axe.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/iron_ingot_from_axe.json @@ -10,6 +10,6 @@ ], "result": { "count": 2, - "item": "minecraft:iron_ingot" + "id": "minecraft:iron_ingot" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/iron_ingot_from_boots.json b/src/generated/resources/data/forcecraft/recipe/transmutation/iron_ingot_from_boots.json similarity index 84% rename from src/generated/resources/data/forcecraft/recipes/transmutation/iron_ingot_from_boots.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/iron_ingot_from_boots.json index 39425074..4391c98d 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/iron_ingot_from_boots.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/iron_ingot_from_boots.json @@ -10,6 +10,6 @@ ], "result": { "count": 4, - "item": "minecraft:iron_ingot" + "id": "minecraft:iron_ingot" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/iron_ingot_from_bucket.json b/src/generated/resources/data/forcecraft/recipe/transmutation/iron_ingot_from_bucket.json similarity index 84% rename from src/generated/resources/data/forcecraft/recipes/transmutation/iron_ingot_from_bucket.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/iron_ingot_from_bucket.json index d1f4720c..81968515 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/iron_ingot_from_bucket.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/iron_ingot_from_bucket.json @@ -10,6 +10,6 @@ ], "result": { "count": 3, - "item": "minecraft:iron_ingot" + "id": "minecraft:iron_ingot" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/iron_ingot_from_chainmail_boots.json b/src/generated/resources/data/forcecraft/recipe/transmutation/iron_ingot_from_chainmail_boots.json similarity index 85% rename from src/generated/resources/data/forcecraft/recipes/transmutation/iron_ingot_from_chainmail_boots.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/iron_ingot_from_chainmail_boots.json index 90e07be8..3e5766b6 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/iron_ingot_from_chainmail_boots.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/iron_ingot_from_chainmail_boots.json @@ -10,6 +10,6 @@ ], "result": { "count": 2, - "item": "minecraft:iron_ingot" + "id": "minecraft:iron_ingot" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/iron_ingot_from_chainmail_chestplate.json b/src/generated/resources/data/forcecraft/recipe/transmutation/iron_ingot_from_chainmail_chestplate.json similarity index 85% rename from src/generated/resources/data/forcecraft/recipes/transmutation/iron_ingot_from_chainmail_chestplate.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/iron_ingot_from_chainmail_chestplate.json index db3262cb..eebddc22 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/iron_ingot_from_chainmail_chestplate.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/iron_ingot_from_chainmail_chestplate.json @@ -10,6 +10,6 @@ ], "result": { "count": 6, - "item": "minecraft:iron_ingot" + "id": "minecraft:iron_ingot" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/iron_ingot_from_chainmail_helmet.json b/src/generated/resources/data/forcecraft/recipe/transmutation/iron_ingot_from_chainmail_helmet.json similarity index 85% rename from src/generated/resources/data/forcecraft/recipes/transmutation/iron_ingot_from_chainmail_helmet.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/iron_ingot_from_chainmail_helmet.json index 23818ee2..246a99ca 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/iron_ingot_from_chainmail_helmet.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/iron_ingot_from_chainmail_helmet.json @@ -10,6 +10,6 @@ ], "result": { "count": 3, - "item": "minecraft:iron_ingot" + "id": "minecraft:iron_ingot" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/iron_ingot_from_chainmail_leggings.json b/src/generated/resources/data/forcecraft/recipe/transmutation/iron_ingot_from_chainmail_leggings.json similarity index 85% rename from src/generated/resources/data/forcecraft/recipes/transmutation/iron_ingot_from_chainmail_leggings.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/iron_ingot_from_chainmail_leggings.json index 50132eea..d622e1fd 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/iron_ingot_from_chainmail_leggings.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/iron_ingot_from_chainmail_leggings.json @@ -10,6 +10,6 @@ ], "result": { "count": 4, - "item": "minecraft:iron_ingot" + "id": "minecraft:iron_ingot" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/iron_ingot_from_chestplate.json b/src/generated/resources/data/forcecraft/recipe/transmutation/iron_ingot_from_chestplate.json similarity index 85% rename from src/generated/resources/data/forcecraft/recipes/transmutation/iron_ingot_from_chestplate.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/iron_ingot_from_chestplate.json index 84f26df2..14898319 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/iron_ingot_from_chestplate.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/iron_ingot_from_chestplate.json @@ -10,6 +10,6 @@ ], "result": { "count": 8, - "item": "minecraft:iron_ingot" + "id": "minecraft:iron_ingot" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/iron_ingot_from_door.json b/src/generated/resources/data/forcecraft/recipe/transmutation/iron_ingot_from_door.json similarity index 84% rename from src/generated/resources/data/forcecraft/recipes/transmutation/iron_ingot_from_door.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/iron_ingot_from_door.json index 75ffa26b..cb640722 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/iron_ingot_from_door.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/iron_ingot_from_door.json @@ -10,6 +10,6 @@ ], "result": { "count": 2, - "item": "minecraft:iron_ingot" + "id": "minecraft:iron_ingot" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/iron_ingot_from_helmet.json b/src/generated/resources/data/forcecraft/recipe/transmutation/iron_ingot_from_helmet.json similarity index 85% rename from src/generated/resources/data/forcecraft/recipes/transmutation/iron_ingot_from_helmet.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/iron_ingot_from_helmet.json index 9307eaeb..b8db6e46 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/iron_ingot_from_helmet.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/iron_ingot_from_helmet.json @@ -10,6 +10,6 @@ ], "result": { "count": 5, - "item": "minecraft:iron_ingot" + "id": "minecraft:iron_ingot" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/iron_ingot_from_hoe.json b/src/generated/resources/data/forcecraft/recipe/transmutation/iron_ingot_from_hoe.json similarity index 84% rename from src/generated/resources/data/forcecraft/recipes/transmutation/iron_ingot_from_hoe.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/iron_ingot_from_hoe.json index 32f273d0..5aac70b2 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/iron_ingot_from_hoe.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/iron_ingot_from_hoe.json @@ -10,6 +10,6 @@ ], "result": { "count": 2, - "item": "minecraft:iron_ingot" + "id": "minecraft:iron_ingot" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/iron_ingot_from_horse_armor.json b/src/generated/resources/data/forcecraft/recipe/transmutation/iron_ingot_from_horse_armor.json similarity index 85% rename from src/generated/resources/data/forcecraft/recipes/transmutation/iron_ingot_from_horse_armor.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/iron_ingot_from_horse_armor.json index ac9b5e74..cd60c115 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/iron_ingot_from_horse_armor.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/iron_ingot_from_horse_armor.json @@ -10,6 +10,6 @@ ], "result": { "count": 4, - "item": "minecraft:iron_ingot" + "id": "minecraft:iron_ingot" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/iron_ingot_from_leggings.json b/src/generated/resources/data/forcecraft/recipe/transmutation/iron_ingot_from_leggings.json similarity index 85% rename from src/generated/resources/data/forcecraft/recipes/transmutation/iron_ingot_from_leggings.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/iron_ingot_from_leggings.json index 21c44bca..b654b579 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/iron_ingot_from_leggings.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/iron_ingot_from_leggings.json @@ -10,6 +10,6 @@ ], "result": { "count": 7, - "item": "minecraft:iron_ingot" + "id": "minecraft:iron_ingot" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/iron_ingot_from_minecart.json b/src/generated/resources/data/forcecraft/recipe/transmutation/iron_ingot_from_minecart.json similarity index 84% rename from src/generated/resources/data/forcecraft/recipes/transmutation/iron_ingot_from_minecart.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/iron_ingot_from_minecart.json index f926de3b..1aaf50f6 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/iron_ingot_from_minecart.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/iron_ingot_from_minecart.json @@ -10,6 +10,6 @@ ], "result": { "count": 5, - "item": "minecraft:iron_ingot" + "id": "minecraft:iron_ingot" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/iron_ingot_from_pickaxe.json b/src/generated/resources/data/forcecraft/recipe/transmutation/iron_ingot_from_pickaxe.json similarity index 85% rename from src/generated/resources/data/forcecraft/recipes/transmutation/iron_ingot_from_pickaxe.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/iron_ingot_from_pickaxe.json index fb2c9f90..326a45af 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/iron_ingot_from_pickaxe.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/iron_ingot_from_pickaxe.json @@ -10,6 +10,6 @@ ], "result": { "count": 2, - "item": "minecraft:iron_ingot" + "id": "minecraft:iron_ingot" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/iron_ingot_from_shovel.json b/src/generated/resources/data/forcecraft/recipe/transmutation/iron_ingot_from_shovel.json similarity index 78% rename from src/generated/resources/data/forcecraft/recipes/transmutation/iron_ingot_from_shovel.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/iron_ingot_from_shovel.json index 10470169..96492801 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/iron_ingot_from_shovel.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/iron_ingot_from_shovel.json @@ -9,6 +9,7 @@ } ], "result": { - "item": "minecraft:iron_ingot" + "count": 1, + "id": "minecraft:iron_ingot" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/iron_ingot_from_sword.json b/src/generated/resources/data/forcecraft/recipe/transmutation/iron_ingot_from_sword.json similarity index 84% rename from src/generated/resources/data/forcecraft/recipes/transmutation/iron_ingot_from_sword.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/iron_ingot_from_sword.json index 61f2eb9c..8ed09962 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/iron_ingot_from_sword.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/iron_ingot_from_sword.json @@ -10,6 +10,6 @@ ], "result": { "count": 2, - "item": "minecraft:iron_ingot" + "id": "minecraft:iron_ingot" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/mutton_to_chicken.json b/src/generated/resources/data/forcecraft/recipe/transmutation/mutton_to_chicken.json similarity index 79% rename from src/generated/resources/data/forcecraft/recipes/transmutation/mutton_to_chicken.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/mutton_to_chicken.json index 45e50fb4..efbc8cd9 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/mutton_to_chicken.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/mutton_to_chicken.json @@ -9,6 +9,7 @@ } ], "result": { - "item": "minecraft:chicken" + "count": 1, + "id": "minecraft:chicken" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/poppy_to_dandelion.json b/src/generated/resources/data/forcecraft/recipe/transmutation/poppy_to_dandelion.json similarity index 78% rename from src/generated/resources/data/forcecraft/recipes/transmutation/poppy_to_dandelion.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/poppy_to_dandelion.json index ea7d039c..e7eba608 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/poppy_to_dandelion.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/poppy_to_dandelion.json @@ -9,6 +9,7 @@ } ], "result": { - "item": "minecraft:dandelion" + "count": 1, + "id": "minecraft:dandelion" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/porkchop_to_mutton.json b/src/generated/resources/data/forcecraft/recipe/transmutation/porkchop_to_mutton.json similarity index 80% rename from src/generated/resources/data/forcecraft/recipes/transmutation/porkchop_to_mutton.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/porkchop_to_mutton.json index b99b757f..9555c70d 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/porkchop_to_mutton.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/porkchop_to_mutton.json @@ -9,6 +9,7 @@ } ], "result": { - "item": "minecraft:mutton" + "count": 1, + "id": "minecraft:mutton" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/red_to_brown_mushroom.json b/src/generated/resources/data/forcecraft/recipe/transmutation/red_to_brown_mushroom.json similarity index 77% rename from src/generated/resources/data/forcecraft/recipes/transmutation/red_to_brown_mushroom.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/red_to_brown_mushroom.json index 1dc5cda4..1172c5de 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/red_to_brown_mushroom.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/red_to_brown_mushroom.json @@ -9,6 +9,7 @@ } ], "result": { - "item": "minecraft:brown_mushroom" + "count": 1, + "id": "minecraft:brown_mushroom" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/stick_from_stone_axe.json b/src/generated/resources/data/forcecraft/recipe/transmutation/stick_from_stone_axe.json similarity index 80% rename from src/generated/resources/data/forcecraft/recipes/transmutation/stick_from_stone_axe.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/stick_from_stone_axe.json index fd39685a..261d680c 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/stick_from_stone_axe.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/stick_from_stone_axe.json @@ -9,6 +9,7 @@ } ], "result": { - "item": "minecraft:stick" + "count": 1, + "id": "minecraft:stick" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/stick_from_stone_hoe.json b/src/generated/resources/data/forcecraft/recipe/transmutation/stick_from_stone_hoe.json similarity index 80% rename from src/generated/resources/data/forcecraft/recipes/transmutation/stick_from_stone_hoe.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/stick_from_stone_hoe.json index ecfd4243..106b463b 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/stick_from_stone_hoe.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/stick_from_stone_hoe.json @@ -9,6 +9,7 @@ } ], "result": { - "item": "minecraft:stick" + "count": 1, + "id": "minecraft:stick" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/stick_from_stone_pickaxe.json b/src/generated/resources/data/forcecraft/recipe/transmutation/stick_from_stone_pickaxe.json similarity index 80% rename from src/generated/resources/data/forcecraft/recipes/transmutation/stick_from_stone_pickaxe.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/stick_from_stone_pickaxe.json index 4a7cb24f..d8561788 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/stick_from_stone_pickaxe.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/stick_from_stone_pickaxe.json @@ -9,6 +9,7 @@ } ], "result": { - "item": "minecraft:stick" + "count": 1, + "id": "minecraft:stick" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/stick_from_stone_shovel.json b/src/generated/resources/data/forcecraft/recipe/transmutation/stick_from_stone_shovel.json similarity index 80% rename from src/generated/resources/data/forcecraft/recipes/transmutation/stick_from_stone_shovel.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/stick_from_stone_shovel.json index 461852b2..1c23f6af 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/stick_from_stone_shovel.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/stick_from_stone_shovel.json @@ -9,6 +9,7 @@ } ], "result": { - "item": "minecraft:stick" + "count": 1, + "id": "minecraft:stick" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/stick_from_stone_sword.json b/src/generated/resources/data/forcecraft/recipe/transmutation/stick_from_stone_sword.json similarity index 80% rename from src/generated/resources/data/forcecraft/recipes/transmutation/stick_from_stone_sword.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/stick_from_stone_sword.json index 69f8e46a..6dc6f6d4 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/stick_from_stone_sword.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/stick_from_stone_sword.json @@ -9,6 +9,7 @@ } ], "result": { - "item": "minecraft:stick" + "count": 1, + "id": "minecraft:stick" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/stick_from_wooden_axe.json b/src/generated/resources/data/forcecraft/recipe/transmutation/stick_from_wooden_axe.json similarity index 80% rename from src/generated/resources/data/forcecraft/recipes/transmutation/stick_from_wooden_axe.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/stick_from_wooden_axe.json index a04d4425..1a2d0bbf 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/stick_from_wooden_axe.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/stick_from_wooden_axe.json @@ -9,6 +9,7 @@ } ], "result": { - "item": "minecraft:stick" + "count": 1, + "id": "minecraft:stick" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/stick_from_wooden_hoe.json b/src/generated/resources/data/forcecraft/recipe/transmutation/stick_from_wooden_hoe.json similarity index 80% rename from src/generated/resources/data/forcecraft/recipes/transmutation/stick_from_wooden_hoe.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/stick_from_wooden_hoe.json index df2af15c..5590efa7 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/stick_from_wooden_hoe.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/stick_from_wooden_hoe.json @@ -9,6 +9,7 @@ } ], "result": { - "item": "minecraft:stick" + "count": 1, + "id": "minecraft:stick" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/stick_from_wooden_pickaxe.json b/src/generated/resources/data/forcecraft/recipe/transmutation/stick_from_wooden_pickaxe.json similarity index 80% rename from src/generated/resources/data/forcecraft/recipes/transmutation/stick_from_wooden_pickaxe.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/stick_from_wooden_pickaxe.json index 7beab7c7..be02ec99 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/stick_from_wooden_pickaxe.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/stick_from_wooden_pickaxe.json @@ -9,6 +9,7 @@ } ], "result": { - "item": "minecraft:stick" + "count": 1, + "id": "minecraft:stick" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/stick_from_wooden_shovel.json b/src/generated/resources/data/forcecraft/recipe/transmutation/stick_from_wooden_shovel.json similarity index 80% rename from src/generated/resources/data/forcecraft/recipes/transmutation/stick_from_wooden_shovel.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/stick_from_wooden_shovel.json index 1f03fda4..0c93581b 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/stick_from_wooden_shovel.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/stick_from_wooden_shovel.json @@ -9,6 +9,7 @@ } ], "result": { - "item": "minecraft:stick" + "count": 1, + "id": "minecraft:stick" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/stick_from_wooden_sword.json b/src/generated/resources/data/forcecraft/recipe/transmutation/stick_from_wooden_sword.json similarity index 80% rename from src/generated/resources/data/forcecraft/recipes/transmutation/stick_from_wooden_sword.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/stick_from_wooden_sword.json index f18fec0b..b677fae3 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/stick_from_wooden_sword.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/stick_from_wooden_sword.json @@ -9,6 +9,7 @@ } ], "result": { - "item": "minecraft:stick" + "count": 1, + "id": "minecraft:stick" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/string_from_bow.json b/src/generated/resources/data/forcecraft/recipe/transmutation/string_from_bow.json similarity index 79% rename from src/generated/resources/data/forcecraft/recipes/transmutation/string_from_bow.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/string_from_bow.json index 21ffc2cb..812918e8 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/string_from_bow.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/string_from_bow.json @@ -9,6 +9,7 @@ } ], "result": { - "item": "minecraft:string" + "count": 1, + "id": "minecraft:string" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/tripwire_hook_from_crossbow.json b/src/generated/resources/data/forcecraft/recipe/transmutation/tripwire_hook_from_crossbow.json similarity index 77% rename from src/generated/resources/data/forcecraft/recipes/transmutation/tripwire_hook_from_crossbow.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/tripwire_hook_from_crossbow.json index e50adabf..3cf2669d 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/tripwire_hook_from_crossbow.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/tripwire_hook_from_crossbow.json @@ -9,6 +9,7 @@ } ], "result": { - "item": "minecraft:tripwire_hook" + "count": 1, + "id": "minecraft:tripwire_hook" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipe/transmutation/upgrade_core.json b/src/generated/resources/data/forcecraft/recipe/transmutation/upgrade_core.json new file mode 100644 index 00000000..40a37bfc --- /dev/null +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/upgrade_core.json @@ -0,0 +1,29 @@ +{ + "type": "forcecraft:transmutation", + "ingredients": [ + { + "item": "forcecraft:force_rod" + }, + { + "type": "neoforge:components", + "components": { + "forcecraft:tome_experience": 100, + "minecraft:attribute_modifiers": { + "modifiers": [] + }, + "minecraft:enchantments": { + "levels": {} + }, + "minecraft:lore": [], + "minecraft:max_stack_size": 1, + "minecraft:rarity": "common", + "minecraft:repair_cost": 0 + }, + "items": "forcecraft:experience_tome" + } + ], + "result": { + "count": 1, + "id": "forcecraft:upgrade_core" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/upgrade_tome.json b/src/generated/resources/data/forcecraft/recipe/transmutation/upgrade_tome.json similarity index 77% rename from src/generated/resources/data/forcecraft/recipes/transmutation/upgrade_tome.json rename to src/generated/resources/data/forcecraft/recipe/transmutation/upgrade_tome.json index 71b149b3..d95e294e 100644 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/upgrade_tome.json +++ b/src/generated/resources/data/forcecraft/recipe/transmutation/upgrade_tome.json @@ -9,6 +9,7 @@ } ], "result": { - "item": "forcecraft:upgrade_tome" + "count": 1, + "id": "forcecraft:upgrade_tome" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/treasure_core.json b/src/generated/resources/data/forcecraft/recipe/treasure_core.json similarity index 54% rename from src/generated/resources/data/forcecraft/recipes/treasure_core.json rename to src/generated/resources/data/forcecraft/recipe/treasure_core.json index 7db66509..fc64b606 100644 --- a/src/generated/resources/data/forcecraft/recipes/treasure_core.json +++ b/src/generated/resources/data/forcecraft/recipe/treasure_core.json @@ -3,16 +3,16 @@ "category": "misc", "key": { "D": { - "tag": "forge:gems/diamond" + "tag": "c:gems/diamond" }, "F": { - "tag": "forge:ingots/force" + "tag": "c:ingots/force" }, "G": { - "tag": "forge:storage_blocks/gold" + "tag": "c:storage_blocks/gold" }, "N": { - "tag": "forge:nether_stars" + "tag": "c:nether_stars" } }, "pattern": [ @@ -21,6 +21,7 @@ "FGF" ], "result": { - "item": "forcecraft:treasure_core" + "count": 1, + "id": "forcecraft:treasure_core" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/white_force_furnace_from_dye.json b/src/generated/resources/data/forcecraft/recipe/white_force_furnace_from_dye.json similarity index 66% rename from src/generated/resources/data/forcecraft/recipes/white_force_furnace_from_dye.json rename to src/generated/resources/data/forcecraft/recipe/white_force_furnace_from_dye.json index 563f2bcc..bc4c0ec0 100644 --- a/src/generated/resources/data/forcecraft/recipes/white_force_furnace_from_dye.json +++ b/src/generated/resources/data/forcecraft/recipe/white_force_furnace_from_dye.json @@ -6,10 +6,11 @@ "item": "forcecraft:force_furnace" }, { - "tag": "forge:dyes/white" + "tag": "c:dyes/white" } ], "result": { - "item": "forcecraft:white_force_furnace" + "count": 1, + "id": "forcecraft:white_force_furnace" } } \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_green_torch.json b/src/generated/resources/data/forcecraft/recipes/force_green_torch.json deleted file mode 100644 index fd26ac04..00000000 --- a/src/generated/resources/data/forcecraft/recipes/force_green_torch.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "D": { - "tag": "forge:dyes/green" - }, - "T": { - "item": "forcecraft:force_torch" - } - }, - "pattern": [ - "TTT", - "TDT", - "TTT" - ], - "result": { - "count": 8, - "item": "forcecraft:force_green_torch" - } -} \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_light_blue_torch.json b/src/generated/resources/data/forcecraft/recipes/force_light_blue_torch.json deleted file mode 100644 index f46e6a6a..00000000 --- a/src/generated/resources/data/forcecraft/recipes/force_light_blue_torch.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "D": { - "tag": "forge:dyes/light_blue" - }, - "T": { - "item": "forcecraft:force_torch" - } - }, - "pattern": [ - "TTT", - "TDT", - "TTT" - ], - "result": { - "count": 8, - "item": "forcecraft:force_light_blue_torch" - } -} \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_light_gray_torch.json b/src/generated/resources/data/forcecraft/recipes/force_light_gray_torch.json deleted file mode 100644 index 39fac6d3..00000000 --- a/src/generated/resources/data/forcecraft/recipes/force_light_gray_torch.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "D": { - "tag": "forge:dyes/light_gray" - }, - "T": { - "item": "forcecraft:force_torch" - } - }, - "pattern": [ - "TTT", - "TDT", - "TTT" - ], - "result": { - "count": 8, - "item": "forcecraft:force_light_gray_torch" - } -} \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_magenta_torch.json b/src/generated/resources/data/forcecraft/recipes/force_magenta_torch.json deleted file mode 100644 index 2e6d588d..00000000 --- a/src/generated/resources/data/forcecraft/recipes/force_magenta_torch.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "D": { - "tag": "forge:dyes/magenta" - }, - "T": { - "item": "forcecraft:force_torch" - } - }, - "pattern": [ - "TTT", - "TDT", - "TTT" - ], - "result": { - "count": 8, - "item": "forcecraft:force_magenta_torch" - } -} \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_orange_torch.json b/src/generated/resources/data/forcecraft/recipes/force_orange_torch.json deleted file mode 100644 index 043cffd4..00000000 --- a/src/generated/resources/data/forcecraft/recipes/force_orange_torch.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "D": { - "tag": "forge:dyes/orange" - }, - "T": { - "item": "forcecraft:force_torch" - } - }, - "pattern": [ - "TTT", - "TDT", - "TTT" - ], - "result": { - "count": 8, - "item": "forcecraft:force_orange_torch" - } -} \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_purple_torch.json b/src/generated/resources/data/forcecraft/recipes/force_purple_torch.json deleted file mode 100644 index 8a9a316e..00000000 --- a/src/generated/resources/data/forcecraft/recipes/force_purple_torch.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "D": { - "tag": "forge:dyes/purple" - }, - "T": { - "item": "forcecraft:force_torch" - } - }, - "pattern": [ - "TTT", - "TDT", - "TTT" - ], - "result": { - "count": 8, - "item": "forcecraft:force_purple_torch" - } -} \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/force_white_torch.json b/src/generated/resources/data/forcecraft/recipes/force_white_torch.json deleted file mode 100644 index 758b1c2f..00000000 --- a/src/generated/resources/data/forcecraft/recipes/force_white_torch.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "D": { - "tag": "forge:dyes/white" - }, - "T": { - "item": "forcecraft:force_torch" - } - }, - "pattern": [ - "TTT", - "TDT", - "TTT" - ], - "result": { - "count": 8, - "item": "forcecraft:force_white_torch" - } -} \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/freezing/brick_from_nether_brick.json b/src/generated/resources/data/forcecraft/recipes/freezing/brick_from_nether_brick.json deleted file mode 100644 index 8f624b78..00000000 --- a/src/generated/resources/data/forcecraft/recipes/freezing/brick_from_nether_brick.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "forcecraft:freezing", - "experience": 0.1, - "freezingTime": 200, - "ingredient": { - "tag": "forge:ingots/nether_brick" - }, - "results": [ - { - "count": 1, - "result": "minecraft:brick" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/freezing/ice_from_water_bottle.json b/src/generated/resources/data/forcecraft/recipes/freezing/ice_from_water_bottle.json deleted file mode 100644 index dbb720ce..00000000 --- a/src/generated/resources/data/forcecraft/recipes/freezing/ice_from_water_bottle.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "forcecraft:freezing", - "experience": 0.1, - "freezingTime": 200, - "ingredient": { - "type": "neoforge:nbt", - "item": "minecraft:potion", - "tag": "{Potion:\"minecraft:water\"}" - }, - "results": [ - { - "count": 1, - "result": "minecraft:ice" - }, - { - "count": 1, - "result": "minecraft:glass_bottle" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/freezing/sandstone_from_sand.json b/src/generated/resources/data/forcecraft/recipes/freezing/sandstone_from_sand.json deleted file mode 100644 index 33bb8956..00000000 --- a/src/generated/resources/data/forcecraft/recipes/freezing/sandstone_from_sand.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "forcecraft:freezing", - "experience": 0.1, - "freezingTime": 200, - "ingredient": { - "tag": "forge:sand/colorless" - }, - "results": [ - { - "count": 1, - "result": "minecraft:sandstone" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/freezing/stone_from_cobblestone.json b/src/generated/resources/data/forcecraft/recipes/freezing/stone_from_cobblestone.json deleted file mode 100644 index b1f07e6c..00000000 --- a/src/generated/resources/data/forcecraft/recipes/freezing/stone_from_cobblestone.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "forcecraft:freezing", - "experience": 0.1, - "freezingTime": 200, - "ingredient": { - "tag": "forge:cobblestone/normal" - }, - "results": [ - { - "count": 1, - "result": "minecraft:stone" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/infuser/infuse_camo.json b/src/generated/resources/data/forcecraft/recipes/infuser/infuse_camo.json deleted file mode 100644 index 98c475b9..00000000 --- a/src/generated/resources/data/forcecraft/recipes/infuser/infuse_camo.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "forcecraft:infuser", - "center": { - "tag": "forcecraft:valid_camo_tools" - }, - "ingredient": { - "type": "neoforge:nbt", - "item": "minecraft:potion", - "tag": "{Potion:\"minecraft:invisibility\"}" - }, - "resultType": "camo", - "tier": "3", - "time": 20 -} \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/recipes/transmutation/upgrade_core.json b/src/generated/resources/data/forcecraft/recipes/transmutation/upgrade_core.json deleted file mode 100644 index fcc693f6..00000000 --- a/src/generated/resources/data/forcecraft/recipes/transmutation/upgrade_core.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "type": "forcecraft:transmutation", - "ingredients": [ - { - "item": "forcecraft:force_rod" - }, - { - "type": "neoforge:nbt", - "item": "forcecraft:experience_tome", - "tag": "{Experience:100}" - } - ], - "result": { - "item": "forcecraft:upgrade_core" - } -} \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/tags/block/needs_force_tool.json b/src/generated/resources/data/forcecraft/tags/block/needs_force_tool.json new file mode 100644 index 00000000..156ee481 --- /dev/null +++ b/src/generated/resources/data/forcecraft/tags/block/needs_force_tool.json @@ -0,0 +1,5 @@ +{ + "values": [ + "#minecraft:incorrect_for_diamond_tool" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/tags/blocks/needs_force_tool.json b/src/generated/resources/data/forcecraft/tags/blocks/needs_force_tool.json deleted file mode 100644 index d0231d2b..00000000 --- a/src/generated/resources/data/forcecraft/tags/blocks/needs_force_tool.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "values": [ - "forcecraft:infuser", - "forcecraft:force_engine" - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/forcecraft/tags/items/baconator_food.json b/src/generated/resources/data/forcecraft/tags/item/baconator_food.json similarity index 100% rename from src/generated/resources/data/forcecraft/tags/items/baconator_food.json rename to src/generated/resources/data/forcecraft/tags/item/baconator_food.json diff --git a/src/generated/resources/data/forcecraft/tags/items/chu_jelly.json b/src/generated/resources/data/forcecraft/tags/item/chu_jelly.json similarity index 100% rename from src/generated/resources/data/forcecraft/tags/items/chu_jelly.json rename to src/generated/resources/data/forcecraft/tags/item/chu_jelly.json diff --git a/src/generated/resources/data/forcecraft/tags/items/ender.json b/src/generated/resources/data/forcecraft/tags/item/ender.json similarity index 100% rename from src/generated/resources/data/forcecraft/tags/items/ender.json rename to src/generated/resources/data/forcecraft/tags/item/ender.json diff --git a/src/generated/resources/data/forcecraft/tags/items/entity_flasks.json b/src/generated/resources/data/forcecraft/tags/item/entity_flasks.json similarity index 100% rename from src/generated/resources/data/forcecraft/tags/items/entity_flasks.json rename to src/generated/resources/data/forcecraft/tags/item/entity_flasks.json diff --git a/src/generated/resources/data/forcecraft/tags/items/force_furnace.json b/src/generated/resources/data/forcecraft/tags/item/force_furnace.json similarity index 100% rename from src/generated/resources/data/forcecraft/tags/items/force_furnace.json rename to src/generated/resources/data/forcecraft/tags/item/force_furnace.json diff --git a/src/generated/resources/data/forcecraft/tags/items/force_logs.json b/src/generated/resources/data/forcecraft/tags/item/force_logs.json similarity index 100% rename from src/generated/resources/data/forcecraft/tags/items/force_logs.json rename to src/generated/resources/data/forcecraft/tags/item/force_logs.json diff --git a/src/generated/resources/data/forcecraft/tags/items/fortune.json b/src/generated/resources/data/forcecraft/tags/item/fortune.json similarity index 100% rename from src/generated/resources/data/forcecraft/tags/items/fortune.json rename to src/generated/resources/data/forcecraft/tags/item/fortune.json diff --git a/src/generated/resources/data/forge/tags/blocks/ores.json b/src/generated/resources/data/forge/tags/blocks/ores.json deleted file mode 100644 index 748a5a35..00000000 --- a/src/generated/resources/data/forge/tags/blocks/ores.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "values": [ - "#forge:ores/power" - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/forge/tags/items/ores.json b/src/generated/resources/data/forge/tags/items/ores.json deleted file mode 100644 index 748a5a35..00000000 --- a/src/generated/resources/data/forge/tags/items/ores.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "values": [ - "#forge:ores/power" - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/advancements/recipes/food/cooked_bacon_from_campfire_cooking.json b/src/generated/resources/data/minecraft/advancement/recipes/food/cooked_bacon_from_campfire_cooking.json similarity index 88% rename from src/generated/resources/data/minecraft/advancements/recipes/food/cooked_bacon_from_campfire_cooking.json rename to src/generated/resources/data/minecraft/advancement/recipes/food/cooked_bacon_from_campfire_cooking.json index e37e42f1..a6af262e 100644 --- a/src/generated/resources/data/minecraft/advancements/recipes/food/cooked_bacon_from_campfire_cooking.json +++ b/src/generated/resources/data/minecraft/advancement/recipes/food/cooked_bacon_from_campfire_cooking.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:raw_bacon" - ] + "items": "forcecraft:raw_bacon" } ] }, diff --git a/src/generated/resources/data/minecraft/advancements/recipes/food/cooked_bacon_from_smoking.json b/src/generated/resources/data/minecraft/advancement/recipes/food/cooked_bacon_from_smoking.json similarity index 88% rename from src/generated/resources/data/minecraft/advancements/recipes/food/cooked_bacon_from_smoking.json rename to src/generated/resources/data/minecraft/advancement/recipes/food/cooked_bacon_from_smoking.json index 3191eb16..ac604516 100644 --- a/src/generated/resources/data/minecraft/advancements/recipes/food/cooked_bacon_from_smoking.json +++ b/src/generated/resources/data/minecraft/advancement/recipes/food/cooked_bacon_from_smoking.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:raw_bacon" - ] + "items": "forcecraft:raw_bacon" } ] }, diff --git a/src/generated/resources/data/minecraft/advancements/recipes/misc/force_gem_from_blasting_deepslate_power_ore.json b/src/generated/resources/data/minecraft/advancement/recipes/misc/force_gem_from_blasting_deepslate_power_ore.json similarity index 87% rename from src/generated/resources/data/minecraft/advancements/recipes/misc/force_gem_from_blasting_deepslate_power_ore.json rename to src/generated/resources/data/minecraft/advancement/recipes/misc/force_gem_from_blasting_deepslate_power_ore.json index c632df81..f198abb3 100644 --- a/src/generated/resources/data/minecraft/advancements/recipes/misc/force_gem_from_blasting_deepslate_power_ore.json +++ b/src/generated/resources/data/minecraft/advancement/recipes/misc/force_gem_from_blasting_deepslate_power_ore.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:deepslate_power_ore" - ] + "items": "forcecraft:deepslate_power_ore" } ] }, diff --git a/src/generated/resources/data/minecraft/advancements/recipes/misc/force_gem_from_blasting_power_ore.json b/src/generated/resources/data/minecraft/advancement/recipes/misc/force_gem_from_blasting_power_ore.json similarity index 88% rename from src/generated/resources/data/minecraft/advancements/recipes/misc/force_gem_from_blasting_power_ore.json rename to src/generated/resources/data/minecraft/advancement/recipes/misc/force_gem_from_blasting_power_ore.json index 6396da8b..e1f0f0b6 100644 --- a/src/generated/resources/data/minecraft/advancements/recipes/misc/force_gem_from_blasting_power_ore.json +++ b/src/generated/resources/data/minecraft/advancement/recipes/misc/force_gem_from_blasting_power_ore.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:power_ore" - ] + "items": "forcecraft:power_ore" } ] }, diff --git a/src/generated/resources/data/minecraft/advancements/recipes/misc/force_gem_from_smelting_deepslate_power_ore.json b/src/generated/resources/data/minecraft/advancement/recipes/misc/force_gem_from_smelting_deepslate_power_ore.json similarity index 87% rename from src/generated/resources/data/minecraft/advancements/recipes/misc/force_gem_from_smelting_deepslate_power_ore.json rename to src/generated/resources/data/minecraft/advancement/recipes/misc/force_gem_from_smelting_deepslate_power_ore.json index 0f75c4f8..20ea9a2c 100644 --- a/src/generated/resources/data/minecraft/advancements/recipes/misc/force_gem_from_smelting_deepslate_power_ore.json +++ b/src/generated/resources/data/minecraft/advancement/recipes/misc/force_gem_from_smelting_deepslate_power_ore.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:deepslate_power_ore" - ] + "items": "forcecraft:deepslate_power_ore" } ] }, diff --git a/src/generated/resources/data/minecraft/advancements/recipes/misc/force_gem_from_smelting_power_ore.json b/src/generated/resources/data/minecraft/advancement/recipes/misc/force_gem_from_smelting_power_ore.json similarity index 88% rename from src/generated/resources/data/minecraft/advancements/recipes/misc/force_gem_from_smelting_power_ore.json rename to src/generated/resources/data/minecraft/advancement/recipes/misc/force_gem_from_smelting_power_ore.json index 6f3c6aa8..9861b716 100644 --- a/src/generated/resources/data/minecraft/advancements/recipes/misc/force_gem_from_smelting_power_ore.json +++ b/src/generated/resources/data/minecraft/advancement/recipes/misc/force_gem_from_smelting_power_ore.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "forcecraft:power_ore" - ] + "items": "forcecraft:power_ore" } ] }, diff --git a/src/generated/resources/data/minecraft/recipes/cooked_bacon_from_campfire_cooking.json b/src/generated/resources/data/minecraft/recipe/cooked_bacon_from_campfire_cooking.json similarity index 70% rename from src/generated/resources/data/minecraft/recipes/cooked_bacon_from_campfire_cooking.json rename to src/generated/resources/data/minecraft/recipe/cooked_bacon_from_campfire_cooking.json index f1300137..95d0c0b7 100644 --- a/src/generated/resources/data/minecraft/recipes/cooked_bacon_from_campfire_cooking.json +++ b/src/generated/resources/data/minecraft/recipe/cooked_bacon_from_campfire_cooking.json @@ -6,5 +6,8 @@ "ingredient": { "item": "forcecraft:raw_bacon" }, - "result": "forcecraft:cooked_bacon" + "result": { + "count": 1, + "id": "forcecraft:cooked_bacon" + } } \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/recipes/cooked_bacon_from_smoking.json b/src/generated/resources/data/minecraft/recipe/cooked_bacon_from_smoking.json similarity index 69% rename from src/generated/resources/data/minecraft/recipes/cooked_bacon_from_smoking.json rename to src/generated/resources/data/minecraft/recipe/cooked_bacon_from_smoking.json index 54cbb71a..5728395e 100644 --- a/src/generated/resources/data/minecraft/recipes/cooked_bacon_from_smoking.json +++ b/src/generated/resources/data/minecraft/recipe/cooked_bacon_from_smoking.json @@ -6,5 +6,8 @@ "ingredient": { "item": "forcecraft:raw_bacon" }, - "result": "forcecraft:cooked_bacon" + "result": { + "count": 1, + "id": "forcecraft:cooked_bacon" + } } \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/recipes/force_gem_from_blasting_deepslate_power_ore.json b/src/generated/resources/data/minecraft/recipe/force_gem_from_blasting_deepslate_power_ore.json similarity index 71% rename from src/generated/resources/data/minecraft/recipes/force_gem_from_blasting_deepslate_power_ore.json rename to src/generated/resources/data/minecraft/recipe/force_gem_from_blasting_deepslate_power_ore.json index fbfee0ca..43af7841 100644 --- a/src/generated/resources/data/minecraft/recipes/force_gem_from_blasting_deepslate_power_ore.json +++ b/src/generated/resources/data/minecraft/recipe/force_gem_from_blasting_deepslate_power_ore.json @@ -6,5 +6,8 @@ "ingredient": { "item": "forcecraft:deepslate_power_ore" }, - "result": "forcecraft:force_gem" + "result": { + "count": 1, + "id": "forcecraft:force_gem" + } } \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/recipes/force_gem_from_blasting_power_ore.json b/src/generated/resources/data/minecraft/recipe/force_gem_from_blasting_power_ore.json similarity index 70% rename from src/generated/resources/data/minecraft/recipes/force_gem_from_blasting_power_ore.json rename to src/generated/resources/data/minecraft/recipe/force_gem_from_blasting_power_ore.json index a15aec4d..9ce12346 100644 --- a/src/generated/resources/data/minecraft/recipes/force_gem_from_blasting_power_ore.json +++ b/src/generated/resources/data/minecraft/recipe/force_gem_from_blasting_power_ore.json @@ -6,5 +6,8 @@ "ingredient": { "item": "forcecraft:power_ore" }, - "result": "forcecraft:force_gem" + "result": { + "count": 1, + "id": "forcecraft:force_gem" + } } \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/recipes/force_gem_from_smelting_deepslate_power_ore.json b/src/generated/resources/data/minecraft/recipe/force_gem_from_smelting_deepslate_power_ore.json similarity index 71% rename from src/generated/resources/data/minecraft/recipes/force_gem_from_smelting_deepslate_power_ore.json rename to src/generated/resources/data/minecraft/recipe/force_gem_from_smelting_deepslate_power_ore.json index df725b69..fc105686 100644 --- a/src/generated/resources/data/minecraft/recipes/force_gem_from_smelting_deepslate_power_ore.json +++ b/src/generated/resources/data/minecraft/recipe/force_gem_from_smelting_deepslate_power_ore.json @@ -6,5 +6,8 @@ "ingredient": { "item": "forcecraft:deepslate_power_ore" }, - "result": "forcecraft:force_gem" + "result": { + "count": 1, + "id": "forcecraft:force_gem" + } } \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/recipes/force_gem_from_smelting_power_ore.json b/src/generated/resources/data/minecraft/recipe/force_gem_from_smelting_power_ore.json similarity index 70% rename from src/generated/resources/data/minecraft/recipes/force_gem_from_smelting_power_ore.json rename to src/generated/resources/data/minecraft/recipe/force_gem_from_smelting_power_ore.json index c5b2f3c8..f426707a 100644 --- a/src/generated/resources/data/minecraft/recipes/force_gem_from_smelting_power_ore.json +++ b/src/generated/resources/data/minecraft/recipe/force_gem_from_smelting_power_ore.json @@ -6,5 +6,8 @@ "ingredient": { "item": "forcecraft:power_ore" }, - "result": "forcecraft:force_gem" + "result": { + "count": 1, + "id": "forcecraft:force_gem" + } } \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/blocks/mineable/pickaxe.json b/src/generated/resources/data/minecraft/tags/block/mineable/pickaxe.json similarity index 100% rename from src/generated/resources/data/minecraft/tags/blocks/mineable/pickaxe.json rename to src/generated/resources/data/minecraft/tags/block/mineable/pickaxe.json diff --git a/src/generated/resources/data/minecraft/tags/blocks/needs_diamond_tool.json b/src/generated/resources/data/minecraft/tags/block/needs_diamond_tool.json similarity index 100% rename from src/generated/resources/data/minecraft/tags/blocks/needs_diamond_tool.json rename to src/generated/resources/data/minecraft/tags/block/needs_diamond_tool.json diff --git a/src/generated/resources/data/minecraft/tags/blocks/needs_iron_tool.json b/src/generated/resources/data/minecraft/tags/block/needs_iron_tool.json similarity index 100% rename from src/generated/resources/data/minecraft/tags/blocks/needs_iron_tool.json rename to src/generated/resources/data/minecraft/tags/block/needs_iron_tool.json diff --git a/src/main/java/com/mrbysco/forcecraft/ForceCraft.java b/src/main/java/com/mrbysco/forcecraft/ForceCraft.java index d2a162d5..f0a78963 100644 --- a/src/main/java/com/mrbysco/forcecraft/ForceCraft.java +++ b/src/main/java/com/mrbysco/forcecraft/ForceCraft.java @@ -1,6 +1,6 @@ package com.mrbysco.forcecraft; -import com.mrbysco.forcecraft.attachment.ForceAttachments; +import com.mrbysco.forcecraft.components.ForceComponents; import com.mrbysco.forcecraft.capability.CapabilityHandler; import com.mrbysco.forcecraft.client.ClientHandler; import com.mrbysco.forcecraft.client.KeybindHandler; @@ -12,8 +12,10 @@ import com.mrbysco.forcecraft.handlers.HeartHandler; import com.mrbysco.forcecraft.handlers.LootTableHandler; import com.mrbysco.forcecraft.handlers.LootingHandler; +import com.mrbysco.forcecraft.handlers.LumberHandler; import com.mrbysco.forcecraft.handlers.PlayerCapHandler; import com.mrbysco.forcecraft.handlers.ToolModifierHandler; +import com.mrbysco.forcecraft.handlers.TooltipHandler; import com.mrbysco.forcecraft.items.nonburnable.NonBurnableItemEntity; import com.mrbysco.forcecraft.networking.PacketHandler; import com.mrbysco.forcecraft.recipe.condition.ForceConditions; @@ -33,11 +35,9 @@ import net.neoforged.api.distmarker.Dist; import net.neoforged.bus.api.IEventBus; import net.neoforged.fml.ModContainer; -import net.neoforged.fml.ModLoadingContext; import net.neoforged.fml.common.Mod; import net.neoforged.fml.config.ModConfig; import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent; -import net.neoforged.fml.loading.FMLEnvironment; import net.neoforged.neoforge.client.gui.ConfigurationScreen; import net.neoforged.neoforge.client.gui.IConfigScreenFactory; import net.neoforged.neoforge.common.NeoForge; @@ -76,17 +76,19 @@ public ForceCraft(IEventBus eventBus, ModContainer container, Dist dist) { ForceRecipeSerializers.RECIPE_SERIALIZERS.register(eventBus); ForceModifiers.BIOME_MODIFIER_SERIALIZERS.register(eventBus); ForceConditions.CONDITION_CODECS.register(eventBus); - ForceAttachments.ATTACHMENT_TYPES.register(eventBus); + ForceComponents.COMPONENT_TYPE.register(eventBus); NeoForge.EVENT_BUS.register(new HeartHandler()); NeoForge.EVENT_BUS.register(new ForceDeathHandler()); NeoForge.EVENT_BUS.register(new ForceCommands()); NeoForge.EVENT_BUS.register(new BaneHandler()); NeoForge.EVENT_BUS.register(new PlayerCapHandler()); - NeoForge.EVENT_BUS.register(new LootingHandler()); +// NeoForge.EVENT_BUS.register(new LootingHandler()); NeoForge.EVENT_BUS.register(new LootTableHandler()); NeoForge.EVENT_BUS.register(new ToolModifierHandler()); NeoForge.EVENT_BUS.register(new GrindstoneHandler()); + NeoForge.EVENT_BUS.register(new LumberHandler()); + NeoForge.EVENT_BUS.register(new TooltipHandler()); NeoForge.EVENT_BUS.addListener(NonBurnableItemEntity.EventHandler::onExpire); //Expire event of NonBurnableItemEntity eventBus.addListener(ForceEntities::registerEntityAttributes); diff --git a/src/main/java/com/mrbysco/forcecraft/attachment/ForceAttachments.java b/src/main/java/com/mrbysco/forcecraft/attachment/ForceAttachments.java deleted file mode 100644 index f00443c6..00000000 --- a/src/main/java/com/mrbysco/forcecraft/attachment/ForceAttachments.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.mrbysco.forcecraft.attachment; - -import com.mrbysco.forcecraft.Reference; -import com.mrbysco.forcecraft.attachment.banemodifier.BaneModifierAttachment; -import com.mrbysco.forcecraft.attachment.experiencetome.ExperienceTomeAttachment; -import com.mrbysco.forcecraft.attachment.forcerod.ForceRodAttachment; -import com.mrbysco.forcecraft.attachment.forcewrench.ForceWrenchAttachment; -import com.mrbysco.forcecraft.attachment.magnet.MagnetAttachment; -import com.mrbysco.forcecraft.attachment.playermodifier.PlayerModifierAttachment; -import com.mrbysco.forcecraft.attachment.toolmodifier.ToolModifierAttachment; -import net.neoforged.neoforge.attachment.AttachmentType; -import net.neoforged.neoforge.registries.DeferredRegister; -import net.neoforged.neoforge.registries.NeoForgeRegistries; - -import java.util.function.Supplier; - -public class ForceAttachments { - public static final DeferredRegister> ATTACHMENT_TYPES = DeferredRegister.create(NeoForgeRegistries.Keys.ATTACHMENT_TYPES, Reference.MOD_ID); - - public static final Supplier> TOOL_MODIFIER = ATTACHMENT_TYPES.register("tool_modifier", () -> AttachmentType.serializable(ToolModifierAttachment::new).build()); - public static final Supplier> FORCE_ROD = ATTACHMENT_TYPES.register("force_rod", () -> AttachmentType.serializable(ForceRodAttachment::new).build()); - public static final Supplier> EXP_TOME = ATTACHMENT_TYPES.register("exp_tome", () -> AttachmentType.serializable(ExperienceTomeAttachment::new).build()); - public static final Supplier> BANE_MODIFIER = ATTACHMENT_TYPES.register("bane_modifier", () -> AttachmentType.serializable(BaneModifierAttachment::new).build()); - public static final Supplier> PLAYER_MOD = ATTACHMENT_TYPES.register("player_mod", () -> AttachmentType.serializable(PlayerModifierAttachment::new).build()); - public static final Supplier> FORCE_WRENCH = ATTACHMENT_TYPES.register("force_wrench", () -> AttachmentType.serializable(ForceWrenchAttachment::new).build()); - public static final Supplier> MAGNET = ATTACHMENT_TYPES.register("magnet", () -> AttachmentType.serializable(MagnetAttachment::new).build()); - -} diff --git a/src/main/java/com/mrbysco/forcecraft/attachment/experiencetome/ExperienceTomeAttachment.java b/src/main/java/com/mrbysco/forcecraft/attachment/experiencetome/ExperienceTomeAttachment.java deleted file mode 100644 index 6739a6eb..00000000 --- a/src/main/java/com/mrbysco/forcecraft/attachment/experiencetome/ExperienceTomeAttachment.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.mrbysco.forcecraft.attachment.experiencetome; - -import net.minecraft.nbt.CompoundTag; -import net.neoforged.neoforge.common.util.INBTSerializable; - -public class ExperienceTomeAttachment implements IExperienceTome, INBTSerializable { - private float experienceStored = 0.0F; - - @Override - public float getExperienceValue() { - return experienceStored; - } - - @Override - public void addToExperienceValue() { - //UNUSED - } - - @Override - public void subtractFromExperienceValue() { - //UNUSED - } - - @Override - public void setExperienceValue(float newExp) { - experienceStored = newExp; - } - - @Override - public CompoundTag serializeNBT() { - CompoundTag tag = new CompoundTag(); - tag.putFloat("experience", this.getExperienceValue()); - return tag; - } - - @Override - public void deserializeNBT(CompoundTag tag) { - this.setExperienceValue(tag.getFloat("experience")); - } -} diff --git a/src/main/java/com/mrbysco/forcecraft/attachment/experiencetome/IExperienceTome.java b/src/main/java/com/mrbysco/forcecraft/attachment/experiencetome/IExperienceTome.java deleted file mode 100644 index ddc1ddcd..00000000 --- a/src/main/java/com/mrbysco/forcecraft/attachment/experiencetome/IExperienceTome.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.mrbysco.forcecraft.attachment.experiencetome; - -import net.minecraft.nbt.CompoundTag; -import net.neoforged.neoforge.common.util.INBTSerializable; - -public interface IExperienceTome extends INBTSerializable { - float getExperienceValue(); - - void addToExperienceValue(); - - void subtractFromExperienceValue(); - - void setExperienceValue(float newExp); -} diff --git a/src/main/java/com/mrbysco/forcecraft/attachment/forcerod/ForceRodAttachment.java b/src/main/java/com/mrbysco/forcecraft/attachment/forcerod/ForceRodAttachment.java deleted file mode 100644 index 109f6b1c..00000000 --- a/src/main/java/com/mrbysco/forcecraft/attachment/forcerod/ForceRodAttachment.java +++ /dev/null @@ -1,216 +0,0 @@ -package com.mrbysco.forcecraft.attachment.forcerod; - -import com.mrbysco.forcecraft.util.ForceUtils; -import net.minecraft.ChatFormatting; -import net.minecraft.core.BlockPos; -import net.minecraft.core.GlobalPos; -import net.minecraft.core.registries.Registries; -import net.minecraft.nbt.CompoundTag; -import net.minecraft.network.chat.Component; -import net.minecraft.resources.ResourceKey; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.level.Level; -import net.neoforged.neoforge.common.util.INBTSerializable; - -import java.util.List; - -import static com.mrbysco.forcecraft.attachment.ForceAttachments.FORCE_ROD; - -public class ForceRodAttachment implements IForceRodModifier, INBTSerializable { - boolean camo = false; - boolean ender = false; - boolean sight = false; - int speed = 0; - int healing = 0; - - GlobalPos homeLocation = null; - - @Override - public int getHealingLevel() { - return healing; - } - - @Override - public boolean hasHealing() { - return healing > 0; - } - - @Override - public void incrementHealing() { - healing++; - } - - @Override - public void setHealing(int newHealing) { - healing = newHealing; - } - - @Override - public boolean hasCamoModifier() { - return camo; - } - - @Override - public void setCamoModifier(boolean newVal) { - camo = newVal; - } - - @Override - public GlobalPos getHomeLocation() { - return homeLocation; - } - - @Override - public void setHomeLocation(GlobalPos globalPos) { - homeLocation = globalPos; - } - - @Override - public void teleportPlayerToLocation(Player player, GlobalPos globalPos) { - if (player.level().dimension().location().equals(globalPos.dimension().location())) { - BlockPos pos = globalPos.pos(); - int x = pos.getX(); - int y = pos.getY() + 1; - int z = pos.getZ(); - - ForceUtils.teleportToLocation(player, x, y, z, true); - } else { - if (!player.level().isClientSide) { - player.sendSystemMessage(Component.translatable("forcecraft.ender_rod.dimension.text").withStyle(ChatFormatting.YELLOW)); - } - } - } - - @Override - public boolean hasEnderModifier() { - return ender; - } - - @Override - public void setEnderModifier(boolean newVal) { - ender = newVal; - } - - @Override - public boolean isRodofEnder() { - return ender; - } - - @Override - public boolean hasSightModifier() { - return sight; - } - - @Override - public void setSightModifier(boolean newVal) { - sight = newVal; - } - - /** - * Modifier: Light - * Items: Glowstone Dust - * Levels: 1 - * Effect: Shows mobs through walls - */ - - boolean light; - - @Override - public boolean hasLight() { - return light; - } - - @Override - public void setLight(boolean val) { - light = val; - } - - @Override - public int getSpeedLevel() { - return speed; - } - - @Override - public void incrementSpeed() { - setSpeed(speed + 1); - } - - @Override - public void setSpeed(int newSpeed) { - speed = Math.min(3, newSpeed); - } - - public static void attachInformation(ItemStack stack, List tooltip) { - if (stack.hasData(FORCE_ROD)) { - ForceRodAttachment attachment = stack.getData(FORCE_ROD); - if (attachment.hasHealing()) { - tooltip.add(Component.translatable("item.infuser.tooltip.healing" + attachment.getHealingLevel()).withStyle(ChatFormatting.RED)); - } - if (attachment.getSpeedLevel() > 0) { - tooltip.add(Component.translatable("item.infuser.tooltip.speed" + attachment.getSpeedLevel())); - } - if (attachment.hasCamoModifier()) { - tooltip.add(Component.translatable("item.infuser.tooltip.camo").withStyle(ChatFormatting.DARK_GREEN)); - } - if (attachment.hasEnderModifier()) { - tooltip.add(Component.translatable("item.infuser.tooltip.ender").withStyle(ChatFormatting.DARK_PURPLE)); - - if (attachment.getHomeLocation() != null) { - GlobalPos globalPos = attachment.getHomeLocation(); - BlockPos pos = globalPos.pos(); - tooltip.add(Component.translatable("forcecraft.ender_rod.location", pos.getX(), pos.getY(), pos.getZ(), globalPos.dimension().location()).withStyle(ChatFormatting.YELLOW)); - } else { - tooltip.add(Component.translatable("forcecraft.ender_rod.unset").withStyle(ChatFormatting.RED)); - } - tooltip.add(Component.translatable("forcecraft.ender_rod.text").withStyle(ChatFormatting.GRAY)); - } - if (attachment.hasSightModifier()) { - tooltip.add(Component.translatable("item.infuser.tooltip.sight").withStyle(ChatFormatting.LIGHT_PURPLE)); - } - if (attachment.hasLight()) { - tooltip.add(Component.translatable("item.infuser.tooltip.light").withStyle(ChatFormatting.YELLOW)); - } - } - } - - @Override - public CompoundTag serializeNBT() { - CompoundTag tag = new CompoundTag(); - tag.putInt("speed", this.getSpeedLevel()); - tag.putInt("healing", this.getHealingLevel()); - - if (this.getHomeLocation() != null) { - tag.putBoolean("HasHome", true); - tag.putLong("HomeLocation", this.getHomeLocation().pos().asLong()); - tag.putString("HomeDimension", this.getHomeLocation().dimension().location().toString()); - } - - tag.putBoolean("camo", this.hasCamoModifier()); - tag.putBoolean("ender", this.hasEnderModifier()); - tag.putBoolean("sight", this.hasSightModifier()); - tag.putBoolean("light", this.hasLight()); - return tag; - } - - @Override - public void deserializeNBT(CompoundTag tag) { - this.setSpeed(tag.getInt("speed")); - this.setHealing(tag.getInt("healing")); - - if (tag.getBoolean("HasHome")) { - BlockPos pos = BlockPos.of(tag.getLong("HomeLocation")); - ResourceLocation location = ResourceLocation.tryParse(tag.getString("HomeDimension")); - if (location != null) { - ResourceKey dimension = ResourceKey.create(Registries.DIMENSION, location); - this.setHomeLocation(GlobalPos.of(dimension, pos)); - } - } - - this.setCamoModifier(tag.getBoolean("camo")); - this.setEnderModifier(tag.getBoolean("ender")); - this.setSightModifier(tag.getBoolean("sight")); - this.setLight(tag.getBoolean("light")); - } -} diff --git a/src/main/java/com/mrbysco/forcecraft/attachment/forcerod/IForceRodModifier.java b/src/main/java/com/mrbysco/forcecraft/attachment/forcerod/IForceRodModifier.java deleted file mode 100644 index ab0ac48f..00000000 --- a/src/main/java/com/mrbysco/forcecraft/attachment/forcerod/IForceRodModifier.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.mrbysco.forcecraft.attachment.forcerod; - -import net.minecraft.core.GlobalPos; -import net.minecraft.nbt.CompoundTag; -import net.minecraft.world.entity.player.Player; -import net.neoforged.neoforge.common.util.INBTSerializable; - -public interface IForceRodModifier extends INBTSerializable { - - /** - * Modifier: Healing - * Items: Ghast Tear - * Levels: 3 - * Effect: Allows the Force Rod to give Healing depending on the level set - */ - - int getHealingLevel(); - - boolean hasHealing(); - - void incrementHealing(); - - void setHealing(int healing); - - boolean hasCamoModifier(); - - void setCamoModifier(boolean newVal); - - GlobalPos getHomeLocation(); - - void setHomeLocation(GlobalPos pos); - - void teleportPlayerToLocation(Player player, GlobalPos pos); - - boolean hasEnderModifier(); - - void setEnderModifier(boolean newVal); - - boolean isRodofEnder(); - - boolean hasSightModifier(); - - void setSightModifier(boolean newVal); - - boolean hasLight(); - - void setLight(boolean val); - - /** - * Modifier: Speed - * Levels: 3 - * Effect: when using the rod give speed to player - */ - int getSpeedLevel(); - - void incrementSpeed(); - - void setSpeed(int newSpeed); -} diff --git a/src/main/java/com/mrbysco/forcecraft/attachment/forcewrench/ForceWrenchAttachment.java b/src/main/java/com/mrbysco/forcecraft/attachment/forcewrench/ForceWrenchAttachment.java deleted file mode 100644 index cd824593..00000000 --- a/src/main/java/com/mrbysco/forcecraft/attachment/forcewrench/ForceWrenchAttachment.java +++ /dev/null @@ -1,106 +0,0 @@ -package com.mrbysco.forcecraft.attachment.forcewrench; - -import com.mrbysco.forcecraft.items.infuser.ForceToolData; -import net.minecraft.ChatFormatting; -import net.minecraft.core.registries.BuiltInRegistries; -import net.minecraft.nbt.CompoundTag; -import net.minecraft.nbt.NbtUtils; -import net.minecraft.network.chat.Component; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.level.block.state.BlockState; -import net.neoforged.neoforge.common.util.INBTSerializable; - -import java.util.List; - -import static com.mrbysco.forcecraft.attachment.ForceAttachments.FORCE_WRENCH; - -public class ForceWrenchAttachment implements IForceWrench, INBTSerializable { - CompoundTag storedBlockNBT = null; - BlockState storedBlockState = null; - String name = ""; - - @Override - public boolean hasBlockStored() { - return storedBlockState != null; - } - - @Override - public boolean canStoreBlock() { - return hasBlockStored(); - } - - @Override - public net.minecraft.nbt.CompoundTag getStoredBlockNBT() { - return storedBlockNBT; - } - - @Override - public BlockState getStoredBlockState() { - return storedBlockState; - } - - @Override - public String getStoredName() { - return name; - } - - @Override - public void storeBlockNBT(net.minecraft.nbt.CompoundTag tag) { - storedBlockNBT = tag; - } - - @Override - public void storeBlockState(BlockState base) { - storedBlockState = base; - } - - @Override - public void setBlockName(String name) { - this.name = name; - } - - @Override - public void clearBlockStorage() { - storedBlockState = null; - storedBlockNBT = null; - name = ""; - } - - public static void attachInformation(ItemStack stack, List tooltip) { - ForceToolData fd = new ForceToolData(stack); - fd.attachInformation(tooltip); - if (stack.hasData(FORCE_WRENCH)) { - ForceWrenchAttachment attachment = stack.getData(FORCE_WRENCH); - if (attachment.getStoredName() != null && !attachment.getStoredName().isEmpty()) { // idk what this is - tooltip.add(Component.literal("Stored: ").withStyle(ChatFormatting.GOLD) - .append(Component.translatable(attachment.getStoredName()).withStyle(ChatFormatting.GRAY))); - } - } - } - - @Override - public CompoundTag serializeNBT() { - CompoundTag tag = new CompoundTag(); - if (this.getStoredBlockNBT() != null) { - tag.put("storedNBT", this.getStoredBlockNBT()); - } - - if (this.getStoredBlockState() != null) { - tag.put("storedBlockState", NbtUtils.writeBlockState(this.getStoredBlockState())); - } - if (!this.getStoredName().isEmpty()) { - tag.putString("name", this.getStoredName()); - } - - return tag; - } - - @Override - public void deserializeNBT(CompoundTag tag) { - this.storeBlockNBT(tag.getCompound("storedNBT")); - if (tag.contains("storedBlockState")) { - this.storeBlockState(NbtUtils.readBlockState(BuiltInRegistries.BLOCK.asLookup(), tag.getCompound("storedBlockState"))); - } - this.setBlockName(tag.getString("name")); - } -} diff --git a/src/main/java/com/mrbysco/forcecraft/attachment/forcewrench/IForceWrench.java b/src/main/java/com/mrbysco/forcecraft/attachment/forcewrench/IForceWrench.java deleted file mode 100644 index 2f424a16..00000000 --- a/src/main/java/com/mrbysco/forcecraft/attachment/forcewrench/IForceWrench.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.mrbysco.forcecraft.attachment.forcewrench; - -import net.minecraft.nbt.CompoundTag; -import net.minecraft.world.level.block.state.BlockState; - -public interface IForceWrench { - - boolean hasBlockStored(); - - boolean canStoreBlock(); - - CompoundTag getStoredBlockNBT(); - - BlockState getStoredBlockState(); - - String getStoredName(); - - void storeBlockNBT(CompoundTag tag); - - void storeBlockState(BlockState base); - - void setBlockName(String name); - - void clearBlockStorage(); -} diff --git a/src/main/java/com/mrbysco/forcecraft/attachment/magnet/IMagnet.java b/src/main/java/com/mrbysco/forcecraft/attachment/magnet/IMagnet.java deleted file mode 100644 index b0056be3..00000000 --- a/src/main/java/com/mrbysco/forcecraft/attachment/magnet/IMagnet.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.mrbysco.forcecraft.attachment.magnet; - -public interface IMagnet { - - boolean isActivated(); - - void activate(); - - void deactivate(); - - void setActivation(boolean value); -} diff --git a/src/main/java/com/mrbysco/forcecraft/attachment/magnet/MagnetAttachment.java b/src/main/java/com/mrbysco/forcecraft/attachment/magnet/MagnetAttachment.java deleted file mode 100644 index 0605e88a..00000000 --- a/src/main/java/com/mrbysco/forcecraft/attachment/magnet/MagnetAttachment.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.mrbysco.forcecraft.attachment.magnet; - -import net.minecraft.ChatFormatting; -import net.minecraft.nbt.CompoundTag; -import net.minecraft.network.chat.Component; -import net.minecraft.world.item.ItemStack; -import net.neoforged.neoforge.common.util.INBTSerializable; - -import java.util.List; - -import static com.mrbysco.forcecraft.attachment.ForceAttachments.MAGNET; - -public class MagnetAttachment implements IMagnet, INBTSerializable { - boolean active; - - @Override - public boolean isActivated() { - return active; - } - - @Override - public void activate() { - active = true; - } - - @Override - public void deactivate() { - active = false; - } - - @Override - public void setActivation(boolean value) { - active = value; - } - - public static void attachInformation(ItemStack stack, List tooltip) { - if (stack.hasData(MAGNET)) { - MagnetAttachment attachment = stack.getData(MAGNET); - if (attachment.isActivated()) { - tooltip.add(Component.translatable("forcecraft.magnet_glove.active").withStyle(ChatFormatting.GREEN)); - } else { - tooltip.add(Component.translatable("forcecraft.magnet_glove.deactivated").withStyle(ChatFormatting.RED)); - } - tooltip.add(Component.empty()); - tooltip.add(Component.translatable("forcecraft.magnet_glove.change").withStyle(ChatFormatting.BOLD)); - } - } - - @Override - public CompoundTag serializeNBT() { - CompoundTag tag = new CompoundTag(); - tag.putBoolean("activated", this.isActivated()); - return tag; - } - - @Override - public void deserializeNBT(CompoundTag tag) { - this.setActivation(tag.getBoolean("activated")); - } -} diff --git a/src/main/java/com/mrbysco/forcecraft/attachment/toolmodifier/IToolModifier.java b/src/main/java/com/mrbysco/forcecraft/attachment/toolmodifier/IToolModifier.java deleted file mode 100644 index ad04b633..00000000 --- a/src/main/java/com/mrbysco/forcecraft/attachment/toolmodifier/IToolModifier.java +++ /dev/null @@ -1,219 +0,0 @@ -package com.mrbysco.forcecraft.attachment.toolmodifier; - -public interface IToolModifier { - /** - * Modifier: Speed - * Item: Sugar - * Levels: 5 on tools, 1 on armor, 3 on Force Rod - * Effect: Gives Player Haste [Level] when holding the tool - */ - int getSpeedLevel(); - - void incrementSpeed(); - - void setSpeed(int newSpeed); - - /** - * Modifier Heat - * Item: Golden Power Source - * Levels: 1 - * Effect: Auto-Smelt Item drops - */ - boolean hasHeat(); - - void setHeat(boolean val); - - /** - * Modifier: Force - * Item: Force Nugget - * Levels: 2 - * Effect: Gives the Sword Knockback - */ - int getForceLevel(); - - boolean hasForce(); - - void incrementForce(); - - void setForce(int newForce); - - /** - * Modifier Silk - * Item: Web - * Levels: 1 - * Effect: Give Pick/Shovel/Axe Silk Touch - */ - boolean hasSilk(); - - void setSilk(boolean val); - - /** - * Modifier: Sharpness - * Item: Claw - * Levels: 1 - * Effect: Adds Sharpness to Force Sword - */ - int getSharpLevel(); - - boolean hasSharp(); - - void incrementSharp(); - - void setSharp(int newSharp); - - /** - * Modifier: Luck - * Item: Fortune - * Levels: 4 - * Effect: Adds Fortune to a tool or Looting to a sword - */ - int getLuckLevel(); - - boolean hasLuck(); - - void incrementLuck(); - - void setLuck(int newLuck); - - /** - * Modifier: Sturdy - * Item: Bricks/Obsidian - * Levels: 3 on tools, 1 per armor - * Effect: Adds 1 Level of Unbreaking to tool up to 3 - */ - int getSturdyLevel(); - - boolean hasSturdy(); - - void incrementSturdy(); - - void setSturdy(int newSturdy); - - /** - * Modifier: Rainbow - * Items: Lapis Lazuli - * Levels: 1 - * Effect: Makes sheep drop a random amount of colored wool - */ - boolean hasRainbow(); - - void setRainbow(boolean val); - - /** - * Modifier: Lumberjack - * Items: Force Log - * Levels: 1 - * Effect: Allows an axe to chop an entire tree down - */ - boolean hasLumberjack(); - - void setLumberjack(boolean val); - - /** - * Modifier: Bleeding - * Items: Arrow - * Levels: 3 - * Effect: Applies Bleeding Potion Effect - */ - - int getBleedLevel(); - - boolean hasBleed(); - - void incrementBleed(); - - void setBleed(int newBleed); - - /** - * Modifier: Bane - * Items: Spider Eye - * Levels: 1 - * Effect: Applies Bane Potion Effect - */ - - int getBaneLevel(); - - boolean hasBane(); - - void incrementBane(); - - void setBane(int newBane); - - /** - * Modifier: Wing - * Items: Feathers - * Levels: 1 - * Effect: If full armor set is equipped, player can fly - */ - - boolean hasWing(); - - void setWing(boolean val); - - /** - * Modifier: Camo - * Items: Invisibility Potion - * Levels: 1 - * Effect: Gives Invisibility to wearer/user - */ - - boolean hasCamo(); - - void setCamo(boolean val); - - /** - * Modifier: Sight - * Items: Night Vision Potion - * Levels: 1 - * Effect: Gives Night Vision - */ - - boolean hasSight(); - - void setSight(boolean val); - - /** - * Modifier: Light - * Items: Glowstone Dust - * Levels: 1 - * Effect: Shows mobs through walls - */ - - boolean hasLight(); - - void setLight(boolean val); - - /** - * Modifier: Ender - * Items: Ender Pearl / Eye of Ender - * Levels: 1 - * Effect: Teleports target to random location - */ - - boolean hasEnder(); - - void setEnder(boolean val); - - /** - * Modifier: Freezing - * Items: Snow Cookie - * Levels: 1 - * Effect: Gives Slowness to enemy - */ - - boolean hasFreezing(); - - void setFreezing(boolean val); - - - /** - * Modifier: Treasure - * Items: Treasure Core - * Levels: 1 - * Effect: Allows treasure cards to drop upon killing mobs - */ - - boolean hasTreasure(); - - void setTreasure(boolean val); -} diff --git a/src/main/java/com/mrbysco/forcecraft/attachment/toolmodifier/ToolModifierAttachment.java b/src/main/java/com/mrbysco/forcecraft/attachment/toolmodifier/ToolModifierAttachment.java deleted file mode 100644 index ed538205..00000000 --- a/src/main/java/com/mrbysco/forcecraft/attachment/toolmodifier/ToolModifierAttachment.java +++ /dev/null @@ -1,559 +0,0 @@ -package com.mrbysco.forcecraft.attachment.toolmodifier; - -import com.mrbysco.forcecraft.items.ForceArmorItem; -import com.mrbysco.forcecraft.items.tools.ForceBowItem; -import com.mrbysco.forcecraft.items.tools.ForcePickaxeItem; -import com.mrbysco.forcecraft.items.tools.ForceRodItem; -import com.mrbysco.forcecraft.items.tools.ForceShearsItem; -import com.mrbysco.forcecraft.items.tools.ForceShovelItem; -import net.minecraft.ChatFormatting; -import net.minecraft.nbt.CompoundTag; -import net.minecraft.network.chat.Component; -import net.minecraft.world.item.Item; -import net.minecraft.world.item.ItemStack; -import net.neoforged.neoforge.common.util.INBTSerializable; - -import java.util.List; - -import static com.mrbysco.forcecraft.attachment.ForceAttachments.TOOL_MODIFIER; - -public class ToolModifierAttachment implements IToolModifier, INBTSerializable { - /** - * Modifier: Speed - * Item: Sugar - * Levels: 5 - * Effect: Gives Player Haste [Level] when holding the tool - */ - - private int speed; - - @Override - public int getSpeedLevel() { - return speed; - } - - @Override - public void incrementSpeed() { - speed++; - } - - @Override - public void setSpeed(int newSpeed) { - speed = newSpeed; - } - - /** - * Modifier Heat - * Item: Golden Power Source - * Levels: 1 - * Effect: Auto-Smelt Item drops - */ - - private boolean heat; - - @Override - public boolean hasHeat() { - return heat; - } - - @Override - public void setHeat(boolean val) { - heat = val; - } - - /** - * Modifier: Force - * Item: Force Nugget - * Levels: 3 - * Effect: Gives the Sword Knockback - */ - - private int force; - - @Override - public int getForceLevel() { - return force; - } - - @Override - public boolean hasForce() { - return force != 0; - } - - @Override - public void incrementForce() { - force++; - } - - @Override - public void setForce(int newForce) { - force = newForce; - } - - /** - * Modifier Silk - * Item: Web - * Levels: 1 - * Effect: Give Pick/Shovel/Axe Silk Touch - */ - - private boolean silk; - - @Override - public boolean hasSilk() { - return silk; - } - - @Override - public void setSilk(boolean val) { - silk = val; - } - - /** - * Modifier: Sharpness - * Item: Claw - * Levels: 10 - * Effect: Adds Sharpness to Force Sword - */ - - private int sharpness; - - @Override - public int getSharpLevel() { - return sharpness; - } - - @Override - public boolean hasSharp() { - return sharpness > 0; - } - - @Override - public void incrementSharp() { - sharpness++; - } - - @Override - public void setSharp(int newSharp) { - sharpness = newSharp; - } - - /** - * Modifier: Luck - * Item: Fortune - * Levels: 5 - * Effect: Adds Fortune to a tool or Looting to a sword - */ - - private int luck; - - @Override - public int getLuckLevel() { - return luck; - } - - @Override - public boolean hasLuck() { - return luck > 0; - } - - @Override - public void incrementLuck() { - luck++; - } - - @Override - public void setLuck(int newLuck) { - luck = newLuck; - } - - /** - * Modifier: Sturdy - * Item: Bricks/Obsidian - * Levels: 3 (tools) 1 (armor) - * Effect: Adds 1 Level of Unbreaking to tool up to 10 - */ - - private int sturdy; - - @Override - public int getSturdyLevel() { - return sturdy; - } - - @Override - public boolean hasSturdy() { - return sturdy > 0; - } - - @Override - public void incrementSturdy() { - sturdy++; - } - - @Override - public void setSturdy(int newSturdy) { - sturdy = newSturdy; - } - - /** - * Modifier: Rainbow - * Items: Lapis Lazuli - * Levels: 1 - * Effect: Makes sheep drop a random amount of colored wool - */ - - boolean rainbow; - - @Override - public boolean hasRainbow() { - return rainbow; - } - - @Override - public void setRainbow(boolean val) { - rainbow = val; - } - - /** - * Modifier: Lumberjack - * Items: Force Log - * Levels: 1 - * Effect: Allows an axe to chop an entire tree down - */ - - boolean lumberJack; - - @Override - public boolean hasLumberjack() { - return lumberJack; - } - - @Override - public void setLumberjack(boolean val) { - lumberJack = val; - } - - /** - * Modifier: Bleeding - * Items: Arrow - * Levels: 2 - * Effect: Applies Bleeding Potion Effect - */ - - int bleed; - - @Override - public int getBleedLevel() { - return bleed; - } - - @Override - public boolean hasBleed() { - return bleed > 0; - } - - @Override - public void incrementBleed() { - bleed++; - } - - @Override - public void setBleed(int newBleed) { - bleed = newBleed; - } - - /** - * Modifier: Bane - * Items: Spider Eye - * Levels: 4 - * Effect: Applies Bane Potion Effect - */ - - int bane; - - @Override - public int getBaneLevel() { - return bane; - } - - @Override - public boolean hasBane() { - return bane > 0; - } - - @Override - public void incrementBane() { - bane++; - } - - @Override - public void setBane(int newBane) { - bane = newBane; - } - - /** - * Modifier: Wing - * Items: Feathers - * Levels: 1 - * Effect: If full armor set is equipped, player can fly - */ - - boolean wing; - - @Override - public boolean hasWing() { - return wing; - } - - @Override - public void setWing(boolean val) { - wing = val; - } - - /** - * Modifier: Camo - * Items: Invisibility Potion - * Levels: 1 - * Effect: Gives Invisibility to wearer/user - */ - - boolean camo; - - @Override - public boolean hasCamo() { - return camo; - } - - @Override - public void setCamo(boolean val) { - camo = val; - } - - /** - * Modifier: Sight - * Items: Night Vision Potion - * Levels: 1 - * Effect: Gives Night Vision - */ - - boolean sight; - - @Override - public boolean hasSight() { - return sight; - } - - @Override - public void setSight(boolean val) { - sight = val; - } - - /** - * Modifier: Light - * Items: Glowstone Dust - * Levels: 1 - * Effect: Shows mobs through walls - */ - - boolean light; - - @Override - public boolean hasLight() { - return light; - } - - @Override - public void setLight(boolean val) { - light = val; - } - - /** - * Modifier: Ender - * Items: Ender Pearl / Eye of Ender - * Levels: 1 - * Effect: Teleports target to random location - */ - - boolean ender; - - @Override - public boolean hasEnder() { - return ender; - } - - @Override - public void setEnder(boolean val) { - ender = val; - } - - /** - * Modifier: Freezing - * Items: Snow Cookie - * Levels: 1 - * Effect: Gives Slowness to enemy - */ - - boolean freezing; - - @Override - public boolean hasFreezing() { - return freezing; - } - - @Override - public void setFreezing(boolean val) { - freezing = val; - } - - - /** - * Modifier: Treasure - * Items: Treasure Core - * Levels: 1 - * Effect: Allows treasure cards to drop upon killing mobs - */ - - boolean treasure; - - @Override - public boolean hasTreasure() { - return treasure; - } - - @Override - public void setTreasure(boolean val) { - treasure = val; - } - - public static void attachInformation(ItemStack stack, List tooltip) { - if (stack.hasData(TOOL_MODIFIER)) { - ToolModifierAttachment attachment = stack.getData(TOOL_MODIFIER); - Item item = stack.getItem(); - - if (attachment.getSpeedLevel() > 0) { - if (item instanceof ForceBowItem || item instanceof ForceArmorItem || item instanceof ForceRodItem) { - tooltip.add(Component.translatable("item.infuser.tooltip.speed" + attachment.getSpeedLevel()).withStyle(ChatFormatting.YELLOW)); - } - } - if (attachment.hasLumberjack()) { - tooltip.add(Component.translatable("item.infuser.tooltip.lumberjack").withStyle(ChatFormatting.YELLOW)); - } - if (attachment.getLuckLevel() > 0) { - if (item instanceof ForceBowItem || item instanceof ForceArmorItem) { - tooltip.add(Component.translatable("item.infuser.tooltip.luck" + attachment.getLuckLevel()).withStyle(ChatFormatting.GREEN)); - } - } - if (attachment.getBaneLevel() > 0) { - tooltip.add(Component.translatable("item.infuser.tooltip.bane").withStyle(ChatFormatting.LIGHT_PURPLE)); - } -// if (cap.getForceLevel() > 0) { -// tooltip.add(new TranslationTextComponent("item.infuser.tooltip.force" + cap.getForceLevel())); -// } - if (attachment.getSturdyLevel() > 0) { - if (stack.getItem() instanceof ForceArmorItem) { - tooltip.add(Component.translatable("item.infuser.tooltip.sturdy" + attachment.getSturdyLevel()).withStyle(ChatFormatting.DARK_PURPLE)); - } - } - if (attachment.hasWing()) { - tooltip.add(Component.translatable("item.infuser.tooltip.wing")); - } - if (attachment.hasBleed()) { - tooltip.add(Component.translatable("item.infuser.tooltip.bleed" + attachment.getBleedLevel()).withStyle(ChatFormatting.RED)); - } - if (attachment.hasRainbow()) { - tooltip.add(Component.translatable("item.infuser.tooltip.rainbow").withStyle(ChatFormatting.GOLD)); - } - if (attachment.hasHeat()) { - if (item instanceof ForceShovelItem || item instanceof ForcePickaxeItem || item instanceof ForceShearsItem || item instanceof ForceArmorItem) { - tooltip.add(Component.translatable("item.infuser.tooltip.heat").withStyle(ChatFormatting.RED)); - } - } - if (attachment.hasCamo()) { - tooltip.add(Component.translatable("item.infuser.tooltip.camo").withStyle(ChatFormatting.DARK_GREEN)); - } - if (attachment.hasEnder()) { - tooltip.add(Component.translatable("item.infuser.tooltip.ender").withStyle(ChatFormatting.DARK_PURPLE)); - } - if (attachment.hasFreezing()) { - tooltip.add(Component.translatable("item.infuser.tooltip.freezing").withStyle(ChatFormatting.BLUE)); - } - if (attachment.hasTreasure()) { - tooltip.add(Component.translatable("item.infuser.tooltip.treasure").withStyle(ChatFormatting.GOLD)); - } - if (attachment.hasLight()) { - tooltip.add(Component.translatable("item.infuser.tooltip.light").withStyle(ChatFormatting.GOLD)); - } - if (attachment.hasSharp()) { - if (stack.getItem() instanceof ForceArmorItem) { - tooltip.add(Component.translatable("item.infuser.tooltip.sharp").withStyle(ChatFormatting.GOLD)); - } - } - } - } - - @Override - public CompoundTag serializeNBT() { - CompoundTag tag = new CompoundTag(); - // Speed - tag.putInt("speed", this.getSpeedLevel()); - // Heat - tag.putBoolean("heat", this.hasHeat()); - // Force - tag.putInt("force", this.getForceLevel()); - // Silk - tag.putBoolean("silk", this.hasSilk()); - // Sharpness - tag.putInt("sharp", this.getSharpLevel()); - // Luck - tag.putInt("luck", this.getLuckLevel()); - // Sturdy - tag.putInt("sturdy", this.getSturdyLevel()); - // Rainbow - tag.putBoolean("rainbow", this.hasRainbow()); - // Lumberjack - tag.putBoolean("lumber", this.hasLumberjack()); - // Bleeding - tag.putInt("bleed", this.getBleedLevel()); - // Bane - tag.putInt("bane", this.getBaneLevel()); - // Wing - tag.putBoolean("wing", this.hasWing()); - // Camo - tag.putBoolean("camo", this.hasCamo()); - // Sight - tag.putBoolean("sight", this.hasSight()); - // Light - tag.putBoolean("light", this.hasLight()); - // Ender - tag.putBoolean("ender", this.hasEnder()); - // Freezing - tag.putBoolean("freezing", this.hasFreezing()); - // Treasure - tag.putBoolean("treasure", this.hasTreasure()); - - return tag; - } - - @Override - public void deserializeNBT(CompoundTag tag) { - this.setSpeed(tag.getInt("speed")); - this.setHeat(tag.getBoolean("heat")); - this.setForce(tag.getInt("force")); - this.setSilk(tag.getBoolean("silk")); - this.setSharp(tag.getInt("sharp")); - this.setLuck(tag.getInt("luck")); - this.setSturdy(tag.getInt("sturdy")); - this.setRainbow(tag.getBoolean("rainbow")); - this.setLumberjack(tag.getBoolean("lumber")); - this.setBleed(tag.getInt("bleed")); - this.setBane(tag.getInt("bane")); - this.setWing(tag.getBoolean("wing")); - this.setCamo(tag.getBoolean("camo")); - this.setSight(tag.getBoolean("sight")); - this.setLight(tag.getBoolean("light")); - this.setEnder(tag.getBoolean("ender")); - this.setFreezing(tag.getBoolean("freezing")); - this.setTreasure(tag.getBoolean("treasure")); - } -} diff --git a/src/main/java/com/mrbysco/forcecraft/attachments/ForceAttachments.java b/src/main/java/com/mrbysco/forcecraft/attachments/ForceAttachments.java new file mode 100644 index 00000000..f88d4107 --- /dev/null +++ b/src/main/java/com/mrbysco/forcecraft/attachments/ForceAttachments.java @@ -0,0 +1,19 @@ +package com.mrbysco.forcecraft.attachments; + +import com.mrbysco.forcecraft.Reference; +import com.mrbysco.forcecraft.attachments.banemodifier.BaneModifierAttachment; +import com.mrbysco.forcecraft.attachments.playermodifier.PlayerModifierAttachment; +import net.neoforged.neoforge.attachment.AttachmentType; +import net.neoforged.neoforge.registries.DeferredRegister; +import net.neoforged.neoforge.registries.NeoForgeRegistries; + +import java.util.function.Supplier; + +public class ForceAttachments { + public static final DeferredRegister> ATTACHMENT_TYPES = DeferredRegister.create(NeoForgeRegistries.ATTACHMENT_TYPES, Reference.MOD_ID); + + public static final Supplier> BANE_MODIFIER = ATTACHMENT_TYPES.register("bane_modifier", () -> + AttachmentType.builder(BaneModifierAttachment::new).build()); + public static final Supplier> PLAYER_MOD = ATTACHMENT_TYPES.register("player_mod", () -> + AttachmentType.serializable(PlayerModifierAttachment::new).build()); +} diff --git a/src/main/java/com/mrbysco/forcecraft/attachment/banemodifier/BaneModifierAttachment.java b/src/main/java/com/mrbysco/forcecraft/attachments/banemodifier/BaneModifierAttachment.java similarity index 78% rename from src/main/java/com/mrbysco/forcecraft/attachment/banemodifier/BaneModifierAttachment.java rename to src/main/java/com/mrbysco/forcecraft/attachments/banemodifier/BaneModifierAttachment.java index 5b05565b..611b9e64 100644 --- a/src/main/java/com/mrbysco/forcecraft/attachment/banemodifier/BaneModifierAttachment.java +++ b/src/main/java/com/mrbysco/forcecraft/attachments/banemodifier/BaneModifierAttachment.java @@ -1,5 +1,6 @@ -package com.mrbysco.forcecraft.attachment.banemodifier; +package com.mrbysco.forcecraft.attachments.banemodifier; +import net.minecraft.core.HolderLookup; import net.minecraft.nbt.CompoundTag; import net.neoforged.neoforge.common.util.INBTSerializable; @@ -29,7 +30,7 @@ public void setExplodeAbility(boolean canExplode) { } @Override - public CompoundTag serializeNBT() { + public CompoundTag serializeNBT(HolderLookup.Provider provider) { CompoundTag tag = new CompoundTag(); tag.putBoolean("canTeleport", this.canTeleport()); tag.putBoolean("canExplode", this.canExplode()); @@ -37,7 +38,7 @@ public CompoundTag serializeNBT() { } @Override - public void deserializeNBT(CompoundTag tag) { + public void deserializeNBT(HolderLookup.Provider provider, CompoundTag tag) { this.setTeleportAbility(tag.getBoolean("canTeleport")); this.setExplodeAbility(tag.getBoolean("canExplode")); } diff --git a/src/main/java/com/mrbysco/forcecraft/attachment/banemodifier/IBaneModifier.java b/src/main/java/com/mrbysco/forcecraft/attachments/banemodifier/IBaneModifier.java similarity index 75% rename from src/main/java/com/mrbysco/forcecraft/attachment/banemodifier/IBaneModifier.java rename to src/main/java/com/mrbysco/forcecraft/attachments/banemodifier/IBaneModifier.java index 5f20846c..6ef44b23 100644 --- a/src/main/java/com/mrbysco/forcecraft/attachment/banemodifier/IBaneModifier.java +++ b/src/main/java/com/mrbysco/forcecraft/attachments/banemodifier/IBaneModifier.java @@ -1,4 +1,4 @@ -package com.mrbysco.forcecraft.attachment.banemodifier; +package com.mrbysco.forcecraft.attachments.banemodifier; public interface IBaneModifier { boolean canTeleport(); diff --git a/src/main/java/com/mrbysco/forcecraft/attachment/playermodifier/IPlayerModifier.java b/src/main/java/com/mrbysco/forcecraft/attachments/playermodifier/IPlayerModifier.java similarity index 94% rename from src/main/java/com/mrbysco/forcecraft/attachment/playermodifier/IPlayerModifier.java rename to src/main/java/com/mrbysco/forcecraft/attachments/playermodifier/IPlayerModifier.java index 24635ea6..9ca108ed 100644 --- a/src/main/java/com/mrbysco/forcecraft/attachment/playermodifier/IPlayerModifier.java +++ b/src/main/java/com/mrbysco/forcecraft/attachments/playermodifier/IPlayerModifier.java @@ -1,4 +1,4 @@ -package com.mrbysco.forcecraft.attachment.playermodifier; +package com.mrbysco.forcecraft.attachments.playermodifier; public interface IPlayerModifier { diff --git a/src/main/java/com/mrbysco/forcecraft/attachment/playermodifier/PlayerModifierAttachment.java b/src/main/java/com/mrbysco/forcecraft/attachments/playermodifier/PlayerModifierAttachment.java similarity index 91% rename from src/main/java/com/mrbysco/forcecraft/attachment/playermodifier/PlayerModifierAttachment.java rename to src/main/java/com/mrbysco/forcecraft/attachments/playermodifier/PlayerModifierAttachment.java index 10092383..c671d718 100644 --- a/src/main/java/com/mrbysco/forcecraft/attachment/playermodifier/PlayerModifierAttachment.java +++ b/src/main/java/com/mrbysco/forcecraft/attachments/playermodifier/PlayerModifierAttachment.java @@ -1,11 +1,11 @@ -package com.mrbysco.forcecraft.attachment.playermodifier; +package com.mrbysco.forcecraft.attachments.playermodifier; +import net.minecraft.core.HolderLookup; import net.minecraft.nbt.CompoundTag; -import net.minecraft.world.entity.ai.attributes.Attributes; import net.neoforged.neoforge.common.util.INBTSerializable; public class PlayerModifierAttachment implements IPlayerModifier, INBTSerializable { - private float attackDamage = ((float) Attributes.ATTACK_DAMAGE.getDefaultValue()); + private float attackDamage = 2.0F; //Default of Attributes.ATTACK_DAMAGE private float wingPower = 0.0f; private float flightCounter = wingPower; private float heatDamage = 0.0f; @@ -157,7 +157,7 @@ public void setBleeding(int value) { } @Override - public CompoundTag serializeNBT() { + public CompoundTag serializeNBT(HolderLookup.Provider provider) { CompoundTag tag = new CompoundTag(); tag.putFloat("attackDamage", this.getAttackDamage()); tag.putFloat("wingPower", this.getWingPower()); @@ -173,7 +173,7 @@ public CompoundTag serializeNBT() { } @Override - public void deserializeNBT(CompoundTag tag) { + public void deserializeNBT(HolderLookup.Provider provider, CompoundTag tag) { this.setAttackDamage(tag.getFloat("attackDamage")); this.setWingPower(tag.getFloat("wingPower")); this.setFlightTimer(tag.getFloat("flightCounter")); diff --git a/src/main/java/com/mrbysco/forcecraft/blockentities/ForceEngineBlockEntity.java b/src/main/java/com/mrbysco/forcecraft/blockentities/ForceEngineBlockEntity.java index ef993cb0..a7b51c5b 100644 --- a/src/main/java/com/mrbysco/forcecraft/blockentities/ForceEngineBlockEntity.java +++ b/src/main/java/com/mrbysco/forcecraft/blockentities/ForceEngineBlockEntity.java @@ -10,6 +10,7 @@ import com.mrbysco.forcecraft.registry.ForceTags; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.Connection; import net.minecraft.network.chat.Component; @@ -50,7 +51,7 @@ public FluidStack drain(FluidStack resource, FluidAction action) { } if (action.simulate()) { int amount = this.getFluidAmount() - resource.getAmount() < 0 ? this.getFluidAmount() : resource.getAmount(); - return new FluidStack(this.getFluid(), amount); + return new FluidStack(this.getFluid().getFluid(), amount); } return super.drain(resource.getAmount(), action); } @@ -83,7 +84,7 @@ public FluidStack drain(FluidStack resource, FluidAction action) { } if (action.simulate()) { int amount = this.getFluidAmount() - resource.getAmount() < 0 ? this.getFluidAmount() : resource.getAmount(); - return new FluidStack(this.getFluid(), amount); + return new FluidStack(this.getFluid().getFluid(), amount); } return super.drain(resource.getAmount(), action); } @@ -187,8 +188,8 @@ public ForceEngineBlockEntity(BlockPos pos, BlockState state) { } @Override - public void load(CompoundTag tag) { - super.load(tag); + public void loadAdditional(CompoundTag tag, HolderLookup.Provider registries) { + super.loadAdditional(tag, registries); this.processTime = tag.getInt("processTime"); this.maxProcessTime = tag.getInt("maxProcessTime"); this.throttleTime = tag.getInt("throttleTime"); @@ -197,13 +198,13 @@ public void load(CompoundTag tag) { this.generating = tag.getFloat("generating"); //Caps - this.stackWrapper.deserializeNBT(tag.getCompound("stackHandler")); - this.tankWrapper.deserializeNBT(tag.getCompound("fluid")); + this.stackWrapper.deserializeNBT(registries, tag.getCompound("stackHandler")); + this.tankWrapper.deserializeNBT(registries, tag.getCompound("fluid")); } @Override - public void saveAdditional(CompoundTag compound) { - super.saveAdditional(compound); + public void saveAdditional(CompoundTag compound, HolderLookup.Provider registries) { + super.saveAdditional(compound, registries); compound.putInt("processTime", this.processTime); compound.putInt("maxProcessTime", this.maxProcessTime); @@ -211,8 +212,8 @@ public void saveAdditional(CompoundTag compound) { compound.putInt("maxThrottleTime", this.maxThrottleTime); compound.putFloat("generating", this.generating); //Caps - compound.put("stackHandler", stackWrapper.serializeNBT()); - compound.put("fluid", tankWrapper.serializeNBT()); + compound.put("stackHandler", stackWrapper.serializeNBT(registries)); + compound.put("fluid", tankWrapper.serializeNBT(registries)); } @Override @@ -424,7 +425,7 @@ public int fillFuel(FluidStack resource, IFluidHandler.FluidAction action) { FluidStack resourceCopy = resource.copy(); if (action.execute()) { - if (tankFuel.getFluid().isEmpty() || tankFuel.getFluid().isFluidEqual(resource)) { + if (tankFuel.getFluid().isEmpty() || FluidStack.isSameFluidSameComponents(tankFuel.getFluid(), resource)) { tankFuel.fill(resourceCopy, action); } } @@ -447,7 +448,7 @@ public int fillThrottle(FluidStack resource, IFluidHandler.FluidAction action) { FluidStack resourceCopy = resource.copy(); if (action.execute()) { - if (tankThrottle.getFluid().isEmpty() || tankThrottle.getFluid().isFluidEqual(resource)) { + if (tankThrottle.getFluid().isEmpty() || FluidStack.isSameFluidSameComponents(tankThrottle.getFluid(), resource)) { tankThrottle.fill(resourceCopy, action); } } @@ -512,27 +513,26 @@ public ClientboundBlockEntityDataPacket getUpdatePacket() { } @Override - public void onDataPacket(Connection net, ClientboundBlockEntityDataPacket packet) { - if (packet.getTag() != null) - this.load(packet.getTag()); + public void onDataPacket(Connection net, ClientboundBlockEntityDataPacket pkt, HolderLookup.Provider lookupProvider) { + super.onDataPacket(net, pkt, lookupProvider); } @Override - public CompoundTag getUpdateTag() { + public CompoundTag getUpdateTag(HolderLookup.Provider registries) { CompoundTag tag = new CompoundTag(); - this.saveAdditional(tag); + this.saveAdditional(tag, registries); return tag; } @Override - public void handleUpdateTag(CompoundTag tag) { - this.load(tag); + public void handleUpdateTag(CompoundTag tag, HolderLookup.Provider registries) { + this.loadAdditional(tag, registries); } @Override public CompoundTag getPersistentData() { CompoundTag tag = new CompoundTag(); - this.saveAdditional(tag); + this.saveAdditional(tag, this.level.registryAccess()); return tag; } diff --git a/src/main/java/com/mrbysco/forcecraft/blockentities/InfuserBlockEntity.java b/src/main/java/com/mrbysco/forcecraft/blockentities/InfuserBlockEntity.java index c4d080fb..5fa43263 100644 --- a/src/main/java/com/mrbysco/forcecraft/blockentities/InfuserBlockEntity.java +++ b/src/main/java/com/mrbysco/forcecraft/blockentities/InfuserBlockEntity.java @@ -2,11 +2,10 @@ import com.mrbysco.forcecraft.ForceCraft; import com.mrbysco.forcecraft.Reference; -import com.mrbysco.forcecraft.attachment.forcerod.ForceRodAttachment; -import com.mrbysco.forcecraft.attachment.storage.PackStackHandler; -import com.mrbysco.forcecraft.attachment.storage.StorageManager; -import com.mrbysco.forcecraft.attachment.toolmodifier.ToolModifierAttachment; import com.mrbysco.forcecraft.blockentities.energy.ForceEnergyStorage; +import com.mrbysco.forcecraft.components.ForceComponents; +import com.mrbysco.forcecraft.components.storage.PackStackHandler; +import com.mrbysco.forcecraft.components.storage.StorageManager; import com.mrbysco.forcecraft.config.ConfigHandler; import com.mrbysco.forcecraft.items.ForceArmorItem; import com.mrbysco.forcecraft.items.ForcePackItem; @@ -34,7 +33,9 @@ import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; import net.minecraft.core.NonNullList; +import net.minecraft.core.component.DataComponents; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.Connection; import net.minecraft.network.chat.Component; @@ -53,7 +54,7 @@ import net.minecraft.world.inventory.AbstractContainerMenu; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.alchemy.PotionUtils; +import net.minecraft.world.item.alchemy.PotionContents; import net.minecraft.world.item.crafting.RecipeHolder; import net.minecraft.world.item.enchantment.Enchantments; import net.minecraft.world.level.Level; @@ -65,6 +66,8 @@ import net.neoforged.neoforge.fluids.capability.IFluidHandler.FluidAction; import net.neoforged.neoforge.fluids.capability.templates.FluidTank; import net.neoforged.neoforge.items.ItemStackHandler; +import net.neoforged.neoforge.items.wrapper.RecipeWrapper; +import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.util.ArrayList; @@ -74,12 +77,9 @@ import java.util.Map; import java.util.Set; -import static com.mrbysco.forcecraft.attachment.ForceAttachments.FORCE_ROD; -import static com.mrbysco.forcecraft.attachment.ForceAttachments.TOOL_MODIFIER; - public class InfuserBlockEntity extends BlockEntity implements MenuProvider, Container { private static final Set HASHES = new HashSet<>(); - public static final Map> LEVEL_RECIPE_LIST = new HashMap<>(); + public static final Map> LEVEL_RECIPE_LIST = new HashMap<>(); private static final int FLUID_CHARGE = 1000; @@ -108,7 +108,7 @@ public FluidStack drain(FluidStack resource, FluidAction action) { } if (action.simulate()) { int amount = tank.getFluidAmount() - resource.getAmount() < 0 ? tank.getFluidAmount() : resource.getAmount(); - return new FluidStack(tank.getFluid(), amount); + return new FluidStack(tank.getFluid().getFluid(), amount); } return super.drain(resource.getAmount(), action); } @@ -119,7 +119,8 @@ protected void onContentsChanged() { } @Override - public FluidStack drain(int maxDrain, FluidAction action) { + @NotNull + public FluidStack drain(int maxDrain, @NotNull FluidAction action) { return super.drain(maxDrain, action); } @@ -172,29 +173,29 @@ public InfuserBlockEntity(BlockPos pos, BlockState state) { } @Override - public void load(CompoundTag compound) { + public void loadAdditional(CompoundTag compound, HolderLookup.Provider registries) { + super.loadAdditional(compound, registries); this.processTime = compound.getInt("processTime"); this.maxProcessTime = compound.getInt("maxProcessTime"); //Items canWork = compound.getBoolean("canWork"); - handler.deserializeNBT(compound.getCompound("ItemStackHandler")); - ContainerHelper.loadAllItems(compound, this.infuserContents); + handler.deserializeNBT(registries, compound.getCompound("ItemStackHandler")); + ContainerHelper.loadAllItems(compound, this.infuserContents, registries); energyStorage.setEnergy(compound.getInt("EnergyHandler")); - tank.readFromNBT(compound); - - super.load(compound); + tank.readFromNBT(registries, compound); } @Override - protected void saveAdditional(CompoundTag compound) { + public void saveAdditional(CompoundTag compound, HolderLookup.Provider registries) { + super.saveAdditional(compound, registries); compound.putInt("processTime", this.processTime); compound.putInt("maxProcessTime", this.maxProcessTime); //Items compound.putBoolean("canWork", canWork); - compound.put("ItemStackHandler", handler.serializeNBT()); + compound.put("ItemStackHandler", handler.serializeNBT(registries)); compound.putInt("EnergyHandler", energyStorage.getEnergyStored()); - ContainerHelper.saveAllItems(compound, this.infuserContents); - tank.writeToNBT(compound); + ContainerHelper.saveAllItems(compound, this.infuserContents, registries); + tank.writeToNBT(registries, compound); } public static void serverTick(Level level, BlockPos pos, BlockState state, InfuserBlockEntity infuser) { @@ -330,7 +331,7 @@ protected Int2ObjectOpenHashMap> getMatchingRecipes() List> holders = level.getRecipeManager().getAllRecipesFor(ForceRecipes.INFUSER_TYPE.get()); for (RecipeHolder holder : holders) { InfuseRecipe recipe = holder.value(); - if (recipe.matchesModifier(this, modifier, false)) { + if (recipe.matchesModifier(new RecipeWrapper(this.handler), modifier, false)) { matchingRecipes.put(i, holder); break; } @@ -369,7 +370,7 @@ protected boolean matchesTool(ItemStack toolStack) { protected boolean recipesStillMatch() { for (Map.Entry> entry : currentRecipes.entrySet()) { ItemStack modifier = getModifier(entry.getKey()); - if (!entry.getValue().value().matchesModifier(this, modifier, false)) { + if (!entry.getValue().value().matchesModifier(new RecipeWrapper(this.handler), modifier, false)) { return false; } } @@ -425,14 +426,13 @@ private void processForceCharging() { force.charge(charge); } tank.drain(FLUID_CHARGE, FluidAction.EXECUTE); - force.write(tool); } private void processTool() { for (Map.Entry> entry : currentRecipes.entrySet()) { ItemStack modifier = getModifier(entry.getKey()); RecipeHolder recipeHolder = entry.getValue(); - if (recipeHolder.value().matchesModifier(this, modifier, true)) { + if (recipeHolder.value().matchesModifier(new RecipeWrapper(this.handler), modifier, true)) { ItemStack tool = getFromToolSlot(); boolean success = applyModifier(tool, modifier, recipeHolder); ForceCraft.LOGGER.info("Applying modifier {} on tool {}, succes: {}", tool, modifier, success); @@ -459,26 +459,26 @@ public ClientboundBlockEntityDataPacket getUpdatePacket() { } @Override - public void onDataPacket(Connection net, ClientboundBlockEntityDataPacket packet) { - load(packet.getTag()); + public void onDataPacket(Connection net, ClientboundBlockEntityDataPacket pkt, HolderLookup.Provider lookupProvider) { + super.onDataPacket(net, pkt, lookupProvider); } @Override - public CompoundTag getUpdateTag() { + public CompoundTag getUpdateTag(HolderLookup.Provider registries) { CompoundTag tag = new CompoundTag(); - saveAdditional(tag); + this.saveAdditional(tag, registries); return tag; } @Override - public void handleUpdateTag(CompoundTag tag) { - super.handleUpdateTag(tag); + public void handleUpdateTag(CompoundTag tag, HolderLookup.Provider registries) { + this.loadAdditional(tag, registries); } @Override public CompoundTag getPersistentData() { CompoundTag tag = new CompoundTag(); - this.saveAdditional(tag); + this.saveAdditional(tag, this.level.registryAccess()); return tag; } @@ -532,8 +532,7 @@ public boolean canCharge() { } public boolean isValidChargeableStack(ItemStack stack) { - CompoundTag tag = stack.getTag(); - return stack.is(ForceTags.VALID_INFUSER_CHARGE) && tag != null && tag.contains("ForceInfused") && stack.getCount() == 1; + return stack.is(ForceTags.VALID_INFUSER_CHARGE) && stack.has(ForceComponents.FORCE_INFUSED) && stack.getCount() == 1; } /** @@ -545,12 +544,12 @@ public boolean isValidChargeableStack(ItemStack stack) { * @return true if a modifier was applied */ private boolean applyModifier(ItemStack tool, ItemStack modifier, RecipeHolder recipeHolder) { - UpgradeBookData bd = new UpgradeBookData(this.getBookInSlot()); + UpgradeBookData bd = this.getBookInSlot().getOrDefault(ForceComponents.UPGRADE_BOOK, UpgradeBookData.DEFAULT); //if the recipe level does not exceed what the book has //test the ingredient of this recipe, if it matches me InfuseRecipe recipe = recipeHolder.value(); - if (recipe.getModifier().apply(tool, modifier, bd)) { + if (recipe.getModifier().apply(tool, modifier, bd, this.level.registryAccess())) { bd.onRecipeApply(recipeHolder, getBookInSlot()); if (recipe.getModifier() == InfuserModifierType.ITEM && recipe.hasOutput()) { @@ -572,7 +571,7 @@ private boolean applyModifier(ItemStack tool, ItemStack modifier, RecipeHolder effects = PotionUtils.getMobEffects(mod); + List effects = mod.getOrDefault(DataComponents.POTION_CONTENTS, PotionContents.EMPTY).customEffects(); for (MobEffectInstance e : effects) { if (e.getEffect() == MobEffects.NIGHT_VISION) { return addSightModifier(tool); @@ -587,19 +586,15 @@ static boolean applyCamo(ItemStack tool, ItemStack mod) { static boolean addLightModifier(ItemStack stack) { Item item = stack.getItem(); if (item instanceof ForceRodItem) { - ForceRodAttachment attachment = stack.getData(FORCE_ROD); - if (!attachment.hasLight()) { - attachment.setLight(true); + if (!stack.has(ForceComponents.ROD_LIGHT)) { + stack.set(ForceComponents.ROD_LIGHT, true); addInfusedTag(stack); - stack.setData(FORCE_ROD, attachment); return true; } } else if (item instanceof ForceBowItem) { - ToolModifierAttachment attachment = stack.getData(TOOL_MODIFIER); - if (!attachment.hasLight()) { - attachment.setLight(true); + if (!stack.has(ForceComponents.TOOL_LIGHT)) { + stack.set(ForceComponents.TOOL_LIGHT, true); addInfusedTag(stack); - stack.setData(TOOL_MODIFIER, attachment); return true; } } @@ -609,19 +604,15 @@ static boolean addLightModifier(ItemStack stack) { private static boolean addCamoModifier(ItemStack stack) { Item item = stack.getItem(); if (item instanceof ForceRodItem) { - ForceRodAttachment attachment = stack.getData(FORCE_ROD); - if (!attachment.hasCamoModifier()) { - attachment.setCamoModifier(true); + if (!stack.has(ForceComponents.ROD_CAMO)) { + stack.set(ForceComponents.ROD_CAMO, true); addInfusedTag(stack); - stack.setData(FORCE_ROD, attachment); return true; } } else if (item instanceof ForceArmorItem) { - ToolModifierAttachment attachment = stack.getData(TOOL_MODIFIER); - if (!attachment.hasCamo()) { - attachment.setCamo(true); + if (!stack.has(ForceComponents.TOOL_CAMO)) { + stack.set(ForceComponents.TOOL_CAMO, true); addInfusedTag(stack); - stack.setData(TOOL_MODIFIER, attachment); return true; } } @@ -630,11 +621,9 @@ private static boolean addCamoModifier(ItemStack stack) { private static boolean addSightModifier(ItemStack stack) { if (stack.getItem() instanceof ForceRodItem) { - ForceRodAttachment attachment = stack.getData(FORCE_ROD); - if (!attachment.hasSightModifier()) { - attachment.setSightModifier(true); + if (!stack.has(ForceComponents.ROD_SIGHT)) { + stack.set(ForceComponents.ROD_SIGHT, true); addInfusedTag(stack); - stack.setData(FORCE_ROD, attachment); return true; } } @@ -644,19 +633,15 @@ private static boolean addSightModifier(ItemStack stack) { static boolean addWingModifier(ItemStack stack) { Item item = stack.getItem(); if (item instanceof ForceSwordItem) { - ToolModifierAttachment attachment = stack.getData(TOOL_MODIFIER); - if (!attachment.hasWing()) { - attachment.setWing(true); + if (!stack.has(ForceComponents.TOOL_WING)) { + stack.set(ForceComponents.TOOL_WING, true); addInfusedTag(stack); - stack.setData(TOOL_MODIFIER, attachment); return true; } } else if (item instanceof ForceArmorItem) { - ToolModifierAttachment attachment = stack.getData(TOOL_MODIFIER); - if (!attachment.hasWing()) { - attachment.setWing(true); + if (!stack.has(ForceComponents.TOOL_WING)) { + stack.set(ForceComponents.TOOL_WING, true); addInfusedTag(stack); - stack.setData(TOOL_MODIFIER, attachment); return true; } } @@ -667,27 +652,24 @@ static boolean addWingModifier(ItemStack stack) { static boolean addBaneModifier(ItemStack stack) { Item item = stack.getItem(); if (item instanceof ForceSwordItem) { - ToolModifierAttachment attachment = stack.getData(TOOL_MODIFIER); - if (!attachment.hasBane()) { - attachment.setBane(1); + if (!stack.has(ForceComponents.TOOL_BANE)) { + stack.set(ForceComponents.TOOL_BANE, 1); addInfusedTag(stack); - stack.setData(TOOL_MODIFIER, attachment); + return true; } } else if (item instanceof ForceBowItem) { - ToolModifierAttachment attachment = stack.getData(TOOL_MODIFIER); - if (!attachment.hasBane()) { - attachment.setBane(1); + if (!stack.has(ForceComponents.TOOL_BANE)) { + stack.set(ForceComponents.TOOL_BANE, 1); addInfusedTag(stack); - stack.setData(TOOL_MODIFIER, attachment); + return true; } } else if (item instanceof ForceArmorItem) { - ToolModifierAttachment attachment = stack.getData(TOOL_MODIFIER); - if (!attachment.hasBane()) { - attachment.setBane(1); + if (!stack.has(ForceComponents.TOOL_BANE)) { + stack.set(ForceComponents.TOOL_BANE, 1); addInfusedTag(stack); - stack.setData(TOOL_MODIFIER, attachment); + return true; } } @@ -698,27 +680,27 @@ static boolean addBleedingModifier(ItemStack stack) { Item item = stack.getItem(); int MAX_CAP = ConfigHandler.COMMON.bleedCap.get(); if (item instanceof ForceSwordItem) { - ToolModifierAttachment attachment = stack.getData(TOOL_MODIFIER); - if (attachment.getBleedLevel() < MAX_CAP) { - attachment.incrementBleed(); + int currentBleed = stack.getOrDefault(ForceComponents.TOOL_BLEED, 0); + if (currentBleed < MAX_CAP) { + stack.set(ForceComponents.TOOL_BANE, currentBleed + 1); addInfusedTag(stack); - stack.setData(TOOL_MODIFIER, attachment); + return true; } } else if (item instanceof ForceBowItem) { - ToolModifierAttachment attachment = stack.getData(TOOL_MODIFIER); - if (attachment.getBleedLevel() < MAX_CAP) { - attachment.incrementBleed(); + int currentBleed = stack.getOrDefault(ForceComponents.TOOL_BLEED, 0); + if (currentBleed < MAX_CAP) { + stack.set(ForceComponents.TOOL_BANE, currentBleed + 1); addInfusedTag(stack); - stack.setData(TOOL_MODIFIER, attachment); + return true; } } else if (item instanceof ForceArmorItem) { - ToolModifierAttachment attachment = stack.getData(TOOL_MODIFIER); - if (attachment.getBleedLevel() < MAX_CAP) { - attachment.incrementBleed(); + int currentBleed = stack.getOrDefault(ForceComponents.TOOL_BLEED, 0); + if (currentBleed < MAX_CAP) { + stack.set(ForceComponents.TOOL_BANE, currentBleed + 1); addInfusedTag(stack); - stack.setData(TOOL_MODIFIER, attachment); + return true; } } @@ -728,27 +710,24 @@ static boolean addBleedingModifier(ItemStack stack) { static boolean addEnderModifier(ItemStack stack) { Item item = stack.getItem(); if (item instanceof ForceRodItem) { - ForceRodAttachment attachment = stack.getData(FORCE_ROD); - if (!attachment.isRodofEnder()) { - attachment.setEnderModifier(true); + if (!stack.has(ForceComponents.ROD_ENDER)) { + stack.set(ForceComponents.ROD_ENDER, true); addInfusedTag(stack); - stack.setData(FORCE_ROD, attachment); + return true; } } else if (item instanceof ForceSwordItem) { - ToolModifierAttachment attachment = stack.getData(TOOL_MODIFIER); - if (!attachment.hasEnder()) { - attachment.setEnder(true); + if (!stack.has(ForceComponents.TOOL_ENDER)) { + stack.set(ForceComponents.TOOL_ENDER, true); addInfusedTag(stack); - stack.setData(TOOL_MODIFIER, attachment); + return true; } } else if (item instanceof ForceBowItem) { - ToolModifierAttachment attachment = stack.getData(TOOL_MODIFIER); - if (!attachment.hasEnder()) { - attachment.setEnder(true); + if (!stack.has(ForceComponents.TOOL_ENDER)) { + stack.set(ForceComponents.TOOL_ENDER, true); addInfusedTag(stack); - stack.setData(TOOL_MODIFIER, attachment); + return true; } } @@ -757,11 +736,10 @@ static boolean addEnderModifier(ItemStack stack) { static boolean addFreezingModifier(ItemStack stack) { if (stack.getItem() instanceof ForceBowItem) { - ToolModifierAttachment attachment = stack.getData(TOOL_MODIFIER); - if (!attachment.hasFreezing()) { - attachment.setFreezing(true); + if (!stack.has(ForceComponents.TOOL_FREEZING)) { + stack.set(ForceComponents.TOOL_FREEZING, true); addInfusedTag(stack); - stack.setData(TOOL_MODIFIER, attachment); + return true; } } @@ -770,12 +748,12 @@ static boolean addFreezingModifier(ItemStack stack) { static boolean addHealingModifier(ItemStack stack) { if (stack.getItem() instanceof ForceRodItem) { - ForceRodAttachment attachment = stack.getData(FORCE_ROD); int MAX_CAP = ConfigHandler.COMMON.healingCap.get(); - if (attachment.getHealingLevel() < MAX_CAP) { - attachment.incrementHealing(); + int currentBleed = stack.getOrDefault(ForceComponents.ROD_HEALING, 0); + if (currentBleed < MAX_CAP) { + stack.set(ForceComponents.ROD_HEALING, currentBleed + 1); addInfusedTag(stack); - stack.setData(FORCE_ROD, attachment); + return true; } } @@ -784,11 +762,10 @@ static boolean addHealingModifier(ItemStack stack) { static boolean addLumberjackModifier(ItemStack stack) { if (stack.getItem() instanceof ForceAxeItem) { - ToolModifierAttachment attachment = stack.getData(TOOL_MODIFIER); - if (!attachment.hasLumberjack()) { - attachment.setLumberjack(true); + if (!stack.has(ForceComponents.TOOL_LUMBERJACK)) { + stack.set(ForceComponents.TOOL_LUMBERJACK, true); addInfusedTag(stack); - stack.setData(TOOL_MODIFIER, attachment); + return true; } } @@ -797,10 +774,9 @@ static boolean addLumberjackModifier(ItemStack stack) { static boolean addRainbowModifier(ItemStack stack) { if (stack.getItem() instanceof ForceShearsItem) { - ToolModifierAttachment attachment = stack.getData(TOOL_MODIFIER); - attachment.setRainbow(true); + stack.set(ForceComponents.TOOL_RAINBOW, true); addInfusedTag(stack); - stack.setData(TOOL_MODIFIER, attachment); + return true; } return false; @@ -808,11 +784,11 @@ static boolean addRainbowModifier(ItemStack stack) { static boolean addTreasureModifier(ItemStack stack) { if (stack.getItem() instanceof ForceSwordItem || stack.getItem() instanceof ForceAxeItem) { - ToolModifierAttachment attachment = stack.getData(TOOL_MODIFIER); - if (!attachment.hasTreasure()) { - attachment.setTreasure(true); + + if (!stack.has(ForceComponents.TOOL_TREASURE)) { + stack.set(ForceComponents.TOOL_TREASURE, true); addInfusedTag(stack); - stack.setData(TOOL_MODIFIER, attachment); + return true; } } @@ -826,12 +802,10 @@ static boolean upgradeBag(ItemStack stack, UpgradeBookData bd) { if (handler.canUpgrade(bd)) { handler.applyUpgrade(); - CompoundTag tag = stack.getOrCreateTag(); - tag.putInt(ForcePackItem.SLOTS_USED, ItemHandlerUtils.getUsedSlots(handler)); - tag.putInt(ForcePackItem.SLOTS_TOTAL, handler.getSlotsInUse()); - tag.putInt("BookTier", handler.getUpgrades()); + stack.set(ForceComponents.SLOTS_USED, ItemHandlerUtils.getUsedSlots(handler)); + stack.set(ForceComponents.SLOTS_TOTAL, handler.getSlotsInUse()); + stack.set(ForceComponents.PACK_TIER, handler.getUpgrades()); - stack.setTag(tag); return true; } return false; @@ -839,199 +813,195 @@ static boolean upgradeBag(ItemStack stack, UpgradeBookData bd) { return false; } - static boolean addSturdyModifier(ItemStack stack) { + static boolean addSturdyModifier(ItemStack stack, HolderLookup.Provider provider) { Item item = stack.getItem(); if (item instanceof ForceSwordItem || item instanceof ForceAxeItem || item instanceof ForceShovelItem || item instanceof ForcePickaxeItem || item instanceof ForceRodItem) { - ToolModifierAttachment attachment = stack.getData(TOOL_MODIFIER); - if (attachment.getSturdyLevel() < ConfigHandler.COMMON.sturdyToolCap.get()) { - attachment.incrementSturdy(); - EnchantUtils.incrementLevel(stack, Enchantments.UNBREAKING); + int getSturdylevel = stack.getOrDefault(ForceComponents.TOOL_STURDY, 0); + if (getSturdylevel < ConfigHandler.COMMON.sturdyToolCap.get()) { + stack.set(ForceComponents.TOOL_STURDY, getSturdylevel + 1); + EnchantUtils.incrementLevel(stack, provider.holderOrThrow(Enchantments.UNBREAKING)); addInfusedTag(stack); - stack.setData(TOOL_MODIFIER, attachment); + return true; } } else if (item instanceof ForceArmorItem) { - ToolModifierAttachment attachment = stack.getData(TOOL_MODIFIER); - if (attachment.getSturdyLevel() == 0) { - attachment.incrementSturdy(); + int getSturdylevel = stack.getOrDefault(ForceComponents.TOOL_STURDY, 0); + if (getSturdylevel == 0) { + stack.set(ForceComponents.TOOL_STURDY, getSturdylevel + 1); addInfusedTag(stack); - stack.setData(TOOL_MODIFIER, attachment); + return true; } } return false; } - static boolean addLuckModifier(ItemStack stack) { + static boolean addLuckModifier(ItemStack stack, HolderLookup.Provider provider) { Item item = stack.getItem(); int MAX_CAP = ConfigHandler.COMMON.luckCap.get(); if (item instanceof ForcePickaxeItem || item instanceof ForceShovelItem || item instanceof ForceAxeItem) { - ToolModifierAttachment attachment = stack.getData(TOOL_MODIFIER); - if (attachment.getLuckLevel() < MAX_CAP) { - attachment.incrementLuck(); - EnchantUtils.incrementLevel(stack, Enchantments.BLOCK_FORTUNE); + int currentLuck = stack.getOrDefault(ForceComponents.TOOL_LUCK, 0); + if (currentLuck < MAX_CAP) { + stack.set(ForceComponents.TOOL_LUCK, currentLuck + 1); + EnchantUtils.incrementLevel(stack, provider.holderOrThrow(Enchantments.FORTUNE)); addInfusedTag(stack); - stack.setData(TOOL_MODIFIER, attachment); + return true; } } else if (item instanceof ForceSwordItem) { - ToolModifierAttachment attachment = stack.getData(TOOL_MODIFIER); - if (attachment.getLuckLevel() < MAX_CAP) { - attachment.incrementLuck(); - EnchantUtils.incrementLevel(stack, Enchantments.MOB_LOOTING); + int currentLuck = stack.getOrDefault(ForceComponents.TOOL_LUCK, 0); + if (currentLuck < MAX_CAP) { + stack.set(ForceComponents.TOOL_LUCK, currentLuck + 1); + EnchantUtils.incrementLevel(stack, provider.holderOrThrow(Enchantments.LOOTING)); addInfusedTag(stack); - stack.setData(TOOL_MODIFIER, attachment); + return true; } } else if (item instanceof ForceBowItem) { - ToolModifierAttachment attachment = stack.getData(TOOL_MODIFIER); - if (attachment.getLuckLevel() < MAX_CAP) { - attachment.incrementLuck(); + int currentLuck = stack.getOrDefault(ForceComponents.TOOL_LUCK, 0); + if (currentLuck < MAX_CAP) { + stack.set(ForceComponents.TOOL_LUCK, currentLuck + 1); addInfusedTag(stack); - stack.setData(TOOL_MODIFIER, attachment); + return true; } } else if (item instanceof ForceArmorItem) { - ToolModifierAttachment attachment = stack.getData(TOOL_MODIFIER); - if (attachment.getLuckLevel() < MAX_CAP) { - attachment.incrementLuck(); + int currentLuck = stack.getOrDefault(ForceComponents.TOOL_LUCK, 0); + if (currentLuck < MAX_CAP) { + stack.set(ForceComponents.TOOL_LUCK, currentLuck + 1); addInfusedTag(stack); - stack.setData(TOOL_MODIFIER, attachment); + return true; } } return false; } - static boolean addDamageModifier(ItemStack stack) { + static boolean addDamageModifier(ItemStack stack, HolderLookup.Provider provider) { Item item = stack.getItem(); int MAX_CAP = ConfigHandler.COMMON.damageCap.get(); if (item instanceof ForceSwordItem) { - ToolModifierAttachment attachment = stack.getData(TOOL_MODIFIER); - if (attachment.getSharpLevel() < MAX_CAP) { - attachment.incrementSharp(); - EnchantUtils.incrementLevel(stack, Enchantments.SHARPNESS); + int currentSharpness = stack.getOrDefault(ForceComponents.TOOL_SHARPNESS, 0); + if (currentSharpness < MAX_CAP) { + stack.set(ForceComponents.TOOL_SHARPNESS, currentSharpness + 1); + EnchantUtils.incrementLevel(stack, provider.holderOrThrow(Enchantments.SHARPNESS)); addInfusedTag(stack); - stack.setData(TOOL_MODIFIER, attachment); + return true; } } else if (item instanceof ForceBowItem) { - ToolModifierAttachment attachment = stack.getData(TOOL_MODIFIER); - if (attachment.getSharpLevel() < MAX_CAP) { - attachment.incrementSharp(); - EnchantUtils.incrementLevel(stack, Enchantments.POWER_ARROWS); + int currentSharpness = stack.getOrDefault(ForceComponents.TOOL_SHARPNESS, 0); + if (currentSharpness < MAX_CAP) { + stack.set(ForceComponents.TOOL_SHARPNESS, currentSharpness + 1); + EnchantUtils.incrementLevel(stack, provider.holderOrThrow(Enchantments.POWER)); addInfusedTag(stack); - stack.setData(TOOL_MODIFIER, attachment); + return true; } } else if (item instanceof ForceArmorItem) { - ToolModifierAttachment attachment = stack.getData(TOOL_MODIFIER); - if (attachment.getSharpLevel() < 1) { - attachment.incrementSharp(); + int currentSharpness = stack.getOrDefault(ForceComponents.TOOL_SHARPNESS, 0); + if (currentSharpness < 1) { + stack.set(ForceComponents.TOOL_SHARPNESS, currentSharpness + 1); addInfusedTag(stack); - stack.setData(TOOL_MODIFIER, attachment); + return true; } } return false; } - static boolean addSilkTouchModifier(ItemStack stack) { + static boolean addSilkTouchModifier(ItemStack stack, HolderLookup.Provider provider) { Item item = stack.getItem(); if (item instanceof ForceAxeItem || item instanceof ForceShovelItem || item instanceof ForcePickaxeItem) { - ToolModifierAttachment attachment = stack.getData(TOOL_MODIFIER); - if (!attachment.hasSilk()) { - attachment.setSilk(true); - stack.enchant(Enchantments.SILK_TOUCH, 1); + if (!stack.has(ForceComponents.TOOL_SILK)) { + stack.set(ForceComponents.TOOL_SILK, true); + stack.enchant(provider.holderOrThrow(Enchantments.SILK_TOUCH), 1); addInfusedTag(stack); - stack.setData(TOOL_MODIFIER, attachment); + return true; } } return false; } - static boolean addForceModifier(ItemStack stack) { + static boolean addForceModifier(ItemStack stack, HolderLookup.Provider provider) { Item item = stack.getItem(); int MAX_CAP = ConfigHandler.COMMON.forceCap.get(); if (item instanceof ForceSwordItem || item instanceof ForceAxeItem) { - ToolModifierAttachment attachment = stack.getData(TOOL_MODIFIER); - if (attachment.getForceLevel() < MAX_CAP) { - attachment.incrementForce(); - EnchantUtils.incrementLevel(stack, Enchantments.KNOCKBACK); + int currentForce = stack.getOrDefault(ForceComponents.TOOL_FORCE, 0); + if (currentForce < MAX_CAP) { + stack.set(ForceComponents.TOOL_FORCE, currentForce + 1); + EnchantUtils.incrementLevel(stack, provider.holderOrThrow(Enchantments.KNOCKBACK)); addInfusedTag(stack); - stack.setData(TOOL_MODIFIER, attachment); + return true; } } return false; } - static boolean addHeatModifier(ItemStack stack) { + static boolean addHeatModifier(ItemStack stack, HolderLookup.Provider provider) { Item item = stack.getItem(); if (item instanceof ForceShovelItem || item instanceof ForcePickaxeItem || item instanceof ForceShearsItem) { - ToolModifierAttachment attachment = stack.getData(TOOL_MODIFIER); - if (!attachment.hasHeat()) { - attachment.setHeat(true); + if (!stack.has(ForceComponents.TOOL_HEAT)) { + stack.set(ForceComponents.TOOL_HEAT, true); addInfusedTag(stack); - stack.setData(TOOL_MODIFIER, attachment); + return true; } } else if (item instanceof ForceSwordItem || item instanceof ForceAxeItem) { - ToolModifierAttachment attachment = stack.getData(TOOL_MODIFIER); - if (!attachment.hasHeat()) { - stack.enchant(Enchantments.FIRE_ASPECT, 1); - attachment.setHeat(true); + if (!stack.has(ForceComponents.TOOL_HEAT)) { + stack.set(ForceComponents.TOOL_HEAT, true); + stack.enchant(provider.holderOrThrow(Enchantments.FIRE_ASPECT), 1); addInfusedTag(stack); - stack.setData(TOOL_MODIFIER, attachment); + return true; } } else if (item instanceof ForceArmorItem) { - ToolModifierAttachment attachment = stack.getData(TOOL_MODIFIER); - if (!attachment.hasHeat()) { - attachment.setHeat(true); + if (!stack.has(ForceComponents.TOOL_HEAT)) { + stack.set(ForceComponents.TOOL_HEAT, true); addInfusedTag(stack); - stack.setData(TOOL_MODIFIER, attachment); + return true; } } return false; } - static boolean addSpeedModifier(ItemStack stack) { + static boolean addSpeedModifier(ItemStack stack, HolderLookup.Provider provider) { Item item = stack.getItem(); int MAX_CAP = ConfigHandler.COMMON.speedCap.get(); if (item instanceof ForceShovelItem || item instanceof ForcePickaxeItem || item instanceof ForceAxeItem) { - ToolModifierAttachment attachment = stack.getData(TOOL_MODIFIER); - if (attachment.getSpeedLevel() < MAX_CAP) { - attachment.incrementSpeed(); - EnchantUtils.incrementLevel(stack, Enchantments.BLOCK_EFFICIENCY); + int currentSpeed = stack.getOrDefault(ForceComponents.TOOL_SPEED, 0); + if (currentSpeed < MAX_CAP) { + stack.set(ForceComponents.TOOL_SPEED, currentSpeed + 1); + EnchantUtils.incrementLevel(stack, provider.holderOrThrow(Enchantments.EFFICIENCY)); addInfusedTag(stack); - stack.setData(TOOL_MODIFIER, attachment); + return true; } } else if (item instanceof ForceBowItem) { - ToolModifierAttachment attachment = stack.getData(TOOL_MODIFIER); - if (attachment.getSpeedLevel() < 1) { - attachment.incrementSpeed(); + int currentSpeed = stack.getOrDefault(ForceComponents.TOOL_SPEED, 0); + if (currentSpeed < 1) { + stack.set(ForceComponents.TOOL_SPEED, currentSpeed + 1); addInfusedTag(stack); - stack.setData(TOOL_MODIFIER, attachment); + return true; } } else if (item instanceof ForceArmorItem) { - ToolModifierAttachment attachment = stack.getData(TOOL_MODIFIER); - if (attachment.getSpeedLevel() < 1) { - attachment.incrementSpeed(); + int currentSpeed = stack.getOrDefault(ForceComponents.TOOL_SPEED, 0); + if (currentSpeed < 1) { + stack.set(ForceComponents.TOOL_SPEED, currentSpeed + 1); addInfusedTag(stack); - stack.setData(TOOL_MODIFIER, attachment); + return true; } } else if (item instanceof ForceRodItem) { - ForceRodAttachment attachment = stack.getData(FORCE_ROD); - if (attachment.getSpeedLevel() < ConfigHandler.COMMON.rodSpeedCap.get()) { - attachment.incrementSpeed(); + int currentSpeed = stack.getOrDefault(ForceComponents.TOOL_SPEED, 0); + if (currentSpeed < ConfigHandler.COMMON.rodSpeedCap.get()) { + stack.set(ForceComponents.TOOL_SPEED, currentSpeed + 1); addInfusedTag(stack); - stack.setData(FORCE_ROD, attachment); + return true; } } @@ -1039,18 +1009,14 @@ static boolean addSpeedModifier(ItemStack stack) { } static void addInfusedTag(ItemStack stack) { - CompoundTag tag = stack.getOrCreateTag(); - if (!tag.contains("ForceInfused")) { - tag.putBoolean("ForceInfused", true); - stack.setTag(tag); - } + stack.set(ForceComponents.FORCE_INFUSED, true); } public int fill(FluidStack resource, FluidAction action) { FluidStack resourceCopy = resource.copy(); if (action.execute()) { - if (tank.getFluid().isEmpty() || tank.getFluid().isFluidEqual(resource)) { + if (tank.getFluid().isEmpty() || FluidStack.isSameFluidSameComponents(tank.getFluid(), resource)) { tank.fill(resourceCopy, action); } } @@ -1104,7 +1070,7 @@ public boolean allSlotsMatchRecipe() { ItemStack modifier = getModifier(i); if (modifier.isEmpty()) continue; - if (recipe.matchesModifier(this, modifier, false)) { + if (recipe.matchesModifier(new RecipeWrapper(this.handler), modifier, false)) { foundMatch = true; amountFound++; requiredForce += FLUID_COST_PER; @@ -1125,7 +1091,7 @@ public boolean allSlotsMatchRecipe() { public int getBookTier() { if (!getBookInSlot().isEmpty()) { - return new UpgradeBookData(this.getBookInSlot()).getTier().ordinal(); + return this.getBookInSlot().getOrDefault(ForceComponents.UPGRADE_BOOK, UpgradeBookData.DEFAULT).tier().ordinal(); } return 0; } @@ -1237,7 +1203,7 @@ public static boolean addRecipe(RecipeHolder holder) { if (!LEVEL_RECIPE_LIST.containsKey(thisTier)) { LEVEL_RECIPE_LIST.put(thisTier, new ArrayList<>()); } - LEVEL_RECIPE_LIST.get(thisTier).add(recipe); + LEVEL_RECIPE_LIST.get(thisTier).add(id); HASHES.add(id.toString()); ForceCraft.LOGGER.info("Recipe loaded {} -> {} , {}", id.toString(), recipe.getModifier(), recipe.getIngredient()); return true; diff --git a/src/main/java/com/mrbysco/forcecraft/blockentities/InfuserModifierType.java b/src/main/java/com/mrbysco/forcecraft/blockentities/InfuserModifierType.java index 084d2f22..56ab067f 100644 --- a/src/main/java/com/mrbysco/forcecraft/blockentities/InfuserModifierType.java +++ b/src/main/java/com/mrbysco/forcecraft/blockentities/InfuserModifierType.java @@ -11,6 +11,7 @@ import com.mrbysco.forcecraft.items.tools.ForceRodItem; import com.mrbysco.forcecraft.items.tools.ForceShovelItem; import com.mrbysco.forcecraft.items.tools.ForceSwordItem; +import net.minecraft.core.HolderLookup; import net.minecraft.util.StringRepresentable; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; @@ -22,30 +23,30 @@ public enum InfuserModifierType implements StringRepresentable { // pack is for upgrades, item gives crafting results PACK1, PACK2, PACK3, PACK4, GRINDING, FREEZING, EXP, STORAGE, SIGHT, TREASURE, ITEM; - public boolean apply(ItemStack tool, ItemStack mod, UpgradeBookData bd) { + public boolean apply(ItemStack tool, ItemStack mod, UpgradeBookData bd, HolderLookup.Provider provider) { switch (this) { case DAMAGE: // claw item - return InfuserBlockEntity.addDamageModifier(tool); + return InfuserBlockEntity.addDamageModifier(tool, provider); case ENDER: return InfuserBlockEntity.addEnderModifier(tool); case FORCE: - return InfuserBlockEntity.addForceModifier(tool); + return InfuserBlockEntity.addForceModifier(tool, provider); case HEALING: return InfuserBlockEntity.addHealingModifier(tool); case HEAT: - return InfuserBlockEntity.addHeatModifier(tool); + return InfuserBlockEntity.addHeatModifier(tool, provider); case LIGHT: return InfuserBlockEntity.addLightModifier(tool); case FORTUNE: - return InfuserBlockEntity.addLuckModifier(tool); + return InfuserBlockEntity.addLuckModifier(tool, provider); case LUMBERJACK: return InfuserBlockEntity.addLumberjackModifier(tool); case SILK: - return InfuserBlockEntity.addSilkTouchModifier(tool); + return InfuserBlockEntity.addSilkTouchModifier(tool, provider); case SPEED: - return InfuserBlockEntity.addSpeedModifier(tool); + return InfuserBlockEntity.addSpeedModifier(tool, provider); case STURDY: - return InfuserBlockEntity.addSturdyModifier(tool); + return InfuserBlockEntity.addSturdyModifier(tool, provider); case CAMO: return InfuserBlockEntity.applyCamo(tool, mod); case BANE: diff --git a/src/main/java/com/mrbysco/forcecraft/blockentities/TimeTorchBlockEntity.java b/src/main/java/com/mrbysco/forcecraft/blockentities/TimeTorchBlockEntity.java index b7488c10..28b5f161 100644 --- a/src/main/java/com/mrbysco/forcecraft/blockentities/TimeTorchBlockEntity.java +++ b/src/main/java/com/mrbysco/forcecraft/blockentities/TimeTorchBlockEntity.java @@ -5,6 +5,7 @@ import com.mrbysco.forcecraft.config.ConfigHandler; import com.mrbysco.forcecraft.registry.ForceRegistry; import net.minecraft.core.BlockPos; +import net.minecraft.core.HolderLookup; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.Connection; import net.minecraft.network.protocol.game.ClientboundBlockEntityDataPacket; @@ -70,11 +71,11 @@ private void tickBlock(@Nonnull BlockPos pos) { return; - if (block.isRandomlyTicking(blockState) && !level.isClientSide) { + if (blockState.isRandomlyTicking() && !level.isClientSide) { for (int i = 0; i < this.speed; i++) { if (getLevel().getBlockState(pos) != blockState) break; if (getLevel().random.nextBoolean()) - block.randomTick(blockState, (ServerLevel) this.level, pos, level.random); + blockState.randomTick((ServerLevel) this.level, pos, level.random); } } @@ -94,14 +95,14 @@ private void tickBlock(@Nonnull BlockPos pos) { } @Override - public void saveAdditional(CompoundTag tag) { - super.saveAdditional(tag); + public void saveAdditional(CompoundTag tag, HolderLookup.Provider registries) { + super.saveAdditional(tag, registries); tag.putInt("Speed", this.speed); } @Override - public void load(CompoundTag tag) { - super.load(tag); + public void loadAdditional(CompoundTag tag, HolderLookup.Provider registries) { + super.loadAdditional(tag, registries); if (tag.contains("Speed")) this.speed = tag.getInt("Speed"); } @@ -112,26 +113,26 @@ public ClientboundBlockEntityDataPacket getUpdatePacket() { } @Override - public void onDataPacket(Connection net, ClientboundBlockEntityDataPacket packet) { - this.load(packet.getTag()); + public void onDataPacket(Connection net, ClientboundBlockEntityDataPacket pkt, HolderLookup.Provider lookupProvider) { + super.onDataPacket(net, pkt, lookupProvider); } @Override - public CompoundTag getUpdateTag() { + public CompoundTag getUpdateTag(HolderLookup.Provider registries) { CompoundTag tag = new CompoundTag(); - this.saveAdditional(tag); + this.saveAdditional(tag, registries); return tag; } @Override - public void handleUpdateTag(CompoundTag tag) { - this.load(tag); + public void handleUpdateTag(CompoundTag tag, HolderLookup.Provider registries) { + this.loadAdditional(tag, registries); } @Override public CompoundTag getPersistentData() { CompoundTag tag = new CompoundTag(); - this.saveAdditional(tag); + this.saveAdditional(tag, this.level.registryAccess()); return tag; } } diff --git a/src/main/java/com/mrbysco/forcecraft/blockentities/furnace/AbstractForceFurnaceBlockEntity.java b/src/main/java/com/mrbysco/forcecraft/blockentities/furnace/AbstractForceFurnaceBlockEntity.java index 6d11da8b..d7d268b3 100644 --- a/src/main/java/com/mrbysco/forcecraft/blockentities/furnace/AbstractForceFurnaceBlockEntity.java +++ b/src/main/java/com/mrbysco/forcecraft/blockentities/furnace/AbstractForceFurnaceBlockEntity.java @@ -11,6 +11,7 @@ import it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; import net.minecraft.core.NonNullList; import net.minecraft.core.particles.ParticleTypes; import net.minecraft.core.registries.BuiltInRegistries; @@ -34,6 +35,7 @@ import net.minecraft.world.item.crafting.Recipe; import net.minecraft.world.item.crafting.RecipeHolder; import net.minecraft.world.item.crafting.RecipeType; +import net.minecraft.world.item.crafting.SingleRecipeInput; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.AbstractFurnaceBlock; import net.minecraft.world.level.block.Blocks; @@ -48,6 +50,7 @@ import net.neoforged.neoforge.items.IItemHandler; import net.neoforged.neoforge.items.ItemHandlerHelper; import net.neoforged.neoforge.items.ItemStackHandler; +import net.neoforged.neoforge.items.wrapper.RecipeWrapper; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -105,13 +108,13 @@ public ItemStack extractItem(int slot, int amount, boolean simulate) { }; protected static final List hopperBlacklist = List.of( - new ResourceLocation("hopper"), - new ResourceLocation("cyclic", "hopper"), - new ResourceLocation("cyclic", "hopper_gold"), - new ResourceLocation("cyclic", "hopper_fluid"), - new ResourceLocation("uppers", "upper"), - new ResourceLocation("goldenhopper", "golden_hopper"), - new ResourceLocation("woodenhopper", "wooden_hopper") + ResourceLocation.withDefaultNamespace("hopper"), + ResourceLocation.fromNamespaceAndPath("cyclic", "hopper"), + ResourceLocation.fromNamespaceAndPath("cyclic", "hopper_gold"), + ResourceLocation.fromNamespaceAndPath("cyclic", "hopper_fluid"), + ResourceLocation.fromNamespaceAndPath("uppers", "upper"), + ResourceLocation.fromNamespaceAndPath("goldenhopper", "golden_hopper"), + ResourceLocation.fromNamespaceAndPath("woodenhopper", "wooden_hopper") ); protected int litTime; @@ -199,10 +202,11 @@ public int getXPMultiplier() { protected RecipeHolder getRecipe() { ItemStack input = this.getItem(INPUT_SLOT); if (input.isEmpty() || input == failedMatch || level == null) return null; - if (currentRecipe != null && currentRecipe.value().matches(this, level) && currentRecipe.value().getType() == getRecipeType()) + if (currentRecipe != null && currentRecipe.value().matches(new SingleRecipeInput(this.handler.getStackInSlot(INPUT_SLOT)), level) && currentRecipe.value().getType() == getRecipeType()) return currentRecipe; else { - RecipeHolder rec = level.getRecipeManager().getRecipeFor(this.getRecipeType(), this, this.level).orElse(null); + RecipeHolder rec = level.getRecipeManager().getRecipeFor(this.getRecipeType(), + new SingleRecipeInput(this.handler.getStackInSlot(INPUT_SLOT)), this.level).orElse(null); if (rec == null) failedMatch = input; else failedMatch = ItemStack.EMPTY; return currentRecipe = rec; @@ -213,11 +217,11 @@ protected boolean isLit() { return this.litTime > 0; } - public void load(CompoundTag tag) { - super.load(tag); + protected void loadAdditional(CompoundTag tag, HolderLookup.Provider registries) { + super.loadAdditional(tag, registries); - this.upgradeHandler.deserializeNBT(tag.getCompound("UpgradeHandler")); - this.handler.deserializeNBT(tag.getCompound("ItemStackHandler")); + this.upgradeHandler.deserializeNBT(registries, tag.getCompound("UpgradeHandler")); + this.handler.deserializeNBT(registries, tag.getCompound("ItemStackHandler")); this.litTime = tag.getInt("BurnTime"); this.burnSpeed = tag.getInt("BurnSpeed"); @@ -228,13 +232,13 @@ public void load(CompoundTag tag) { CompoundTag recipesUsed = tag.getCompound("RecipesUsed"); for (String s : recipesUsed.getAllKeys()) { - this.recipes.put(new ResourceLocation(s), recipesUsed.getInt(s)); + this.recipes.put(ResourceLocation.parse(s), recipesUsed.getInt(s)); } } @Override - protected void saveAdditional(CompoundTag compound) { - super.saveAdditional(compound); + protected void saveAdditional(CompoundTag compound, HolderLookup.Provider registries) { + super.saveAdditional(compound, registries); compound.putInt("BurnTime", this.litTime); compound.putInt("BurnSpeed", this.burnSpeed); compound.putInt("CookTime", this.cookingProgress); @@ -242,8 +246,8 @@ protected void saveAdditional(CompoundTag compound) { compound.putInt("BurnTimeTotal", this.litDuration); compound.putInt("CookSpeed", this.cookingSpeed); - compound.put("UpgradeHandler", upgradeHandler.serializeNBT()); - compound.put("ItemStackHandler", handler.serializeNBT()); + compound.put("UpgradeHandler", upgradeHandler.serializeNBT(registries)); + compound.put("ItemStackHandler", handler.serializeNBT(registries)); CompoundTag recipesUsed = new CompoundTag(); this.recipes.forEach((recipeId, craftedAmount) -> recipesUsed.putInt(recipeId.toString(), craftedAmount)); compound.put("RecipesUsed", recipesUsed); @@ -464,7 +468,7 @@ protected int getCookingProgress() { RecipeHolder rec = getRecipe(); if (rec == null) - return this.level.getRecipeManager().getRecipeFor(this.getRecipeType(), this, this.level).map(RecipeHolder::value).map(AbstractCookingRecipe::getCookingTime).orElse(100); + return this.level.getRecipeManager().getRecipeFor(this.getRecipeType(), new SingleRecipeInput(this.handler.getStackInSlot(INPUT_SLOT)), this.level).map(RecipeHolder::value).map(AbstractCookingRecipe::getCookingTime).orElse(100); return rec.value().getCookingTime(); } @@ -507,6 +511,20 @@ public int getContainerSize() { return this.handler.getSlots(); } + protected NonNullList getItems() { + NonNullList stacks = NonNullList.withSize(this.handler.getSlots(), ItemStack.EMPTY); + for (int i = 0; i < this.handler.getSlots(); i++) { + stacks.set(i, this.handler.getStackInSlot(i)); + } + return stacks; + } + + protected void setItems(NonNullList items) { + for (int i = 0; i < this.handler.getSlots(); i++) { + this.handler.setStackInSlot(i, items.get(i)); + } + } + public boolean isEmpty() { for (int i = 0; i < handler.getSlots(); i++) { if (!handler.getStackInSlot(i).isEmpty()) { @@ -543,7 +561,7 @@ public ItemStack removeItemNoUpdate(int index) { */ public void setItem(int index, ItemStack stack) { ItemStack itemstack = this.handler.getStackInSlot(index); - boolean flag = handler.isItemValid(index, stack) && !stack.isEmpty() && ItemStack.isSameItemSameTags(stack, itemstack); + boolean flag = handler.isItemValid(index, stack) && !stack.isEmpty() && ItemStack.isSameItemSameComponents(stack, itemstack); this.handler.setStackInSlot(index, stack); if (stack.getCount() > handler.getSlotLimit(index)) { stack.setCount(handler.getSlotLimit(index)); diff --git a/src/main/java/com/mrbysco/forcecraft/blockentities/furnace/ForceFurnaceBlockEntity.java b/src/main/java/com/mrbysco/forcecraft/blockentities/furnace/ForceFurnaceBlockEntity.java index af9ec6bd..cf144102 100644 --- a/src/main/java/com/mrbysco/forcecraft/blockentities/furnace/ForceFurnaceBlockEntity.java +++ b/src/main/java/com/mrbysco/forcecraft/blockentities/furnace/ForceFurnaceBlockEntity.java @@ -4,9 +4,11 @@ import com.mrbysco.forcecraft.menu.furnace.ForceFurnaceMenu; import com.mrbysco.forcecraft.registry.ForceRegistry; import net.minecraft.core.BlockPos; +import net.minecraft.core.NonNullList; import net.minecraft.network.chat.Component; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.inventory.AbstractContainerMenu; +import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.block.state.BlockState; public class ForceFurnaceBlockEntity extends AbstractForceFurnaceBlockEntity { diff --git a/src/main/java/com/mrbysco/forcecraft/blocks/ForceFluidBlock.java b/src/main/java/com/mrbysco/forcecraft/blocks/ForceFluidBlock.java index 5399c1b6..9adaaa9a 100644 --- a/src/main/java/com/mrbysco/forcecraft/blocks/ForceFluidBlock.java +++ b/src/main/java/com/mrbysco/forcecraft/blocks/ForceFluidBlock.java @@ -5,12 +5,12 @@ import com.mrbysco.forcecraft.entities.IColdMob; import com.mrbysco.forcecraft.registry.ForceEffects; import net.minecraft.core.BlockPos; +import net.minecraft.tags.EntityTypeTags; import net.minecraft.world.effect.MobEffectInstance; import net.minecraft.world.effect.MobEffects; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.MobCategory; -import net.minecraft.world.entity.MobType; import net.minecraft.world.entity.animal.Sheep; import net.minecraft.world.entity.monster.Zombie; import net.minecraft.world.entity.player.Player; @@ -21,12 +21,10 @@ import net.minecraft.world.level.material.FlowingFluid; import net.neoforged.neoforge.common.IShearable; -import java.util.function.Supplier; - public class ForceFluidBlock extends LiquidBlock { - public ForceFluidBlock(Supplier supplier, Properties properties) { - super(supplier, properties); + public ForceFluidBlock(FlowingFluid fluid, Properties properties) { + super(fluid, properties); } @Override @@ -35,9 +33,11 @@ public void entityInside(BlockState state, Level level, BlockPos pos, Entity ent if (livingEntity instanceof Player player) { if (player.getHealth() < player.getMaxHealth()) { - player.addEffect(new MobEffectInstance(MobEffects.REGENERATION, 10, ConfigHandler.COMMON.liquidRegenLevel.get(), false, false)); + player.addEffect(new MobEffectInstance(MobEffects.REGENERATION, 10, + ConfigHandler.COMMON.liquidRegenLevel.get(), false, false)); if (ConfigHandler.COMMON.enableForceShake.get()) { - player.addEffect(new MobEffectInstance(ForceEffects.SHAKING.get(), 10, 0, false, false)); + player.addEffect(new MobEffectInstance(ForceEffects.SHAKING, 10, 0, + false, false)); } } } else { @@ -52,11 +52,10 @@ public void entityInside(BlockState state, Level level, BlockPos pos, Entity ent held.shrink(held.getMaxStackSize()); } } - MobType creatureAttribute = livingEntity.getMobType(); MobCategory classification = livingEntity.getClassification(false); boolean secondPassed = level.getGameTime() % 20 == 0; if (classification == MobCategory.MONSTER) { - if (creatureAttribute == MobType.UNDEAD && level.getGameTime() % 10 == 0) { + if (livingEntity.getType().is(EntityTypeTags.UNDEAD) && level.getGameTime() % 10 == 0) { livingEntity.hurt(Reference.causeLiquidForceDamage(livingEntity), 1.0F); } } else { diff --git a/src/main/java/com/mrbysco/forcecraft/blocks/ForceFurnaceBlock.java b/src/main/java/com/mrbysco/forcecraft/blocks/ForceFurnaceBlock.java index 12254b48..3532738b 100644 --- a/src/main/java/com/mrbysco/forcecraft/blocks/ForceFurnaceBlock.java +++ b/src/main/java/com/mrbysco/forcecraft/blocks/ForceFurnaceBlock.java @@ -3,10 +3,12 @@ import com.mojang.serialization.MapCodec; import com.mrbysco.forcecraft.blockentities.furnace.AbstractForceFurnaceBlockEntity; import com.mrbysco.forcecraft.blockentities.furnace.ForceFurnaceBlockEntity; +import com.mrbysco.forcecraft.components.ForceComponents; import com.mrbysco.forcecraft.items.UpgradeCoreItem; import com.mrbysco.forcecraft.registry.ForceRegistry; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.core.component.DataComponents; import net.minecraft.core.particles.ParticleTypes; import net.minecraft.server.level.ServerLevel; import net.minecraft.sounds.SoundEvents; @@ -142,15 +144,9 @@ public static void spawnItemStack(Level level, double x, double y, double z, Ite public void setPlacedBy(Level level, BlockPos pos, BlockState state, LivingEntity placer, ItemStack stack) { BlockEntity blockentity = level.getBlockEntity(pos); if (blockentity instanceof AbstractForceFurnaceBlockEntity furnaceTile) { - - if (stack.hasCustomHoverName()) { - furnaceTile.setCustomName(stack.getHoverName()); - } // inventory step - - if (stack.getTag() != null && stack.getTag().contains(NBT_UPGRADE)) { - ItemStack upgrade = ItemStack.of(stack.getTag().getCompound(NBT_UPGRADE)); - furnaceTile.setUpgrade(upgrade); + if (stack.has(ForceComponents.FURNACE_UPGRADE)) { + furnaceTile.setUpgrade(stack.getOrDefault(ForceComponents.FURNACE_UPGRADE, ItemStack.EMPTY)); } } } diff --git a/src/main/java/com/mrbysco/forcecraft/blocks/engine/ForceEngineBlock.java b/src/main/java/com/mrbysco/forcecraft/blocks/engine/ForceEngineBlock.java index df6aa812..461df7c6 100644 --- a/src/main/java/com/mrbysco/forcecraft/blocks/engine/ForceEngineBlock.java +++ b/src/main/java/com/mrbysco/forcecraft/blocks/engine/ForceEngineBlock.java @@ -10,8 +10,9 @@ import net.minecraft.util.RandomSource; import net.minecraft.world.Containers; 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.item.context.BlockPlaceContext; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.Level; @@ -111,13 +112,14 @@ protected MapCodec codec() { } @Override - public InteractionResult use(BlockState state, Level level, BlockPos pos, Player player, InteractionHand handIn, BlockHitResult hit) { + protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, + Player player, InteractionHand hand, BlockHitResult hitResult) { BlockEntity blockentity = level.getBlockEntity(pos); if (blockentity instanceof ForceEngineBlockEntity) { - IFluidHandler handler = level.getCapability(Capabilities.FluidHandler.BLOCK, pos, hit.getDirection()); + IFluidHandler handler = level.getCapability(Capabilities.FluidHandler.BLOCK, pos, hitResult.getDirection()); if (handler != null) { - if (player.getItemInHand(handIn).getCapability(Capabilities.FluidHandler.ITEM) != null) { - FluidUtil.interactWithFluidHandler(player, handIn, level, pos, hit.getDirection()); + if (player.getItemInHand(hand).getCapability(Capabilities.FluidHandler.ITEM) != null) { + FluidUtil.interactWithFluidHandler(player, hand, level, pos, hitResult.getDirection()); } else { if (!level.isClientSide) { player.openMenu((ForceEngineBlockEntity) blockentity, pos); @@ -125,9 +127,9 @@ public InteractionResult use(BlockState state, Level level, BlockPos pos, Player } } - return InteractionResult.SUCCESS; + return ItemInteractionResult.SUCCESS; } - return InteractionResult.PASS; + return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; } @Override diff --git a/src/main/java/com/mrbysco/forcecraft/blocks/flammable/FlammableStairs.java b/src/main/java/com/mrbysco/forcecraft/blocks/flammable/FlammableStairs.java index 0494e922..81e1d079 100644 --- a/src/main/java/com/mrbysco/forcecraft/blocks/flammable/FlammableStairs.java +++ b/src/main/java/com/mrbysco/forcecraft/blocks/flammable/FlammableStairs.java @@ -12,7 +12,7 @@ public class FlammableStairs extends StairBlock { public final int fireSpreadSpeed; public final int flammability; - public FlammableStairs(Supplier state, Properties properties, int spreadSpeed, int flammability) { + public FlammableStairs(BlockState state, Properties properties, int spreadSpeed, int flammability) { super(state, properties); this.fireSpreadSpeed = spreadSpeed; this.flammability = flammability; diff --git a/src/main/java/com/mrbysco/forcecraft/blocks/infuser/InfuserBlock.java b/src/main/java/com/mrbysco/forcecraft/blocks/infuser/InfuserBlock.java index e83f3cc9..a1e72e33 100644 --- a/src/main/java/com/mrbysco/forcecraft/blocks/infuser/InfuserBlock.java +++ b/src/main/java/com/mrbysco/forcecraft/blocks/infuser/InfuserBlock.java @@ -10,7 +10,9 @@ import net.minecraft.world.Containers; 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; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.BaseEntityBlock; @@ -84,23 +86,24 @@ public RenderShape getRenderShape(BlockState state) { } @Override - public InteractionResult use(BlockState state, Level level, BlockPos pos, Player playerIn, InteractionHand handIn, BlockHitResult hit) { + protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, + Player player, InteractionHand hand, BlockHitResult hitResult) { BlockEntity blockentity = level.getBlockEntity(pos); if (blockentity instanceof InfuserBlockEntity infuserBE) { - IFluidHandler handler = level.getCapability(Capabilities.FluidHandler.BLOCK, pos, hit.getDirection()); + IFluidHandler handler = level.getCapability(Capabilities.FluidHandler.BLOCK, pos, hitResult.getDirection()); if (handler != null) { - if (playerIn.getItemInHand(handIn).getCapability(Capabilities.FluidHandler.ITEM) != null) { - FluidUtil.interactWithFluidHandler(playerIn, handIn, level, pos, hit.getDirection()); + if (player.getItemInHand(hand).getCapability(Capabilities.FluidHandler.ITEM) != null) { + FluidUtil.interactWithFluidHandler(player, hand, level, pos, hitResult.getDirection()); } else { if (!level.isClientSide) { - playerIn.openMenu(infuserBE, pos); + player.openMenu(infuserBE, pos); } } } - return InteractionResult.SUCCESS; + return ItemInteractionResult.SUCCESS; } - return InteractionResult.PASS; + return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; } @SuppressWarnings("deprecation") diff --git a/src/main/java/com/mrbysco/forcecraft/capability/CapabilityHandler.java b/src/main/java/com/mrbysco/forcecraft/capability/CapabilityHandler.java index 5c776b99..be6495e0 100644 --- a/src/main/java/com/mrbysco/forcecraft/capability/CapabilityHandler.java +++ b/src/main/java/com/mrbysco/forcecraft/capability/CapabilityHandler.java @@ -1,14 +1,15 @@ package com.mrbysco.forcecraft.capability; -import com.mrbysco.forcecraft.attachment.storage.StorageManager; import com.mrbysco.forcecraft.blockentities.ForceEngineBlockEntity; import com.mrbysco.forcecraft.blockentities.InfuserBlockEntity; +import com.mrbysco.forcecraft.components.ForceComponents; +import com.mrbysco.forcecraft.components.storage.StorageManager; import com.mrbysco.forcecraft.items.flask.FlaskFluidHandler; import com.mrbysco.forcecraft.registry.ForceRegistry; import net.neoforged.neoforge.capabilities.Capabilities; import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent; import net.neoforged.neoforge.fluids.capability.wrappers.FluidBucketWrapper; -import net.neoforged.neoforge.items.ItemStackHandler; +import net.neoforged.neoforge.items.ComponentItemHandler; import net.neoforged.neoforge.items.wrapper.InvWrapper; import net.neoforged.neoforge.items.wrapper.SidedInvWrapper; @@ -25,16 +26,21 @@ public static void registerCapabilities(RegisterCapabilitiesEvent event) { event.registerBlockEntity(Capabilities.ItemHandler.BLOCK, ForceRegistry.FORCE_ENGINE_BLOCK_ENTITY.get(), ForceEngineBlockEntity::getItemHandler); event.registerBlockEntity(Capabilities.FluidHandler.BLOCK, ForceRegistry.FORCE_ENGINE_BLOCK_ENTITY.get(), ForceEngineBlockEntity::getFluidTank); - event.registerItem(Capabilities.FluidHandler.ITEM, (stack, unused) -> new FlaskFluidHandler(stack), - ForceRegistry.FORCE_FLASK.get(), - ForceRegistry.FORCE_FILLED_FORCE_FLASK.get(), - ForceRegistry.MILK_FORCE_FLASK.get()); + event.registerItem(Capabilities.FluidHandler.ITEM, (stack, unused) -> new FlaskFluidHandler(ForceComponents.FLASK_FLUID, stack), + ForceRegistry.FORCE_FLASK, + ForceRegistry.FORCE_FILLED_FORCE_FLASK, + ForceRegistry.MILK_FORCE_FLASK); event.registerItem(Capabilities.FluidHandler.ITEM, (stack, unused) -> new FluidBucketWrapper(stack), - ForceRegistry.BUCKET_FLUID_FORCE.get()); - event.registerItem(Capabilities.ItemHandler.ITEM, (stack, unused) -> new ItemStackHandler(4), ForceRegistry.BACONATOR.get()); - event.registerItem(Capabilities.ItemHandler.ITEM, (stack, unused) -> new ItemStackHandler(8), - ForceRegistry.SPOILS_BAG.get(), ForceRegistry.SPOILS_BAG_T2.get(), ForceRegistry.SPOILS_BAG_T3.get()); + ForceRegistry.BUCKET_FLUID_FORCE); + event.registerItem(Capabilities.ItemHandler.ITEM, (stack, context) -> + new ComponentItemHandler(stack, ForceComponents.STORED_FOOD.get(), 4), + ForceRegistry.BACONATOR + ); + event.registerItem(Capabilities.ItemHandler.ITEM, (stack, context) -> + new ComponentItemHandler(stack, ForceComponents.SPOILS_CONTENT.get(), 8), + ForceRegistry.SPOILS_BAG, ForceRegistry.SPOILS_BAG_T2, ForceRegistry.SPOILS_BAG_T3); - event.registerItem(Capabilities.ItemHandler.ITEM, (stack, unused) -> StorageManager.getCapability(stack), ForceRegistry.FORCE_BELT.get(), ForceRegistry.FORCE_PACK.get()); + event.registerItem(Capabilities.ItemHandler.ITEM, (stack, unused) -> StorageManager.getCapability(stack), + ForceRegistry.FORCE_BELT, ForceRegistry.FORCE_PACK); } } diff --git a/src/main/java/com/mrbysco/forcecraft/capability/FluidHandlerWrapper.java b/src/main/java/com/mrbysco/forcecraft/capability/FluidHandlerWrapper.java index 9027da84..43d5c0ca 100644 --- a/src/main/java/com/mrbysco/forcecraft/capability/FluidHandlerWrapper.java +++ b/src/main/java/com/mrbysco/forcecraft/capability/FluidHandlerWrapper.java @@ -1,5 +1,6 @@ package com.mrbysco.forcecraft.capability; +import net.minecraft.core.HolderLookup; import net.minecraft.nbt.CompoundTag; import net.neoforged.neoforge.common.util.INBTSerializable; import net.neoforged.neoforge.fluids.FluidStack; @@ -26,19 +27,19 @@ public FluidHandlerWrapper(FluidTank throttle, FluidTank fuel) { } @Override - public CompoundTag serializeNBT() { + public CompoundTag serializeNBT(HolderLookup.Provider provider) { CompoundTag tag = new CompoundTag(); - tag.put(NBT_INPUT, throttleTank.writeToNBT(new CompoundTag())); - tag.put(NBT_OUTPUT, fuelTank.writeToNBT(new CompoundTag())); + tag.put(NBT_INPUT, throttleTank.writeToNBT(provider, new CompoundTag())); + tag.put(NBT_OUTPUT, fuelTank.writeToNBT(provider, new CompoundTag())); return tag; } @Override - public void deserializeNBT(CompoundTag tag) { + public void deserializeNBT(HolderLookup.Provider provider, CompoundTag tag) { if (tag.contains(NBT_OUTPUT)) - fuelTank.readFromNBT(tag.getCompound(NBT_OUTPUT)); + fuelTank.readFromNBT(provider, tag.getCompound(NBT_OUTPUT)); if (tag.contains(NBT_INPUT)) - throttleTank.readFromNBT(tag.getCompound(NBT_INPUT)); + throttleTank.readFromNBT(provider, tag.getCompound(NBT_INPUT)); } @Override diff --git a/src/main/java/com/mrbysco/forcecraft/capability/ItemStackHandlerWrapper.java b/src/main/java/com/mrbysco/forcecraft/capability/ItemStackHandlerWrapper.java index dfef1593..dc44e63e 100644 --- a/src/main/java/com/mrbysco/forcecraft/capability/ItemStackHandlerWrapper.java +++ b/src/main/java/com/mrbysco/forcecraft/capability/ItemStackHandlerWrapper.java @@ -1,5 +1,6 @@ package com.mrbysco.forcecraft.capability; +import net.minecraft.core.HolderLookup; import net.minecraft.nbt.CompoundTag; import net.minecraft.world.item.ItemStack; import net.neoforged.neoforge.common.util.INBTSerializable; @@ -83,17 +84,17 @@ public void setStackInSlot(int slot, ItemStack stack) { } @Override - public CompoundTag serializeNBT() { + public CompoundTag serializeNBT(HolderLookup.Provider registries) { CompoundTag tag = new CompoundTag(); - tag.put(NBT_INPUT, input.serializeNBT()); - tag.put(NBT_OUTPUT, output.serializeNBT()); + tag.put(NBT_INPUT, input.serializeNBT(registries)); + tag.put(NBT_OUTPUT, output.serializeNBT(registries)); return tag; } @Override - public void deserializeNBT(CompoundTag tag) { - input.deserializeNBT(tag.getCompound(NBT_INPUT)); - output.deserializeNBT(tag.getCompound(NBT_OUTPUT)); + public void deserializeNBT(HolderLookup.Provider registries, CompoundTag tag) { + input.deserializeNBT(registries, tag.getCompound(NBT_INPUT)); + output.deserializeNBT(registries, tag.getCompound(NBT_OUTPUT)); } @FunctionalInterface diff --git a/src/main/java/com/mrbysco/forcecraft/client/ClientHandler.java b/src/main/java/com/mrbysco/forcecraft/client/ClientHandler.java index 754ca6cf..bcf022fc 100644 --- a/src/main/java/com/mrbysco/forcecraft/client/ClientHandler.java +++ b/src/main/java/com/mrbysco/forcecraft/client/ClientHandler.java @@ -22,6 +22,8 @@ import com.mrbysco.forcecraft.client.renderer.GoldChuChuRenderer; import com.mrbysco.forcecraft.client.renderer.GreenChuChuRenderer; import com.mrbysco.forcecraft.client.renderer.RedChuChuRenderer; +import com.mrbysco.forcecraft.components.ForceComponents; +import com.mrbysco.forcecraft.components.flask.FlaskContent; import com.mrbysco.forcecraft.items.BaconatorItem; import com.mrbysco.forcecraft.registry.ForceEntities; import com.mrbysco.forcecraft.registry.ForceFluids; @@ -37,6 +39,7 @@ import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.nbt.CompoundTag; import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.entity.EntityType; import net.minecraft.world.item.SpawnEggItem; import net.neoforged.fml.event.lifecycle.FMLClientSetupEvent; import net.neoforged.neoforge.client.event.EntityRenderersEvent; @@ -44,7 +47,7 @@ import net.neoforged.neoforge.client.event.RegisterKeyMappingsEvent; import net.neoforged.neoforge.client.event.RegisterMenuScreensEvent; -import static com.mrbysco.forcecraft.attachment.ForceAttachments.MAGNET; +import static com.mrbysco.forcecraft.components.ForceComponents.MAGNET; public class ClientHandler { public static final ModelLayerLocation CREEPER_TOT = new ModelLayerLocation(Reference.modLoc("creeper_tot"), "main"); @@ -56,29 +59,29 @@ public static void onClientSetup(final FMLClientSetupEvent event) { ItemBlockRenderTypes.setRenderLayer(ForceFluids.FORCE_FLUID_SOURCE.get(), RenderType.translucent()); event.enqueueWork(() -> { - ItemProperties.register(ForceRegistry.MAGNET_GLOVE.get(), new ResourceLocation("active"), (stack, world, livingEntity, i) -> - stack.hasData(MAGNET) && stack.getData(MAGNET).isActivated() ? 1.0F : 0.0F); + ItemProperties.register(ForceRegistry.MAGNET_GLOVE.get(), ResourceLocation.withDefaultNamespace("active"), (stack, world, livingEntity, i) -> + stack.getOrDefault(MAGNET, false) ? 1.0F : 0.0F); - ItemProperties.register(ForceRegistry.ENTITY_FLASK.get(), new ResourceLocation("captured"), (stack, world, livingEntity, i) -> - stack.hasTag() && stack.getTag().contains("StoredEntity") ? 1.0F : 0.0F); + ItemProperties.register(ForceRegistry.ENTITY_FLASK.get(), ResourceLocation.withDefaultNamespace("captured"), (stack, world, livingEntity, i) -> + stack.has(ForceComponents.FLASK_CONTENT) ? 1.0F : 0.0F); - ItemProperties.register(ForceRegistry.BACONATOR.get(), new ResourceLocation("filled"), (stack, world, livingEntity, i) -> - stack.hasTag() && stack.getTag().contains(BaconatorItem.HAS_FOOD_TAG) ? 1.0F : 0.0F); + ItemProperties.register(ForceRegistry.BACONATOR.get(), ResourceLocation.withDefaultNamespace("filled"), (stack, world, livingEntity, i) -> + stack.has(ForceComponents.STORED_FOOD)? 1.0F : 0.0F); - ItemProperties.register(ForceRegistry.FORCE_PACK.get(), new ResourceLocation("color"), (stack, world, livingEntity, i) -> - stack.hasTag() && stack.getTag().contains("Color") ? (1.0F / 16) * stack.getTag().getInt("Color") : 0.9375F); + ItemProperties.register(ForceRegistry.FORCE_PACK.get(), ResourceLocation.withDefaultNamespace("color"), (stack, world, livingEntity, i) -> + stack.has(ForceComponents.PACK_COLOR) ? (1.0F / 16) * stack.getOrDefault(ForceComponents.PACK_COLOR, 0) : 0.9375F); - ItemProperties.register(ForceRegistry.FORCE_BELT.get(), new ResourceLocation("color"), (stack, world, livingEntity, i) -> - stack.hasTag() && stack.getTag().contains("Color") ? (1.0F / 16) * stack.getTag().getInt("Color") : 0.9375F); + ItemProperties.register(ForceRegistry.FORCE_BELT.get(), ResourceLocation.withDefaultNamespace("color"), (stack, world, livingEntity, i) -> + stack.has(ForceComponents.PACK_COLOR) ? (1.0F / 16) * stack.getOrDefault(ForceComponents.PACK_COLOR, 0) : 0.9375F); - ItemProperties.register(ForceRegistry.FORCE_BOW.get(), new ResourceLocation("pull"), (stack, world, livingEntity, i) -> { + ItemProperties.register(ForceRegistry.FORCE_BOW.get(), ResourceLocation.withDefaultNamespace("pull"), (stack, world, livingEntity, i) -> { if (livingEntity == null) { return 0.0F; } else { - return livingEntity.getUseItem() != stack ? 0.0F : (float) (stack.getUseDuration() - livingEntity.getUseItemRemainingTicks()) / 20.0F; + return livingEntity.getUseItem() != stack ? 0.0F : (float) (stack.getUseDuration(livingEntity) - livingEntity.getUseItemRemainingTicks()) / 20.0F; } }); - ItemProperties.register(ForceRegistry.FORCE_BOW.get(), new ResourceLocation("pulling"), (stack, world, livingEntity, i) -> + ItemProperties.register(ForceRegistry.FORCE_BOW.get(), ResourceLocation.withDefaultNamespace("pulling"), (stack, world, livingEntity, i) -> livingEntity != null && livingEntity.isUsingItem() && livingEntity.getUseItem() == stack ? 1.0F : 0.0F); }); } @@ -133,8 +136,9 @@ public static void registerEntityRenders(EntityRenderersEvent.RegisterRenderers public static void registerItemColors(final RegisterColorHandlersEvent.Item event) { event.register((stack, tintIndex) -> { if (tintIndex == 0 || tintIndex == 1) { - if (stack.hasTag() && stack.getTag().contains("StoredEntity", CompoundTag.TAG_STRING)) { - ResourceLocation id = new ResourceLocation(stack.getTag().getString("StoredEntity")); + if (stack.has(ForceComponents.FLASK_CONTENT)) { + FlaskContent content = stack.get(ForceComponents.FLASK_CONTENT); + ResourceLocation id = content != null ? content.storedType() : BuiltInRegistries.ENTITY_TYPE.getKey(EntityType.EGG); SpawnEggItem info = SpawnEggItem.byId(BuiltInRegistries.ENTITY_TYPE.get(id)); if (info != null) { diff --git a/src/main/java/com/mrbysco/forcecraft/client/KeybindHandler.java b/src/main/java/com/mrbysco/forcecraft/client/KeybindHandler.java index 11d1dd22..a39c2826 100644 --- a/src/main/java/com/mrbysco/forcecraft/client/KeybindHandler.java +++ b/src/main/java/com/mrbysco/forcecraft/client/KeybindHandler.java @@ -4,7 +4,7 @@ import com.mrbysco.forcecraft.networking.message.OpenInventoryPayload; import com.mrbysco.forcecraft.networking.message.QuickUseBeltPayload; import net.minecraft.client.KeyMapping; -import net.neoforged.neoforge.event.TickEvent; +import net.neoforged.neoforge.client.event.ClientTickEvent; import net.neoforged.neoforge.network.PacketDistributor; import org.lwjgl.glfw.GLFW; @@ -26,38 +26,38 @@ private static String getKey(String name) { return String.join(".", "key", Reference.MOD_ID, name); } - public static void onClientTick(TickEvent.ClientTickEvent event) { + public static void onClientTick(ClientTickEvent.Post event) { if (KEY_OPEN_HOTBAR_PACK.consumeClick()) { - PacketDistributor.SERVER.noArg().send(new OpenInventoryPayload(1)); + PacketDistributor.sendToServer(new OpenInventoryPayload(1)); } if (KEY_OPEN_HOTBAR_BELT.consumeClick()) { - PacketDistributor.SERVER.noArg().send(new OpenInventoryPayload(0)); + PacketDistributor.sendToServer(new OpenInventoryPayload(0)); } if (KEY_QUICK_USE_1.consumeClick()) { - PacketDistributor.SERVER.noArg().send(new QuickUseBeltPayload(0)); + PacketDistributor.sendToServer(new QuickUseBeltPayload(0)); } if (KEY_QUICK_USE_2.consumeClick()) { - PacketDistributor.SERVER.noArg().send(new QuickUseBeltPayload(1)); + PacketDistributor.sendToServer(new QuickUseBeltPayload(1)); } if (KEY_QUICK_USE_3.consumeClick()) { - PacketDistributor.SERVER.noArg().send(new QuickUseBeltPayload(2)); + PacketDistributor.sendToServer(new QuickUseBeltPayload(2)); } if (KEY_QUICK_USE_4.consumeClick()) { - PacketDistributor.SERVER.noArg().send(new QuickUseBeltPayload(3)); + PacketDistributor.sendToServer(new QuickUseBeltPayload(3)); } if (KEY_QUICK_USE_5.consumeClick()) { - PacketDistributor.SERVER.noArg().send(new QuickUseBeltPayload(4)); + PacketDistributor.sendToServer(new QuickUseBeltPayload(4)); } if (KEY_QUICK_USE_6.consumeClick()) { - PacketDistributor.SERVER.noArg().send(new QuickUseBeltPayload(5)); + PacketDistributor.sendToServer(new QuickUseBeltPayload(5)); } if (KEY_QUICK_USE_7.consumeClick()) { - PacketDistributor.SERVER.noArg().send(new QuickUseBeltPayload(6)); + PacketDistributor.sendToServer(new QuickUseBeltPayload(6)); } if (KEY_QUICK_USE_8.consumeClick()) { - PacketDistributor.SERVER.noArg().send(new QuickUseBeltPayload(7)); + PacketDistributor.sendToServer(new QuickUseBeltPayload(7)); } } } diff --git a/src/main/java/com/mrbysco/forcecraft/client/gui/card/ItemCardScreen.java b/src/main/java/com/mrbysco/forcecraft/client/gui/card/ItemCardScreen.java index 786683ff..7f92d2a9 100644 --- a/src/main/java/com/mrbysco/forcecraft/client/gui/card/ItemCardScreen.java +++ b/src/main/java/com/mrbysco/forcecraft/client/gui/card/ItemCardScreen.java @@ -28,7 +28,7 @@ protected void init() { this.titleLabelX = 29; this.buttonSave = this.addRenderableWidget(Button.builder(saveText, (button) -> { - PacketDistributor.SERVER.noArg().send(new SaveCardRecipePayload()); + PacketDistributor.sendToServer(new SaveCardRecipePayload()); }).bounds(this.width / 2 + 62, this.height / 2 - 76, 20, 20).build()); } diff --git a/src/main/java/com/mrbysco/forcecraft/client/gui/engine/ForceEngineScreen.java b/src/main/java/com/mrbysco/forcecraft/client/gui/engine/ForceEngineScreen.java index 78d09910..f2aef887 100644 --- a/src/main/java/com/mrbysco/forcecraft/client/gui/engine/ForceEngineScreen.java +++ b/src/main/java/com/mrbysco/forcecraft/client/gui/engine/ForceEngineScreen.java @@ -55,7 +55,7 @@ protected void renderLabels(GuiGraphics guiGraphics, int mouseX, int mouseY) { text.add(Component.translatable("gui.forcecraft.force_engine.empty")); } else { if (tile.getFuelFluidStack() != null) { - text.add(tile.getFuelFluidStack().getDisplayName()); + text.add(tile.getFuelFluidStack().getHoverName()); text.add(Component.literal(tile.getFuelAmount() + " mb") .withStyle(ChatFormatting.GOLD)); } @@ -70,7 +70,7 @@ protected void renderLabels(GuiGraphics guiGraphics, int mouseX, int mouseY) { text.add(Component.translatable("gui.forcecraft.force_engine.empty")); } else { if (tile.getThrottleFluidStack() != null) { - text.add(tile.getThrottleFluidStack().getDisplayName()); + text.add(tile.getThrottleFluidStack().getHoverName()); text.add(Component.literal(tile.getThrottleAmount() + " mb") .withStyle(ChatFormatting.GOLD)); } diff --git a/src/main/java/com/mrbysco/forcecraft/client/gui/pack/RenameAndRecolorScreen.java b/src/main/java/com/mrbysco/forcecraft/client/gui/pack/RenameAndRecolorScreen.java index 86ca9a8c..784a8bfd 100644 --- a/src/main/java/com/mrbysco/forcecraft/client/gui/pack/RenameAndRecolorScreen.java +++ b/src/main/java/com/mrbysco/forcecraft/client/gui/pack/RenameAndRecolorScreen.java @@ -2,13 +2,13 @@ import com.mrbysco.forcecraft.Reference; import com.mrbysco.forcecraft.client.gui.widgets.ItemButton; +import com.mrbysco.forcecraft.components.ForceComponents; import com.mrbysco.forcecraft.networking.message.PackChangePayload; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.components.Button; import net.minecraft.client.gui.components.EditBox; import net.minecraft.client.gui.screens.Screen; -import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.CommonComponents; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; @@ -37,8 +37,7 @@ public static void openScreen(ItemStack packName, InteractionHand hand) { @Override protected void init() { super.init(); - selectedColor = itemstack.getOrCreateTag().getInt("Color"); - + selectedColor = itemstack.getOrDefault(ForceComponents.PACK_COLOR, 0); this.addRenderableWidget(ItemButton.builder(CommonComponents.GUI_DONE, this.itemstack, (button) -> { ItemButton itemButton = (ItemButton) button; this.selectedColor++; @@ -46,9 +45,7 @@ protected void init() { this.selectedColor = 0; } - CompoundTag tag = itemButton.getButtonStack().getOrCreateTag(); - tag.putInt("Color", this.selectedColor); - itemButton.getButtonStack().setTag(tag); + itemstack.set(ForceComponents.PACK_COLOR, selectedColor); this.itemstack = itemButton.getButtonStack(); }).bounds(this.width / 2 - 89, this.height / 2 + 5, 18, 18).build()); @@ -58,7 +55,7 @@ protected void init() { }).bounds(this.width / 2 - 34, this.height / 2 + 3, 60, 20).build()); this.addRenderableWidget(Button.builder(CommonComponents.GUI_DONE, (button) -> { - PacketDistributor.SERVER.noArg().send(new PackChangePayload(usedHand, textfield.getValue(), this.selectedColor)); + PacketDistributor.sendToServer(new PackChangePayload(usedHand, textfield.getValue(), this.selectedColor)); this.minecraft.setScreen((Screen) null); }).bounds(this.width / 2 + 31, this.height / 2 + 3, 60, 20).build()); diff --git a/src/main/java/com/mrbysco/forcecraft/client/renderer/ColdPigRenderer.java b/src/main/java/com/mrbysco/forcecraft/client/renderer/ColdPigRenderer.java index a284a856..4a36d1a3 100644 --- a/src/main/java/com/mrbysco/forcecraft/client/renderer/ColdPigRenderer.java +++ b/src/main/java/com/mrbysco/forcecraft/client/renderer/ColdPigRenderer.java @@ -14,7 +14,8 @@ public class ColdPigRenderer extends MobRenderer(context.bakeLayer(ModelLayers.PIG)), 0.7F); - this.addLayer(new SaddleLayer<>(this, new ColdPigModel<>(context.bakeLayer(ModelLayers.PIG_SADDLE)), new ResourceLocation("textures/entity/pig/pig_saddle.png"))); + this.addLayer(new SaddleLayer<>(this, new ColdPigModel<>(context.bakeLayer(ModelLayers.PIG_SADDLE)), + ResourceLocation.withDefaultNamespace("textures/entity/pig/pig_saddle.png"))); } /** diff --git a/src/main/java/com/mrbysco/forcecraft/client/renderer/layer/CreeperTotChargeLayer.java b/src/main/java/com/mrbysco/forcecraft/client/renderer/layer/CreeperTotChargeLayer.java index ffa37efa..5b6c05c5 100644 --- a/src/main/java/com/mrbysco/forcecraft/client/renderer/layer/CreeperTotChargeLayer.java +++ b/src/main/java/com/mrbysco/forcecraft/client/renderer/layer/CreeperTotChargeLayer.java @@ -10,7 +10,7 @@ import net.minecraft.resources.ResourceLocation; public class CreeperTotChargeLayer extends EnergySwirlLayer> { - private static final ResourceLocation LIGHTNING_TEXTURE = new ResourceLocation("textures/entity/creeper/creeper_armor.png"); + private static final ResourceLocation LIGHTNING_TEXTURE = ResourceLocation.withDefaultNamespace("textures/entity/creeper/creeper_armor.png"); private final CreeperTotModel creeperModel; public CreeperTotChargeLayer(RenderLayerParent> renderLayerParent, EntityModelSet modelSet) { diff --git a/src/main/java/com/mrbysco/forcecraft/client/util/RenderHelper.java b/src/main/java/com/mrbysco/forcecraft/client/util/RenderHelper.java index 68d67d17..6f93a3c8 100644 --- a/src/main/java/com/mrbysco/forcecraft/client/util/RenderHelper.java +++ b/src/main/java/com/mrbysco/forcecraft/client/util/RenderHelper.java @@ -2,6 +2,7 @@ import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.vertex.BufferBuilder; +import com.mojang.blaze3d.vertex.BufferUploader; import com.mojang.blaze3d.vertex.DefaultVertexFormat; import com.mojang.blaze3d.vertex.Tesselator; import com.mojang.blaze3d.vertex.VertexFormat.Mode; @@ -17,7 +18,7 @@ import java.awt.*; public class RenderHelper { - public static void drawFluidTankInGUI(FluidStack fluid, double x, double y, double percent, int height) { + public static void drawFluidTankInGUI(FluidStack fluid, float x, float y, float percent, int height) { if (fluid == null || fluid.isEmpty()) return; @@ -47,7 +48,7 @@ public static void drawFluidTankInGUI(FluidStack fluid, double x, double y, doub for (int i = 0; i < count; i++) { double subHeight = Math.min(16.0, tankLevel - (16.0 * i)); double offsetY = height - 16.0 * i - subHeight; - drawQuad(x, y + offsetY, 16, subHeight, minU, (float) (maxV - deltaV * (subHeight / 16.0)), maxU, maxV); + drawQuad(x, (float) (y + offsetY), 16F, (float) subHeight, minU, (float) (maxV - deltaV * (subHeight / 16.0)), maxU, maxV); } RenderSystem.disableBlend(); RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, 1.0F); @@ -55,15 +56,14 @@ public static void drawFluidTankInGUI(FluidStack fluid, double x, double y, doub } } - private static void drawQuad(double x, double y, double width, double height, float minU, float minV, float maxU, float maxV) { + private static void drawQuad(float x, float y, float width, float height, float minU, float minV, float maxU, float maxV) { Tesselator tesselator = Tesselator.getInstance(); - BufferBuilder buffer = tesselator.getBuilder(); - buffer.begin(Mode.QUADS, DefaultVertexFormat.POSITION_TEX); - buffer.vertex(x, y + height, 0).uv(minU, maxV).endVertex(); - buffer.vertex(x + width, y + height, 0).uv(maxU, maxV).endVertex(); - buffer.vertex(x + width, y, 0).uv(maxU, minV).endVertex(); - buffer.vertex(x, y, 0).uv(minU, minV).endVertex(); - tesselator.end(); + BufferBuilder buffer = tesselator.begin(Mode.QUADS, DefaultVertexFormat.POSITION_TEX); + buffer.addVertex(x, y + height, 0).setUv(minU, maxV); + buffer.addVertex(x + width, y + height, 0).setUv(maxU, maxV); + buffer.addVertex(x + width, y, 0).setUv(maxU, minV); + buffer.addVertex(x, y, 0).setUv(minU, minV); + BufferUploader.drawWithShader(buffer.buildOrThrow()); } public static float getTankPercentage(int fluidAmount, int fluidMax) { diff --git a/src/main/java/com/mrbysco/forcecraft/command/ForceCommands.java b/src/main/java/com/mrbysco/forcecraft/command/ForceCommands.java index ac26d6c2..ed3f038b 100644 --- a/src/main/java/com/mrbysco/forcecraft/command/ForceCommands.java +++ b/src/main/java/com/mrbysco/forcecraft/command/ForceCommands.java @@ -35,9 +35,7 @@ private int execute(CommandContext ctx) throws CommandSyntax UpgradeBookTier bookTier = UpgradeBookTier.FINAL; ItemStack book = new ItemStack(ForceRegistry.UPGRADE_TOME.get()); - UpgradeBookData bd = new UpgradeBookData(book); - bd.setTier(bookTier); - bd.write(book); + UpgradeBookData.setTier(book, bookTier); player.addItem(book); @@ -51,9 +49,7 @@ private int executeSpecific(CommandContext ctx) throws Comma UpgradeBookTier bookTier = UpgradeBookTier.values()[tier]; ItemStack book = new ItemStack(ForceRegistry.UPGRADE_TOME.get()); - UpgradeBookData bd = new UpgradeBookData(book); - bd.setTier(bookTier); - bd.write(book); + UpgradeBookData.setTier(book, bookTier); player.addItem(book); diff --git a/src/main/java/com/mrbysco/forcecraft/command/IForceCommand.java b/src/main/java/com/mrbysco/forcecraft/command/IForceCommand.java deleted file mode 100644 index e79275e5..00000000 --- a/src/main/java/com/mrbysco/forcecraft/command/IForceCommand.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.mrbysco.forcecraft.command; - -import com.mojang.brigadier.context.CommandContext; -import net.minecraft.commands.CommandSourceStack; -import net.minecraft.world.entity.player.Player; - -import java.util.List; - -public interface IForceCommand { - boolean needsOp(); - - String getName(); - - int execute(CommandContext ctx, List arguments, Player player); - -} diff --git a/src/main/java/com/mrbysco/forcecraft/command/IsHardCommand.java b/src/main/java/com/mrbysco/forcecraft/command/IsHardCommand.java deleted file mode 100644 index 05ecd990..00000000 --- a/src/main/java/com/mrbysco/forcecraft/command/IsHardCommand.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.mrbysco.forcecraft.command; - -import com.mojang.brigadier.context.CommandContext; -import com.mrbysco.forcecraft.items.infuser.UpgradeBookData; -import com.mrbysco.forcecraft.items.infuser.UpgradeBookTier; -import com.mrbysco.forcecraft.registry.ForceRegistry; -import net.minecraft.commands.CommandSourceStack; -import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.ItemStack; - -import java.util.List; - -public class IsHardCommand implements IForceCommand { - - @Override - public boolean needsOp() { - return true; - } - - @Override - public String getName() { - return "ishard"; - } - - @Override - public int execute(CommandContext ctx, List arguments, Player player) { - UpgradeBookTier bookTier; - try { - String arg = arguments.get(0); - bookTier = UpgradeBookTier.values()[Integer.parseInt(arg)]; - } catch (Exception e) { - bookTier = UpgradeBookTier.FINAL; - //don't care, just use max level - } - - ItemStack book = new ItemStack(ForceRegistry.UPGRADE_TOME.get()); - UpgradeBookData bd = new UpgradeBookData(book); - bd.setTier(bookTier); - bd.write(book); - - player.addItem(book); - - return 0; - } - -} diff --git a/src/main/java/com/mrbysco/forcecraft/compat/jei/infuser/InfuserCategory.java b/src/main/java/com/mrbysco/forcecraft/compat/jei/infuser/InfuserCategory.java index 219efab3..c2f7b840 100644 --- a/src/main/java/com/mrbysco/forcecraft/compat/jei/infuser/InfuserCategory.java +++ b/src/main/java/com/mrbysco/forcecraft/compat/jei/infuser/InfuserCategory.java @@ -2,6 +2,7 @@ import com.mrbysco.forcecraft.blockentities.InfuserModifierType; import com.mrbysco.forcecraft.compat.jei.JeiCompat; +import com.mrbysco.forcecraft.components.ForceComponents; import com.mrbysco.forcecraft.items.infuser.UpgradeBookData; import com.mrbysco.forcecraft.recipe.InfuseRecipe; import com.mrbysco.forcecraft.registry.ForceRegistry; @@ -78,18 +79,19 @@ public void setRecipe(IRecipeLayoutBuilder builder, InfuseRecipe recipe, IFocusG if (modifierStack.length > 0) { ItemStack modifier = modifierStack[0].copy(); InfuserModifierType type = recipe.getModifier(); - UpgradeBookData fakeUpgradeBook = new UpgradeBookData(new ItemStack(ForceRegistry.UPGRADE_TOME.get())); - fakeUpgradeBook.setTier(recipe.getTier()); + ItemStack bookStack = new ItemStack(ForceRegistry.UPGRADE_TOME.get()); + UpgradeBookData.setTier(bookStack, recipe.getTier()); + UpgradeBookData fakeUpgradeBook = bookStack.getOrDefault(ForceComponents.UPGRADE_BOOK, UpgradeBookData.DEFAULT); for (ItemStack center : matchingStacks) { ItemStack centerStack = center.copy(); if (centerStack.getItem() == ForceRegistry.FORCE_PACK.get()) { - type.apply(centerStack, modifier, fakeUpgradeBook); - type.apply(centerStack, modifier, fakeUpgradeBook); - type.apply(centerStack, modifier, fakeUpgradeBook); - type.apply(centerStack, modifier, fakeUpgradeBook); + type.apply(centerStack, modifier, fakeUpgradeBook, registryAccess); + type.apply(centerStack, modifier, fakeUpgradeBook, registryAccess); + type.apply(centerStack, modifier, fakeUpgradeBook, registryAccess); + type.apply(centerStack, modifier, fakeUpgradeBook, registryAccess); } else { - type.apply(centerStack, modifier, fakeUpgradeBook); + type.apply(centerStack, modifier, fakeUpgradeBook, registryAccess); } stacks.add(centerStack); @@ -114,18 +116,19 @@ public void setRecipe(IRecipeLayoutBuilder builder, InfuseRecipe recipe, IFocusG if (modifierStack.length > 0) { ItemStack modifier = modifierStack[0].copy(); InfuserModifierType type = recipe.getModifier(); - UpgradeBookData fakeUpgradeBook = new UpgradeBookData(new ItemStack(ForceRegistry.UPGRADE_TOME.get())); - fakeUpgradeBook.setTier(recipe.getTier()); + ItemStack bookStack = new ItemStack(ForceRegistry.UPGRADE_TOME.get()); + UpgradeBookData.setTier(bookStack, recipe.getTier()); + UpgradeBookData fakeUpgradeBook = bookStack.getOrDefault(ForceComponents.UPGRADE_BOOK, UpgradeBookData.DEFAULT); for (ItemStack center : matchingStacks) { ItemStack centerStack = center.copy(); if (centerStack.getItem() == ForceRegistry.FORCE_PACK.get()) { - type.apply(centerStack, modifier, fakeUpgradeBook); - type.apply(centerStack, modifier, fakeUpgradeBook); - type.apply(centerStack, modifier, fakeUpgradeBook); - type.apply(centerStack, modifier, fakeUpgradeBook); + type.apply(centerStack, modifier, fakeUpgradeBook, registryAccess); + type.apply(centerStack, modifier, fakeUpgradeBook, registryAccess); + type.apply(centerStack, modifier, fakeUpgradeBook, registryAccess); + type.apply(centerStack, modifier, fakeUpgradeBook, registryAccess); } else { - type.apply(centerStack, modifier, fakeUpgradeBook); + type.apply(centerStack, modifier, fakeUpgradeBook, registryAccess); } stacks.add(centerStack); diff --git a/src/main/java/com/mrbysco/forcecraft/compat/jei/multipleoutput/AbstractMultiOutputCategory.java b/src/main/java/com/mrbysco/forcecraft/compat/jei/multipleoutput/AbstractMultiOutputCategory.java index 6db964b4..f105513f 100644 --- a/src/main/java/com/mrbysco/forcecraft/compat/jei/multipleoutput/AbstractMultiOutputCategory.java +++ b/src/main/java/com/mrbysco/forcecraft/compat/jei/multipleoutput/AbstractMultiOutputCategory.java @@ -5,8 +5,9 @@ import mezz.jei.api.constants.VanillaTypes; import mezz.jei.api.gui.builder.IRecipeLayoutBuilder; import mezz.jei.api.gui.builder.IRecipeSlotBuilder; +import mezz.jei.api.gui.builder.ITooltipBuilder; import mezz.jei.api.gui.drawable.IDrawable; -import mezz.jei.api.gui.ingredient.IRecipeSlotTooltipCallback; +import mezz.jei.api.gui.ingredient.IRecipeSlotRichTooltipCallback; import mezz.jei.api.gui.ingredient.IRecipeSlotView; import mezz.jei.api.helpers.IGuiHelper; import mezz.jei.api.recipe.IFocusGroup; @@ -17,8 +18,6 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.block.Block; -import java.util.List; - public abstract class AbstractMultiOutputCategory implements IRecipeCategory { private final IDrawable background; private final IDrawable icon; @@ -52,7 +51,7 @@ public void setRecipe(IRecipeLayoutBuilder builder, T recipe, IFocusGroup focuse .addItemStack(recipe.getRecipeOutputs().get(1)); if (showChance) { - secondOutputBuilder.addTooltipCallback(new ChanceTooltip(recipe)); + secondOutputBuilder.addRichTooltipCallback(new ChanceTooltip(recipe)); } } } @@ -62,7 +61,7 @@ public Component getTitle() { return localizedName; } - public static class ChanceTooltip implements IRecipeSlotTooltipCallback { + public static class ChanceTooltip implements IRecipeSlotRichTooltipCallback { private final MultipleOutputFurnaceRecipe recipe; public ChanceTooltip(MultipleOutputFurnaceRecipe recipe) { @@ -70,7 +69,7 @@ public ChanceTooltip(MultipleOutputFurnaceRecipe recipe) { } @Override - public void onTooltip(IRecipeSlotView recipeSlotView, List tooltip) { + public void onRichTooltip(IRecipeSlotView recipeSlotView, ITooltipBuilder tooltip) { tooltip.add(Component.literal(recipe.getSecondaryChance() * 100 + " ").append(Component.translatable("forcecraft.gui.jei.category.grinding.tooltip")).withStyle(ChatFormatting.YELLOW)); } } diff --git a/src/main/java/com/mrbysco/forcecraft/compat/jei/transfer/ItemCardTransferHandler.java b/src/main/java/com/mrbysco/forcecraft/compat/jei/transfer/ItemCardTransferHandler.java index abdc934c..f9c02809 100644 --- a/src/main/java/com/mrbysco/forcecraft/compat/jei/transfer/ItemCardTransferHandler.java +++ b/src/main/java/com/mrbysco/forcecraft/compat/jei/transfer/ItemCardTransferHandler.java @@ -58,7 +58,7 @@ public Class getContainerClass() { if (outputs.get(0).getDisplayedItemStack().isPresent()) items.set(9, outputs.get(0).getDisplayedItemStack().get()); - PacketDistributor.SERVER.noArg().send(new RecipeToCardPayload(items)); + PacketDistributor.sendToServer(new RecipeToCardPayload(items)); return null; } diff --git a/src/main/java/com/mrbysco/forcecraft/compat/patchouli/PatchouliCompat.java b/src/main/java/com/mrbysco/forcecraft/compat/patchouli/PatchouliCompat.java index 2f3ba193..08af4723 100644 --- a/src/main/java/com/mrbysco/forcecraft/compat/patchouli/PatchouliCompat.java +++ b/src/main/java/com/mrbysco/forcecraft/compat/patchouli/PatchouliCompat.java @@ -1,9 +1,9 @@ package com.mrbysco.forcecraft.compat.patchouli; -import net.minecraft.resources.ResourceLocation; +import com.mrbysco.forcecraft.Reference; public class PatchouliCompat { public static void openBook() { - vazkii.patchouli.api.PatchouliAPI.get().openBookGUI(new ResourceLocation("forcecraft:force_and_you")); + vazkii.patchouli.api.PatchouliAPI.get().openBookGUI(Reference.modLoc("force_and_you")); } } diff --git a/src/main/java/com/mrbysco/forcecraft/components/ForceComponents.java b/src/main/java/com/mrbysco/forcecraft/components/ForceComponents.java new file mode 100644 index 00000000..bee5d90b --- /dev/null +++ b/src/main/java/com/mrbysco/forcecraft/components/ForceComponents.java @@ -0,0 +1,383 @@ +package com.mrbysco.forcecraft.components; + +import com.mojang.serialization.Codec; +import com.mrbysco.forcecraft.Reference; +import com.mrbysco.forcecraft.components.card.RecipeContentsData; +import com.mrbysco.forcecraft.components.flask.FlaskContent; +import com.mrbysco.forcecraft.components.forcewrench.ForceWrenchData; +import com.mrbysco.forcecraft.items.infuser.UpgradeBookData; +import net.minecraft.core.GlobalPos; +import net.minecraft.core.UUIDUtil; +import net.minecraft.core.component.DataComponentType; +import net.minecraft.core.registries.Registries; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.util.ExtraCodecs; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.component.ItemContainerContents; +import net.neoforged.neoforge.fluids.SimpleFluidContent; +import net.neoforged.neoforge.registries.DeferredRegister; + +import java.util.UUID; +import java.util.function.Supplier; + +public class ForceComponents { + public static final DeferredRegister> COMPONENT_TYPE = DeferredRegister.create(Registries.DATA_COMPONENT_TYPE, Reference.MOD_ID); + + /** + * Modifier: Speed + * Item: Sugar + * Levels: 5 + * Effect: Gives Player Haste [Level] when holding the tool + */ + public static final Supplier> TOOL_SPEED = COMPONENT_TYPE.register("tool_speed", () -> + DataComponentType.builder() + .persistent(ExtraCodecs.intRange(1, 5)) + .networkSynchronized(ByteBufCodecs.VAR_INT) + .build()); + /** + * Modifier Heat + * Item: Golden Power Source + * Levels: 1 + * Effect: Auto-Smelt Item drops + */ + public static final Supplier> TOOL_HEAT = COMPONENT_TYPE.register("tool_heat", () -> + DataComponentType.builder() + .persistent(Codec.BOOL) + .networkSynchronized(ByteBufCodecs.BOOL) + .build()); + /** + * Modifier: Force + * Item: Force Nugget + * Levels: 3 + * Effect: Gives the Sword Knockback + */ + public static final Supplier> TOOL_FORCE = COMPONENT_TYPE.register("tool_force", () -> + DataComponentType.builder() + .persistent(ExtraCodecs.POSITIVE_INT) + .networkSynchronized(ByteBufCodecs.VAR_INT) + .build()); + /** + * Modifier Silk + * Item: Web + * Levels: 1 + * Effect: Give Pick/Shovel/Axe Silk Touch + */ + public static final Supplier> TOOL_SILK = COMPONENT_TYPE.register("tool_silk", () -> + DataComponentType.builder() + .persistent(Codec.BOOL) + .networkSynchronized(ByteBufCodecs.BOOL) + .build()); + /** + * Modifier: Sharpness + * Item: Claw + * Levels: 10 + * Effect: Adds Sharpness to Force Sword + */ + public static final Supplier> TOOL_SHARPNESS = COMPONENT_TYPE.register("tool_sharpness", () -> + DataComponentType.builder() + .persistent(ExtraCodecs.POSITIVE_INT) + .networkSynchronized(ByteBufCodecs.VAR_INT) + .build()); + /** + * Modifier: Luck + * Item: Fortune + * Levels: 5 + * Effect: Adds Fortune to a tool or Looting to a sword + */ + public static final Supplier> TOOL_LUCK = COMPONENT_TYPE.register("tool_luck", () -> + DataComponentType.builder() + .persistent(ExtraCodecs.intRange(1, 5)) + .networkSynchronized(ByteBufCodecs.VAR_INT) + .build()); + /** + * Modifier: Sturdy + * Item: Bricks/Obsidian + * Levels: 3 (tools) 1 (armor) + * Effect: Adds 1 Level of Unbreaking to tool up to 10 + */ + public static final Supplier> TOOL_STURDY = COMPONENT_TYPE.register("tool_sturdy", () -> + DataComponentType.builder() + .persistent(ExtraCodecs.intRange(1, 3)) + .networkSynchronized(ByteBufCodecs.VAR_INT) + .build()); + /** + * Modifier: Rainbow + * Items: Lapis Lazuli + * Levels: 1 + * Effect: Makes sheep drop a random amount of colored wool + */ + public static final Supplier> TOOL_RAINBOW = COMPONENT_TYPE.register("tool_rainbow", () -> + DataComponentType.builder() + .persistent(Codec.BOOL) + .networkSynchronized(ByteBufCodecs.BOOL) + .build()); + /** + * Modifier: Lumberjack + * Items: Force Log + * Levels: 1 + * Effect: Allows an axe to chop an entire tree down + */ + public static final Supplier> TOOL_LUMBERJACK = COMPONENT_TYPE.register("tool_lumberjack", () -> + DataComponentType.builder() + .persistent(Codec.BOOL) + .networkSynchronized(ByteBufCodecs.BOOL) + .build()); + /** + * Modifier: Bleeding + * Items: Arrow + * Levels: 2 + * Effect: Applies Bleeding Potion Effect + */ + public static final Supplier> TOOL_BLEED = COMPONENT_TYPE.register("tool_bleed", () -> + DataComponentType.builder() + .persistent(ExtraCodecs.POSITIVE_INT) + .networkSynchronized(ByteBufCodecs.VAR_INT) + .build()); + /** + * Modifier: Bane + * Items: Spider Eye + * Levels: 4 + * Effect: Applies Bane Potion Effect + */ + public static final Supplier> TOOL_BANE = COMPONENT_TYPE.register("tool_bane", () -> + DataComponentType.builder() + .persistent(ExtraCodecs.intRange(1, 4)) + .networkSynchronized(ByteBufCodecs.VAR_INT) + .build()); + /** + * Modifier: Wing + * Items: Feathers + * Levels: 1 + * Effect: If full armor set is equipped, player can fly + */ + public static final Supplier> TOOL_WING = COMPONENT_TYPE.register("tool_wing", () -> + DataComponentType.builder() + .persistent(Codec.BOOL) + .networkSynchronized(ByteBufCodecs.BOOL) + .build()); + /** + * Modifier: Camo + * Items: Invisibility Potion + * Levels: 1 + * Effect: Gives Invisibility to wearer/user + */ + public static final Supplier> TOOL_CAMO = COMPONENT_TYPE.register("tool_camo", () -> + DataComponentType.builder() + .persistent(Codec.BOOL) + .networkSynchronized(ByteBufCodecs.BOOL) + .build()); + /** + * Modifier: Sight + * Items: Night Vision Potion + * Levels: 1 + * Effect: Gives Night Vision + */ + public static final Supplier> TOOL_SIGHT = COMPONENT_TYPE.register("tool_sight", () -> + DataComponentType.builder() + .persistent(Codec.BOOL) + .networkSynchronized(ByteBufCodecs.BOOL) + .build()); + /** + * Modifier: Light + * Items: Glowstone Dust + * Levels: 1 + * Effect: Shows mobs through walls + */ + public static final Supplier> TOOL_LIGHT = COMPONENT_TYPE.register("tool_light", () -> + DataComponentType.builder() + .persistent(Codec.BOOL) + .networkSynchronized(ByteBufCodecs.BOOL) + .build()); + /** + * Modifier: Ender + * Items: Ender Pearl / Eye of Ender + * Levels: 1 + * Effect: Teleports target to random location + */ + public static final Supplier> TOOL_ENDER = COMPONENT_TYPE.register("tool_ender", () -> + DataComponentType.builder() + .persistent(Codec.BOOL) + .networkSynchronized(ByteBufCodecs.BOOL) + .build()); + /** + * Modifier: Freezing + * Items: Snow Cookie + * Levels: 1 + * Effect: Gives Slowness to enemy + */ + public static final Supplier> TOOL_FREEZING = COMPONENT_TYPE.register("tool_freezing", () -> + DataComponentType.builder() + .persistent(Codec.BOOL) + .networkSynchronized(ByteBufCodecs.BOOL) + .build()); + /** + * Modifier: Treasure + * Items: Treasure Core + * Levels: 1 + * Effect: Allows treasure cards to drop upon killing mobs + */ + public static final Supplier> TOOL_TREASURE = COMPONENT_TYPE.register("tool_treasure", () -> + DataComponentType.builder() + .persistent(Codec.BOOL) + .networkSynchronized(ByteBufCodecs.BOOL) + .build()); + + public static final Supplier> MAGNET = COMPONENT_TYPE.register("magnet", () -> + DataComponentType.builder() + .persistent(Codec.BOOL) + .networkSynchronized(ByteBufCodecs.BOOL) + .build()); + + public static final Supplier> FORCE = COMPONENT_TYPE.register("force", () -> + DataComponentType.builder() + .persistent(ExtraCodecs.POSITIVE_INT) + .networkSynchronized(ByteBufCodecs.VAR_INT) + .build()); + public static final Supplier> TOME_EXPERIENCE = COMPONENT_TYPE.register("tome_experience", () -> + DataComponentType.builder() + .persistent(ExtraCodecs.POSITIVE_INT) + .networkSynchronized(ByteBufCodecs.INT) + .build()); + public static final Supplier> WRENCH = COMPONENT_TYPE.register("wrench", () -> + DataComponentType.builder() + .persistent(ForceWrenchData.CODEC) + .networkSynchronized(ForceWrenchData.STREAM_CODEC) + .build()); + /** + * Modifier: Healing + * Items: Ghast Tear + * Levels: 3 + * Effect: Allows the Force Rod to give Healing depending on the level set + */ + public static final Supplier> ROD_HEALING = COMPONENT_TYPE.register("rod_healing", () -> + DataComponentType.builder() + .persistent(ExtraCodecs.POSITIVE_INT) + .networkSynchronized(ByteBufCodecs.VAR_INT) + .build()); + /** + * Modifier: Speed + * Levels: 3 + * Effect: when using the rod give speed to player + */ + public static final Supplier> ROD_SPEED = COMPONENT_TYPE.register("rod_speed", () -> + DataComponentType.builder() + .persistent(ExtraCodecs.intRange(1, 3)) + .networkSynchronized(ByteBufCodecs.VAR_INT) + .build()); + /** + * Modifier: Light + * Items: Glowstone Dust + * Levels: 1 + * Effect: Shows mobs through walls + */ + public static final Supplier> ROD_LIGHT = COMPONENT_TYPE.register("rod_light", () -> + DataComponentType.builder() + .persistent(Codec.BOOL) + .networkSynchronized(ByteBufCodecs.BOOL) + .build()); + public static final Supplier> ROD_CAMO = COMPONENT_TYPE.register("rod_camo", () -> + DataComponentType.builder() + .persistent(Codec.BOOL) + .networkSynchronized(ByteBufCodecs.BOOL) + .build()); + public static final Supplier> ROD_ENDER = COMPONENT_TYPE.register("rod_ender", () -> + DataComponentType.builder() + .persistent(Codec.BOOL) + .networkSynchronized(ByteBufCodecs.BOOL) + .build()); + public static final Supplier> ROD_SIGHT = COMPONENT_TYPE.register("rod_sight", () -> + DataComponentType.builder() + .persistent(Codec.BOOL) + .networkSynchronized(ByteBufCodecs.BOOL) + .build()); + public static final Supplier> ROD_POS = COMPONENT_TYPE.register("rod_position", () -> + DataComponentType.builder() + .persistent(GlobalPos.CODEC) + .networkSynchronized(GlobalPos.STREAM_CODEC) + .build()); + + + public static final Supplier> PACK_COLOR = COMPONENT_TYPE.register("pack_color", () -> + DataComponentType.builder() + .persistent(Codec.INT) + .networkSynchronized(ByteBufCodecs.INT) + .build()); + + + public static final Supplier> FORCE_INFUSED = COMPONENT_TYPE.register("infused", () -> + DataComponentType.builder() + .persistent(Codec.BOOL) + .networkSynchronized(ByteBufCodecs.BOOL) + .build()); + + public static final Supplier> SPOILS_FILLED = COMPONENT_TYPE.register("spoils_filled", () -> + DataComponentType.builder() + .persistent(Codec.BOOL) + .networkSynchronized(ByteBufCodecs.BOOL) + .build()); + + public static final Supplier> MESSAGE = COMPONENT_TYPE.register("message", () -> + DataComponentType.builder() + .persistent(Codec.STRING) + .networkSynchronized(ByteBufCodecs.STRING_UTF8) + .build()); + + public static final Supplier> RECIPE_CONTENTS = COMPONENT_TYPE.register("recipe_contents", () -> + DataComponentType.builder() + .persistent(RecipeContentsData.CODEC) + .networkSynchronized(RecipeContentsData.STREAM_CODEC) + .build()); + + public static final Supplier> STORED_FOOD = COMPONENT_TYPE.register("stored_food", () -> + DataComponentType.builder() + .persistent(ItemContainerContents.CODEC) + .networkSynchronized(ItemContainerContents.STREAM_CODEC) + .build()); + public static final Supplier> SPOILS_CONTENT = COMPONENT_TYPE.register("spoils_content", () -> + DataComponentType.builder() + .persistent(ItemContainerContents.CODEC) + .networkSynchronized(ItemContainerContents.STREAM_CODEC) + .build()); + + public static final Supplier> SLOTS_USED = COMPONENT_TYPE.register("slots_used", () -> + DataComponentType.builder() + .persistent(ExtraCodecs.NON_NEGATIVE_INT) + .networkSynchronized(ByteBufCodecs.VAR_INT) + .build()); + public static final Supplier> SLOTS_TOTAL = COMPONENT_TYPE.register("slots_total", () -> + DataComponentType.builder() + .persistent(ExtraCodecs.POSITIVE_INT) + .networkSynchronized(ByteBufCodecs.VAR_INT) + .build()); + public static final Supplier> PACK_TIER = COMPONENT_TYPE.register("pack_tier", () -> + DataComponentType.builder() + .persistent(ExtraCodecs.NON_NEGATIVE_INT) + .networkSynchronized(ByteBufCodecs.VAR_INT) + .build()); + public static final Supplier> UUID = COMPONENT_TYPE.register("uuid", () -> + DataComponentType.builder() + .persistent(UUIDUtil.CODEC) + .networkSynchronized(UUIDUtil.STREAM_CODEC) + .build()); + public static final Supplier> UPGRADE_BOOK = COMPONENT_TYPE.register("upgrade_book", () -> + DataComponentType.builder() + .persistent(UpgradeBookData.CODEC) + .networkSynchronized(UpgradeBookData.STREAM_CODEC) + .build()); + + public static final Supplier> FLASK_CONTENT = COMPONENT_TYPE.register("flask_content", () -> + DataComponentType.builder() + .persistent(FlaskContent.CODEC) + .networkSynchronized(FlaskContent.STREAM_CODEC) + .build()); + public static final Supplier> FLASK_FLUID = COMPONENT_TYPE.register("flask_fluid", () -> + DataComponentType.builder() + .persistent(SimpleFluidContent.CODEC) + .networkSynchronized(SimpleFluidContent.STREAM_CODEC) + .build()); + public static final Supplier> FURNACE_UPGRADE = COMPONENT_TYPE.register("furnace_upgrade", () -> + DataComponentType.builder() + .persistent(ItemStack.CODEC) + .networkSynchronized(ItemStack.STREAM_CODEC) + .build()); +} diff --git a/src/main/java/com/mrbysco/forcecraft/components/card/RecipeContentsData.java b/src/main/java/com/mrbysco/forcecraft/components/card/RecipeContentsData.java new file mode 100644 index 00000000..673f7fc1 --- /dev/null +++ b/src/main/java/com/mrbysco/forcecraft/components/card/RecipeContentsData.java @@ -0,0 +1,54 @@ +package com.mrbysco.forcecraft.components.card; + +import com.mojang.serialization.Codec; +import com.mojang.serialization.DataResult; +import com.mojang.serialization.codecs.RecordCodecBuilder; +import net.minecraft.core.NonNullList; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.world.item.ItemStack; + +public record RecipeContentsData(NonNullList recipeItems, ItemStack resultItem) { + public static final RecipeContentsData EMPTY = new RecipeContentsData(NonNullList.withSize(9, ItemStack.EMPTY), ItemStack.EMPTY); + public static final Codec CODEC = RecordCodecBuilder.create(inst -> inst.group( + ItemStack.OPTIONAL_CODEC + .listOf() + .fieldOf("recipeItems") + .flatXmap( + array -> { + ItemStack[] stacks = array.toArray(ItemStack[]::new); + return stacks.length != 9 + ? DataResult.error(() -> "More than 9 items for stored recipe") + : DataResult.success(NonNullList.of(ItemStack.EMPTY, stacks)); + }, + DataResult::success + ) + .forGetter(recipe -> recipe.recipeItems), + ItemStack.STRICT_CODEC.fieldOf("resultItem").forGetter(RecipeContentsData::resultItem)) + .apply(inst, RecipeContentsData::new)); + public static final StreamCodec STREAM_CODEC = StreamCodec.of( + RecipeContentsData::toNetwork, RecipeContentsData::fromNetwork + ); + + public RecipeContentsData { + if (recipeItems.size() != 9) { + throw new IllegalArgumentException("Recipe items must be 9 items long"); + } + } + + private static RecipeContentsData fromNetwork(RegistryFriendlyByteBuf byteBuf) { + NonNullList recipeItems = NonNullList.withSize(9, ItemStack.EMPTY); + for (int i = 0; i < 9; i++) { + recipeItems.set(i, ItemStack.STREAM_CODEC.decode(byteBuf)); + } + ItemStack resultItem = ItemStack.STREAM_CODEC.decode(byteBuf); + return new RecipeContentsData(recipeItems, resultItem); + } + + private static void toNetwork(RegistryFriendlyByteBuf byteBuf, RecipeContentsData playerCompassData) { + for (int i = 0; i < 9; i++) { + ItemStack.STREAM_CODEC.encode(byteBuf, playerCompassData.recipeItems.get(i)); + } + ItemStack.STREAM_CODEC.encode(byteBuf, playerCompassData.resultItem); + } +} diff --git a/src/main/java/com/mrbysco/forcecraft/components/flask/FlaskContent.java b/src/main/java/com/mrbysco/forcecraft/components/flask/FlaskContent.java new file mode 100644 index 00000000..00a8244d --- /dev/null +++ b/src/main/java/com/mrbysco/forcecraft/components/flask/FlaskContent.java @@ -0,0 +1,29 @@ +package com.mrbysco.forcecraft.components.flask; + +import com.mojang.serialization.Codec; +import com.mojang.serialization.codecs.RecordCodecBuilder; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.resources.ResourceLocation; + +public record FlaskContent(ResourceLocation storedType, CompoundTag entityData) { + public static final Codec CODEC = RecordCodecBuilder.create(inst -> inst.group( + ResourceLocation.CODEC.fieldOf("storedType").forGetter(FlaskContent::storedType), + CompoundTag.CODEC.optionalFieldOf("entityData", new CompoundTag()).forGetter(FlaskContent::entityData)) + .apply(inst, FlaskContent::new)); + public static final StreamCodec STREAM_CODEC = StreamCodec.of( + FlaskContent::toNetwork, FlaskContent::fromNetwork + ); + + private static FlaskContent fromNetwork(RegistryFriendlyByteBuf byteBuf) { + ResourceLocation storedType = ResourceLocation.STREAM_CODEC.decode(byteBuf); + CompoundTag storedBlockNBT = byteBuf.readNbt(); + return new FlaskContent(storedType, storedBlockNBT); + } + + private static void toNetwork(RegistryFriendlyByteBuf byteBuf, FlaskContent playerCompassData) { + ResourceLocation.STREAM_CODEC.encode(byteBuf, playerCompassData.storedType()); + byteBuf.writeNbt(playerCompassData.entityData()); + } +} diff --git a/src/main/java/com/mrbysco/forcecraft/components/forcewrench/ForceWrenchData.java b/src/main/java/com/mrbysco/forcecraft/components/forcewrench/ForceWrenchData.java new file mode 100644 index 00000000..3af522f5 --- /dev/null +++ b/src/main/java/com/mrbysco/forcecraft/components/forcewrench/ForceWrenchData.java @@ -0,0 +1,42 @@ +package com.mrbysco.forcecraft.components.forcewrench; + +import com.mojang.serialization.Codec; +import com.mojang.serialization.codecs.RecordCodecBuilder; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockState; + +public record ForceWrenchData(CompoundTag storedBlockNBT, BlockState storedBlockState, String name) { + public static final ForceWrenchData EMPTY = new ForceWrenchData(null, null, ""); + public static final Codec CODEC = RecordCodecBuilder.create(inst -> inst.group( + CompoundTag.CODEC.fieldOf("storedBlockNBT").forGetter(ForceWrenchData::storedBlockNBT), + BlockState.CODEC.fieldOf("storedBlockState").forGetter(ForceWrenchData::storedBlockState), + Codec.STRING.fieldOf("name").forGetter(ForceWrenchData::name)) + .apply(inst, ForceWrenchData::new)); + public static final StreamCodec STREAM_CODEC = StreamCodec.of( + ForceWrenchData::toNetwork, ForceWrenchData::fromNetwork + ); + + private static ForceWrenchData fromNetwork(RegistryFriendlyByteBuf byteBuf) { + CompoundTag storedBlockNBT = byteBuf.readNbt(); + BlockState storedBlockState = Block.stateById(byteBuf.readInt()); + String name = byteBuf.readUtf(32767); + return new ForceWrenchData(storedBlockNBT, storedBlockState, name); + } + + private static void toNetwork(RegistryFriendlyByteBuf byteBuf, ForceWrenchData playerCompassData) { + byteBuf.writeNbt(playerCompassData.storedBlockNBT()); + byteBuf.writeInt(Block.getId(playerCompassData.storedBlockState())); + byteBuf.writeUtf(playerCompassData.name()); + } + + public boolean hasBlockStored() { + return storedBlockState != null; + } + + public boolean canStoreBlock() { + return hasBlockStored(); + } +} diff --git a/src/main/java/com/mrbysco/forcecraft/attachment/storage/BeltStackHandler.java b/src/main/java/com/mrbysco/forcecraft/components/storage/BeltStackHandler.java similarity index 90% rename from src/main/java/com/mrbysco/forcecraft/attachment/storage/BeltStackHandler.java rename to src/main/java/com/mrbysco/forcecraft/components/storage/BeltStackHandler.java index 4460e053..00088453 100644 --- a/src/main/java/com/mrbysco/forcecraft/attachment/storage/BeltStackHandler.java +++ b/src/main/java/com/mrbysco/forcecraft/components/storage/BeltStackHandler.java @@ -1,4 +1,4 @@ -package com.mrbysco.forcecraft.attachment.storage; +package com.mrbysco.forcecraft.components.storage; import com.mrbysco.forcecraft.items.ForceBeltItem; import net.minecraft.world.item.ItemStack; diff --git a/src/main/java/com/mrbysco/forcecraft/attachment/storage/BeltStorage.java b/src/main/java/com/mrbysco/forcecraft/components/storage/BeltStorage.java similarity index 61% rename from src/main/java/com/mrbysco/forcecraft/attachment/storage/BeltStorage.java rename to src/main/java/com/mrbysco/forcecraft/components/storage/BeltStorage.java index 2d7c76f8..85ddce3b 100644 --- a/src/main/java/com/mrbysco/forcecraft/attachment/storage/BeltStorage.java +++ b/src/main/java/com/mrbysco/forcecraft/components/storage/BeltStorage.java @@ -1,5 +1,6 @@ -package com.mrbysco.forcecraft.attachment.storage; +package com.mrbysco.forcecraft.components.storage; +import net.minecraft.core.HolderLookup; import net.minecraft.nbt.CompoundTag; import net.neoforged.neoforge.items.IItemHandler; @@ -14,10 +15,10 @@ public BeltStorage(UUID uuidIn) { inventory = new BeltStackHandler(); } - public BeltStorage(CompoundTag tag) { + public BeltStorage(CompoundTag tag, HolderLookup.Provider registries) { uuid = tag.getUUID("uuid"); inventory = new BeltStackHandler(); - inventory.deserializeNBT(tag.getCompound("inventory")); + inventory.deserializeNBT(registries, tag.getCompound("inventory")); } public UUID getUUID() { @@ -28,10 +29,10 @@ public IItemHandler getInventory() { return inventory; } - public CompoundTag toNBT() { + public CompoundTag toNBT(HolderLookup.Provider registries) { CompoundTag tag = new CompoundTag(); tag.putUUID("uuid", uuid); - tag.put("inventory", inventory.serializeNBT()); + tag.put("inventory", inventory.serializeNBT(registries)); return tag; } } diff --git a/src/main/java/com/mrbysco/forcecraft/attachment/storage/PackStackHandler.java b/src/main/java/com/mrbysco/forcecraft/components/storage/PackStackHandler.java similarity index 81% rename from src/main/java/com/mrbysco/forcecraft/attachment/storage/PackStackHandler.java rename to src/main/java/com/mrbysco/forcecraft/components/storage/PackStackHandler.java index bdf1481f..cc2be506 100644 --- a/src/main/java/com/mrbysco/forcecraft/attachment/storage/PackStackHandler.java +++ b/src/main/java/com/mrbysco/forcecraft/components/storage/PackStackHandler.java @@ -1,9 +1,10 @@ -package com.mrbysco.forcecraft.attachment.storage; +package com.mrbysco.forcecraft.components.storage; import com.mrbysco.forcecraft.items.ForcePackItem; import com.mrbysco.forcecraft.items.infuser.UpgradeBookData; import com.mrbysco.forcecraft.items.infuser.UpgradeBookTier; import com.mrbysco.forcecraft.registry.ForceTags; +import net.minecraft.core.HolderLookup; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.ListTag; import net.minecraft.world.item.ItemStack; @@ -80,21 +81,21 @@ public boolean canUpgrade(UpgradeBookData bd) { if (upgrades >= MAX_UPGRADES) { return false; } - if (bd.getTier().asInt() >= UpgradeBookTier.TWO.asInt() && this.upgrades == 0) { + if (bd.tier().asInt() >= UpgradeBookTier.TWO.asInt() && this.upgrades == 0) { //0->1 so 8 into 16 slots return true; } - if (bd.getTier().asInt() >= UpgradeBookTier.THREE.asInt() && this.upgrades == 1) { + if (bd.tier().asInt() >= UpgradeBookTier.THREE.asInt() && this.upgrades == 1) { //bout to become 24 slots return true; } - if (bd.getTier().asInt() >= UpgradeBookTier.FOUR.asInt() && this.upgrades == 2) { + if (bd.tier().asInt() >= UpgradeBookTier.FOUR.asInt() && this.upgrades == 2) { return true; // 32 slots next } - if (bd.getTier().asInt() >= UpgradeBookTier.FIVE.asInt() && this.upgrades == 3) { + if (bd.tier().asInt() >= UpgradeBookTier.FIVE.asInt() && this.upgrades == 3) { return true; // will be upgrade 4, 40 slots } @@ -102,13 +103,13 @@ public boolean canUpgrade(UpgradeBookData bd) { } @Override - public CompoundTag serializeNBT() { + public CompoundTag serializeNBT(HolderLookup.Provider provider) { ListTag nbtTagList = new ListTag(); for (int i = 0; i < stacks.size(); i++) { if (!stacks.get(i).isEmpty()) { CompoundTag itemTag = new CompoundTag(); itemTag.putInt("Slot", i); - stacks.get(i).save(itemTag); + stacks.get(i).save(provider, itemTag); nbtTagList.add(itemTag); } } @@ -119,7 +120,7 @@ public CompoundTag serializeNBT() { } @Override - public void deserializeNBT(CompoundTag tag) { + public void deserializeNBT(HolderLookup.Provider provider, CompoundTag tag) { setUpgrades(tag.contains(NBT_UPGRADES, CompoundTag.TAG_INT) ? tag.getInt(NBT_UPGRADES) : upgrades); // setSize((getUpgrades() + 1) * 8); @@ -129,7 +130,7 @@ public void deserializeNBT(CompoundTag tag) { int slot = itemTags.getInt("Slot"); if (slot >= 0 && slot < stacks.size()) { - stacks.set(slot, ItemStack.of(itemTags)); + stacks.set(slot, ItemStack.parseOptional(provider, itemTags)); } } onLoad(); diff --git a/src/main/java/com/mrbysco/forcecraft/attachment/storage/PackStorage.java b/src/main/java/com/mrbysco/forcecraft/components/storage/PackStorage.java similarity index 62% rename from src/main/java/com/mrbysco/forcecraft/attachment/storage/PackStorage.java rename to src/main/java/com/mrbysco/forcecraft/components/storage/PackStorage.java index fc98044a..8f90c532 100644 --- a/src/main/java/com/mrbysco/forcecraft/attachment/storage/PackStorage.java +++ b/src/main/java/com/mrbysco/forcecraft/components/storage/PackStorage.java @@ -1,5 +1,6 @@ -package com.mrbysco.forcecraft.attachment.storage; +package com.mrbysco.forcecraft.components.storage; +import net.minecraft.core.HolderLookup; import net.minecraft.nbt.CompoundTag; import java.util.UUID; @@ -13,10 +14,10 @@ public PackStorage(UUID uuid) { this.inventory = new PackStackHandler(); } - public PackStorage(CompoundTag tag) { + public PackStorage(CompoundTag tag, HolderLookup.Provider registries) { this.uuid = tag.getUUID("uuid"); this.inventory = new PackStackHandler(); - this.inventory.deserializeNBT(tag.getCompound("inventory")); + this.inventory.deserializeNBT(registries, tag.getCompound("inventory")); } public UUID getUUID() { @@ -27,13 +28,13 @@ public PackStackHandler getInventory() { return this.inventory; } - public CompoundTag toNBT() { + public CompoundTag toNBT(HolderLookup.Provider registries) { CompoundTag tag = new CompoundTag(); tag.putUUID("uuid", this.uuid); tag.putString("sUUID", this.uuid.toString()); - tag.put("inventory", this.inventory.serializeNBT()); + tag.put("inventory", this.inventory.serializeNBT(registries)); return tag; } diff --git a/src/main/java/com/mrbysco/forcecraft/attachment/storage/StorageManager.java b/src/main/java/com/mrbysco/forcecraft/components/storage/StorageManager.java similarity index 74% rename from src/main/java/com/mrbysco/forcecraft/attachment/storage/StorageManager.java rename to src/main/java/com/mrbysco/forcecraft/components/storage/StorageManager.java index af6ba58d..ff87e02d 100644 --- a/src/main/java/com/mrbysco/forcecraft/attachment/storage/StorageManager.java +++ b/src/main/java/com/mrbysco/forcecraft/components/storage/StorageManager.java @@ -1,8 +1,10 @@ -package com.mrbysco.forcecraft.attachment.storage; +package com.mrbysco.forcecraft.components.storage; import com.mrbysco.forcecraft.Reference; +import com.mrbysco.forcecraft.components.ForceComponents; import com.mrbysco.forcecraft.items.ForceBeltItem; import com.mrbysco.forcecraft.items.ForcePackItem; +import net.minecraft.core.HolderLookup; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.ListTag; import net.minecraft.nbt.Tag; @@ -32,7 +34,8 @@ public static boolean isServer() { public static BeltWSD getBelts() { if (isServer()) { if (cachedBelts == null) - cachedBelts = ServerLifecycleHooks.getCurrentServer().getLevel(Level.OVERWORLD).getDataStorage().computeIfAbsent(new SavedData.Factory<>(BeltWSD::new, BeltWSD::load), BeltWSD.NAME); + cachedBelts = ServerLifecycleHooks.getCurrentServer().getLevel(Level.OVERWORLD).getDataStorage() + .computeIfAbsent(new SavedData.Factory<>(BeltWSD::new, BeltWSD::load), BeltWSD.NAME); return cachedBelts; } @@ -43,7 +46,8 @@ public static BeltWSD getBelts() { public static PackWSD getPacks() { if (isServer()) { if (cachedPacks == null) - cachedPacks = ServerLifecycleHooks.getCurrentServer().getLevel(Level.OVERWORLD).getDataStorage().computeIfAbsent(new SavedData.Factory<>(PackWSD::new, PackWSD::load), PackWSD.NAME); + cachedPacks = ServerLifecycleHooks.getCurrentServer().getLevel(Level.OVERWORLD).getDataStorage(). + computeIfAbsent(new SavedData.Factory<>(PackWSD::new, PackWSD::load), PackWSD.NAME); return cachedPacks; } @@ -55,20 +59,20 @@ public static BeltStorage getOrCreateBelt(ItemStack stack) { UUID uuid; BeltWSD data = getBelts(); - CompoundTag tag = stack.getOrCreateTag(); - if (!tag.contains("uuid")) { + if (!stack.has(ForceComponents.UUID)) { uuid = UUID.randomUUID(); - tag.putUUID("uuid", uuid); - } else - uuid = tag.getUUID("uuid"); + stack.set(ForceComponents.UUID, uuid); + } else { + uuid = stack.get(ForceComponents.UUID); + } return data.getOrCreate(uuid); } public static Optional getBelt(ItemStack stack) { - if (stack.hasTag() && stack.getTag().contains("uuid")) { + if (stack.has(ForceComponents.UUID)) { BeltWSD data = getBelts(); - UUID uuid = stack.getTag().getUUID("uuid"); + UUID uuid = stack.get(ForceComponents.UUID); if (data.contains(uuid)) { return Optional.of(data.get(uuid)); } @@ -88,20 +92,20 @@ public static PackStorage getOrCreatePack(ItemStack stack) { UUID uuid; PackWSD data = getPacks(); - CompoundTag tag = stack.getOrCreateTag(); - if (!tag.contains("uuid")) { + if (!stack.has(ForceComponents.UUID)) { uuid = UUID.randomUUID(); - tag.putUUID("uuid", uuid); - } else - uuid = tag.getUUID("uuid"); + stack.set(ForceComponents.UUID, uuid); + } else { + uuid = stack.get(ForceComponents.UUID); + } return data.getOrCreate(uuid); } public static Optional getPack(ItemStack stack) { - if (stack.hasTag() && stack.getTag().contains("uuid")) { + if (stack.has(ForceComponents.UUID)) { PackWSD data = getPacks(); - UUID uuid = stack.getTag().getUUID("uuid"); + UUID uuid = stack.get(ForceComponents.UUID); if (data.contains(uuid)) { return Optional.of(data.get(uuid)); } @@ -119,21 +123,19 @@ public static Optional getPack(UUID uuid) { public static Optional getUUID(ItemStack stack) { - if (stack.hasTag()) { - if (stack.getTag().contains("uuid")) - return Optional.of(stack.getTag().getUUID("uuid")); + if (stack.has(ForceComponents.UUID)) { + return Optional.of(stack.get(ForceComponents.UUID)); } return Optional.empty(); } public static IItemHandler getCapability(ItemStack stack) { if (isServer()) { - if (stack.getOrCreateTag().contains("uuid")) { + if (stack.has(ForceComponents.UUID)) { + UUID uuid = stack.get(ForceComponents.UUID); if (stack.getItem() instanceof ForceBeltItem) { - UUID uuid = stack.getTag().getUUID("uuid"); return getBelt(uuid).map(BeltStorage::getInventory).orElse(null); } else if (stack.getItem() instanceof ForcePackItem) { - UUID uuid = stack.getTag().getUUID("uuid"); return getPack(uuid).map(PackStorage::getInventory).orElse(null); } } @@ -166,20 +168,21 @@ public PackStorage getOrCreate(UUID uuid) { }); } - public static PackWSD load(CompoundTag tag) { + public static PackWSD load(CompoundTag tag, HolderLookup.Provider provider) { PackWSD data = new PackWSD(); if (tag.contains("packs")) { ListTag list = tag.getList("packs", Tag.TAG_COMPOUND); - list.forEach((invNBT) -> data.PACKS.put(((CompoundTag) invNBT).getUUID("uuid"), new PackStorage((CompoundTag) invNBT))); + list.forEach((invNBT) -> data.PACKS.put(((CompoundTag) invNBT).getUUID("uuid"), + new PackStorage((CompoundTag) invNBT, provider))); } return data; } @Override @Nonnull - public CompoundTag save(CompoundTag compound) { + public CompoundTag save(CompoundTag compound, HolderLookup.Provider provider) { ListTag packs = new ListTag(); - PACKS.forEach(((uuid, data) -> packs.add(data.toNBT()))); + PACKS.forEach(((uuid, data) -> packs.add(data.toNBT(provider)))); compound.put("packs", packs); return compound; } @@ -209,20 +212,21 @@ public BeltStorage getOrCreate(UUID uuid) { }); } - public static BeltWSD load(CompoundTag tag) { + public static BeltWSD load(CompoundTag tag, HolderLookup.Provider provider) { BeltWSD data = new BeltWSD(); if (tag.contains("belts")) { ListTag list = tag.getList("belts", Tag.TAG_COMPOUND); - list.forEach((invNBT) -> data.BELTS.put(((CompoundTag) invNBT).getUUID("uuid"), new BeltStorage((CompoundTag) invNBT))); + list.forEach((invNBT) -> data.BELTS.put(((CompoundTag) invNBT).getUUID("uuid"), + new BeltStorage((CompoundTag) invNBT, provider))); } return data; } @Override @Nonnull - public CompoundTag save(CompoundTag compound) { + public CompoundTag save(CompoundTag compound, HolderLookup.Provider provider) { ListTag belts = new ListTag(); - BELTS.forEach(((uuid, data) -> belts.add(data.toNBT()))); + BELTS.forEach(((uuid, data) -> belts.add(data.toNBT(provider)))); compound.put("belts", belts); return compound; } diff --git a/src/main/java/com/mrbysco/forcecraft/datagen/ForceDataGen.java b/src/main/java/com/mrbysco/forcecraft/datagen/ForceDataGen.java index 7296993e..d0797f08 100644 --- a/src/main/java/com/mrbysco/forcecraft/datagen/ForceDataGen.java +++ b/src/main/java/com/mrbysco/forcecraft/datagen/ForceDataGen.java @@ -25,7 +25,7 @@ import net.minecraft.data.PackOutput; import net.minecraft.data.registries.VanillaRegistries; import net.neoforged.bus.api.SubscribeEvent; -import net.neoforged.fml.common.Mod; +import net.neoforged.fml.common.EventBusSubscriber; import net.neoforged.neoforge.common.data.BlockTagsProvider; import net.neoforged.neoforge.common.data.DatapackBuiltinEntriesProvider; import net.neoforged.neoforge.common.data.ExistingFileHelper; @@ -35,7 +35,7 @@ import java.util.Set; import java.util.concurrent.CompletableFuture; -@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD) +@EventBusSubscriber(bus = EventBusSubscriber.Bus.MOD) public class ForceDataGen { @SubscribeEvent public static void gatherData(GatherDataEvent event) { @@ -45,14 +45,14 @@ public static void gatherData(GatherDataEvent event) { ExistingFileHelper existingFileHelper = event.getExistingFileHelper(); if (event.includeServer()) { - generator.addProvider(event.includeServer(), new ForceLootProvider(packOutput)); - generator.addProvider(event.includeServer(), new ForceRecipeProvider(packOutput)); - generator.addProvider(event.includeServer(), new PatchouliProvider(packOutput)); + generator.addProvider(event.includeServer(), new ForceLootProvider(packOutput, lookupProvider)); + generator.addProvider(event.includeServer(), new ForceRecipeProvider(packOutput, lookupProvider)); + generator.addProvider(event.includeServer(), new PatchouliProvider(packOutput, lookupProvider)); BlockTagsProvider provider; generator.addProvider(event.includeServer(), provider = new ForceBlockTagProvider(packOutput, lookupProvider, existingFileHelper)); generator.addProvider(event.includeServer(), new ForceItemTagProvider(packOutput, lookupProvider, provider, existingFileHelper)); generator.addProvider(event.includeServer(), new ForceDamageTypeTagProvider(packOutput, lookupProvider, existingFileHelper)); - generator.addProvider(event.includeServer(), new ForceLootModifierProvider(packOutput)); + generator.addProvider(event.includeServer(), new ForceLootModifierProvider(packOutput, lookupProvider)); generator.addProvider(event.includeServer(), new DatapackBuiltinEntriesProvider( packOutput, CompletableFuture.supplyAsync(ForceDataGen::getProvider), Set.of(Reference.MOD_ID))); diff --git a/src/main/java/com/mrbysco/forcecraft/datagen/data/ForceDamageTypeProvider.java b/src/main/java/com/mrbysco/forcecraft/datagen/data/ForceDamageTypeProvider.java index c7125892..f8ab9be8 100644 --- a/src/main/java/com/mrbysco/forcecraft/datagen/data/ForceDamageTypeProvider.java +++ b/src/main/java/com/mrbysco/forcecraft/datagen/data/ForceDamageTypeProvider.java @@ -1,12 +1,12 @@ package com.mrbysco.forcecraft.datagen.data; import com.mrbysco.forcecraft.registry.ForceDamageTypes; -import net.minecraft.data.worldgen.BootstapContext; +import net.minecraft.data.worldgen.BootstrapContext; import net.minecraft.world.damagesource.DamageEffects; import net.minecraft.world.damagesource.DamageType; public class ForceDamageTypeProvider { - public static void bootstrap(BootstapContext context) { + public static void bootstrap(BootstrapContext context) { context.register(ForceDamageTypes.BLEEDING, new DamageType("instrumentalmobs.bleeding", 0.0F)); context.register(ForceDamageTypes.LIQUID_FORCE, new DamageType("instrumentalmobs.liquid_force", 0.0F, DamageEffects.DROWNING)); } diff --git a/src/main/java/com/mrbysco/forcecraft/datagen/data/ForceLootModifierProvider.java b/src/main/java/com/mrbysco/forcecraft/datagen/data/ForceLootModifierProvider.java index 0dfed9f0..7ce2857c 100644 --- a/src/main/java/com/mrbysco/forcecraft/datagen/data/ForceLootModifierProvider.java +++ b/src/main/java/com/mrbysco/forcecraft/datagen/data/ForceLootModifierProvider.java @@ -4,14 +4,17 @@ import com.mrbysco.forcecraft.lootmodifiers.SmeltingModifier; import com.mrbysco.forcecraft.registry.ForceTags; import net.minecraft.advancements.critereon.ItemPredicate; +import net.minecraft.core.HolderLookup; import net.minecraft.data.PackOutput; import net.minecraft.world.level.storage.loot.predicates.LootItemCondition; import net.minecraft.world.level.storage.loot.predicates.MatchTool; import net.neoforged.neoforge.common.data.GlobalLootModifierProvider; +import java.util.concurrent.CompletableFuture; + public class ForceLootModifierProvider extends GlobalLootModifierProvider { - public ForceLootModifierProvider(PackOutput packOutput) { - super(packOutput, Reference.MOD_ID); + public ForceLootModifierProvider(PackOutput packOutput, CompletableFuture lookupProvider) { + super(packOutput, lookupProvider, Reference.MOD_ID); } @Override diff --git a/src/main/java/com/mrbysco/forcecraft/datagen/data/ForceLootProvider.java b/src/main/java/com/mrbysco/forcecraft/datagen/data/ForceLootProvider.java index 5c01c18c..cbab0a6d 100644 --- a/src/main/java/com/mrbysco/forcecraft/datagen/data/ForceLootProvider.java +++ b/src/main/java/com/mrbysco/forcecraft/datagen/data/ForceLootProvider.java @@ -2,18 +2,21 @@ import com.mrbysco.forcecraft.registry.ForceEntities; import com.mrbysco.forcecraft.registry.ForceRegistry; -import com.mrbysco.forcecraft.registry.ForceTables; import net.minecraft.advancements.critereon.EntityPredicate; import net.minecraft.advancements.critereon.MinMaxBounds; import net.minecraft.advancements.critereon.SlimePredicate; +import net.minecraft.core.HolderLookup; +import net.minecraft.core.WritableRegistry; +import net.minecraft.core.registries.Registries; import net.minecraft.data.PackOutput; import net.minecraft.data.loot.BlockLootSubProvider; import net.minecraft.data.loot.EntityLootSubProvider; import net.minecraft.data.loot.LootTableProvider; -import net.minecraft.resources.ResourceLocation; +import net.minecraft.util.ProblemReporter; import net.minecraft.world.entity.EntityType; import net.minecraft.world.flag.FeatureFlags; import net.minecraft.world.item.Items; +import net.minecraft.world.item.enchantment.Enchantment; import net.minecraft.world.item.enchantment.Enchantments; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.storage.loot.LootContext; @@ -22,20 +25,19 @@ import net.minecraft.world.level.storage.loot.ValidationContext; import net.minecraft.world.level.storage.loot.entries.LootItem; import net.minecraft.world.level.storage.loot.functions.ApplyBonusCount; -import net.minecraft.world.level.storage.loot.functions.LootingEnchantFunction; +import net.minecraft.world.level.storage.loot.functions.EnchantedCountIncreaseFunction; import net.minecraft.world.level.storage.loot.functions.SetItemCountFunction; import net.minecraft.world.level.storage.loot.functions.SmeltItemFunction; import net.minecraft.world.level.storage.loot.parameters.LootContextParamSets; import net.minecraft.world.level.storage.loot.predicates.LootItemEntityPropertyCondition; -import net.minecraft.world.level.storage.loot.predicates.LootItemRandomChanceWithLootingCondition; +import net.minecraft.world.level.storage.loot.predicates.LootItemRandomChanceWithEnchantedBonusCondition; import net.minecraft.world.level.storage.loot.providers.number.ConstantValue; import net.minecraft.world.level.storage.loot.providers.number.UniformGenerator; import net.neoforged.neoforge.registries.DeferredHolder; -import javax.annotation.Nonnull; import java.util.List; -import java.util.Map; import java.util.Set; +import java.util.concurrent.CompletableFuture; import java.util.stream.Stream; import static com.mrbysco.forcecraft.registry.ForceRegistry.BLACK_FORCE_FURNACE; @@ -154,26 +156,27 @@ import static com.mrbysco.forcecraft.registry.ForceRegistry.WHITE_FORCE_FURNACE; public class ForceLootProvider extends LootTableProvider { - public ForceLootProvider(PackOutput packOutput) { + public ForceLootProvider(PackOutput packOutput, CompletableFuture lookupProvider) { super(packOutput, Set.of(), List.of( new SubProviderEntry(ForceBlockLoot::new, LootContextParamSets.BLOCK), new SubProviderEntry(ForceEntityLoot::new, LootContextParamSets.ENTITY), new SubProviderEntry(SpoilsBagLootTableProvider::new, LootContextParamSets.GIFT) - )); + ), lookupProvider); } private static class ForceBlockLoot extends BlockLootSubProvider { - protected ForceBlockLoot() { - super(Set.of(), FeatureFlags.REGISTRY.allFlags()); + protected ForceBlockLoot(HolderLookup.Provider provider) { + super(Set.of(), FeatureFlags.REGISTRY.allFlags(), provider); } @Override public void generate() { + HolderLookup.RegistryLookup registrylookup = this.registries.lookupOrThrow(Registries.ENCHANTMENT); add(POWER_ORE.get(), (ore) -> createSilkTouchDispatchTable(ore, applyExplosionDecay(POWER_ORE_ITEM.get(), LootItem.lootTableItem(FORCE_GEM.get()) - .apply(SetItemCountFunction.setCount(UniformGenerator.between(2.0F, 4.0F))).apply(ApplyBonusCount.addUniformBonusCount(Enchantments.BLOCK_FORTUNE))))); + .apply(SetItemCountFunction.setCount(UniformGenerator.between(2.0F, 4.0F))).apply(ApplyBonusCount.addUniformBonusCount(registrylookup.getOrThrow(Enchantments.FORTUNE)))))); add(DEEPSLATE_POWER_ORE.get(), (ore) -> createSilkTouchDispatchTable(ore, applyExplosionDecay(POWER_ORE_ITEM.get(), LootItem.lootTableItem(FORCE_GEM.get()) - .apply(SetItemCountFunction.setCount(UniformGenerator.between(2.0F, 4.0F))).apply(ApplyBonusCount.addUniformBonusCount(Enchantments.BLOCK_FORTUNE))))); + .apply(SetItemCountFunction.setCount(UniformGenerator.between(2.0F, 4.0F))).apply(ApplyBonusCount.addUniformBonusCount(registrylookup.getOrThrow(Enchantments.FORTUNE)))))); dropSelf(INFUSER.get()); add(FORCE_FURNACE.get(), createNameableBlockEntityTable(FORCE_FURNACE.get())); @@ -305,8 +308,8 @@ protected Iterable getKnownBlocks() { private static class ForceEntityLoot extends EntityLootSubProvider { - protected ForceEntityLoot() { - super(FeatureFlags.REGISTRY.allFlags()); + protected ForceEntityLoot(HolderLookup.Provider provider) { + super(FeatureFlags.REGISTRY.allFlags(), provider); } @Override @@ -321,11 +324,8 @@ public void generate() { .setRolls(ConstantValue.exactly(1.0F)) .add( LootItem.lootTableItem(Items.CHICKEN) - .apply( - SmeltItemFunction.smelted() - .when(LootItemEntityPropertyCondition.hasProperties(LootContext.EntityTarget.THIS, ENTITY_ON_FIRE)) - ) - .apply(LootingEnchantFunction.lootingMultiplier(UniformGenerator.between(0.0F, 1.0F))) + .apply(SmeltItemFunction.smelted().when(this.shouldSmeltLoot())) + .apply(EnchantedCountIncreaseFunction.lootingMultiplier(this.registries, UniformGenerator.between(0.0F, 1.0F))) ) ) ); @@ -339,11 +339,8 @@ public void generate() { .add( LootItem.lootTableItem(Items.BEEF) .apply(SetItemCountFunction.setCount(UniformGenerator.between(1.0F, 3.0F))) - .apply( - SmeltItemFunction.smelted() - .when(LootItemEntityPropertyCondition.hasProperties(LootContext.EntityTarget.THIS, ENTITY_ON_FIRE)) - ) - .apply(LootingEnchantFunction.lootingMultiplier(UniformGenerator.between(0.0F, 1.0F))) + .apply(SmeltItemFunction.smelted().when(this.shouldSmeltLoot())) + .apply(EnchantedCountIncreaseFunction.lootingMultiplier(this.registries, UniformGenerator.between(0.0F, 1.0F))) ) ) ); @@ -357,11 +354,8 @@ public void generate() { .add( LootItem.lootTableItem(Items.PORKCHOP) .apply(SetItemCountFunction.setCount(UniformGenerator.between(1.0F, 3.0F))) - .apply( - SmeltItemFunction.smelted() - .when(LootItemEntityPropertyCondition.hasProperties(LootContext.EntityTarget.THIS, ENTITY_ON_FIRE)) - ) - .apply(LootingEnchantFunction.lootingMultiplier(UniformGenerator.between(0.0F, 1.0F))) + .apply(SmeltItemFunction.smelted().when(this.shouldSmeltLoot())) + .apply(EnchantedCountIncreaseFunction.lootingMultiplier(this.registries, UniformGenerator.between(0.0F, 1.0F))) ) ) ); @@ -377,7 +371,7 @@ public void generate() { .add( LootItem.lootTableItem(Items.ENDER_PEARL) .apply(SetItemCountFunction.setCount(UniformGenerator.between(0.0F, 1.0F))) - .apply(LootingEnchantFunction.lootingMultiplier(UniformGenerator.between(0.0F, 1.0F))) + .apply(EnchantedCountIncreaseFunction.lootingMultiplier(this.registries, UniformGenerator.between(0.0F, 1.0F))) ) ) ); @@ -391,14 +385,14 @@ public void generate() { .add( LootItem.lootTableItem(Items.ENDER_PEARL) .apply(SetItemCountFunction.setCount(UniformGenerator.between(0.0F, 1.0F))) - .apply(LootingEnchantFunction.lootingMultiplier(UniformGenerator.between(0.0F, 1.0F))) + .apply(EnchantedCountIncreaseFunction.lootingMultiplier(this.registries, UniformGenerator.between(0.0F, 1.0F))) ) ) .withPool( LootPool.lootPool() .name("spoils") .setRolls(ConstantValue.exactly(1.0F)) - .when(LootItemRandomChanceWithLootingCondition.randomChanceAndLootingBoost(0.025F, 0.01F)) + .when(LootItemRandomChanceWithEnchantedBonusCondition.randomChanceAndLootingBoost(this.registries, 0.025F, 0.01F)) .add( LootItem.lootTableItem(ForceRegistry.SPOILS_BAG.get()) ) @@ -415,14 +409,14 @@ public void generate() { .add( LootItem.lootTableItem(ForceRegistry.PILE_OF_GUNPOWDER.get()) .apply(SetItemCountFunction.setCount(UniformGenerator.between(0.0F, 2.0F))) - .apply(LootingEnchantFunction.lootingMultiplier(UniformGenerator.between(0.0F, 1.0F))) + .apply(EnchantedCountIncreaseFunction.lootingMultiplier(this.registries, UniformGenerator.between(0.0F, 1.0F))) ) ) .withPool( LootPool.lootPool() .name("head") .setRolls(ConstantValue.exactly(1.0F)) - .when(LootItemRandomChanceWithLootingCondition.randomChanceAndLootingBoost(0.025F, 0.01F)) + .when(LootItemRandomChanceWithEnchantedBonusCondition.randomChanceAndLootingBoost(this.registries, 0.025F, 0.01F)) .add( LootItem.lootTableItem(Items.CREEPER_HEAD) ) @@ -431,7 +425,7 @@ public void generate() { LootPool.lootPool() .name("spoils") .setRolls(ConstantValue.exactly(1.0F)) - .when(LootItemRandomChanceWithLootingCondition.randomChanceAndLootingBoost(0.025F, 0.01F)) + .when(LootItemRandomChanceWithEnchantedBonusCondition.randomChanceAndLootingBoost(this.registries, 0.025F, 0.01F)) .add( LootItem.lootTableItem(ForceRegistry.SPOILS_BAG.get()) ) @@ -448,7 +442,7 @@ public void generate() { .add( LootItem.lootTableItem(ForceRegistry.BLUE_CHU_JELLY.get()) .apply(SetItemCountFunction.setCount(UniformGenerator.between(0.0F, 2.0F))) - .apply(LootingEnchantFunction.lootingMultiplier(UniformGenerator.between(0.0F, 1.0F))) + .apply(EnchantedCountIncreaseFunction.lootingMultiplier(this.registries, UniformGenerator.between(0.0F, 1.0F))) .when(this.killedByFrog().invert()) ) .add( @@ -474,7 +468,7 @@ public void generate() { .add( LootItem.lootTableItem(ForceRegistry.GOLD_CHU_JELLY.get()) .apply(SetItemCountFunction.setCount(UniformGenerator.between(0.0F, 2.0F))) - .apply(LootingEnchantFunction.lootingMultiplier(UniformGenerator.between(0.0F, 1.0F))) + .apply(EnchantedCountIncreaseFunction.lootingMultiplier(this.registries, UniformGenerator.between(0.0F, 1.0F))) .when(this.killedByFrog().invert()) ) .add( @@ -500,7 +494,7 @@ public void generate() { .add( LootItem.lootTableItem(ForceRegistry.GREEN_CHU_JELLY.get()) .apply(SetItemCountFunction.setCount(UniformGenerator.between(0.0F, 2.0F))) - .apply(LootingEnchantFunction.lootingMultiplier(UniformGenerator.between(0.0F, 1.0F))) + .apply(EnchantedCountIncreaseFunction.lootingMultiplier(this.registries, UniformGenerator.between(0.0F, 1.0F))) .when(this.killedByFrog().invert()) ) .add( @@ -526,7 +520,7 @@ public void generate() { .add( LootItem.lootTableItem(ForceRegistry.RED_CHU_JELLY.get()) .apply(SetItemCountFunction.setCount(UniformGenerator.between(0.0F, 2.0F))) - .apply(LootingEnchantFunction.lootingMultiplier(UniformGenerator.between(0.0F, 1.0F))) + .apply(EnchantedCountIncreaseFunction.lootingMultiplier(this.registries, UniformGenerator.between(0.0F, 1.0F))) .when(this.killedByFrog().invert()) ) .add( @@ -567,17 +561,22 @@ protected Stream> getKnownEntityTypes() { } @Override - protected void validate(Map map, @Nonnull ValidationContext validationContext) { - List ignored = List.of( - ForceTables.TIER_1, - ForceTables.TIER_2, - ForceTables.TIER_3 - ); - - map.forEach((name, table) -> { - if (!ignored.contains(name)) { - table.validate(validationContext); - } - }); + protected void validate(WritableRegistry writableregistry, ValidationContext validationcontext, ProblemReporter.Collector problemreporter$collector) { +// super.validate(writableregistry, validationcontext, problemreporter$collector); } + +// @Override +// protected void validate(Map map, @Nonnull ValidationContext validationContext) { +// List ignored = List.of( +// ForceTables.TIER_1, +// ForceTables.TIER_2, +// ForceTables.TIER_3 +// ); +// +// map.forEach((name, table) -> { +// if (!ignored.contains(name)) { +// table.validate(validationContext); +// } +// }); +// } } diff --git a/src/main/java/com/mrbysco/forcecraft/datagen/data/ForceRecipeProvider.java b/src/main/java/com/mrbysco/forcecraft/datagen/data/ForceRecipeProvider.java index 53337839..66a9f2e7 100644 --- a/src/main/java/com/mrbysco/forcecraft/datagen/data/ForceRecipeProvider.java +++ b/src/main/java/com/mrbysco/forcecraft/datagen/data/ForceRecipeProvider.java @@ -2,6 +2,7 @@ import com.mrbysco.forcecraft.Reference; import com.mrbysco.forcecraft.blockentities.InfuserModifierType; +import com.mrbysco.forcecraft.components.ForceComponents; import com.mrbysco.forcecraft.datagen.data.recipe.InfuseRecipeBuilder; import com.mrbysco.forcecraft.datagen.data.recipe.MultipleOutputRecipeBuilder; import com.mrbysco.forcecraft.datagen.data.recipe.NoRemainderShapedBuilder; @@ -10,6 +11,7 @@ import com.mrbysco.forcecraft.recipe.condition.TorchEnabledCondition; import com.mrbysco.forcecraft.registry.ForceRegistry; import com.mrbysco.forcecraft.registry.ForceTags; +import net.minecraft.core.HolderLookup; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.data.PackOutput; import net.minecraft.data.recipes.RecipeCategory; @@ -19,31 +21,32 @@ import net.minecraft.data.recipes.ShapelessRecipeBuilder; import net.minecraft.data.recipes.SimpleCookingRecipeBuilder; import net.minecraft.data.recipes.SingleItemRecipeBuilder; -import net.minecraft.nbt.CompoundTag; import net.minecraft.resources.ResourceLocation; import net.minecraft.tags.ItemTags; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; -import net.minecraft.world.item.alchemy.PotionUtils; +import net.minecraft.world.item.alchemy.PotionContents; import net.minecraft.world.item.alchemy.Potions; import net.minecraft.world.item.crafting.CampfireCookingRecipe; import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.item.crafting.RecipeSerializer; import net.minecraft.world.item.crafting.SmokingRecipe; import net.neoforged.neoforge.common.Tags; -import net.neoforged.neoforge.common.crafting.NBTIngredient; +import net.neoforged.neoforge.common.crafting.DataComponentIngredient; +import vazkii.patchouli.common.item.PatchouliDataComponents; import java.util.List; +import java.util.concurrent.CompletableFuture; public class ForceRecipeProvider extends RecipeProvider { - public ForceRecipeProvider(PackOutput packOutput) { - super(packOutput); + public ForceRecipeProvider(PackOutput packOutput, CompletableFuture lookupProvider) { + super(packOutput, lookupProvider); } @Override - protected void buildRecipes(RecipeOutput output) { + protected void buildRecipes(RecipeOutput output, HolderLookup.Provider provider) { //Stairs ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, ForceRegistry.FORCE_PLANK_STAIRS.get(), 4).define('#', ForceRegistry.FORCE_PLANKS.get()).pattern("# ").pattern("## ").pattern("###").unlockedBy("has_planks", has(ForceRegistry.FORCE_PLANKS.get())).save(output); ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, ForceRegistry.FORCE_BRICK_RED_STAIRS.get(), 4).define('#', ForceRegistry.FORCE_BRICK_RED.get()).pattern("# ").pattern("## ").pattern("###").unlockedBy("has_bricks", has(ForceRegistry.FORCE_BRICK_RED.get())).save(output); @@ -581,7 +584,7 @@ protected void buildRecipes(RecipeOutput output) { .pattern(" #S") .define('N', ForceTags.FORCE_NUGGET) .define('S', ForceTags.FORCE_ROD) - .define('#', Tags.Items.STRING) + .define('#', Tags.Items.STRINGS) .unlockedBy("has_force_nugget", has(ForceTags.FORCE_NUGGET)) .unlockedBy("has_force_rod", has(ForceTags.FORCE_ROD)) .save(output); @@ -612,12 +615,12 @@ protected void buildRecipes(RecipeOutput output) { .pattern("CFI") .pattern("CLL") .define('F', ForceTags.FORCE_INGOT) - .define('L', Tags.Items.LEATHER) - .define('C', Tags.Items.COBBLESTONE_NORMAL) + .define('L', Tags.Items.LEATHERS) + .define('C', Tags.Items.COBBLESTONES_NORMAL) .define('I', Tags.Items.INGOTS_IRON) .unlockedBy("has_force_ingot", has(ForceTags.FORCE_INGOT)) - .unlockedBy("has_leather", has(Tags.Items.LEATHER)) - .unlockedBy("has_cobblestone", has(Tags.Items.COBBLESTONE_NORMAL)) + .unlockedBy("has_leather", has(Tags.Items.LEATHERS)) + .unlockedBy("has_cobblestone", has(Tags.Items.COBBLESTONES_NORMAL)) .unlockedBy("has_iron_ingot", has(Tags.Items.INGOTS_IRON)) .save(output); //Rod @@ -699,11 +702,11 @@ protected void buildRecipes(RecipeOutput output) { .pattern("LWL") .define('F', ForceTags.FORCE_INGOT) .define('I', Tags.Items.INGOTS_IRON) - .define('L', Tags.Items.LEATHER) + .define('L', Tags.Items.LEATHERS) .define('W', ItemTags.WOOL) .unlockedBy("has_force_ingot", has(ForceTags.FORCE_INGOT)) .unlockedBy("has_iron_ingot", has(Tags.Items.INGOTS_IRON)) - .unlockedBy("has_leather", has(Tags.Items.LEATHER)) + .unlockedBy("has_leather", has(Tags.Items.LEATHERS)) .unlockedBy("has_wool", has(ItemTags.WOOL)) .save(output); //Force Engine @@ -712,11 +715,11 @@ protected void buildRecipes(RecipeOutput output) { .pattern(" # ") .pattern("GPG") .define('F', ForceTags.FORCE_INGOT) - .define('#', Tags.Items.GLASS) + .define('#', Tags.Items.GLASS_BLOCKS) .define('G', ForceTags.FORCE_GEAR) .define('P', Items.PISTON) .unlockedBy("has_force_ingot", has(ForceTags.FORCE_INGOT)) - .unlockedBy("has_glass", has(Tags.Items.GLASS)) + .unlockedBy("has_glass", has(Tags.Items.GLASS_BLOCKS)) .unlockedBy("has_force_gear", has(ForceTags.FORCE_GEAR)) .unlockedBy("has_piston", has(Items.PISTON)) .save(output); @@ -751,10 +754,10 @@ protected void buildRecipes(RecipeOutput output) { .pattern("LCL") .pattern("FLF") .define('F', ForceTags.FORCE_INGOT) - .define('L', Tags.Items.LEATHER) + .define('L', Tags.Items.LEATHERS) .define('C', ItemTags.PLANKS) .unlockedBy("has_force_ingot", has(ForceTags.FORCE_INGOT)) - .unlockedBy("has_leather", has(Tags.Items.LEATHER)) + .unlockedBy("has_leather", has(Tags.Items.LEATHERS)) .unlockedBy("has_planks", has(ItemTags.PLANKS)) .save(output); //Force Pack Upgrade @@ -763,10 +766,10 @@ protected void buildRecipes(RecipeOutput output) { .pattern("LIL") .pattern("WLW") .define('I', ForceTags.FORCE_INGOT) - .define('L', Tags.Items.LEATHER) + .define('L', Tags.Items.LEATHERS) .define('W', ItemTags.WOOL) .unlockedBy("has_force_ingot", has(ForceTags.FORCE_INGOT)) - .unlockedBy("has_leather", has(Tags.Items.LEATHER)) + .unlockedBy("has_leather", has(Tags.Items.LEATHERS)) .unlockedBy("has_wool", has(ItemTags.WOOL)) .save(output); //Force Flask @@ -775,9 +778,9 @@ protected void buildRecipes(RecipeOutput output) { .pattern("G G") .pattern(" G ") .define('N', ForceTags.FORCE_NUGGET) - .define('G', Tags.Items.GLASS) + .define('G', Tags.Items.GLASS_BLOCKS) .unlockedBy("has_force_nugget", has(ForceTags.FORCE_NUGGET)) - .unlockedBy("has_glass", has(Tags.Items.GLASS)) + .unlockedBy("has_glass", has(Tags.Items.GLASS_BLOCKS)) .save(output); NoRemainderShapedBuilder.shaped(RecipeCategory.MISC, ForceRegistry.FORCE_FLASK.get()) .pattern("E") @@ -882,12 +885,12 @@ protected void buildRecipes(RecipeOutput output) { .pattern(" G ") .pattern("BSF") .pattern(" L ") - .define('G', Tags.Items.GUNPOWDER) + .define('G', Tags.Items.GUNPOWDERS) .define('S', ForceRegistry.SNOW_COOKIE.get()) .define('B', Tags.Items.BONES) .define('F', Items.ROTTEN_FLESH) .define('L', Tags.Items.DYES_LIGHT_BLUE) - .unlockedBy("has_gunpowder", has(Tags.Items.GUNPOWDER)) + .unlockedBy("has_gunpowder", has(Tags.Items.GUNPOWDERS)) .unlockedBy("has_snow_cookie", has(ForceRegistry.SNOW_COOKIE.get())) .unlockedBy("has_bone", has(Tags.Items.BONES)) .unlockedBy("has_rotten_flesh", has(Items.ROTTEN_FLESH)) @@ -937,11 +940,10 @@ protected void buildRecipes(RecipeOutput output) { } public static ItemStack getGuideBook() { - Item guideBook = BuiltInRegistries.ITEM.get(new ResourceLocation("patchouli", "guide_book")); + Item guideBook = BuiltInRegistries.ITEM.get(ResourceLocation.fromNamespaceAndPath("patchouli", "guide_book")); if (guideBook != null) { ItemStack patchouliBook = new ItemStack(guideBook); - CompoundTag tag = patchouliBook.getOrCreateTag(); - tag.putString("patchouli:book", "forcecraft:force_and_you"); + patchouliBook.set(PatchouliDataComponents.BOOK, Reference.modLoc("force_and_you")); return patchouliBook; } return ItemStack.EMPTY; @@ -1067,9 +1069,9 @@ private void addInfuserRecipes(RecipeOutput output) { 20 ).modifierType(InfuserModifierType.SILK) .save(output, Reference.modLoc("infuser/infuse_silk")); - final ItemStack invisibility = PotionUtils.setPotion(new ItemStack(Items.POTION), Potions.INVISIBILITY); + final ItemStack invisibility = PotionContents.createItemStack(Items.POTION, Potions.INVISIBILITY); InfuseRecipeBuilder.infuse( - NBTIngredient.of(false, invisibility), + DataComponentIngredient.of(false, invisibility), Ingredient.of(ForceTags.VALID_CAMO_TOOLS), UpgradeBookTier.THREE, 20 @@ -1177,7 +1179,7 @@ private void addMultiOutputRecipes(RecipeOutput output) { .setResult(Items.BONE_MEAL, 1) .unlockedBy("has_core", has(ForceRegistry.FREEZING_CORE)) .save(output, Reference.modLoc("freezing/bone_meal_from_blaze_powder")); - MultipleOutputRecipeBuilder.freezing(Ingredient.of(Tags.Items.INGOTS_NETHER_BRICK), 0.1F, 200) + MultipleOutputRecipeBuilder.freezing(Ingredient.of(Tags.Items.BRICKS_NORMAL), 0.1F, 200) .setResult(Items.BRICK, 1) .unlockedBy("has_core", has(ForceRegistry.FREEZING_CORE)) .save(output, Reference.modLoc("freezing/brick_from_nether_brick")); @@ -1185,8 +1187,8 @@ private void addMultiOutputRecipes(RecipeOutput output) { .setResult(Items.LEATHER, 1) .unlockedBy("has_core", has(ForceRegistry.FREEZING_CORE)) .save(output, Reference.modLoc("freezing/leather_from_rotten_flesh")); - final ItemStack waterBottle = PotionUtils.setPotion(new ItemStack(Items.POTION), Potions.WATER); - MultipleOutputRecipeBuilder.freezing(NBTIngredient.of(false, waterBottle), 0.1F, 200) + final ItemStack waterBottle = PotionContents.createItemStack(Items.POTION, Potions.WATER); + MultipleOutputRecipeBuilder.freezing(DataComponentIngredient.of(false, waterBottle), 0.1F, 200) .setResult(Items.ICE, 1) .setResult(Items.GLASS_BOTTLE, 1) .unlockedBy("has_core", has(ForceRegistry.FREEZING_CORE)) @@ -1196,7 +1198,7 @@ private void addMultiOutputRecipes(RecipeOutput output) { .setResult(Items.BUCKET, 1) .unlockedBy("has_core", has(ForceRegistry.FREEZING_CORE)) .save(output, Reference.modLoc("freezing/ice_from_water_bucket")); - MultipleOutputRecipeBuilder.freezing(Ingredient.of(Tags.Items.NETHERRACK), 0.1F, 200) + MultipleOutputRecipeBuilder.freezing(Ingredient.of(Tags.Items.NETHERRACKS), 0.1F, 200) .setResult(Items.COBBLESTONE, 1) .unlockedBy("has_core", has(ForceRegistry.FREEZING_CORE)) .save(output, Reference.modLoc("freezing/cobblestone_from_netherrack")); @@ -1205,11 +1207,11 @@ private void addMultiOutputRecipes(RecipeOutput output) { .setResult(Items.BUCKET, 1) .unlockedBy("has_core", has(ForceRegistry.FREEZING_CORE)) .save(output, Reference.modLoc("freezing/obsidian_from_lava_bucket")); - MultipleOutputRecipeBuilder.freezing(Ingredient.of(Tags.Items.SAND_COLORLESS), 0.1F, 200) + MultipleOutputRecipeBuilder.freezing(Ingredient.of(Tags.Items.SANDS_COLORLESS), 0.1F, 200) .setResult(Items.SANDSTONE, 1) .unlockedBy("has_core", has(ForceRegistry.FREEZING_CORE)) .save(output, Reference.modLoc("freezing/sandstone_from_sand")); - MultipleOutputRecipeBuilder.freezing(Ingredient.of(Tags.Items.SAND_RED), 0.1F, 200) + MultipleOutputRecipeBuilder.freezing(Ingredient.of(Tags.Items.SANDS_RED), 0.1F, 200) .setResult(Items.RED_SANDSTONE, 1) .unlockedBy("has_core", has(ForceRegistry.FREEZING_CORE)) .save(output, Reference.modLoc("freezing/sandstone_from_red_sand")); @@ -1217,11 +1219,11 @@ private void addMultiOutputRecipes(RecipeOutput output) { .setResult(Items.SNOWBALL, 1) .unlockedBy("has_core", has(ForceRegistry.FREEZING_CORE)) .save(output, Reference.modLoc("freezing/snowball_from_slimeball")); - MultipleOutputRecipeBuilder.freezing(Ingredient.of(Tags.Items.COBBLESTONE_NORMAL), 0.1F, 200) + MultipleOutputRecipeBuilder.freezing(Ingredient.of(Tags.Items.COBBLESTONES_NORMAL), 0.1F, 200) .setResult(Items.STONE, 1) .unlockedBy("has_core", has(ForceRegistry.FREEZING_CORE)) .save(output, Reference.modLoc("freezing/stone_from_cobblestone")); - MultipleOutputRecipeBuilder.freezing(Ingredient.of(Tags.Items.STONE), 0.1F, 200) + MultipleOutputRecipeBuilder.freezing(Ingredient.of(Tags.Items.STONES), 0.1F, 200) .setResult(Items.STONE_BRICKS, 1) .unlockedBy("has_core", has(ForceRegistry.FREEZING_CORE)) .save(output, Reference.modLoc("freezing/stone_bricks_from_stone")); @@ -1381,7 +1383,7 @@ private void addMultiOutputRecipes(RecipeOutput output) { .save(output, Reference.modLoc("grinding/ingots_from_force_furnace")); //Flint - MultipleOutputRecipeBuilder.grinding(Ingredient.of(Tags.Items.GRAVEL), 1.0F, 0.1F, 400) + MultipleOutputRecipeBuilder.grinding(Ingredient.of(Tags.Items.GRAVELS), 1.0F, 0.1F, 400) .setResult(Items.FLINT, 1) .unlockedBy("has_core", has(ForceRegistry.GRINDING_CORE)) .save(output, Reference.modLoc("grinding/flint_from_gravel")); @@ -1429,7 +1431,7 @@ private void addMultiOutputRecipes(RecipeOutput output) { .setResult(Items.RED_SAND, 1) .unlockedBy("has_core", has(ForceRegistry.GRINDING_CORE)) .save(output, Reference.modLoc("grinding/sand_from_red_sandstone")); - MultipleOutputRecipeBuilder.grinding(Ingredient.of(Tags.Items.COBBLESTONE_NORMAL), 1.0F, 0.1F, 400) + MultipleOutputRecipeBuilder.grinding(Ingredient.of(Tags.Items.COBBLESTONES_NORMAL), 1.0F, 0.1F, 400) .setResult(Items.COBBLESTONE, 1) .unlockedBy("has_core", has(ForceRegistry.GRINDING_CORE)) .save(output, Reference.modLoc("grinding/sand_from_cobblestone")); @@ -1769,11 +1771,9 @@ private void addTransmutationRecipes(RecipeOutput output) { .save(output, Reference.modLoc("transmutation/upgrade_tome")); ItemStack experienceTomeStack = new ItemStack(ForceRegistry.EXPERIENCE_TOME.get()); - CompoundTag tag = experienceTomeStack.getOrCreateTag(); - tag.putInt("Experience", 100); - experienceTomeStack.setTag(tag); + experienceTomeStack.set(ForceComponents.TOME_EXPERIENCE, 100); TransmutationRecipeBuilder.transmutation(ForceRegistry.UPGRADE_CORE.get()) - .requires(NBTIngredient.of(false, experienceTomeStack)) + .requires(DataComponentIngredient.of(false, experienceTomeStack)) .unlockedBy("has_experience_tome", has(ForceRegistry.EXPERIENCE_TOME.get())) .save(output, Reference.modLoc("transmutation/upgrade_core")); diff --git a/src/main/java/com/mrbysco/forcecraft/datagen/data/SpoilsBagLootTableProvider.java b/src/main/java/com/mrbysco/forcecraft/datagen/data/SpoilsBagLootTableProvider.java index 80972d37..f7ca7419 100644 --- a/src/main/java/com/mrbysco/forcecraft/datagen/data/SpoilsBagLootTableProvider.java +++ b/src/main/java/com/mrbysco/forcecraft/datagen/data/SpoilsBagLootTableProvider.java @@ -1,15 +1,16 @@ package com.mrbysco.forcecraft.datagen.data; import com.mrbysco.forcecraft.registry.ForceTables; -import net.minecraft.data.loot.packs.VanillaGiftLoot; -import net.minecraft.resources.ResourceLocation; +import net.minecraft.core.HolderLookup; +import net.minecraft.data.loot.LootTableSubProvider; +import net.minecraft.resources.ResourceKey; import net.minecraft.world.item.Items; import net.minecraft.world.level.storage.loot.BuiltInLootTables; import net.minecraft.world.level.storage.loot.LootPool; import net.minecraft.world.level.storage.loot.LootTable; import net.minecraft.world.level.storage.loot.LootTable.Builder; import net.minecraft.world.level.storage.loot.entries.LootItem; -import net.minecraft.world.level.storage.loot.entries.LootTableReference; +import net.minecraft.world.level.storage.loot.entries.NestedLootTable; import net.minecraft.world.level.storage.loot.functions.SetItemCountFunction; import net.minecraft.world.level.storage.loot.providers.number.UniformGenerator; @@ -32,10 +33,12 @@ import static com.mrbysco.forcecraft.registry.ForceRegistry.LIFE_CARD; import static com.mrbysco.forcecraft.registry.ForceRegistry.UNDEATH_CARD; -public class SpoilsBagLootTableProvider extends VanillaGiftLoot { +public class SpoilsBagLootTableProvider implements LootTableSubProvider { + public SpoilsBagLootTableProvider(HolderLookup.Provider provider) { + } @Override - public void generate(BiConsumer consumer) { + public void generate(BiConsumer, Builder> consumer) { consumer.accept(ForceTables.TIER_1, LootTable.lootTable() .withPool(LootPool.lootPool().setRolls(UniformGenerator.between(1.0F, 4.0F)) .name("Force Loot") @@ -52,9 +55,9 @@ public void generate(BiConsumer consumer) { ) .withPool(LootPool.lootPool() .name("Other tables") - .add(LootTableReference.lootTableReference(BuiltInLootTables.VILLAGE_TOOLSMITH)) - .add(LootTableReference.lootTableReference(BuiltInLootTables.VILLAGE_WEAPONSMITH)) - .add(LootTableReference.lootTableReference(BuiltInLootTables.SPAWN_BONUS_CHEST))) + .add(NestedLootTable.lootTableReference(BuiltInLootTables.VILLAGE_TOOLSMITH)) + .add(NestedLootTable.lootTableReference(BuiltInLootTables.VILLAGE_WEAPONSMITH)) + .add(NestedLootTable.lootTableReference(BuiltInLootTables.SPAWN_BONUS_CHEST))) ); consumer.accept(ForceTables.TIER_2, LootTable.lootTable() @@ -73,10 +76,10 @@ public void generate(BiConsumer consumer) { ) .withPool(LootPool.lootPool() .name("Other Tables") - .add(LootTableReference.lootTableReference(BuiltInLootTables.SIMPLE_DUNGEON)) - .add(LootTableReference.lootTableReference(BuiltInLootTables.DESERT_PYRAMID)) - .add(LootTableReference.lootTableReference(BuiltInLootTables.JUNGLE_TEMPLE)) - .add(LootTableReference.lootTableReference(BuiltInLootTables.NETHER_BRIDGE)) + .add(NestedLootTable.lootTableReference(BuiltInLootTables.SIMPLE_DUNGEON)) + .add(NestedLootTable.lootTableReference(BuiltInLootTables.DESERT_PYRAMID)) + .add(NestedLootTable.lootTableReference(BuiltInLootTables.JUNGLE_TEMPLE)) + .add(NestedLootTable.lootTableReference(BuiltInLootTables.NETHER_BRIDGE)) ) ); @@ -99,13 +102,13 @@ public void generate(BiConsumer consumer) { ) .withPool(LootPool.lootPool() .name("Other Tables") - .add(LootTableReference.lootTableReference(BuiltInLootTables.ABANDONED_MINESHAFT)) - .add(LootTableReference.lootTableReference(BuiltInLootTables.STRONGHOLD_CORRIDOR)) - .add(LootTableReference.lootTableReference(BuiltInLootTables.STRONGHOLD_LIBRARY)) - .add(LootTableReference.lootTableReference(BuiltInLootTables.STRONGHOLD_CROSSING)) - .add(LootTableReference.lootTableReference(BuiltInLootTables.BASTION_TREASURE)) - .add(LootTableReference.lootTableReference(BuiltInLootTables.BURIED_TREASURE)) - .add(LootTableReference.lootTableReference(BuiltInLootTables.END_CITY_TREASURE)) + .add(NestedLootTable.lootTableReference(BuiltInLootTables.ABANDONED_MINESHAFT)) + .add(NestedLootTable.lootTableReference(BuiltInLootTables.STRONGHOLD_CORRIDOR)) + .add(NestedLootTable.lootTableReference(BuiltInLootTables.STRONGHOLD_LIBRARY)) + .add(NestedLootTable.lootTableReference(BuiltInLootTables.STRONGHOLD_CROSSING)) + .add(NestedLootTable.lootTableReference(BuiltInLootTables.BASTION_TREASURE)) + .add(NestedLootTable.lootTableReference(BuiltInLootTables.BURIED_TREASURE)) + .add(NestedLootTable.lootTableReference(BuiltInLootTables.END_CITY_TREASURE)) ) ); } diff --git a/src/main/java/com/mrbysco/forcecraft/datagen/data/tags/ForceBlockTagProvider.java b/src/main/java/com/mrbysco/forcecraft/datagen/data/tags/ForceBlockTagProvider.java index 51d95b56..35e40d51 100644 --- a/src/main/java/com/mrbysco/forcecraft/datagen/data/tags/ForceBlockTagProvider.java +++ b/src/main/java/com/mrbysco/forcecraft/datagen/data/tags/ForceBlockTagProvider.java @@ -91,17 +91,17 @@ public ForceBlockTagProvider(PackOutput output, CompletableFuture ORES_IN_GROUND_DEEPSLATE = forgeTag("ores_in_ground/deepslate"); - public static final TagKey ORES_IN_GROUND_STONE = forgeTag("ores_in_ground/stone"); - public static final TagKey ORES = forgeTag("ores"); - public static final TagKey ORES_POWER = forgeTag("ores/power"); + public static final TagKey ORES_IN_GROUND_DEEPSLATE = commonTag("ores_in_ground/deepslate"); + public static final TagKey ORES_IN_GROUND_STONE = commonTag("ores_in_ground/stone"); + public static final TagKey ORES = commonTag("ores"); + public static final TagKey ORES_POWER = commonTag("ores/power"); - private static TagKey forgeTag(String name) { - return BlockTags.create(new ResourceLocation("forge", name)); + private static TagKey commonTag(String name) { + return BlockTags.create(ResourceLocation.fromNamespaceAndPath("c", name)); } private static TagKey optionalTag(String modid, String name) { - return BlockTags.create(new ResourceLocation(modid, name)); + return BlockTags.create(ResourceLocation.fromNamespaceAndPath(modid, name)); } @Override @@ -125,7 +125,7 @@ protected void addTags(HolderLookup.Provider provider) { LIME_FORCE_FURNACE.get(), MAGENTA_FORCE_FURNACE.get(), ORANGE_FORCE_FURNACE.get(), PINK_FORCE_FURNACE.get(), PURPLE_FORCE_FURNACE.get(), RED_FORCE_FURNACE.get(), WHITE_FORCE_FURNACE.get(), FORCE_ENGINE.get() ); - this.tag(ForceTags.NEEDS_FORCE_TOOL).add(INFUSER.get(), FORCE_ENGINE.get()); + this.tag(ForceTags.INCORRECT_FOR_FORCE).addTag(BlockTags.INCORRECT_FOR_DIAMOND_TOOL); this.tag(BlockTags.NEEDS_DIAMOND_TOOL).add(FORCE_BRICK_RED.get(), FORCE_BRICK_YELLOW.get(), FORCE_BRICK_GREEN.get(), FORCE_BRICK_BLUE.get(), FORCE_BRICK_WHITE.get(), FORCE_BRICK_BLACK.get(), FORCE_BRICK_BROWN.get(), FORCE_BRICK_ORANGE.get(), FORCE_BRICK_LIGHT_BLUE.get(), FORCE_BRICK_MAGENTA.get(), diff --git a/src/main/java/com/mrbysco/forcecraft/datagen/data/tags/ForceItemTagProvider.java b/src/main/java/com/mrbysco/forcecraft/datagen/data/tags/ForceItemTagProvider.java index 099c6fe1..4c547f4c 100644 --- a/src/main/java/com/mrbysco/forcecraft/datagen/data/tags/ForceItemTagProvider.java +++ b/src/main/java/com/mrbysco/forcecraft/datagen/data/tags/ForceItemTagProvider.java @@ -26,13 +26,13 @@ public ForceItemTagProvider(PackOutput output, CompletableFuture ORES_IN_GROUND_DEEPSLATE = forgeTag("ores_in_ground/deepslate"); - public static final TagKey ORES_IN_GROUND_STONE = forgeTag("ores_in_ground/stone"); - public static final TagKey ORES = forgeTag("ores"); - public static final TagKey ORES_POWER = forgeTag("ores/power"); + public static final TagKey ORES_IN_GROUND_DEEPSLATE = commonTag("ores_in_ground/deepslate"); + public static final TagKey ORES_IN_GROUND_STONE = commonTag("ores_in_ground/stone"); + public static final TagKey ORES = commonTag("ores"); + public static final TagKey ORES_POWER = commonTag("ores/power"); - private static TagKey forgeTag(String name) { - return ItemTags.create(new ResourceLocation("forge", name)); + private static TagKey commonTag(String name) { + return ItemTags.create(ResourceLocation.fromNamespaceAndPath("c", name)); } @Override diff --git a/src/main/java/com/mrbysco/forcecraft/datagen/patchouli/PatchouliProvider.java b/src/main/java/com/mrbysco/forcecraft/datagen/patchouli/PatchouliProvider.java index 1846a282..6d6bf82c 100644 --- a/src/main/java/com/mrbysco/forcecraft/datagen/patchouli/PatchouliProvider.java +++ b/src/main/java/com/mrbysco/forcecraft/datagen/patchouli/PatchouliProvider.java @@ -2,26 +2,27 @@ import com.mrbysco.forcecraft.Reference; import com.mrbysco.forcecraft.registry.ForceRegistry; +import net.minecraft.core.HolderLookup; import net.minecraft.data.PackOutput; -import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; -import net.minecraft.world.item.alchemy.PotionUtils; +import net.minecraft.world.item.alchemy.PotionContents; import net.minecraft.world.item.alchemy.Potions; import xyz.brassgoggledcoders.patchouliprovider.BookBuilder; import xyz.brassgoggledcoders.patchouliprovider.CategoryBuilder; import xyz.brassgoggledcoders.patchouliprovider.PatchouliBookProvider; +import java.util.concurrent.CompletableFuture; import java.util.function.Consumer; public class PatchouliProvider extends PatchouliBookProvider { - public PatchouliProvider(PackOutput packOutput) { - super(packOutput, Reference.MOD_ID, "en_us"); + public PatchouliProvider(PackOutput packOutput, CompletableFuture lookupProvider) { + super(packOutput, Reference.MOD_ID, "en_us", lookupProvider); } @Override - protected void addBooks(Consumer consumer) { - BookBuilder bookBuilder = createBookBuilder("force_and_you", "item.forcecraft.book.name", "info.forcecraft.book.landing") + protected void addBooks(Consumer consumer, HolderLookup.Provider provider) { + BookBuilder bookBuilder = createBookBuilder("force_and_you", "item.forcecraft.book.name", "info.forcecraft.book.landing", provider) .setSubtitle("info.forcecraft.book.subtitle") .setAdvancementsTab("forcecraft:root") .setCreativeTab("forcecraft") @@ -288,8 +289,7 @@ public BookBuilder addTier3(BookBuilder builder) { .addSpotlightPage(webStack).build() .build(); - ItemStack potionStack = new ItemStack(Items.POTION); - PotionUtils.setPotion(potionStack, Potions.INVISIBILITY); + ItemStack potionStack = PotionContents.createItemStack(Items.POTION, Potions.INVISIBILITY); tierCategory.addEntry("tier_3/camo", "info.forcecraft.book.camo.entry.name", potionStack).setSecret(true) .setAdvancement("forcecraft:tier3/tier") .addTextPage("info.forcecraft.book.camo_info.text").build() diff --git a/src/main/java/com/mrbysco/forcecraft/effects/BleedingEffect.java b/src/main/java/com/mrbysco/forcecraft/effects/BleedingEffect.java index ea35667c..8ed0b9e1 100644 --- a/src/main/java/com/mrbysco/forcecraft/effects/BleedingEffect.java +++ b/src/main/java/com/mrbysco/forcecraft/effects/BleedingEffect.java @@ -26,10 +26,11 @@ public boolean shouldApplyEffectTickThisTick(int duration, int amplifier) { } @Override - public void applyEffectTick(LivingEntity target, int amplifier) { + public boolean applyEffectTick(LivingEntity target, int amplifier) { //once per tick if (target.level().getGameTime() % 20 == 0) { target.hurt(Reference.causeBleedingDamage(target), 2.0F); } + return true; } } diff --git a/src/main/java/com/mrbysco/forcecraft/effects/MagnetEffect.java b/src/main/java/com/mrbysco/forcecraft/effects/MagnetEffect.java index dde4a1e9..b78cd981 100644 --- a/src/main/java/com/mrbysco/forcecraft/effects/MagnetEffect.java +++ b/src/main/java/com/mrbysco/forcecraft/effects/MagnetEffect.java @@ -33,7 +33,7 @@ public boolean shouldApplyEffectTickThisTick(int duration, int amplifier) { } @Override - public void applyEffectTick(LivingEntity entity, int amplifier) { + public boolean applyEffectTick(LivingEntity entity, int amplifier) { //Inspired by Botania Code double x = entity.getX(); double y = entity.getY() + 0.75; @@ -51,7 +51,7 @@ public void applyEffectTick(LivingEntity entity, int amplifier) { // constant force! float strength = 0.14F; - Vec3 entityVector = new Vec3(item.getX(), item.getY() - item.getMyRidingOffset(entity) + item.getBbHeight() / 2, item.getZ()); + Vec3 entityVector = new Vec3(item.getX(), item.getY() - item.getPassengerRidingPosition(entity).y() + item.getBbHeight() / 2, item.getZ()); Vec3 finalVector = new Vec3(x, y, z).subtract(entityVector); if (Math.sqrt(finalVector.x * finalVector.x + finalVector.y * finalVector.y + finalVector.z * finalVector.z) > 1) { @@ -60,6 +60,7 @@ public void applyEffectTick(LivingEntity entity, int amplifier) { item.setDeltaMovement(finalVector.multiply(strength, strength, strength)); } + return true; } @Override diff --git a/src/main/java/com/mrbysco/forcecraft/entities/AngryEndermanEntity.java b/src/main/java/com/mrbysco/forcecraft/entities/AngryEndermanEntity.java index 0c046d5a..fe88698f 100644 --- a/src/main/java/com/mrbysco/forcecraft/entities/AngryEndermanEntity.java +++ b/src/main/java/com/mrbysco/forcecraft/entities/AngryEndermanEntity.java @@ -19,7 +19,7 @@ import net.minecraft.world.entity.monster.Monster; import net.minecraft.world.entity.player.Player; import net.minecraft.world.level.Level; -import net.minecraft.world.level.pathfinder.BlockPathTypes; +import net.minecraft.world.level.pathfinder.PathType; import org.jetbrains.annotations.Nullable; import java.util.EnumSet; @@ -28,7 +28,7 @@ public class AngryEndermanEntity extends EnderMan { public AngryEndermanEntity(EntityType type, Level level) { super(type, level); - this.setPathfindingMalus(BlockPathTypes.WATER, 8.0F); //Reset to default as like Ender Tots, Angry Enderman aren't afraid of water + this.setPathfindingMalus(PathType.WATER, 8.0F); //Reset to default as like Ender Tots, Angry Enderman aren't afraid of water } protected void registerGoals() { diff --git a/src/main/java/com/mrbysco/forcecraft/entities/ChuChuEntity.java b/src/main/java/com/mrbysco/forcecraft/entities/ChuChuEntity.java index 513aba08..6e7294d8 100644 --- a/src/main/java/com/mrbysco/forcecraft/entities/ChuChuEntity.java +++ b/src/main/java/com/mrbysco/forcecraft/entities/ChuChuEntity.java @@ -1,7 +1,6 @@ package com.mrbysco.forcecraft.entities; import net.minecraft.core.BlockPos; -import net.minecraft.resources.ResourceLocation; import net.minecraft.util.RandomSource; import net.minecraft.world.Difficulty; import net.minecraft.world.entity.EntityType; @@ -21,11 +20,6 @@ public ChuChuEntity(EntityType type, Level level) { super(type, level); } - @Override - protected ResourceLocation getDefaultLootTable() { - return this.getType().getDefaultLootTable(); - } - @Override protected boolean isDealsDamage() { return true; diff --git a/src/main/java/com/mrbysco/forcecraft/entities/ColdChickenEntity.java b/src/main/java/com/mrbysco/forcecraft/entities/ColdChickenEntity.java index f010f6b6..4876ee9e 100644 --- a/src/main/java/com/mrbysco/forcecraft/entities/ColdChickenEntity.java +++ b/src/main/java/com/mrbysco/forcecraft/entities/ColdChickenEntity.java @@ -18,7 +18,7 @@ public class ColdChickenEntity extends Chicken implements IColdMob { public ColdChickenEntity(EntityType type, Level level) { super(type, level); - this.originalTypeLocation = new ResourceLocation("minecraft", "chicken"); + this.originalTypeLocation = ResourceLocation.withDefaultNamespace("chicken"); } public ColdChickenEntity(Level level, ResourceLocation typeLocation) { @@ -38,9 +38,9 @@ public void readAdditionalSaveData(CompoundTag compound) { super.readAdditionalSaveData(compound); if (compound.getString("OriginalMob").isEmpty()) { - this.originalTypeLocation = new ResourceLocation("minecraft", "chicken"); + this.originalTypeLocation = ResourceLocation.withDefaultNamespace("chicken"); } else { - this.originalTypeLocation = new ResourceLocation(compound.getString("OriginalMob")); + this.originalTypeLocation = ResourceLocation.tryParse(compound.getString("OriginalMob")); } } diff --git a/src/main/java/com/mrbysco/forcecraft/entities/ColdCowEntity.java b/src/main/java/com/mrbysco/forcecraft/entities/ColdCowEntity.java index 9ead2a97..9c553cad 100644 --- a/src/main/java/com/mrbysco/forcecraft/entities/ColdCowEntity.java +++ b/src/main/java/com/mrbysco/forcecraft/entities/ColdCowEntity.java @@ -18,7 +18,7 @@ public class ColdCowEntity extends Cow implements IColdMob { public ColdCowEntity(EntityType type, Level level) { super(type, level); - this.originalTypeLocation = new ResourceLocation("minecraft", "cow"); + this.originalTypeLocation = ResourceLocation.withDefaultNamespace("cow"); } public ColdCowEntity(Level level, ResourceLocation typeLocation) { @@ -38,9 +38,9 @@ public void readAdditionalSaveData(CompoundTag compound) { super.readAdditionalSaveData(compound); if (compound.getString("OriginalMob").isEmpty()) { - this.originalTypeLocation = new ResourceLocation("minecraft", "cow"); + this.originalTypeLocation = ResourceLocation.withDefaultNamespace("cow"); } else { - this.originalTypeLocation = new ResourceLocation(compound.getString("OriginalMob")); + this.originalTypeLocation = ResourceLocation.tryParse(compound.getString("OriginalMob")); } } diff --git a/src/main/java/com/mrbysco/forcecraft/entities/ColdPigEntity.java b/src/main/java/com/mrbysco/forcecraft/entities/ColdPigEntity.java index 9603dea1..80ef93b5 100644 --- a/src/main/java/com/mrbysco/forcecraft/entities/ColdPigEntity.java +++ b/src/main/java/com/mrbysco/forcecraft/entities/ColdPigEntity.java @@ -18,7 +18,7 @@ public class ColdPigEntity extends Pig implements IColdMob { public ColdPigEntity(EntityType type, Level level) { super(type, level); - this.originalTypeLocation = new ResourceLocation("minecraft", "pig"); + this.originalTypeLocation = ResourceLocation.withDefaultNamespace("pig"); } public ColdPigEntity(Level level, ResourceLocation typeLocation) { @@ -38,9 +38,9 @@ public void readAdditionalSaveData(CompoundTag compound) { super.readAdditionalSaveData(compound); if (compound.getString("OriginalMob").isEmpty()) { - this.originalTypeLocation = new ResourceLocation("minecraft", "pig"); + this.originalTypeLocation = ResourceLocation.withDefaultNamespace("pig"); } else { - this.originalTypeLocation = new ResourceLocation(compound.getString("OriginalMob")); + this.originalTypeLocation = ResourceLocation.tryParse(compound.getString("OriginalMob")); } } diff --git a/src/main/java/com/mrbysco/forcecraft/entities/CreeperTotEntity.java b/src/main/java/com/mrbysco/forcecraft/entities/CreeperTotEntity.java index 9a80c03c..e8011e58 100644 --- a/src/main/java/com/mrbysco/forcecraft/entities/CreeperTotEntity.java +++ b/src/main/java/com/mrbysco/forcecraft/entities/CreeperTotEntity.java @@ -2,6 +2,7 @@ import com.mrbysco.forcecraft.registry.ForceEntities; import com.mrbysco.forcecraft.registry.ForceRegistry; +import it.unimi.dsi.fastutil.ints.IntList; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.ListTag; import net.minecraft.sounds.SoundEvents; @@ -12,10 +13,14 @@ import net.minecraft.world.entity.monster.Monster; import net.minecraft.world.item.DyeColor; import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.component.FireworkExplosion; import net.minecraft.world.level.GameRules; import net.minecraft.world.level.Level; import net.minecraft.world.phys.Vec3; +import java.util.ArrayList; +import java.util.List; + public class CreeperTotEntity extends Creeper { public CreeperTotEntity(EntityType type, Level level) { @@ -39,7 +44,7 @@ public void explodeCreeper() { if (!this.level().isClientSide) { this.dead = true; - this.playSound(SoundEvents.GENERIC_EXPLODE, 4.0F, (1.0F + (this.level().random.nextFloat() - this.level().random.nextFloat()) * 0.2F) * 0.7F); + this.playSound(SoundEvents.GENERIC_EXPLODE.value(), 4.0F, (1.0F + (this.level().random.nextFloat() - this.level().random.nextFloat()) * 0.2F) * 0.7F); if (this.level().getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT) && this.getRandom().nextInt(4) == 0) { spawnAtLocation(new ItemStack(ForceRegistry.PILE_OF_GUNPOWDER.get(), this.getRandom().nextInt(2) + 1)); @@ -49,7 +54,7 @@ public void explodeCreeper() { } } - public void summonFireworkParticles(CompoundTag fireworksTag, double yOffset) { + public void summonFireworkParticles(List fireworksTag, double yOffset) { if (fireworksTag != null) { Vec3 vector3d = this.getDeltaMovement(); this.level().createFireworks(this.getX(), this.getY() + yOffset, this.getZ(), vector3d.x, vector3d.y, vector3d.z, fireworksTag); @@ -68,41 +73,37 @@ public void handleEntityEvent(byte id) { super.handleEntityEvent(id); } - public CompoundTag getFireworkTag() { - CompoundTag tag = new CompoundTag(); - tag.putBoolean("Flicker", true); + public List getFireworkTag() { + List explosions = new ArrayList<>(); int[] colors = new int[16]; for (int i = 0; i < 16; i++) { colors[i] = DyeColor.byId(i).getFireworkColor(); } - tag.putIntArray("Colors", colors); - tag.putByte("Type", (byte) 0); - - ListTag explosions = new ListTag(); - explosions.add(tag); - - CompoundTag fireworkTag = new CompoundTag(); - fireworkTag.put("Explosions", explosions); - - return fireworkTag; + FireworkExplosion explosion = new FireworkExplosion( + FireworkExplosion.Shape.SMALL_BALL, + IntList.of(colors), + IntList.of(colors), + false, + true + ); + explosions.add(explosion); + + return explosions; } - public CompoundTag getCreeperFireworkTag() { - CompoundTag tag = new CompoundTag(); - tag.putBoolean("Flicker", true); - - int[] colors = new int[1]; - colors[0] = DyeColor.LIME.getFireworkColor(); - tag.putIntArray("Colors", colors); - tag.putByte("Type", (byte) 3); - - ListTag explosions = new ListTag(); - explosions.add(tag); + public List getCreeperFireworkTag() { + List explosions = new ArrayList<>(); - CompoundTag fireworkTag = new CompoundTag(); - fireworkTag.put("Explosions", explosions); + FireworkExplosion explosion = new FireworkExplosion( + FireworkExplosion.Shape.CREEPER, + IntList.of(DyeColor.LIME.getFireworkColor()), + IntList.of(DyeColor.LIME.getFireworkColor()), + false, + true + ); + explosions.add(explosion); - return fireworkTag; + return explosions; } } diff --git a/src/main/java/com/mrbysco/forcecraft/entities/EnderTotEntity.java b/src/main/java/com/mrbysco/forcecraft/entities/EnderTotEntity.java index a6a6fa95..693f2974 100644 --- a/src/main/java/com/mrbysco/forcecraft/entities/EnderTotEntity.java +++ b/src/main/java/com/mrbysco/forcecraft/entities/EnderTotEntity.java @@ -1,10 +1,8 @@ package com.mrbysco.forcecraft.entities; -import com.mrbysco.forcecraft.Reference; import com.mrbysco.forcecraft.registry.ForceEntities; import com.mrbysco.forcecraft.registry.ForceTags; import net.minecraft.core.BlockPos; -import net.minecraft.resources.ResourceLocation; import net.minecraft.util.Mth; import net.minecraft.util.RandomSource; import net.minecraft.world.damagesource.DamageSource; @@ -34,7 +32,7 @@ import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.pathfinder.BlockPathTypes; +import net.minecraft.world.level.pathfinder.PathType; import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.Vec3; @@ -47,11 +45,9 @@ import java.util.function.Predicate; public class EnderTotEntity extends EnderMan { - private static final ResourceLocation TOT_HOLDABLE = Reference.modLoc("endertot_holdable"); - public EnderTotEntity(EntityType type, Level level) { super(type, level); - this.setPathfindingMalus(BlockPathTypes.WATER, 8.0F); //Reset to default as Ender Tots aren't afraid of water + this.setPathfindingMalus(PathType.WATER, 8.0F); //Reset to default as Ender Tots aren't afraid of water } protected void registerGoals() { @@ -258,7 +254,7 @@ public TakeBlockGoal(EnderTotEntity endertotIn) { public boolean canUse() { if (this.endertot.getCarriedBlock() != null) { return false; - } else if (!EventHooks.getMobGriefingEvent(this.endertot.level(), this.endertot)) { + } else if (!EventHooks.canEntityGrief(this.endertot.level(), this.endertot)) { return false; } else { return this.endertot.getRandom().nextInt(20) == 0; @@ -302,7 +298,7 @@ public PlaceBlockGoal(EnderTotEntity totEntity) { public boolean canUse() { if (this.endertot.getCarriedBlock() == null) { return false; - } else if (!EventHooks.getMobGriefingEvent(this.endertot.level(), this.endertot)) { + } else if (!EventHooks.canEntityGrief(this.endertot.level(), this.endertot)) { return false; } else { return this.endertot.getRandom().nextInt(2000) == 0; diff --git a/src/main/java/com/mrbysco/forcecraft/entities/FairyEntity.java b/src/main/java/com/mrbysco/forcecraft/entities/FairyEntity.java index 23ff7825..a23b1fee 100644 --- a/src/main/java/com/mrbysco/forcecraft/entities/FairyEntity.java +++ b/src/main/java/com/mrbysco/forcecraft/entities/FairyEntity.java @@ -26,7 +26,7 @@ import net.minecraft.world.level.Level; import net.minecraft.world.level.LevelAccessor; import net.minecraft.world.level.LevelReader; -import net.minecraft.world.level.pathfinder.BlockPathTypes; +import net.minecraft.world.level.pathfinder.PathType; import net.minecraft.world.phys.Vec3; import org.jetbrains.annotations.Nullable; @@ -38,11 +38,11 @@ public FairyEntity(EntityType type, Level level) { super(type, level); this.moveControl = new FlyingMoveControl(this, 20, true); this.lookControl = new LookHelperController(this); - this.setPathfindingMalus(BlockPathTypes.DANGER_FIRE, -1.0F); - this.setPathfindingMalus(BlockPathTypes.WATER, -1.0F); - this.setPathfindingMalus(BlockPathTypes.WATER_BORDER, 16.0F); - this.setPathfindingMalus(BlockPathTypes.COCOA, -1.0F); - this.setPathfindingMalus(BlockPathTypes.FENCE, -1.0F); + this.setPathfindingMalus(PathType.DANGER_FIRE, -1.0F); + this.setPathfindingMalus(PathType.WATER, -1.0F); + this.setPathfindingMalus(PathType.WATER_BORDER, 16.0F); + this.setPathfindingMalus(PathType.COCOA, -1.0F); + this.setPathfindingMalus(PathType.FENCE, -1.0F); } public float getWalkTargetValue(BlockPos pos, LevelReader level) { @@ -65,7 +65,7 @@ public static AttributeSupplier.Builder generateAttributes() { } @Override - public boolean canBeLeashed(Player player) { + public boolean canBeLeashed() { return false; } diff --git a/src/main/java/com/mrbysco/forcecraft/entities/goal/EatGrassToRestoreGoal.java b/src/main/java/com/mrbysco/forcecraft/entities/goal/EatGrassToRestoreGoal.java index 90271fd4..e51beb00 100644 --- a/src/main/java/com/mrbysco/forcecraft/entities/goal/EatGrassToRestoreGoal.java +++ b/src/main/java/com/mrbysco/forcecraft/entities/goal/EatGrassToRestoreGoal.java @@ -90,7 +90,7 @@ public void tick() { if (this.getEatingGrassTimer() == 4) { BlockPos blockpos = this.grassEaterEntity.blockPosition(); if (IS_GRASS.test(this.entityWorld.getBlockState(blockpos))) { - if (EventHooks.getMobGriefingEvent(this.entityWorld, this.grassEaterEntity)) { + if (EventHooks.canEntityGrief(this.entityWorld, this.grassEaterEntity)) { this.entityWorld.destroyBlock(blockpos, false); } @@ -98,7 +98,7 @@ public void tick() { } else { BlockPos blockpos1 = blockpos.below(); if (this.entityWorld.getBlockState(blockpos1).is(Blocks.GRASS_BLOCK)) { - if (EventHooks.getMobGriefingEvent(this.entityWorld, this.grassEaterEntity)) { + if (EventHooks.canEntityGrief(this.entityWorld, this.grassEaterEntity)) { this.entityWorld.levelEvent(2001, blockpos1, Block.getId(Blocks.GRASS_BLOCK.defaultBlockState())); this.entityWorld.setBlock(blockpos1, Blocks.DIRT.defaultBlockState(), 2); } diff --git a/src/main/java/com/mrbysco/forcecraft/entities/projectile/FlaskEntity.java b/src/main/java/com/mrbysco/forcecraft/entities/projectile/FlaskEntity.java index 0e76df85..2eed3c98 100644 --- a/src/main/java/com/mrbysco/forcecraft/entities/projectile/FlaskEntity.java +++ b/src/main/java/com/mrbysco/forcecraft/entities/projectile/FlaskEntity.java @@ -70,8 +70,9 @@ protected Item getDefaultItem() { return ForceRegistry.ENTITY_FLASK.get(); } - protected float getGravity() { - return 0.05F; + @Override + protected double getDefaultGravity() { + return 0.05D; } @Override @@ -89,7 +90,9 @@ protected void onHitEntity(EntityHitResult result) { this.setItem(new ItemStack(ForceRegistry.FORCE_FLASK.get())); } else { - if (entity.isAlive() && !entity.isInvulnerable() && !(entity instanceof Player) && entity instanceof LivingEntity livingEntity && entity.canChangeDimensions() && !forceFlask.isBlacklisted((LivingEntity) entity)) { + if (entity.isAlive() && !entity.isInvulnerable() && !(entity instanceof Player) && + entity instanceof LivingEntity livingEntity && entity.canChangeDimensions(this.level(), entity.level()) && + !forceFlask.isBlacklisted((LivingEntity) entity)) { ItemStack entityFlask = null; if (entity instanceof Bat) { entityFlask = new ItemStack(ForceRegistry.BAT_FLASK.get()); diff --git a/src/main/java/com/mrbysco/forcecraft/entities/projectile/ForceArrowEntity.java b/src/main/java/com/mrbysco/forcecraft/entities/projectile/ForceArrowEntity.java index 60a5105c..1bc3a73d 100644 --- a/src/main/java/com/mrbysco/forcecraft/entities/projectile/ForceArrowEntity.java +++ b/src/main/java/com/mrbysco/forcecraft/entities/projectile/ForceArrowEntity.java @@ -1,7 +1,8 @@ package com.mrbysco.forcecraft.entities.projectile; import com.mrbysco.forcecraft.ForceCraft; -import com.mrbysco.forcecraft.attachment.banemodifier.BaneModifierAttachment; +import com.mrbysco.forcecraft.attachments.ForceAttachments; +import com.mrbysco.forcecraft.attachments.banemodifier.BaneModifierAttachment; import com.mrbysco.forcecraft.registry.ForceEntities; import com.mrbysco.forcecraft.registry.ForceRegistry; import com.mrbysco.forcecraft.util.ForceUtils; @@ -19,11 +20,8 @@ import net.minecraft.world.entity.monster.Creeper; import net.minecraft.world.entity.projectile.Arrow; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.Items; -import net.minecraft.world.item.alchemy.Potions; import net.minecraft.world.level.Level; - -import static com.mrbysco.forcecraft.attachment.ForceAttachments.BANE_MODIFIER; +import org.jetbrains.annotations.Nullable; public class ForceArrowEntity extends Arrow { private static final EntityDataAccessor ENDER = SynchedEntityData.defineId(ForceArrowEntity.class, EntityDataSerializers.BOOLEAN); @@ -42,6 +40,10 @@ public ForceArrowEntity(Level level, LivingEntity shooter) { this.setOwner(shooter); } + public ForceArrowEntity(Level level, LivingEntity shooter, ItemStack itemStack, @Nullable ItemStack weapon) { + super(level, shooter, itemStack, weapon); + } + @Override public void shootFromRotation(Entity projectile, float x, float y, float z, float velocity, float inaccuracy) { float newVelocity = isSpeedy() ? velocity + 1.0F : velocity; @@ -49,14 +51,14 @@ public void shootFromRotation(Entity projectile, float x, float y, float z, floa } @Override - protected void defineSynchedData() { - super.defineSynchedData(); - this.entityData.define(ENDER, false); - this.entityData.define(BANE, false); - this.entityData.define(LUCK, 0); - this.entityData.define(BLEEDING, 0); - this.entityData.define(SPEED, false); - this.entityData.define(GLOWING, false); + protected void defineSynchedData(SynchedEntityData.Builder builder) { + super.defineSynchedData(builder); + builder.define(ENDER, false); + builder.define(BANE, false); + builder.define(LUCK, 0); + builder.define(BLEEDING, 0); + builder.define(SPEED, false); + builder.define(GLOWING, false); } public boolean isBane() { @@ -147,14 +149,14 @@ public void addAdditionalSaveData(CompoundTag compound) { compound.putInt("Bleeding", getBleeding()); } - @Override - public void setEffectsFromItem(ItemStack stack) { - if (stack.getItem() == Items.ARROW) { - this.potion = Potions.EMPTY; - this.effects.clear(); - this.entityData.set(ID_EFFECT_COLOR, -1); - } - } +// @Override +// public void setEffectsFromItem(ItemStack stack) { +// if (stack.getItem() == Items.ARROW) { +// this.potion = Potions.EMPTY; +// this.effects.clear(); +// this.entityData.set(ID_EFFECT_COLOR, -1); +// } +// } @Override protected void doPostHurtEffects(LivingEntity living) { @@ -174,7 +176,7 @@ protected void doPostHurtEffects(LivingEntity living) { if (isBane()) { if (living instanceof Creeper creeper) { - BaneModifierAttachment attachment = creeper.getData(BANE_MODIFIER); + BaneModifierAttachment attachment = creeper.getData(ForceAttachments.BANE_MODIFIER); if (attachment.canExplode()) { creeper.setSwellDir(-1); creeper.getEntityData().set(Creeper.DATA_IS_IGNITED, false); @@ -182,7 +184,7 @@ protected void doPostHurtEffects(LivingEntity living) { creeper.goalSelector.getAvailableGoals().removeIf(goal -> goal.getGoal() instanceof SwellGoal); ForceCraft.LOGGER.debug("Added Bane to " + living.getName()); - creeper.setData(BANE_MODIFIER, attachment); + creeper.setData(ForceAttachments.BANE_MODIFIER, attachment); } } } diff --git a/src/main/java/com/mrbysco/forcecraft/handlers/BaneHandler.java b/src/main/java/com/mrbysco/forcecraft/handlers/BaneHandler.java index 9091bde1..a7219836 100644 --- a/src/main/java/com/mrbysco/forcecraft/handlers/BaneHandler.java +++ b/src/main/java/com/mrbysco/forcecraft/handlers/BaneHandler.java @@ -1,6 +1,7 @@ package com.mrbysco.forcecraft.handlers; -import com.mrbysco.forcecraft.attachment.banemodifier.BaneModifierAttachment; +import com.mrbysco.forcecraft.attachments.ForceAttachments; +import com.mrbysco.forcecraft.attachments.banemodifier.BaneModifierAttachment; import net.minecraft.world.entity.ai.goal.SwellGoal; import net.minecraft.world.entity.monster.Creeper; import net.minecraft.world.entity.monster.EnderMan; @@ -8,14 +9,12 @@ import net.neoforged.neoforge.event.entity.EntityJoinLevelEvent; import net.neoforged.neoforge.event.entity.EntityTeleportEvent; -import static com.mrbysco.forcecraft.attachment.ForceAttachments.BANE_MODIFIER; - public class BaneHandler { @SubscribeEvent public void onEnderTeleportEvent(EntityTeleportEvent.EnderEntity event) { if (event.getEntity() instanceof EnderMan enderman) { - if (enderman.hasData(BANE_MODIFIER)) { - BaneModifierAttachment attachment = enderman.getData(BANE_MODIFIER); + if (enderman.hasData(ForceAttachments.BANE_MODIFIER)) { + BaneModifierAttachment attachment = enderman.getData(ForceAttachments.BANE_MODIFIER); if (!attachment.canTeleport()) { event.setCanceled(true); } @@ -27,15 +26,15 @@ public void onEnderTeleportEvent(EntityTeleportEvent.EnderEntity event) { public void onEntityCreation(EntityJoinLevelEvent event) { if (!event.getLevel().isClientSide()) { if (event.getEntity() instanceof Creeper creeper) { - if (creeper.hasData(BANE_MODIFIER)) { - BaneModifierAttachment attachment = creeper.getData(BANE_MODIFIER); + if (creeper.hasData(ForceAttachments.BANE_MODIFIER)) { + BaneModifierAttachment attachment = creeper.getData(ForceAttachments.BANE_MODIFIER); if (!attachment.canExplode()) { creeper.setSwellDir(-1); creeper.getEntityData().set(Creeper.DATA_IS_IGNITED, false); attachment.setExplodeAbility(false); creeper.goalSelector.getAvailableGoals().removeIf(goal -> goal.getGoal() instanceof SwellGoal); - creeper.setData(BANE_MODIFIER, attachment); + creeper.setData(ForceAttachments.BANE_MODIFIER, attachment); } } } diff --git a/src/main/java/com/mrbysco/forcecraft/handlers/GrindstoneHandler.java b/src/main/java/com/mrbysco/forcecraft/handlers/GrindstoneHandler.java index 17e36ad1..2a5e4fbb 100644 --- a/src/main/java/com/mrbysco/forcecraft/handlers/GrindstoneHandler.java +++ b/src/main/java/com/mrbysco/forcecraft/handlers/GrindstoneHandler.java @@ -1,22 +1,16 @@ package com.mrbysco.forcecraft.handlers; -import com.mrbysco.forcecraft.attachment.ForceAttachments; -import net.minecraft.nbt.CompoundTag; +import com.mrbysco.forcecraft.components.ForceComponents; +import net.minecraft.core.component.DataComponents; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.enchantment.Enchantment; -import net.minecraft.world.item.enchantment.EnchantmentHelper; import net.neoforged.bus.api.SubscribeEvent; import net.neoforged.neoforge.event.GrindstoneEvent; -import java.util.Map; -import java.util.stream.Collectors; - public class GrindstoneHandler { @SubscribeEvent public void onPlace(GrindstoneEvent.OnPlaceItem event) { if (!event.getTopItem().isEmpty()) { - CompoundTag topTag = event.getTopItem().getTag(); - if (topTag != null && topTag.contains("ForceInfused")) { + if (event.getTopItem().has(ForceComponents.FORCE_INFUSED)) { if (!event.getBottomItem().isEmpty()) { event.setCanceled(true); } else { @@ -24,8 +18,7 @@ public void onPlace(GrindstoneEvent.OnPlaceItem event) { } } } else { - CompoundTag bottomTag = event.getBottomItem().getTag(); - if (bottomTag != null && bottomTag.contains("ForceInfused") && event.getTopItem().isEmpty()) { + if (event.getBottomItem().has(ForceComponents.FORCE_INFUSED) && event.getTopItem().isEmpty()) { if (!event.getTopItem().isEmpty()) { event.setCanceled(true); } else { @@ -37,24 +30,41 @@ public void onPlace(GrindstoneEvent.OnPlaceItem event) { private ItemStack removeInfusions(ItemStack stack) { ItemStack itemstack = stack.copyWithCount(stack.getCount()); - itemstack.removeTagKey("ForceInfused"); - itemstack.removeTagKey("Enchantments"); - itemstack.removeTagKey("StoredEnchantments"); + itemstack.remove(ForceComponents.FORCE_INFUSED); + itemstack.remove(DataComponents.ENCHANTMENTS); + itemstack.remove(DataComponents.STORED_ENCHANTMENTS); + itemstack.set(DataComponents.REPAIR_COST, 0); + + itemstack.remove(ForceComponents.TOOL_SPEED); + itemstack.remove(ForceComponents.TOOL_HEAT); + itemstack.remove(ForceComponents.TOOL_FORCE); + itemstack.remove(ForceComponents.TOOL_SILK); + itemstack.remove(ForceComponents.TOOL_SHARPNESS); + itemstack.remove(ForceComponents.TOOL_LUCK); + itemstack.remove(ForceComponents.TOOL_STURDY); + itemstack.remove(ForceComponents.TOOL_RAINBOW); + itemstack.remove(ForceComponents.TOOL_LUMBERJACK); + itemstack.remove(ForceComponents.TOOL_BLEED); + itemstack.remove(ForceComponents.TOOL_BANE); + itemstack.remove(ForceComponents.TOOL_WING); + itemstack.remove(ForceComponents.TOOL_CAMO); + itemstack.remove(ForceComponents.TOOL_SIGHT); + itemstack.remove(ForceComponents.TOOL_LIGHT); + itemstack.remove(ForceComponents.TOOL_ENDER); + itemstack.remove(ForceComponents.TOOL_FREEZING); + itemstack.remove(ForceComponents.TOOL_TREASURE); - Map map = EnchantmentHelper.getEnchantments(stack) - .entrySet() - .stream() - .filter(entry -> entry.getKey().isCurse()) - .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)); - EnchantmentHelper.setEnchantments(map, itemstack); - itemstack.setRepairCost(0); + //Remove all Rod components + itemstack.remove(ForceComponents.ROD_HEALING); + itemstack.remove(ForceComponents.ROD_SPEED); + itemstack.remove(ForceComponents.ROD_LIGHT); + itemstack.remove(ForceComponents.ROD_CAMO); + itemstack.remove(ForceComponents.ROD_ENDER); + itemstack.remove(ForceComponents.ROD_SIGHT); + itemstack.remove(ForceComponents.ROD_POS); - itemstack.removeData(ForceAttachments.TOOL_MODIFIER); - itemstack.removeData(ForceAttachments.FORCE_ROD); - itemstack.removeData(ForceAttachments.EXP_TOME); - itemstack.removeData(ForceAttachments.BANE_MODIFIER); - itemstack.removeData(ForceAttachments.PLAYER_MOD); - itemstack.removeData(ForceAttachments.FORCE_WRENCH); + itemstack.remove(ForceComponents.TOME_EXPERIENCE); + itemstack.remove(ForceComponents.WRENCH); return itemstack; } diff --git a/src/main/java/com/mrbysco/forcecraft/handlers/HeartHandler.java b/src/main/java/com/mrbysco/forcecraft/handlers/HeartHandler.java index fee9c00a..11af18eb 100644 --- a/src/main/java/com/mrbysco/forcecraft/handlers/HeartHandler.java +++ b/src/main/java/com/mrbysco/forcecraft/handlers/HeartHandler.java @@ -25,7 +25,7 @@ public void onDeath(LivingDeathEvent event) { // killed by a real player MobCategory classification = event.getEntity().getType().getCategory(); if (classification == MobCategory.MONSTER) { - // and its a monster, not sheep or squid or something + // and it's a monster, not sheep or squid or something BlockPos pos = event.getEntity().blockPosition(); level.addFreshEntity(new ItemEntity(level, pos.getX() + 0.5D, pos.getY() + 0.5D, pos.getZ() + 0.5D, new ItemStack(ForceRegistry.RECOVERY_HEART.get()))); } diff --git a/src/main/java/com/mrbysco/forcecraft/handlers/LootTableHandler.java b/src/main/java/com/mrbysco/forcecraft/handlers/LootTableHandler.java index a502f239..7ff66db3 100644 --- a/src/main/java/com/mrbysco/forcecraft/handlers/LootTableHandler.java +++ b/src/main/java/com/mrbysco/forcecraft/handlers/LootTableHandler.java @@ -1,28 +1,35 @@ package com.mrbysco.forcecraft.handlers; import com.mrbysco.forcecraft.registry.ForceRegistry; -import net.minecraft.resources.ResourceLocation; +import net.minecraft.core.HolderLookup; +import net.minecraft.core.RegistryAccess; +import net.minecraft.resources.ResourceKey; +import net.minecraft.world.entity.EntityType; import net.minecraft.world.level.storage.loot.LootPool; +import net.minecraft.world.level.storage.loot.LootTable; import net.minecraft.world.level.storage.loot.entries.EmptyLootItem; import net.minecraft.world.level.storage.loot.entries.LootItem; -import net.minecraft.world.level.storage.loot.functions.LootingEnchantFunction; +import net.minecraft.world.level.storage.loot.functions.EnchantedCountIncreaseFunction; import net.minecraft.world.level.storage.loot.functions.SetItemCountFunction; import net.minecraft.world.level.storage.loot.providers.number.UniformGenerator; import net.neoforged.bus.api.SubscribeEvent; import net.neoforged.neoforge.event.LootTableLoadEvent; +import net.neoforged.neoforge.server.ServerLifecycleHooks; public class LootTableHandler { - public static final ResourceLocation BAT = new ResourceLocation("minecraft", "entities/bat"); + public static final ResourceKey BAT = EntityType.BAT.getDefaultLootTable(); // To test use: /summon bat ~ ~ ~ {NoAI:1b} @SubscribeEvent public void onLootTableLoadEvent(LootTableLoadEvent event) { + HolderLookup.Provider registries = ServerLifecycleHooks.getCurrentServer() != null ? + ServerLifecycleHooks.getCurrentServer().registryAccess() : RegistryAccess.EMPTY; if (event.getName().equals(BAT)) { LootPool.Builder builder = LootPool.lootPool(); builder.add(LootItem.lootTableItem(ForceRegistry.CLAW.get()) .setWeight(1) .apply(SetItemCountFunction.setCount(UniformGenerator.between(0.0F, 1.0F))) - .apply(LootingEnchantFunction.lootingMultiplier(UniformGenerator.between(0.0F, 1.0F)))) + .apply(EnchantedCountIncreaseFunction.lootingMultiplier(registries, UniformGenerator.between(0.0F, 1.0F)))) .name("forcecraft_inject"); builder.add(EmptyLootItem.emptyItem() .setWeight(1)) diff --git a/src/main/java/com/mrbysco/forcecraft/handlers/LootingHandler.java b/src/main/java/com/mrbysco/forcecraft/handlers/LootingHandler.java index 81419020..2cf55c2f 100644 --- a/src/main/java/com/mrbysco/forcecraft/handlers/LootingHandler.java +++ b/src/main/java/com/mrbysco/forcecraft/handlers/LootingHandler.java @@ -1,90 +1,71 @@ package com.mrbysco.forcecraft.handlers; -import com.mrbysco.forcecraft.attachment.toolmodifier.ToolModifierAttachment; -import com.mrbysco.forcecraft.entities.projectile.ForceArrowEntity; -import com.mrbysco.forcecraft.registry.ForceRegistry; -import net.minecraft.core.BlockPos; -import net.minecraft.util.RandomSource; -import net.minecraft.world.damagesource.DamageSource; -import net.minecraft.world.entity.Entity; -import net.minecraft.world.entity.LivingEntity; -import net.minecraft.world.entity.item.ItemEntity; -import net.minecraft.world.entity.monster.Monster; -import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.ItemStack; -import net.neoforged.bus.api.SubscribeEvent; -import net.neoforged.neoforge.event.entity.living.LivingDropsEvent; -import net.neoforged.neoforge.event.entity.living.LootingLevelEvent; - -import static com.mrbysco.forcecraft.attachment.ForceAttachments.PLAYER_MOD; -import static com.mrbysco.forcecraft.attachment.ForceAttachments.TOOL_MODIFIER; - public class LootingHandler { - @SubscribeEvent - public void onLooting(LootingLevelEvent event) { - final DamageSource source = event.getDamageSource(); - if (source == null || source.getEntity() == null) { - return; - } - - int level = event.getLootingLevel(); - - int customLevel = 0; - if (source.getEntity().hasData(PLAYER_MOD)) { - customLevel += source.getEntity().getData(PLAYER_MOD).getLuckLevel(); - } - - if (source.getDirectEntity() instanceof ForceArrowEntity forceArrow) { - customLevel += forceArrow.getLuck(); - } - - if (customLevel > 4) { - customLevel = 4; - } - level += customLevel; - - event.setLootingLevel(level); - } - - @SubscribeEvent - public void onTreasureDrop(LivingDropsEvent event) { - if (event.getSource() == null || event.getSource().getEntity() == null) { - return; - } - - Entity source = event.getSource().getEntity(); - if (source instanceof Player player) { - ItemStack heldStack = player.getMainHandItem(); - if (heldStack.hasData(TOOL_MODIFIER)) { - ToolModifierAttachment attachment = heldStack.getData(TOOL_MODIFIER); - if (attachment.hasTreasure()) { - RandomSource rand = player.getRandom(); - int looting = event.getLootingLevel(); - LivingEntity entity = event.getEntity(); - BlockPos entityPos = entity.blockPosition(); +// @SubscribeEvent +// public void onLooting(LootingLevelEvent event) { TODO: Somehow re-implement Luck or scrap it! +// final DamageSource source = event.getDamageSource(); +// if (source == null || source.getEntity() == null) { +// return; +// } +// +// int level = event.getLootingLevel(); +// +// int customLevel = 0; +// if (source.getEntity().hasData(PLAYER_MOD)) { +// customLevel += source.getEntity().getData(PLAYER_MOD).getLuckLevel(); +// } +// +// if (source.getDirectEntity() instanceof ForceArrowEntity forceArrow) { +// customLevel += forceArrow.getLuck(); +// } +// +// if (customLevel > 4) { +// customLevel = 4; +// } +// level += customLevel; +// +// event.setLootingLevel(level); +// } - int chanceMax = 20; - if (looting > 0) { - chanceMax = chanceMax / looting; - if (chanceMax < 0) { - chanceMax = 1; - } - } - float dropChance = rand.nextInt(chanceMax); - if (dropChance == 0) { - if (entity.isInvertedHealAndHarm()) { - event.getDrops().add(new ItemEntity(entity.level(), entityPos.getX(), entityPos.getY(), entityPos.getZ(), new ItemStack(ForceRegistry.UNDEATH_CARD.get(), rand.nextInt(Math.max(1, looting)) + 1))); - } else { - if (entity instanceof Monster) { - event.getDrops().add(new ItemEntity(entity.level(), entityPos.getX(), entityPos.getY(), entityPos.getZ(), new ItemStack(ForceRegistry.DARKNESS_CARD.get(), rand.nextInt(Math.max(1, looting)) + 1))); - } else { - event.getDrops().add(new ItemEntity(entity.level(), entityPos.getX(), entityPos.getY(), entityPos.getZ(), new ItemStack(ForceRegistry.LIFE_CARD.get(), rand.nextInt(Math.max(1, looting)) + 1))); - } - } - } - } - } - } - } +// @SubscribeEvent +// public void onTreasureDrop(LivingDropsEvent event) { TODO: Implement looting or scrap it! +// if (event.getSource() == null || event.getSource().getEntity() == null) { +// return; +// } +// +// Entity source = event.getSource().getEntity(); +// if (source instanceof Player player) { +// ItemStack heldStack = player.getMainHandItem(); +// if (heldStack.hasData(TOOL_MODIFIER)) { +// ToolModifierData attachment = heldStack.getData(TOOL_MODIFIER); +// if (attachment.hasTreasure()) { +// RandomSource rand = player.getRandom(); +// int looting = event.getLootingLevel(); +// LivingEntity entity = event.getEntity(); +// BlockPos entityPos = entity.blockPosition(); +// +// int chanceMax = 20; +// if (looting > 0) { +// chanceMax = chanceMax / looting; +// if (chanceMax < 0) { +// chanceMax = 1; +// } +// } +// float dropChance = rand.nextInt(chanceMax); +// if (dropChance == 0) { +// if (entity.isInvertedHealAndHarm()) { +// event.getDrops().add(new ItemEntity(entity.level(), entityPos.getX(), entityPos.getY(), entityPos.getZ(), new ItemStack(ForceRegistry.UNDEATH_CARD.get(), rand.nextInt(Math.max(1, looting)) + 1))); +// } else { +// if (entity instanceof Monster) { +// event.getDrops().add(new ItemEntity(entity.level(), entityPos.getX(), entityPos.getY(), entityPos.getZ(), new ItemStack(ForceRegistry.DARKNESS_CARD.get(), rand.nextInt(Math.max(1, looting)) + 1))); +// } else { +// event.getDrops().add(new ItemEntity(entity.level(), entityPos.getX(), entityPos.getY(), entityPos.getZ(), new ItemStack(ForceRegistry.LIFE_CARD.get(), rand.nextInt(Math.max(1, looting)) + 1))); +// } +// } +// } +// } +// } +// } +// } } diff --git a/src/main/java/com/mrbysco/forcecraft/handlers/LumberHandler.java b/src/main/java/com/mrbysco/forcecraft/handlers/LumberHandler.java new file mode 100644 index 00000000..2efc0176 --- /dev/null +++ b/src/main/java/com/mrbysco/forcecraft/handlers/LumberHandler.java @@ -0,0 +1,33 @@ +package com.mrbysco.forcecraft.handlers; + +import com.mrbysco.forcecraft.components.ForceComponents; +import com.mrbysco.forcecraft.items.ForceArmorItem; +import com.mrbysco.forcecraft.items.tools.ForceAxeItem; +import com.mrbysco.forcecraft.items.tools.ForceBowItem; +import com.mrbysco.forcecraft.items.tools.ForcePickaxeItem; +import com.mrbysco.forcecraft.items.tools.ForceRodItem; +import com.mrbysco.forcecraft.items.tools.ForceShearsItem; +import com.mrbysco.forcecraft.items.tools.ForceShovelItem; +import net.minecraft.ChatFormatting; +import net.minecraft.core.BlockPos; +import net.minecraft.core.GlobalPos; +import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.MutableComponent; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.neoforged.bus.api.SubscribeEvent; +import net.neoforged.neoforge.event.entity.player.ItemTooltipEvent; +import net.neoforged.neoforge.event.level.BlockEvent; + +import java.util.List; + +public class LumberHandler { + + @SubscribeEvent + public void onTooltipEvent(BlockEvent.BreakEvent event) { + final ItemStack stack = event.getPlayer().getMainHandItem(); + if (stack.has(ForceComponents.TOOL_LUMBERJACK)) { + ForceAxeItem.fellTree(stack, event.getPos(), event.getPlayer()); + } + } +} diff --git a/src/main/java/com/mrbysco/forcecraft/handlers/PlayerCapHandler.java b/src/main/java/com/mrbysco/forcecraft/handlers/PlayerCapHandler.java index d372ccdb..9893f6e1 100644 --- a/src/main/java/com/mrbysco/forcecraft/handlers/PlayerCapHandler.java +++ b/src/main/java/com/mrbysco/forcecraft/handlers/PlayerCapHandler.java @@ -1,38 +1,34 @@ package com.mrbysco.forcecraft.handlers; -import com.mrbysco.forcecraft.attachment.playermodifier.PlayerModifierAttachment; -import com.mrbysco.forcecraft.attachment.toolmodifier.ToolModifierAttachment; +import com.mrbysco.forcecraft.attachments.ForceAttachments; +import com.mrbysco.forcecraft.attachments.playermodifier.PlayerModifierAttachment; +import com.mrbysco.forcecraft.components.ForceComponents; import com.mrbysco.forcecraft.config.ConfigHandler; import com.mrbysco.forcecraft.items.ForceArmorItem; +import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.effect.MobEffectInstance; import net.minecraft.world.effect.MobEffects; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; import net.neoforged.bus.api.SubscribeEvent; -import net.neoforged.neoforge.event.TickEvent; import net.neoforged.neoforge.event.entity.living.LivingEquipmentChangeEvent; import net.neoforged.neoforge.event.entity.player.PlayerEvent; import net.neoforged.neoforge.event.entity.player.PlayerEvent.PlayerLoggedInEvent; - -import static com.mrbysco.forcecraft.attachment.ForceAttachments.PLAYER_MOD; -import static com.mrbysco.forcecraft.attachment.ForceAttachments.TOOL_MODIFIER; +import net.neoforged.neoforge.event.tick.PlayerTickEvent; public class PlayerCapHandler { private static final int SPEED_DURATION = 200; @SubscribeEvent - public void onPlayerUpdate(TickEvent.PlayerTickEvent event) { - if (event.phase == TickEvent.Phase.END && !event.player.level().isClientSide) { - Player player = event.player; - + public void onPlayerUpdate(PlayerTickEvent.Post event) { + if (event.getEntity() instanceof ServerPlayer player) { Iterable armor = player.getArmorSlots(); int speed = 0; for (ItemStack slotSelected : armor) { if (slotSelected.getItem() instanceof ForceArmorItem) { - ToolModifierAttachment attachment = slotSelected.getData(TOOL_MODIFIER); // Speed - speed += attachment.getSpeedLevel(); + speed += slotSelected.getOrDefault(ForceComponents.TOOL_SPEED, 0); } } @@ -69,32 +65,31 @@ public static void updateArmorProperties(Player player) { for (ItemStack slotSelected : armor) { if (slotSelected.getItem() instanceof ForceArmorItem) { - ToolModifierAttachment attachment = slotSelected.getData(TOOL_MODIFIER); // Pieces armorPieces++; // Damage - damage += (int) (attachment.getSharpLevel() * ConfigHandler.COMMON.forcePunchDamage.get()); + damage += (int) (slotSelected.getOrDefault(ForceComponents.TOOL_SHARPNESS, 0) * ConfigHandler.COMMON.forcePunchDamage.get()); // Heat - if (attachment.hasHeat()) { + if (slotSelected.has(ForceComponents.TOOL_HEAT)) { heat++; } // Luck - if (attachment.hasLuck()) { + if (slotSelected.has(ForceComponents.TOOL_LUCK)) { luck++; } // Bane - if (attachment.hasBane()) { + if (slotSelected.has(ForceComponents.TOOL_BANE)) { bane++; } // Bleed - if (attachment.hasBleed()) { - bleed += attachment.getBleedLevel(); + if (slotSelected.has(ForceComponents.TOOL_BLEED)) { + bleed += slotSelected.getOrDefault(ForceComponents.TOOL_BLEED, 0); } } } - PlayerModifierAttachment attachment = player.getData(PLAYER_MOD); + PlayerModifierAttachment attachment = player.getData(ForceAttachments.PLAYER_MOD); int finalArmorPieces = armorPieces; attachment.setArmorPieces(finalArmorPieces); @@ -115,14 +110,14 @@ public static void updateArmorProperties(Player player) { attachment.setBleeding(finalBleed); //Save the attachment data - player.setData(PLAYER_MOD, attachment); + player.setData(ForceAttachments.PLAYER_MOD, attachment); } @SubscribeEvent public void harvestCheckEvent(PlayerEvent.HarvestCheck event) { final Player player = event.getEntity(); - if (player.hasData(PLAYER_MOD)) { - PlayerModifierAttachment attachment = player.getData(PLAYER_MOD); + if (player.hasData(ForceAttachments.PLAYER_MOD)) { + PlayerModifierAttachment attachment = player.getData(ForceAttachments.PLAYER_MOD); if (attachment.hasFullSet() && player.getMainHandItem().isEmpty()) { if (event.getTargetBlock().getBlock().getExplosionResistance() <= 2) { event.setCanHarvest(true); @@ -134,8 +129,8 @@ public void harvestCheckEvent(PlayerEvent.HarvestCheck event) { @SubscribeEvent public void breakSpeedEvent(PlayerEvent.BreakSpeed event) { final Player player = event.getEntity(); - if (player.hasData(PLAYER_MOD)) { - PlayerModifierAttachment attachment = player.getData(PLAYER_MOD); + if (player.hasData(ForceAttachments.PLAYER_MOD)) { + PlayerModifierAttachment attachment = player.getData(ForceAttachments.PLAYER_MOD); if (attachment.hasFullSet() && player.getMainHandItem().isEmpty()) { if (event.getOriginalSpeed() < 6) { event.setNewSpeed(6); diff --git a/src/main/java/com/mrbysco/forcecraft/handlers/ToolModifierHandler.java b/src/main/java/com/mrbysco/forcecraft/handlers/ToolModifierHandler.java index 79f1e44e..e7ea96d3 100644 --- a/src/main/java/com/mrbysco/forcecraft/handlers/ToolModifierHandler.java +++ b/src/main/java/com/mrbysco/forcecraft/handlers/ToolModifierHandler.java @@ -1,8 +1,9 @@ package com.mrbysco.forcecraft.handlers; -import com.mrbysco.forcecraft.attachment.banemodifier.BaneModifierAttachment; -import com.mrbysco.forcecraft.attachment.playermodifier.PlayerModifierAttachment; -import com.mrbysco.forcecraft.attachment.toolmodifier.ToolModifierAttachment; +import com.mrbysco.forcecraft.attachments.ForceAttachments; +import com.mrbysco.forcecraft.attachments.banemodifier.BaneModifierAttachment; +import com.mrbysco.forcecraft.attachments.playermodifier.PlayerModifierAttachment; +import com.mrbysco.forcecraft.components.ForceComponents; import com.mrbysco.forcecraft.config.ConfigHandler; import com.mrbysco.forcecraft.registry.ForceSounds; import com.mrbysco.forcecraft.util.MobUtil; @@ -18,14 +19,10 @@ import net.neoforged.bus.api.SubscribeEvent; import net.neoforged.neoforge.event.entity.living.LivingDamageEvent; -import static com.mrbysco.forcecraft.attachment.ForceAttachments.BANE_MODIFIER; -import static com.mrbysco.forcecraft.attachment.ForceAttachments.PLAYER_MOD; -import static com.mrbysco.forcecraft.attachment.ForceAttachments.TOOL_MODIFIER; - public class ToolModifierHandler { @SubscribeEvent - public void onLivingDamageEvent(LivingDamageEvent event) { + public void onLivingDamageEvent(LivingDamageEvent.Pre event) { if (event.getSource() == null) { return; } @@ -38,25 +35,22 @@ public void onLivingDamageEvent(LivingDamageEvent event) { boolean appliedBane = false; int bleedLevel = 0; - if (player.getMainHandItem().hasData(TOOL_MODIFIER)) { - ToolModifierAttachment attachment = player.getMainHandItem().getData(TOOL_MODIFIER); - if (attachment.hasBane()) { - applyBane(target); - appliedBane = true; - } - if (attachment.hasBleed()) { - bleedLevel = attachment.getBleedLevel(); - } + if (player.getMainHandItem().has(ForceComponents.TOOL_BANE)) { + applyBane(target); + appliedBane = true; + } + if (player.getMainHandItem().has(ForceComponents.TOOL_BLEED)) { + bleedLevel = player.getMainHandItem().getOrDefault(ForceComponents.TOOL_BLEED, 0); } MobUtil.addBleedingEffect(bleedLevel, target, player); - if (player.hasData(PLAYER_MOD)) { - PlayerModifierAttachment attachment = player.getData(PLAYER_MOD); + if (player.hasData(ForceAttachments.PLAYER_MOD)) { + PlayerModifierAttachment attachment = player.getData(ForceAttachments.PLAYER_MOD); if (attachment.hasBane() && !appliedBane) { applyBane(target); } - float damage = event.getAmount(); + float damage = event.getOriginalDamage(); if (attachment.hasHeatDamage()) { if (attachment.getAttackDamage() == 0.0f) { damage += attachment.getHeatDamage(); @@ -71,7 +65,7 @@ public void onLivingDamageEvent(LivingDamageEvent event) { if (attachment.getAttackDamage() > 0 && player.getMainHandItem().isEmpty()) { player.level().playSound((Player) null, target.getX(), target.getY(), target.getZ(), ForceSounds.FORCE_PUNCH.get(), player.getSoundSource(), 1.0F, 1.0F); - event.setAmount(damage); + event.setNewDamage(damage); } } @@ -80,38 +74,38 @@ public void onLivingDamageEvent(LivingDamageEvent event) { if (target instanceof Player player) { int sturdyLevel = 0; for (ItemStack armorStack : player.getArmorSlots()) { - if (armorStack.hasData(TOOL_MODIFIER) && armorStack.getData(TOOL_MODIFIER).hasSturdy()) { + if (armorStack.has(ForceComponents.TOOL_STURDY)) { sturdyLevel++; } } if (sturdyLevel > 0) { double perArmor = ConfigHandler.COMMON.sturdyDamageReduction.get(); double percentage = sturdyLevel * (perArmor / 4); - float oldDamage = event.getAmount(); + float oldDamage = event.getNewDamage(); float newDamage = (float) (oldDamage - (oldDamage * percentage)); - event.setAmount(Mth.clamp(newDamage, 1.0F, Float.MAX_VALUE)); + event.setNewDamage(Mth.clamp(newDamage, 1.0F, Float.MAX_VALUE)); } } } private void applyBane(LivingEntity target) { if (target instanceof Creeper creeper) { - BaneModifierAttachment attachment = creeper.getData(BANE_MODIFIER); + BaneModifierAttachment attachment = creeper.getData(ForceAttachments.BANE_MODIFIER); if (attachment.canExplode()) { creeper.setSwellDir(-1); creeper.getEntityData().set(Creeper.DATA_IS_IGNITED, false); attachment.setExplodeAbility(false); creeper.goalSelector.getAvailableGoals().removeIf(goal -> goal.getGoal() instanceof SwellGoal); // ForceCraft.LOGGER.info("Added Bane to " + target.getName()); - creeper.setData(BANE_MODIFIER, attachment); + creeper.setData(ForceAttachments.BANE_MODIFIER, attachment); } } if (target instanceof EnderMan enderman) { - BaneModifierAttachment attachment = enderman.getData(BANE_MODIFIER); + BaneModifierAttachment attachment = enderman.getData(ForceAttachments.BANE_MODIFIER); if (attachment.canTeleport()) { attachment.setTeleportAbility(false); // ForceCraft.LOGGER.info("Added Bane to " + target.getName()); - enderman.setData(BANE_MODIFIER, attachment); + enderman.setData(ForceAttachments.BANE_MODIFIER, attachment); } } } diff --git a/src/main/java/com/mrbysco/forcecraft/handlers/TooltipHandler.java b/src/main/java/com/mrbysco/forcecraft/handlers/TooltipHandler.java new file mode 100644 index 00000000..01a373ef --- /dev/null +++ b/src/main/java/com/mrbysco/forcecraft/handlers/TooltipHandler.java @@ -0,0 +1,92 @@ +package com.mrbysco.forcecraft.handlers; + +import com.mrbysco.forcecraft.components.ForceComponents; +import com.mrbysco.forcecraft.items.ForceArmorItem; +import com.mrbysco.forcecraft.items.tools.ForceBowItem; +import com.mrbysco.forcecraft.items.tools.ForcePickaxeItem; +import com.mrbysco.forcecraft.items.tools.ForceRodItem; +import com.mrbysco.forcecraft.items.tools.ForceShearsItem; +import com.mrbysco.forcecraft.items.tools.ForceShovelItem; +import net.minecraft.ChatFormatting; +import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.MutableComponent; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.neoforged.bus.api.SubscribeEvent; +import net.neoforged.neoforge.event.entity.player.ItemTooltipEvent; + +import java.util.List; + +public class TooltipHandler { + + @SubscribeEvent + public void onTooltipEvent(ItemTooltipEvent event) { + final ItemStack stack = event.getItemStack(); + final Item item = stack.getItem(); + List tooltip = event.getToolTip(); + if (stack.has(ForceComponents.TOOL_SPEED)) { + if (item instanceof ForceBowItem || item instanceof ForceArmorItem || item instanceof ForceRodItem) { + tooltip.add(Component.translatable("item.infuser.tooltip.speed" + stack.get(ForceComponents.TOOL_SPEED)).withStyle(ChatFormatting.YELLOW)); + } + } + if (stack.has(ForceComponents.TOOL_LUMBERJACK)) { + tooltip.add(Component.translatable("item.infuser.tooltip.lumberjack").withStyle(ChatFormatting.YELLOW)); + } + if (stack.has(ForceComponents.TOOL_LUCK)) { + if (item instanceof ForceBowItem || item instanceof ForceArmorItem) { + tooltip.add(Component.translatable("item.infuser.tooltip.luck" + stack.get(ForceComponents.TOOL_LUCK)).withStyle(ChatFormatting.GREEN)); + } + } + if (stack.has(ForceComponents.TOOL_FORCE)) { + tooltip.add(Component.translatable("item.infuser.tooltip.force" + stack.get(ForceComponents.TOOL_FORCE)).withStyle(ChatFormatting.GOLD)); + } + if (stack.has(ForceComponents.FORCE)) { + tooltip.add(Component.translatable("item.infuser.tooltip.bane").withStyle(ChatFormatting.LIGHT_PURPLE)); + } + if (stack.has(ForceComponents.TOOL_STURDY)) { + if (stack.getItem() instanceof ForceArmorItem) { + tooltip.add(Component.translatable("item.infuser.tooltip.sturdy" + stack.get(ForceComponents.TOOL_STURDY)).withStyle(ChatFormatting.DARK_PURPLE)); + } + } + if (stack.has(ForceComponents.TOOL_WING)) { + tooltip.add(Component.translatable("item.infuser.tooltip.wing")); + } + if (stack.has(ForceComponents.TOOL_BLEED)) { + tooltip.add(Component.translatable("item.infuser.tooltip.bleed" + stack.get(ForceComponents.TOOL_BLEED)).withStyle(ChatFormatting.RED)); + } + if (stack.has(ForceComponents.TOOL_RAINBOW)) { + tooltip.add(Component.translatable("item.infuser.tooltip.rainbow").withStyle(ChatFormatting.GOLD)); + } + if (stack.has(ForceComponents.TOOL_HEAT)) { + if (item instanceof ForceShovelItem || item instanceof ForcePickaxeItem || item instanceof ForceShearsItem || item instanceof ForceArmorItem) { + tooltip.add(Component.translatable("item.infuser.tooltip.heat").withStyle(ChatFormatting.RED)); + } + } + if (stack.has(ForceComponents.TOOL_CAMO)) { + tooltip.add(Component.translatable("item.infuser.tooltip.camo").withStyle(ChatFormatting.DARK_GREEN)); + } + if (stack.has(ForceComponents.TOOL_ENDER)) { + tooltip.add(Component.translatable("item.infuser.tooltip.ender").withStyle(ChatFormatting.DARK_PURPLE)); + } + if (stack.has(ForceComponents.TOOL_FREEZING)) { + tooltip.add(Component.translatable("item.infuser.tooltip.freezing").withStyle(ChatFormatting.BLUE)); + } + if (stack.has(ForceComponents.TOOL_TREASURE)) { + tooltip.add(Component.translatable("item.infuser.tooltip.treasure").withStyle(ChatFormatting.GOLD)); + } + if (stack.has(ForceComponents.TOOL_LIGHT)) { + tooltip.add(Component.translatable("item.infuser.tooltip.light").withStyle(ChatFormatting.GOLD)); + } + if (stack.has(ForceComponents.TOOL_SHARPNESS)) { + if (stack.getItem() instanceof ForceArmorItem) { + tooltip.add(Component.translatable("item.infuser.tooltip.sharp").withStyle(ChatFormatting.GOLD)); + } + } + if (stack.has(ForceComponents.FORCE)) { + MutableComponent t = Component.translatable("item.infuser.tooltip.forcelevel"); + t.append("" + stack.get(ForceComponents.FORCE)); + t.withStyle(ChatFormatting.GOLD); + tooltip.add(t); + } + } +} diff --git a/src/main/java/com/mrbysco/forcecraft/items/BaconatorItem.java b/src/main/java/com/mrbysco/forcecraft/items/BaconatorItem.java index 1b548f02..6271974f 100644 --- a/src/main/java/com/mrbysco/forcecraft/items/BaconatorItem.java +++ b/src/main/java/com/mrbysco/forcecraft/items/BaconatorItem.java @@ -1,11 +1,12 @@ package com.mrbysco.forcecraft.items; import com.mrbysco.forcecraft.Reference; +import com.mrbysco.forcecraft.components.ForceComponents; import com.mrbysco.forcecraft.registry.ForceTags; import com.mrbysco.forcecraft.util.ItemHandlerUtils; import net.minecraft.ChatFormatting; import net.minecraft.client.gui.screens.Screen; -import net.minecraft.nbt.CompoundTag; +import net.minecraft.core.component.DataComponents; import net.minecraft.network.chat.Component; import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundSource; @@ -21,7 +22,6 @@ import net.minecraft.world.level.Level; import net.neoforged.neoforge.capabilities.Capabilities; import net.neoforged.neoforge.items.IItemHandler; -import org.jetbrains.annotations.Nullable; import java.util.List; @@ -41,7 +41,7 @@ public InteractionResultHolder use(Level level, Player playerIn, Inte if (!isFull) { //Fill with food boolean extracted = ItemHandlerUtils.extractStackFromPlayer(playerIn.getInventory(), handler, (stack) -> { - return !stack.isEmpty() && stack.isEdible() && stack.is(ForceTags.BACONATOR_FOOD); + return !stack.isEmpty() && stack.has(DataComponents.FOOD) && stack.is(ForceTags.BACONATOR_FOOD); }); boolean hasItems = ItemHandlerUtils.hasItems(handler); if (!extracted) { @@ -52,14 +52,12 @@ public InteractionResultHolder use(Level level, Player playerIn, Inte } else { level.playSound((Player) null, playerIn.getX(), playerIn.getY(), playerIn.getZ(), SoundEvents.ITEM_PICKUP, SoundSource.PLAYERS, 1.0F, 1.0F); } - CompoundTag tag = itemstack.getOrCreateTag(); - tag.putBoolean(HAS_FOOD_TAG, hasItems); } } else { if (ItemHandlerUtils.hasItems(handler)) { ItemStack firstStack = ItemHandlerUtils.getFirstItem(handler); if (!firstStack.isEmpty()) { - FoodProperties foodProperties = firstStack.getItem().getFoodProperties(); + FoodProperties foodProperties = firstStack.getFoodProperties(playerIn); if (foodProperties != null && playerIn.canEat(foodProperties.canAlwaysEat())) { playerIn.startUsingItem(handIn); } @@ -84,13 +82,13 @@ public ItemStack finishUsingItem(ItemStack stack, Level level, LivingEntity enti public UseAnim getUseAnimation(ItemStack stack) { IItemHandler handler = stack.getCapability(Capabilities.ItemHandler.ITEM); ItemStack firstStack = ItemHandlerUtils.getFirstItem(handler); - return firstStack != null && firstStack.getItem().isEdible() ? UseAnim.EAT : UseAnim.NONE; + return firstStack != null && firstStack.has(DataComponents.FOOD) ? UseAnim.EAT : UseAnim.NONE; } @Override public void inventoryTick(ItemStack stack, Level level, Entity entityIn, int itemSlot, boolean isSelected) { if (stack.getDamageValue() == 1 && entityIn instanceof Player playerIn && level.getGameTime() % 20 == 0) { - if (!playerIn.getAbilities().instabuild && playerIn.canEat(false) && stack.getOrCreateTag().getBoolean(HAS_FOOD_TAG)) { + if (!playerIn.getAbilities().instabuild && playerIn.canEat(false) && stack.has(ForceComponents.STORED_FOOD)) { IItemHandler handler = stack.getCapability(Capabilities.ItemHandler.ITEM); ItemStack firstStack = ItemHandlerUtils.getFirstItem(handler); if (!firstStack.isEmpty()) { @@ -102,12 +100,12 @@ public void inventoryTick(ItemStack stack, Level level, Entity entityIn, int ite } @Override - public int getUseDuration(ItemStack stack) { + public int getUseDuration(ItemStack stack, LivingEntity livingEntity) { IItemHandler handler = stack.getCapability(Capabilities.ItemHandler.ITEM); ItemStack firstStack = ItemHandlerUtils.getFirstItem(handler); - if (!firstStack.isEmpty() && firstStack.getItem().isEdible()) { - FoodProperties foodProperties = firstStack.getItem().getFoodProperties(); - return foodProperties != null && foodProperties.isFastFood() ? 16 : 32; + if (!firstStack.isEmpty() && firstStack.has(DataComponents.FOOD)) { + FoodProperties foodProperties = firstStack.getFoodProperties(livingEntity); + return foodProperties.eatDurationTicks(); } else { return 0; } @@ -119,7 +117,8 @@ public boolean isFoil(ItemStack stack) { } @Override - public void appendHoverText(ItemStack stack, @Nullable Level level, List tooltip, TooltipFlag flagIn) { + public void appendHoverText(ItemStack stack, TooltipContext context, List tooltip, TooltipFlag flagIn) { + super.appendHoverText(stack, context, tooltip, flagIn); if (Screen.hasShiftDown()) { tooltip.add(Component.translatable("forcecraft.baconator.shift.carrying").withStyle(ChatFormatting.DARK_RED)); IItemHandler handler = stack.getCapability(Capabilities.ItemHandler.ITEM); @@ -139,6 +138,5 @@ public void appendHoverText(ItemStack stack, @Nullable Level level, List player.addEffect(new MobEffectInstance(MobEffects.MOVEMENT_SPEED, 1000, 0, false, false)); case 1 -> player.addEffect(new MobEffectInstance(MobEffects.DIG_SPEED, 1000, 0, false, false)); case 2 -> player.addEffect(new MobEffectInstance(MobEffects.DAMAGE_BOOST, 1000, 0, false, false)); case 3 -> player.addEffect(new MobEffectInstance(MobEffects.JUMP, 1000, 0, false, false)); @@ -62,6 +64,7 @@ public void randPotionEffect(LivingEntity entityLiving) { case 13 -> player.addEffect(new MobEffectInstance(MobEffects.GLOWING, 1000, 0, false, false)); case 14 -> player.addEffect(new MobEffectInstance(MobEffects.LEVITATION, 1000, 0, false, false)); case 15 -> player.addEffect(new MobEffectInstance(MobEffects.LUCK, 1000, 0, false, false)); + default -> player.addEffect(new MobEffectInstance(MobEffects.MOVEMENT_SPEED, 1000, 0, false, false)); } } diff --git a/src/main/java/com/mrbysco/forcecraft/items/ExperienceTomeItem.java b/src/main/java/com/mrbysco/forcecraft/items/ExperienceTomeItem.java index d5a99491..5d489624 100644 --- a/src/main/java/com/mrbysco/forcecraft/items/ExperienceTomeItem.java +++ b/src/main/java/com/mrbysco/forcecraft/items/ExperienceTomeItem.java @@ -1,8 +1,8 @@ package com.mrbysco.forcecraft.items; +import com.mrbysco.forcecraft.components.ForceComponents; import com.mrbysco.forcecraft.util.ForceUtils; import net.minecraft.client.gui.screens.Screen; -import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; @@ -12,7 +12,6 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.level.Level; -import org.jetbrains.annotations.Nullable; import java.util.List; @@ -25,7 +24,8 @@ public ExperienceTomeItem(Item.Properties properties) { } @Override - public void appendHoverText(ItemStack stack, @Nullable Level level, List tooltip, TooltipFlag flagIn) { + public void appendHoverText(ItemStack stack, TooltipContext context, List tooltip, TooltipFlag tooltipFlag) { + super.appendHoverText(stack, context, tooltip, tooltipFlag); if (!Screen.hasShiftDown()) { tooltip.add(Component.translatable("forcecraft.tooltip.press_shift")); return; @@ -133,16 +133,11 @@ public static void modifyExperience(ItemStack stack, int exp) { } else if (storedExp < 0) { storedExp = 0; } - CompoundTag tag = stack.getOrCreateTag(); - tag.putInt("Experience", storedExp); - stack.setTag(tag); + stack.set(ForceComponents.TOME_EXPERIENCE, storedExp); } public static int getExperience(ItemStack stack) { - if (!stack.hasTag()) { - stack.setTag(new CompoundTag()); - } - return stack.getTag().getInt("Experience"); + return stack.getOrDefault(ForceComponents.TOME_EXPERIENCE, 0); } public static int getMaxExperience(ItemStack stack) { diff --git a/src/main/java/com/mrbysco/forcecraft/items/ForceArmorItem.java b/src/main/java/com/mrbysco/forcecraft/items/ForceArmorItem.java index b0a8b722..239926d9 100644 --- a/src/main/java/com/mrbysco/forcecraft/items/ForceArmorItem.java +++ b/src/main/java/com/mrbysco/forcecraft/items/ForceArmorItem.java @@ -1,9 +1,12 @@ package com.mrbysco.forcecraft.items; -import com.mrbysco.forcecraft.attachment.toolmodifier.ToolModifierAttachment; +import com.mrbysco.forcecraft.Reference; +import com.mrbysco.forcecraft.components.ForceComponents; import com.mrbysco.forcecraft.items.infuser.ForceToolData; import com.mrbysco.forcecraft.items.infuser.IForceChargingTool; +import net.minecraft.core.Holder; import net.minecraft.network.chat.Component; +import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.LivingEntity; @@ -12,30 +15,26 @@ import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; -import net.minecraft.world.level.Level; import org.jetbrains.annotations.Nullable; import java.util.List; import java.util.function.Consumer; -import static com.mrbysco.forcecraft.attachment.ForceAttachments.TOOL_MODIFIER; - public class ForceArmorItem extends ArmorItem implements IForceChargingTool { - public ForceArmorItem(ArmorMaterial materialIn, ArmorItem.Type type, Item.Properties builderIn) { + public ForceArmorItem(Holder materialIn, ArmorItem.Type type, Item.Properties builderIn) { super(materialIn, type, builderIn); } @Override - public void appendHoverText(ItemStack stack, @Nullable Level level, List lores, TooltipFlag flagIn) { + public void appendHoverText(ItemStack stack, TooltipContext context, List tooltip, TooltipFlag tooltipFlag) { ForceToolData fd = new ForceToolData(stack); - fd.attachInformation(lores); - ToolModifierAttachment.attachInformation(stack, lores); - super.appendHoverText(stack, level, lores, flagIn); + fd.attachInformation(tooltip); + super.appendHoverText(stack, context, tooltip, tooltipFlag); } @Override - public int damageItem(ItemStack stack, int amount, T entity, Consumer onBroken) { + public int damageItem(ItemStack stack, int amount, @Nullable T entity, Consumer onBroken) { return this.damageItem(stack, amount); } @@ -44,12 +43,11 @@ public boolean isBookEnchantable(ItemStack stack, ItemStack book) { return false; } - @Nullable @Override - public String getArmorTexture(ItemStack stack, Entity entity, EquipmentSlot slot, String type) { - if (stack.hasData(TOOL_MODIFIER) && stack.getData(TOOL_MODIFIER).hasCamo()) { - return "forcecraft:textures/models/armor/force_invisible.png"; + public ResourceLocation getArmorTexture(ItemStack stack, Entity entity, EquipmentSlot slot, ArmorMaterial.Layer layer, boolean innerModel) { + if (stack.has(ForceComponents.TOOL_CAMO)) { + return Reference.modLoc("textures/models/armor/force_invisible.png"); } - return super.getArmorTexture(stack, entity, slot, type); + return super.getArmorTexture(stack, entity, slot, layer, innerModel); } } diff --git a/src/main/java/com/mrbysco/forcecraft/items/ForceBeltItem.java b/src/main/java/com/mrbysco/forcecraft/items/ForceBeltItem.java index f2502f85..5e2b1bed 100644 --- a/src/main/java/com/mrbysco/forcecraft/items/ForceBeltItem.java +++ b/src/main/java/com/mrbysco/forcecraft/items/ForceBeltItem.java @@ -1,12 +1,13 @@ package com.mrbysco.forcecraft.items; import com.mrbysco.forcecraft.Reference; -import com.mrbysco.forcecraft.attachment.storage.BeltStorage; -import com.mrbysco.forcecraft.attachment.storage.StorageManager; +import com.mrbysco.forcecraft.components.ForceComponents; +import com.mrbysco.forcecraft.components.storage.BeltStorage; +import com.mrbysco.forcecraft.components.storage.StorageManager; import com.mrbysco.forcecraft.menu.ForceBeltMenu; import com.mrbysco.forcecraft.registry.ForceTags; import net.minecraft.ChatFormatting; -import net.minecraft.nbt.CompoundTag; +import net.minecraft.core.component.DataComponents; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.MutableComponent; import net.minecraft.world.InteractionHand; @@ -52,7 +53,7 @@ public ForceBeltItem(Item.Properties properties) { @Nullable public MenuProvider getContainer(ItemStack stack, IItemHandler handler) { return new SimpleMenuProvider((id, inventory, player) -> new ForceBeltMenu(id, inventory, handler) - , stack.hasCustomHoverName() ? ((MutableComponent) stack.getHoverName()).withStyle(ChatFormatting.BLACK) : Component.translatable(Reference.MOD_ID + ".container.belt")); + , stack.has(DataComponents.CUSTOM_NAME) ? ((MutableComponent) stack.getHoverName()).withStyle(ChatFormatting.BLACK) : Component.translatable(Reference.MOD_ID + ".container.belt")); } @Override @@ -61,20 +62,21 @@ public boolean shouldCauseReequipAnimation(ItemStack oldStack, ItemStack newStac } @Override - public void appendHoverText(ItemStack stack, @Nullable Level level, List tooltip, TooltipFlag flagIn) { - CompoundTag tag = stack.getOrCreateTag(); - if (tag.contains(ForcePackItem.SLOTS_USED) && tag.contains(ForcePackItem.SLOTS_TOTAL)) { - tooltip.add(Component.literal(String.format("%s/%s Slots", tag.getInt(ForcePackItem.SLOTS_USED), tag.getInt(ForcePackItem.SLOTS_TOTAL)))); + public void appendHoverText(ItemStack stack, TooltipContext context, List tooltip, TooltipFlag flagIn) { + super.appendHoverText(stack, context, tooltip, flagIn); + if (stack.has(ForceComponents.SLOTS_USED) && stack.has(ForceComponents.SLOTS_TOTAL)) { + tooltip.add(Component.literal(String.format("%s/%s Slots", + stack.getOrDefault(ForceComponents.SLOTS_USED, 0), + stack.getOrDefault(ForceComponents.SLOTS_TOTAL, 1)))); } else { tooltip.add(Component.literal("0/8 Slots")); } - if (flagIn.isAdvanced() && stack.getTag() != null && stack.getTag().contains("uuid")) { - UUID uuid = stack.getTag().getUUID("uuid"); - tooltip.add(Component.literal("ID: " + uuid.toString().substring(0, 8)).withStyle(ChatFormatting.GRAY, ChatFormatting.ITALIC)); + if (flagIn.isAdvanced() && stack.has(ForceComponents.UUID)) { + UUID uuid = stack.get(ForceComponents.UUID); + tooltip.add(Component.literal("ID: " + uuid.toString().substring(0, 8)) + .withStyle(ChatFormatting.GRAY, ChatFormatting.ITALIC)); } - - super.appendHoverText(stack, level, tooltip, flagIn); } @Override diff --git a/src/main/java/com/mrbysco/forcecraft/items/ForceFluidBucketItem.java b/src/main/java/com/mrbysco/forcecraft/items/ForceFluidBucketItem.java index f79493b9..129f3c22 100644 --- a/src/main/java/com/mrbysco/forcecraft/items/ForceFluidBucketItem.java +++ b/src/main/java/com/mrbysco/forcecraft/items/ForceFluidBucketItem.java @@ -8,7 +8,7 @@ import java.util.function.Supplier; public class ForceFluidBucketItem extends BucketItem { - public ForceFluidBucketItem(Item.Properties properties, Supplier fluidSupplier) { - super(fluidSupplier, properties.craftRemainder(Items.BUCKET).stacksTo(1)); + public ForceFluidBucketItem(Item.Properties properties, Fluid fluid) { + super(fluid, properties.craftRemainder(Items.BUCKET).stacksTo(1)); } } diff --git a/src/main/java/com/mrbysco/forcecraft/items/ForcePackItem.java b/src/main/java/com/mrbysco/forcecraft/items/ForcePackItem.java index 181a12a0..4bb25f7d 100644 --- a/src/main/java/com/mrbysco/forcecraft/items/ForcePackItem.java +++ b/src/main/java/com/mrbysco/forcecraft/items/ForcePackItem.java @@ -1,12 +1,13 @@ package com.mrbysco.forcecraft.items; import com.mrbysco.forcecraft.Reference; -import com.mrbysco.forcecraft.attachment.storage.PackStackHandler; -import com.mrbysco.forcecraft.attachment.storage.PackStorage; -import com.mrbysco.forcecraft.attachment.storage.StorageManager; +import com.mrbysco.forcecraft.components.ForceComponents; +import com.mrbysco.forcecraft.components.storage.PackStackHandler; +import com.mrbysco.forcecraft.components.storage.PackStorage; +import com.mrbysco.forcecraft.components.storage.StorageManager; import com.mrbysco.forcecraft.menu.ForcePackMenu; import net.minecraft.ChatFormatting; -import net.minecraft.nbt.CompoundTag; +import net.minecraft.core.component.DataComponents; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.MutableComponent; import net.minecraft.world.InteractionHand; @@ -18,6 +19,7 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.level.Level; +import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.util.List; @@ -34,7 +36,8 @@ public ForcePackItem(Item.Properties properties) { } @Override - public InteractionResultHolder use(Level level, Player playerIn, InteractionHand handIn) { + @NotNull + public InteractionResultHolder use(@NotNull Level level, Player playerIn, @NotNull InteractionHand handIn) { ItemStack stack = playerIn.getItemInHand(handIn); if (playerIn.isShiftKeyDown()) { @@ -54,35 +57,36 @@ public InteractionResultHolder use(Level level, Player playerIn, Inte @Nullable public MenuProvider getContainer(ItemStack stack, PackStackHandler handler) { return new SimpleMenuProvider((id, playerInv, player) -> new ForcePackMenu(id, playerInv, handler), - stack.hasCustomHoverName() ? ((MutableComponent) stack.getHoverName()).withStyle(ChatFormatting.BLACK) : + stack.has(DataComponents.CUSTOM_NAME) ? ((MutableComponent) stack.getHoverName()).withStyle(ChatFormatting.BLACK) : Component.translatable(Reference.MOD_ID + ".container.pack")); } @Override - public boolean shouldCauseReequipAnimation(ItemStack oldStack, ItemStack newStack, boolean slotChanged) { + public boolean shouldCauseReequipAnimation(@NotNull ItemStack oldStack, @NotNull ItemStack newStack, boolean slotChanged) { return false; } @Override - public void appendHoverText(ItemStack stack, @Nullable Level level, List tooltip, TooltipFlag flagIn) { - CompoundTag tag = stack.getOrCreateTag(); - if (tag.contains(ForcePackItem.SLOTS_USED) && tag.contains(ForcePackItem.SLOTS_TOTAL)) { - tooltip.add(Component.literal(String.format("%s/%s Slots", tag.getInt(ForcePackItem.SLOTS_USED), tag.getInt(ForcePackItem.SLOTS_TOTAL)))); + public void appendHoverText(ItemStack stack, TooltipContext context, List tooltip, TooltipFlag flagIn) { + super.appendHoverText(stack, context, tooltip, flagIn); + if (stack.has(ForceComponents.SLOTS_USED) && stack.has(ForceComponents.SLOTS_TOTAL)) { + tooltip.add(Component.literal(String.format("%s/%s Slots", + stack.getOrDefault(ForceComponents.SLOTS_USED, 0), + stack.getOrDefault(ForceComponents.SLOTS_TOTAL, 1)))); } else { tooltip.add(Component.literal("0/8 Slots")); } - - if (flagIn.isAdvanced() && stack.getTag() != null && stack.getTag().contains("uuid")) { - UUID uuid = stack.getTag().getUUID("uuid"); - tooltip.add(Component.literal("ID: " + uuid.toString().substring(0, 8)).withStyle(ChatFormatting.GRAY, ChatFormatting.ITALIC)); + if (flagIn.isAdvanced() && stack.has(ForceComponents.UUID)) { + UUID uuid = stack.get(ForceComponents.UUID); + tooltip.add(Component.literal("ID: " + uuid.toString().substring(0, 8)) + .withStyle(ChatFormatting.GRAY, ChatFormatting.ITALIC)); } - - super.appendHoverText(stack, level, tooltip, flagIn); } @Override - public Component getName(ItemStack stack) { + @NotNull + public Component getName(@NotNull ItemStack stack) { return ((MutableComponent) super.getName(stack)).withStyle(ChatFormatting.YELLOW); } } diff --git a/src/main/java/com/mrbysco/forcecraft/items/FortuneItem.java b/src/main/java/com/mrbysco/forcecraft/items/FortuneItem.java index 393a0334..6951c1ce 100644 --- a/src/main/java/com/mrbysco/forcecraft/items/FortuneItem.java +++ b/src/main/java/com/mrbysco/forcecraft/items/FortuneItem.java @@ -1,7 +1,7 @@ package com.mrbysco.forcecraft.items; +import com.mrbysco.forcecraft.components.ForceComponents; import com.mrbysco.forcecraft.config.ConfigHandler; -import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResultHolder; @@ -25,10 +25,11 @@ public FortuneItem(Item.Properties properties) { @Override public InteractionResultHolder use(Level level, Player playerIn, InteractionHand handIn) { ItemStack stack = playerIn.getItemInHand(handIn); - CompoundTag tag = stack.hasTag() ? stack.getTag() : new CompoundTag(); + String message = stack.getOrDefault(ForceComponents.MESSAGE, ""); - if (!tag.contains("message")) { - addMessage(stack, tag); + if (message.isEmpty()) { + addMessage(stack); + message = stack.getOrDefault(ForceComponents.MESSAGE, ""); } if (!level.isClientSide) { @@ -41,13 +42,13 @@ public InteractionResultHolder use(Level level, Player playerIn, Inte playerIn.spawnAtLocation(paperStack); } } else { - playerIn.sendSystemMessage(Component.literal(tag.getString("message"))); + playerIn.sendSystemMessage(Component.literal(message)); } } return super.use(level, playerIn, handIn); } - public static void addMessage(ItemStack stack, CompoundTag tag) { + public static void addMessage(ItemStack stack) { List messages = new ArrayList<>(ConfigHandler.COMMON.fortuneMessages.get()); String message = "No fortune for you"; if (!messages.isEmpty()) { @@ -55,7 +56,6 @@ public static void addMessage(ItemStack stack, CompoundTag tag) { message = messages.get(idx); } - tag.putString("message", message); - stack.setTag(tag); + stack.set(ForceComponents.MESSAGE, message); } } diff --git a/src/main/java/com/mrbysco/forcecraft/items/ItemCardItem.java b/src/main/java/com/mrbysco/forcecraft/items/ItemCardItem.java index e1445418..024c7c3f 100644 --- a/src/main/java/com/mrbysco/forcecraft/items/ItemCardItem.java +++ b/src/main/java/com/mrbysco/forcecraft/items/ItemCardItem.java @@ -1,10 +1,11 @@ package com.mrbysco.forcecraft.items; import com.mrbysco.forcecraft.Reference; +import com.mrbysco.forcecraft.components.ForceComponents; +import com.mrbysco.forcecraft.components.card.RecipeContentsData; import com.mrbysco.forcecraft.menu.ItemCardMenu; import net.minecraft.ChatFormatting; import net.minecraft.core.BlockPos; -import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundSource; @@ -58,9 +59,9 @@ public InteractionResult interactLivingEntity(ItemStack stack, Player playerIn, if (level.isClientSide) { int rand = playerIn.getRandom().nextInt(3); Component message = switch (rand) { - default -> BAD_READ; case 1 -> TOO_SLOW; case 2 -> TOO_FAST; + default -> BAD_READ; }; playerIn.displayClientMessage(message, true); } @@ -69,19 +70,21 @@ public InteractionResult interactLivingEntity(ItemStack stack, Player playerIn, } @Override - public void appendHoverText(ItemStack stack, @Nullable Level level, List tooltip, TooltipFlag flagIn) { - CompoundTag tag = stack.getOrCreateTag(); - if (tag.contains("RecipeContents")) { - CompoundTag recipeContents = tag.getCompound("RecipeContents"); - ItemStack resultStack = ItemStack.of(recipeContents.getCompound("result")); - tooltip.add(Component.translatable("forcecraft.item_card.recipe_output", - Component.literal(resultStack.getCount() + " " + resultStack.getHoverName().getString()).withStyle(ChatFormatting.GRAY)).withStyle(ChatFormatting.YELLOW)); + public void appendHoverText(ItemStack stack, TooltipContext context, List tooltip, TooltipFlag tooltipFlag) { + super.appendHoverText(stack, context, tooltip, tooltipFlag); + + if (stack.has(ForceComponents.RECIPE_CONTENTS)) { + RecipeContentsData contentsData = stack.get(ForceComponents.RECIPE_CONTENTS); + if (contentsData != null) { + ItemStack resultStack = contentsData.resultItem(); + tooltip.add(Component.translatable("forcecraft.item_card.recipe_output", + Component.literal(resultStack.getCount() + " " + resultStack.getHoverName().getString()).withStyle(ChatFormatting.GRAY)).withStyle(ChatFormatting.YELLOW)); + } } else { tooltip.add(Component.translatable("forcecraft.item_card.unset").withStyle(ChatFormatting.RED)); } tooltip.add(Component.literal(" ")); tooltip.add(Component.translatable("forcecraft.item_card.recipe_set").withStyle(ChatFormatting.BOLD)); - super.appendHoverText(stack, level, tooltip, flagIn); } } diff --git a/src/main/java/com/mrbysco/forcecraft/items/SpoilsBagItem.java b/src/main/java/com/mrbysco/forcecraft/items/SpoilsBagItem.java index 013c4e2b..9bdb2202 100644 --- a/src/main/java/com/mrbysco/forcecraft/items/SpoilsBagItem.java +++ b/src/main/java/com/mrbysco/forcecraft/items/SpoilsBagItem.java @@ -1,16 +1,17 @@ package com.mrbysco.forcecraft.items; import com.mrbysco.forcecraft.Reference; +import com.mrbysco.forcecraft.components.ForceComponents; import com.mrbysco.forcecraft.menu.SpoilsBagMenu; import com.mrbysco.forcecraft.registry.ForceTables; import com.mrbysco.forcecraft.util.ItemHandlerUtils; import net.minecraft.ChatFormatting; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; -import net.minecraft.nbt.CompoundTag; +import net.minecraft.core.component.DataComponents; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.MutableComponent; -import net.minecraft.resources.ResourceLocation; +import net.minecraft.resources.ResourceKey; import net.minecraft.server.level.ServerLevel; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; @@ -57,7 +58,7 @@ public InteractionResult useOn(UseOnContext context) { if (blockInventory != null && handler instanceof ItemStackHandler itemHandler) { for (int i = 0; i < itemHandler.getSlots(); i++) { ItemStack bagStack = itemHandler.getStackInSlot(i); - ItemStack remaining = ItemHandlerHelper.copyStackWithSize(bagStack, bagStack.getCount()); + ItemStack remaining = bagStack.copyWithCount(bagStack.getCount()); if (!bagStack.isEmpty()) { remaining = ItemHandlerHelper.insertItem(blockInventory, bagStack, false); itemHandler.setStackInSlot(i, remaining); @@ -85,7 +86,7 @@ public InteractionResultHolder use(Level level, Player playerIn, Inte return super.use(level, playerIn, handIn); } - public ResourceLocation getTable() { + public ResourceKey getTable() { return switch (this.tier) { default -> ForceTables.TIER_1; case 2 -> ForceTables.TIER_2; @@ -94,14 +95,13 @@ public ResourceLocation getTable() { } public void populateBag(Level level, ItemStack stack) { - if (!level.isClientSide && !stack.getOrCreateTag().getBoolean("Filled")) { + if (!level.isClientSide && !stack.has(ForceComponents.SPOILS_FILLED)) { IItemHandler handler = stack.getCapability(Capabilities.ItemHandler.ITEM); if (handler instanceof ItemStackHandler) { if (ItemHandlerUtils.isEmpty(handler)) { - CompoundTag tag = stack.getOrCreateTag(); List stacks = new ArrayList<>(); do { - LootTable table = level.getServer().getLootData().getLootTable(getTable()); + LootTable table = level.getServer().reloadableRegistries().getLootTable(getTable()); LootParams.Builder lootParams = (new LootParams.Builder((ServerLevel) level)); List lootStacks = table.getRandomItems(lootParams.create(LootContextParamSets.EMPTY)); @@ -129,8 +129,7 @@ public void populateBag(Level level, ItemStack stack) { for (int i = 0; i < stacks.size(); i++) { stackhandler.setStackInSlot(i, stacks.get(i)); } - tag.putBoolean("Filled", true); - stack.setTag(tag); + stack.set(ForceComponents.SPOILS_FILLED, true); } } } @@ -140,12 +139,14 @@ public void populateBag(Level level, ItemStack stack) { public MenuProvider getContainer(ItemStack stack) { return new SimpleMenuProvider((id, inventory, player) -> { return new SpoilsBagMenu(id, inventory, stack); - }, stack.hasCustomHoverName() ? ((MutableComponent) stack.getHoverName()).withStyle(ChatFormatting.BLACK) : Component.translatable(Reference.MOD_ID + ".container.spoils_bag")); + }, stack.has(DataComponents.CUSTOM_NAME) ? + ((MutableComponent) stack.getHoverName()).withStyle(ChatFormatting.BLACK) : + Component.translatable(Reference.MOD_ID + ".container.spoils_bag")); } @Override public void inventoryTick(ItemStack stack, Level level, Entity entityIn, int itemSlot, boolean isSelected) { - if (!level.isClientSide && stack.hasTag() && stack.getTag().getBoolean("Filled")) { + if (!level.isClientSide && stack.has(ForceComponents.SPOILS_FILLED)) { IItemHandler handler = stack.getCapability(Capabilities.ItemHandler.ITEM); if (ItemHandlerUtils.isEmpty(handler)) { stack.shrink(1); @@ -154,8 +155,8 @@ public void inventoryTick(ItemStack stack, Level level, Entity entityIn, int ite } @Override - public void appendHoverText(ItemStack stack, @Nullable Level level, List tooltip, TooltipFlag flagIn) { - super.appendHoverText(stack, level, tooltip, flagIn); + public void appendHoverText(ItemStack stack, TooltipContext context, List tooltip, TooltipFlag tooltipFlag) { + super.appendHoverText(stack, context, tooltip, tooltipFlag); tooltip.add(Component.literal("Tier: " + tier).withStyle(ChatFormatting.GRAY)); } } diff --git a/src/main/java/com/mrbysco/forcecraft/items/flask/EntityFlaskItem.java b/src/main/java/com/mrbysco/forcecraft/items/flask/EntityFlaskItem.java index 057b8301..be5b3ae5 100644 --- a/src/main/java/com/mrbysco/forcecraft/items/flask/EntityFlaskItem.java +++ b/src/main/java/com/mrbysco/forcecraft/items/flask/EntityFlaskItem.java @@ -1,5 +1,7 @@ package com.mrbysco.forcecraft.items.flask; +import com.mrbysco.forcecraft.components.ForceComponents; +import com.mrbysco.forcecraft.components.flask.FlaskContent; import com.mrbysco.forcecraft.entities.projectile.FlaskEntity; import com.mrbysco.forcecraft.items.BaseItem; import com.mrbysco.forcecraft.registry.ForceRegistry; @@ -23,7 +25,6 @@ import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.item.context.UseOnContext; import net.minecraft.world.level.Level; -import org.jetbrains.annotations.Nullable; import java.util.List; @@ -47,11 +48,7 @@ public InteractionResult useOn(UseOnContext context) { BlockPos pos = context.getClickedPos().relative(context.getClickedFace()); storedEntity.absMoveTo(pos.getX() + 0.5, pos.getY(), pos.getZ() + 0.5, 0, 0); level.addFreshEntity(storedEntity); - - CompoundTag tag = stack.getOrCreateTag(); - tag.remove("StoredEntity"); - tag.remove("EntityData"); - stack.setTag(tag); + stack.remove(ForceComponents.FLASK_CONTENT); } else { if (playerIn != null) playerIn.sendSystemMessage(Component.translatable("item.entity_flask.empty2").withStyle(ChatFormatting.RED)); @@ -91,34 +88,27 @@ public InteractionResultHolder use(Level level, Player playerIn, Inte } public boolean hasEntityStored(ItemStack stack) { - return stack.getTag() != null && stack.getTag().contains("StoredEntity"); + return stack.has(ForceComponents.FLASK_CONTENT); } public Entity getStoredEntity(ItemStack stack, Level level) { - CompoundTag tag = stack.getTag(); - if (tag == null) return null; - ResourceLocation resourceLocation = ResourceLocation.tryParse(tag.getString("StoredEntity")); + FlaskContent content = stack.get(ForceComponents.FLASK_CONTENT); + if (content == null) return null; + ResourceLocation resourceLocation = content.storedType(); if (resourceLocation == null) return null; EntityType type = BuiltInRegistries.ENTITY_TYPE.get(resourceLocation); if (type != null) { Entity entity = type.create(level); if (entity == null) return null; - entity.load(tag.getCompound("EntityData")); + entity.load(content.entityData()); return entity; } return null; } public void storeEntity(ItemStack stack, LivingEntity livingEntity) { - CompoundTag tag = stack.getOrCreateTag(); - tag.putString("StoredEntity", EntityType.getKey(livingEntity.getType()).toString()); - - CompoundTag entityTag = new CompoundTag(); - livingEntity.saveWithoutId(entityTag); - tag.put("EntityData", entityTag); - - stack.setTag(tag); - livingEntity.discard(); + FlaskContent content = new FlaskContent(EntityType.getKey(livingEntity.getType()), livingEntity.saveWithoutId(new CompoundTag())); + stack.set(ForceComponents.FLASK_CONTENT, content); } public boolean isBlacklisted(LivingEntity livingEntity) { @@ -127,21 +117,23 @@ public boolean isBlacklisted(LivingEntity livingEntity) { @Override public Component getName(ItemStack stack) { - if (hasEntityStored(stack)) - return Component.translatable(super.getDescriptionId(stack), stack.getTag().getString("StoredEntity")); + FlaskContent content = stack.get(ForceComponents.FLASK_CONTENT); + if (content != null) + return Component.translatable(super.getDescriptionId(stack), content.storedType()); + return Component.translatable(super.getDescriptionId(stack), "Empty"); } @Override - public void appendHoverText(ItemStack stack, @Nullable Level level, List tooltip, TooltipFlag flagIn) { - super.appendHoverText(stack, level, tooltip, flagIn); + public void appendHoverText(ItemStack stack, TooltipContext context, List tooltip, TooltipFlag tooltipFlag) { + super.appendHoverText(stack, context, tooltip, tooltipFlag); if (hasEntityStored(stack)) { - CompoundTag tag = stack.getOrCreateTag(); + FlaskContent content = stack.get(ForceComponents.FLASK_CONTENT); tooltip.add(Component.translatable("item.entity_flask.tooltip").withStyle(ChatFormatting.GOLD).append( - Component.literal(String.format("[%s]", tag.getString("StoredEntity"))).withStyle(ChatFormatting.GRAY))); - if (tag.contains("EntityData")) { + Component.literal(String.format("[%s]", content.storedType().toString())).withStyle(ChatFormatting.GRAY))); + if (!content.entityData().contains("Health")) { tooltip.add(Component.translatable("item.entity_flask.tooltip2").withStyle(ChatFormatting.GOLD).append( - Component.literal(String.format("[%s]", tag.getCompound("EntityData").getDouble("Health"))).withStyle(ChatFormatting.GRAY))); + Component.literal(String.format("[%s]", content.entityData().getDouble("Health"))).withStyle(ChatFormatting.GRAY))); } } } diff --git a/src/main/java/com/mrbysco/forcecraft/items/flask/FlaskFluidHandler.java b/src/main/java/com/mrbysco/forcecraft/items/flask/FlaskFluidHandler.java index 9a79cff2..c47f027d 100644 --- a/src/main/java/com/mrbysco/forcecraft/items/flask/FlaskFluidHandler.java +++ b/src/main/java/com/mrbysco/forcecraft/items/flask/FlaskFluidHandler.java @@ -3,18 +3,21 @@ import com.mrbysco.forcecraft.registry.ForceFluids; import com.mrbysco.forcecraft.registry.ForceRegistry; import com.mrbysco.forcecraft.registry.ForceTags; +import net.minecraft.core.component.DataComponentType; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.neoforged.neoforge.common.NeoForgeMod; import net.neoforged.neoforge.fluids.FluidStack; +import net.neoforged.neoforge.fluids.SimpleFluidContent; import net.neoforged.neoforge.fluids.capability.templates.FluidHandlerItemStackSimple; import javax.annotation.Nonnull; +import java.util.function.Supplier; public class FlaskFluidHandler extends FluidHandlerItemStackSimple { - public FlaskFluidHandler(@Nonnull ItemStack container) { - super(container, 1000); + public FlaskFluidHandler(Supplier> componentType, ItemStack container) { + super(componentType, container, 1000); } @Override diff --git a/src/main/java/com/mrbysco/forcecraft/items/flask/ForceFilledForceFlask.java b/src/main/java/com/mrbysco/forcecraft/items/flask/ForceFilledForceFlask.java index 9cecc9df..e941d1ce 100644 --- a/src/main/java/com/mrbysco/forcecraft/items/flask/ForceFilledForceFlask.java +++ b/src/main/java/com/mrbysco/forcecraft/items/flask/ForceFilledForceFlask.java @@ -65,8 +65,8 @@ public InteractionResultHolder use(Level level, Player playerIn, Inte } @Override - public void appendHoverText(ItemStack stack, @Nullable Level level, List tooltip, TooltipFlag flagIn) { + public void appendHoverText(ItemStack stack, TooltipContext context, List tooltip, TooltipFlag tooltipFlag) { + super.appendHoverText(stack, context, tooltip, tooltipFlag); tooltip.add(Component.translatable("item.force_filled_force_flask.tooltip").withStyle(ChatFormatting.GRAY)); - super.appendHoverText(stack, level, tooltip, flagIn); } } diff --git a/src/main/java/com/mrbysco/forcecraft/items/flask/MilkFlaskItem.java b/src/main/java/com/mrbysco/forcecraft/items/flask/MilkFlaskItem.java index 8035560a..6d5bc025 100644 --- a/src/main/java/com/mrbysco/forcecraft/items/flask/MilkFlaskItem.java +++ b/src/main/java/com/mrbysco/forcecraft/items/flask/MilkFlaskItem.java @@ -63,8 +63,8 @@ public InteractionResultHolder use(Level level, Player playerIn, Inte } @Override - public void appendHoverText(ItemStack stack, @Nullable Level level, List tooltip, TooltipFlag flagIn) { + public void appendHoverText(ItemStack stack, TooltipContext context, List tooltip, TooltipFlag tooltipFlag) { + super.appendHoverText(stack, context, tooltip, tooltipFlag); tooltip.add(Component.translatable("item.milk_force_flask.tooltip").withStyle(ChatFormatting.GRAY)); - super.appendHoverText(stack, level, tooltip, flagIn); } } diff --git a/src/main/java/com/mrbysco/forcecraft/items/flask/RedPotionItem.java b/src/main/java/com/mrbysco/forcecraft/items/flask/RedPotionItem.java index e929db30..5ccc24c5 100644 --- a/src/main/java/com/mrbysco/forcecraft/items/flask/RedPotionItem.java +++ b/src/main/java/com/mrbysco/forcecraft/items/flask/RedPotionItem.java @@ -61,9 +61,8 @@ public InteractionResultHolder use(Level level, Player playerIn, Inte return ItemUtils.startUsingInstantly(level, playerIn, handIn); } - @Override - public void appendHoverText(ItemStack stack, @Nullable Level level, List tooltip, TooltipFlag flagIn) { + public void appendHoverText(ItemStack stack, TooltipContext context, List tooltip, TooltipFlag tooltipFlag) { + super.appendHoverText(stack, context, tooltip, tooltipFlag); tooltip.add(Component.translatable("item.red_potion.tooltip").withStyle(ChatFormatting.GRAY)); - super.appendHoverText(stack, level, tooltip, flagIn); } } diff --git a/src/main/java/com/mrbysco/forcecraft/items/heart/RecoveryHeartItem.java b/src/main/java/com/mrbysco/forcecraft/items/heart/RecoveryHeartItem.java index e0ed2064..1f26e20b 100644 --- a/src/main/java/com/mrbysco/forcecraft/items/heart/RecoveryHeartItem.java +++ b/src/main/java/com/mrbysco/forcecraft/items/heart/RecoveryHeartItem.java @@ -23,7 +23,7 @@ public void inventoryTick(ItemStack stack, Level level, Entity entityIn, int ite if (!(entityIn instanceof Player player)) return; - BlockPos pos = BlockPos.containing(player.getX(), player.getY() + player.getMyRidingOffset(entityIn), player.getZ()); + BlockPos pos = BlockPos.containing(player.getX(), player.getY() + player.getPassengerRidingPosition(entityIn).y(), player.getZ()); int HEAL_AMT = 2; for (int i = 0; i < stack.getCount(); i++) { diff --git a/src/main/java/com/mrbysco/forcecraft/items/infuser/ForceToolData.java b/src/main/java/com/mrbysco/forcecraft/items/infuser/ForceToolData.java index 9191ae8c..db26e369 100644 --- a/src/main/java/com/mrbysco/forcecraft/items/infuser/ForceToolData.java +++ b/src/main/java/com/mrbysco/forcecraft/items/infuser/ForceToolData.java @@ -1,7 +1,7 @@ package com.mrbysco.forcecraft.items.infuser; +import com.mrbysco.forcecraft.components.ForceComponents; import net.minecraft.ChatFormatting; -import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.MutableComponent; import net.minecraft.world.item.ItemStack; @@ -9,6 +9,7 @@ import java.util.List; public class ForceToolData { + private ItemStack stack; private int force = 0; @@ -21,24 +22,13 @@ public void setForce(int force) { } public ForceToolData(ItemStack tool) { - CompoundTag tag = tool.getTag(); - if (tag != null && tag.contains("force")) { - this.read(tool, tag); - } - } - - private void read(ItemStack tool, CompoundTag tag) { - force = tag.getInt("force"); - } - - public CompoundTag write(ItemStack tool) { - CompoundTag tag = tool.getOrCreateTag(); - tag.putInt("force", force); - return tag; + this.stack = tool; + this.force = tool.getOrDefault(ForceComponents.FORCE, 0); } public void charge(int incoming) { - force += incoming; + this.force += incoming; + this.stack.set(ForceComponents.FORCE, this.force); } public void attachInformation(List tooltip) { diff --git a/src/main/java/com/mrbysco/forcecraft/items/infuser/IForceChargingTool.java b/src/main/java/com/mrbysco/forcecraft/items/infuser/IForceChargingTool.java index afdd1424..1e097462 100644 --- a/src/main/java/com/mrbysco/forcecraft/items/infuser/IForceChargingTool.java +++ b/src/main/java/com/mrbysco/forcecraft/items/infuser/IForceChargingTool.java @@ -12,7 +12,6 @@ default int damageItem(ItemStack stack, int amount) { ForceToolData fd = new ForceToolData(stack); int actual = Math.min(fd.getForce(), forceDrain); fd.setForce(fd.getForce() - actual); - fd.write(stack); int diff = forceDrain - actual; diff --git a/src/main/java/com/mrbysco/forcecraft/items/infuser/UpgradeBookData.java b/src/main/java/com/mrbysco/forcecraft/items/infuser/UpgradeBookData.java index 0ac7e221..64a58e3a 100644 --- a/src/main/java/com/mrbysco/forcecraft/items/infuser/UpgradeBookData.java +++ b/src/main/java/com/mrbysco/forcecraft/items/infuser/UpgradeBookData.java @@ -1,177 +1,148 @@ package com.mrbysco.forcecraft.items.infuser; -import com.mrbysco.forcecraft.ForceCraft; +import com.mojang.serialization.Codec; +import com.mojang.serialization.codecs.RecordCodecBuilder; import com.mrbysco.forcecraft.blockentities.InfuserBlockEntity; +import com.mrbysco.forcecraft.components.ForceComponents; import com.mrbysco.forcecraft.recipe.InfuseRecipe; -import com.mrbysco.forcecraft.registry.ForceRegistry; -import net.minecraft.nbt.CompoundTag; -import net.minecraft.nbt.ListTag; -import net.minecraft.nbt.Tag; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.StreamCodec; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.RecipeHolder; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Map; -import java.util.Set; - -public class UpgradeBookData { - private UpgradeBookTier tier = UpgradeBookTier.ZERO; - private final Map> recipesUsed = new HashMap<>(); - private int points = 0; - private String progressCache = ""; - - public UpgradeBookData(ItemStack book) { - if (book.getItem() != ForceRegistry.UPGRADE_TOME.get()) { - ForceCraft.LOGGER.error("invalid book data entering book {}", book); - return; - } - CompoundTag tag = book.getTag(); - if (tag != null && tag.contains("tier")) { - // is not empty, load it up - this.read(book, tag); - } else { - updateCache(); - this.write(book); - } - // else its a new craft, or showing in JEI etc +import java.util.ArrayList; +import java.util.List; + +public record UpgradeBookData(UpgradeBookTier tier, List recipesUsed, + int points, String progressCache) { + public static final UpgradeBookData DEFAULT = new UpgradeBookData(UpgradeBookTier.ZERO, new ArrayList<>(), 0, ""); + public static final Codec CODEC = RecordCodecBuilder.create(inst -> inst.group( + UpgradeBookTier.CODEC.fieldOf("tier").forGetter(UpgradeBookData::tier), + Codec.list(ResourceLocation.CODEC).fieldOf("recipesUsed").forGetter(UpgradeBookData::recipesUsed), + Codec.INT.fieldOf("points").forGetter(UpgradeBookData::points), + Codec.STRING.fieldOf("progressCache").forGetter(UpgradeBookData::progressCache)) + .apply(inst, UpgradeBookData::new)); + public static final StreamCodec STREAM_CODEC = StreamCodec.of( + UpgradeBookData::toNetwork, UpgradeBookData::fromNetwork + ); + + private static UpgradeBookData fromNetwork(RegistryFriendlyByteBuf byteBuf) { + UpgradeBookTier tier = UpgradeBookTier.values()[byteBuf.readVarInt()]; + List recipesUsed = byteBuf.readList(ResourceLocation.STREAM_CODEC); + int points = byteBuf.readVarInt(); + String progressCache = byteBuf.readUtf(32767); + return new UpgradeBookData(tier, recipesUsed, points, progressCache); + } + + private static void toNetwork(RegistryFriendlyByteBuf byteBuf, UpgradeBookData playerCompassData) { + byteBuf.writeVarInt(playerCompassData.tier().ordinal()); + byteBuf.writeCollection(playerCompassData.recipesUsed(), ResourceLocation.STREAM_CODEC); + byteBuf.writeVarInt(playerCompassData.points()); + byteBuf.writeUtf(playerCompassData.progressCache()); } // how many we need for next tier increment - public int nextTier() { - if (getTier() == UpgradeBookTier.FINAL) { + public int nextTier(ItemStack stack) { + UpgradeBookData data = stack.getOrDefault(ForceComponents.UPGRADE_BOOK, UpgradeBookData.DEFAULT); + if (data.tier() == UpgradeBookTier.FINAL) { return 0; } - return Math.max(0, getTier().pointsForLevelup() - points); + return Math.max(0, data.tier().pointsForLevelup() - points); } public void onRecipeApply(RecipeHolder recipeHolder, ItemStack bookStack) { - Integer tier = recipeHolder.value().getTier().ordinal(); - Set tierSet = new HashSet<>(); - - if (recipesUsed.containsKey(tier)) { - tierSet = recipesUsed.get(tier); + UpgradeBookData data = bookStack.getOrDefault(ForceComponents.UPGRADE_BOOK, UpgradeBookData.DEFAULT); + if (InfuserBlockEntity.LEVEL_RECIPE_LIST.get(data.tier.asInt()).contains(recipeHolder.id())) { + recipesUsed.add(recipeHolder.id()); } - - tierSet.add(recipeHolder.id()); - recipesUsed.put(tier, tierSet); - - tryLevelUp(); - - this.write(bookStack); + tryLevelUp(bookStack); } - public void incrementPoints(int incoming) { - points += incoming; - tryLevelUp(); + public static void incrementPoints(ItemStack stack, int incoming) { + UpgradeBookData data = stack.getOrDefault(ForceComponents.UPGRADE_BOOK, UpgradeBookData.DEFAULT); + stack.set(ForceComponents.UPGRADE_BOOK, + new UpgradeBookData( + data.tier, + data.recipesUsed, + data.points + incoming, + data.progressCache + ) + ); + tryLevelUp(stack); } // update level and points if levelup is possible - private void tryLevelUp() { - if (canLevelUp()) { + private static void tryLevelUp(ItemStack stack) { + UpgradeBookData data = stack.getOrDefault(ForceComponents.UPGRADE_BOOK, UpgradeBookData.DEFAULT); + if (canLevelUp(stack)) { // then go - points -= this.getTier().pointsForLevelup(); - setTier(getTier().incrementTier()); + int newPoints = data.points() - data.tier().pointsForLevelup(); + setTierAndPoints(stack, data.tier().incrementTier(), newPoints); - updateCache(); + updateCache(stack); } } - private void updateCache() { + private static void updateCache(ItemStack stack) { + UpgradeBookData data = stack.getOrDefault(ForceComponents.UPGRADE_BOOK, UpgradeBookData.DEFAULT); //Update tooltip - Set thisTier = this.recipesUsed.get(this.tier.ordinal()); + List thisTier = InfuserBlockEntity.LEVEL_RECIPE_LIST.get(data.tier().ordinal()); int recipesThisTier = (thisTier == null) ? 0 : thisTier.size(); if (!InfuserBlockEntity.LEVEL_RECIPE_LIST.isEmpty()) { - int totalThisTier = InfuserBlockEntity.LEVEL_RECIPE_LIST.get(this.tier.ordinal()).size(); - this.progressCache = recipesThisTier + "/" + totalThisTier; + int totalThisTier = InfuserBlockEntity.LEVEL_RECIPE_LIST.get(data.tier().ordinal()).size(); + stack.set(ForceComponents.UPGRADE_BOOK, + new UpgradeBookData( + data.tier, + data.recipesUsed, + data.points, + recipesThisTier + "/" + totalThisTier + ) + ); } } - private boolean canLevelUp() { + private static boolean canLevelUp(ItemStack stack) { + UpgradeBookData data = stack.getOrDefault(ForceComponents.UPGRADE_BOOK, UpgradeBookData.DEFAULT); // check more - Set thisTier = this.recipesUsed.get(this.tier.ordinal()); + List thisTier = data.recipesUsed(); int recipesThisTier = (thisTier == null) ? 0 : thisTier.size(); - int totalThisTier = InfuserBlockEntity.LEVEL_RECIPE_LIST.get(this.tier.ordinal()).size(); + int totalThisTier = InfuserBlockEntity.LEVEL_RECIPE_LIST.get(data.tier().ordinal()).size(); // ForceCraft.LOGGER.debug("can lvlup? ? " + recipesThisTier + " >= " + totalThisTier); - updateCache(); + updateCache(stack); - if (points < this.getTier().pointsForLevelup() || getTier() == UpgradeBookTier.FINAL) { + if (data.points() < data.tier().pointsForLevelup() || data.tier() == UpgradeBookTier.FINAL) { return false; } - // if this tier has total=5 recipes, i need to craft at least 5 unique recipes + // if this tier has total=5 recipes, I need to craft at least 5 unique recipes // this tier return recipesThisTier >= totalThisTier; } - private void read(ItemStack book, CompoundTag tag) { - progressCache = tag.getString("progressCache"); - setTier(UpgradeBookTier.values()[tag.getInt("tier")]); - points = tag.getInt("points"); - - for (UpgradeBookTier tier : UpgradeBookTier.values()) { - Set tierSet = new HashSet<>(); - - ListTag listTag = (ListTag) tag.get("tier" + tier.ordinal()); - - if (listTag != null) { - for (Tag value : listTag) { - CompoundTag tg = (CompoundTag) value; - String id = tg.getString("id"); - - // i dont know where this bug comes from - if (!id.isEmpty() && !"minecraft:".equalsIgnoreCase(id)) - tierSet.add(ResourceLocation.tryParse(id)); - } - } - recipesUsed.put(tier.ordinal(), tierSet); - } - } - - public CompoundTag write(ItemStack bookInSlot) { - CompoundTag tag = bookInSlot.getOrCreateTag(); - tag.putString("progressCache", progressCache); - tag.putInt("tier", getTier().ordinal()); - tag.putInt("points", points); - - for (UpgradeBookTier tier : UpgradeBookTier.values()) { - Set tierSet = recipesUsed.get(tier.ordinal()); - if (tierSet == null) { - tierSet = new HashSet<>(); - } - ListTag listTag = new ListTag(); - for (ResourceLocation id : tierSet) { - // I don't know where this bug comes from - if (!"minecraft:".equalsIgnoreCase(id.toString())) { - CompoundTag tg = new CompoundTag(); - tg.putString("id", id.toString()); - listTag.add(tg); - } - } - - tag.put("tier" + tier.ordinal(), listTag); - } - - return tag; - } - - public String getProgressCache() { - return progressCache; - } - - public UpgradeBookTier getTier() { - return tier; + private static void setTierAndPoints(ItemStack stack, UpgradeBookTier tier, int points) { + UpgradeBookData data = stack.getOrDefault(ForceComponents.UPGRADE_BOOK, UpgradeBookData.DEFAULT); + stack.set(ForceComponents.UPGRADE_BOOK, + new UpgradeBookData( + tier, + new ArrayList<>(), //Clear list on tier change + points, + data.progressCache + ) + ); } - public void setTier(UpgradeBookTier tier) { - this.tier = tier; + public static void setTier(ItemStack stack, UpgradeBookTier tier) { + UpgradeBookData data = stack.getOrDefault(ForceComponents.UPGRADE_BOOK, UpgradeBookData.DEFAULT); + stack.set(ForceComponents.UPGRADE_BOOK, + new UpgradeBookData( + tier, + new ArrayList<>(), //Clear list on tier change + data.points, + data.progressCache + ) + ); } - - public int getPoints() { - return points; - } - } \ No newline at end of file diff --git a/src/main/java/com/mrbysco/forcecraft/items/infuser/UpgradeTomeItem.java b/src/main/java/com/mrbysco/forcecraft/items/infuser/UpgradeTomeItem.java index 2675d49c..0a86207b 100644 --- a/src/main/java/com/mrbysco/forcecraft/items/infuser/UpgradeTomeItem.java +++ b/src/main/java/com/mrbysco/forcecraft/items/infuser/UpgradeTomeItem.java @@ -1,5 +1,6 @@ package com.mrbysco.forcecraft.items.infuser; +import com.mrbysco.forcecraft.components.ForceComponents; import com.mrbysco.forcecraft.items.BaseItem; import net.minecraft.ChatFormatting; import net.minecraft.client.gui.screens.Screen; @@ -8,8 +9,6 @@ import net.minecraft.network.chat.Style; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; -import net.minecraft.world.level.Level; -import org.jetbrains.annotations.Nullable; import java.util.List; @@ -20,30 +19,30 @@ public UpgradeTomeItem(Properties properties) { } @Override - public void appendHoverText(ItemStack stack, @Nullable Level level, List tooltip, TooltipFlag flagIn) { - super.appendHoverText(stack, level, tooltip, flagIn); - UpgradeBookData bd = new UpgradeBookData(stack); + public void appendHoverText(ItemStack stack, TooltipContext context, List tooltip, TooltipFlag flagIn) { + super.appendHoverText(stack, context, tooltip, flagIn); + UpgradeBookData bd = stack.getOrDefault(ForceComponents.UPGRADE_BOOK, UpgradeBookData.DEFAULT); MutableComponent tt = Component.translatable("item.forcecraft.upgrade_tome.tt.tier"); tt.withStyle(Style.EMPTY.applyFormat(ChatFormatting.AQUA)); - tt.append(" " + bd.getTier()); - if (!bd.getProgressCache().isEmpty()) { - tt.append(" : " + bd.getProgressCache()); + tt.append(" " + bd.tier()); + if (!bd.progressCache().isEmpty()) { + tt.append(" : " + bd.progressCache()); } tooltip.add(tt); - if (bd.getTier() == UpgradeBookTier.FINAL) { + if (bd.tier() == UpgradeBookTier.FINAL) { tt = Component.translatable("item.forcecraft.upgrade_tome.tt.max"); tt.withStyle(Style.EMPTY.applyFormat(ChatFormatting.AQUA)); } else { tt = Component.translatable("item.forcecraft.upgrade_tome.tt.points"); tt.withStyle(Style.EMPTY.applyFormat(ChatFormatting.AQUA)); - tt.append(" " + bd.getPoints()); + tt.append(" " + bd.points()); tooltip.add(tt); tt = Component.translatable("item.forcecraft.upgrade_tome.tt.nexttier"); tt.withStyle(Style.EMPTY.applyFormat(ChatFormatting.AQUA)); - tt.append(" " + bd.nextTier()); + tt.append(" " + bd.nextTier(stack)); } tooltip.add(tt); @@ -58,8 +57,6 @@ public void appendHoverText(ItemStack stack, @Nullable Level level, List 0) { - forceArrow.setSpeedy(); - } + @NotNull + public AbstractArrow createArrow(@NotNull Level level, ItemStack stack, @NotNull LivingEntity shooter, @Nullable ItemStack weapon) { + ForceArrowEntity forceArrow = new ForceArrowEntity(level, shooter, stack.copyWithCount(1), weapon); + if (shooter instanceof Player player && weapon != null) { + if (weapon.has(ForceComponents.TOOL_FREEZING)) { + forceArrow.addEffect(new MobEffectInstance(MobEffects.MOVEMENT_SLOWDOWN, 60, 2, false, false)); + } + if (weapon.has(ForceComponents.TOOL_ENDER)) { + forceArrow.setEnder(); + } + if (weapon.has(ForceComponents.TOOL_BANE)) { + forceArrow.setBane(); + } + if (weapon.has(ForceComponents.TOOL_LIGHT)) { + forceArrow.setAppliesGlowing(); + } + if (weapon.has(ForceComponents.TOOL_BLEED)) { + forceArrow.setBleeding(weapon.getOrDefault(ForceComponents.TOOL_BLEED, 0)); + } + if (weapon.has(ForceComponents.TOOL_LUCK)) { + int luckValue = weapon.getOrDefault(ForceComponents.TOOL_LUCK, 0); + forceArrow.setLuck(luckValue); + } + if (weapon.has(ForceComponents.TOOL_SPEED)) { + forceArrow.setSpeedy(); } } - forceArrow.setEffectsFromItem(stack); return forceArrow; } } diff --git a/src/main/java/com/mrbysco/forcecraft/items/tools/ForceAxeItem.java b/src/main/java/com/mrbysco/forcecraft/items/tools/ForceAxeItem.java index 9d6b28ed..c5faa4f0 100644 --- a/src/main/java/com/mrbysco/forcecraft/items/tools/ForceAxeItem.java +++ b/src/main/java/com/mrbysco/forcecraft/items/tools/ForceAxeItem.java @@ -1,7 +1,6 @@ package com.mrbysco.forcecraft.items.tools; import com.google.common.collect.Lists; -import com.mrbysco.forcecraft.attachment.toolmodifier.ToolModifierAttachment; import com.mrbysco.forcecraft.items.infuser.ForceToolData; import com.mrbysco.forcecraft.items.infuser.IForceChargingTool; import com.mrbysco.forcecraft.registry.material.ModToolTiers; @@ -18,7 +17,7 @@ import net.minecraft.world.level.Level; import net.neoforged.bus.api.SubscribeEvent; import net.neoforged.neoforge.common.NeoForge; -import net.neoforged.neoforge.event.TickEvent; +import net.neoforged.neoforge.event.tick.LevelTickEvent; import org.jetbrains.annotations.Nullable; import java.util.HashSet; @@ -27,24 +26,12 @@ import java.util.Set; import java.util.function.Consumer; -import static com.mrbysco.forcecraft.attachment.ForceAttachments.TOOL_MODIFIER; import static com.mrbysco.forcecraft.util.ForceUtils.isLog; public class ForceAxeItem extends AxeItem implements IForceChargingTool { public ForceAxeItem(Item.Properties properties) { - super(ModToolTiers.FORCE, 0F, -3.1F, properties); - } - - @Override - public boolean onBlockStartBreak(ItemStack stack, BlockPos pos, Player player) { - if (stack.hasData(TOOL_MODIFIER) && stack.getData(TOOL_MODIFIER).hasLumberjack()) { - if (ForceUtils.isTree(player.getCommandSenderWorld(), pos)) { - return fellTree(stack, pos, player); - } - } - - return false; + super(ModToolTiers.FORCE, properties.attributes(createAttributes(ModToolTiers.FORCE, 0F, -3.1F))); } public static boolean fellTree(ItemStack stack, BlockPos pos, Player player) { @@ -74,13 +61,14 @@ public TreeChopTask(ItemStack tool, BlockPos start, Player player, int blocksPer } @SubscribeEvent - public void chop(TickEvent.LevelTickEvent event) { - if (event.side.isClient()) { + public void chop(LevelTickEvent.Post event) { + Level level = event.getLevel(); + if (level.isClientSide()) { finish(); return; } // only if same dimension - if (event.level.dimension().location().equals(level.dimension().location())) { + if (level.dimension().location().equals(level.dimension().location())) { return; } @@ -147,15 +135,14 @@ public boolean isBookEnchantable(ItemStack stack, ItemStack book) { } @Override - public void appendHoverText(ItemStack stack, @Nullable Level level, List lores, TooltipFlag flagIn) { + public void appendHoverText(ItemStack stack, TooltipContext context, List tooltip, TooltipFlag tooltipFlag) { ForceToolData fd = new ForceToolData(stack); - fd.attachInformation(lores); - ToolModifierAttachment.attachInformation(stack, lores); - super.appendHoverText(stack, level, lores, flagIn); + fd.attachInformation(tooltip); + super.appendHoverText(stack, context, tooltip, tooltipFlag); } @Override - public int damageItem(ItemStack stack, int amount, T entity, Consumer onBroken) { + public int damageItem(ItemStack stack, int amount, @Nullable T entity, Consumer onBroken) { return this.damageItem(stack, amount); } diff --git a/src/main/java/com/mrbysco/forcecraft/items/tools/ForceBowItem.java b/src/main/java/com/mrbysco/forcecraft/items/tools/ForceBowItem.java index 38813d17..44158e17 100644 --- a/src/main/java/com/mrbysco/forcecraft/items/tools/ForceBowItem.java +++ b/src/main/java/com/mrbysco/forcecraft/items/tools/ForceBowItem.java @@ -1,10 +1,9 @@ package com.mrbysco.forcecraft.items.tools; -import com.mrbysco.forcecraft.attachment.toolmodifier.ToolModifierAttachment; import com.mrbysco.forcecraft.items.infuser.ForceToolData; import com.mrbysco.forcecraft.items.infuser.IForceChargingTool; -import com.mrbysco.forcecraft.registry.ForceRegistry; import net.minecraft.network.chat.Component; +import net.minecraft.server.level.ServerLevel; import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundSource; import net.minecraft.stats.Stats; @@ -12,13 +11,10 @@ import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.projectile.AbstractArrow; import net.minecraft.world.item.BowItem; +import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.Items; import net.minecraft.world.item.TooltipFlag; -import net.minecraft.world.item.enchantment.EnchantmentHelper; -import net.minecraft.world.item.enchantment.Enchantments; import net.minecraft.world.level.Level; -import net.neoforged.neoforge.event.EventHooks; import org.jetbrains.annotations.Nullable; import java.util.List; @@ -26,74 +22,38 @@ import java.util.function.Predicate; public class ForceBowItem extends BowItem implements IForceChargingTool { - public static final Predicate FORCE_ARROWS = (stack) -> { - return stack.getItem() instanceof ForceArrowItem; - }; + public static final Predicate FORCE_ARROWS = (stack) -> stack.getItem() instanceof ForceArrowItem; public ForceBowItem(Properties properties) { super(properties.stacksTo(1).durability(332)); } - public void releaseUsing(ItemStack stack, Level level, LivingEntity entityLiving, int timeLeft) { - if (entityLiving instanceof Player playerentity) { - boolean flag = playerentity.getAbilities().instabuild || EnchantmentHelper.getItemEnchantmentLevel(Enchantments.INFINITY_ARROWS, stack) > 0; - ItemStack itemstack = playerentity.getProjectile(stack); - - int i = this.getUseDuration(stack) - timeLeft; - i = EventHooks.onArrowLoose(stack, level, playerentity, i, !itemstack.isEmpty() || flag); - if (i < 0) return; - - if (!itemstack.isEmpty() || flag) { - if (itemstack.isEmpty()) { - itemstack = new ItemStack(ForceRegistry.FORCE_ARROW.get()); - } - + @Override + public void releaseUsing(ItemStack stack, Level level, LivingEntity livingEntity, int timeLeft) { + if (livingEntity instanceof Player player) { + ItemStack itemstack = player.getProjectile(stack); + if (!itemstack.isEmpty()) { + int i = this.getUseDuration(stack, livingEntity) - timeLeft; + i = net.neoforged.neoforge.event.EventHooks.onArrowLoose(stack, level, player, i, !itemstack.isEmpty()); + if (i < 0) return; float f = getPowerForTime(i); - if (!((double) f < 0.1D)) { - boolean flag1 = playerentity.getAbilities().instabuild || (itemstack.getItem() instanceof ForceArrowItem && ((ForceArrowItem) itemstack.getItem()).isInfinite(itemstack, stack, playerentity)); - if (!level.isClientSide) { - ForceArrowItem arrowitem = (ForceArrowItem) (itemstack.getItem() instanceof ForceArrowItem ? itemstack.getItem() : ForceRegistry.FORCE_ARROW.get()); - AbstractArrow abstractarrowentity = arrowitem.createArrow(level, itemstack, playerentity); - abstractarrowentity = customArrow(abstractarrowentity, itemstack); - abstractarrowentity.shootFromRotation(playerentity, playerentity.getXRot(), playerentity.getYRot(), 0.0F, f * 3.0F, 1.0F); - if (f == 1.0F) { - abstractarrowentity.setCritArrow(true); - } - - int j = EnchantmentHelper.getItemEnchantmentLevel(Enchantments.POWER_ARROWS, stack); - if (j > 0) { - abstractarrowentity.setBaseDamage(abstractarrowentity.getBaseDamage() + (double) j * 0.5D + 0.5D); - } - - int k = EnchantmentHelper.getItemEnchantmentLevel(Enchantments.PUNCH_ARROWS, stack); - if (k > 0) { - abstractarrowentity.setKnockback(k); - } - - if (EnchantmentHelper.getItemEnchantmentLevel(Enchantments.FLAMING_ARROWS, stack) > 0) { - abstractarrowentity.setSecondsOnFire(100); - } - - stack.hurtAndBreak(1, playerentity, (player) -> { - player.broadcastBreakEvent(playerentity.getUsedItemHand()); - }); - if (flag1 || playerentity.getAbilities().instabuild && (itemstack.getItem() == Items.SPECTRAL_ARROW || itemstack.getItem() == Items.TIPPED_ARROW)) { - abstractarrowentity.pickup = AbstractArrow.Pickup.CREATIVE_ONLY; - } - - level.addFreshEntity(abstractarrowentity); - } - - level.playSound((Player) null, playerentity.getX(), playerentity.getY(), playerentity.getZ(), SoundEvents.ARROW_SHOOT, SoundSource.PLAYERS, - 1.0F, 1.0F / (playerentity.getRandom().nextFloat() * 0.4F + 1.2F) + f * 0.5F); - if (!flag1 && !playerentity.getAbilities().instabuild) { - itemstack.shrink(1); - if (itemstack.isEmpty()) { - playerentity.getInventory().removeItem(itemstack); - } + if (!((double) f < 0.1)) { + List list = draw(stack, itemstack, player); + if (level instanceof ServerLevel serverlevel && !list.isEmpty()) { + this.shoot(serverlevel, player, player.getUsedItemHand(), stack, list, f * 3.0F, 1.0F, f == 1.0F, null); } - playerentity.awardStat(Stats.ITEM_USED.get(this)); + level.playSound( + null, + player.getX(), + player.getY(), + player.getZ(), + SoundEvents.ARROW_SHOOT, + SoundSource.PLAYERS, + 1.0F, + 1.0F / (level.getRandom().nextFloat() * 0.4F + 1.2F) + f * 0.5F + ); + player.awardStat(Stats.ITEM_USED.get(this)); } } } @@ -110,15 +70,14 @@ public boolean isBookEnchantable(ItemStack stack, ItemStack book) { } @Override - public void appendHoverText(ItemStack stack, @Nullable Level level, List lores, TooltipFlag flagIn) { + public void appendHoverText(ItemStack stack, TooltipContext context, List tooltip, TooltipFlag tooltipFlag) { ForceToolData fd = new ForceToolData(stack); - fd.attachInformation(lores); - ToolModifierAttachment.attachInformation(stack, lores); - super.appendHoverText(stack, level, lores, flagIn); + fd.attachInformation(tooltip); + super.appendHoverText(stack, context, tooltip, tooltipFlag); } @Override - public int damageItem(ItemStack stack, int amount, T entity, Consumer onBroken) { + public int damageItem(ItemStack stack, int amount, @Nullable T entity, Consumer onBroken) { return this.damageItem(stack, amount); } diff --git a/src/main/java/com/mrbysco/forcecraft/items/tools/ForceMittItem.java b/src/main/java/com/mrbysco/forcecraft/items/tools/ForceMittItem.java index bbbe8d28..c697d0e5 100644 --- a/src/main/java/com/mrbysco/forcecraft/items/tools/ForceMittItem.java +++ b/src/main/java/com/mrbysco/forcecraft/items/tools/ForceMittItem.java @@ -1,8 +1,5 @@ package com.mrbysco.forcecraft.items.tools; -import com.google.common.collect.ImmutableMultimap; -import com.google.common.collect.ImmutableMultimap.Builder; -import com.google.common.collect.Multimap; import com.mojang.datafixers.util.Pair; import com.mrbysco.forcecraft.registry.ForceSounds; import com.mrbysco.forcecraft.registry.ForceTags; @@ -17,14 +14,8 @@ import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundSource; import net.minecraft.tags.BlockTags; -import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; -import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.LivingEntity; -import net.minecraft.world.entity.ai.attributes.Attribute; -import net.minecraft.world.entity.ai.attributes.AttributeModifier; -import net.minecraft.world.entity.ai.attributes.AttributeModifier.Operation; -import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.DiggerItem; import net.minecraft.world.item.HoeItem; @@ -40,7 +31,7 @@ import net.minecraft.world.level.material.FluidState; import net.minecraft.world.phys.BlockHitResult; import net.neoforged.neoforge.common.CommonHooks; -import net.neoforged.neoforge.common.ToolActions; +import net.neoforged.neoforge.common.ItemAbilities; import java.util.Optional; import java.util.function.Consumer; @@ -48,12 +39,12 @@ public class ForceMittItem extends DiggerItem { - private final float attackDamage; private final Tier itemTier = ModToolTiers.FORCE; public ForceMittItem(Item.Properties properties) { - super(8.0F, 8.0F, ModToolTiers.FORCE, ForceTags.MINEABLE_WITH_MITTS, properties.durability(1000)); - this.attackDamage = 3.0F; + super(ModToolTiers.FORCE, ForceTags.MINEABLE_WITH_MITTS, properties + .attributes(createAttributes(ModToolTiers.FORCE, 3.0F, -2.4F)) + .durability(1000)); } @Override @@ -102,11 +93,11 @@ public void breakBlockAt(Player player, Level level, ItemStack stack, BlockPos p BlockEntity tileEntity = level.getBlockEntity(pos); if (level.getBlockState(pos).is(BlockTags.LEAVES)) { BlockState state = level.getBlockState(pos); - if (!CommonHooks.isCorrectToolForDrops(state, player)) return; + if (!stack.isCorrectToolForDrops(state)) return; if (!level.isClientSide) { - int xp = CommonHooks.onBlockBreakEvent(level, ((ServerPlayer) player).gameMode.getGameModeForPlayer(), (ServerPlayer) player, pos); - if (xp == -1) { + if (CommonHooks.fireBlockBreak(level, ((ServerPlayer) player).gameMode.getGameModeForPlayer(), + (ServerPlayer) player, pos, state).isCanceled()) { return; } @@ -116,7 +107,8 @@ public void breakBlockAt(Player player, Level level, ItemStack stack, BlockPos p if (block.onDestroyedByPlayer(state, level, pos, player, true, fluidState)) { block.playerWillDestroy(level, pos, state, player); block.playerDestroy(level, player, pos, state, tileEntity, stack); - block.popExperience((ServerLevel) level, pos, xp); + int exp = block.getExpDrop(state, level, pos, null, player, stack); + block.popExperience((ServerLevel) level, pos, exp); } ((ServerLevel) level).sendParticles(ParticleTypes.SWEEP_ATTACK, (double) pos.getX(), (double) pos.getY(), (double) pos.getZ(), 1, 0, 0, 0, 0.0D); @@ -156,9 +148,7 @@ public InteractionResult useOn(UseOnContext context) { if (!level.isClientSide) { consumer.accept(context); if (player != null) { - context.getItemInHand().hurtAndBreak(1, player, (p_150845_) -> { - p_150845_.broadcastBreakEvent(context.getHand()); - }); + context.getItemInHand().hurtAndBreak(1, player, Player.getSlotForHand(context.getHand())); } } @@ -169,7 +159,7 @@ public InteractionResult useOn(UseOnContext context) { } } - Optional optional = Optional.ofNullable(blockstate.getToolModifiedState(context, ToolActions.AXE_STRIP, false)); + Optional optional = Optional.ofNullable(blockstate.getToolModifiedState(context, ItemAbilities.AXE_STRIP, false)); if (optional.isPresent()) { level.playSound(player, blockpos, SoundEvents.AXE_STRIP, SoundSource.BLOCKS, 1.0F, 1.0F); if (player instanceof ServerPlayer) { @@ -178,9 +168,7 @@ public InteractionResult useOn(UseOnContext context) { level.setBlock(blockpos, optional.get(), 11); if (player != null) { - itemstack.hurtAndBreak(1, player, (player1) -> { - player1.broadcastBreakEvent(context.getHand()); - }); + itemstack.hurtAndBreak(1, player, Player.getSlotForHand(context.getHand())); } return InteractionResult.sidedSuccess(level.isClientSide); @@ -191,7 +179,7 @@ public InteractionResult useOn(UseOnContext context) { @Override public float getDestroySpeed(ItemStack stack, BlockState state) { - return state.is(this.blocks) ? 14.0F : 1.0F; + return state.is(ForceTags.MINEABLE_WITH_MITTS) ? 14.0F : 1.0F; } public float getAttackDamage() { @@ -200,21 +188,7 @@ public float getAttackDamage() { @Override public boolean hurtEnemy(ItemStack stack, LivingEntity target, LivingEntity attacker) { - stack.hurtAndBreak(1, attacker, (attackerEntity) -> attackerEntity.broadcastBreakEvent(InteractionHand.MAIN_HAND)); + stack.hurtAndBreak(1, attacker, Player.getSlotForHand(attacker.getUsedItemHand())); return true; } - - @Override - public Multimap getDefaultAttributeModifiers(EquipmentSlot equipmentSlot) { - Multimap multimap = super.getDefaultAttributeModifiers(equipmentSlot); - if (equipmentSlot == EquipmentSlot.MAINHAND) { - if (multimap != null) { - Builder builder = ImmutableMultimap.builder(); - builder.put(Attributes.ATTACK_DAMAGE, new AttributeModifier(BASE_ATTACK_DAMAGE_UUID, "Weapon damage modifier", (double) this.attackDamage, Operation.ADDITION)); - builder.put(Attributes.ATTACK_SPEED, new AttributeModifier(BASE_ATTACK_SPEED_UUID, "Weapon speed modifier", -2.4000000953674316D, Operation.ADDITION)); - multimap = builder.build(); - } - } - return multimap; - } } diff --git a/src/main/java/com/mrbysco/forcecraft/items/tools/ForcePickaxeItem.java b/src/main/java/com/mrbysco/forcecraft/items/tools/ForcePickaxeItem.java index 37adbb89..81ff85cd 100644 --- a/src/main/java/com/mrbysco/forcecraft/items/tools/ForcePickaxeItem.java +++ b/src/main/java/com/mrbysco/forcecraft/items/tools/ForcePickaxeItem.java @@ -1,6 +1,5 @@ package com.mrbysco.forcecraft.items.tools; -import com.mrbysco.forcecraft.attachment.toolmodifier.ToolModifierAttachment; import com.mrbysco.forcecraft.items.infuser.ForceToolData; import com.mrbysco.forcecraft.items.infuser.IForceChargingTool; import com.mrbysco.forcecraft.registry.material.ModToolTiers; @@ -10,7 +9,6 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.PickaxeItem; import net.minecraft.world.item.TooltipFlag; -import net.minecraft.world.level.Level; import org.jetbrains.annotations.Nullable; import java.util.List; @@ -19,19 +17,18 @@ public class ForcePickaxeItem extends PickaxeItem implements IForceChargingTool { public ForcePickaxeItem(Item.Properties properties) { - super(ModToolTiers.FORCE, -6, -2.8F, properties); + super(ModToolTiers.FORCE, properties.attributes(createAttributes(ModToolTiers.FORCE, -6, -2.8F))); } @Override - public void appendHoverText(ItemStack stack, @Nullable Level level, List lores, TooltipFlag flagIn) { + public void appendHoverText(ItemStack stack, TooltipContext context, List tooltip, TooltipFlag tooltipFlag) { ForceToolData fd = new ForceToolData(stack); - fd.attachInformation(lores); - ToolModifierAttachment.attachInformation(stack, lores); - super.appendHoverText(stack, level, lores, flagIn); + fd.attachInformation(tooltip); + super.appendHoverText(stack, context, tooltip, tooltipFlag); } @Override - public int damageItem(ItemStack stack, int amount, T entity, Consumer onBroken) { + public int damageItem(ItemStack stack, int amount, @Nullable T entity, Consumer onBroken) { return this.damageItem(stack, amount); } diff --git a/src/main/java/com/mrbysco/forcecraft/items/tools/ForceRodItem.java b/src/main/java/com/mrbysco/forcecraft/items/tools/ForceRodItem.java index 19fedb1c..57fdf783 100644 --- a/src/main/java/com/mrbysco/forcecraft/items/tools/ForceRodItem.java +++ b/src/main/java/com/mrbysco/forcecraft/items/tools/ForceRodItem.java @@ -1,17 +1,17 @@ package com.mrbysco.forcecraft.items.tools; import com.mrbysco.forcecraft.Reference; -import com.mrbysco.forcecraft.attachment.forcerod.ForceRodAttachment; +import com.mrbysco.forcecraft.components.ForceComponents; import com.mrbysco.forcecraft.items.BaseItem; import com.mrbysco.forcecraft.items.infuser.ForceToolData; import com.mrbysco.forcecraft.items.infuser.IForceChargingTool; import com.mrbysco.forcecraft.items.nonburnable.InertCoreItem; import com.mrbysco.forcecraft.items.nonburnable.NonBurnableItemEntity; import com.mrbysco.forcecraft.registry.ForceRegistry; +import com.mrbysco.forcecraft.util.ForceUtils; import net.minecraft.ChatFormatting; import net.minecraft.core.BlockPos; import net.minecraft.core.GlobalPos; -import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; import net.minecraft.sounds.SoundEvents; import net.minecraft.world.InteractionHand; @@ -19,7 +19,6 @@ import net.minecraft.world.InteractionResultHolder; import net.minecraft.world.effect.MobEffectInstance; import net.minecraft.world.effect.MobEffects; -import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.item.ItemEntity; @@ -42,7 +41,6 @@ import static com.mrbysco.forcecraft.Reference.MODIFIERS.MOD_ENDER; import static com.mrbysco.forcecraft.Reference.MODIFIERS.MOD_HEALING; -import static com.mrbysco.forcecraft.attachment.ForceAttachments.FORCE_ROD; public class ForceRodItem extends BaseItem implements IForceChargingTool { @@ -73,7 +71,7 @@ public InteractionResult useOn(UseOnContext context) { pos.getZ(), new ItemStack(ForceRegistry.BOTTLED_WITHER.get(), itemEntity.getItem().getCount())); level.addFreshEntity(bottledWither); - stack.hurtAndBreak(1, player, (playerIn) -> playerIn.broadcastBreakEvent(handIn)); + stack.hurtAndBreak(1, player, Player.getSlotForHand(handIn)); bw = true; } } @@ -102,19 +100,19 @@ public InteractionResult useOn(UseOnContext context) { itemEntity.discard(); level.addFreshEntity(new ItemEntity(level, pos.getX(), pos.getY() + 1, pos.getZ(), new ItemStack(Items.IRON_INGOT, 6))); - stack.hurtAndBreak(1, player, (playerIn) -> playerIn.broadcastBreakEvent(handIn)); + stack.hurtAndBreak(1, player, Player.getSlotForHand(handIn)); } else if (((ArmorItem) itemEntity.getItem().getItem()) .getMaterial() == ArmorMaterials.GOLD) { itemEntity.discard(); level.addFreshEntity(new ItemEntity(level, pos.getX(), pos.getY() + 1, pos.getZ(), new ItemStack(Items.GOLD_INGOT, 6))); - stack.hurtAndBreak(1, player, (playerIn) -> playerIn.broadcastBreakEvent(handIn)); + stack.hurtAndBreak(1, player, Player.getSlotForHand(handIn)); } else if (((ArmorItem) itemEntity.getItem().getItem()) .getMaterial() == ArmorMaterials.LEATHER) { itemEntity.discard(); level.addFreshEntity(new ItemEntity(level, pos.getX(), pos.getY() + 1, pos.getZ(), new ItemStack(ForceRegistry.FORCE_CHEST.get(), 1))); - stack.hurtAndBreak(1, player, (playerIn) -> playerIn.broadcastBreakEvent(handIn)); + stack.hurtAndBreak(1, player, Player.getSlotForHand(handIn)); } } if (((ArmorItem) itemEntity.getItem().getItem()) @@ -124,19 +122,19 @@ public InteractionResult useOn(UseOnContext context) { itemEntity.discard(); level.addFreshEntity(new ItemEntity(level, pos.getX(), pos.getY() + 1, pos.getZ(), new ItemStack(Items.IRON_INGOT, 5))); - stack.hurtAndBreak(1, player, (playerIn) -> playerIn.broadcastBreakEvent(handIn)); + stack.hurtAndBreak(1, player, Player.getSlotForHand(handIn)); } else if (((ArmorItem) itemEntity.getItem().getItem()) .getMaterial() == ArmorMaterials.GOLD) { itemEntity.discard(); level.addFreshEntity(new ItemEntity(level, pos.getX(), pos.getY() + 1, pos.getZ(), new ItemStack(Items.GOLD_INGOT, 5))); - stack.hurtAndBreak(1, player, (playerIn) -> playerIn.broadcastBreakEvent(handIn)); + stack.hurtAndBreak(1, player, Player.getSlotForHand(handIn)); } else if (((ArmorItem) itemEntity.getItem().getItem()) .getMaterial() == ArmorMaterials.LEATHER) { itemEntity.discard(); level.addFreshEntity(new ItemEntity(level, pos.getX(), pos.getY() + 1, pos.getZ(), new ItemStack(ForceRegistry.FORCE_LEGS.get(), 1))); - stack.hurtAndBreak(1, player, (playerIn) -> playerIn.broadcastBreakEvent(handIn)); + stack.hurtAndBreak(1, player, Player.getSlotForHand(handIn)); } } if (((ArmorItem) itemEntity.getItem().getItem()) @@ -146,19 +144,19 @@ public InteractionResult useOn(UseOnContext context) { itemEntity.discard(); level.addFreshEntity(new ItemEntity(level, pos.getX(), pos.getY() + 1, pos.getZ(), new ItemStack(Items.IRON_INGOT, 3))); - stack.hurtAndBreak(1, player, (playerIn) -> playerIn.broadcastBreakEvent(handIn)); + stack.hurtAndBreak(1, player, Player.getSlotForHand(handIn)); } else if (((ArmorItem) itemEntity.getItem().getItem()) .getMaterial() == ArmorMaterials.GOLD) { itemEntity.discard(); level.addFreshEntity(new ItemEntity(level, pos.getX(), pos.getY() + 1, pos.getZ(), new ItemStack(Items.GOLD_INGOT, 3))); - stack.hurtAndBreak(1, player, (playerIn) -> playerIn.broadcastBreakEvent(handIn)); + stack.hurtAndBreak(1, player, Player.getSlotForHand(handIn)); } else if (((ArmorItem) itemEntity.getItem().getItem()) .getMaterial() == ArmorMaterials.LEATHER) { itemEntity.discard(); level.addFreshEntity(new ItemEntity(level, pos.getX(), pos.getY() + 1, pos.getZ(), new ItemStack(ForceRegistry.FORCE_BOOTS.get(), 1))); - stack.hurtAndBreak(1, player, (playerIn) -> playerIn.broadcastBreakEvent(handIn)); + stack.hurtAndBreak(1, player, Player.getSlotForHand(handIn)); } } if (((ArmorItem) itemEntity.getItem().getItem()) @@ -168,19 +166,19 @@ public InteractionResult useOn(UseOnContext context) { itemEntity.discard(); level.addFreshEntity(new ItemEntity(level, pos.getX(), pos.getY() + 1, pos.getZ(), new ItemStack(Items.IRON_INGOT, 4))); - stack.hurtAndBreak(1, player, (playerIn) -> playerIn.broadcastBreakEvent(handIn)); + stack.hurtAndBreak(1, player, Player.getSlotForHand(handIn)); } else if (((ArmorItem) itemEntity.getItem().getItem()) .getMaterial() == ArmorMaterials.GOLD) { itemEntity.discard(); level.addFreshEntity(new ItemEntity(level, pos.getX(), pos.getY() + 1, pos.getZ(), new ItemStack(Items.GOLD_INGOT, 4))); - stack.hurtAndBreak(1, player, (playerIn) -> playerIn.broadcastBreakEvent(handIn)); + stack.hurtAndBreak(1, player, Player.getSlotForHand(handIn)); } else if (((ArmorItem) itemEntity.getItem().getItem()) .getMaterial() == ArmorMaterials.LEATHER) { itemEntity.discard(); level.addFreshEntity(new ItemEntity(level, pos.getX(), pos.getY() + 1, pos.getZ(), new ItemStack(ForceRegistry.FORCE_HELMET.get(), 1))); - stack.hurtAndBreak(1, player, (playerIn) -> playerIn.broadcastBreakEvent(handIn)); + stack.hurtAndBreak(1, player, Player.getSlotForHand(handIn)); } } } @@ -188,23 +186,17 @@ public InteractionResult useOn(UseOnContext context) { } } - if (stack.hasData(FORCE_ROD)) { - ForceRodAttachment attachment = stack.getData(FORCE_ROD); - if (attachment.hasEnderModifier()) { - if (player.isShiftKeyDown()) { - attachment.setHomeLocation(GlobalPos.of(player.level().dimension(), player.blockPosition())); - stack.setData(FORCE_ROD, attachment); - if (!level.isClientSide) { - player.displayClientMessage(Component.translatable("forcecraft.ender_rod.location.set").withStyle(ChatFormatting.DARK_PURPLE), true); - } - } else { - if (attachment.getHomeLocation() != null) { - attachment.teleportPlayerToLocation(player, attachment.getHomeLocation()); - stack.hurtAndBreak(1, player, (playerIn) -> player.broadcastBreakEvent(handIn)); - player.getCooldowns().addCooldown(this, 10); - level.playSound((Player) null, player.xo, player.yo, player.zo, SoundEvents.ENDERMAN_TELEPORT, player.getSoundSource(), 1.0F, 1.0F); - player.playSound(SoundEvents.ENDERMAN_TELEPORT, 1.0F, 1.0F); - } + if (stack.has(ForceComponents.ROD_ENDER)) { + if (player.isShiftKeyDown()) { + stack.set(ForceComponents.ROD_POS, GlobalPos.of(player.level().dimension(), player.blockPosition())); + player.displayClientMessage(Component.translatable("forcecraft.ender_rod.location.set").withStyle(ChatFormatting.DARK_PURPLE), true); + } else { + if (stack.has(ForceComponents.ROD_POS)) { + ForceUtils.teleportPlayerToLocation(player, stack.get(ForceComponents.ROD_POS)); + stack.hurtAndBreak(1, player, Player.getSlotForHand(handIn)); + player.getCooldowns().addCooldown(this, 10); + level.playSound((Player) null, player.xo, player.yo, player.zo, SoundEvents.ENDERMAN_TELEPORT, player.getSoundSource(), 1.0F, 1.0F); + player.playSound(SoundEvents.ENDERMAN_TELEPORT, 1.0F, 1.0F); } } } @@ -214,102 +206,118 @@ public InteractionResult useOn(UseOnContext context) { } @Override - public InteractionResultHolder use(Level level, Player playerIn, InteractionHand handIn) { - ItemStack stack = playerIn.getItemInHand(handIn); + public InteractionResultHolder use(Level level, Player player, InteractionHand handIn) { + ItemStack stack = player.getItemInHand(handIn); - if (playerIn != null) { - ForceRodAttachment attachment = stack.getData(FORCE_ROD); - if (attachment.getHealingLevel() > 0) { - int healingLevel = attachment.getHealingLevel(); - playerIn.addEffect(new MobEffectInstance(MobEffects.REGENERATION, 100, healingLevel - 1, false, false)); - stack.hurtAndBreak(1, playerIn, (player) -> player.broadcastBreakEvent(handIn)); - playerIn.getCooldowns().addCooldown(this, 10); + if (player != null) { + if (stack.has(ForceComponents.ROD_HEALING)) { + int healingLevel = stack.getOrDefault(ForceComponents.ROD_HEALING, 1); + player.addEffect(new MobEffectInstance(MobEffects.REGENERATION, 100, healingLevel - 1, false, false)); + stack.hurtAndBreak(1, player, Player.getSlotForHand(handIn)); + player.getCooldowns().addCooldown(this, 10); } - if (attachment.hasCamoModifier()) { - playerIn.addEffect(new MobEffectInstance(MobEffects.INVISIBILITY, 1000, 0, false, false)); - stack.hurtAndBreak(1, playerIn, (player) -> player.broadcastBreakEvent(handIn)); - playerIn.getCooldowns().addCooldown(this, 10); + if (stack.has(ForceComponents.ROD_CAMO)) { + player.addEffect(new MobEffectInstance(MobEffects.INVISIBILITY, 1000, 0, false, false)); + stack.hurtAndBreak(1, player, Player.getSlotForHand(handIn)); + player.getCooldowns().addCooldown(this, 10); } - if (attachment.hasEnderModifier()) { - if (playerIn.isShiftKeyDown()) { - attachment.setHomeLocation(GlobalPos.of(playerIn.level().dimension(), playerIn.blockPosition())); + if (stack.has(ForceComponents.ROD_ENDER)) { + if (player.isShiftKeyDown()) { + stack.set(ForceComponents.ROD_POS, GlobalPos.of(player.level().dimension(), player.blockPosition())); + player.displayClientMessage(Component.translatable("forcecraft.ender_rod.location.set").withStyle(ChatFormatting.DARK_PURPLE), true); } else { - if (attachment.getHomeLocation() != null) { - attachment.teleportPlayerToLocation(playerIn, attachment.getHomeLocation()); - stack.hurtAndBreak(1, playerIn, (player) -> player.broadcastBreakEvent(handIn)); - playerIn.getCooldowns().addCooldown(this, 10); - level.playSound((Player) null, playerIn.xo, playerIn.yo, playerIn.zo, SoundEvents.ENDERMAN_TELEPORT, playerIn.getSoundSource(), 1.0F, 1.0F); - playerIn.playSound(SoundEvents.ENDERMAN_TELEPORT, 1.0F, 1.0F); + if (stack.has(ForceComponents.ROD_POS)) { + ForceUtils.teleportPlayerToLocation(player, stack.get(ForceComponents.ROD_POS)); + stack.hurtAndBreak(1, player, Player.getSlotForHand(handIn)); + player.getCooldowns().addCooldown(this, 10); + level.playSound((Player) null, player.xo, player.yo, player.zo, SoundEvents.ENDERMAN_TELEPORT, player.getSoundSource(), 1.0F, 1.0F); + player.playSound(SoundEvents.ENDERMAN_TELEPORT, 1.0F, 1.0F); } } } - if (attachment.hasSightModifier()) { - playerIn.addEffect(new MobEffectInstance(MobEffects.NIGHT_VISION, 1000, 0, false, false)); - stack.hurtAndBreak(1, playerIn, (player) -> player.broadcastBreakEvent(handIn)); - playerIn.getCooldowns().addCooldown(this, 10); + if (stack.has(ForceComponents.ROD_SIGHT)) { + player.addEffect(new MobEffectInstance(MobEffects.NIGHT_VISION, 1000, 0, false, false)); + stack.hurtAndBreak(1, player, Player.getSlotForHand(handIn)); + player.getCooldowns().addCooldown(this, 10); } - if (attachment.hasLight()) { - playerIn.addEffect(new MobEffectInstance(MobEffects.GLOWING, 1000, 0, false, false)); - stack.hurtAndBreak(1, playerIn, (player) -> player.broadcastBreakEvent(handIn)); - playerIn.getCooldowns().addCooldown(this, 10); + if (stack.has(ForceComponents.ROD_LIGHT)) { + player.addEffect(new MobEffectInstance(MobEffects.GLOWING, 1000, 0, false, false)); + stack.hurtAndBreak(1, player, Player.getSlotForHand(handIn)); + player.getCooldowns().addCooldown(this, 10); } - if (attachment.getSpeedLevel() > 0) { - playerIn.addEffect(new MobEffectInstance(MobEffects.MOVEMENT_SPEED, 10 * 20, attachment.getSpeedLevel() - 1, false, false)); - stack.hurtAndBreak(1, playerIn, (player) -> player.broadcastBreakEvent(handIn)); - playerIn.getCooldowns().addCooldown(this, 10); + if (stack.has(ForceComponents.ROD_SPEED)) { + player.addEffect(new MobEffectInstance(MobEffects.MOVEMENT_SPEED, 10 * 20, + stack.getOrDefault(ForceComponents.ROD_SPEED, 1) - 1, + false, false)); + stack.hurtAndBreak(1, player, Player.getSlotForHand(handIn)); + player.getCooldowns().addCooldown(this, 10); } - stack.setData(FORCE_ROD, attachment); } - return super.use(level, playerIn, handIn); + return super.use(level, player, handIn); } @Override public InteractionResult interactLivingEntity(ItemStack stack, Player playerIn, LivingEntity target, InteractionHand handIn) { if (playerIn != null) { - ForceRodAttachment attachment = stack.getData(FORCE_ROD); - if (attachment.hasLight()) { + if (stack.has(ForceComponents.ROD_LIGHT)) { target.addEffect(new MobEffectInstance(MobEffects.GLOWING, 2400, 0, false, false)); - stack.hurtAndBreak(1, playerIn, (player) -> player.broadcastBreakEvent(handIn)); + stack.hurtAndBreak(1, playerIn, Player.getSlotForHand(handIn)); playerIn.getCooldowns().addCooldown(this, 10); } } return super.interactLivingEntity(stack, playerIn, target, handIn); } - @Override - public void inventoryTick(ItemStack stack, Level level, Entity entityIn, int itemSlot, boolean isSelected) { - super.inventoryTick(stack, level, entityIn, itemSlot, isSelected); - if (stack.getTag() != null && !stack.getTag().contains("ForceInfused")) { - initializeTag(stack); - } - } - - private void initializeTag(ItemStack stack) { - CompoundTag tag = stack.getOrCreateTag(); - tag.putBoolean("ForceInfused", false); - stack.setTag(tag); - } - public void setApplicableModifiers() { applicableModifiers.add(MOD_HEALING); applicableModifiers.add(MOD_ENDER); } @Override - public int damageItem(ItemStack stack, int amount, T entity, Consumer onBroken) { + public int damageItem(ItemStack stack, int amount, @Nullable T entity, Consumer onBroken) { return this.damageItem(stack, amount); } @Override - public void appendHoverText(ItemStack stack, @Nullable Level level, List lores, TooltipFlag flagIn) { + public void appendHoverText(ItemStack stack, TooltipContext context, List tooltip, TooltipFlag tooltipFlag) { ForceToolData fd = new ForceToolData(stack); - fd.attachInformation(lores); - ForceRodAttachment.attachInformation(stack, lores); - super.appendHoverText(stack, level, lores, flagIn); + fd.attachInformation(tooltip); + if (stack.has(ForceComponents.ROD_HEALING)) { + tooltip.add(Component.translatable("item.infuser.tooltip.healing" + stack.get(ForceComponents.ROD_HEALING)).withStyle(ChatFormatting.RED)); + } + if (stack.has(ForceComponents.ROD_SPEED)) { + tooltip.add(Component.translatable("item.infuser.tooltip.speed" + stack.get(ForceComponents.ROD_SPEED))); + } + if (stack.has(ForceComponents.ROD_CAMO)) { + tooltip.add(Component.translatable("item.infuser.tooltip.camo").withStyle(ChatFormatting.DARK_GREEN)); + } + if (stack.has(ForceComponents.ROD_ENDER)) { + tooltip.add(Component.translatable("item.infuser.tooltip.ender").withStyle(ChatFormatting.DARK_PURPLE)); + + if (stack.has(ForceComponents.ROD_POS)) { + GlobalPos globalPos = stack.get(ForceComponents.ROD_POS); + if (globalPos != null) { + BlockPos pos = globalPos.pos(); + tooltip.add(Component.translatable("forcecraft.ender_rod.location", + pos.getX(), pos.getY(), pos.getZ(), + globalPos.dimension().location()).withStyle(ChatFormatting.YELLOW)); + } + } else { + tooltip.add(Component.translatable("forcecraft.ender_rod.unset").withStyle(ChatFormatting.RED)); + } + tooltip.add(Component.translatable("forcecraft.ender_rod.text").withStyle(ChatFormatting.GRAY)); + } + if (stack.has(ForceComponents.ROD_SIGHT)) { + tooltip.add(Component.translatable("item.infuser.tooltip.sight").withStyle(ChatFormatting.LIGHT_PURPLE)); + } + if (stack.has(ForceComponents.ROD_LIGHT)) { + tooltip.add(Component.translatable("item.infuser.tooltip.light").withStyle(ChatFormatting.YELLOW)); + } + super.appendHoverText(stack, context, tooltip, tooltipFlag); } } \ No newline at end of file diff --git a/src/main/java/com/mrbysco/forcecraft/items/tools/ForceShearsItem.java b/src/main/java/com/mrbysco/forcecraft/items/tools/ForceShearsItem.java index e01213f6..9336645c 100644 --- a/src/main/java/com/mrbysco/forcecraft/items/tools/ForceShearsItem.java +++ b/src/main/java/com/mrbysco/forcecraft/items/tools/ForceShearsItem.java @@ -1,6 +1,6 @@ package com.mrbysco.forcecraft.items.tools; -import com.mrbysco.forcecraft.attachment.toolmodifier.ToolModifierAttachment; +import com.mrbysco.forcecraft.components.ForceComponents; import com.mrbysco.forcecraft.entities.ColdChickenEntity; import com.mrbysco.forcecraft.entities.ColdCowEntity; import com.mrbysco.forcecraft.entities.ColdPigEntity; @@ -9,6 +9,7 @@ import com.mrbysco.forcecraft.items.infuser.IForceChargingTool; import com.mrbysco.forcecraft.registry.ForceRegistry; import net.minecraft.core.BlockPos; +import net.minecraft.core.component.DataComponents; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.network.chat.Component; import net.minecraft.sounds.SoundEvents; @@ -41,15 +42,13 @@ import java.util.UUID; import java.util.function.Consumer; -import static com.mrbysco.forcecraft.attachment.ForceAttachments.TOOL_MODIFIER; - public class ForceShearsItem extends ShearsItem implements IForceChargingTool { private static final int SET_FIRE_TIME = 10; private static final int SHEARS_DMG = 238; // vanilla shears have this max damage public ForceShearsItem(Item.Properties properties) { - super(properties.stacksTo(1).durability(SHEARS_DMG * 4)); + super(properties.stacksTo(1).durability(SHEARS_DMG * 4).component(DataComponents.TOOL, createToolProperties())); } private static final Item[] WOOL = {Items.RED_WOOL, Items.BLUE_WOOL, Items.BLACK_WOOL, Items.BLUE_WOOL, Items.BROWN_WOOL, Items.WHITE_WOOL, Items.ORANGE_WOOL, Items.MAGENTA_WOOL, Items.LIGHT_BLUE_WOOL, Items.YELLOW_WOOL, Items.LIME_WOOL, Items.PINK_WOOL, Items.GRAY_WOOL, Items.LIGHT_GRAY_WOOL, @@ -61,36 +60,35 @@ private ItemStack getRandomWool(Level level) { @Override public InteractionResult interactLivingEntity(ItemStack stack, Player playerIn, LivingEntity entity, InteractionHand hand) { - Level world = entity.level(); - if (world.isClientSide) { + Level level = entity.level(); + if (level.isClientSide) { return InteractionResult.PASS; } - RandomSource rand = world.random; + RandomSource rand = level.random; - ToolModifierAttachment attachment = stack.getData(TOOL_MODIFIER); - // dont drop wool from ALL IForgeShearable mobs, only sheep + // don't drop wool from ALL IForgeShearable mobs, only sheep // for example: snow golems and Mooshroom are both IForgeShearable, but they // should not drop rainbow wool - if (attachment.hasRainbow() && entity instanceof Sheep target) { + if (stack.has(ForceComponents.TOOL_RAINBOW) && entity instanceof Sheep target) { BlockPos pos = BlockPos.containing(entity.getX(), entity.getY(), entity.getZ()); - if (target.isShearable(stack, world, pos)) { - List drops = target.onSheared(playerIn, stack, world, pos, EnchantmentHelper.getItemEnchantmentLevel(Enchantments.BLOCK_FORTUNE, stack)); + if (target.isShearable(playerIn, stack, level, pos)) { + List drops = target.onSheared(playerIn, stack, level, pos); // get drops to test and see the COUNT of how many we should drop for (int i = 0; i < drops.size(); i++) { - ItemEntity ent = entity.spawnAtLocation(getRandomWool(world), 1.0F); + ItemEntity ent = entity.spawnAtLocation(getRandomWool(level), 1.0F); if (ent != null) ent.setDeltaMovement(ent.getDeltaMovement().add((double) ((rand.nextFloat() - rand.nextFloat()) * 0.1F), (double) (rand.nextFloat() * 0.05F), (double) ((rand.nextFloat() - rand.nextFloat()) * 0.1F))); } - stack.hurtAndBreak(1, entity, e -> e.broadcastBreakEvent(hand)); + stack.hurtAndBreak(1, playerIn, Player.getSlotForHand(hand)); return InteractionResult.SUCCESS; } } - boolean hasHeat = attachment.hasHeat(); + boolean hasHeat = stack.has(ForceComponents.TOOL_HEAT); // part 2 : if (!(entity instanceof IColdMob)) { @@ -110,23 +108,23 @@ public InteractionResult interactLivingEntity(ItemStack stack, Player playerIn, entity.playSound(SoundEvents.SHEEP_SHEAR, 1.0F, 1.0F); - Mob replacementMob = new ColdCowEntity(world, BuiltInRegistries.ENTITY_TYPE.getKey(originalCow.getType())); + Mob replacementMob = new ColdCowEntity(level, BuiltInRegistries.ENTITY_TYPE.getKey(originalCow.getType())); replacementMob.copyPosition(originalCow); UUID mobUUID = replacementMob.getUUID(); replacementMob.restoreFrom(originalCow); replacementMob.setUUID(mobUUID); originalCow.remove(RemovalReason.DISCARDED); - world.addFreshEntity(replacementMob); + level.addFreshEntity(replacementMob); if (hasHeat) { - replacementMob.setSecondsOnFire(SET_FIRE_TIME); + replacementMob.igniteForSeconds(SET_FIRE_TIME); } - stack.hurtAndBreak(1, entity, e -> e.broadcastBreakEvent(hand)); + stack.hurtAndBreak(1, playerIn, Player.getSlotForHand(hand)); return InteractionResult.SUCCESS; } if (entity instanceof Chicken originalChicken) { - Level level = originalChicken.level(); + level = originalChicken.level(); int i = 1 + rand.nextInt(3); @@ -152,14 +150,14 @@ public InteractionResult interactLivingEntity(ItemStack stack, Player playerIn, originalChicken.remove(RemovalReason.DISCARDED); level.addFreshEntity(replacementMob); if (hasHeat) { - replacementMob.setSecondsOnFire(SET_FIRE_TIME); + replacementMob.igniteForSeconds(SET_FIRE_TIME); } - stack.hurtAndBreak(1, entity, e -> e.broadcastBreakEvent(hand)); + stack.hurtAndBreak(1, playerIn, Player.getSlotForHand(hand)); return InteractionResult.SUCCESS; } if (entity instanceof Pig originalPig) { - Level level = originalPig.level(); + level = originalPig.level(); int i = 1 + rand.nextInt(2); @@ -184,10 +182,10 @@ public InteractionResult interactLivingEntity(ItemStack stack, Player playerIn, originalPig.remove(RemovalReason.DISCARDED); level.addFreshEntity(replacementMob); if (hasHeat) { - replacementMob.setSecondsOnFire(SET_FIRE_TIME); + replacementMob.igniteForSeconds(SET_FIRE_TIME); } - stack.hurtAndBreak(1, entity, e -> e.broadcastBreakEvent(hand)); + stack.hurtAndBreak(1, entity, Player.getSlotForHand(hand)); return InteractionResult.SUCCESS; } } @@ -196,15 +194,14 @@ public InteractionResult interactLivingEntity(ItemStack stack, Player playerIn, } @Override - public void appendHoverText(ItemStack stack, @Nullable Level level, List lores, TooltipFlag flagIn) { + public void appendHoverText(ItemStack stack, TooltipContext context, List tooltip, TooltipFlag tooltipFlag) { ForceToolData fd = new ForceToolData(stack); - fd.attachInformation(lores); - ToolModifierAttachment.attachInformation(stack, lores); - super.appendHoverText(stack, level, lores, flagIn); + fd.attachInformation(tooltip); + super.appendHoverText(stack, context, tooltip, tooltipFlag); } @Override - public int damageItem(ItemStack stack, int amount, T entity, Consumer onBroken) { + public int damageItem(ItemStack stack, int amount, @Nullable T entity, Consumer onBroken) { return this.damageItem(stack, amount); } diff --git a/src/main/java/com/mrbysco/forcecraft/items/tools/ForceShovelItem.java b/src/main/java/com/mrbysco/forcecraft/items/tools/ForceShovelItem.java index 8a896946..8c0da24e 100644 --- a/src/main/java/com/mrbysco/forcecraft/items/tools/ForceShovelItem.java +++ b/src/main/java/com/mrbysco/forcecraft/items/tools/ForceShovelItem.java @@ -1,7 +1,6 @@ package com.mrbysco.forcecraft.items.tools; import com.mrbysco.forcecraft.Reference; -import com.mrbysco.forcecraft.attachment.toolmodifier.ToolModifierAttachment; import com.mrbysco.forcecraft.items.infuser.ForceToolData; import com.mrbysco.forcecraft.items.infuser.IForceChargingTool; import com.mrbysco.forcecraft.registry.material.ModToolTiers; @@ -11,7 +10,6 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ShovelItem; import net.minecraft.world.item.TooltipFlag; -import net.minecraft.world.level.Level; import org.jetbrains.annotations.Nullable; import java.util.ArrayList; @@ -33,7 +31,7 @@ public class ForceShovelItem extends ShovelItem implements IForceChargingTool { public List applicableModifers = new ArrayList<>(); public ForceShovelItem(Item.Properties properties) { - super(ModToolTiers.FORCE, -7F, -3.0F, properties); + super(ModToolTiers.FORCE, properties.attributes(createAttributes(ModToolTiers.FORCE, -7F, -3.0F))); setApplicableModifiers(); } @@ -50,15 +48,14 @@ public void setApplicableModifiers() { } @Override - public void appendHoverText(ItemStack stack, @Nullable Level level, List lores, TooltipFlag flagIn) { + public void appendHoverText(ItemStack stack, TooltipContext context, List tooltip, TooltipFlag tooltipFlag) { ForceToolData fd = new ForceToolData(stack); - fd.attachInformation(lores); - ToolModifierAttachment.attachInformation(stack, lores); - super.appendHoverText(stack, level, lores, flagIn); + fd.attachInformation(tooltip); + super.appendHoverText(stack, context, tooltip, tooltipFlag); } @Override - public int damageItem(ItemStack stack, int amount, T entity, Consumer onBroken) { + public int damageItem(ItemStack stack, int amount, @Nullable T entity, Consumer onBroken) { return this.damageItem(stack, amount); } diff --git a/src/main/java/com/mrbysco/forcecraft/items/tools/ForceSwordItem.java b/src/main/java/com/mrbysco/forcecraft/items/tools/ForceSwordItem.java index bbe78d5a..b228da04 100644 --- a/src/main/java/com/mrbysco/forcecraft/items/tools/ForceSwordItem.java +++ b/src/main/java/com/mrbysco/forcecraft/items/tools/ForceSwordItem.java @@ -1,10 +1,10 @@ package com.mrbysco.forcecraft.items.tools; -import com.mrbysco.forcecraft.attachment.toolmodifier.ToolModifierAttachment; import com.mrbysco.forcecraft.items.infuser.ForceToolData; import com.mrbysco.forcecraft.items.infuser.IForceChargingTool; import com.mrbysco.forcecraft.registry.material.ModToolTiers; import net.minecraft.core.BlockPos; +import net.minecraft.core.component.DataComponents; import net.minecraft.network.chat.Component; import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundSource; @@ -27,29 +27,30 @@ import java.util.List; import java.util.function.Consumer; -import static com.mrbysco.forcecraft.attachment.ForceAttachments.TOOL_MODIFIER; +import static com.mrbysco.forcecraft.components.ForceComponents.TOOL_ENDER; +import static com.mrbysco.forcecraft.components.ForceComponents.TOOL_WING; public class ForceSwordItem extends SwordItem implements IForceChargingTool { public ForceSwordItem(Item.Properties properties) { - super(ModToolTiers.FORCE, -2, -2.4F, properties); + super(ModToolTiers.FORCE, properties.attributes(createAttributes(ModToolTiers.FORCE, -2, -2.4F))); } @Override public InteractionResultHolder use(Level level, Player playerIn, InteractionHand handIn) { ItemStack heldStack = playerIn.getItemInHand(handIn); - ToolModifierAttachment attachment = heldStack.getData(TOOL_MODIFIER); //Wing Modifier - if (attachment.hasWing()) { + if (heldStack.has(TOOL_WING)) { Vec3 vec = playerIn.getLookAngle(); double wantedVelocity = 1.7; playerIn.setDeltaMovement(vec.x * wantedVelocity, vec.y * wantedVelocity, vec.z * wantedVelocity); - heldStack.hurtAndBreak(1, playerIn, (player) -> player.broadcastBreakEvent(handIn)); + heldStack.hurtAndBreak(1, playerIn, Player.getSlotForHand(handIn)); + playerIn.getCooldowns().addCooldown(this, 20); level.playSound((Player) null, playerIn.getX(), playerIn.getY(), playerIn.getZ(), SoundEvents.FIRE_EXTINGUISH, SoundSource.BLOCKS, 0.5F, 2.6F + (level.random.nextFloat() - level.random.nextFloat()) * 0.8F); } //Ender Modifier - if (attachment.hasEnder()) { + if (heldStack.has(TOOL_ENDER)) { BlockHitResult traceResult = getPlayerPOVHitResult(level, playerIn, Fluid.NONE); BlockPos lookPos = traceResult.getBlockPos().relative(traceResult.getDirection()); EntityTeleportEvent event = new EntityTeleportEvent(playerIn, lookPos.getX(), lookPos.getY(), lookPos.getZ()); @@ -58,7 +59,7 @@ public InteractionResultHolder use(Level level, Player playerIn, Inte if (flag2 && !playerIn.isSilent()) { level.playSound((Player) null, playerIn.xo, playerIn.yo, playerIn.zo, SoundEvents.ENDERMAN_TELEPORT, playerIn.getSoundSource(), 1.0F, 1.0F); playerIn.playSound(SoundEvents.ENDERMAN_TELEPORT, 1.0F, 1.0F); - heldStack.hurtAndBreak(1, playerIn, (player) -> player.broadcastBreakEvent(handIn)); + heldStack.hurtAndBreak(1, playerIn, Player.getSlotForHand(handIn)); playerIn.getCooldowns().addCooldown(this, 10); } } @@ -67,15 +68,14 @@ public InteractionResultHolder use(Level level, Player playerIn, Inte } @Override - public void appendHoverText(ItemStack stack, @Nullable Level level, List lores, TooltipFlag flagIn) { + public void appendHoverText(ItemStack stack, TooltipContext context, List tooltip, TooltipFlag tooltipFlag) { ForceToolData fd = new ForceToolData(stack); - fd.attachInformation(lores); - ToolModifierAttachment.attachInformation(stack, lores); - super.appendHoverText(stack, level, lores, flagIn); + fd.attachInformation(tooltip); + super.appendHoverText(stack, context, tooltip, tooltipFlag); } @Override - public int damageItem(ItemStack stack, int amount, T entity, Consumer onBroken) { + public int damageItem(ItemStack stack, int amount, @Nullable T entity, Consumer onBroken) { return this.damageItem(stack, amount); } diff --git a/src/main/java/com/mrbysco/forcecraft/items/tools/ForceWrenchItem.java b/src/main/java/com/mrbysco/forcecraft/items/tools/ForceWrenchItem.java index 0403e0ab..a3b118aa 100644 --- a/src/main/java/com/mrbysco/forcecraft/items/tools/ForceWrenchItem.java +++ b/src/main/java/com/mrbysco/forcecraft/items/tools/ForceWrenchItem.java @@ -1,7 +1,8 @@ package com.mrbysco.forcecraft.items.tools; import com.mrbysco.forcecraft.ForceCraft; -import com.mrbysco.forcecraft.attachment.forcewrench.ForceWrenchAttachment; +import com.mrbysco.forcecraft.components.ForceComponents; +import com.mrbysco.forcecraft.components.forcewrench.ForceWrenchData; import com.mrbysco.forcecraft.items.BaseItem; import com.mrbysco.forcecraft.items.infuser.ForceToolData; import com.mrbysco.forcecraft.items.infuser.IForceChargingTool; @@ -12,7 +13,6 @@ import net.minecraft.network.chat.Component; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; -import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.Item; @@ -32,7 +32,7 @@ import java.util.List; import java.util.function.Consumer; -import static com.mrbysco.forcecraft.attachment.ForceAttachments.FORCE_WRENCH; +import static com.mrbysco.forcecraft.components.ForceComponents.WRENCH; public class ForceWrenchItem extends BaseItem implements IForceChargingTool { @@ -43,21 +43,6 @@ public ForceWrenchItem(Item.Properties name) { @Override public void onCraftedBy(ItemStack stack, Level level, Player player) { super.onCraftedBy(stack, level, player); - initializeTag(stack); - } - - @Override - public void inventoryTick(ItemStack stack, Level level, Entity entityIn, int itemSlot, boolean isSelected) { - super.inventoryTick(stack, level, entityIn, itemSlot, isSelected); - if (stack.getTag() == null) { - initializeTag(stack); - } - } - - private void initializeTag(ItemStack stack) { - CompoundTag tag = stack.getOrCreateTag(); - tag.putBoolean("ForceInfused", false); - stack.setTag(tag); } @Override @@ -68,7 +53,7 @@ public InteractionResult onItemUseFirst(ItemStack stack, UseOnContext context) { InteractionHand hand = context.getHand(); if (stack.getItem() instanceof ForceWrenchItem) { if (player != null && player.isCrouching()) { - ForceWrenchAttachment attachment = stack.getData(FORCE_WRENCH); + ForceWrenchData attachment = stack.get(WRENCH); if (level.getBlockEntity(pos) instanceof BlockEntity && !attachment.canStoreBlock()) { return serializeNBT(level, pos, player, hand); } else if (attachment.canStoreBlock()) @@ -80,7 +65,6 @@ public InteractionResult onItemUseFirst(ItemStack stack, UseOnContext context) { if (state.hasProperty(BlockStateProperties.HORIZONTAL_FACING)) { level.setBlockAndUpdate(pos, state.rotate(level, pos, Rotation.CLOCKWISE_90)); fd.setForce(fd.getForce() - 10); - fd.write(stack); } } else { if (player != null) @@ -100,21 +84,17 @@ private InteractionResult serializeNBT(Level level, BlockPos pos, Player player, return InteractionResult.FAIL; } - ForceWrenchAttachment attachment = heldWrench.getData(FORCE_WRENCH); String blockName = state.getBlock().getDescriptionId(); BlockEntity blockEntity = level.getBlockEntity(pos); if (blockEntity != null) { - CompoundTag tag = blockEntity.saveWithoutMetadata(); - attachment.storeBlockNBT(tag); - attachment.storeBlockState(state); - attachment.setBlockName(blockName); + CompoundTag tag = blockEntity.saveWithoutMetadata(level.registryAccess()); + ForceWrenchData attachment = new ForceWrenchData(tag, state, blockName); level.removeBlockEntity(pos); - heldWrench.setData(FORCE_WRENCH, attachment); + heldWrench.set(WRENCH, attachment); } fd.setForce(fd.getForce() - 250); - fd.write(heldWrench); BlockState airState = Blocks.AIR.defaultBlockState(); level.setBlockAndUpdate(pos, airState); return InteractionResult.SUCCESS; @@ -126,19 +106,17 @@ private InteractionResult serializeNBT(Level level, BlockPos pos, Player player, private InteractionResult placeBlockFromWrench(Level level, BlockPos pos, Player player, InteractionHand hand, Direction side) { ItemStack heldWrench = player.getItemInHand(hand); - ForceWrenchAttachment attachment = heldWrench.getData(FORCE_WRENCH); - if (attachment.getStoredBlockState() != null) { - BlockState state = attachment.getStoredBlockState(); + ForceWrenchData attachment = heldWrench.get(WRENCH); + if (attachment.storedBlockState() != null) { + BlockState state = attachment.storedBlockState(); BlockPos offPos = pos.relative(side); + level.setBlockAndUpdate(offPos, state); - if (state != null) { - level.setBlockAndUpdate(offPos, state); - } - if (attachment.getStoredBlockNBT() != null && state != null && state.getBlock() instanceof EntityBlock entityBlock) { - CompoundTag blockTag = attachment.getStoredBlockNBT(); + if (attachment.storedBlockNBT() != null && state.getBlock() instanceof EntityBlock entityBlock) { + CompoundTag blockTag = attachment.storedBlockNBT(); BlockEntity be = entityBlock.newBlockEntity(offPos, state); if (be != null) { - be.load(blockTag); + be.loadWithComponents(blockTag, level.registryAccess()); be.setChanged(); level.setBlockEntity(be); level.blockEntityChanged(offPos); @@ -149,21 +127,26 @@ private InteractionResult placeBlockFromWrench(Level level, BlockPos pos, Player } } - attachment.clearBlockStorage(); - heldWrench.setData(FORCE_WRENCH, attachment); + heldWrench.remove(WRENCH); } return InteractionResult.SUCCESS; } @Override - public void appendHoverText(ItemStack stack, @Nullable Level level, List lores, TooltipFlag flagIn) { - ForceWrenchAttachment.attachInformation(stack, lores); - super.appendHoverText(stack, level, lores, flagIn); + public void appendHoverText(ItemStack stack, TooltipContext context, List tooltip, TooltipFlag tooltipFlag) { + super.appendHoverText(stack, context, tooltip, tooltipFlag); + if (stack.has(ForceComponents.WRENCH)) { + ForceWrenchData attachment = stack.getOrDefault(ForceComponents.WRENCH, ForceWrenchData.EMPTY); + if (attachment.name() != null && !attachment.name().isEmpty()) { // idk what this is + tooltip.add(Component.literal("Stored: ").withStyle(ChatFormatting.GOLD) + .append(Component.translatable(attachment.name()).withStyle(ChatFormatting.GRAY))); + } + } } @Override - public int damageItem(ItemStack stack, int amount, T entity, Consumer onBroken) { + public int damageItem(ItemStack stack, int amount, @Nullable T entity, Consumer onBroken) { //TODO: Make the wrench only work when it has Force. Only pickup a block when shift-right click. Using 100 force. Else rotate a block for 25 force return this.damageItem(stack, amount); } diff --git a/src/main/java/com/mrbysco/forcecraft/items/tools/MagnetGloveItem.java b/src/main/java/com/mrbysco/forcecraft/items/tools/MagnetGloveItem.java index d7535bb6..da2d8bc3 100644 --- a/src/main/java/com/mrbysco/forcecraft/items/tools/MagnetGloveItem.java +++ b/src/main/java/com/mrbysco/forcecraft/items/tools/MagnetGloveItem.java @@ -1,8 +1,9 @@ package com.mrbysco.forcecraft.items.tools; -import com.mrbysco.forcecraft.attachment.magnet.MagnetAttachment; +import com.mrbysco.forcecraft.components.ForceComponents; import com.mrbysco.forcecraft.items.BaseItem; import com.mrbysco.forcecraft.registry.ForceEffects; +import net.minecraft.ChatFormatting; import net.minecraft.network.chat.Component; import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundSource; @@ -17,11 +18,10 @@ import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.level.Level; import net.neoforged.neoforge.common.util.FakePlayer; -import org.jetbrains.annotations.Nullable; import java.util.List; -import static com.mrbysco.forcecraft.attachment.ForceAttachments.MAGNET; +import static com.mrbysco.forcecraft.components.ForceComponents.MAGNET; public class MagnetGloveItem extends BaseItem { @@ -33,10 +33,8 @@ public MagnetGloveItem(Item.Properties properties) { public InteractionResultHolder use(Level level, Player playerIn, InteractionHand handIn) { if (playerIn.isShiftKeyDown()) { ItemStack stack = playerIn.getItemInHand(handIn); - MagnetAttachment attachment = stack.getData(MAGNET); - boolean state = attachment.isActivated(); - attachment.setActivation(!state); - stack.setData(MAGNET, attachment); + boolean state = stack.getOrDefault(MAGNET, false); + stack.set(MAGNET, !state); level.playSound((Player) null, playerIn.getX(), playerIn.getY(), playerIn.getZ(), SoundEvents.UI_BUTTON_CLICK.value(), SoundSource.NEUTRAL, 1.0F, 1.0F); } return super.use(level, playerIn, handIn); @@ -46,17 +44,26 @@ public InteractionResultHolder use(Level level, Player playerIn, Inte public void inventoryTick(ItemStack stack, Level level, Entity entityIn, int itemSlot, boolean isSelected) { if (entityIn instanceof Player && !(entityIn instanceof FakePlayer)) { if (itemSlot >= 0 && itemSlot <= Inventory.getSelectionSize()) { - MagnetAttachment attachment = stack.getData(MAGNET); - if (attachment.isActivated()) { - ((Player) entityIn).addEffect(new MobEffectInstance(ForceEffects.MAGNET.get(), 20, 1, true, false)); + boolean state = stack.getOrDefault(MAGNET, false); + if (state) { + ((Player) entityIn).addEffect(new MobEffectInstance(ForceEffects.MAGNET, 20, 1, true, false)); } } } } @Override - public void appendHoverText(ItemStack stack, @Nullable Level level, List lores, TooltipFlag flagIn) { - MagnetAttachment.attachInformation(stack, lores); - super.appendHoverText(stack, level, lores, flagIn); + public void appendHoverText(ItemStack stack, TooltipContext context, List tooltip, TooltipFlag tooltipFlag) { + super.appendHoverText(stack, context, tooltip, tooltipFlag); + if (stack.has(ForceComponents.MAGNET)) { + boolean activated = stack.getOrDefault(ForceComponents.MAGNET, false); + if (activated) { + tooltip.add(Component.translatable("forcecraft.magnet_glove.active").withStyle(ChatFormatting.GREEN)); + } else { + tooltip.add(Component.translatable("forcecraft.magnet_glove.deactivated").withStyle(ChatFormatting.RED)); + } + tooltip.add(Component.empty()); + tooltip.add(Component.translatable("forcecraft.magnet_glove.change").withStyle(ChatFormatting.BOLD)); + } } } diff --git a/src/main/java/com/mrbysco/forcecraft/lootmodifiers/SmeltingModifier.java b/src/main/java/com/mrbysco/forcecraft/lootmodifiers/SmeltingModifier.java index 02fcd819..9cde1555 100644 --- a/src/main/java/com/mrbysco/forcecraft/lootmodifiers/SmeltingModifier.java +++ b/src/main/java/com/mrbysco/forcecraft/lootmodifiers/SmeltingModifier.java @@ -4,23 +4,21 @@ import com.google.common.base.Suppliers; import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; +import com.mrbysco.forcecraft.components.ForceComponents; import com.mrbysco.forcecraft.registry.ForceLootModifiers; import it.unimi.dsi.fastutil.objects.ObjectArrayList; import net.minecraft.core.RegistryAccess; -import net.minecraft.world.SimpleContainer; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.RecipeType; +import net.minecraft.world.item.crafting.SingleRecipeInput; import net.minecraft.world.level.storage.loot.LootContext; import net.minecraft.world.level.storage.loot.parameters.LootContextParams; import net.minecraft.world.level.storage.loot.predicates.LootItemCondition; import net.neoforged.neoforge.common.loot.IGlobalLootModifier; import net.neoforged.neoforge.common.loot.LootModifier; -import net.neoforged.neoforge.items.ItemHandlerHelper; import javax.annotation.Nonnull; -import static com.mrbysco.forcecraft.attachment.ForceAttachments.TOOL_MODIFIER; - public class SmeltingModifier extends LootModifier { public static final Supplier> CODEC = Suppliers.memoize(() -> RecordCodecBuilder.mapCodec(inst -> codecStart(inst).apply(inst, SmeltingModifier::new))); @@ -43,11 +41,12 @@ private static ItemStack smelt(ItemStack stack, LootContext context) { if (ctxTool == null) return stack; RegistryAccess registryAccess = context.getLevel().registryAccess(); - if (ctxTool.hasData(TOOL_MODIFIER) && ctxTool.getData(TOOL_MODIFIER).hasHeat()) { - return context.getLevel().getRecipeManager().getRecipeFor(RecipeType.SMELTING, new SimpleContainer(stack), context.getLevel()) + if (ctxTool.has(ForceComponents.TOOL_HEAT)) { + return context.getLevel().getRecipeManager().getRecipeFor(RecipeType.SMELTING, + new SingleRecipeInput(stack), context.getLevel()) .map(smeltRecipe -> smeltRecipe.value().getResultItem(registryAccess)) .filter(itemStack -> !itemStack.isEmpty()) - .map(itemStack -> ItemHandlerHelper.copyStackWithSize(itemStack, stack.getCount() * itemStack.getCount())) + .map(itemStack -> itemStack.copyWithCount(stack.getCount() * itemStack.getCount())) .orElse(stack); } return stack; diff --git a/src/main/java/com/mrbysco/forcecraft/menu/ForceBeltMenu.java b/src/main/java/com/mrbysco/forcecraft/menu/ForceBeltMenu.java index 2c45259e..fe8f2c41 100644 --- a/src/main/java/com/mrbysco/forcecraft/menu/ForceBeltMenu.java +++ b/src/main/java/com/mrbysco/forcecraft/menu/ForceBeltMenu.java @@ -1,5 +1,6 @@ package com.mrbysco.forcecraft.menu; +import com.mrbysco.forcecraft.components.ForceComponents; import com.mrbysco.forcecraft.items.ForceBeltItem; import com.mrbysco.forcecraft.items.ForcePackItem; import com.mrbysco.forcecraft.menu.slot.BeltSlot; @@ -75,10 +76,8 @@ public ForceBeltMenu(int id, Inventory playerInventory, IItemHandler handler) { @Override public void removed(Player playerIn) { if (itemHandler != null) { - CompoundTag tag = heldStack.getOrCreateTag(); - tag.putInt(ForcePackItem.SLOTS_USED, ItemHandlerUtils.getUsedSlots(itemHandler)); - tag.putInt(ForcePackItem.SLOTS_TOTAL, itemHandler.getSlots()); - heldStack.setTag(tag); + heldStack.set(ForceComponents.SLOTS_USED, ItemHandlerUtils.getUsedSlots(itemHandler)); + heldStack.set(ForceComponents.SLOTS_TOTAL, itemHandler.getSlots()); } super.removed(playerIn); diff --git a/src/main/java/com/mrbysco/forcecraft/menu/ForcePackMenu.java b/src/main/java/com/mrbysco/forcecraft/menu/ForcePackMenu.java index 97560fc1..97abdb36 100644 --- a/src/main/java/com/mrbysco/forcecraft/menu/ForcePackMenu.java +++ b/src/main/java/com/mrbysco/forcecraft/menu/ForcePackMenu.java @@ -1,6 +1,8 @@ package com.mrbysco.forcecraft.menu; -import com.mrbysco.forcecraft.attachment.storage.PackStackHandler; +import com.mrbysco.forcecraft.components.ForceComponents; +import com.mrbysco.forcecraft.components.card.RecipeContentsData; +import com.mrbysco.forcecraft.components.storage.PackStackHandler; import com.mrbysco.forcecraft.items.ForceBeltItem; import com.mrbysco.forcecraft.items.ForcePackItem; import com.mrbysco.forcecraft.items.ItemCardItem; @@ -95,13 +97,12 @@ public void removed(Player player) { if (inventory != null) { for (int i = 0; i < inventory.getSlots(); i++) { ItemStack stack = inventory.getStackInSlot(i); - CompoundTag tag = stack.getTag(); - if (stack.getItem() instanceof ItemCardItem && tag != null && tag.contains("RecipeContents")) { - CompoundTag recipeContents = tag.getCompound("RecipeContents"); + if (stack.getItem() instanceof ItemCardItem && stack.has(ForceComponents.RECIPE_CONTENTS)) { + RecipeContentsData recipeData = stack.get(ForceComponents.RECIPE_CONTENTS); NonNullList ingredientList = NonNullList.create(); List mergeList = new ArrayList<>(); for (int j = 0; j < 9; j++) { - ItemStack recipeStack = ItemStack.of(recipeContents.getCompound("slot_" + j)); + ItemStack recipeStack = recipeData.recipeItems().get(j); if (!recipeStack.isEmpty()) { if (ingredientList.isEmpty()) { ingredientList.add(recipeStack); @@ -116,7 +117,7 @@ public void removed(Player player) { List buffer = new ArrayList<>(); for (ItemStack ingredient : ingredientList) { if (ingredient != null && !ingredient.isEmpty()) { - if (ItemStack.isSameItemSameTags(ingredient, recipeStack)) { + if (ItemStack.isSameItemSameComponents(ingredient, recipeStack)) { int addedCount = ingredient.getCount() + recipeStack.getCount(); int maxCount = ingredient.getMaxStackSize(); if (addedCount <= maxCount) { @@ -154,7 +155,7 @@ public void removed(Player player) { for (ItemStack ingredient : ingredientList) { int countPossible = 0; for (ItemStack rest : restList) { - if (ItemStack.isSameItemSameTags(ingredient, rest)) { + if (ItemStack.isSameItemSameComponents(ingredient, rest)) { countPossible += (int) ((double) rest.getCount() / ingredient.getCount()); } } @@ -168,12 +169,12 @@ public void removed(Player player) { } } - ItemStack craftStack = ItemStack.of(recipeContents.getCompound("result")); + ItemStack craftStack = recipeData.resultItem(); if (canCraft && craftCount > 0) { for (int l = 0; l < craftCount; l++) { for (ItemStack ingredient : ingredientList) { for (ItemStack rest : restList) { - if (ItemStack.isSameItemSameTags(ingredient, rest)) { + if (ItemStack.isSameItemSameComponents(ingredient, rest)) { if (rest.getCount() >= ingredient.getCount()) { rest.shrink(ingredient.getCount()); } @@ -191,9 +192,7 @@ public void removed(Player player) { } } - CompoundTag tag = heldStack.getOrCreateTag(); - tag.putInt(ForcePackItem.SLOTS_USED, ItemHandlerUtils.getUsedSlots(inventory)); - heldStack.setTag(tag); + heldStack.set(ForceComponents.SLOTS_USED, ItemHandlerUtils.getUsedSlots(inventory)); } super.removed(player); diff --git a/src/main/java/com/mrbysco/forcecraft/menu/ItemCardMenu.java b/src/main/java/com/mrbysco/forcecraft/menu/ItemCardMenu.java index 8be64c64..892811eb 100644 --- a/src/main/java/com/mrbysco/forcecraft/menu/ItemCardMenu.java +++ b/src/main/java/com/mrbysco/forcecraft/menu/ItemCardMenu.java @@ -1,8 +1,11 @@ package com.mrbysco.forcecraft.menu; +import com.mrbysco.forcecraft.components.ForceComponents; +import com.mrbysco.forcecraft.components.card.RecipeContentsData; import com.mrbysco.forcecraft.items.ItemCardItem; import com.mrbysco.forcecraft.registry.ForceMenus; import com.mrbysco.forcecraft.registry.ForceRegistry; +import net.minecraft.core.NonNullList; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.protocol.game.ClientboundContainerSetSlotPacket; import net.minecraft.server.level.ServerPlayer; @@ -95,14 +98,13 @@ public boolean mayPickup(final Player par1PlayerEntity) { heldStack = getCardStack(playerInventory); if (heldStack.getItem() == ForceRegistry.ITEM_CARD.get()) { - CompoundTag tag = heldStack.getOrCreateTag(); - if (tag.contains("RecipeContents")) { - CompoundTag recipeContents = tag.getCompound("RecipeContents"); - if (!player.level().isClientSide) { + if (heldStack.has(ForceComponents.RECIPE_CONTENTS)) { + RecipeContentsData recipeData = heldStack.get(ForceComponents.RECIPE_CONTENTS); + if (recipeData != null && !player.level().isClientSide) { for (int i = 0; i < craftMatrix.getContainerSize(); i++) { - craftMatrix.setItem(i, ItemStack.of(recipeContents.getCompound("slot_" + i))); + craftMatrix.setItem(i, recipeData.recipeItems().get(i)); } - craftResult.setItem(0, ItemStack.of(recipeContents.getCompound("result"))); + craftResult.setItem(0, recipeData.resultItem()); } } } @@ -121,13 +123,13 @@ public static ItemStack getCardStack(Inventory playerInventory) { protected void updateCraftingResult(Level level, Player player, CraftingContainer inventory, ResultContainer inventoryResult) { if (!level.isClientSide) { ServerPlayer serverPlayer = (ServerPlayer) player; - final Optional> iRecipe = serverPlayer.server.getRecipeManager().getRecipeFor(RecipeType.CRAFTING, inventory, level); + final Optional> iRecipe = serverPlayer.server.getRecipeManager().getRecipeFor(RecipeType.CRAFTING, inventory.asCraftInput(), level); final ItemStack stack; if (iRecipe.isPresent() && (iRecipe.get().value().isSpecial() || !level.getGameRules().getBoolean(GameRules.RULE_LIMITED_CRAFTING) || serverPlayer.getRecipeBook().contains(iRecipe.get()) || player.isCreative())) { - stack = iRecipe.get().value().assemble(this.craftMatrix, level.registryAccess()); + stack = iRecipe.get().value().assemble(this.craftMatrix.asCraftInput(), level.registryAccess()); inventoryResult.setItem(0, stack); serverPlayer.connection.send(new ClientboundContainerSetSlotPacket(this.containerId, 0, 0, stack)); } else { diff --git a/src/main/java/com/mrbysco/forcecraft/menu/furnace/AbstractForceFurnaceMenu.java b/src/main/java/com/mrbysco/forcecraft/menu/furnace/AbstractForceFurnaceMenu.java index 8120dd6f..b8d80717 100644 --- a/src/main/java/com/mrbysco/forcecraft/menu/furnace/AbstractForceFurnaceMenu.java +++ b/src/main/java/com/mrbysco/forcecraft/menu/furnace/AbstractForceFurnaceMenu.java @@ -22,6 +22,7 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.AbstractCookingRecipe; import net.minecraft.world.item.crafting.RecipeType; +import net.minecraft.world.item.crafting.SingleRecipeInput; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.entity.BlockEntity; import net.neoforged.neoforge.event.EventHooks; @@ -174,7 +175,7 @@ public ItemStack quickMoveStack(Player playerIn, int index) { } protected boolean hasRecipe(ItemStack stack) { - return this.level.getRecipeManager().getRecipeFor((RecipeType) this.getRecipeType(), new SimpleContainer(stack), this.level).isPresent(); + return this.level.getRecipeManager().getRecipeFor((RecipeType) this.getRecipeType(), new SingleRecipeInput(stack), this.level).isPresent(); } protected RecipeType getRecipeType() { diff --git a/src/main/java/com/mrbysco/forcecraft/networking/handler/ServerPayloadHandler.java b/src/main/java/com/mrbysco/forcecraft/networking/handler/ServerPayloadHandler.java index 1927aaee..f77ddf94 100644 --- a/src/main/java/com/mrbysco/forcecraft/networking/handler/ServerPayloadHandler.java +++ b/src/main/java/com/mrbysco/forcecraft/networking/handler/ServerPayloadHandler.java @@ -1,9 +1,11 @@ package com.mrbysco.forcecraft.networking.handler; import com.mrbysco.forcecraft.Reference; -import com.mrbysco.forcecraft.attachment.storage.BeltStorage; -import com.mrbysco.forcecraft.attachment.storage.PackStorage; -import com.mrbysco.forcecraft.attachment.storage.StorageManager; +import com.mrbysco.forcecraft.components.ForceComponents; +import com.mrbysco.forcecraft.components.card.RecipeContentsData; +import com.mrbysco.forcecraft.components.storage.BeltStorage; +import com.mrbysco.forcecraft.components.storage.PackStorage; +import com.mrbysco.forcecraft.components.storage.StorageManager; import com.mrbysco.forcecraft.items.ForceBeltItem; import com.mrbysco.forcecraft.items.ForcePackItem; import com.mrbysco.forcecraft.items.ItemCardItem; @@ -15,10 +17,10 @@ import com.mrbysco.forcecraft.networking.message.QuickUseBeltPayload; import com.mrbysco.forcecraft.networking.message.RecipeToCardPayload; import com.mrbysco.forcecraft.networking.message.SaveCardRecipePayload; -import com.mrbysco.forcecraft.registry.ForceComponents; import com.mrbysco.forcecraft.registry.ForceRegistry; import com.mrbysco.forcecraft.util.FindingUtil; import net.minecraft.ChatFormatting; +import net.minecraft.core.NonNullList; import net.minecraft.core.component.DataComponents; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; @@ -174,14 +176,17 @@ public void handleSaveCard(final SaveCardRecipePayload saveData, final IPayloadC Optional> iRecipe = player.server.getRecipeManager() .getRecipeFor(RecipeType.CRAFTING, craftMatrix.asCraftInput(), level); iRecipe.ifPresent((holder) -> { - CompoundTag tag = stack.getOrCreateTag(); CompoundTag recipeContents = new CompoundTag(); + if (craftMatrix.getContainerSize() > 9) { + player.sendSystemMessage(Component.translatable("forcecraft.networking.save_card.too_large", "Crafting grid too large").withStyle(ChatFormatting.RED)); + return; + } + NonNullList stacks = NonNullList.withSize(9, ItemStack.EMPTY); for (int i = 0; i < craftMatrix.getContainerSize(); i++) { - recipeContents.put("slot_" + i, craftMatrix.getItem(i).save(level.registryAccess(), new CompoundTag())); + stacks.set(i, craftMatrix.getItem(i)); } - recipeContents.put("result", craftResult.getItem(0).save(level.registryAccess(), new CompoundTag())); - tag.put("RecipeContents", recipeContents); - stack.setTag(tag); + RecipeContentsData data = new RecipeContentsData(stacks, craftResult.getItem(0)); + stack.set(ForceComponents.RECIPE_CONTENTS, data); }); } } diff --git a/src/main/java/com/mrbysco/forcecraft/networking/message/PackChangePayload.java b/src/main/java/com/mrbysco/forcecraft/networking/message/PackChangePayload.java index e2712d4f..30215710 100644 --- a/src/main/java/com/mrbysco/forcecraft/networking/message/PackChangePayload.java +++ b/src/main/java/com/mrbysco/forcecraft/networking/message/PackChangePayload.java @@ -10,7 +10,7 @@ public record PackChangePayload(InteractionHand hand, String customName, int col public static final StreamCodec CODEC = CustomPacketPayload.codec( PackChangePayload::write, PackChangePayload::new); - public static final Type ID = new Type<>(Reference.modLoc("pack_change")); + public static final Type ID = new Type<>(Reference.modLoc("pack_change")); public PackChangePayload(final FriendlyByteBuf packetBuffer) { this(packetBuffer.readInt() == 0 ? InteractionHand.MAIN_HAND : InteractionHand.OFF_HAND, packetBuffer.readUtf(), packetBuffer.readInt()); diff --git a/src/main/java/com/mrbysco/forcecraft/networking/message/RecipeToCardPayload.java b/src/main/java/com/mrbysco/forcecraft/networking/message/RecipeToCardPayload.java index f15c9a0d..a145e06e 100644 --- a/src/main/java/com/mrbysco/forcecraft/networking/message/RecipeToCardPayload.java +++ b/src/main/java/com/mrbysco/forcecraft/networking/message/RecipeToCardPayload.java @@ -1,7 +1,7 @@ package com.mrbysco.forcecraft.networking.message; import com.mrbysco.forcecraft.Reference; -import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.codec.StreamCodec; import net.minecraft.network.protocol.common.custom.CustomPacketPayload; import net.minecraft.world.item.ItemStack; @@ -10,23 +10,23 @@ import java.util.List; public record RecipeToCardPayload(List stacks) implements CustomPacketPayload { - public static final StreamCodec CODEC = CustomPacketPayload.codec( + public static final StreamCodec CODEC = CustomPacketPayload.codec( RecipeToCardPayload::write, RecipeToCardPayload::new); public static final Type ID = new Type<>(Reference.modLoc("recipe_to_card")); - public RecipeToCardPayload(final FriendlyByteBuf packetBuffer) { + public RecipeToCardPayload(final RegistryFriendlyByteBuf packetBuffer) { this(new ArrayList<>()); int size = packetBuffer.readInt(); for (int i = 0; i < size; i++) { - stacks.add(packetBuffer.readItem()); + stacks.add(ItemStack.STREAM_CODEC.decode(packetBuffer)); } } - public void write(FriendlyByteBuf buf) { + public void write(RegistryFriendlyByteBuf buf) { buf.writeInt(stacks.size()); for (ItemStack output : stacks) { - buf.writeItem(output); + ItemStack.STREAM_CODEC.encode(buf, output); } } diff --git a/src/main/java/com/mrbysco/forcecraft/recipe/FreezingRecipe.java b/src/main/java/com/mrbysco/forcecraft/recipe/FreezingRecipe.java index f3ec3122..cfa7fe1d 100644 --- a/src/main/java/com/mrbysco/forcecraft/recipe/FreezingRecipe.java +++ b/src/main/java/com/mrbysco/forcecraft/recipe/FreezingRecipe.java @@ -2,17 +2,17 @@ import com.mojang.serialization.Codec; import com.mojang.serialization.DataResult; +import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import com.mrbysco.forcecraft.registry.ForceRecipeSerializers; import com.mrbysco.forcecraft.registry.ForceRecipes; import com.mrbysco.forcecraft.registry.ForceRegistry; import net.minecraft.core.NonNullList; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.util.ExtraCodecs; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.StreamCodec; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.item.crafting.RecipeSerializer; -import org.jetbrains.annotations.Nullable; public class FreezingRecipe extends MultipleOutputFurnaceRecipe { @@ -33,12 +33,12 @@ public RecipeSerializer getSerializer() { return ForceRecipeSerializers.FREEZING_SERIALIZER.get(); } - public static class SerializerFreezingRecipe implements RecipeSerializer { - public static final Codec CODEC = RecordCodecBuilder.create( + public static class Serializer implements RecipeSerializer { + private static final MapCodec CODEC = RecordCodecBuilder.mapCodec( instance -> instance.group( - ExtraCodecs.strictOptionalField(Codec.STRING, "group", "").forGetter(recipe -> recipe.group), + Codec.STRING.optionalFieldOf("group", "").forGetter(recipe -> recipe.group), Ingredient.CODEC_NONEMPTY.fieldOf("ingredient").forGetter(recipe -> recipe.ingredient), - ItemStack.RESULT_CODEC.codec() + ItemStack.CODEC .listOf() .fieldOf("results") .flatXmap( @@ -60,22 +60,28 @@ public static class SerializerFreezingRecipe implements RecipeSerializer STREAM_CODEC = StreamCodec.of( + Serializer::toNetwork, Serializer::fromNetwork + ); @Override - public Codec codec() { + public MapCodec codec() { return CODEC; } - @Nullable @Override - public FreezingRecipe fromNetwork(FriendlyByteBuf buffer) { + public StreamCodec streamCodec() { + return STREAM_CODEC; + } + + public static FreezingRecipe fromNetwork(RegistryFriendlyByteBuf buffer) { String s = buffer.readUtf(32767); - Ingredient ingredient = Ingredient.fromNetwork(buffer); + Ingredient ingredient = Ingredient.CONTENTS_STREAM_CODEC.decode(buffer); int size = buffer.readVarInt(); NonNullList resultList = NonNullList.withSize(size, ItemStack.EMPTY); for (int j = 0; j < resultList.size(); ++j) { - resultList.set(j, buffer.readItem()); + resultList.set(j, ItemStack.STREAM_CODEC.decode(buffer)); } float f = buffer.readFloat(); @@ -83,14 +89,13 @@ public FreezingRecipe fromNetwork(FriendlyByteBuf buffer) { return new FreezingRecipe(s, ingredient, resultList, f, i); } - @Override - public void toNetwork(FriendlyByteBuf buffer, FreezingRecipe recipe) { + public static void toNetwork(RegistryFriendlyByteBuf buffer, FreezingRecipe recipe) { buffer.writeUtf(recipe.group); - recipe.ingredient.toNetwork(buffer); + Ingredient.CONTENTS_STREAM_CODEC.encode(buffer, recipe.ingredient); buffer.writeVarInt(recipe.results.size()); for (ItemStack stack : recipe.results) { - buffer.writeItem(stack); + ItemStack.STREAM_CODEC.encode(buffer, stack); } buffer.writeFloat(recipe.experience); diff --git a/src/main/java/com/mrbysco/forcecraft/recipe/GrindingRecipe.java b/src/main/java/com/mrbysco/forcecraft/recipe/GrindingRecipe.java index bdd97f04..2194b663 100644 --- a/src/main/java/com/mrbysco/forcecraft/recipe/GrindingRecipe.java +++ b/src/main/java/com/mrbysco/forcecraft/recipe/GrindingRecipe.java @@ -2,17 +2,17 @@ import com.mojang.serialization.Codec; import com.mojang.serialization.DataResult; +import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import com.mrbysco.forcecraft.registry.ForceRecipeSerializers; import com.mrbysco.forcecraft.registry.ForceRecipes; import com.mrbysco.forcecraft.registry.ForceRegistry; import net.minecraft.core.NonNullList; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.util.ExtraCodecs; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.StreamCodec; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.item.crafting.RecipeSerializer; -import org.jetbrains.annotations.Nullable; public class GrindingRecipe extends MultipleOutputFurnaceRecipe { @@ -34,22 +34,22 @@ public RecipeSerializer getSerializer() { return ForceRecipeSerializers.GRINDING_SERIALIZER.get(); } - public static class SerializerGrindingRecipe implements RecipeSerializer { - public static final Codec CODEC = RecordCodecBuilder.create( + public static class Serializer implements RecipeSerializer { + private static final MapCodec CODEC = RecordCodecBuilder.mapCodec( instance -> instance.group( - ExtraCodecs.strictOptionalField(Codec.STRING, "group", "").forGetter(recipe -> recipe.group), + Codec.STRING.optionalFieldOf("group", "").forGetter(recipe -> recipe.group), Ingredient.CODEC_NONEMPTY.fieldOf("ingredient").forGetter(recipe -> recipe.ingredient), - ItemStack.RESULT_CODEC.codec() + ItemStack.CODEC .listOf() .fieldOf("results") .flatXmap( array -> { ItemStack[] stacks = array.toArray(ItemStack[]::new); if (stacks.length == 0) { - return DataResult.error(() -> "No results for grinding recipe"); + return DataResult.error(() -> "No results for freezing recipe"); } else { return stacks.length > 2 - ? DataResult.error(() -> "Too many itemstacks for grinding recipe. The maximum is: %s".formatted(9)) + ? DataResult.error(() -> "Too many itemstacks for freezing recipe. The maximum is: %s".formatted(9)) : DataResult.success(NonNullList.of(ItemStack.EMPTY, stacks)); } }, @@ -62,22 +62,28 @@ public static class SerializerGrindingRecipe implements RecipeSerializer STREAM_CODEC = StreamCodec.of( + GrindingRecipe.Serializer::toNetwork, GrindingRecipe.Serializer::fromNetwork + ); @Override - public Codec codec() { + public MapCodec codec() { return CODEC; } - @Nullable @Override - public GrindingRecipe fromNetwork(FriendlyByteBuf buffer) { + public StreamCodec streamCodec() { + return STREAM_CODEC; + } + + public static GrindingRecipe fromNetwork(RegistryFriendlyByteBuf buffer) { String s = buffer.readUtf(32767); - Ingredient ingredient = Ingredient.fromNetwork(buffer); + Ingredient ingredient = Ingredient.CONTENTS_STREAM_CODEC.decode(buffer); int size = buffer.readVarInt(); NonNullList resultList = NonNullList.withSize(size, ItemStack.EMPTY); for (int j = 0; j < resultList.size(); ++j) { - resultList.set(j, buffer.readItem()); + resultList.set(j, ItemStack.STREAM_CODEC.decode(buffer)); } float chance = buffer.readFloat(); @@ -86,14 +92,13 @@ public GrindingRecipe fromNetwork(FriendlyByteBuf buffer) { return new GrindingRecipe(s, ingredient, resultList, chance, f, i); } - @Override - public void toNetwork(FriendlyByteBuf buffer, GrindingRecipe recipe) { + public static void toNetwork(RegistryFriendlyByteBuf buffer, GrindingRecipe recipe) { buffer.writeUtf(recipe.group); - recipe.ingredient.toNetwork(buffer); + Ingredient.CONTENTS_STREAM_CODEC.encode(buffer, recipe.ingredient); buffer.writeVarInt(recipe.results.size()); for (ItemStack stack : recipe.results) { - buffer.writeItem(stack); + ItemStack.STREAM_CODEC.encode(buffer, stack); } buffer.writeFloat(recipe.secondaryChance); diff --git a/src/main/java/com/mrbysco/forcecraft/recipe/InfuseRecipe.java b/src/main/java/com/mrbysco/forcecraft/recipe/InfuseRecipe.java index 4ed88b96..f9247c64 100644 --- a/src/main/java/com/mrbysco/forcecraft/recipe/InfuseRecipe.java +++ b/src/main/java/com/mrbysco/forcecraft/recipe/InfuseRecipe.java @@ -1,29 +1,32 @@ package com.mrbysco.forcecraft.recipe; import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; -import com.mrbysco.forcecraft.attachment.storage.PackStackHandler; import com.mrbysco.forcecraft.blockentities.InfuserBlockEntity; import com.mrbysco.forcecraft.blockentities.InfuserModifierType; +import com.mrbysco.forcecraft.components.ForceComponents; +import com.mrbysco.forcecraft.components.storage.PackStackHandler; import com.mrbysco.forcecraft.items.infuser.UpgradeBookData; import com.mrbysco.forcecraft.items.infuser.UpgradeBookTier; import com.mrbysco.forcecraft.registry.ForceRecipeSerializers; import com.mrbysco.forcecraft.registry.ForceRecipes; import com.mrbysco.forcecraft.registry.ForceRegistry; +import net.minecraft.core.HolderLookup; import net.minecraft.core.NonNullList; -import net.minecraft.core.RegistryAccess; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.util.ExtraCodecs; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.StreamCodec; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.item.crafting.Recipe; +import net.minecraft.world.item.crafting.RecipeInput; import net.minecraft.world.item.crafting.RecipeSerializer; import net.minecraft.world.item.crafting.RecipeType; import net.minecraft.world.level.Level; import net.neoforged.neoforge.capabilities.Capabilities; import net.neoforged.neoforge.items.IItemHandler; -public class InfuseRecipe implements Recipe { +public class InfuseRecipe implements Recipe { private static final int MAX_SLOTS = 8; protected Ingredient ingredient; protected InfuserModifierType resultModifier; @@ -55,9 +58,9 @@ public void setTime(int time) { } @Override - public boolean matches(InfuserBlockEntity inv, Level level) { - for (int i = 0; i < inv.handler.getSlots(); i++) { - ItemStack stack = inv.handler.getStackInSlot(i); + public boolean matches(RecipeInput inv, Level level) { + for (int i = 0; i < inv.size(); i++) { + ItemStack stack = inv.getItem(i); if (i < InfuserBlockEntity.SLOT_TOOL) { return matchesModifier(inv, stack, false); } @@ -65,16 +68,17 @@ public boolean matches(InfuserBlockEntity inv, Level level) { return false; } - public boolean matchesModifier(InfuserBlockEntity inv, ItemStack modifier, boolean ignoreInfused) { + public boolean matchesModifier(RecipeInput inv, ItemStack modifier, boolean ignoreInfused) { //Has the correct tier - UpgradeBookData bd = new UpgradeBookData(inv.getBookInSlot()); - int bookTier = bd.getTier().ordinal(); + ItemStack bookStack = inv.getItem(InfuserBlockEntity.SLOT_BOOK); + UpgradeBookData bd = bookStack.getOrDefault(ForceComponents.UPGRADE_BOOK, UpgradeBookData.DEFAULT); + int bookTier = bd.tier().ordinal(); if (getTier().ordinal() > bookTier) { return false; } //Does the center match - ItemStack centerStack = inv.handler.getStackInSlot(InfuserBlockEntity.SLOT_TOOL); + ItemStack centerStack = inv.getItem(InfuserBlockEntity.SLOT_TOOL); boolean toolMatches = matchesTool(centerStack, ignoreInfused); boolean modifierMatches = matchesModifier(centerStack, modifier); @@ -109,7 +113,7 @@ public boolean matchesTool(ItemStack toolStack, boolean ignoreInfused) { } if (!ignoreInfused) { //Ignore if the tool is infused in case of infusing for the first time - return !toolStack.hasTag() || !toolStack.getTag().getBoolean("ForceInfused"); + return !toolStack.has(ForceComponents.FORCE_INFUSED); } return true; } @@ -120,7 +124,7 @@ public boolean canCraftInDimensions(int width, int height) { } @Override - public ItemStack getResultItem(RegistryAccess registryAccess) { + public ItemStack getResultItem(HolderLookup.Provider registries) { return output; } @@ -129,8 +133,8 @@ public boolean hasOutput() { } @Override - public ItemStack assemble(InfuserBlockEntity inv, RegistryAccess registryAccess) { - return getResultItem(registryAccess); + public ItemStack assemble(RecipeInput inv, HolderLookup.Provider registries) { + return getResultItem(registries); } @Override @@ -175,41 +179,47 @@ public RecipeSerializer getSerializer() { return ForceRecipeSerializers.INFUSER_SERIALIZER.get(); } - public static class SerializeInfuserRecipe implements RecipeSerializer { - private static final Codec CODEC = RecordCodecBuilder.create( + public static class Serializer implements RecipeSerializer { + private static final MapCodec CODEC = RecordCodecBuilder.mapCodec( instance -> instance.group( Ingredient.CODEC_NONEMPTY.fieldOf("center").forGetter(recipe -> recipe.center), Ingredient.CODEC_NONEMPTY.fieldOf("ingredient").forGetter(recipe -> recipe.ingredient), InfuserModifierType.CODEC.fieldOf("resultType").forGetter(recipe -> recipe.resultModifier), UpgradeBookTier.CODEC.fieldOf("tier").forGetter(recipe -> recipe.tier), - ExtraCodecs.strictOptionalField(ItemStack.ITEM_WITH_COUNT_CODEC, "output", ItemStack.EMPTY).forGetter(recipe -> recipe.output), + ItemStack.OPTIONAL_CODEC.optionalFieldOf("output", ItemStack.EMPTY).forGetter(recipe -> recipe.output), Codec.INT.fieldOf("time").forGetter(recipe -> recipe.time) ) .apply(instance, InfuseRecipe::new) ); + public static final StreamCodec STREAM_CODEC = StreamCodec.of( + Serializer::toNetwork, Serializer::fromNetwork + ); @Override - public Codec codec() { + public MapCodec codec() { return CODEC; } @Override - public void toNetwork(FriendlyByteBuf buffer, InfuseRecipe recipe) { - recipe.center.toNetwork(buffer); - recipe.ingredient.toNetwork(buffer); + public StreamCodec streamCodec() { + return STREAM_CODEC; + } + + public static void toNetwork(RegistryFriendlyByteBuf buffer, InfuseRecipe recipe) { + Ingredient.CONTENTS_STREAM_CODEC.encode(buffer, recipe.center); + Ingredient.CONTENTS_STREAM_CODEC.encode(buffer, recipe.ingredient); buffer.writeEnum(recipe.resultModifier); buffer.writeEnum(recipe.tier); - buffer.writeItem(recipe.getResultItem(null)); + ItemStack.OPTIONAL_STREAM_CODEC.encode(buffer, recipe.output); buffer.writeInt(recipe.getTime()); } - @Override - public InfuseRecipe fromNetwork(FriendlyByteBuf buffer) { - Ingredient center = Ingredient.fromNetwork(buffer); - Ingredient ing = Ingredient.fromNetwork(buffer); + public static InfuseRecipe fromNetwork(RegistryFriendlyByteBuf buffer) { + Ingredient center = Ingredient.CONTENTS_STREAM_CODEC.decode(buffer); + Ingredient ing = Ingredient.CONTENTS_STREAM_CODEC.decode(buffer); InfuserModifierType infuserType = buffer.readEnum(InfuserModifierType.class); UpgradeBookTier tier = buffer.readEnum(UpgradeBookTier.class); - ItemStack output = buffer.readItem(); + ItemStack output = ItemStack.OPTIONAL_STREAM_CODEC.decode(buffer); int time = buffer.readInt(); return new InfuseRecipe(center, ing, infuserType, tier, output, time); } diff --git a/src/main/java/com/mrbysco/forcecraft/recipe/MultipleOutputFurnaceRecipe.java b/src/main/java/com/mrbysco/forcecraft/recipe/MultipleOutputFurnaceRecipe.java index ac3cf658..dad9d79d 100644 --- a/src/main/java/com/mrbysco/forcecraft/recipe/MultipleOutputFurnaceRecipe.java +++ b/src/main/java/com/mrbysco/forcecraft/recipe/MultipleOutputFurnaceRecipe.java @@ -1,13 +1,13 @@ package com.mrbysco.forcecraft.recipe; +import net.minecraft.core.HolderLookup; import net.minecraft.core.NonNullList; -import net.minecraft.core.RegistryAccess; -import net.minecraft.world.Container; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.AbstractCookingRecipe; import net.minecraft.world.item.crafting.CookingBookCategory; import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.item.crafting.RecipeType; +import net.minecraft.world.item.crafting.SingleRecipeInput; public abstract class MultipleOutputFurnaceRecipe extends AbstractCookingRecipe { protected final float secondaryChance; @@ -27,12 +27,12 @@ public boolean isSpecial() { } @Override - public ItemStack assemble(Container inv, RegistryAccess registryAccess) { - return getResultItem(registryAccess).copy(); + public ItemStack assemble(SingleRecipeInput inv, HolderLookup.Provider registries) { + return getResultItem(registries).copy(); } @Override - public ItemStack getResultItem(RegistryAccess registryAccess) { + public ItemStack getResultItem(HolderLookup.Provider registries) { return this.results.get(0); } diff --git a/src/main/java/com/mrbysco/forcecraft/recipe/ShapedNoRemainderRecipe.java b/src/main/java/com/mrbysco/forcecraft/recipe/ShapedNoRemainderRecipe.java index f24a0ef3..8a020b20 100644 --- a/src/main/java/com/mrbysco/forcecraft/recipe/ShapedNoRemainderRecipe.java +++ b/src/main/java/com/mrbysco/forcecraft/recipe/ShapedNoRemainderRecipe.java @@ -1,14 +1,15 @@ package com.mrbysco.forcecraft.recipe; import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import com.mrbysco.forcecraft.registry.ForceRecipeSerializers; import net.minecraft.core.NonNullList; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.util.ExtraCodecs; -import net.minecraft.world.inventory.CraftingContainer; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.StreamCodec; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.CraftingBookCategory; +import net.minecraft.world.item.crafting.CraftingInput; import net.minecraft.world.item.crafting.RecipeSerializer; import net.minecraft.world.item.crafting.ShapedRecipe; import net.minecraft.world.item.crafting.ShapedRecipePattern; @@ -40,44 +41,52 @@ public RecipeSerializer getSerializer() { } @Override - public NonNullList getRemainingItems(CraftingContainer inv) { - NonNullList nonnulllist = NonNullList.withSize(inv.getContainerSize(), ItemStack.EMPTY); + public NonNullList getRemainingItems(CraftingInput inv) { + NonNullList nonnulllist = NonNullList.withSize(inv.size(), ItemStack.EMPTY); return nonnulllist; } - public static class SerializerShapedNoRemainderRecipe implements RecipeSerializer { - public static final Codec CODEC = RecordCodecBuilder.create( - instance -> instance.group( - ExtraCodecs.strictOptionalField(Codec.STRING, "group", "").forGetter(recipe -> recipe.group), - CraftingBookCategory.CODEC.fieldOf("category").orElse(CraftingBookCategory.MISC).forGetter(recipe -> recipe.category), - ShapedRecipePattern.MAP_CODEC.forGetter(recipe -> recipe.pattern), - ItemStack.ITEM_WITH_COUNT_CODEC.fieldOf("result").forGetter(recipe -> recipe.result), - ExtraCodecs.strictOptionalField(Codec.BOOL, "show_notification", true).forGetter(recipe -> recipe.showNotification) + public static class Serializer implements RecipeSerializer { + public static final MapCodec CODEC = RecordCodecBuilder.mapCodec( + p_340778_ -> p_340778_.group( + Codec.STRING.optionalFieldOf("group", "").forGetter(p_311729_ -> p_311729_.group), + CraftingBookCategory.CODEC.fieldOf("category").orElse(CraftingBookCategory.MISC).forGetter(p_311732_ -> p_311732_.category), + ShapedRecipePattern.MAP_CODEC.forGetter(p_311733_ -> p_311733_.pattern), + ItemStack.STRICT_CODEC.fieldOf("result").forGetter(p_311730_ -> p_311730_.result), + Codec.BOOL.optionalFieldOf("show_notification", Boolean.valueOf(true)).forGetter(p_311731_ -> p_311731_.showNotification) ) - .apply(instance, ShapedNoRemainderRecipe::new) + .apply(p_340778_, ShapedNoRemainderRecipe::new) + ); + public static final StreamCodec STREAM_CODEC = StreamCodec.of( + ShapedNoRemainderRecipe.Serializer::toNetwork, ShapedNoRemainderRecipe.Serializer::fromNetwork ); @Override - public Codec codec() { + public MapCodec codec() { return CODEC; } - public ShapedNoRemainderRecipe fromNetwork(FriendlyByteBuf pBuffer) { - String s = pBuffer.readUtf(); - CraftingBookCategory craftingbookcategory = pBuffer.readEnum(CraftingBookCategory.class); - ShapedRecipePattern shapedrecipepattern = ShapedRecipePattern.fromNetwork(pBuffer); - ItemStack itemstack = pBuffer.readItem(); - boolean flag = pBuffer.readBoolean(); + @Override + public StreamCodec streamCodec() { + return STREAM_CODEC; + } + + private static ShapedNoRemainderRecipe fromNetwork(RegistryFriendlyByteBuf buffer) { + String s = buffer.readUtf(); + CraftingBookCategory craftingbookcategory = buffer.readEnum(CraftingBookCategory.class); + ShapedRecipePattern shapedrecipepattern = ShapedRecipePattern.STREAM_CODEC.decode(buffer); + ItemStack itemstack = ItemStack.STREAM_CODEC.decode(buffer); + boolean flag = buffer.readBoolean(); return new ShapedNoRemainderRecipe(s, craftingbookcategory, shapedrecipepattern, itemstack, flag); } - public void toNetwork(FriendlyByteBuf pBuffer, ShapedNoRemainderRecipe pRecipe) { - pBuffer.writeUtf(pRecipe.group); - pBuffer.writeEnum(pRecipe.category); - pRecipe.pattern.toNetwork(pBuffer); - pBuffer.writeItem(pRecipe.result); - pBuffer.writeBoolean(pRecipe.showNotification); + private static void toNetwork(RegistryFriendlyByteBuf buffer, ShapedNoRemainderRecipe recipe) { + buffer.writeUtf(recipe.group); + buffer.writeEnum(recipe.category); + ShapedRecipePattern.STREAM_CODEC.encode(buffer, recipe.pattern); + ItemStack.STREAM_CODEC.encode(buffer, recipe.result); + buffer.writeBoolean(recipe.showNotification); } } } diff --git a/src/main/java/com/mrbysco/forcecraft/recipe/TransmutationRecipe.java b/src/main/java/com/mrbysco/forcecraft/recipe/TransmutationRecipe.java index 9c6021d4..3eb9828c 100644 --- a/src/main/java/com/mrbysco/forcecraft/recipe/TransmutationRecipe.java +++ b/src/main/java/com/mrbysco/forcecraft/recipe/TransmutationRecipe.java @@ -2,29 +2,35 @@ import com.mojang.serialization.Codec; import com.mojang.serialization.DataResult; +import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; +import com.mrbysco.forcecraft.components.ForceComponents; import com.mrbysco.forcecraft.items.ExperienceTomeItem; import com.mrbysco.forcecraft.items.tools.ForceRodItem; import com.mrbysco.forcecraft.registry.ForceRecipeSerializers; import com.mrbysco.forcecraft.registry.ForceRegistry; import it.unimi.dsi.fastutil.ints.IntList; +import net.minecraft.core.Holder; +import net.minecraft.core.HolderLookup; import net.minecraft.core.NonNullList; -import net.minecraft.core.RegistryAccess; +import net.minecraft.core.component.DataComponents; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.StreamCodec; import net.minecraft.util.ExtraCodecs; import net.minecraft.util.Mth; import net.minecraft.world.entity.player.StackedContents; -import net.minecraft.world.inventory.CraftingContainer; import net.minecraft.world.item.EnchantedBookItem; import net.minecraft.world.item.ExperienceBottleItem; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.CraftingBookCategory; +import net.minecraft.world.item.crafting.CraftingInput; import net.minecraft.world.item.crafting.CraftingRecipe; import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.item.crafting.RecipeSerializer; import net.minecraft.world.item.enchantment.Enchantment; -import net.minecraft.world.item.enchantment.EnchantmentHelper; +import net.minecraft.world.item.enchantment.ItemEnchantments; import net.minecraft.world.level.Level; import net.neoforged.neoforge.common.util.RecipeMatcher; import org.jetbrains.annotations.Nullable; @@ -55,7 +61,7 @@ public String getGroup() { } @Override - public ItemStack getResultItem(RegistryAccess registryAccess) { + public ItemStack getResultItem(HolderLookup.Provider registries) { return this.result; } @@ -70,12 +76,12 @@ public boolean isSpecial() { } @Override - public boolean matches(CraftingContainer inv, Level level) { + public boolean matches(CraftingInput inv, Level level) { StackedContents stackedContents = new StackedContents(); java.util.List inputs = new java.util.ArrayList<>(); int stacks = 0; - for (int i = 0; i < inv.getContainerSize(); ++i) { + for (int i = 0; i < inv.size(); ++i) { ItemStack itemstack = inv.getItem(i); if (!itemstack.isEmpty()) { //TEMP fix! ++stacks; @@ -85,13 +91,11 @@ public boolean matches(CraftingContainer inv, Level level) { else inputs.add(itemstack); } else { if (itemstack.getItem() instanceof ExperienceTomeItem) { - if (itemstack.hasTag() && itemstack.getTag().getInt("Experience") < 100) { + if (itemstack.has(ForceComponents.TOME_EXPERIENCE) && itemstack.getOrDefault(ForceComponents.TOME_EXPERIENCE, 0) < 100) { return false; } else { ItemStack experienceTome = new ItemStack(ForceRegistry.EXPERIENCE_TOME.get()); - CompoundTag tag = experienceTome.getOrCreateTag(); - tag.putInt("Experience", 100); - experienceTome.setTag(tag); + itemstack.set(ForceComponents.TOME_EXPERIENCE, 100); if (isSimple) stackedContents.accountStack(experienceTome, 1); else inputs.add(experienceTome); @@ -111,21 +115,20 @@ public boolean matches(CraftingContainer inv, Level level) { } @Override - public ItemStack assemble(CraftingContainer inv, RegistryAccess registryAccess) { - ItemStack resultStack = getResultItem(registryAccess).copy(); - for (int j = 0; j < inv.getContainerSize(); ++j) { + public ItemStack assemble(CraftingInput inv, HolderLookup.Provider registries) { + ItemStack resultStack = getResultItem(registries).copy(); + for (int j = 0; j < inv.size(); ++j) { ItemStack itemstack = inv.getItem(j); - if ((itemstack.getItem() instanceof ExperienceTomeItem)) { - CompoundTag tag = itemstack.getOrCreateTag(); - int experience = tag.getInt("Experience"); + if (itemstack.is(ForceRegistry.EXPERIENCE_TOME) && itemstack.has(ForceComponents.TOME_EXPERIENCE)) { + int experience = itemstack.getOrDefault(ForceComponents.TOME_EXPERIENCE, 0); int count = Math.min((int) ((float) experience / 100f), 64); resultStack.setCount(count); } if (itemstack.getItem() instanceof EnchantedBookItem && resultStack.getItem() instanceof ExperienceBottleItem) { - Map enchantmentMap = EnchantmentHelper.getEnchantments(itemstack); + ItemEnchantments enchantmentMap = itemstack.get(DataComponents.ENCHANTMENTS); if (!enchantmentMap.isEmpty()) { int amount = 0; - for (Map.Entry entry : enchantmentMap.entrySet()) { + for (Map.Entry, Integer> entry : enchantmentMap.entrySet()) { amount += entry.getValue(); } resultStack.setCount(Mth.clamp(amount, 1, 64)); @@ -141,8 +144,8 @@ public boolean canCraftInDimensions(int width, int height) { } @Override - public NonNullList getRemainingItems(CraftingContainer inv) { - NonNullList nonnulllist = NonNullList.withSize(inv.getContainerSize(), ItemStack.EMPTY); + public NonNullList getRemainingItems(CraftingInput inv) { + NonNullList nonnulllist = NonNullList.withSize(inv.size(), ItemStack.EMPTY); for (int i = 0; i < nonnulllist.size(); ++i) { ItemStack itemstack = inv.getItem(i); if (itemstack.hasCraftingRemainingItem()) { @@ -161,8 +164,7 @@ public NonNullList getRemainingItems(CraftingContainer inv) { continue; } else if ((itemstack.getItem() instanceof ExperienceTomeItem)) { ItemStack itemstack1 = itemstack.copy(); - CompoundTag tag = itemstack.getOrCreateTag(); - int experience = tag.getInt("Experience"); + int experience = itemstack.getOrDefault(ForceComponents.TOME_EXPERIENCE, 0); int count = (int) ((float) experience / 100f); int newExperience; if (count > 64) { @@ -170,8 +172,7 @@ public NonNullList getRemainingItems(CraftingContainer inv) { } else { newExperience = experience - (count * 100); } - tag.putInt("Experience", newExperience); - itemstack1.setTag(tag); + itemstack1.set(ForceComponents.TOME_EXPERIENCE, newExperience); nonnulllist.set(i, itemstack1); } } @@ -184,12 +185,12 @@ public CraftingBookCategory category() { return CraftingBookCategory.MISC; } - public static class SerializerTransmutationRecipe implements RecipeSerializer { + public static class Serializer implements RecipeSerializer { - private static final Codec CODEC = RecordCodecBuilder.create( + private static final MapCodec CODEC = RecordCodecBuilder.mapCodec( instance -> instance.group( - ExtraCodecs.strictOptionalField(Codec.STRING, "group", "").forGetter(recipe -> recipe.group), - ItemStack.ITEM_WITH_COUNT_CODEC.fieldOf("result").forGetter(recipe -> recipe.result), + Codec.STRING.optionalFieldOf("group", "").forGetter(recipe -> recipe.group), + ItemStack.STRICT_CODEC.fieldOf("result").forGetter(recipe -> recipe.result), Ingredient.CODEC_NONEMPTY .listOf() .fieldOf("ingredients") @@ -210,37 +211,42 @@ public static class SerializerTransmutationRecipe implements RecipeSerializer STREAM_CODEC = StreamCodec.of( + TransmutationRecipe.Serializer::toNetwork, TransmutationRecipe.Serializer::fromNetwork + ); @Override - public Codec codec() { + public MapCodec codec() { return CODEC; } - @Nullable @Override - public TransmutationRecipe fromNetwork(FriendlyByteBuf buffer) { + public StreamCodec streamCodec() { + return STREAM_CODEC; + } + + public static TransmutationRecipe fromNetwork(RegistryFriendlyByteBuf buffer) { String s = buffer.readUtf(32767); int i = buffer.readVarInt(); NonNullList nonnulllist = NonNullList.withSize(i, Ingredient.EMPTY); for (int j = 0; j < nonnulllist.size(); ++j) { - nonnulllist.set(j, Ingredient.fromNetwork(buffer)); + nonnulllist.set(j, Ingredient.CONTENTS_STREAM_CODEC.decode(buffer)); } - ItemStack itemstack = buffer.readItem(); + ItemStack itemstack = ItemStack.STREAM_CODEC.decode(buffer); return new TransmutationRecipe(s, itemstack, nonnulllist); } - @Override - public void toNetwork(FriendlyByteBuf buffer, TransmutationRecipe recipe) { + public static void toNetwork(RegistryFriendlyByteBuf buffer, TransmutationRecipe recipe) { buffer.writeUtf(recipe.group); buffer.writeVarInt(recipe.ingredients.size()); for (Ingredient ingredient : recipe.ingredients) { - ingredient.toNetwork(buffer); + Ingredient.CONTENTS_STREAM_CODEC.encode(buffer, ingredient); } - buffer.writeItem(recipe.result); + ItemStack.STREAM_CODEC.encode(buffer, recipe.result); } } } diff --git a/src/main/java/com/mrbysco/forcecraft/recipe/condition/ForceConditions.java b/src/main/java/com/mrbysco/forcecraft/recipe/condition/ForceConditions.java index a4571fb0..1a4f6a75 100644 --- a/src/main/java/com/mrbysco/forcecraft/recipe/condition/ForceConditions.java +++ b/src/main/java/com/mrbysco/forcecraft/recipe/condition/ForceConditions.java @@ -1,6 +1,6 @@ package com.mrbysco.forcecraft.recipe.condition; -import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import com.mrbysco.forcecraft.Reference; import net.neoforged.neoforge.common.conditions.ICondition; import net.neoforged.neoforge.registries.DeferredHolder; @@ -8,7 +8,7 @@ import net.neoforged.neoforge.registries.NeoForgeRegistries; public class ForceConditions { - public static final DeferredRegister> CONDITION_CODECS = DeferredRegister.create(NeoForgeRegistries.Keys.CONDITION_CODECS, Reference.MOD_ID); + public static final DeferredRegister> CONDITION_CODECS = DeferredRegister.create(NeoForgeRegistries.Keys.CONDITION_CODECS, Reference.MOD_ID); - public static final DeferredHolder, Codec> TIME_TORCH_ENABLED = CONDITION_CODECS.register("time_torch_enabled", () -> TorchEnabledCondition.CODEC); + public static final DeferredHolder, MapCodec> TIME_TORCH_ENABLED = CONDITION_CODECS.register("time_torch_enabled", () -> TorchEnabledCondition.CODEC); } diff --git a/src/main/java/com/mrbysco/forcecraft/recipe/condition/TorchEnabledCondition.java b/src/main/java/com/mrbysco/forcecraft/recipe/condition/TorchEnabledCondition.java index bf69eac3..da4e210a 100644 --- a/src/main/java/com/mrbysco/forcecraft/recipe/condition/TorchEnabledCondition.java +++ b/src/main/java/com/mrbysco/forcecraft/recipe/condition/TorchEnabledCondition.java @@ -1,16 +1,16 @@ package com.mrbysco.forcecraft.recipe.condition; -import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import com.mrbysco.forcecraft.config.ConfigHandler; import net.neoforged.neoforge.common.conditions.ICondition; public class TorchEnabledCondition implements ICondition { public static final TorchEnabledCondition INSTANCE = new TorchEnabledCondition(); - public static final Codec CODEC = Codec.unit(INSTANCE).stable(); + public static final MapCodec CODEC = MapCodec.unit(INSTANCE).stable(); @Override - public Codec codec() { - return CODEC; + public MapCodec codec() { + return ForceConditions.TIME_TORCH_ENABLED.get(); } @Override diff --git a/src/main/java/com/mrbysco/forcecraft/registry/ForceComponents.java b/src/main/java/com/mrbysco/forcecraft/registry/ForceComponents.java deleted file mode 100644 index f9b423cd..00000000 --- a/src/main/java/com/mrbysco/forcecraft/registry/ForceComponents.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.mrbysco.forcecraft.registry; - -import com.mojang.serialization.Codec; -import com.mrbysco.forcecraft.Reference; -import net.minecraft.core.component.DataComponentType; -import net.minecraft.core.registries.Registries; -import net.minecraft.network.codec.ByteBufCodecs; -import net.neoforged.neoforge.registries.DeferredRegister; - -import java.util.function.Supplier; - -public class ForceComponents { - public static final DeferredRegister> DATA_COMPONENT_TYPES = DeferredRegister.create(Registries.DATA_COMPONENT_TYPE, Reference.MOD_ID); - - public static final Supplier> PACK_COLOR = DATA_COMPONENT_TYPES.register("pack_color", () -> - DataComponentType.builder() - .persistent(Codec.INT) - .networkSynchronized(ByteBufCodecs.INT) - .build()); -} diff --git a/src/main/java/com/mrbysco/forcecraft/registry/ForceRecipeSerializers.java b/src/main/java/com/mrbysco/forcecraft/registry/ForceRecipeSerializers.java index 55eebf3f..4a259090 100644 --- a/src/main/java/com/mrbysco/forcecraft/registry/ForceRecipeSerializers.java +++ b/src/main/java/com/mrbysco/forcecraft/registry/ForceRecipeSerializers.java @@ -1,11 +1,12 @@ package com.mrbysco.forcecraft.registry; import com.mrbysco.forcecraft.Reference; -import com.mrbysco.forcecraft.recipe.FreezingRecipe.SerializerFreezingRecipe; -import com.mrbysco.forcecraft.recipe.GrindingRecipe.SerializerGrindingRecipe; -import com.mrbysco.forcecraft.recipe.InfuseRecipe.SerializeInfuserRecipe; -import com.mrbysco.forcecraft.recipe.ShapedNoRemainderRecipe.SerializerShapedNoRemainderRecipe; -import com.mrbysco.forcecraft.recipe.TransmutationRecipe.SerializerTransmutationRecipe; +import com.mrbysco.forcecraft.recipe.FreezingRecipe; +import com.mrbysco.forcecraft.recipe.GrindingRecipe; +import com.mrbysco.forcecraft.recipe.InfuseRecipe; +import com.mrbysco.forcecraft.recipe.ShapedNoRemainderRecipe; +import com.mrbysco.forcecraft.recipe.TransmutationRecipe; +import com.mrbysco.forcecraft.recipe.TransmutationRecipe.Serializer; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.world.item.crafting.RecipeSerializer; import net.neoforged.neoforge.registries.DeferredRegister; @@ -15,9 +16,9 @@ public class ForceRecipeSerializers { public static final DeferredRegister> RECIPE_SERIALIZERS = DeferredRegister.create(BuiltInRegistries.RECIPE_SERIALIZER, Reference.MOD_ID); - public static final Supplier INFUSER_SERIALIZER = RECIPE_SERIALIZERS.register("infuser", SerializeInfuserRecipe::new); - public static final Supplier TRANSMUTATION_SERIALIZER = RECIPE_SERIALIZERS.register("transmutation", SerializerTransmutationRecipe::new); - public static final Supplier SHAPED_NO_REMAINDER_SERIALIZER = RECIPE_SERIALIZERS.register("shaped_no_remainder", SerializerShapedNoRemainderRecipe::new); - public static final Supplier FREEZING_SERIALIZER = RECIPE_SERIALIZERS.register("freezing", SerializerFreezingRecipe::new); - public static final Supplier GRINDING_SERIALIZER = RECIPE_SERIALIZERS.register("grinding", SerializerGrindingRecipe::new); + public static final Supplier INFUSER_SERIALIZER = RECIPE_SERIALIZERS.register("infuser", InfuseRecipe.Serializer::new); + public static final Supplier TRANSMUTATION_SERIALIZER = RECIPE_SERIALIZERS.register("transmutation", Serializer::new); + public static final Supplier SHAPED_NO_REMAINDER_SERIALIZER = RECIPE_SERIALIZERS.register("shaped_no_remainder", ShapedNoRemainderRecipe.Serializer::new); + public static final Supplier FREEZING_SERIALIZER = RECIPE_SERIALIZERS.register("freezing", FreezingRecipe.Serializer::new); + public static final Supplier GRINDING_SERIALIZER = RECIPE_SERIALIZERS.register("grinding", GrindingRecipe.Serializer::new); } diff --git a/src/main/java/com/mrbysco/forcecraft/registry/ForceRegistry.java b/src/main/java/com/mrbysco/forcecraft/registry/ForceRegistry.java index 477cdbfd..4a27b4ae 100644 --- a/src/main/java/com/mrbysco/forcecraft/registry/ForceRegistry.java +++ b/src/main/java/com/mrbysco/forcecraft/registry/ForceRegistry.java @@ -111,7 +111,7 @@ public class ForceRegistry { public static final DeferredBlock FORCE_PLANKS = BLOCKS.register("force_planks", () -> new FlammableBlock(BlockBehaviour.Properties.of().mapColor(MapColor.SAND).instrument(NoteBlockInstrument.BASS).strength(2.0F, 3.0F).sound(SoundType.WOOD), 5, 20)); public static final DeferredBlock FORCE_PLANK_STAIRS = BLOCKS.register("force_plank_stairs", () -> - new FlammableStairs(() -> FORCE_PLANKS.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(FORCE_PLANKS.get()), 5, 20)); + new FlammableStairs(FORCE_PLANKS.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(FORCE_PLANKS.get()), 5, 20)); public static final DeferredBlock FORCE_PLANK_SLAB = BLOCKS.register("force_plank_slab", () -> new FlammableSlab(BlockBehaviour.Properties.ofFullCopy(FORCE_PLANKS.get()), 5, 20)); @@ -124,7 +124,7 @@ public class ForceRegistry { new InfuserBlock(BlockBehaviour.Properties.of().mapColor(MapColor.STONE).requiresCorrectToolForDrops().strength(2.0F))); public static final DeferredBlock FORCE_FLUID_BLOCK = BLOCKS.register("force_fluid", () -> - new ForceFluidBlock(ForceFluids.FORCE_FLUID_SOURCE, BlockBehaviour.Properties.of().mapColor(MapColor.WATER).instrument(NoteBlockInstrument.BASEDRUM).noCollission().lightLevel(state -> 15).noLootTable())); + new ForceFluidBlock(ForceFluids.FORCE_FLUID_SOURCE.get(), BlockBehaviour.Properties.of().mapColor(MapColor.WATER).instrument(NoteBlockInstrument.BASEDRUM).noCollission().lightLevel(state -> 15).noLootTable())); public static final DeferredBlock FORCE_FURNACE = BLOCKS.register("force_furnace", () -> new ForceFurnaceBlock(BlockBehaviour.Properties.of().mapColor(MapColor.STONE).requiresCorrectToolForDrops().strength(4.0F, 18.0F).lightLevel(ForceFurnaceBlock.getLightValueLit(13)))); public static final DeferredBlock BLACK_FORCE_FURNACE = BLOCKS.register("black_force_furnace", () -> new ForceFurnaceBlock(BlockBehaviour.Properties.of().mapColor(MapColor.STONE).requiresCorrectToolForDrops().strength(4.0F, 18.0F).lightLevel(ForceFurnaceBlock.getLightValueLit(13)))); @@ -165,23 +165,23 @@ public class ForceRegistry { public static final DeferredBlock FORCE_BRICK_GRAY = BLOCKS.registerSimpleBlock("force_brick_gray", BlockBehaviour.Properties.of().mapColor(DyeColor.GRAY).strength(2.0F, 12.0F).requiresCorrectToolForDrops()); public static final DeferredBlock FORCE_BRICK = BLOCKS.registerSimpleBlock("force_brick", BlockBehaviour.Properties.of().mapColor(DyeColor.YELLOW).strength(2.0F, 12.0F).requiresCorrectToolForDrops()); //Stairs - public static final DeferredBlock FORCE_BRICK_RED_STAIRS = BLOCKS.register("force_brick_red_stairs", () -> new StairBlock(() -> FORCE_BRICK_RED.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(FORCE_BRICK_RED.get()))); - public static final DeferredBlock FORCE_BRICK_YELLOW_STAIRS = BLOCKS.register("force_brick_yellow_stairs", () -> new StairBlock(() -> FORCE_BRICK_YELLOW.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(FORCE_BRICK_YELLOW.get()))); - public static final DeferredBlock FORCE_BRICK_GREEN_STAIRS = BLOCKS.register("force_brick_green_stairs", () -> new StairBlock(() -> FORCE_BRICK_GREEN.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(FORCE_BRICK_GREEN.get()))); - public static final DeferredBlock FORCE_BRICK_BLUE_STAIRS = BLOCKS.register("force_brick_blue_stairs", () -> new StairBlock(() -> FORCE_BRICK_BLUE.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(FORCE_BRICK_BLUE.get()))); - public static final DeferredBlock FORCE_BRICK_WHITE_STAIRS = BLOCKS.register("force_brick_white_stairs", () -> new StairBlock(() -> FORCE_BRICK_WHITE.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(FORCE_BRICK_WHITE.get()))); - public static final DeferredBlock FORCE_BRICK_BLACK_STAIRS = BLOCKS.register("force_brick_black_stairs", () -> new StairBlock(() -> FORCE_BRICK_BLACK.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(FORCE_BRICK_BLACK.get()))); - public static final DeferredBlock FORCE_BRICK_BROWN_STAIRS = BLOCKS.register("force_brick_brown_stairs", () -> new StairBlock(() -> FORCE_BRICK_BROWN.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(FORCE_BRICK_BROWN.get()))); - public static final DeferredBlock FORCE_BRICK_ORANGE_STAIRS = BLOCKS.register("force_brick_orange_stairs", () -> new StairBlock(() -> FORCE_BRICK_ORANGE.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(FORCE_BRICK_ORANGE.get()))); - public static final DeferredBlock FORCE_BRICK_LIGHT_BLUE_STAIRS = BLOCKS.register("force_brick_light_blue_stairs", () -> new StairBlock(() -> FORCE_BRICK_LIGHT_BLUE.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(FORCE_BRICK_LIGHT_BLUE.get()))); - public static final DeferredBlock FORCE_BRICK_MAGENTA_STAIRS = BLOCKS.register("force_brick_magenta_stairs", () -> new StairBlock(() -> FORCE_BRICK_MAGENTA.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(FORCE_BRICK_MAGENTA.get()))); - public static final DeferredBlock FORCE_BRICK_PINK_STAIRS = BLOCKS.register("force_brick_pink_stairs", () -> new StairBlock(() -> FORCE_BRICK_PINK.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(FORCE_BRICK_PINK.get()))); - public static final DeferredBlock FORCE_BRICK_LIGHT_GRAY_STAIRS = BLOCKS.register("force_brick_light_gray_stairs", () -> new StairBlock(() -> FORCE_BRICK_LIGHT_GRAY.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(FORCE_BRICK_LIGHT_GRAY.get()))); - public static final DeferredBlock FORCE_BRICK_LIME_STAIRS = BLOCKS.register("force_brick_lime_stairs", () -> new StairBlock(() -> FORCE_BRICK_LIME.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(FORCE_BRICK_LIME.get()))); - public static final DeferredBlock FORCE_BRICK_CYAN_STAIRS = BLOCKS.register("force_brick_cyan_stairs", () -> new StairBlock(() -> FORCE_BRICK_CYAN.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(FORCE_BRICK_CYAN.get()))); - public static final DeferredBlock FORCE_BRICK_PURPLE_STAIRS = BLOCKS.register("force_brick_purple_stairs", () -> new StairBlock(() -> FORCE_BRICK_PURPLE.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(FORCE_BRICK_PURPLE.get()))); - public static final DeferredBlock FORCE_BRICK_GRAY_STAIRS = BLOCKS.register("force_brick_gray_stairs", () -> new StairBlock(() -> FORCE_BRICK_GRAY.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(FORCE_BRICK_GRAY.get()))); - public static final DeferredBlock FORCE_BRICK_STAIRS = BLOCKS.register("force_brick_stairs", () -> new StairBlock(() -> FORCE_BRICK.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(FORCE_BRICK.get()))); + public static final DeferredBlock FORCE_BRICK_RED_STAIRS = BLOCKS.register("force_brick_red_stairs", () -> new StairBlock(FORCE_BRICK_RED.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(FORCE_BRICK_RED.get()))); + public static final DeferredBlock FORCE_BRICK_YELLOW_STAIRS = BLOCKS.register("force_brick_yellow_stairs", () -> new StairBlock(FORCE_BRICK_YELLOW.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(FORCE_BRICK_YELLOW.get()))); + public static final DeferredBlock FORCE_BRICK_GREEN_STAIRS = BLOCKS.register("force_brick_green_stairs", () -> new StairBlock(FORCE_BRICK_GREEN.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(FORCE_BRICK_GREEN.get()))); + public static final DeferredBlock FORCE_BRICK_BLUE_STAIRS = BLOCKS.register("force_brick_blue_stairs", () -> new StairBlock(FORCE_BRICK_BLUE.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(FORCE_BRICK_BLUE.get()))); + public static final DeferredBlock FORCE_BRICK_WHITE_STAIRS = BLOCKS.register("force_brick_white_stairs", () -> new StairBlock(FORCE_BRICK_WHITE.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(FORCE_BRICK_WHITE.get()))); + public static final DeferredBlock FORCE_BRICK_BLACK_STAIRS = BLOCKS.register("force_brick_black_stairs", () -> new StairBlock(FORCE_BRICK_BLACK.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(FORCE_BRICK_BLACK.get()))); + public static final DeferredBlock FORCE_BRICK_BROWN_STAIRS = BLOCKS.register("force_brick_brown_stairs", () -> new StairBlock(FORCE_BRICK_BROWN.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(FORCE_BRICK_BROWN.get()))); + public static final DeferredBlock FORCE_BRICK_ORANGE_STAIRS = BLOCKS.register("force_brick_orange_stairs", () -> new StairBlock(FORCE_BRICK_ORANGE.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(FORCE_BRICK_ORANGE.get()))); + public static final DeferredBlock FORCE_BRICK_LIGHT_BLUE_STAIRS = BLOCKS.register("force_brick_light_blue_stairs", () -> new StairBlock(FORCE_BRICK_LIGHT_BLUE.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(FORCE_BRICK_LIGHT_BLUE.get()))); + public static final DeferredBlock FORCE_BRICK_MAGENTA_STAIRS = BLOCKS.register("force_brick_magenta_stairs", () -> new StairBlock(FORCE_BRICK_MAGENTA.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(FORCE_BRICK_MAGENTA.get()))); + public static final DeferredBlock FORCE_BRICK_PINK_STAIRS = BLOCKS.register("force_brick_pink_stairs", () -> new StairBlock(FORCE_BRICK_PINK.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(FORCE_BRICK_PINK.get()))); + public static final DeferredBlock FORCE_BRICK_LIGHT_GRAY_STAIRS = BLOCKS.register("force_brick_light_gray_stairs", () -> new StairBlock(FORCE_BRICK_LIGHT_GRAY.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(FORCE_BRICK_LIGHT_GRAY.get()))); + public static final DeferredBlock FORCE_BRICK_LIME_STAIRS = BLOCKS.register("force_brick_lime_stairs", () -> new StairBlock(FORCE_BRICK_LIME.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(FORCE_BRICK_LIME.get()))); + public static final DeferredBlock FORCE_BRICK_CYAN_STAIRS = BLOCKS.register("force_brick_cyan_stairs", () -> new StairBlock(FORCE_BRICK_CYAN.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(FORCE_BRICK_CYAN.get()))); + public static final DeferredBlock FORCE_BRICK_PURPLE_STAIRS = BLOCKS.register("force_brick_purple_stairs", () -> new StairBlock(FORCE_BRICK_PURPLE.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(FORCE_BRICK_PURPLE.get()))); + public static final DeferredBlock FORCE_BRICK_GRAY_STAIRS = BLOCKS.register("force_brick_gray_stairs", () -> new StairBlock(FORCE_BRICK_GRAY.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(FORCE_BRICK_GRAY.get()))); + public static final DeferredBlock FORCE_BRICK_STAIRS = BLOCKS.register("force_brick_stairs", () -> new StairBlock(FORCE_BRICK.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(FORCE_BRICK.get()))); //Slabs public static final DeferredBlock FORCE_BRICK_RED_SLAB = BLOCKS.register("force_brick_red_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(FORCE_BRICK_RED.get()))); @@ -276,13 +276,13 @@ public class ForceRegistry { new CustomFoodItem(itemBuilder().food(ForceFoods.COOKED_BACON))); public static final DeferredItem FORCE_HELMET = ITEMS.register("force_helmet", () -> - new ForceArmorItem(ModArmor.FORCE_ARMOR, ArmorItem.Type.HELMET, itemBuilder())); + new ForceArmorItem(ModArmor.FORCE, ArmorItem.Type.HELMET, itemBuilder())); public static final DeferredItem FORCE_CHEST = ITEMS.register("force_chest", () -> - new ForceArmorItem(ModArmor.FORCE_ARMOR, ArmorItem.Type.CHESTPLATE, itemBuilder())); + new ForceArmorItem(ModArmor.FORCE, ArmorItem.Type.CHESTPLATE, itemBuilder())); public static final DeferredItem FORCE_LEGS = ITEMS.register("force_legs", () -> - new ForceArmorItem(ModArmor.FORCE_ARMOR, ArmorItem.Type.LEGGINGS, itemBuilder())); + new ForceArmorItem(ModArmor.FORCE, ArmorItem.Type.LEGGINGS, itemBuilder())); public static final DeferredItem FORCE_BOOTS = ITEMS.register("force_boots", () -> - new ForceArmorItem(ModArmor.FORCE_ARMOR, ArmorItem.Type.BOOTS, itemBuilder())); + new ForceArmorItem(ModArmor.FORCE, ArmorItem.Type.BOOTS, itemBuilder())); public static final DeferredItem FORCE_ROD = ITEMS.register("force_rod", () -> new ForceRodItem(itemBuilder())); public static final DeferredItem FORCE_WRENCH = ITEMS.register("force_wrench", () -> new ForceWrenchItem(itemBuilder())); @@ -361,23 +361,23 @@ public class ForceRegistry { //Bucket public static final DeferredItem BUCKET_FLUID_FORCE = ITEMS.register("force_bucket", () -> - new ForceFluidBucketItem(itemBuilder().craftRemainder(Items.BUCKET).stacksTo(1), () -> ForceFluids.FORCE_FLUID_SOURCE.get())); + new ForceFluidBucketItem(itemBuilder().craftRemainder(Items.BUCKET).stacksTo(1), ForceFluids.FORCE_FLUID_SOURCE.get())); //Experience Tome public static final DeferredItem EXPERIENCE_TOME = ITEMS.register("experience_tome", () -> new ExperienceTomeItem(itemBuilder().stacksTo(1))); //Spawn eggs - public static final DeferredItem RED_CHU_CHU_SPAWN_EGG = ITEMS.register("red_chu_chu_spawn_egg", () -> new DeferredSpawnEggItem(() -> ForceEntities.RED_CHU_CHU.get(), 15674931, 14483465, itemBuilder())); - public static final DeferredItem GREEN_CHU_CHU_SPAWN_EGG = ITEMS.register("green_chu_chu_spawn_egg", () -> new DeferredSpawnEggItem(() -> ForceEntities.GREEN_CHU_CHU.get(), 6539935, 3190138, itemBuilder())); - public static final DeferredItem BLUE_CHU_CHU_SPAWN_EGG = ITEMS.register("blue_chu_chu_spawn_egg", () -> new DeferredSpawnEggItem(() -> ForceEntities.BLUE_CHU_CHU.get(), 2450423, 16606, itemBuilder())); - public static final DeferredItem GOLD_CHU_CHU_SPAWN_EGG = ITEMS.register("gold_chu_chu_spawn_egg", () -> new DeferredSpawnEggItem(() -> ForceEntities.GOLD_CHU_CHU.get(), 14921786, 13670157, itemBuilder())); - public static final DeferredItem COLD_CHICKEN_SPAWN_EGG = ITEMS.register("cold_chicken_spawn_egg", () -> new DeferredSpawnEggItem(() -> ForceEntities.COLD_CHICKEN.get(), 10592673, 16711680, itemBuilder())); - public static final DeferredItem COLD_COW_SPAWN_EGG = ITEMS.register("cold_cow_spawn_egg", () -> new DeferredSpawnEggItem(() -> ForceEntities.COLD_COW.get(), 4470310, 10592673, itemBuilder())); - public static final DeferredItem COLD_PIG_SPAWN_EGG = ITEMS.register("cold_pig_spawn_egg", () -> new DeferredSpawnEggItem(() -> ForceEntities.COLD_PIG.get(), 15771042, 14377823, itemBuilder())); - public static final DeferredItem FAIRY_SPAWN_EGG = ITEMS.register("fairy_spawn_egg", () -> new DeferredSpawnEggItem(() -> ForceEntities.FAIRY.get(), 11395062, 12970232, itemBuilder())); - public static final DeferredItem CREEPER_TOT_SPAWN_EGG = ITEMS.register("creeper_tot_spawn_egg", () -> new DeferredSpawnEggItem(() -> ForceEntities.CREEPER_TOT.get(), 894731, 0, itemBuilder())); - public static final DeferredItem ENDER_TOT_SPAWN_EGG = ITEMS.register("ender_tot_spawn_egg", () -> new DeferredSpawnEggItem(() -> ForceEntities.ENDER_TOT.get(), 1447446, 0, itemBuilder())); - public static final DeferredItem ANGRY_ENDERMAN_SPAWN_EGG = ITEMS.register("angry_enderman_spawn_egg", () -> new DeferredSpawnEggItem(() -> ForceEntities.ANGRY_ENDERMAN.get(), 1447446, 0, itemBuilder())); + public static final DeferredItem RED_CHU_CHU_SPAWN_EGG = ITEMS.register("red_chu_chu_spawn_egg", () -> new DeferredSpawnEggItem(ForceEntities.RED_CHU_CHU, 15674931, 14483465, itemBuilder())); + public static final DeferredItem GREEN_CHU_CHU_SPAWN_EGG = ITEMS.register("green_chu_chu_spawn_egg", () -> new DeferredSpawnEggItem(ForceEntities.GREEN_CHU_CHU, 6539935, 3190138, itemBuilder())); + public static final DeferredItem BLUE_CHU_CHU_SPAWN_EGG = ITEMS.register("blue_chu_chu_spawn_egg", () -> new DeferredSpawnEggItem(ForceEntities.BLUE_CHU_CHU, 2450423, 16606, itemBuilder())); + public static final DeferredItem GOLD_CHU_CHU_SPAWN_EGG = ITEMS.register("gold_chu_chu_spawn_egg", () -> new DeferredSpawnEggItem(ForceEntities.GOLD_CHU_CHU, 14921786, 13670157, itemBuilder())); + public static final DeferredItem COLD_CHICKEN_SPAWN_EGG = ITEMS.register("cold_chicken_spawn_egg", () -> new DeferredSpawnEggItem(ForceEntities.COLD_CHICKEN, 10592673, 16711680, itemBuilder())); + public static final DeferredItem COLD_COW_SPAWN_EGG = ITEMS.register("cold_cow_spawn_egg", () -> new DeferredSpawnEggItem(ForceEntities.COLD_COW, 4470310, 10592673, itemBuilder())); + public static final DeferredItem COLD_PIG_SPAWN_EGG = ITEMS.register("cold_pig_spawn_egg", () -> new DeferredSpawnEggItem(ForceEntities.COLD_PIG, 15771042, 14377823, itemBuilder())); + public static final DeferredItem FAIRY_SPAWN_EGG = ITEMS.register("fairy_spawn_egg", () -> new DeferredSpawnEggItem(ForceEntities.FAIRY, 11395062, 12970232, itemBuilder())); + public static final DeferredItem CREEPER_TOT_SPAWN_EGG = ITEMS.register("creeper_tot_spawn_egg", () -> new DeferredSpawnEggItem(ForceEntities.CREEPER_TOT, 894731, 0, itemBuilder())); + public static final DeferredItem ENDER_TOT_SPAWN_EGG = ITEMS.register("ender_tot_spawn_egg", () -> new DeferredSpawnEggItem(ForceEntities.ENDER_TOT, 1447446, 0, itemBuilder())); + public static final DeferredItem ANGRY_ENDERMAN_SPAWN_EGG = ITEMS.register("angry_enderman_spawn_egg", () -> new DeferredSpawnEggItem(ForceEntities.ANGRY_ENDERMAN, 1447446, 0, itemBuilder())); /** diff --git a/src/main/java/com/mrbysco/forcecraft/registry/ForceTables.java b/src/main/java/com/mrbysco/forcecraft/registry/ForceTables.java index 3d5055b6..8f6eb30e 100644 --- a/src/main/java/com/mrbysco/forcecraft/registry/ForceTables.java +++ b/src/main/java/com/mrbysco/forcecraft/registry/ForceTables.java @@ -1,14 +1,16 @@ package com.mrbysco.forcecraft.registry; import com.mrbysco.forcecraft.Reference; -import net.minecraft.resources.ResourceLocation; +import net.minecraft.core.registries.Registries; +import net.minecraft.resources.ResourceKey; +import net.minecraft.world.level.storage.loot.LootTable; public class ForceTables { - public static final ResourceLocation TIER_1 = register("spoils/tier1"); - public static final ResourceLocation TIER_2 = register("spoils/tier2"); - public static final ResourceLocation TIER_3 = register("spoils/tier3"); + public static final ResourceKey TIER_1 = register("spoils/tier1"); + public static final ResourceKey TIER_2 = register("spoils/tier2"); + public static final ResourceKey TIER_3 = register("spoils/tier3"); - private static ResourceLocation register(String id) { - return Reference.modLoc(id); + private static ResourceKey register(String name) { + return ResourceKey.create(Registries.LOOT_TABLE, Reference.modLoc(name)); } } diff --git a/src/main/java/com/mrbysco/forcecraft/registry/ForceTags.java b/src/main/java/com/mrbysco/forcecraft/registry/ForceTags.java index 1f664d11..381094ba 100644 --- a/src/main/java/com/mrbysco/forcecraft/registry/ForceTags.java +++ b/src/main/java/com/mrbysco/forcecraft/registry/ForceTags.java @@ -15,7 +15,7 @@ public class ForceTags { - public static final TagKey NEEDS_FORCE_TOOL = forceBlockTag("needs_force_tool"); + public static final TagKey INCORRECT_FOR_FORCE = forceBlockTag("needs_force_tool"); public static final TagKey MINEABLE_WITH_MITTS = forceBlockTag("mineable_with_mitts"); public static final TagKey FORCE_BRICK = forceBlockTag("force_brick"); diff --git a/src/main/java/com/mrbysco/forcecraft/registry/material/ModArmor.java b/src/main/java/com/mrbysco/forcecraft/registry/material/ModArmor.java index 77c45178..aec0df4c 100644 --- a/src/main/java/com/mrbysco/forcecraft/registry/material/ModArmor.java +++ b/src/main/java/com/mrbysco/forcecraft/registry/material/ModArmor.java @@ -2,6 +2,10 @@ import com.mrbysco.forcecraft.Reference; import net.minecraft.Util; +import net.minecraft.core.Holder; +import net.minecraft.core.Registry; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundEvents; import net.minecraft.util.LazyLoadedValue; @@ -11,77 +15,46 @@ import net.minecraft.world.item.crafting.Ingredient; import java.util.EnumMap; +import java.util.List; import java.util.function.Supplier; -public enum ModArmor implements ArmorMaterial { - FORCE_ARMOR(Reference.MOD_ID + ":force", 15, Util.make(new EnumMap<>(ArmorItem.Type.class), (map) -> { - map.put(ArmorItem.Type.BOOTS, 3); - map.put(ArmorItem.Type.LEGGINGS, 4); - map.put(ArmorItem.Type.CHESTPLATE, 6); - map.put(ArmorItem.Type.HELMET, 3); - }), 0, SoundEvents.ARMOR_EQUIP_IRON, 4.0F, 0.1F, () -> { - return Ingredient.of(Items.NETHERITE_INGOT); - }); - - private final String name; - private final int durabilityMultiplier; - private final EnumMap protectionFunctionForType; - private final int enchantability; - private final SoundEvent soundEvent; - private final float toughness; - private final float knockbackResistance; - private final LazyLoadedValue repairMaterial; - private static final EnumMap HEALTH_FUNCTION_FOR_TYPE = Util.make(new EnumMap<>(ArmorItem.Type.class), (map) -> { - map.put(ArmorItem.Type.BOOTS, 13); - map.put(ArmorItem.Type.LEGGINGS, 15); - map.put(ArmorItem.Type.CHESTPLATE, 16); - map.put(ArmorItem.Type.HELMET, 11); - }); - - ModArmor(String name, int durabilityMultiplier, EnumMap protectionFunctionForType, int enchantability, SoundEvent soundEvent, float toughness, float knockbackResistance, Supplier repairMaterial) { - this.name = name; - this.durabilityMultiplier = durabilityMultiplier; - this.protectionFunctionForType = protectionFunctionForType; - this.enchantability = enchantability; - this.soundEvent = soundEvent; - this.toughness = toughness; - this.knockbackResistance = knockbackResistance; - this.repairMaterial = new LazyLoadedValue<>(repairMaterial); - } - - public int getDurabilityForType(ArmorItem.Type type) { - return HEALTH_FUNCTION_FOR_TYPE.get(type) * this.durabilityMultiplier; - } - - public int getDefenseForType(ArmorItem.Type type) { - return this.protectionFunctionForType.get(type); - } - - public int getEnchantmentValue() { - return this.enchantability; - } - - public SoundEvent getEquipSound() { - return this.soundEvent; - } - - public Ingredient getRepairIngredient() { - return this.repairMaterial.get(); - } - - - public String getName() { - return this.name; - } - - public float getToughness() { - return this.toughness; - } - - /** - * Gets the percentage of knockback resistance provided by armor of the material. - */ - public float getKnockbackResistance() { - return this.knockbackResistance; +public class ModArmor { + + public static final Holder FORCE = register( + "force", + Util.make(new EnumMap<>(ArmorItem.Type.class), map -> { + map.put(ArmorItem.Type.BOOTS, 3); + map.put(ArmorItem.Type.LEGGINGS, 4); + map.put(ArmorItem.Type.CHESTPLATE, 6); + map.put(ArmorItem.Type.HELMET, 3); + map.put(ArmorItem.Type.BODY, 6); + }), + 0, + SoundEvents.ARMOR_EQUIP_IRON, + 4.0F, + 0.1F, + () -> Ingredient.of(Items.NETHERITE_INGOT) + ); + + private static Holder register(String string, EnumMap enumMap, int i, + Holder arg, float f, float g, + Supplier supplier) { + List list = List.of(new ArmorMaterial.Layer(Reference.modLoc(string))); + return register(string, enumMap, i, arg, f, g, supplier, list); + } + + private static Holder register(String string, EnumMap enumMap, int i, + Holder arg, float f, float g, + Supplier supplier, List list) { + EnumMap typeIntegerEnumMap = new EnumMap<>(ArmorItem.Type.class); + ArmorItem.Type[] values = ArmorItem.Type.values(); + int var10 = values.length; + + for (int var11 = 0; var11 < var10; ++var11) { + ArmorItem.Type type = values[var11]; + typeIntegerEnumMap.put(type, (Integer) enumMap.get(type)); + } + + return Registry.registerForHolder(BuiltInRegistries.ARMOR_MATERIAL, Reference.modLoc(string), new ArmorMaterial(typeIntegerEnumMap, i, arg, supplier, list, f, g)); } } diff --git a/src/main/java/com/mrbysco/forcecraft/registry/material/ModToolTiers.java b/src/main/java/com/mrbysco/forcecraft/registry/material/ModToolTiers.java index 87f6e3ef..06f4eb54 100644 --- a/src/main/java/com/mrbysco/forcecraft/registry/material/ModToolTiers.java +++ b/src/main/java/com/mrbysco/forcecraft/registry/material/ModToolTiers.java @@ -1,19 +1,12 @@ package com.mrbysco.forcecraft.registry.material; -import com.mrbysco.forcecraft.Reference; import com.mrbysco.forcecraft.registry.ForceRegistry; import com.mrbysco.forcecraft.registry.ForceTags; -import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.Tier; -import net.minecraft.world.item.Tiers; import net.minecraft.world.item.crafting.Ingredient; import net.neoforged.neoforge.common.SimpleTier; -import net.neoforged.neoforge.common.TierSortingRegistry; - -import java.util.List; public class ModToolTiers { - public static final Tier FORCE = TierSortingRegistry.registerTier( - new SimpleTier(3, 1561, 8.0F, 8.0F, 22, ForceTags.NEEDS_FORCE_TOOL, () -> Ingredient.of(ForceRegistry.FORCE_GEM.get())), - Reference.modLoc("force"), List.of(Tiers.IRON), List.of(Tiers.DIAMOND)); + public static final Tier FORCE = new SimpleTier(ForceTags.INCORRECT_FOR_FORCE, 1561, 8.0F, 8.0F, 22, + () -> Ingredient.of(ForceRegistry.FORCE_GEM)); } diff --git a/src/main/java/com/mrbysco/forcecraft/util/ForceUtils.java b/src/main/java/com/mrbysco/forcecraft/util/ForceUtils.java index fdd71098..a9c7dee9 100644 --- a/src/main/java/com/mrbysco/forcecraft/util/ForceUtils.java +++ b/src/main/java/com/mrbysco/forcecraft/util/ForceUtils.java @@ -1,10 +1,13 @@ package com.mrbysco.forcecraft.util; import com.mrbysco.forcecraft.blocks.flammable.ForceLogBlock; +import net.minecraft.ChatFormatting; import net.minecraft.client.Minecraft; import net.minecraft.client.multiplayer.ClientPacketListener; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.core.GlobalPos; +import net.minecraft.network.chat.Component; import net.minecraft.network.protocol.game.ClientboundBlockUpdatePacket; import net.minecraft.network.protocol.game.ServerboundPlayerActionPacket; import net.minecraft.server.level.ServerLevel; @@ -242,4 +245,18 @@ public static void teleportTo(LivingEntity living, double x, double y, double z) } } + public static void teleportPlayerToLocation(Player player, GlobalPos globalPos) { + if (player.level().dimension().location().equals(globalPos.dimension().location())) { + BlockPos pos = globalPos.pos(); + int x = pos.getX(); + int y = pos.getY() + 1; + int z = pos.getZ(); + + ForceUtils.teleportToLocation(player, x, y, z, true); + } else { + if (!player.level().isClientSide) { + player.sendSystemMessage(Component.translatable("forcecraft.ender_rod.dimension.text").withStyle(ChatFormatting.YELLOW)); + } + } + } } diff --git a/src/main/java/com/mrbysco/forcecraft/util/MobUtil.java b/src/main/java/com/mrbysco/forcecraft/util/MobUtil.java index dfe750b8..22466934 100644 --- a/src/main/java/com/mrbysco/forcecraft/util/MobUtil.java +++ b/src/main/java/com/mrbysco/forcecraft/util/MobUtil.java @@ -1,22 +1,21 @@ package com.mrbysco.forcecraft.util; -import com.mrbysco.forcecraft.attachment.playermodifier.PlayerModifierAttachment; +import com.mrbysco.forcecraft.attachments.ForceAttachments; +import com.mrbysco.forcecraft.attachments.playermodifier.PlayerModifierAttachment; import com.mrbysco.forcecraft.registry.ForceEffects; import net.minecraft.world.effect.MobEffectInstance; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Player; -import static com.mrbysco.forcecraft.attachment.ForceAttachments.PLAYER_MOD; - public class MobUtil { private static final int BLEEDING_SECONDS = 20; public static void addBleedingEffect(int level, LivingEntity target, Entity trueSource) { int adjustedLevel = level; if (trueSource instanceof Player player) { - if (player.hasData(PLAYER_MOD)) { - PlayerModifierAttachment attachment = player.getData(PLAYER_MOD); + if (player.hasData(ForceAttachments.PLAYER_MOD)) { + PlayerModifierAttachment attachment = player.getData(ForceAttachments.PLAYER_MOD); if (attachment.hasBleeding()) { adjustedLevel += attachment.getBleedingLevel(); }