From 8dac7c190efaaaf796650ab35acb2c69092a262d Mon Sep 17 00:00:00 2001 From: dmzz-yyhyy Date: Sun, 2 Jun 2024 15:10:59 +0800 Subject: [PATCH 1/7] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=9F=BA=E6=9C=ACemi?= =?UTF-8?q?=E9=85=8D=E6=96=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../recipe/StampingRecipesLoader.java | 7 +- .../data/recipe/anvil/AnvilRecipe.java | 29 ++++- .../data/recipe/anvil/AnvilRecipeType.java | 18 ++++ .../data/recipe/anvil/predicate/HasItem.java | 1 + .../integration/emi/AnvilCraftEmiPlugin.java | 19 ++++ .../emi/AnvilCraftEmiRecipeTypes.java | 24 +++++ .../integration/emi/recipe/BaseEmiRecipe.java | 101 ++++++++++++++++++ .../emi/recipe/BaseItemEmiRecipe.java | 21 ++++ .../emi/recipe/StampingEmiRecipes.java | 22 ++++ .../emi/stack/BlockStateEmiStack.java | 2 +- .../integration/emi/ui/BlockWidget.java | 36 +++++++ .../anvilcraft/util/BlockStateRender.java | 3 +- .../textures/gui/container/emi/emi.png | Bin 0 -> 624 bytes .../recipes/boil/beef_mushroom_stew.json | 1 + .../anvilcraft/recipes/boil/slime_ball.json | 1 + .../data/anvilcraft/recipes/bone_block.json | 1 + .../recipes/bulging/brain_coral_block.json | 1 + .../recipes/bulging/bubble_coral_block.json | 1 + .../data/anvilcraft/recipes/bulging/clay.json | 1 + .../anvilcraft/recipes/bulging/dough.json | 1 + .../recipes/bulging/fermented_spider_eye.json | 1 + .../recipes/bulging/fire_coral_block.json | 1 + .../recipes/bulging/horn_coral_block.json | 1 + .../recipes/bulging/nether_wart_block.json | 1 + .../recipes/bulging/prismarine_cluster.json | 1 + .../recipes/bulging/tube_coral_block.json | 1 + .../recipes/bulging/warped_wart_block.json | 1 + .../recipes/bulging/wet_sponge.json | 1 + .../recipes/bulging_like/black_dye.json | 1 + .../recipes/bulging_like/blue_dye.json | 1 + .../recipes/bulging_like/brown_dye.json | 1 + .../recipes/bulging_like/cyan_dye.json | 1 + .../gravel_to_black_concrete.json | 1 + .../bulging_like/gravel_to_blue_concrete.json | 1 + .../gravel_to_brown_concrete.json | 1 + .../bulging_like/gravel_to_cyan_concrete.json | 1 + .../bulging_like/gravel_to_gray_concrete.json | 1 + .../gravel_to_green_concrete.json | 1 + .../gravel_to_light_blue_concrete.json | 1 + .../gravel_to_light_gray_concrete.json | 1 + .../bulging_like/gravel_to_lime_concrete.json | 1 + .../gravel_to_magenta_concrete.json | 1 + .../gravel_to_orange_concrete.json | 1 + .../bulging_like/gravel_to_pink_concrete.json | 1 + .../gravel_to_purple_concrete.json | 1 + .../bulging_like/gravel_to_red_concrete.json | 1 + .../gravel_to_reinforced_concrete_black.json | 1 + .../gravel_to_reinforced_concrete_blue.json | 1 + .../gravel_to_reinforced_concrete_brown.json | 1 + .../gravel_to_reinforced_concrete_cyan.json | 1 + .../gravel_to_reinforced_concrete_gray.json | 1 + .../gravel_to_reinforced_concrete_green.json | 1 + ...vel_to_reinforced_concrete_light_blue.json | 1 + ...vel_to_reinforced_concrete_light_gray.json | 1 + .../gravel_to_reinforced_concrete_lime.json | 1 + ...gravel_to_reinforced_concrete_magenta.json | 1 + .../gravel_to_reinforced_concrete_orange.json | 1 + .../gravel_to_reinforced_concrete_pink.json | 1 + .../gravel_to_reinforced_concrete_purple.json | 1 + .../gravel_to_reinforced_concrete_red.json | 1 + .../gravel_to_reinforced_concrete_white.json | 1 + .../gravel_to_reinforced_concrete_yellow.json | 1 + .../gravel_to_white_concrete.json | 1 + .../gravel_to_yellow_concrete.json | 1 + .../recipes/bulging_like/gray_dye.json | 1 + .../recipes/bulging_like/green_dye.json | 1 + .../recipes/bulging_like/light_blue_dye.json | 1 + .../recipes/bulging_like/light_gray_dye.json | 1 + .../recipes/bulging_like/lime_dye.json | 1 + .../recipes/bulging_like/lime_powder.json | 1 + .../recipes/bulging_like/magenta_dye.json | 1 + .../recipes/bulging_like/orange_dye.json | 1 + .../recipes/bulging_like/pink_dye.json | 1 + .../recipes/bulging_like/purple_dye.json | 1 + .../recipes/bulging_like/red_dye.json | 1 + .../recipes/bulging_like/white_dye.json | 1 + .../recipes/bulging_like/yellow_dye.json | 1 + .../recipes/cook/hardend_resin.json | 1 + .../data/anvilcraft/recipes/cook/utusan.json | 1 + .../recipes/daub/mossy_cobblestone.json | 1 + .../recipes/daub/mossy_stone_bricks.json | 1 + .../recipes/daub/waxed_copper_block.json | 1 + .../recipes/daub/waxed_cut_copper.json | 1 + .../recipes/daub/waxed_cut_copper_slab.json | 1 + .../recipes/daub/waxed_cut_copper_stairs.json | 1 + .../recipes/daub/waxed_exposed_copper.json | 1 + .../daub/waxed_exposed_cut_copper.json | 1 + .../daub/waxed_exposed_cut_copper_slab.json | 1 + .../daub/waxed_exposed_cut_copper_stairs.json | 1 + .../recipes/daub/waxed_oxidized_copper.json | 1 + .../daub/waxed_oxidized_cut_copper.json | 1 + .../daub/waxed_oxidized_cut_copper_slab.json | 1 + .../waxed_oxidized_cut_copper_stairs.json | 1 + .../recipes/daub/waxed_weathered_copper.json | 1 + .../daub/waxed_weathered_cut_copper.json | 1 + .../daub/waxed_weathered_cut_copper_slab.json | 1 + .../waxed_weathered_cut_copper_stairs.json | 1 + .../data/anvilcraft/recipes/flour.json | 1 + .../recipes/heating/brass_ingot.json | 1 + .../recipes/heating/brass_ingot_forge.json | 1 + .../recipes/heating/bronze_ingot.json | 1 + .../recipes/heating/bronze_ingot_forge.json | 1 + .../anvilcraft/recipes/heating/charcoal.json | 1 + .../recipes/heating/copper_block.json | 1 + .../anvilcraft/recipes/heating/diamond.json | 1 + .../recipes/heating/gold_block.json | 1 + .../recipes/heating/iron_block.json | 1 + .../recipes/heating/lava_cauldron_1.json | 1 + .../recipes/heating/lava_cauldron_2.json | 1 + .../recipes/heating/lava_cauldron_3.json | 1 + .../recipes/heating/lime_powder1.json | 1 + .../recipes/heating/lime_powder2.json | 1 + .../recipes/heating/lime_powder3.json | 1 + .../recipes/heating/lime_powder4.json | 1 + .../recipes/heating/lime_powder5.json | 1 + .../recipes/heating/lime_powder6.json | 1 + .../recipes/heating/melt_gem_cauldron.json | 6 +- .../recipes/heating/royal_steel_block.json | 1 + .../recipes/heating/royal_steel_ingot.json | 1 + .../recipes/heating/tempering_glass.json | 1 + .../item_inject/deepslate_copper_ore.json | 1 + .../item_inject/deepslate_gold_ore.json | 1 + .../item_inject/deepslate_iron_ore.json | 1 + .../item_inject/gilded_blackstone.json | 1 + .../recipes/item_inject/nether_gold_ore.json | 1 + .../reclaim/chainmail_boots_2_chain.json | 1 + .../reclaim/chainmail_chestplate_2_chain.json | 1 + .../reclaim/chainmail_helmet_2_chain.json | 1 + .../reclaim/chainmail_leggings_2_chain.json | 1 + .../reclaim/diamond_axe_2_diamond.json | 1 + .../reclaim/diamond_boots_2_diamond.json | 1 + .../reclaim/diamond_chestplate_2_diamond.json | 1 + .../reclaim/diamond_helmet_2_diamond.json | 1 + .../reclaim/diamond_hoe_2_diamond.json | 1 + .../diamond_horse_armor_2_diamond.json | 1 + .../reclaim/diamond_leggings_2_diamond.json | 1 + .../reclaim/diamond_pickaxe_2_diamond.json | 1 + .../reclaim/diamond_shovel_2_diamond.json | 1 + .../reclaim/diamond_sword_2_diamond.json | 1 + .../reclaim/golden_axe_2_gold_ingot.json | 1 + .../reclaim/golden_boots_2_gold_ingot.json | 1 + .../golden_chestplate_2_gold_ingot.json | 1 + .../reclaim/golden_helmet_2_gold_ingot.json | 1 + .../reclaim/golden_hoe_2_gold_ingot.json | 1 + .../golden_horse_armor_2_gold_ingot.json | 1 + .../reclaim/golden_leggings_2_gold_ingot.json | 1 + .../reclaim/golden_pickaxe_2_gold_ingot.json | 1 + .../reclaim/golden_shovel_2_gold_ingot.json | 1 + .../reclaim/golden_sword_2_gold_ingot.json | 1 + .../reclaim/iron_axe_2_iron_ingot.json | 1 + .../reclaim/iron_boots_2_iron_ingot.json | 1 + .../reclaim/iron_chestplate_2_iron_ingot.json | 1 + .../reclaim/iron_helmet_2_iron_ingot.json | 1 + .../reclaim/iron_hoe_2_iron_ingot.json | 1 + .../iron_horse_armor_2_iron_ingot.json | 1 + .../reclaim/iron_leggings_2_iron_ingot.json | 1 + .../reclaim/iron_pickaxe_2_iron_ingot.json | 1 + .../reclaim/iron_shovel_2_iron_ingot.json | 1 + .../reclaim/iron_sword_2_iron_ingot.json | 1 + .../recipes/sieving/black_sand.json | 1 + .../anvilcraft/recipes/sieving/cinerite.json | 1 + .../recipes/sieving/deepslate_chips.json | 1 + .../anvilcraft/recipes/sieving/end_dust.json | 1 + .../anvilcraft/recipes/sieving/gravel.json | 1 + .../anvilcraft/recipes/sieving/leaves.json | 1 + .../recipes/sieving/nether_dust.json | 1 + .../recipes/sieving/quartz_sand.json | 1 + .../anvilcraft/recipes/sieving/red_sand.json | 1 + .../data/anvilcraft/recipes/sieving/sand.json | 1 + .../anvilcraft/recipes/sieving/soul_sand.json | 1 + .../amethyst_block_2_amethyst_shard.json | 1 + .../recipes/smash/clay_2_clay_ball.json | 1 + .../dripstone_block_2_pointed_dripstone.json | 1 + .../smash/glowstone_2_glowstone_dust.json | 1 + .../hollow_magnet_block_2_magnet_ingot.json | 1 + .../smash/honey_block_2_honey_bottle.json | 1 + .../smash/honeycomb_block_2_honeycomb.json | 1 + .../smash/magnet_block_2_magnet_ingot.json | 1 + .../recipes/smash/melon_2_melon_slice.json | 1 + .../smash/prismarine_2_prismarine_shard.json | 1 + .../prismarine_bricks_2_prismarine_shard.json | 1 + .../recipes/smash/quartz_block_2_quartz.json | 1 + .../recipes/smash/snow_block_2_snowball.json | 1 + .../smash/wet_sponge_2_sponge_gemmule.json | 1 + .../recipes/smash_block/andesite.json | 1 + .../basalt_and_basalt_2_blackstone.json | 1 + .../recipes/smash_block/black_sand.json | 1 + .../recipes/smash_block/cinerite.json | 1 + .../smash_block/cracked_deepslate_bricks.json | 1 + .../smash_block/cracked_deepslate_tiles.json | 1 + .../smash_block/cracked_nether_bricks.json | 1 + .../cracked_polished_blackstone_bricks.json | 1 + .../smash_block/cracked_stone_bricks.json | 1 + .../recipes/smash_block/deepslate_chips.json | 1 + .../recipes/smash_block/diorite.json | 1 + .../recipes/smash_block/end_dust.json | 1 + .../recipes/smash_block/granite.json | 1 + .../recipes/smash_block/gravel.json | 1 + .../smash_block/ice_and_ice_2_packed_ice.json | 1 + .../smash_block/leaves_and_dirt_2_podzol.json | 1 + .../moss_block_and_dirt_2_grass_block.json | 1 + .../mushroom_block_and_dirt_2_mycelium.json | 1 + .../recipes/smash_block/nether_dust.json | 1 + ...block_and_netherrack_2_crimson_nylium.json | 1 + .../packed_ice_and_packed_ice_2_blue_ice.json | 1 + .../recipes/smash_block/quartz_sand.json | 1 + .../recipes/smash_block/red_sand.json | 1 + .../anvilcraft/recipes/smash_block/sand.json | 1 + .../recipes/smash_block/soul_sand.json | 1 + .../stone_and_stone_2_deepslate.json | 1 + ..._block_and_netherrack_2_warped_nylium.json | 1 + .../squeeze/magma_block_lava_cauldron_1.json | 1 + .../squeeze/magma_block_lava_cauldron_2.json | 1 + .../squeeze/magma_block_lava_cauldron_3.json | 1 + .../squeeze/moss_block_water_cauldron_1.json | 1 + .../squeeze/moss_block_water_cauldron_2.json | 1 + .../squeeze/moss_block_water_cauldron_3.json | 1 + .../snow_block_powder_snow_cauldron_1.json | 1 + .../snow_block_powder_snow_cauldron_2.json | 1 + .../snow_block_powder_snow_cauldron_3.json | 1 + .../squeeze/wet_sponge_water_cauldron_1.json | 1 + .../squeeze/wet_sponge_water_cauldron_2.json | 1 + .../squeeze/wet_sponge_water_cauldron_3.json | 1 + .../stamping/cherry_leaves_2_pink_petals.json | 1 + .../stamping/cocoa_beans_2_cocoa_butter.json | 1 + .../stamping/geode_2_amethyst_shard.json | 1 + ...ingot_2_light_weighted_pressure_plate.json | 1 + ...rt_of_the_sea_2_sea_heart_shell_shard.json | 1 + ...ingot_2_heavy_weighted_pressure_plate.json | 1 + .../recipes/stamping/logs_2_wood_fiber.json | 1 + .../recipes/stamping/milk_bucket_2_cream.json | 1 + ...smarine_cluster_2_prismarine_crystals.json | 1 + .../recipes/stamping/snowball_2_snow.json | 1 + .../recipes/stamping/sugar_cane_2_paper.json | 1 + .../recipes/stamping/wood_fiber_2_paper.json | 1 + .../anvilcraft/recipes/timewarp/amber.json | 1 + .../recipes/timewarp/amber_block.json | 1 + .../recipes/timewarp/ancient_debris.json | 1 + .../timewarp/ancient_debris_first.json | 1 + .../recipes/timewarp/budding_amethyst.json | 1 + .../anvilcraft/recipes/timewarp/calcite.json | 1 + .../anvilcraft/recipes/timewarp/coal.json | 1 + .../recipes/timewarp/crying_obsidian.json | 1 + .../anvilcraft/recipes/timewarp/dirt.json | 1 + .../recipes/timewarp/emerald_block.json | 1 + .../recipes/timewarp/end_stone.json | 1 + .../recipes/timewarp/mob_amber_block.json | 1 + .../timewarp/mob_amber_block_resentful.json | 1 + .../recipes/timewarp/raw_copper.json | 1 + .../anvilcraft/recipes/timewarp/raw_gold.json | 1 + .../anvilcraft/recipes/timewarp/raw_iron.json | 1 + .../recipes/timewarp/ruby_block.json | 1 + .../recipes/timewarp/sapphire_block.json | 1 + .../recipes/timewarp/sea_heart_shell.json | 1 + .../recipes/timewarp/soul_soil.json | 1 + .../recipes/timewarp/topaz_block.json | 1 + .../anvilcraft/recipes/timewarp/tuff.json | 1 + .../recipes/timewarp/wither_rose.json | 1 + .../recipes/boil/beef_mushroom_stew.json | 1 + .../anvilcraft/recipes/boil/slime_ball.json | 1 + .../data/anvilcraft/recipes/bone_block.json | 1 + .../recipes/bulging/brain_coral_block.json | 1 + .../recipes/bulging/bubble_coral_block.json | 1 + .../data/anvilcraft/recipes/bulging/clay.json | 1 + .../anvilcraft/recipes/bulging/dough.json | 1 + .../recipes/bulging/fermented_spider_eye.json | 1 + .../recipes/bulging/fire_coral_block.json | 1 + .../recipes/bulging/horn_coral_block.json | 1 + .../recipes/bulging/nether_wart_block.json | 1 + .../recipes/bulging/prismarine_cluster.json | 1 + .../recipes/bulging/tube_coral_block.json | 1 + .../recipes/bulging/warped_wart_block.json | 1 + .../recipes/bulging/wet_sponge.json | 1 + .../recipes/bulging_like/black_dye.json | 1 + .../recipes/bulging_like/blue_dye.json | 1 + .../recipes/bulging_like/brown_dye.json | 1 + .../recipes/bulging_like/cyan_dye.json | 1 + .../gravel_to_black_concrete.json | 1 + .../bulging_like/gravel_to_blue_concrete.json | 1 + .../gravel_to_brown_concrete.json | 1 + .../bulging_like/gravel_to_cyan_concrete.json | 1 + .../bulging_like/gravel_to_gray_concrete.json | 1 + .../gravel_to_green_concrete.json | 1 + .../gravel_to_light_blue_concrete.json | 1 + .../gravel_to_light_gray_concrete.json | 1 + .../bulging_like/gravel_to_lime_concrete.json | 1 + .../gravel_to_magenta_concrete.json | 1 + .../gravel_to_orange_concrete.json | 1 + .../bulging_like/gravel_to_pink_concrete.json | 1 + .../gravel_to_purple_concrete.json | 1 + .../bulging_like/gravel_to_red_concrete.json | 1 + .../gravel_to_reinforced_concrete_black.json | 1 + .../gravel_to_reinforced_concrete_blue.json | 1 + .../gravel_to_reinforced_concrete_brown.json | 1 + .../gravel_to_reinforced_concrete_cyan.json | 1 + .../gravel_to_reinforced_concrete_gray.json | 1 + .../gravel_to_reinforced_concrete_green.json | 1 + ...vel_to_reinforced_concrete_light_blue.json | 1 + ...vel_to_reinforced_concrete_light_gray.json | 1 + .../gravel_to_reinforced_concrete_lime.json | 1 + ...gravel_to_reinforced_concrete_magenta.json | 1 + .../gravel_to_reinforced_concrete_orange.json | 1 + .../gravel_to_reinforced_concrete_pink.json | 1 + .../gravel_to_reinforced_concrete_purple.json | 1 + .../gravel_to_reinforced_concrete_red.json | 1 + .../gravel_to_reinforced_concrete_white.json | 1 + .../gravel_to_reinforced_concrete_yellow.json | 1 + .../gravel_to_white_concrete.json | 1 + .../gravel_to_yellow_concrete.json | 1 + .../recipes/bulging_like/gray_dye.json | 1 + .../recipes/bulging_like/green_dye.json | 1 + .../recipes/bulging_like/light_blue_dye.json | 1 + .../recipes/bulging_like/light_gray_dye.json | 1 + .../recipes/bulging_like/lime_dye.json | 1 + .../recipes/bulging_like/lime_powder.json | 1 + .../recipes/bulging_like/magenta_dye.json | 1 + .../recipes/bulging_like/orange_dye.json | 1 + .../recipes/bulging_like/pink_dye.json | 1 + .../recipes/bulging_like/purple_dye.json | 1 + .../recipes/bulging_like/red_dye.json | 1 + .../recipes/bulging_like/white_dye.json | 1 + .../recipes/bulging_like/yellow_dye.json | 1 + .../recipes/cook/hardend_resin.json | 1 + .../data/anvilcraft/recipes/cook/utusan.json | 1 + .../recipes/daub/mossy_cobblestone.json | 1 + .../recipes/daub/mossy_stone_bricks.json | 1 + .../recipes/daub/waxed_copper_block.json | 1 + .../recipes/daub/waxed_cut_copper.json | 1 + .../recipes/daub/waxed_cut_copper_slab.json | 1 + .../recipes/daub/waxed_cut_copper_stairs.json | 1 + .../recipes/daub/waxed_exposed_copper.json | 1 + .../daub/waxed_exposed_cut_copper.json | 1 + .../daub/waxed_exposed_cut_copper_slab.json | 1 + .../daub/waxed_exposed_cut_copper_stairs.json | 1 + .../recipes/daub/waxed_oxidized_copper.json | 1 + .../daub/waxed_oxidized_cut_copper.json | 1 + .../daub/waxed_oxidized_cut_copper_slab.json | 1 + .../waxed_oxidized_cut_copper_stairs.json | 1 + .../recipes/daub/waxed_weathered_copper.json | 1 + .../daub/waxed_weathered_cut_copper.json | 1 + .../daub/waxed_weathered_cut_copper_slab.json | 1 + .../waxed_weathered_cut_copper_stairs.json | 1 + .../data/anvilcraft/recipes/flour.json | 1 + .../recipes/heating/brass_ingot.json | 1 + .../recipes/heating/brass_ingot_forge.json | 1 + .../recipes/heating/bronze_ingot.json | 1 + .../recipes/heating/bronze_ingot_forge.json | 1 + .../anvilcraft/recipes/heating/charcoal.json | 1 + .../recipes/heating/copper_block.json | 1 + .../anvilcraft/recipes/heating/diamond.json | 1 + .../recipes/heating/gold_block.json | 1 + .../recipes/heating/iron_block.json | 1 + .../recipes/heating/lava_cauldron_1.json | 1 + .../recipes/heating/lava_cauldron_2.json | 1 + .../recipes/heating/lava_cauldron_3.json | 1 + .../recipes/heating/lime_powder1.json | 1 + .../recipes/heating/lime_powder2.json | 1 + .../recipes/heating/lime_powder3.json | 1 + .../recipes/heating/lime_powder4.json | 1 + .../recipes/heating/lime_powder5.json | 1 + .../recipes/heating/lime_powder6.json | 1 + .../recipes/heating/melt_gem_cauldron.json | 6 +- .../recipes/heating/royal_steel_block.json | 1 + .../recipes/heating/royal_steel_ingot.json | 1 + .../recipes/heating/tempering_glass.json | 1 + .../item_inject/deepslate_copper_ore.json | 1 + .../item_inject/deepslate_gold_ore.json | 1 + .../item_inject/deepslate_iron_ore.json | 1 + .../item_inject/gilded_blackstone.json | 1 + .../recipes/item_inject/nether_gold_ore.json | 1 + .../reclaim/chainmail_boots_2_chain.json | 1 + .../reclaim/chainmail_chestplate_2_chain.json | 1 + .../reclaim/chainmail_helmet_2_chain.json | 1 + .../reclaim/chainmail_leggings_2_chain.json | 1 + .../reclaim/diamond_axe_2_diamond.json | 1 + .../reclaim/diamond_boots_2_diamond.json | 1 + .../reclaim/diamond_chestplate_2_diamond.json | 1 + .../reclaim/diamond_helmet_2_diamond.json | 1 + .../reclaim/diamond_hoe_2_diamond.json | 1 + .../diamond_horse_armor_2_diamond.json | 1 + .../reclaim/diamond_leggings_2_diamond.json | 1 + .../reclaim/diamond_pickaxe_2_diamond.json | 1 + .../reclaim/diamond_shovel_2_diamond.json | 1 + .../reclaim/diamond_sword_2_diamond.json | 1 + .../reclaim/golden_axe_2_gold_ingot.json | 1 + .../reclaim/golden_boots_2_gold_ingot.json | 1 + .../golden_chestplate_2_gold_ingot.json | 1 + .../reclaim/golden_helmet_2_gold_ingot.json | 1 + .../reclaim/golden_hoe_2_gold_ingot.json | 1 + .../golden_horse_armor_2_gold_ingot.json | 1 + .../reclaim/golden_leggings_2_gold_ingot.json | 1 + .../reclaim/golden_pickaxe_2_gold_ingot.json | 1 + .../reclaim/golden_shovel_2_gold_ingot.json | 1 + .../reclaim/golden_sword_2_gold_ingot.json | 1 + .../reclaim/iron_axe_2_iron_ingot.json | 1 + .../reclaim/iron_boots_2_iron_ingot.json | 1 + .../reclaim/iron_chestplate_2_iron_ingot.json | 1 + .../reclaim/iron_helmet_2_iron_ingot.json | 1 + .../reclaim/iron_hoe_2_iron_ingot.json | 1 + .../iron_horse_armor_2_iron_ingot.json | 1 + .../reclaim/iron_leggings_2_iron_ingot.json | 1 + .../reclaim/iron_pickaxe_2_iron_ingot.json | 1 + .../reclaim/iron_shovel_2_iron_ingot.json | 1 + .../reclaim/iron_sword_2_iron_ingot.json | 1 + .../recipes/sieving/black_sand.json | 1 + .../anvilcraft/recipes/sieving/cinerite.json | 1 + .../recipes/sieving/deepslate_chips.json | 1 + .../anvilcraft/recipes/sieving/end_dust.json | 1 + .../anvilcraft/recipes/sieving/gravel.json | 1 + .../anvilcraft/recipes/sieving/leaves.json | 1 + .../recipes/sieving/nether_dust.json | 1 + .../recipes/sieving/quartz_sand.json | 1 + .../anvilcraft/recipes/sieving/red_sand.json | 1 + .../data/anvilcraft/recipes/sieving/sand.json | 1 + .../anvilcraft/recipes/sieving/soul_sand.json | 1 + .../amethyst_block_2_amethyst_shard.json | 1 + .../recipes/smash/clay_2_clay_ball.json | 1 + .../dripstone_block_2_pointed_dripstone.json | 1 + .../smash/glowstone_2_glowstone_dust.json | 1 + .../hollow_magnet_block_2_magnet_ingot.json | 1 + .../smash/honey_block_2_honey_bottle.json | 1 + .../smash/honeycomb_block_2_honeycomb.json | 1 + .../smash/magnet_block_2_magnet_ingot.json | 1 + .../recipes/smash/melon_2_melon_slice.json | 1 + .../smash/prismarine_2_prismarine_shard.json | 1 + .../prismarine_bricks_2_prismarine_shard.json | 1 + .../recipes/smash/quartz_block_2_quartz.json | 1 + .../recipes/smash/snow_block_2_snowball.json | 1 + .../smash/wet_sponge_2_sponge_gemmule.json | 1 + .../recipes/smash_block/andesite.json | 1 + .../basalt_and_basalt_2_blackstone.json | 1 + .../recipes/smash_block/black_sand.json | 1 + .../recipes/smash_block/cinerite.json | 1 + .../smash_block/cracked_deepslate_bricks.json | 1 + .../smash_block/cracked_deepslate_tiles.json | 1 + .../smash_block/cracked_nether_bricks.json | 1 + .../cracked_polished_blackstone_bricks.json | 1 + .../smash_block/cracked_stone_bricks.json | 1 + .../recipes/smash_block/deepslate_chips.json | 1 + .../recipes/smash_block/diorite.json | 1 + .../recipes/smash_block/end_dust.json | 1 + .../recipes/smash_block/granite.json | 1 + .../recipes/smash_block/gravel.json | 1 + .../smash_block/ice_and_ice_2_packed_ice.json | 1 + .../smash_block/leaves_and_dirt_2_podzol.json | 1 + .../moss_block_and_dirt_2_grass_block.json | 1 + .../mushroom_block_and_dirt_2_mycelium.json | 1 + .../recipes/smash_block/nether_dust.json | 1 + ...block_and_netherrack_2_crimson_nylium.json | 1 + .../packed_ice_and_packed_ice_2_blue_ice.json | 1 + .../recipes/smash_block/quartz_sand.json | 1 + .../recipes/smash_block/red_sand.json | 1 + .../anvilcraft/recipes/smash_block/sand.json | 1 + .../recipes/smash_block/soul_sand.json | 1 + .../stone_and_stone_2_deepslate.json | 1 + ..._block_and_netherrack_2_warped_nylium.json | 1 + .../squeeze/magma_block_lava_cauldron_1.json | 1 + .../squeeze/magma_block_lava_cauldron_2.json | 1 + .../squeeze/magma_block_lava_cauldron_3.json | 1 + .../squeeze/moss_block_water_cauldron_1.json | 1 + .../squeeze/moss_block_water_cauldron_2.json | 1 + .../squeeze/moss_block_water_cauldron_3.json | 1 + .../snow_block_powder_snow_cauldron_1.json | 1 + .../snow_block_powder_snow_cauldron_2.json | 1 + .../snow_block_powder_snow_cauldron_3.json | 1 + .../squeeze/wet_sponge_water_cauldron_1.json | 1 + .../squeeze/wet_sponge_water_cauldron_2.json | 1 + .../squeeze/wet_sponge_water_cauldron_3.json | 1 + .../stamping/cherry_leaves_2_pink_petals.json | 1 + .../stamping/cocoa_beans_2_cocoa_butter.json | 1 + .../stamping/geode_2_amethyst_shard.json | 1 + ...ingot_2_light_weighted_pressure_plate.json | 1 + ...rt_of_the_sea_2_sea_heart_shell_shard.json | 1 + ...ingot_2_heavy_weighted_pressure_plate.json | 1 + .../recipes/stamping/logs_2_wood_fiber.json | 1 + .../recipes/stamping/milk_bucket_2_cream.json | 1 + ...smarine_cluster_2_prismarine_crystals.json | 1 + .../recipes/stamping/snowball_2_snow.json | 1 + .../recipes/stamping/sugar_cane_2_paper.json | 1 + .../recipes/stamping/wood_fiber_2_paper.json | 1 + .../anvilcraft/recipes/timewarp/amber.json | 1 + .../recipes/timewarp/amber_block.json | 1 + .../recipes/timewarp/ancient_debris.json | 1 + .../timewarp/ancient_debris_first.json | 1 + .../recipes/timewarp/budding_amethyst.json | 1 + .../anvilcraft/recipes/timewarp/calcite.json | 1 + .../anvilcraft/recipes/timewarp/coal.json | 1 + .../recipes/timewarp/crying_obsidian.json | 1 + .../anvilcraft/recipes/timewarp/dirt.json | 1 + .../recipes/timewarp/emerald_block.json | 1 + .../recipes/timewarp/end_stone.json | 1 + .../recipes/timewarp/mob_amber_block.json | 1 + .../timewarp/mob_amber_block_resentful.json | 1 + .../recipes/timewarp/raw_copper.json | 1 + .../anvilcraft/recipes/timewarp/raw_gold.json | 1 + .../anvilcraft/recipes/timewarp/raw_iron.json | 1 + .../recipes/timewarp/ruby_block.json | 1 + .../recipes/timewarp/sapphire_block.json | 1 + .../recipes/timewarp/sea_heart_shell.json | 1 + .../recipes/timewarp/soul_soil.json | 1 + .../recipes/timewarp/topaz_block.json | 1 + .../anvilcraft/recipes/timewarp/tuff.json | 1 + .../recipes/timewarp/wither_rose.json | 1 + 503 files changed, 769 insertions(+), 14 deletions(-) create mode 100644 common/src/main/java/dev/dubhe/anvilcraft/data/recipe/anvil/AnvilRecipeType.java create mode 100644 common/src/main/java/dev/dubhe/anvilcraft/integration/emi/AnvilCraftEmiRecipeTypes.java create mode 100644 common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/BaseEmiRecipe.java create mode 100644 common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/BaseItemEmiRecipe.java create mode 100644 common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/StampingEmiRecipes.java create mode 100644 common/src/main/java/dev/dubhe/anvilcraft/integration/emi/ui/BlockWidget.java create mode 100644 common/src/main/resources/assets/anvilcraft/textures/gui/container/emi/emi.png diff --git a/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/StampingRecipesLoader.java b/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/StampingRecipesLoader.java index 687da8d59..b3516e0a2 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/StampingRecipesLoader.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/StampingRecipesLoader.java @@ -8,6 +8,7 @@ import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipe.Builder; import dev.dubhe.anvilcraft.data.recipe.anvil.outcome.SelectOne; import dev.dubhe.anvilcraft.data.recipe.anvil.outcome.SpawnItem; +import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipeType; import dev.dubhe.anvilcraft.init.ModBlocks; import dev.dubhe.anvilcraft.init.ModItems; import net.minecraft.core.registries.BuiltInRegistries; @@ -125,7 +126,8 @@ private static void stamping(Item enter, RecipeItem... items) { if (StampingRecipesLoader.provider == null) return; Builder builder = AnvilRecipe.Builder.create(RecipeCategory.MISC) .hasBlock(ModBlocks.STAMPING_PLATFORM.get()) - .hasItemIngredient(new Vec3(0.0, -0.75, 0.0), enter); + .hasItemIngredient(new Vec3(0.0, -0.75, 0.0), enter) + .type(AnvilRecipeType.STAMPING); SelectOne selectOne = new SelectOne(); for (RecipeItem item : items) { if (item.isSelectOne()) { @@ -149,7 +151,8 @@ private static void stamping(TagKey enter, RecipeItem... items) { if (StampingRecipesLoader.provider == null) return; Builder builder = AnvilRecipe.Builder.create(RecipeCategory.MISC) .hasBlock(ModBlocks.STAMPING_PLATFORM.get()) - .hasItemIngredient(new Vec3(0.0, -0.75, 0.0), enter); + .hasItemIngredient(new Vec3(0.0, -0.75, 0.0), enter) + .type(AnvilRecipeType.STAMPING); SelectOne selectOne = new SelectOne(); for (RecipeItem item : items) { if (item.isSelectOne()) { diff --git a/common/src/main/java/dev/dubhe/anvilcraft/data/recipe/anvil/AnvilRecipe.java b/common/src/main/java/dev/dubhe/anvilcraft/data/recipe/anvil/AnvilRecipe.java index 565f648f0..4f08953e8 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/data/recipe/anvil/AnvilRecipe.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/data/recipe/anvil/AnvilRecipe.java @@ -20,6 +20,7 @@ import dev.dubhe.anvilcraft.data.recipe.anvil.predicate.NotHasBlock; import dev.dubhe.anvilcraft.util.IItemStackUtil; import lombok.Getter; +import lombok.Setter; import net.minecraft.advancements.Advancement; import net.minecraft.advancements.AdvancementRewards; import net.minecraft.advancements.CriterionTriggerInstance; @@ -67,6 +68,9 @@ public class AnvilRecipe implements Recipe { private final List outcomes = new ArrayList<>(); private final ItemStack icon; private final Map data = new HashMap<>(); + @Setter + @Getter + private AnvilRecipeType anvilRecipeType = AnvilRecipeType.NULL; public AnvilRecipe(ResourceLocation id, ItemStack icon) { this.id = id; @@ -159,6 +163,8 @@ public enum Serializer implements RecipeSerializer { icon = IItemStackUtil.fromJson(serializedRecipe.get("icon")); } AnvilRecipe recipe = new AnvilRecipe(recipeId, icon); + recipe.setAnvilRecipeType( + AnvilRecipeType.valueOf(serializedRecipe.getAsJsonPrimitive("anvil_recipe_type").getAsString().toUpperCase())); JsonArray predicates = GsonHelper.getAsJsonArray(serializedRecipe, "predicates"); for (JsonElement predicate : predicates) { if (!predicate.isJsonObject()) { @@ -179,6 +185,7 @@ public enum Serializer implements RecipeSerializer { @Override public @NotNull AnvilRecipe fromNetwork(@NotNull ResourceLocation recipeId, @NotNull FriendlyByteBuf buffer) { AnvilRecipe recipe = new AnvilRecipe(recipeId, buffer.readItem()); + recipe.setAnvilRecipeType(AnvilRecipeType.valueOf(buffer.readUtf().toUpperCase())); int size; size = buffer.readVarInt(); for (int i = 0; i < size; i++) { @@ -194,6 +201,7 @@ public enum Serializer implements RecipeSerializer { @Override public void toNetwork(@NotNull FriendlyByteBuf buffer, @NotNull AnvilRecipe recipe) { buffer.writeItem(recipe.icon); + buffer.writeUtf(recipe.anvilRecipeType.toString()); buffer.writeVarInt(recipe.predicates.size()); for (RecipePredicate predicate : recipe.predicates) { predicate.toNetwork(buffer); @@ -215,6 +223,8 @@ public static class Builder implements RecipeBuilder { private final Advancement.Builder advancement = Advancement.Builder.recipeAdvancement(); @Nullable private String group = null; + @Getter + private AnvilRecipeType anvilRecipeType = AnvilRecipeType.NULL; private Builder(RecipeCategory category, ItemStack icon) { this.category = category; @@ -239,6 +249,11 @@ private Builder(RecipeCategory category, ItemStack icon) { return this; } + public @NotNull Builder type(AnvilRecipeType type) { + this.anvilRecipeType = type; + return this; + } + public @NotNull Builder addPredicates(RecipePredicate... predicates) { this.predicates.addAll(Arrays.stream(predicates).toList()); return this; @@ -722,11 +737,13 @@ public void save(@NotNull Consumer finishedRecipeConsumer, @NotN this.outcomes, null == this.group ? "" : this.group, this.advancement, - recipeId.withPrefix("recipes/" + this.category.getFolderName() + "/") + recipeId.withPrefix("recipes/" + this.category.getFolderName() + "/"), + this.anvilRecipeType ) ); } + @SuppressWarnings("LombokGetterMayBeUsed") static class Result implements FinishedRecipe { @Getter private final ResourceLocation id; @@ -738,6 +755,8 @@ static class Result implements FinishedRecipe { private final Advancement.Builder advancement; @Getter private final ResourceLocation advancementId; + @Getter + private final AnvilRecipeType anvilRecipeType; Result( ResourceLocation id, @@ -746,7 +765,8 @@ static class Result implements FinishedRecipe { NonNullList outcomes, String group, Advancement.Builder advancement, - ResourceLocation advancementId + ResourceLocation advancementId, + AnvilRecipeType anvilRecipeType ) { this.id = id; this.icon = icon; @@ -755,6 +775,7 @@ static class Result implements FinishedRecipe { this.advancement = advancement; this.group = group; this.advancementId = advancementId; + this.anvilRecipeType = anvilRecipeType; } @Override @@ -762,6 +783,7 @@ public void serializeRecipeData(@NotNull JsonObject json) { if (!this.group.isEmpty()) { json.addProperty("group", this.group); } + json.addProperty("anvil_recipe_type", this.anvilRecipeType.toString()); json.add("icon", IItemStackUtil.toJson(this.icon)); JsonArray predicates = new JsonArray(); for (RecipePredicate predicate : this.predicates) { @@ -789,7 +811,8 @@ public JsonObject serializeAdvancement() { } public enum Type implements RecipeType { - INSTANCE + INSTANCE, + STAMPING } /** diff --git a/common/src/main/java/dev/dubhe/anvilcraft/data/recipe/anvil/AnvilRecipeType.java b/common/src/main/java/dev/dubhe/anvilcraft/data/recipe/anvil/AnvilRecipeType.java new file mode 100644 index 000000000..6b3b34c1c --- /dev/null +++ b/common/src/main/java/dev/dubhe/anvilcraft/data/recipe/anvil/AnvilRecipeType.java @@ -0,0 +1,18 @@ +package dev.dubhe.anvilcraft.data.recipe.anvil; + +import java.util.Arrays; + +public enum AnvilRecipeType { + NULL("null"), + STAMPING("stamping"); + + private final String type; + + AnvilRecipeType(String type) { + this.type = type; + } + + public String toString() { + return this.type; + } +} diff --git a/common/src/main/java/dev/dubhe/anvilcraft/data/recipe/anvil/predicate/HasItem.java b/common/src/main/java/dev/dubhe/anvilcraft/data/recipe/anvil/predicate/HasItem.java index 22735d1d2..bd12b911c 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/data/recipe/anvil/predicate/HasItem.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/data/recipe/anvil/predicate/HasItem.java @@ -47,6 +47,7 @@ public class HasItem implements RecipePredicate, HasData { @Getter private final String type = "has_item"; protected final Vec3 offset; + @Getter protected final ModItemPredicate matchItem; protected String path = null; @Getter diff --git a/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/AnvilCraftEmiPlugin.java b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/AnvilCraftEmiPlugin.java index b8b8faaa2..f1c73f60e 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/AnvilCraftEmiPlugin.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/AnvilCraftEmiPlugin.java @@ -1,11 +1,20 @@ package dev.dubhe.anvilcraft.integration.emi; +import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipe; +import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipeMap; +import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipeType; +import dev.dubhe.anvilcraft.init.ModBlockTags; +import dev.dubhe.anvilcraft.init.ModBlocks; +import dev.dubhe.anvilcraft.init.ModRecipeTypes; +import dev.dubhe.anvilcraft.integration.emi.recipe.StampingEmiRecipes; import dev.dubhe.anvilcraft.integration.emi.stack.BlockStateEmiStack; import dev.emi.emi.api.EmiEntrypoint; import dev.emi.emi.api.EmiPlugin; import dev.emi.emi.api.EmiRegistry; import dev.emi.emi.api.stack.EmiStack; +import java.util.List; import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.world.item.crafting.RecipeManager; import net.minecraft.world.level.block.Block; @EmiEntrypoint @@ -16,5 +25,15 @@ public void register(EmiRegistry registry) { EmiStack stack = new BlockStateEmiStack(block.defaultBlockState()); registry.addEmiStack(stack); } + AnvilCraftEmiRecipeTypes.ALL.forEach((id, category) -> registry.addCategory(category)); + + registry.addWorkstation(AnvilCraftEmiRecipeTypes.STAMPING, EmiStack.of(ModBlocks.STAMPING_PLATFORM.get())); + + RecipeManager manager = registry.getRecipeManager(); + for (AnvilRecipe anvilRecipe : manager.getAllRecipesFor(ModRecipeTypes.ANVIL_RECIPE)) { + switch (anvilRecipe.getAnvilRecipeType()) { + case STAMPING -> registry.addRecipe(new StampingEmiRecipes(anvilRecipe)); + } + } } } diff --git a/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/AnvilCraftEmiRecipeTypes.java b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/AnvilCraftEmiRecipeTypes.java new file mode 100644 index 000000000..7dfe9949f --- /dev/null +++ b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/AnvilCraftEmiRecipeTypes.java @@ -0,0 +1,24 @@ +package dev.dubhe.anvilcraft.integration.emi; + +import dev.dubhe.anvilcraft.AnvilCraft; +import dev.dubhe.anvilcraft.init.ModBlocks; +import dev.emi.emi.api.recipe.EmiRecipeCategory; +import dev.emi.emi.api.render.EmiRenderable; +import dev.emi.emi.api.stack.EmiStack; +import java.util.LinkedHashMap; +import java.util.Map; +import net.minecraft.resources.ResourceLocation; + +public class AnvilCraftEmiRecipeTypes { + + public static final Map ALL = new LinkedHashMap<>(); + + public static final EmiRecipeCategory STAMPING = register("milling", EmiStack.of(ModBlocks.STAMPING_PLATFORM)); + + private static EmiRecipeCategory register(String name, EmiRenderable icon) { + ResourceLocation id = AnvilCraft.of(name); + EmiRecipeCategory category = new EmiRecipeCategory(id, icon); + ALL.put(id, category); + return category; + } +} diff --git a/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/BaseEmiRecipe.java b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/BaseEmiRecipe.java new file mode 100644 index 000000000..525258420 --- /dev/null +++ b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/BaseEmiRecipe.java @@ -0,0 +1,101 @@ +package dev.dubhe.anvilcraft.integration.emi.recipe; + +import dev.dubhe.anvilcraft.AnvilCraft; +import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipe; +import dev.dubhe.anvilcraft.data.recipe.anvil.outcome.SpawnItem; +import dev.dubhe.anvilcraft.data.recipe.anvil.predicate.HasItem; +import dev.dubhe.anvilcraft.integration.emi.ui.BlockWidget; +import dev.emi.emi.api.recipe.EmiRecipe; +import dev.emi.emi.api.recipe.EmiRecipeCategory; +import dev.emi.emi.api.stack.EmiIngredient; +import dev.emi.emi.api.stack.EmiStack; +import dev.emi.emi.api.widget.WidgetHolder; +import dev.emi.emi.registry.EmiTags; +import java.util.ArrayList; +import java.util.List; +import lombok.Getter; +import net.minecraft.core.Direction; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.level.block.AnvilBlock; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.state.BlockState; + + +@Getter +public abstract class BaseEmiRecipe implements EmiRecipe { + public final ResourceLocation EMI_GUI_TEXTURES = AnvilCraft.of("textures/gui/container/emi/emi.png"); + + protected EmiRecipeCategory category; + protected final AnvilRecipe recipe; + protected List inputs = new ArrayList<>(); + protected List outputs = new ArrayList<>(); + protected ResourceLocation id; + protected int width; + protected int height; + + public BaseEmiRecipe(EmiRecipeCategory category, AnvilRecipe recipe, int width, int height) { + this.category = category; + this.recipe = recipe; + this.id = recipe.getId(); + this.width = width; + this.height = height; + recipe.getPredicates().forEach(ingredient -> { + if (ingredient instanceof HasItem hasItem) { + hasItem.getMatchItem().getItems().forEach(item -> inputs.add(EmiStack.of(item))); + if (hasItem.getMatchItem().getTag() != null) + inputs.addAll(EmiTags.getValues(hasItem.getMatchItem().getTag())); + } + }); + recipe.getOutcomes().forEach(recipeOutcome -> { + if (recipeOutcome instanceof SpawnItem spawnItem) { + outputs.add(EmiStack.of(spawnItem.getResult())); + } + }); + } + + @Override + public int getDisplayWidth() { + return width; + } + + @Override + public int getDisplayHeight() { + return height; + } + + @Override + public abstract void addWidgets(WidgetHolder widgets); + + protected void addBendArrow(WidgetHolder widgets, int x, int y) { + widgets.addTexture(EMI_GUI_TEXTURES, x, y, 17, 9, 0, 29); + } + + protected void addStraightArrow(WidgetHolder widgets, int x, int y) { + widgets.addTexture(EMI_GUI_TEXTURES, x, y, 9, 9, 10, 19); + } + + protected void addChangeSlot(WidgetHolder widgets, int x, int y) { + widgets.addTexture(EMI_GUI_TEXTURES, x, y, 18, 18, 19, 0); + } + + protected void addSelectSlot(WidgetHolder widgets, int x, int y) { + widgets.addTexture(EMI_GUI_TEXTURES, x, y, 18, 18, 38, 0); + } + + protected void addSimpleSlot(WidgetHolder widgets, int x, int y) { + widgets.addTexture(EMI_GUI_TEXTURES, x, y, 18, 18, 0, 0); + } + + protected void addPlus(WidgetHolder widgets, int x, int y) { + widgets.addTexture(EMI_GUI_TEXTURES, x, y, 9, 9, 0, 19); + } + + protected void addAnvil(WidgetHolder widgets, int x, int y, int offsetY) { + widgets.addDrawable(x, y, 0, 0, new BlockWidget(Blocks.ANVIL.defaultBlockState().setValue( + AnvilBlock.FACING, Direction.WEST), offsetY)); + } + + protected void addBlock(WidgetHolder widgets, int x, int y, int offsetY, BlockState blockState) { + widgets.addDrawable(x, y, 11, 11, new BlockWidget(blockState, offsetY)); + } +} diff --git a/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/BaseItemEmiRecipe.java b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/BaseItemEmiRecipe.java new file mode 100644 index 000000000..90f03a5a4 --- /dev/null +++ b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/BaseItemEmiRecipe.java @@ -0,0 +1,21 @@ +package dev.dubhe.anvilcraft.integration.emi.recipe; + +import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipe; +import dev.emi.emi.api.recipe.EmiRecipeCategory; +import dev.emi.emi.api.widget.WidgetHolder; + +public abstract class BaseItemEmiRecipe extends BaseEmiRecipe { + public BaseItemEmiRecipe(EmiRecipeCategory category, + AnvilRecipe recipe) { + super(category, recipe, 240, 80); + } + + @Override + public void addWidgets(WidgetHolder widgets) { + addBendArrow(widgets, 75, 34); + addStraightArrow(widgets, 119, 34); + addPlus(widgets, 154, 34); + addSimpleSlot(widgets, 11, 11); + addSimpleSlot(widgets, 169, 11); + } +} diff --git a/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/StampingEmiRecipes.java b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/StampingEmiRecipes.java new file mode 100644 index 000000000..0a9067f5c --- /dev/null +++ b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/StampingEmiRecipes.java @@ -0,0 +1,22 @@ +package dev.dubhe.anvilcraft.integration.emi.recipe; + +import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipe; +import dev.dubhe.anvilcraft.init.ModBlocks; +import dev.dubhe.anvilcraft.integration.emi.AnvilCraftEmiRecipeTypes; +import dev.emi.emi.api.recipe.EmiRecipeCategory; +import dev.emi.emi.api.widget.WidgetHolder; + +public class StampingEmiRecipes extends BaseItemEmiRecipe { + public StampingEmiRecipes(AnvilRecipe recipe) { + super(AnvilCraftEmiRecipeTypes.STAMPING, recipe); + } + + @Override + public void addWidgets(WidgetHolder widgets) { + super.addWidgets(widgets); + addAnvil(widgets, 93, 39, -2); + addAnvil(widgets, 128, 39, -15); + addBlock(widgets, 93, 39, 0, ModBlocks.STAMPING_PLATFORM.getDefaultState()); + addBlock(widgets, 128, 39, 0, ModBlocks.STAMPING_PLATFORM.getDefaultState()); + } +} diff --git a/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/stack/BlockStateEmiStack.java b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/stack/BlockStateEmiStack.java index d0f871cd5..1134b6c33 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/stack/BlockStateEmiStack.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/stack/BlockStateEmiStack.java @@ -40,7 +40,7 @@ public ItemStack getItemStack() { @Override public void render(@NotNull GuiGraphics draw, int x, int y, float delta, int flags) { - BlockStateRender.render(this.state, draw, x, y); + BlockStateRender.render(this.state, draw, x, y, 16); } @Override diff --git a/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/ui/BlockWidget.java b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/ui/BlockWidget.java new file mode 100644 index 000000000..2273330bd --- /dev/null +++ b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/ui/BlockWidget.java @@ -0,0 +1,36 @@ +package dev.dubhe.anvilcraft.integration.emi.ui; + +import com.mojang.blaze3d.systems.RenderSystem; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; +import dev.dubhe.anvilcraft.util.BlockStateRender; +import dev.emi.emi.api.widget.DrawableWidget.DrawableWidgetConsumer; +import java.util.Random; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.client.renderer.ItemBlockRenderTypes; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.Sheets; +import net.minecraft.client.renderer.block.BlockRenderDispatcher; +import net.minecraft.client.renderer.texture.OverlayTexture; +import net.minecraft.client.resources.model.BakedModel; +import net.minecraft.core.BlockPos; +import net.minecraft.world.inventory.InventoryMenu; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.state.BlockState; + +public class BlockWidget implements DrawableWidgetConsumer { + private final BlockState blockState; + private final int offsetY; + + public BlockWidget(BlockState blockState, int offsetY) { + this.blockState = blockState; + this.offsetY = offsetY; + } + + @Override + public void render(GuiGraphics draw, int mouseX, int mouseY, float delta) { + BlockStateRender.render(blockState, draw, 0, offsetY, 25); + } +} diff --git a/common/src/main/java/dev/dubhe/anvilcraft/util/BlockStateRender.java b/common/src/main/java/dev/dubhe/anvilcraft/util/BlockStateRender.java index 0d7737922..d2a7fd39b 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/util/BlockStateRender.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/util/BlockStateRender.java @@ -15,11 +15,10 @@ public class BlockStateRender { /** * 渲染方块状态 */ - public static void render(BlockState state, @NotNull GuiGraphics draw, int x, int y) { + public static void render(BlockState state, @NotNull GuiGraphics draw, int x, int y, float p) { PoseStack poseStack = draw.pose(); poseStack.pushPose(); poseStack.translate(x, y, 150.0f); - float p = 16.0f; poseStack.scale(p, p, p); poseStack.mulPoseMatrix(new Matrix4f().scaling(1.0f, -1.0f, 1.0f)); ItemTransform transform = new ItemTransform( diff --git a/common/src/main/resources/assets/anvilcraft/textures/gui/container/emi/emi.png b/common/src/main/resources/assets/anvilcraft/textures/gui/container/emi/emi.png new file mode 100644 index 0000000000000000000000000000000000000000..9828a7cb7592bc32dcdf55b6d7e8e59b8df7cdc5 GIT binary patch literal 624 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K58911MRQ8&P5FjO4;u=vBoS#-wo>-L1;Fyx1 zl&avFo0y&&l$w}QS$Hzl2B=6Vz$e7DySuxnsOUe#q44nVW5I?*gRQN`m}? z|APR-=KV|d18sQZ>EaktaqG>E(|s)p0;~ZGzWlGRtl5$_>&&4um#VwAC~li=wUcS% z)tKBbv)rV=@BbT|yXO6hu-sLtIkNTrf3IEr@%KtMuga=;5B$jA%bM^z^lF){)h+ec(N)zv8}?obzrFVo zV_Bn4!)NdJWwP`8_ldF?cTu1 Xz}xrwTb7SV5y Date: Sun, 9 Jun 2024 21:23:09 +0800 Subject: [PATCH 2/7] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=9F=BA=E6=9C=ACemi?= =?UTF-8?q?=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../integration/emi/recipe/BaseEmiRecipe.java | 54 ++++++++++++++++++- .../emi/recipe/BaseItemEmiRecipe.java | 5 +- .../emi/recipe/StampingEmiRecipes.java | 4 +- .../anvilcraft/util/BlockStateRender.java | 10 ++-- 4 files changed, 62 insertions(+), 11 deletions(-) diff --git a/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/BaseEmiRecipe.java b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/BaseEmiRecipe.java index 699cc6f91..8d5a94df2 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/BaseEmiRecipe.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/BaseEmiRecipe.java @@ -4,14 +4,15 @@ import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipe; import dev.dubhe.anvilcraft.data.recipe.anvil.outcome.SpawnItem; import dev.dubhe.anvilcraft.data.recipe.anvil.predicate.HasItem; -import dev.dubhe.anvilcraft.integration.emi.ui.BlockWidget; import dev.emi.emi.api.recipe.EmiRecipe; import dev.emi.emi.api.recipe.EmiRecipeCategory; import dev.emi.emi.api.stack.EmiIngredient; import dev.emi.emi.api.stack.EmiStack; import dev.emi.emi.api.widget.WidgetHolder; import dev.emi.emi.registry.EmiTags; + import java.util.ArrayList; +import java.util.Iterator; import java.util.List; import lombok.Getter; import net.minecraft.core.Direction; @@ -19,12 +20,16 @@ import net.minecraft.world.level.block.AnvilBlock; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.Vec2; @Getter public abstract class BaseEmiRecipe implements EmiRecipe { public final ResourceLocation EMI_GUI_TEXTURES = AnvilCraft.of("textures/gui/container/emi/emi.png"); + protected final List inputVec2s = new ArrayList<>( + + ); protected final BlockState ANVIL_BLOCK_STATE = Blocks.ANVIL.defaultBlockState().setValue( AnvilBlock.FACING, Direction.WEST); protected EmiRecipeCategory category; @@ -84,11 +89,56 @@ protected void addSelectSlot(WidgetHolder widgets, int x, int y) { widgets.addTexture(EMI_GUI_TEXTURES, x, y, 18, 18, 38, 0); } - protected void addSimpleSlot(WidgetHolder widgets, int x, int y) { + protected void addSimpleSlot(EmiIngredient ingredient, int x, int y, WidgetHolder widgets) { widgets.addTexture(EMI_GUI_TEXTURES, x, y, 18, 18, 0, 0); + widgets.addSlot(ingredient, x, y); + } + + protected void addInputSlots(List ingredients, WidgetHolder widgets) { + List posLis = getSlotsPosLis(ingredients.size()); + Vec2 size = getSlotsComposeSize(ingredients.size()); + int x = ingredients.size() == 1 ? 41 : (int) ((26 - size.x / 2) + 11); + int y = (int) ((26 - size.y / 2) + 11); + Iterator ingredientIterator = ingredients.iterator(); + for (Vec2 vec2 : posLis) { + addSimpleSlot(ingredientIterator.next(), (int) (x + vec2.x), (int) (y + vec2.y), widgets); + } + } + + protected void addOutputs(List emiStacks, WidgetHolder widgets) { + List posLis = getSlotsPosLis(emiStacks.size()); + Vec2 size = getSlotsComposeSize(emiStacks.size()); + int x = emiStacks.size() == 1 ? 179 : (int) ((26 - size.x / 2) + 169); + int y = (int) ((26 - size.y / 2) + 11); + Iterator emiStackIterator = emiStacks.iterator(); + for (Vec2 vec2 : posLis) { + addSimpleSlot(emiStackIterator.next(), (int) (x + vec2.x), (int) (y + vec2.y), widgets); + } } protected void addPlus(WidgetHolder widgets, int x, int y) { widgets.addTexture(EMI_GUI_TEXTURES, x, y, 9, 9, 0, 19); } + + protected List getSlotsPosLis(int length) { + ArrayList vec2List = new ArrayList<>(); + final int modelNumber = length <= 4 ? 2 : 3; + for (int index = 0; index < length; index++) { + vec2List.add(new Vec2( + 20 * (index % modelNumber), + 20 * (int) ((float) index / modelNumber) + )); + } + return vec2List; + } + + protected Vec2 getSlotsComposeSize(int length) { + if (length <= 0) return Vec2.ZERO; + if (length == 1) return new Vec2(18, 18); + final int modelNumber = length <= 4 ? 2 : 3; + return new Vec2( + modelNumber * 20 + (modelNumber - 1) * 2, + (int) ((float) length / modelNumber) * 20 + ((int) ((float) length / modelNumber) - 1) * 2 + ); + } } diff --git a/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/BaseItemEmiRecipe.java b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/BaseItemEmiRecipe.java index 90f03a5a4..003df3ae2 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/BaseItemEmiRecipe.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/BaseItemEmiRecipe.java @@ -2,6 +2,7 @@ import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipe; import dev.emi.emi.api.recipe.EmiRecipeCategory; +import dev.emi.emi.api.stack.EmiIngredient; import dev.emi.emi.api.widget.WidgetHolder; public abstract class BaseItemEmiRecipe extends BaseEmiRecipe { @@ -15,7 +16,7 @@ public void addWidgets(WidgetHolder widgets) { addBendArrow(widgets, 75, 34); addStraightArrow(widgets, 119, 34); addPlus(widgets, 154, 34); - addSimpleSlot(widgets, 11, 11); - addSimpleSlot(widgets, 169, 11); + addInputSlots(inputs, widgets); + addOutputs(outputs, widgets); } } diff --git a/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/StampingEmiRecipes.java b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/StampingEmiRecipes.java index 66f0287a2..461cf2325 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/StampingEmiRecipes.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/StampingEmiRecipes.java @@ -18,11 +18,11 @@ public void addWidgets(WidgetHolder widgets) { super.addWidgets(widgets); widgets.addDrawable(93, 39, 0, 0, new BlockWidget( new BlockState[]{ANVIL_BLOCK_STATE, ModBlocks.STAMPING_PLATFORM.getDefaultState()}, - new Vec2[]{Vec2.ZERO, new Vec2(0, 2)} + new Vec2[]{new Vec2(0, 2), Vec2.ZERO} )); widgets.addDrawable(128, 39, 0, 0, new BlockWidget( new BlockState[]{ANVIL_BLOCK_STATE, ModBlocks.STAMPING_PLATFORM.getDefaultState()}, - new Vec2[]{Vec2.ZERO, new Vec2(0, 1)} + new Vec2[]{new Vec2(0, 1), Vec2.ZERO} )); } } diff --git a/common/src/main/java/dev/dubhe/anvilcraft/util/BlockStateRender.java b/common/src/main/java/dev/dubhe/anvilcraft/util/BlockStateRender.java index b01dc71d0..a74f822a7 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/util/BlockStateRender.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/util/BlockStateRender.java @@ -31,16 +31,16 @@ public static void renderBlocks( poseStack.pushPose(); poseStack.translate(0, 0, 150.0f); poseStack.scale(p, p, p); + poseStack.mulPoseMatrix(new Matrix4f().scaling(1.0f, -1.0f, 1.0f)); + ItemTransform transform = new ItemTransform( + new Vector3f(30, 210, 0), new Vector3f(0.925f, -0.8125f, 0), new Vector3f(0.625f) + ); + transform.apply(false, poseStack); Iterator blockPosesIterator = Arrays.stream(vec2s).iterator(); Vec2 vec2; for (BlockState state : states) { vec2 = blockPosesIterator.next(); poseStack.translate(vec2.x, vec2.y, 0); - poseStack.mulPoseMatrix(new Matrix4f().scaling(1.0f, -1.0f, 1.0f)); - ItemTransform transform = new ItemTransform( - new Vector3f(30, 210, 0), new Vector3f(0.925f, -0.8125f, 0), new Vector3f(0.625f) - ); - transform.apply(false, poseStack); Minecraft minecraft = Minecraft.getInstance(); BlockRenderDispatcher blockRenderer = minecraft.getBlockRenderer(); blockRenderer.renderSingleBlock( From 7e3ca441ba186ab52343c0eab1390109eb243c5e Mon Sep 17 00:00:00 2001 From: dmzz-yyhyy Date: Mon, 10 Jun 2024 00:43:42 +0800 Subject: [PATCH 3/7] =?UTF-8?q?=E5=AE=9E=E7=8E=B0SelectOne=E5=92=8CChangeI?= =?UTF-8?q?tem=E7=9A=84=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../recipe/SievingRecipesLoader.java | 8 +- .../data/recipe/anvil/AnvilRecipeType.java | 3 +- .../integration/emi/AnvilCraftEmiPlugin.java | 4 + .../emi/AnvilCraftEmiRecipeTypes.java | 3 + .../integration/emi/recipe/BaseEmiRecipe.java | 88 +++++------------- .../emi/recipe/BaseItemEmiRecipe.java | 92 ++++++++++++++++++- .../emi/recipe/SievingEmiRecipes.java | 30 ++++++ .../recipes/heating/melt_gem_cauldron.json | 6 +- .../recipes/sieving/black_sand.json | 2 +- .../anvilcraft/recipes/sieving/cinerite.json | 2 +- .../recipes/sieving/deepslate_chips.json | 2 +- .../anvilcraft/recipes/sieving/end_dust.json | 2 +- .../anvilcraft/recipes/sieving/gravel.json | 2 +- .../recipes/sieving/nether_dust.json | 2 +- .../recipes/sieving/quartz_sand.json | 2 +- .../anvilcraft/recipes/sieving/red_sand.json | 2 +- .../data/anvilcraft/recipes/sieving/sand.json | 2 +- .../anvilcraft/recipes/sieving/soul_sand.json | 2 +- .../recipes/heating/melt_gem_cauldron.json | 6 +- .../recipes/sieving/black_sand.json | 2 +- .../anvilcraft/recipes/sieving/cinerite.json | 2 +- .../recipes/sieving/deepslate_chips.json | 2 +- .../anvilcraft/recipes/sieving/end_dust.json | 2 +- .../anvilcraft/recipes/sieving/gravel.json | 2 +- .../recipes/sieving/nether_dust.json | 2 +- .../recipes/sieving/quartz_sand.json | 2 +- .../anvilcraft/recipes/sieving/red_sand.json | 2 +- .../data/anvilcraft/recipes/sieving/sand.json | 2 +- .../anvilcraft/recipes/sieving/soul_sand.json | 2 +- 29 files changed, 182 insertions(+), 98 deletions(-) create mode 100644 common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/SievingEmiRecipes.java diff --git a/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/SievingRecipesLoader.java b/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/SievingRecipesLoader.java index b39a49113..1a545b2e7 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/SievingRecipesLoader.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/SievingRecipesLoader.java @@ -3,6 +3,7 @@ import com.tterrag.registrate.providers.RegistrateRecipeProvider; import dev.dubhe.anvilcraft.AnvilCraft; import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipe; +import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipeType; import dev.dubhe.anvilcraft.init.ModBlocks; import dev.dubhe.anvilcraft.init.ModItems; import net.minecraft.core.registries.BuiltInRegistries; @@ -76,9 +77,10 @@ public static void sieving( RegistrateRecipeProvider provider, ItemLike item, Map.Entry @NotNull ... items ) { AnvilRecipe.Builder builder = AnvilRecipe.Builder.create(RecipeCategory.MISC) - .hasBlock(Blocks.SCAFFOLDING) - .hasItemIngredient(item) - .spawnItem(new Vec3(0.0, -1.0, 0.0), 0.5, item); + .type(AnvilRecipeType.SIEVING) + .hasBlock(Blocks.SCAFFOLDING) + .hasItemIngredient(item) + .spawnItem(new Vec3(0.0, -1.0, 0.0), 0.5, item); for (Map.Entry entry : items) { builder.spawnItem(new Vec3(0.0, -1.0, 0.0), entry.getValue(), entry.getKey()); } diff --git a/common/src/main/java/dev/dubhe/anvilcraft/data/recipe/anvil/AnvilRecipeType.java b/common/src/main/java/dev/dubhe/anvilcraft/data/recipe/anvil/AnvilRecipeType.java index 6b3b34c1c..1d6a54070 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/data/recipe/anvil/AnvilRecipeType.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/data/recipe/anvil/AnvilRecipeType.java @@ -4,7 +4,8 @@ public enum AnvilRecipeType { NULL("null"), - STAMPING("stamping"); + STAMPING("stamping"), + SIEVING("sieving"); private final String type; diff --git a/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/AnvilCraftEmiPlugin.java b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/AnvilCraftEmiPlugin.java index f1c73f60e..b6d75f240 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/AnvilCraftEmiPlugin.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/AnvilCraftEmiPlugin.java @@ -6,6 +6,7 @@ import dev.dubhe.anvilcraft.init.ModBlockTags; import dev.dubhe.anvilcraft.init.ModBlocks; import dev.dubhe.anvilcraft.init.ModRecipeTypes; +import dev.dubhe.anvilcraft.integration.emi.recipe.SievingEmiRecipes; import dev.dubhe.anvilcraft.integration.emi.recipe.StampingEmiRecipes; import dev.dubhe.anvilcraft.integration.emi.stack.BlockStateEmiStack; import dev.emi.emi.api.EmiEntrypoint; @@ -16,6 +17,7 @@ import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.world.item.crafting.RecipeManager; import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Blocks; @EmiEntrypoint public class AnvilCraftEmiPlugin implements EmiPlugin { @@ -28,11 +30,13 @@ public void register(EmiRegistry registry) { AnvilCraftEmiRecipeTypes.ALL.forEach((id, category) -> registry.addCategory(category)); registry.addWorkstation(AnvilCraftEmiRecipeTypes.STAMPING, EmiStack.of(ModBlocks.STAMPING_PLATFORM.get())); + registry.addWorkstation(AnvilCraftEmiRecipeTypes.SIEVING, EmiStack.of(Blocks.SCAFFOLDING)); RecipeManager manager = registry.getRecipeManager(); for (AnvilRecipe anvilRecipe : manager.getAllRecipesFor(ModRecipeTypes.ANVIL_RECIPE)) { switch (anvilRecipe.getAnvilRecipeType()) { case STAMPING -> registry.addRecipe(new StampingEmiRecipes(anvilRecipe)); + case SIEVING -> registry.addRecipe(new SievingEmiRecipes(anvilRecipe)); } } } diff --git a/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/AnvilCraftEmiRecipeTypes.java b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/AnvilCraftEmiRecipeTypes.java index 7dfe9949f..012cceaa4 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/AnvilCraftEmiRecipeTypes.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/AnvilCraftEmiRecipeTypes.java @@ -8,6 +8,7 @@ import java.util.LinkedHashMap; import java.util.Map; import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.level.block.Blocks; public class AnvilCraftEmiRecipeTypes { @@ -15,6 +16,8 @@ public class AnvilCraftEmiRecipeTypes { public static final EmiRecipeCategory STAMPING = register("milling", EmiStack.of(ModBlocks.STAMPING_PLATFORM)); + public static final EmiRecipeCategory SIEVING = register("sieving", EmiStack.of(Blocks.SCAFFOLDING)); + private static EmiRecipeCategory register(String name, EmiRenderable icon) { ResourceLocation id = AnvilCraft.of(name); EmiRecipeCategory category = new EmiRecipeCategory(id, icon); diff --git a/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/BaseEmiRecipe.java b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/BaseEmiRecipe.java index 8d5a94df2..b91eaef39 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/BaseEmiRecipe.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/BaseEmiRecipe.java @@ -2,17 +2,15 @@ import dev.dubhe.anvilcraft.AnvilCraft; import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipe; -import dev.dubhe.anvilcraft.data.recipe.anvil.outcome.SpawnItem; -import dev.dubhe.anvilcraft.data.recipe.anvil.predicate.HasItem; import dev.emi.emi.api.recipe.EmiRecipe; import dev.emi.emi.api.recipe.EmiRecipeCategory; import dev.emi.emi.api.stack.EmiIngredient; import dev.emi.emi.api.stack.EmiStack; +import dev.emi.emi.api.widget.GeneratedSlotWidget; +import dev.emi.emi.api.widget.SlotWidget; import dev.emi.emi.api.widget.WidgetHolder; -import dev.emi.emi.registry.EmiTags; import java.util.ArrayList; -import java.util.Iterator; import java.util.List; import lombok.Getter; import net.minecraft.core.Direction; @@ -20,22 +18,18 @@ import net.minecraft.world.level.block.AnvilBlock; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.phys.Vec2; @Getter public abstract class BaseEmiRecipe implements EmiRecipe { - public final ResourceLocation EMI_GUI_TEXTURES = AnvilCraft.of("textures/gui/container/emi/emi.png"); - - protected final List inputVec2s = new ArrayList<>( - - ); - protected final BlockState ANVIL_BLOCK_STATE = Blocks.ANVIL.defaultBlockState().setValue( + public static final ResourceLocation EMI_GUI_TEXTURES = AnvilCraft.of("textures/gui/container/emi/emi.png"); + protected static final BlockState ANVIL_BLOCK_STATE = Blocks.ANVIL.defaultBlockState().setValue( AnvilBlock.FACING, Direction.WEST); protected EmiRecipeCategory category; protected final AnvilRecipe recipe; protected List inputs = new ArrayList<>(); - protected List outputs = new ArrayList<>(); + protected ArrayList simpleOutputs = new ArrayList<>(); + protected ArrayList> selectOneItemList = new ArrayList<>(); protected ResourceLocation id; protected int width; protected int height; @@ -46,18 +40,6 @@ public BaseEmiRecipe(EmiRecipeCategory category, AnvilRecipe recipe, int width, this.id = recipe.getId(); this.width = width; this.height = height; - recipe.getPredicates().forEach(ingredient -> { - if (ingredient instanceof HasItem hasItem) { - hasItem.getMatchItem().getItems().forEach(item -> inputs.add(EmiStack.of(item))); - if (hasItem.getMatchItem().getTag() != null) - inputs.addAll(EmiTags.getValues(hasItem.getMatchItem().getTag())); - } - }); - recipe.getOutcomes().forEach(recipeOutcome -> { - if (recipeOutcome instanceof SpawnItem spawnItem) { - outputs.add(EmiStack.of(spawnItem.getResult())); - } - }); } @Override @@ -81,64 +63,38 @@ protected void addStraightArrow(WidgetHolder widgets, int x, int y) { widgets.addTexture(EMI_GUI_TEXTURES, x, y, 9, 9, 10, 19); } - protected void addChangeSlot(WidgetHolder widgets, int x, int y) { + protected void addChangeSlot(EmiIngredient ingredient, int x, int y, WidgetHolder widgets) { widgets.addTexture(EMI_GUI_TEXTURES, x, y, 18, 18, 19, 0); + widgets.add(new SlotWidget(ingredient, x, y).recipeContext(this)); } - protected void addSelectSlot(WidgetHolder widgets, int x, int y) { + protected void addSelectOneSlot(List emiStacks, int x, int y, WidgetHolder widgets) { + widgets.add(new GeneratedSlotWidget(random -> emiStacks.get(random.nextInt(emiStacks.size())), 1, x, y)); widgets.addTexture(EMI_GUI_TEXTURES, x, y, 18, 18, 38, 0); } protected void addSimpleSlot(EmiIngredient ingredient, int x, int y, WidgetHolder widgets) { widgets.addTexture(EMI_GUI_TEXTURES, x, y, 18, 18, 0, 0); - widgets.addSlot(ingredient, x, y); - } - - protected void addInputSlots(List ingredients, WidgetHolder widgets) { - List posLis = getSlotsPosLis(ingredients.size()); - Vec2 size = getSlotsComposeSize(ingredients.size()); - int x = ingredients.size() == 1 ? 41 : (int) ((26 - size.x / 2) + 11); - int y = (int) ((26 - size.y / 2) + 11); - Iterator ingredientIterator = ingredients.iterator(); - for (Vec2 vec2 : posLis) { - addSimpleSlot(ingredientIterator.next(), (int) (x + vec2.x), (int) (y + vec2.y), widgets); - } + widgets.add(new SlotWidget(ingredient, x, y)); } - protected void addOutputs(List emiStacks, WidgetHolder widgets) { - List posLis = getSlotsPosLis(emiStacks.size()); - Vec2 size = getSlotsComposeSize(emiStacks.size()); - int x = emiStacks.size() == 1 ? 179 : (int) ((26 - size.x / 2) + 169); - int y = (int) ((26 - size.y / 2) + 11); - Iterator emiStackIterator = emiStacks.iterator(); - for (Vec2 vec2 : posLis) { - addSimpleSlot(emiStackIterator.next(), (int) (x + vec2.x), (int) (y + vec2.y), widgets); + protected void addSlot(EmiIngredient ingredient, int x, int y, WidgetHolder widgets) { + if (ingredient.getChance() < 1) { + addChangeSlot(ingredient, x, y, widgets); + return; } + addSimpleSlot(ingredient, x, y, widgets); } protected void addPlus(WidgetHolder widgets, int x, int y) { widgets.addTexture(EMI_GUI_TEXTURES, x, y, 9, 9, 0, 19); } - protected List getSlotsPosLis(int length) { - ArrayList vec2List = new ArrayList<>(); - final int modelNumber = length <= 4 ? 2 : 3; - for (int index = 0; index < length; index++) { - vec2List.add(new Vec2( - 20 * (index % modelNumber), - 20 * (int) ((float) index / modelNumber) - )); - } - return vec2List; - } - - protected Vec2 getSlotsComposeSize(int length) { - if (length <= 0) return Vec2.ZERO; - if (length == 1) return new Vec2(18, 18); - final int modelNumber = length <= 4 ? 2 : 3; - return new Vec2( - modelNumber * 20 + (modelNumber - 1) * 2, - (int) ((float) length / modelNumber) * 20 + ((int) ((float) length / modelNumber) - 1) * 2 - ); + @Override + public List getOutputs() { + ArrayList list = new ArrayList<>(); + selectOneItemList.forEach(list::addAll); + list.addAll(simpleOutputs); + return list; } } diff --git a/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/BaseItemEmiRecipe.java b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/BaseItemEmiRecipe.java index 003df3ae2..843b3037b 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/BaseItemEmiRecipe.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/BaseItemEmiRecipe.java @@ -1,22 +1,110 @@ package dev.dubhe.anvilcraft.integration.emi.recipe; import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipe; +import dev.dubhe.anvilcraft.data.recipe.anvil.outcome.SelectOne; +import dev.dubhe.anvilcraft.data.recipe.anvil.outcome.SpawnItem; +import dev.dubhe.anvilcraft.data.recipe.anvil.predicate.HasItem; import dev.emi.emi.api.recipe.EmiRecipeCategory; import dev.emi.emi.api.stack.EmiIngredient; +import dev.emi.emi.api.stack.EmiStack; +import dev.emi.emi.api.stack.TagEmiIngredient; import dev.emi.emi.api.widget.WidgetHolder; +import net.minecraft.world.phys.Vec2; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; public abstract class BaseItemEmiRecipe extends BaseEmiRecipe { + public BaseItemEmiRecipe(EmiRecipeCategory category, AnvilRecipe recipe) { super(category, recipe, 240, 80); + recipe.getPredicates().forEach(ingredient -> { + if (ingredient instanceof HasItem hasItem && hasItem.getMatchItem().count.getMin() != null) { + if (hasItem.getMatchItem().getTag() != null) + inputs.add( + new TagEmiIngredient(hasItem.getMatchItem().getTag(), + hasItem.getMatchItem().count.getMin())); + else { + hasItem.getMatchItem().getItems().forEach(item -> inputs.add(EmiStack.of(item, + hasItem.getMatchItem().count.getMin()))); + } + } + }); + recipe.getOutcomes().forEach(recipeOutcome -> { + if (recipeOutcome instanceof SpawnItem spawnItem) { + simpleOutputs.add(EmiStack.of(spawnItem.getResult()).setChance((float) spawnItem.getChance())); + } else if (recipeOutcome instanceof SelectOne selectOne) { + ArrayList list = new ArrayList<>(); + selectOne.getOutcomes().forEach(recipeOutcome1 -> { + if (recipeOutcome1 instanceof SpawnItem spawnItem) { + list.add(EmiStack.of(spawnItem.getResult()) + .setChance((float) spawnItem.getChance())); + } + }); + selectOneItemList.add(list); + } + }); + } + + protected void addInputSlots(WidgetHolder widgets) { + List posLis = getSlotsPosLis(inputs.size()); + Vec2 size = getSlotsComposeSize(inputs.size()); + int x = inputs.size() == 1 ? 41 : (int) ((26 - size.x / 2) + 11); + int y = (int) ((26 - size.y / 2) + 11); + Iterator ingredientIterator = inputs.iterator(); + for (Vec2 vec2 : posLis) { + addSlot(ingredientIterator.next(), (int) (x + vec2.x), (int) (y + vec2.y), widgets); + } + } + + protected void addOutputs(WidgetHolder widgets) { + int outputSize = simpleOutputs.size() + selectOneItemList.size(); + List posLis = getSlotsPosLis(outputSize); + Vec2 composeSize = getSlotsComposeSize(outputSize); + int x = outputSize == 1 ? 179 : (int) ((26 - composeSize.x / 2) + 169); + int y = (int) ((26 - composeSize.y / 2) + 11); + Iterator emiStackIterator = simpleOutputs.iterator(); + Iterator> emiStackListIterator = selectOneItemList.iterator(); + for (Vec2 vec2 : posLis) { + if (emiStackIterator.hasNext()) { + addSlot(emiStackIterator.next(), (int) (x + vec2.x), (int) (y + vec2.y), widgets); + } else { + addSelectOneSlot(emiStackListIterator.next(), (int) (x + vec2.x), (int) (y + vec2.y), widgets); + } + } } + protected List getSlotsPosLis(int length) { + ArrayList vec2List = new ArrayList<>(); + final int modelNumber = length <= 4 ? 2 : 3; + for (int index = 0; index < length; index++) { + vec2List.add(new Vec2( + 20 * (index % modelNumber), + 20 * (int) ((float) index / modelNumber) + )); + } + return vec2List; + } + + protected Vec2 getSlotsComposeSize(int length) { + if (length <= 0) return Vec2.ZERO; + if (length == 1) return new Vec2(18, 18); + final int modelNumber = length <= 4 ? 2 : 3; + return new Vec2( + modelNumber * 20 + (modelNumber - 1) * 2, + (int) ((float) length / modelNumber) * 20 + ((int) ((float) length / modelNumber) - 1) * 2 + ); + } + + @Override public void addWidgets(WidgetHolder widgets) { addBendArrow(widgets, 75, 34); addStraightArrow(widgets, 119, 34); addPlus(widgets, 154, 34); - addInputSlots(inputs, widgets); - addOutputs(outputs, widgets); + addInputSlots(widgets); + addOutputs(widgets); } } diff --git a/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/SievingEmiRecipes.java b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/SievingEmiRecipes.java new file mode 100644 index 000000000..42d495b5d --- /dev/null +++ b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/SievingEmiRecipes.java @@ -0,0 +1,30 @@ +package dev.dubhe.anvilcraft.integration.emi.recipe; + +import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipe; +import dev.dubhe.anvilcraft.init.ModBlocks; +import dev.dubhe.anvilcraft.integration.emi.AnvilCraftEmiRecipeTypes; +import dev.dubhe.anvilcraft.integration.emi.ui.BlockWidget; +import dev.emi.emi.api.recipe.EmiRecipeCategory; +import dev.emi.emi.api.widget.WidgetHolder; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.Vec2; + +public class SievingEmiRecipes extends BaseItemEmiRecipe { + public SievingEmiRecipes(AnvilRecipe recipe) { + super(AnvilCraftEmiRecipeTypes.SIEVING, recipe); + } + + @Override + public void addWidgets(WidgetHolder widgets) { + super.addWidgets(widgets); + widgets.addDrawable(93, 39, 0, 0, new BlockWidget( + new BlockState[]{ANVIL_BLOCK_STATE, Blocks.SCAFFOLDING.defaultBlockState()}, + new Vec2[]{new Vec2(0, 2), Vec2.ZERO} + )); + widgets.addDrawable(128, 39, 0, 0, new BlockWidget( + new BlockState[]{ANVIL_BLOCK_STATE, Blocks.SCAFFOLDING.defaultBlockState()}, + new Vec2[]{new Vec2(0, 1), Vec2.ZERO} + )); + } +} diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/heating/melt_gem_cauldron.json b/fabric/src/generated/resources/data/anvilcraft/recipes/heating/melt_gem_cauldron.json index 96b25df7b..31909ed95 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/heating/melt_gem_cauldron.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/heating/melt_gem_cauldron.json @@ -55,10 +55,10 @@ "min": 1 }, "items": [ - "anvilcraft:sapphire_block", + "anvilcraft:topaz_block", "minecraft:emerald_block", - "anvilcraft:ruby_block", - "anvilcraft:topaz_block" + "anvilcraft:sapphire_block", + "anvilcraft:ruby_block" ] }, "offset": [ diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/sieving/black_sand.json b/fabric/src/generated/resources/data/anvilcraft/recipes/sieving/black_sand.json index f1aa56bd3..1e6db8517 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/sieving/black_sand.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/sieving/black_sand.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "sieving", "icon": { "item": "anvilcraft:black_sand" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/sieving/cinerite.json b/fabric/src/generated/resources/data/anvilcraft/recipes/sieving/cinerite.json index 35976a3e8..79e787852 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/sieving/cinerite.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/sieving/cinerite.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "sieving", "icon": { "item": "anvilcraft:cinerite" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/sieving/deepslate_chips.json b/fabric/src/generated/resources/data/anvilcraft/recipes/sieving/deepslate_chips.json index 880f5b95f..97f3e795a 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/sieving/deepslate_chips.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/sieving/deepslate_chips.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "sieving", "icon": { "item": "anvilcraft:deepslate_chips" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/sieving/end_dust.json b/fabric/src/generated/resources/data/anvilcraft/recipes/sieving/end_dust.json index f2960d602..4614447ee 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/sieving/end_dust.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/sieving/end_dust.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "sieving", "icon": { "item": "anvilcraft:end_dust" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/sieving/gravel.json b/fabric/src/generated/resources/data/anvilcraft/recipes/sieving/gravel.json index f2d954969..51bcf48b0 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/sieving/gravel.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/sieving/gravel.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "sieving", "icon": { "item": "minecraft:gravel" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/sieving/nether_dust.json b/fabric/src/generated/resources/data/anvilcraft/recipes/sieving/nether_dust.json index 0d64d335c..a0070bf0d 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/sieving/nether_dust.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/sieving/nether_dust.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "sieving", "icon": { "item": "anvilcraft:nether_dust" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/sieving/quartz_sand.json b/fabric/src/generated/resources/data/anvilcraft/recipes/sieving/quartz_sand.json index 97681a929..fa8c049e0 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/sieving/quartz_sand.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/sieving/quartz_sand.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "sieving", "icon": { "item": "anvilcraft:quartz_sand" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/sieving/red_sand.json b/fabric/src/generated/resources/data/anvilcraft/recipes/sieving/red_sand.json index 6f049f1be..f7d412ee5 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/sieving/red_sand.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/sieving/red_sand.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "sieving", "icon": { "item": "minecraft:red_sand" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/sieving/sand.json b/fabric/src/generated/resources/data/anvilcraft/recipes/sieving/sand.json index 3ab5b317c..55d1b1f84 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/sieving/sand.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/sieving/sand.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "sieving", "icon": { "item": "minecraft:sand" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/sieving/soul_sand.json b/fabric/src/generated/resources/data/anvilcraft/recipes/sieving/soul_sand.json index 9606f64df..c643e7b26 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/sieving/soul_sand.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/sieving/soul_sand.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "sieving", "icon": { "item": "minecraft:soul_sand" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/heating/melt_gem_cauldron.json b/forge/src/generated/resources/data/anvilcraft/recipes/heating/melt_gem_cauldron.json index 96b25df7b..31909ed95 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/heating/melt_gem_cauldron.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/heating/melt_gem_cauldron.json @@ -55,10 +55,10 @@ "min": 1 }, "items": [ - "anvilcraft:sapphire_block", + "anvilcraft:topaz_block", "minecraft:emerald_block", - "anvilcraft:ruby_block", - "anvilcraft:topaz_block" + "anvilcraft:sapphire_block", + "anvilcraft:ruby_block" ] }, "offset": [ diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/sieving/black_sand.json b/forge/src/generated/resources/data/anvilcraft/recipes/sieving/black_sand.json index f1aa56bd3..1e6db8517 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/sieving/black_sand.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/sieving/black_sand.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "sieving", "icon": { "item": "anvilcraft:black_sand" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/sieving/cinerite.json b/forge/src/generated/resources/data/anvilcraft/recipes/sieving/cinerite.json index 35976a3e8..79e787852 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/sieving/cinerite.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/sieving/cinerite.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "sieving", "icon": { "item": "anvilcraft:cinerite" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/sieving/deepslate_chips.json b/forge/src/generated/resources/data/anvilcraft/recipes/sieving/deepslate_chips.json index 880f5b95f..97f3e795a 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/sieving/deepslate_chips.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/sieving/deepslate_chips.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "sieving", "icon": { "item": "anvilcraft:deepslate_chips" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/sieving/end_dust.json b/forge/src/generated/resources/data/anvilcraft/recipes/sieving/end_dust.json index f2960d602..4614447ee 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/sieving/end_dust.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/sieving/end_dust.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "sieving", "icon": { "item": "anvilcraft:end_dust" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/sieving/gravel.json b/forge/src/generated/resources/data/anvilcraft/recipes/sieving/gravel.json index f2d954969..51bcf48b0 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/sieving/gravel.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/sieving/gravel.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "sieving", "icon": { "item": "minecraft:gravel" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/sieving/nether_dust.json b/forge/src/generated/resources/data/anvilcraft/recipes/sieving/nether_dust.json index 0d64d335c..a0070bf0d 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/sieving/nether_dust.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/sieving/nether_dust.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "sieving", "icon": { "item": "anvilcraft:nether_dust" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/sieving/quartz_sand.json b/forge/src/generated/resources/data/anvilcraft/recipes/sieving/quartz_sand.json index 97681a929..fa8c049e0 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/sieving/quartz_sand.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/sieving/quartz_sand.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "sieving", "icon": { "item": "anvilcraft:quartz_sand" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/sieving/red_sand.json b/forge/src/generated/resources/data/anvilcraft/recipes/sieving/red_sand.json index 6f049f1be..f7d412ee5 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/sieving/red_sand.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/sieving/red_sand.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "sieving", "icon": { "item": "minecraft:red_sand" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/sieving/sand.json b/forge/src/generated/resources/data/anvilcraft/recipes/sieving/sand.json index 3ab5b317c..55d1b1f84 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/sieving/sand.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/sieving/sand.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "sieving", "icon": { "item": "minecraft:sand" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/sieving/soul_sand.json b/forge/src/generated/resources/data/anvilcraft/recipes/sieving/soul_sand.json index 9606f64df..c643e7b26 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/sieving/soul_sand.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/sieving/soul_sand.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "sieving", "icon": { "item": "minecraft:soul_sand" }, From 8c9604b892b4239437beae670a81e98097888658 Mon Sep 17 00:00:00 2001 From: dmzz-yyhyy Date: Mon, 10 Jun 2024 18:26:17 +0800 Subject: [PATCH 4/7] =?UTF-8?q?=E5=AE=8C=E6=88=90emi=E9=85=8D=E6=96=B9?= =?UTF-8?q?=E6=B3=A8=E5=86=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data/generator/lang/EmiLang.java | 28 +++++ .../data/generator/lang/LangHandler.java | 1 + .../recipe/AnvilItemRecipesLoader.java | 14 --- ...ader.java => BlockSmashRecipesLoader.java} | 4 +- .../BulgingAndCrystallizeRecipesLoader.java | 88 ++++++++------ .../recipe/BulgingLikeRecipesLoader.java | 64 +++++++--- .../recipe/CompactionRecipesLoader.java | 2 + .../recipe/CompressRecipesLoader.java | 2 + .../recipe/CookingRecipesLoader.java | 3 + .../generator/recipe/HeaterRecipesLoader.java | 50 -------- .../recipe/ItemInjectRecipesLoader.java | 64 ++++------ .../recipe/ItemSmashRecipesLoader.java | 86 ++++++++++++++ .../data/generator/recipe/RecipesHandler.java | 8 +- .../recipe/SievingRecipesLoader.java | 78 ++++++------ .../generator/recipe/SmashRecipesLoader.java | 67 ----------- .../recipe/SqueezeRecipesLoader.java | 4 + .../recipe/StampingRecipesLoader.java | 30 +++-- .../recipe/SuperHeatingRecipesLoader.java | 40 +++++-- .../recipe/TimeWarpRecipesLoader.java | 20 +--- .../data/recipe/anvil/AnvilRecipe.java | 39 +++--- .../data/recipe/anvil/AnvilRecipeType.java | 27 ++++- .../data/recipe/anvil/predicate/HasBlock.java | 2 + .../dev/dubhe/anvilcraft/init/ModBlocks.java | 6 +- .../dev/dubhe/anvilcraft/init/ModItems.java | 5 +- .../integration/emi/AnvilCraftEmiPlugin.java | 111 +++++++++++++++--- .../emi/AnvilCraftEmiRecipeTypes.java | 21 +++- .../emi/recipe/BaseBlockEmiRecipe.java | 84 +++++++++++++ .../integration/emi/recipe/BaseEmiRecipe.java | 38 ++++-- .../emi/recipe/BaseItemEmiRecipe.java | 94 +++++++++++++-- .../emi/recipe/CompactionEmiRecipe.java | 34 ++++++ .../emi/recipe/CookingEmiRecipe.java | 22 ++++ .../emi/recipe/ItemInjectRecipe.java | 30 +++++ .../emi/recipe/SievingEmiRecipe.java | 16 +++ .../emi/recipe/SievingEmiRecipes.java | 30 ----- .../emi/recipe/StampingEmiRecipes.java | 28 ----- .../integration/emi/ui/BlockWidget.java | 8 +- .../textures/gui/container/emi/emi.png | Bin 624 -> 849 bytes .../assets/anvilcraft/lang/en_ud.json | 17 +++ .../assets/anvilcraft/lang/en_us.json | 19 ++- .../recipes/misc/bulging/wet_sponge.json | 18 +-- .../misc/crystallize}/prismarine_cluster.json | 4 +- ...raft_gem_blocks_to_melt_gem_cauldron.json} | 12 +- .../misc/heating/melt_gem_cauldron.json | 74 ------------ .../amethyst_block_to_amethyst_shard.json | 4 +- .../recipes/misc/smash/clay_to_clay_ball.json | 4 +- .../dripstone_block_to_pointed_dripstone.json | 4 +- .../smash/glowstone_to_glowstone_dust.json | 4 +- ... hollow_magnet_block_to_magnet_ingot.json} | 4 +- .../smash/honey_block_to_honey_bottle.json | 17 ++- .../smash/honeycomb_block_to_honeycomb.json | 4 +- .../smash/magnet_block_to_magnet_ingot.json | 4 +- .../misc/smash/melon_to_melon_slice.json | 4 +- ...rismarine_bricks_to_prismarine_shard.json} | 4 +- ...on => prismarine_to_prismarine_shard.json} | 4 +- .../misc/smash/quartz_block_to_quartz.json | 4 +- .../misc/smash/snow_block_to_snowball.json | 4 +- ...json => wet_sponge_to_sponge_gemmule.json} | 4 +- .../recipes/boil/beef_mushroom_stew.json | 2 +- .../anvilcraft/recipes/boil/slime_ball.json | 2 +- .../data/anvilcraft/recipes/bone_block.json | 2 +- .../recipes/bulging/brain_coral_block.json | 2 +- .../recipes/bulging/bubble_coral_block.json | 2 +- .../data/anvilcraft/recipes/bulging/clay.json | 2 +- .../anvilcraft/recipes/bulging/dough.json | 2 +- .../recipes/bulging/fermented_spider_eye.json | 2 +- .../recipes/bulging/fire_coral_block.json | 2 +- .../recipes/bulging/horn_coral_block.json | 2 +- .../recipes/bulging/nether_wart_block.json | 2 +- .../recipes/bulging/tube_coral_block.json | 2 +- .../recipes/bulging/warped_wart_block.json | 2 +- .../recipes/bulging/wet_sponge.json | 4 +- .../recipes/bulging_like/black_dye.json | 2 +- .../recipes/bulging_like/blue_dye.json | 2 +- .../recipes/bulging_like/brown_dye.json | 2 +- .../recipes/bulging_like/cyan_dye.json | 2 +- .../gravel_to_black_concrete.json | 2 +- .../bulging_like/gravel_to_blue_concrete.json | 2 +- .../gravel_to_brown_concrete.json | 2 +- .../bulging_like/gravel_to_cyan_concrete.json | 2 +- .../bulging_like/gravel_to_gray_concrete.json | 2 +- .../gravel_to_green_concrete.json | 2 +- .../gravel_to_light_blue_concrete.json | 2 +- .../gravel_to_light_gray_concrete.json | 2 +- .../bulging_like/gravel_to_lime_concrete.json | 2 +- .../gravel_to_magenta_concrete.json | 2 +- .../gravel_to_orange_concrete.json | 2 +- .../bulging_like/gravel_to_pink_concrete.json | 2 +- .../gravel_to_purple_concrete.json | 2 +- .../bulging_like/gravel_to_red_concrete.json | 2 +- .../gravel_to_reinforced_concrete_black.json | 2 +- .../gravel_to_reinforced_concrete_blue.json | 2 +- .../gravel_to_reinforced_concrete_brown.json | 2 +- .../gravel_to_reinforced_concrete_cyan.json | 2 +- .../gravel_to_reinforced_concrete_gray.json | 2 +- .../gravel_to_reinforced_concrete_green.json | 2 +- ...vel_to_reinforced_concrete_light_blue.json | 2 +- ...vel_to_reinforced_concrete_light_gray.json | 2 +- .../gravel_to_reinforced_concrete_lime.json | 2 +- ...gravel_to_reinforced_concrete_magenta.json | 2 +- .../gravel_to_reinforced_concrete_orange.json | 2 +- .../gravel_to_reinforced_concrete_pink.json | 2 +- .../gravel_to_reinforced_concrete_purple.json | 2 +- .../gravel_to_reinforced_concrete_red.json | 2 +- .../gravel_to_reinforced_concrete_white.json | 2 +- .../gravel_to_reinforced_concrete_yellow.json | 2 +- .../gravel_to_white_concrete.json | 2 +- .../gravel_to_yellow_concrete.json | 2 +- .../recipes/bulging_like/gray_dye.json | 2 +- .../recipes/bulging_like/green_dye.json | 2 +- .../recipes/bulging_like/light_blue_dye.json | 2 +- .../recipes/bulging_like/light_gray_dye.json | 2 +- .../recipes/bulging_like/lime_dye.json | 2 +- .../recipes/bulging_like/magenta_dye.json | 2 +- .../recipes/bulging_like/orange_dye.json | 2 +- .../recipes/bulging_like/pink_dye.json | 2 +- .../recipes/bulging_like/purple_dye.json | 2 +- .../recipes/bulging_like/red_dye.json | 2 +- .../recipes/bulging_like/white_dye.json | 2 +- .../recipes/bulging_like/yellow_dye.json | 2 +- .../recipes/cook/hardend_resin.json | 2 +- .../data/anvilcraft/recipes/cook/utusan.json | 2 +- .../prismarine_cluster.json | 2 +- .../anvilcraft_dead_tube_to_lime_powder.json | 2 +- ...craft_gem_blocks_to_melt_gem_cauldron.json | 12 +- .../c_stone_lime_powder_to_lava_cauldron.json | 4 +- .../heating/calcite_to_lime_powder.json | 2 +- .../heating/coal_block_to_diamond.json | 2 +- ...blestone_lime_powder_to_lava_cauldron.json | 4 +- .../heating/crab_claw_to_lime_powder.json | 2 +- .../dripstone_block_to_lime_powder.json | 2 +- ...ge_stone_lime_powder_to_lava_cauldron.json | 4 +- ..._anvilcraft_gems_to_royal_steel_ingot.json | 2 +- .../nautilus_shell_to_lime_powder.json | 2 +- .../pointed_dripstone_to_lime_powder.json | 2 +- ..._royal_steel_ingot_to_tempering_glass.json | 2 +- ...citor_to_magnet_ingot_capacitor_empty.json | 2 +- .../heating/wood_fiber_to_charcoal.json | 2 +- .../item_inject/deepslate_copper_ore.json | 2 +- .../item_inject/deepslate_gold_ore.json | 2 +- .../item_inject/deepslate_iron_ore.json | 2 +- .../item_inject/deepslate_lead_ore.json | 2 +- .../item_inject/deepslate_silver_ore.json | 2 +- .../item_inject/deepslate_tin_ore.json | 2 +- .../item_inject/deepslate_titanium_ore.json | 2 +- .../item_inject/deepslate_tungsten_ore.json | 2 +- .../item_inject/deepslate_uranium_ore.json | 2 +- .../item_inject/deepslate_zinc_ore.json | 2 +- .../item_inject/gilded_blackstone.json | 2 +- .../recipes/item_inject/nether_gold_ore.json | 2 +- .../reclaim/chainmail_boots_2_chain.json | 2 +- .../reclaim/chainmail_chestplate_2_chain.json | 2 +- .../reclaim/chainmail_helmet_2_chain.json | 2 +- .../reclaim/chainmail_leggings_2_chain.json | 2 +- .../reclaim/diamond_axe_2_diamond.json | 2 +- .../reclaim/diamond_boots_2_diamond.json | 2 +- .../reclaim/diamond_chestplate_2_diamond.json | 2 +- .../reclaim/diamond_helmet_2_diamond.json | 2 +- .../reclaim/diamond_hoe_2_diamond.json | 2 +- .../diamond_horse_armor_2_diamond.json | 2 +- .../reclaim/diamond_leggings_2_diamond.json | 2 +- .../reclaim/diamond_pickaxe_2_diamond.json | 2 +- .../reclaim/diamond_shovel_2_diamond.json | 2 +- .../reclaim/diamond_sword_2_diamond.json | 2 +- .../reclaim/golden_axe_2_gold_ingot.json | 2 +- .../reclaim/golden_boots_2_gold_ingot.json | 2 +- .../golden_chestplate_2_gold_ingot.json | 2 +- .../reclaim/golden_helmet_2_gold_ingot.json | 2 +- .../reclaim/golden_hoe_2_gold_ingot.json | 2 +- .../golden_horse_armor_2_gold_ingot.json | 2 +- .../reclaim/golden_leggings_2_gold_ingot.json | 2 +- .../reclaim/golden_pickaxe_2_gold_ingot.json | 2 +- .../reclaim/golden_shovel_2_gold_ingot.json | 2 +- .../reclaim/golden_sword_2_gold_ingot.json | 2 +- .../reclaim/iron_axe_2_iron_ingot.json | 2 +- .../reclaim/iron_boots_2_iron_ingot.json | 2 +- .../reclaim/iron_chestplate_2_iron_ingot.json | 2 +- .../reclaim/iron_helmet_2_iron_ingot.json | 2 +- .../reclaim/iron_hoe_2_iron_ingot.json | 2 +- .../iron_horse_armor_2_iron_ingot.json | 2 +- .../reclaim/iron_leggings_2_iron_ingot.json | 2 +- .../reclaim/iron_pickaxe_2_iron_ingot.json | 2 +- .../reclaim/iron_shovel_2_iron_ingot.json | 2 +- .../reclaim/iron_sword_2_iron_ingot.json | 2 +- .../anvilcraft/recipes/sieving/leaves.json | 2 +- .../amethyst_block_to_amethyst_shard.json | 4 +- .../recipes/smash/clay_to_clay_ball.json | 4 +- .../dripstone_block_to_pointed_dripstone.json | 4 +- ....json => glowstone_to_glowstone_dust.json} | 4 +- ... hollow_magnet_block_to_magnet_ingot.json} | 4 +- ....json => honey_block_to_honey_bottle.json} | 6 +- .../smash/honeycomb_block_to_honeycomb.json | 4 +- ...json => magnet_block_to_magnet_ingot.json} | 4 +- ...n_slice.json => melon_to_melon_slice.json} | 4 +- ...prismarine_bricks_to_prismarine_shard.json | 4 +- ...on => prismarine_to_prismarine_shard.json} | 4 +- .../recipes/smash/quartz_block_to_quartz.json | 4 +- ...wball.json => snow_block_to_snowball.json} | 4 +- ...json => wet_sponge_to_sponge_gemmule.json} | 4 +- .../recipes/smash_block/andesite.json | 2 +- .../basalt_and_basalt_2_blackstone.json | 2 +- .../recipes/smash_block/black_sand.json | 2 +- .../recipes/smash_block/cinerite.json | 2 +- .../smash_block/cracked_deepslate_bricks.json | 2 +- .../smash_block/cracked_deepslate_tiles.json | 2 +- .../smash_block/cracked_nether_bricks.json | 2 +- .../cracked_polished_blackstone_bricks.json | 2 +- .../smash_block/cracked_stone_bricks.json | 2 +- .../recipes/smash_block/deepslate_chips.json | 2 +- .../recipes/smash_block/diorite.json | 2 +- .../recipes/smash_block/end_dust.json | 2 +- .../recipes/smash_block/granite.json | 2 +- .../recipes/smash_block/gravel.json | 2 +- .../smash_block/ice_and_ice_2_packed_ice.json | 2 +- .../moss_block_and_dirt_2_grass_block.json | 2 +- .../recipes/smash_block/nether_dust.json | 2 +- ...block_and_netherrack_2_crimson_nylium.json | 2 +- .../packed_ice_and_packed_ice_2_blue_ice.json | 2 +- .../recipes/smash_block/quartz_sand.json | 2 +- .../recipes/smash_block/red_sand.json | 2 +- .../anvilcraft/recipes/smash_block/sand.json | 2 +- .../recipes/smash_block/soul_sand.json | 2 +- .../stone_and_stone_2_deepslate.json | 2 +- ..._block_and_netherrack_2_warped_nylium.json | 2 +- .../squeeze/magma_block_lava_cauldron_1.json | 2 +- .../squeeze/magma_block_lava_cauldron_2.json | 2 +- .../squeeze/magma_block_lava_cauldron_3.json | 2 +- .../squeeze/moss_block_water_cauldron_1.json | 2 +- .../squeeze/moss_block_water_cauldron_2.json | 2 +- .../squeeze/moss_block_water_cauldron_3.json | 2 +- .../snow_block_powder_snow_cauldron_1.json | 2 +- .../snow_block_powder_snow_cauldron_2.json | 2 +- .../snow_block_powder_snow_cauldron_3.json | 2 +- .../squeeze/wet_sponge_water_cauldron_1.json | 2 +- .../squeeze/wet_sponge_water_cauldron_2.json | 2 +- .../squeeze/wet_sponge_water_cauldron_3.json | 2 +- .../anvilcraft/recipes/timewarp/amber.json | 2 +- .../recipes/timewarp/ancient_debris.json | 2 +- .../recipes/timewarp/budding_amethyst.json | 2 +- .../anvilcraft/recipes/timewarp/calcite.json | 2 +- .../anvilcraft/recipes/timewarp/coal.json | 2 +- .../recipes/timewarp/crying_obsidian.json | 2 +- .../anvilcraft/recipes/timewarp/dirt.json | 2 +- .../recipes/timewarp/emerald_block.json | 2 +- .../recipes/timewarp/end_stone.json | 2 +- .../recipes/timewarp/raw_copper.json | 2 +- .../anvilcraft/recipes/timewarp/raw_gold.json | 2 +- .../anvilcraft/recipes/timewarp/raw_iron.json | 2 +- .../anvilcraft/recipes/timewarp/raw_lead.json | 2 +- .../recipes/timewarp/raw_silver.json | 2 +- .../anvilcraft/recipes/timewarp/raw_tin.json | 2 +- .../recipes/timewarp/raw_titanium.json | 2 +- .../recipes/timewarp/raw_tungsten.json | 2 +- .../recipes/timewarp/raw_uranium.json | 2 +- .../anvilcraft/recipes/timewarp/raw_zinc.json | 2 +- .../recipes/timewarp/ruby_block.json | 2 +- .../recipes/timewarp/sapphire_block.json | 2 +- .../recipes/timewarp/sea_heart_shell.json | 2 +- .../recipes/timewarp/soul_soil.json | 2 +- .../recipes/timewarp/topaz_block.json | 2 +- .../anvilcraft/recipes/timewarp/tuff.json | 2 +- .../recipes/timewarp/wither_rose.json | 4 +- .../data/anvilcraft/recipes/zombie.json | 4 +- .../assets/anvilcraft/lang/en_ud.json | 17 +++ .../assets/anvilcraft/lang/en_us.json | 19 ++- .../recipes/misc/bulging/wet_sponge.json | 18 +-- .../misc/crystallize}/prismarine_cluster.json | 4 +- ...craft_gem_blocks_to_melt_gem_cauldron.json | 33 ++++++ .../misc/heating/melt_gem_cauldron.json | 74 ------------ .../amethyst_block_to_amethyst_shard.json | 4 +- .../recipes/misc/smash/clay_to_clay_ball.json | 4 +- .../dripstone_block_to_pointed_dripstone.json | 4 +- .../smash/glowstone_to_glowstone_dust.json | 4 +- ... hollow_magnet_block_to_magnet_ingot.json} | 4 +- .../smash/honey_block_to_honey_bottle.json | 48 ++++++++ .../smash/honeycomb_block_to_honeycomb.json | 4 +- .../smash/magnet_block_to_magnet_ingot.json | 4 +- .../misc/smash/melon_to_melon_slice.json | 4 +- ...rismarine_bricks_to_prismarine_shard.json} | 4 +- ...on => prismarine_to_prismarine_shard.json} | 4 +- .../misc/smash/quartz_block_to_quartz.json | 4 +- .../misc/smash/snow_block_to_snowball.json | 4 +- ...json => wet_sponge_to_sponge_gemmule.json} | 4 +- .../recipes/boil/beef_mushroom_stew.json | 2 +- .../anvilcraft/recipes/boil/slime_ball.json | 2 +- .../data/anvilcraft/recipes/bone_block.json | 2 +- .../recipes/bulging/brain_coral_block.json | 2 +- .../recipes/bulging/bubble_coral_block.json | 2 +- .../data/anvilcraft/recipes/bulging/clay.json | 2 +- .../anvilcraft/recipes/bulging/dough.json | 2 +- .../recipes/bulging/fermented_spider_eye.json | 2 +- .../recipes/bulging/fire_coral_block.json | 2 +- .../recipes/bulging/horn_coral_block.json | 2 +- .../recipes/bulging/nether_wart_block.json | 2 +- .../recipes/bulging/tube_coral_block.json | 2 +- .../recipes/bulging/warped_wart_block.json | 2 +- .../recipes/bulging/wet_sponge.json | 4 +- .../recipes/bulging_like/black_dye.json | 2 +- .../recipes/bulging_like/blue_dye.json | 2 +- .../recipes/bulging_like/brown_dye.json | 2 +- .../recipes/bulging_like/cyan_dye.json | 2 +- .../gravel_to_black_concrete.json | 2 +- .../bulging_like/gravel_to_blue_concrete.json | 2 +- .../gravel_to_brown_concrete.json | 2 +- .../bulging_like/gravel_to_cyan_concrete.json | 2 +- .../bulging_like/gravel_to_gray_concrete.json | 2 +- .../gravel_to_green_concrete.json | 2 +- .../gravel_to_light_blue_concrete.json | 2 +- .../gravel_to_light_gray_concrete.json | 2 +- .../bulging_like/gravel_to_lime_concrete.json | 2 +- .../gravel_to_magenta_concrete.json | 2 +- .../gravel_to_orange_concrete.json | 2 +- .../bulging_like/gravel_to_pink_concrete.json | 2 +- .../gravel_to_purple_concrete.json | 2 +- .../bulging_like/gravel_to_red_concrete.json | 2 +- .../gravel_to_reinforced_concrete_black.json | 2 +- .../gravel_to_reinforced_concrete_blue.json | 2 +- .../gravel_to_reinforced_concrete_brown.json | 2 +- .../gravel_to_reinforced_concrete_cyan.json | 2 +- .../gravel_to_reinforced_concrete_gray.json | 2 +- .../gravel_to_reinforced_concrete_green.json | 2 +- ...vel_to_reinforced_concrete_light_blue.json | 2 +- ...vel_to_reinforced_concrete_light_gray.json | 2 +- .../gravel_to_reinforced_concrete_lime.json | 2 +- ...gravel_to_reinforced_concrete_magenta.json | 2 +- .../gravel_to_reinforced_concrete_orange.json | 2 +- .../gravel_to_reinforced_concrete_pink.json | 2 +- .../gravel_to_reinforced_concrete_purple.json | 2 +- .../gravel_to_reinforced_concrete_red.json | 2 +- .../gravel_to_reinforced_concrete_white.json | 2 +- .../gravel_to_reinforced_concrete_yellow.json | 2 +- .../gravel_to_white_concrete.json | 2 +- .../gravel_to_yellow_concrete.json | 2 +- .../recipes/bulging_like/gray_dye.json | 2 +- .../recipes/bulging_like/green_dye.json | 2 +- .../recipes/bulging_like/light_blue_dye.json | 2 +- .../recipes/bulging_like/light_gray_dye.json | 2 +- .../recipes/bulging_like/lime_dye.json | 2 +- .../recipes/bulging_like/magenta_dye.json | 2 +- .../recipes/bulging_like/orange_dye.json | 2 +- .../recipes/bulging_like/pink_dye.json | 2 +- .../recipes/bulging_like/purple_dye.json | 2 +- .../recipes/bulging_like/red_dye.json | 2 +- .../recipes/bulging_like/white_dye.json | 2 +- .../recipes/bulging_like/yellow_dye.json | 2 +- .../recipes/cook/hardend_resin.json | 2 +- .../data/anvilcraft/recipes/cook/utusan.json | 2 +- .../prismarine_cluster.json | 2 +- .../anvilcraft_dead_tube_to_lime_powder.json | 2 +- ...craft_gem_blocks_to_melt_gem_cauldron.json | 12 +- .../c_stone_lime_powder_to_lava_cauldron.json | 4 +- .../heating/calcite_to_lime_powder.json | 2 +- .../heating/coal_block_to_diamond.json | 2 +- ...blestone_lime_powder_to_lava_cauldron.json | 4 +- .../heating/crab_claw_to_lime_powder.json | 2 +- .../dripstone_block_to_lime_powder.json | 2 +- ...ge_stone_lime_powder_to_lava_cauldron.json | 4 +- ..._anvilcraft_gems_to_royal_steel_ingot.json | 2 +- .../nautilus_shell_to_lime_powder.json | 2 +- .../pointed_dripstone_to_lime_powder.json | 2 +- ..._royal_steel_ingot_to_tempering_glass.json | 2 +- ...citor_to_magnet_ingot_capacitor_empty.json | 2 +- .../heating/wood_fiber_to_charcoal.json | 2 +- .../item_inject/deepslate_copper_ore.json | 2 +- .../item_inject/deepslate_gold_ore.json | 2 +- .../item_inject/deepslate_iron_ore.json | 2 +- .../item_inject/deepslate_lead_ore.json | 2 +- .../item_inject/deepslate_silver_ore.json | 2 +- .../item_inject/deepslate_tin_ore.json | 2 +- .../item_inject/deepslate_titanium_ore.json | 2 +- .../item_inject/deepslate_tungsten_ore.json | 2 +- .../item_inject/deepslate_uranium_ore.json | 2 +- .../item_inject/deepslate_zinc_ore.json | 2 +- .../item_inject/gilded_blackstone.json | 2 +- .../recipes/item_inject/nether_gold_ore.json | 2 +- .../reclaim/chainmail_boots_2_chain.json | 2 +- .../reclaim/chainmail_chestplate_2_chain.json | 2 +- .../reclaim/chainmail_helmet_2_chain.json | 2 +- .../reclaim/chainmail_leggings_2_chain.json | 2 +- .../reclaim/diamond_axe_2_diamond.json | 2 +- .../reclaim/diamond_boots_2_diamond.json | 2 +- .../reclaim/diamond_chestplate_2_diamond.json | 2 +- .../reclaim/diamond_helmet_2_diamond.json | 2 +- .../reclaim/diamond_hoe_2_diamond.json | 2 +- .../diamond_horse_armor_2_diamond.json | 2 +- .../reclaim/diamond_leggings_2_diamond.json | 2 +- .../reclaim/diamond_pickaxe_2_diamond.json | 2 +- .../reclaim/diamond_shovel_2_diamond.json | 2 +- .../reclaim/diamond_sword_2_diamond.json | 2 +- .../reclaim/golden_axe_2_gold_ingot.json | 2 +- .../reclaim/golden_boots_2_gold_ingot.json | 2 +- .../golden_chestplate_2_gold_ingot.json | 2 +- .../reclaim/golden_helmet_2_gold_ingot.json | 2 +- .../reclaim/golden_hoe_2_gold_ingot.json | 2 +- .../golden_horse_armor_2_gold_ingot.json | 2 +- .../reclaim/golden_leggings_2_gold_ingot.json | 2 +- .../reclaim/golden_pickaxe_2_gold_ingot.json | 2 +- .../reclaim/golden_shovel_2_gold_ingot.json | 2 +- .../reclaim/golden_sword_2_gold_ingot.json | 2 +- .../reclaim/iron_axe_2_iron_ingot.json | 2 +- .../reclaim/iron_boots_2_iron_ingot.json | 2 +- .../reclaim/iron_chestplate_2_iron_ingot.json | 2 +- .../reclaim/iron_helmet_2_iron_ingot.json | 2 +- .../reclaim/iron_hoe_2_iron_ingot.json | 2 +- .../iron_horse_armor_2_iron_ingot.json | 2 +- .../reclaim/iron_leggings_2_iron_ingot.json | 2 +- .../reclaim/iron_pickaxe_2_iron_ingot.json | 2 +- .../reclaim/iron_shovel_2_iron_ingot.json | 2 +- .../reclaim/iron_sword_2_iron_ingot.json | 2 +- .../anvilcraft/recipes/sieving/leaves.json | 2 +- .../amethyst_block_to_amethyst_shard.json | 4 +- .../recipes/smash/clay_to_clay_ball.json | 4 +- .../dripstone_block_to_pointed_dripstone.json | 4 +- ....json => glowstone_to_glowstone_dust.json} | 4 +- ... hollow_magnet_block_to_magnet_ingot.json} | 4 +- ....json => honey_block_to_honey_bottle.json} | 6 +- .../smash/honeycomb_block_to_honeycomb.json | 4 +- ...json => magnet_block_to_magnet_ingot.json} | 4 +- ...n_slice.json => melon_to_melon_slice.json} | 4 +- ...prismarine_bricks_to_prismarine_shard.json | 4 +- ...on => prismarine_to_prismarine_shard.json} | 4 +- .../recipes/smash/quartz_block_to_quartz.json | 4 +- ...wball.json => snow_block_to_snowball.json} | 4 +- ...json => wet_sponge_to_sponge_gemmule.json} | 4 +- .../recipes/smash_block/andesite.json | 2 +- .../basalt_and_basalt_2_blackstone.json | 2 +- .../recipes/smash_block/black_sand.json | 2 +- .../recipes/smash_block/cinerite.json | 2 +- .../smash_block/cracked_deepslate_bricks.json | 2 +- .../smash_block/cracked_deepslate_tiles.json | 2 +- .../smash_block/cracked_nether_bricks.json | 2 +- .../cracked_polished_blackstone_bricks.json | 2 +- .../smash_block/cracked_stone_bricks.json | 2 +- .../recipes/smash_block/deepslate_chips.json | 2 +- .../recipes/smash_block/diorite.json | 2 +- .../recipes/smash_block/end_dust.json | 2 +- .../recipes/smash_block/granite.json | 2 +- .../recipes/smash_block/gravel.json | 2 +- .../smash_block/ice_and_ice_2_packed_ice.json | 2 +- .../moss_block_and_dirt_2_grass_block.json | 2 +- .../recipes/smash_block/nether_dust.json | 2 +- ...block_and_netherrack_2_crimson_nylium.json | 2 +- .../packed_ice_and_packed_ice_2_blue_ice.json | 2 +- .../recipes/smash_block/quartz_sand.json | 2 +- .../recipes/smash_block/red_sand.json | 2 +- .../anvilcraft/recipes/smash_block/sand.json | 2 +- .../recipes/smash_block/soul_sand.json | 2 +- .../stone_and_stone_2_deepslate.json | 2 +- ..._block_and_netherrack_2_warped_nylium.json | 2 +- .../squeeze/magma_block_lava_cauldron_1.json | 2 +- .../squeeze/magma_block_lava_cauldron_2.json | 2 +- .../squeeze/magma_block_lava_cauldron_3.json | 2 +- .../squeeze/moss_block_water_cauldron_1.json | 2 +- .../squeeze/moss_block_water_cauldron_2.json | 2 +- .../squeeze/moss_block_water_cauldron_3.json | 2 +- .../snow_block_powder_snow_cauldron_1.json | 2 +- .../snow_block_powder_snow_cauldron_2.json | 2 +- .../snow_block_powder_snow_cauldron_3.json | 2 +- .../squeeze/wet_sponge_water_cauldron_1.json | 2 +- .../squeeze/wet_sponge_water_cauldron_2.json | 2 +- .../squeeze/wet_sponge_water_cauldron_3.json | 2 +- .../anvilcraft/recipes/timewarp/amber.json | 2 +- .../recipes/timewarp/ancient_debris.json | 2 +- .../recipes/timewarp/budding_amethyst.json | 2 +- .../anvilcraft/recipes/timewarp/calcite.json | 2 +- .../anvilcraft/recipes/timewarp/coal.json | 2 +- .../recipes/timewarp/crying_obsidian.json | 2 +- .../anvilcraft/recipes/timewarp/dirt.json | 2 +- .../recipes/timewarp/emerald_block.json | 2 +- .../recipes/timewarp/end_stone.json | 2 +- .../recipes/timewarp/raw_copper.json | 2 +- .../anvilcraft/recipes/timewarp/raw_gold.json | 2 +- .../anvilcraft/recipes/timewarp/raw_iron.json | 2 +- .../anvilcraft/recipes/timewarp/raw_lead.json | 2 +- .../recipes/timewarp/raw_silver.json | 2 +- .../anvilcraft/recipes/timewarp/raw_tin.json | 2 +- .../recipes/timewarp/raw_titanium.json | 2 +- .../recipes/timewarp/raw_tungsten.json | 2 +- .../recipes/timewarp/raw_uranium.json | 2 +- .../anvilcraft/recipes/timewarp/raw_zinc.json | 2 +- .../recipes/timewarp/ruby_block.json | 2 +- .../recipes/timewarp/sapphire_block.json | 2 +- .../recipes/timewarp/sea_heart_shell.json | 2 +- .../recipes/timewarp/soul_soil.json | 2 +- .../recipes/timewarp/topaz_block.json | 2 +- .../anvilcraft/recipes/timewarp/tuff.json | 2 +- .../recipes/timewarp/wither_rose.json | 4 +- .../data/anvilcraft/recipes/zombie.json | 4 +- 487 files changed, 1521 insertions(+), 1129 deletions(-) create mode 100644 common/src/main/java/dev/dubhe/anvilcraft/data/generator/lang/EmiLang.java delete mode 100644 common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/AnvilItemRecipesLoader.java rename common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/{SmashBlockRecipesLoader.java => BlockSmashRecipesLoader.java} (94%) delete mode 100644 common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/HeaterRecipesLoader.java create mode 100644 common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/ItemSmashRecipesLoader.java delete mode 100644 common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/SmashRecipesLoader.java create mode 100644 common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/BaseBlockEmiRecipe.java create mode 100644 common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/CompactionEmiRecipe.java create mode 100644 common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/CookingEmiRecipe.java create mode 100644 common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/ItemInjectRecipe.java create mode 100644 common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/SievingEmiRecipe.java delete mode 100644 common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/SievingEmiRecipes.java delete mode 100644 common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/StampingEmiRecipes.java rename {forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/bulging => fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/crystallize}/prismarine_cluster.json (84%) rename fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/{smash/honey_block_2_honey_bottle.json => heating/anvilcraft_gem_blocks_to_melt_gem_cauldron.json} (64%) delete mode 100644 fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/heating/melt_gem_cauldron.json rename forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/amethyst_block_2_amethyst_shard.json => fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/amethyst_block_to_amethyst_shard.json (81%) rename forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/clay_2_clay_ball.json => fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/clay_to_clay_ball.json (84%) rename forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/dripstone_block_2_pointed_dripstone.json => fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/dripstone_block_to_pointed_dripstone.json (80%) rename forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/glowstone_2_glowstone_dust.json => fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/glowstone_to_glowstone_dust.json (82%) rename fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/{hollow_magnet_block_2_magnet_ingot.json => hollow_magnet_block_to_magnet_ingot.json} (81%) rename forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/honey_block_2_honey_bottle.json => fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/honey_block_to_honey_bottle.json (59%) rename forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/honeycomb_block_2_honeycomb.json => fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/honeycomb_block_to_honeycomb.json (82%) rename forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/magnet_block_2_magnet_ingot.json => fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/magnet_block_to_magnet_ingot.json (82%) rename forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/melon_2_melon_slice.json => fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/melon_to_melon_slice.json (84%) rename fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/{prismarine_bricks_2_prismarine_shard.json => prismarine_bricks_to_prismarine_shard.json} (80%) rename fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/{prismarine_2_prismarine_shard.json => prismarine_to_prismarine_shard.json} (81%) rename forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/quartz_block_2_quartz.json => fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/quartz_block_to_quartz.json (84%) rename forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/snow_block_2_snowball.json => fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/snow_block_to_snowball.json (83%) rename fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/{wet_sponge_2_sponge_gemmule.json => wet_sponge_to_sponge_gemmule.json} (82%) rename fabric/src/generated/resources/data/anvilcraft/recipes/{bulging => crystallize}/prismarine_cluster.json (95%) rename forge/src/generated/resources/data/anvilcraft/recipes/heating/melt_gem_cauldron.json => fabric/src/generated/resources/data/anvilcraft/recipes/heating/anvilcraft_gem_blocks_to_melt_gem_cauldron.json (78%) rename forge/src/generated/resources/data/anvilcraft/recipes/smash/amethyst_block_2_amethyst_shard.json => fabric/src/generated/resources/data/anvilcraft/recipes/smash/amethyst_block_to_amethyst_shard.json (93%) rename forge/src/generated/resources/data/anvilcraft/recipes/smash/clay_2_clay_ball.json => fabric/src/generated/resources/data/anvilcraft/recipes/smash/clay_to_clay_ball.json (93%) rename forge/src/generated/resources/data/anvilcraft/recipes/smash/dripstone_block_2_pointed_dripstone.json => fabric/src/generated/resources/data/anvilcraft/recipes/smash/dripstone_block_to_pointed_dripstone.json (93%) rename fabric/src/generated/resources/data/anvilcraft/recipes/smash/{glowstone_2_glowstone_dust.json => glowstone_to_glowstone_dust.json} (93%) rename fabric/src/generated/resources/data/anvilcraft/recipes/smash/{hollow_magnet_block_2_magnet_ingot.json => hollow_magnet_block_to_magnet_ingot.json} (93%) rename fabric/src/generated/resources/data/anvilcraft/recipes/smash/{honey_block_2_honey_bottle.json => honey_block_to_honey_bottle.json} (93%) rename forge/src/generated/resources/data/anvilcraft/recipes/smash/honeycomb_block_2_honeycomb.json => fabric/src/generated/resources/data/anvilcraft/recipes/smash/honeycomb_block_to_honeycomb.json (93%) rename fabric/src/generated/resources/data/anvilcraft/recipes/smash/{magnet_block_2_magnet_ingot.json => magnet_block_to_magnet_ingot.json} (93%) rename fabric/src/generated/resources/data/anvilcraft/recipes/smash/{melon_2_melon_slice.json => melon_to_melon_slice.json} (93%) rename forge/src/generated/resources/data/anvilcraft/recipes/smash/prismarine_bricks_2_prismarine_shard.json => fabric/src/generated/resources/data/anvilcraft/recipes/smash/prismarine_bricks_to_prismarine_shard.json (93%) rename fabric/src/generated/resources/data/anvilcraft/recipes/smash/{prismarine_2_prismarine_shard.json => prismarine_to_prismarine_shard.json} (93%) rename forge/src/generated/resources/data/anvilcraft/recipes/smash/quartz_block_2_quartz.json => fabric/src/generated/resources/data/anvilcraft/recipes/smash/quartz_block_to_quartz.json (93%) rename fabric/src/generated/resources/data/anvilcraft/recipes/smash/{snow_block_2_snowball.json => snow_block_to_snowball.json} (93%) rename fabric/src/generated/resources/data/anvilcraft/recipes/smash/{wet_sponge_2_sponge_gemmule.json => wet_sponge_to_sponge_gemmule.json} (93%) rename {fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/bulging => forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/crystallize}/prismarine_cluster.json (84%) create mode 100644 forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/heating/anvilcraft_gem_blocks_to_melt_gem_cauldron.json delete mode 100644 forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/heating/melt_gem_cauldron.json rename fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/amethyst_block_2_amethyst_shard.json => forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/amethyst_block_to_amethyst_shard.json (81%) rename fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/clay_2_clay_ball.json => forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/clay_to_clay_ball.json (84%) rename fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/dripstone_block_2_pointed_dripstone.json => forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/dripstone_block_to_pointed_dripstone.json (80%) rename fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/glowstone_2_glowstone_dust.json => forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/glowstone_to_glowstone_dust.json (82%) rename forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/{hollow_magnet_block_2_magnet_ingot.json => hollow_magnet_block_to_magnet_ingot.json} (81%) create mode 100644 forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/honey_block_to_honey_bottle.json rename fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/honeycomb_block_2_honeycomb.json => forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/honeycomb_block_to_honeycomb.json (82%) rename fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/magnet_block_2_magnet_ingot.json => forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/magnet_block_to_magnet_ingot.json (82%) rename fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/melon_2_melon_slice.json => forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/melon_to_melon_slice.json (84%) rename forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/{prismarine_bricks_2_prismarine_shard.json => prismarine_bricks_to_prismarine_shard.json} (80%) rename forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/{prismarine_2_prismarine_shard.json => prismarine_to_prismarine_shard.json} (81%) rename fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/quartz_block_2_quartz.json => forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/quartz_block_to_quartz.json (84%) rename fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/snow_block_2_snowball.json => forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/snow_block_to_snowball.json (83%) rename forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/{wet_sponge_2_sponge_gemmule.json => wet_sponge_to_sponge_gemmule.json} (82%) rename forge/src/generated/resources/data/anvilcraft/recipes/{bulging => crystallize}/prismarine_cluster.json (95%) rename fabric/src/generated/resources/data/anvilcraft/recipes/heating/melt_gem_cauldron.json => forge/src/generated/resources/data/anvilcraft/recipes/heating/anvilcraft_gem_blocks_to_melt_gem_cauldron.json (78%) rename fabric/src/generated/resources/data/anvilcraft/recipes/smash/amethyst_block_2_amethyst_shard.json => forge/src/generated/resources/data/anvilcraft/recipes/smash/amethyst_block_to_amethyst_shard.json (93%) rename fabric/src/generated/resources/data/anvilcraft/recipes/smash/clay_2_clay_ball.json => forge/src/generated/resources/data/anvilcraft/recipes/smash/clay_to_clay_ball.json (93%) rename fabric/src/generated/resources/data/anvilcraft/recipes/smash/dripstone_block_2_pointed_dripstone.json => forge/src/generated/resources/data/anvilcraft/recipes/smash/dripstone_block_to_pointed_dripstone.json (93%) rename forge/src/generated/resources/data/anvilcraft/recipes/smash/{glowstone_2_glowstone_dust.json => glowstone_to_glowstone_dust.json} (93%) rename forge/src/generated/resources/data/anvilcraft/recipes/smash/{hollow_magnet_block_2_magnet_ingot.json => hollow_magnet_block_to_magnet_ingot.json} (93%) rename forge/src/generated/resources/data/anvilcraft/recipes/smash/{honey_block_2_honey_bottle.json => honey_block_to_honey_bottle.json} (93%) rename fabric/src/generated/resources/data/anvilcraft/recipes/smash/honeycomb_block_2_honeycomb.json => forge/src/generated/resources/data/anvilcraft/recipes/smash/honeycomb_block_to_honeycomb.json (93%) rename forge/src/generated/resources/data/anvilcraft/recipes/smash/{magnet_block_2_magnet_ingot.json => magnet_block_to_magnet_ingot.json} (93%) rename forge/src/generated/resources/data/anvilcraft/recipes/smash/{melon_2_melon_slice.json => melon_to_melon_slice.json} (93%) rename fabric/src/generated/resources/data/anvilcraft/recipes/smash/prismarine_bricks_2_prismarine_shard.json => forge/src/generated/resources/data/anvilcraft/recipes/smash/prismarine_bricks_to_prismarine_shard.json (93%) rename forge/src/generated/resources/data/anvilcraft/recipes/smash/{prismarine_2_prismarine_shard.json => prismarine_to_prismarine_shard.json} (93%) rename fabric/src/generated/resources/data/anvilcraft/recipes/smash/quartz_block_2_quartz.json => forge/src/generated/resources/data/anvilcraft/recipes/smash/quartz_block_to_quartz.json (93%) rename forge/src/generated/resources/data/anvilcraft/recipes/smash/{snow_block_2_snowball.json => snow_block_to_snowball.json} (93%) rename forge/src/generated/resources/data/anvilcraft/recipes/smash/{wet_sponge_2_sponge_gemmule.json => wet_sponge_to_sponge_gemmule.json} (93%) diff --git a/common/src/main/java/dev/dubhe/anvilcraft/data/generator/lang/EmiLang.java b/common/src/main/java/dev/dubhe/anvilcraft/data/generator/lang/EmiLang.java new file mode 100644 index 000000000..18335de26 --- /dev/null +++ b/common/src/main/java/dev/dubhe/anvilcraft/data/generator/lang/EmiLang.java @@ -0,0 +1,28 @@ +package dev.dubhe.anvilcraft.data.generator.lang; + +import com.tterrag.registrate.providers.RegistrateLangProvider; + +public class EmiLang { + /** + * @param provider 提供器 + */ + public static void init(RegistrateLangProvider provider) { + provider.add("emi.category.anvilcraft.stamping", "Stamping"); + provider.add("emi.category.anvilcraft.sieving", "Sieving"); + provider.add("emi.category.anvilcraft.bulging", "Bulging"); + provider.add("emi.category.anvilcraft.bulging_like", "BulgingLike"); + provider.add("emi.category.anvilcraft.fluid_handling", "FluidHandling"); + provider.add("emi.category.anvilcraft.crystallize", "Crystallize"); + provider.add("emi.category.anvilcraft.compaction", "Compaction"); + provider.add("emi.category.anvilcraft.compress", "Compress"); + provider.add("emi.category.anvilcraft.cooking", "Cooking"); + provider.add("emi.category.anvilcraft.boil", "Boil"); + provider.add("emi.category.anvilcraft.item_inject", "ItemInject"); + provider.add("emi.category.anvilcraft.block_smash", "BlockSmash"); + provider.add("emi.category.anvilcraft.item_smash", "ItemSmash"); + provider.add("emi.category.anvilcraft.squeeze", "Squeeze"); + provider.add("emi.category.anvilcraft.super_heating", "SuperHeating"); + provider.add("emi.category.anvilcraft.timewarp", "Timewarp"); + provider.add("emi.category.anvilcraft.null", "AnvilCraft"); + } +} diff --git a/common/src/main/java/dev/dubhe/anvilcraft/data/generator/lang/LangHandler.java b/common/src/main/java/dev/dubhe/anvilcraft/data/generator/lang/LangHandler.java index fa66ee856..67ed36e9d 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/data/generator/lang/LangHandler.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/data/generator/lang/LangHandler.java @@ -16,5 +16,6 @@ public static void init(RegistrateLangProvider provider) { OtherLang.init(provider); PatchouliLang.init(provider); ScreenLang.init(provider); + EmiLang.init(provider); } } diff --git a/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/AnvilItemRecipesLoader.java b/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/AnvilItemRecipesLoader.java deleted file mode 100644 index f49666a85..000000000 --- a/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/AnvilItemRecipesLoader.java +++ /dev/null @@ -1,14 +0,0 @@ -package dev.dubhe.anvilcraft.data.generator.recipe; - -import com.tterrag.registrate.providers.RegistrateRecipeProvider; - -public class AnvilItemRecipesLoader { - /** - * 初始化铁砧配方 - * - * @param provider 配方提供器 - */ - public static void init(RegistrateRecipeProvider provider) { - - } -} diff --git a/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/SmashBlockRecipesLoader.java b/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/BlockSmashRecipesLoader.java similarity index 94% rename from common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/SmashBlockRecipesLoader.java rename to common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/BlockSmashRecipesLoader.java index f8b1a8b98..96ea90a81 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/SmashBlockRecipesLoader.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/BlockSmashRecipesLoader.java @@ -4,6 +4,7 @@ import dev.dubhe.anvilcraft.AnvilCraft; import dev.dubhe.anvilcraft.data.generator.AnvilCraftDatagen; import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipe; +import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipeType; import dev.dubhe.anvilcraft.init.ModBlocks; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.data.recipes.RecipeCategory; @@ -11,7 +12,7 @@ import net.minecraft.world.level.block.Blocks; import org.jetbrains.annotations.NotNull; -public class SmashBlockRecipesLoader { +public class BlockSmashRecipesLoader { /** * 初始化粉碎方块配方 * @@ -45,6 +46,7 @@ public static void init(RegistrateRecipeProvider provider) { */ public static void smash(Block block, @NotNull Block block1, RegistrateRecipeProvider provider) { AnvilRecipe.Builder.create(RecipeCategory.MISC) + .type(AnvilRecipeType.BLOCK_SMASH) .hasBlock(block) .setBlock(block1) .unlockedBy(AnvilCraftDatagen.hasItem(block.asItem()), AnvilCraftDatagen.has(block.asItem())) diff --git a/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/BulgingAndCrystallizeRecipesLoader.java b/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/BulgingAndCrystallizeRecipesLoader.java index feefc2641..c7898109e 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/BulgingAndCrystallizeRecipesLoader.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/BulgingAndCrystallizeRecipesLoader.java @@ -4,67 +4,77 @@ import dev.dubhe.anvilcraft.AnvilCraft; import dev.dubhe.anvilcraft.data.generator.AnvilCraftDatagen; import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipe; +import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipeType; import dev.dubhe.anvilcraft.init.ModItems; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.data.recipes.RecipeCategory; -import net.minecraft.world.item.Item; import net.minecraft.world.item.Items; +import net.minecraft.world.level.ItemLike; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.phys.Vec3; public class BulgingAndCrystallizeRecipesLoader { + private static RegistrateRecipeProvider provider = null; + /** * 初始化膨发和晶化配方 * * @param provider 提供器 */ public static void init(RegistrateRecipeProvider provider) { - bulging(Items.DIRT, Items.CLAY, provider); - bulging(Items.CRIMSON_FUNGUS, Items.NETHER_WART_BLOCK, provider); - bulging(Items.WARPED_FUNGUS, Items.WARPED_WART_BLOCK, provider); - bulging(Items.SPIDER_EYE, Items.FERMENTED_SPIDER_EYE, provider); - bulging(Items.BRAIN_CORAL, Items.BRAIN_CORAL_BLOCK, provider); - bulging(Items.BUBBLE_CORAL, Items.BUBBLE_CORAL_BLOCK, provider); - bulging(Items.FIRE_CORAL, Items.FIRE_CORAL_BLOCK, provider); - bulging(Items.HORN_CORAL, Items.HORN_CORAL_BLOCK, provider); - bulging(Items.TUBE_CORAL, Items.TUBE_CORAL_BLOCK, provider); - AnvilRecipe.Builder.create(RecipeCategory.MISC) - .icon(Items.WET_SPONGE) - .hasFluidCauldron(new Vec3(0.0, -1.0, 0.0), Blocks.WATER_CAULDRON, 1) - .hasItemIngredient(new Vec3(0.0, -1.0, 0.0), ModItems.SPONGE_GEMMULE.get()) - .spawnItem(new Vec3(0.0, -1.0, 0.0), Items.WET_SPONGE) - .unlockedBy( - AnvilCraftDatagen.hasItem(ModItems.SPONGE_GEMMULE.get()), - AnvilCraftDatagen.has(ModItems.SPONGE_GEMMULE.get()) - ) - .save(provider, AnvilCraft.of("bulging/" + BuiltInRegistries.ITEM.getKey(Items.WET_SPONGE).getPath())); - crystallize(ModItems.SEA_HEART_SHELL_SHARD.get(), ModItems.PRISMARINE_CLUSTER.get(), provider); + BulgingAndCrystallizeRecipesLoader.provider = provider; + bulging(Items.DIRT, Items.CLAY); + bulging(Items.CRIMSON_FUNGUS, Items.NETHER_WART_BLOCK); + bulging(Items.WARPED_FUNGUS, Items.WARPED_WART_BLOCK); + bulging(Items.SPIDER_EYE, Items.FERMENTED_SPIDER_EYE); + bulging(Items.BRAIN_CORAL, Items.BRAIN_CORAL_BLOCK); + bulging(Items.BUBBLE_CORAL, Items.BUBBLE_CORAL_BLOCK); + bulging(Items.FIRE_CORAL, Items.FIRE_CORAL_BLOCK); + bulging(Items.HORN_CORAL, Items.HORN_CORAL_BLOCK); + bulging(Items.TUBE_CORAL, Items.TUBE_CORAL_BLOCK); + bulging(Items.WET_SPONGE, Items.WET_SPONGE, 1); + bulging(ModItems.FLOUR, ModItems.DOUGH); + crystallize(ModItems.SEA_HEART_SHELL_SHARD, ModItems.PRISMARINE_CLUSTER, 1); } /** - * 膨发配方 + * 物品膨发 * - * @param item 原料 - * @param item1 产物 - * @param provider 提供器 + * @param item 输入物品 + * @param item1 输出物品 + * @param deplete 消耗液体层数 */ - public static void bulging(Item item, Item item1, RegistrateRecipeProvider provider) { + public static void bulging(ItemLike item, ItemLike item1, int deplete) { AnvilRecipe.Builder.create(RecipeCategory.MISC) - .icon(item1) - .hasFluidCauldron(new Vec3(0.0, -1.0, 0.0), Blocks.WATER_CAULDRON) - .hasItemIngredient(new Vec3(0.0, -1.0, 0.0), item) - .spawnItem(new Vec3(0.0, -1.0, 0.0), item1) - .unlockedBy(AnvilCraftDatagen.hasItem(item), AnvilCraftDatagen.has(item)) - .save(provider, AnvilCraft.of("bulging/" + BuiltInRegistries.ITEM.getKey(item1).getPath())); + .icon(item1) + .type(AnvilRecipeType.BULGING) + .hasFluidCauldron(new Vec3(0.0, -1.0, 0.0), Blocks.WATER_CAULDRON, deplete) + .hasItemIngredient(new Vec3(0.0, -1.0, 0.0), item) + .spawnItem(new Vec3(0.0, -1.0, 0.0), item1) + .unlockedBy(AnvilCraftDatagen.hasItem(item), AnvilCraftDatagen.has(item)) + .save(provider, AnvilCraft.of("bulging/" + BuiltInRegistries.ITEM.getKey(item1.asItem()).getPath())); + } + + public static void bulging(ItemLike item, ItemLike item1) { + bulging(item, item1, 0); } - private static void crystallize(Item item, Item item1, RegistrateRecipeProvider provider) { + /** + * 物品晶化 + * + * @param item 输入物品 + * @param item1 输入物品 + * @param deplete 输入液体层数 + */ + public static void crystallize(ItemLike item, ItemLike item1, int deplete) { AnvilRecipe.Builder.create(RecipeCategory.MISC) - .icon(item1) - .hasFluidCauldron(new Vec3(0.0, -1.0, 0.0), Blocks.POWDER_SNOW_CAULDRON, 1) - .hasItemIngredient(new Vec3(0.0, -1.0, 0.0), item) - .spawnItem(new Vec3(0.0, -1.0, 0.0), item1) - .unlockedBy(AnvilCraftDatagen.hasItem(item), AnvilCraftDatagen.has(item)) - .save(provider, AnvilCraft.of("bulging/" + BuiltInRegistries.ITEM.getKey(item1).getPath())); + .icon(item1) + .type(AnvilRecipeType.CRYSTALLIZE) + .hasFluidCauldron(new Vec3(0.0, -1.0, 0.0), Blocks.POWDER_SNOW_CAULDRON, deplete) + .hasItemIngredient(new Vec3(0.0, -1.0, 0.0), item) + .spawnItem(new Vec3(0.0, -1.0, 0.0), item1) + .unlockedBy(AnvilCraftDatagen.hasItem(item), AnvilCraftDatagen.has(item)) + .save(provider, AnvilCraft.of("crystallize/" + + BuiltInRegistries.ITEM.getKey(item1.asItem()).getPath())); } } diff --git a/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/BulgingLikeRecipesLoader.java b/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/BulgingLikeRecipesLoader.java index 46856d91e..722f17337 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/BulgingLikeRecipesLoader.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/BulgingLikeRecipesLoader.java @@ -8,6 +8,7 @@ import dev.dubhe.anvilcraft.data.generator.AnvilCraftDatagen; import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipe; import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipe.Builder; +import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipeType; import dev.dubhe.anvilcraft.init.ModBlocks; import dev.dubhe.anvilcraft.init.ModItems; import java.util.Map; @@ -151,7 +152,7 @@ public static void init(RegistrateRecipeProvider provider) { .setValue(CementCauldronBlock.COLOR, Color.YELLOW), RecipeItem.of(Items.YELLOW_DYE) ); - concrete( + bulgingLike( new RecipeItem[] { RecipeItem.of(Items.GRAVEL, 4), RecipeItem.of(Items.SAND, 4) @@ -172,7 +173,7 @@ public static void init(RegistrateRecipeProvider provider) { .setValue(CementCauldronBlock.COLOR, Color.BLACK), RecipeItem.of(ModBlocks.REINFORCED_CONCRETE_BLACK, 16) ); - concrete( + bulgingLike( new RecipeItem[] { RecipeItem.of(Items.GRAVEL, 4), RecipeItem.of(Items.SAND, 4) @@ -193,7 +194,7 @@ public static void init(RegistrateRecipeProvider provider) { .setValue(CementCauldronBlock.COLOR, Color.BLUE), RecipeItem.of(ModBlocks.REINFORCED_CONCRETE_BLUE, 16) ); - concrete( + bulgingLike( new RecipeItem[] { RecipeItem.of(Items.GRAVEL, 4), RecipeItem.of(Items.SAND, 4) @@ -214,7 +215,7 @@ public static void init(RegistrateRecipeProvider provider) { .setValue(CementCauldronBlock.COLOR, Color.BROWN), RecipeItem.of(ModBlocks.REINFORCED_CONCRETE_BROWN, 16) ); - concrete( + bulgingLike( new RecipeItem[] { RecipeItem.of(Items.GRAVEL, 4), RecipeItem.of(Items.SAND, 4) @@ -235,7 +236,7 @@ public static void init(RegistrateRecipeProvider provider) { .setValue(CementCauldronBlock.COLOR, Color.CYAN), RecipeItem.of(ModBlocks.REINFORCED_CONCRETE_CYAN, 16) ); - concrete( + bulgingLike( new RecipeItem[] { RecipeItem.of(Items.GRAVEL, 4), RecipeItem.of(Items.SAND, 4) @@ -256,7 +257,7 @@ public static void init(RegistrateRecipeProvider provider) { .setValue(CementCauldronBlock.COLOR, Color.GRAY), RecipeItem.of(ModBlocks.REINFORCED_CONCRETE_GRAY, 16) ); - concrete( + bulgingLike( new RecipeItem[] { RecipeItem.of(Items.GRAVEL, 4), RecipeItem.of(Items.SAND, 4) @@ -277,7 +278,7 @@ public static void init(RegistrateRecipeProvider provider) { .setValue(CementCauldronBlock.COLOR, Color.GREEN), RecipeItem.of(ModBlocks.REINFORCED_CONCRETE_GREEN, 16) ); - concrete( + bulgingLike( new RecipeItem[] { RecipeItem.of(Items.GRAVEL, 4), RecipeItem.of(Items.SAND, 4) @@ -298,7 +299,7 @@ public static void init(RegistrateRecipeProvider provider) { .setValue(CementCauldronBlock.COLOR, Color.LIGHT_BLUE), RecipeItem.of(ModBlocks.REINFORCED_CONCRETE_LIGHT_BLUE, 16) ); - concrete( + bulgingLike( new RecipeItem[] { RecipeItem.of(Items.GRAVEL, 4), RecipeItem.of(Items.SAND, 4) @@ -319,7 +320,7 @@ public static void init(RegistrateRecipeProvider provider) { .setValue(CementCauldronBlock.COLOR, Color.LIGHT_GRAY), RecipeItem.of(ModBlocks.REINFORCED_CONCRETE_LIGHT_GRAY, 16) ); - concrete( + bulgingLike( new RecipeItem[] { RecipeItem.of(Items.GRAVEL, 4), RecipeItem.of(Items.SAND, 4) @@ -340,7 +341,7 @@ public static void init(RegistrateRecipeProvider provider) { .setValue(CementCauldronBlock.COLOR, Color.LIME), RecipeItem.of(ModBlocks.REINFORCED_CONCRETE_LIME, 16) ); - concrete( + bulgingLike( new RecipeItem[] { RecipeItem.of(Items.GRAVEL, 4), RecipeItem.of(Items.SAND, 4) @@ -361,7 +362,7 @@ public static void init(RegistrateRecipeProvider provider) { .setValue(CementCauldronBlock.COLOR, Color.MAGENTA), RecipeItem.of(ModBlocks.REINFORCED_CONCRETE_MAGENTA, 16) ); - concrete( + bulgingLike( new RecipeItem[] { RecipeItem.of(Items.GRAVEL, 4), RecipeItem.of(Items.SAND, 4) @@ -382,7 +383,7 @@ public static void init(RegistrateRecipeProvider provider) { .setValue(CementCauldronBlock.COLOR, Color.ORANGE), RecipeItem.of(ModBlocks.REINFORCED_CONCRETE_ORANGE, 16) ); - concrete( + bulgingLike( new RecipeItem[] { RecipeItem.of(Items.GRAVEL, 4), RecipeItem.of(Items.SAND, 4) @@ -403,7 +404,7 @@ public static void init(RegistrateRecipeProvider provider) { .setValue(CementCauldronBlock.COLOR, Color.PINK), RecipeItem.of(ModBlocks.REINFORCED_CONCRETE_PINK, 16) ); - concrete( + bulgingLike( new RecipeItem[] { RecipeItem.of(Items.GRAVEL, 4), RecipeItem.of(Items.SAND, 4) @@ -424,7 +425,7 @@ public static void init(RegistrateRecipeProvider provider) { .setValue(CementCauldronBlock.COLOR, Color.PURPLE), RecipeItem.of(ModBlocks.REINFORCED_CONCRETE_PURPLE, 16) ); - concrete( + bulgingLike( new RecipeItem[] { RecipeItem.of(Items.GRAVEL, 4), RecipeItem.of(Items.SAND, 4) @@ -445,7 +446,7 @@ public static void init(RegistrateRecipeProvider provider) { .setValue(CementCauldronBlock.COLOR, Color.RED), RecipeItem.of(ModBlocks.REINFORCED_CONCRETE_RED, 16) ); - concrete( + bulgingLike( new RecipeItem[] { RecipeItem.of(Items.GRAVEL, 4), RecipeItem.of(Items.SAND, 4) @@ -466,7 +467,7 @@ public static void init(RegistrateRecipeProvider provider) { .setValue(CementCauldronBlock.COLOR, Color.WHITE), RecipeItem.of(ModBlocks.REINFORCED_CONCRETE_WHITE, 16) ); - concrete( + bulgingLike( new RecipeItem[] { RecipeItem.of(Items.GRAVEL, 4), RecipeItem.of(Items.SAND, 4) @@ -489,7 +490,15 @@ public static void init(RegistrateRecipeProvider provider) { ); } - private static void fluidHandling( + /** + * 流体处理 + * + * @param inputCauldron 输入流体锅 + * @param map 输入流体锅状态 + * @param outputCauldron 输出流体锅 + * @param inputs 输入物品 + */ + public static void fluidHandling( Block inputCauldron, Map.Entry, Comparable> map, BlockState outputCauldron, RecipeItem... inputs) { @@ -507,9 +516,17 @@ private static void fluidHandling( .save(provider, AnvilCraft.of("bulging_like/" + inputs[0].getKey())); } - private static void fluidHandling(Block inputCauldron, BlockState outputCauldron, RecipeItem... inputs) { + /** + * 流体处理 + * + * @param inputCauldron 输入流体锅 + * @param outputCauldron 输出流体锅 + * @param inputs 输入物品 + */ + public static void fluidHandling(Block inputCauldron, BlockState outputCauldron, RecipeItem... inputs) { if (BulgingLikeRecipesLoader.provider == null) return; Builder builder = AnvilRecipe.Builder.create(RecipeCategory.MISC) + .type(AnvilRecipeType.FLUID_HANDLING) .icon(inputs[0].getItem()) .hasBlock(new Vec3(0.0, -1.0, 0.0), inputCauldron) .setBlock(new Vec3(0.0, -1.0, 0.0), outputCauldron); @@ -522,9 +539,17 @@ private static void fluidHandling(Block inputCauldron, BlockState outputCauldron .save(provider, AnvilCraft.of("bulging_like/" + inputs[0].getKey())); } - private static void concrete(RecipeItem[] inputs, BlockState cauldron, RecipeItem... output) { + /** + * 类膨发配方 + * + * @param inputs 输入物品 + * @param cauldron 输入流体锅 + * @param output 输出物品 + */ + public static void bulgingLike(RecipeItem[] inputs, BlockState cauldron, RecipeItem... output) { if (BulgingLikeRecipesLoader.provider == null) return; Builder builder = AnvilRecipe.Builder.create(RecipeCategory.MISC) + .type(AnvilRecipeType.BULGING_LIKE) .icon(output[0].getItem()) .hasBlock( cauldron.getBlock(), @@ -549,6 +574,7 @@ private static void concrete(RecipeItem[] inputs, BlockState cauldron, RecipeIte private static void reinforcedConcrete(RecipeItem[] inputs, BlockState cauldron, RecipeItem... output) { if (BulgingLikeRecipesLoader.provider == null) return; Builder builder = AnvilRecipe.Builder.create(RecipeCategory.MISC) + .type(AnvilRecipeType.BULGING_LIKE) .icon(output[0].getItem()) .hasBlock( cauldron.getBlock(), diff --git a/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/CompactionRecipesLoader.java b/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/CompactionRecipesLoader.java index 7960d276a..3b1cb0f62 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/CompactionRecipesLoader.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/CompactionRecipesLoader.java @@ -4,6 +4,7 @@ import dev.dubhe.anvilcraft.AnvilCraft; import dev.dubhe.anvilcraft.data.generator.AnvilCraftDatagen; import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipe; +import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipeType; import dev.dubhe.anvilcraft.init.ModBlockTags; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.data.recipes.RecipeCategory; @@ -44,6 +45,7 @@ public static void compaction( Block block, @NotNull Block block1, @NotNull Block block2, RegistrateRecipeProvider provider ) { AnvilRecipe.Builder.create(RecipeCategory.MISC) + .type(AnvilRecipeType.COMPACTION) .hasBlockIngredient(block) .hasBlock(new Vec3(0.0, -2.0, 0.0), block1) .setBlock(new Vec3(0.0, -2.0, 0.0), block2) diff --git a/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/CompressRecipesLoader.java b/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/CompressRecipesLoader.java index 64ce27e84..18dabd83d 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/CompressRecipesLoader.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/CompressRecipesLoader.java @@ -3,6 +3,7 @@ import com.tterrag.registrate.providers.RegistrateRecipeProvider; import dev.dubhe.anvilcraft.data.generator.AnvilCraftDatagen; import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipe; +import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipeType; import dev.dubhe.anvilcraft.init.ModBlockTags; import net.minecraft.data.recipes.RecipeCategory; import net.minecraft.world.item.Items; @@ -17,6 +18,7 @@ public class CompressRecipesLoader { */ public static void init(RegistrateRecipeProvider provider) { AnvilRecipe.Builder.create(RecipeCategory.MISC) + .type(AnvilRecipeType.COMPRESS) .hasBlock(Blocks.CAULDRON) .hasNotBlock(new Vec3(0.0, -2.0, 0.0), ModBlockTags.UNDER_CAULDRON) .hasItemIngredient(new Vec3(0.0, -1.0, 0.0), 3, Items.BONE) diff --git a/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/CookingRecipesLoader.java b/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/CookingRecipesLoader.java index 73560de27..cdb86b469 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/CookingRecipesLoader.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/CookingRecipesLoader.java @@ -3,6 +3,7 @@ import com.tterrag.registrate.providers.RegistrateRecipeProvider; import dev.dubhe.anvilcraft.data.generator.AnvilCraftDatagen; import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipe; +import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipeType; import dev.dubhe.anvilcraft.data.recipe.anvil.predicate.HasBlock; import dev.dubhe.anvilcraft.init.ModItems; import net.minecraft.core.registries.BuiltInRegistries; @@ -38,6 +39,7 @@ public static void init(RegistrateRecipeProvider provider) { */ public static void cook(Item item, int count, Item item1, int count1, RegistrateRecipeProvider provider) { AnvilRecipe.Builder.create(RecipeCategory.FOOD) + .type(AnvilRecipeType.COOKING) .hasBlock(Blocks.CAULDRON) .hasBlock(new Vec3(0.0, -2.0, 0.0), new HasBlock.ModBlockPredicate().block(BlockTags.CAMPFIRES).property(CampfireBlock.LIT, true) @@ -59,6 +61,7 @@ public static void cook(Item item, int count, Item item1, int count1, Registrate */ public static void boil(Item item, int count, Item item1, int count1, RegistrateRecipeProvider provider) { AnvilRecipe.Builder.create(RecipeCategory.FOOD) + .type(AnvilRecipeType.BOIL) .hasFluidCauldron(new Vec3(0.0, -1.0, 0.0), Blocks.WATER_CAULDRON) .hasBlock( new Vec3(0.0, -2.0, 0.0), diff --git a/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/HeaterRecipesLoader.java b/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/HeaterRecipesLoader.java deleted file mode 100644 index 569f65f1a..000000000 --- a/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/HeaterRecipesLoader.java +++ /dev/null @@ -1,50 +0,0 @@ -package dev.dubhe.anvilcraft.data.generator.recipe; - -import com.tterrag.registrate.providers.RegistrateRecipeProvider; -import dev.dubhe.anvilcraft.AnvilCraft; -import dev.dubhe.anvilcraft.data.generator.AnvilCraftDatagen; -import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipe; -import dev.dubhe.anvilcraft.init.ModBlocks; -import net.minecraft.data.recipes.RecipeCategory; -import net.minecraft.world.item.Items; -import net.minecraft.world.level.block.Blocks; -import net.minecraft.world.phys.Vec3; - -import java.util.Map; - -import static dev.dubhe.anvilcraft.api.power.IPowerComponent.OVERLOAD; - -public class HeaterRecipesLoader { - /** - * 初始化加热器配方 - * - * @param provider 提供器 - */ - public static void init(RegistrateRecipeProvider provider) { - AnvilRecipe.Builder.create(RecipeCategory.MISC) - .icon(Items.EMERALD_BLOCK) - .hasBlock(ModBlocks.HEATER.get(), new Vec3(0, -2, 0), Map.entry(OVERLOAD, false)) - .hasBlockIngredient(new Vec3(0, -1, 0), Blocks.CAULDRON) - .hasItemIngredient( - new Vec3(0, -1, 0), - Items.EMERALD_BLOCK, - ModBlocks.RUBY_BLOCK, - ModBlocks.TOPAZ_BLOCK, - ModBlocks.SAPPHIRE_BLOCK - ) - .setBlock(new Vec3(0, -1, 0), ModBlocks.MELT_GEM_CAULDRON.get()) - .unlockedBy( - AnvilCraftDatagen.hasItem(Items.EMERALD_BLOCK), AnvilCraftDatagen.has(Items.EMERALD_BLOCK) - ) - .unlockedBy( - AnvilCraftDatagen.hasItem(ModBlocks.RUBY_BLOCK), AnvilCraftDatagen.has(ModBlocks.RUBY_BLOCK) - ) - .unlockedBy( - AnvilCraftDatagen.hasItem(ModBlocks.TOPAZ_BLOCK), AnvilCraftDatagen.has(ModBlocks.TOPAZ_BLOCK) - ) - .unlockedBy( - AnvilCraftDatagen.hasItem(ModBlocks.SAPPHIRE_BLOCK), AnvilCraftDatagen.has(ModBlocks.SAPPHIRE_BLOCK) - ) - .save(provider, AnvilCraft.of("heating/melt_gem_cauldron")); - } -} diff --git a/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/ItemInjectRecipesLoader.java b/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/ItemInjectRecipesLoader.java index 2003f0662..5a5d8cdab 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/ItemInjectRecipesLoader.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/ItemInjectRecipesLoader.java @@ -2,8 +2,10 @@ import com.tterrag.registrate.providers.RegistrateRecipeProvider; import dev.dubhe.anvilcraft.AnvilCraft; +import dev.dubhe.anvilcraft.data.RecipeItem; import dev.dubhe.anvilcraft.data.generator.AnvilCraftDatagen; import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipe; +import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipeType; import dev.dubhe.anvilcraft.init.ModBlocks; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.data.recipes.RecipeCategory; @@ -15,68 +17,54 @@ import org.jetbrains.annotations.NotNull; public class ItemInjectRecipesLoader { + private static RegistrateRecipeProvider provider = null; + /** * 初始化物品注入配方 * * @param provider 提供器 */ public static void init(RegistrateRecipeProvider provider) { - itemInject(Items.RAW_GOLD_BLOCK, Blocks.DEEPSLATE, Blocks.DEEPSLATE_GOLD_ORE, provider); - itemInject(Items.RAW_IRON_BLOCK, Blocks.DEEPSLATE, Blocks.DEEPSLATE_IRON_ORE, provider); - itemInject(Items.RAW_COPPER_BLOCK, 3, Blocks.DEEPSLATE, Blocks.DEEPSLATE_COPPER_ORE, provider); - itemInject(Items.GOLD_INGOT, 2, Blocks.NETHERRACK, Blocks.NETHER_GOLD_ORE, provider); - itemInject(Items.GOLD_INGOT, Blocks.BLACKSTONE, Blocks.GILDED_BLACKSTONE, provider); - itemInject(ModBlocks.RAW_ZINC.asItem(), Blocks.DEEPSLATE, ModBlocks.DEEPSLATE_ZINC_ORE.get(), provider); - itemInject(ModBlocks.RAW_TIN.asItem(), Blocks.DEEPSLATE, ModBlocks.DEEPSLATE_TIN_ORE.get(), provider); - itemInject(ModBlocks.RAW_TITANIUM.asItem(), Blocks.DEEPSLATE, ModBlocks.DEEPSLATE_TITANIUM_ORE.get(), provider); - itemInject(ModBlocks.RAW_TUNGSTEN.asItem(), Blocks.DEEPSLATE, ModBlocks.DEEPSLATE_TUNGSTEN_ORE.get(), provider); - itemInject(ModBlocks.RAW_LEAD.asItem(), Blocks.DEEPSLATE, ModBlocks.DEEPSLATE_LEAD_ORE.get(), provider); - itemInject(ModBlocks.RAW_SILVER.asItem(), Blocks.DEEPSLATE, ModBlocks.DEEPSLATE_SILVER_ORE.get(), provider); - itemInject(ModBlocks.RAW_URANIUM.asItem(), Blocks.DEEPSLATE, ModBlocks.DEEPSLATE_URANIUM_ORE.get(), provider); + ItemInjectRecipesLoader.provider = provider; + itemInject(Items.RAW_GOLD_BLOCK, Blocks.DEEPSLATE, Blocks.DEEPSLATE_GOLD_ORE); + itemInject(Items.RAW_IRON_BLOCK, Blocks.DEEPSLATE, Blocks.DEEPSLATE_IRON_ORE); + itemInject(RecipeItem.of(Items.RAW_COPPER_BLOCK, 3), Blocks.DEEPSLATE, Blocks.DEEPSLATE_COPPER_ORE); + itemInject(RecipeItem.of(Items.GOLD_INGOT, 2), Blocks.NETHERRACK, Blocks.NETHER_GOLD_ORE); + itemInject(Items.GOLD_INGOT, Blocks.BLACKSTONE, Blocks.GILDED_BLACKSTONE); + itemInject(ModBlocks.RAW_ZINC.asItem(), Blocks.DEEPSLATE, ModBlocks.DEEPSLATE_ZINC_ORE.get()); + itemInject(ModBlocks.RAW_TIN.asItem(), Blocks.DEEPSLATE, ModBlocks.DEEPSLATE_TIN_ORE.get()); + itemInject(ModBlocks.RAW_TITANIUM.asItem(), Blocks.DEEPSLATE, ModBlocks.DEEPSLATE_TITANIUM_ORE.get()); + itemInject(ModBlocks.RAW_TUNGSTEN.asItem(), Blocks.DEEPSLATE, ModBlocks.DEEPSLATE_TUNGSTEN_ORE.get()); + itemInject(ModBlocks.RAW_LEAD.asItem(), Blocks.DEEPSLATE, ModBlocks.DEEPSLATE_LEAD_ORE.get()); + itemInject(ModBlocks.RAW_SILVER.asItem(), Blocks.DEEPSLATE, ModBlocks.DEEPSLATE_SILVER_ORE.get()); + itemInject(ModBlocks.RAW_URANIUM.asItem(), Blocks.DEEPSLATE, ModBlocks.DEEPSLATE_URANIUM_ORE.get()); } /** - * 简单物品注入 + * 物品注入配方 * - * @param item 物品 - * @param block 方块 - * @param resBlock 产物 - * @param provider 提供器 + * @param item 输入物品 + * @param block 输入方块 + * @param resBlock 输出方块 */ public static void itemInject( - @NotNull Item item, @NotNull Block block, @NotNull Block resBlock, @NotNull RegistrateRecipeProvider provider + @NotNull RecipeItem item, @NotNull Block block, @NotNull Block resBlock ) { AnvilRecipe.Builder.create(RecipeCategory.MISC) + .type(AnvilRecipeType.ITEM_INJECT) .hasBlock(new Vec3(0.0, -1.0, 0.0), block) - .hasItemIngredient(item) + .hasItemIngredient(Vec3.ZERO, item) .setBlock(new Vec3(0.0, -1.0, 0.0), resBlock) .unlockedBy(AnvilCraftDatagen.hasItem(block.asItem()), AnvilCraftDatagen.has(block.asItem())) .save(provider, AnvilCraft.of("item_inject/" + BuiltInRegistries.BLOCK.getKey(resBlock).getPath())); } - /** - * /** - * 简单物品注入 - * - * @param item 物品 - * @param count 数量 - * @param block 方块 - * @param resBlock 产物 - * @param provider 提供器 - */ public static void itemInject( @NotNull Item item, - int count, @NotNull Block block, - @NotNull Block resBlock, - @NotNull RegistrateRecipeProvider provider + @NotNull Block resBlock ) { - AnvilRecipe.Builder.create(RecipeCategory.MISC) - .hasBlock(new Vec3(0.0, -1.0, 0.0), block) - .hasItemIngredient(count, item) - .setBlock(new Vec3(0.0, -1.0, 0.0), resBlock) - .unlockedBy(AnvilCraftDatagen.hasItem(block.asItem()), AnvilCraftDatagen.has(block.asItem())) - .save(provider, AnvilCraft.of("item_inject/" + BuiltInRegistries.BLOCK.getKey(resBlock).getPath())); + itemInject(RecipeItem.of(item), block, resBlock); } } diff --git a/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/ItemSmashRecipesLoader.java b/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/ItemSmashRecipesLoader.java new file mode 100644 index 000000000..77d95711f --- /dev/null +++ b/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/ItemSmashRecipesLoader.java @@ -0,0 +1,86 @@ +package dev.dubhe.anvilcraft.data.generator.recipe; + +import com.tterrag.registrate.providers.RegistrateRecipeProvider; +import dev.dubhe.anvilcraft.AnvilCraft; +import dev.dubhe.anvilcraft.data.RecipeItem; +import dev.dubhe.anvilcraft.data.generator.AnvilCraftDatagen; +import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipe; +import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipeType; +import dev.dubhe.anvilcraft.init.ModBlocks; +import dev.dubhe.anvilcraft.init.ModItems; +import net.minecraft.data.recipes.RecipeCategory; +import net.minecraft.world.item.Items; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.TrapDoorBlock; +import net.minecraft.world.level.block.state.properties.Half; +import net.minecraft.world.phys.Vec3; + +import java.util.Arrays; +import java.util.Map; + +public class ItemSmashRecipesLoader { + private static RegistrateRecipeProvider provider = null; + + /** + * 初始化粉碎配方 + * + * @param provider 提供器 + */ + public static void init(RegistrateRecipeProvider provider) { + ItemSmashRecipesLoader.provider = provider; + smash(RecipeItem.of(Items.WET_SPONGE), RecipeItem.of(ModItems.SPONGE_GEMMULE, 4)); + smash(RecipeItem.of(ModBlocks.HOLLOW_MAGNET_BLOCK), RecipeItem.of(ModItems.MAGNET_INGOT, 8)); + smash(RecipeItem.of(ModBlocks.MAGNET_BLOCK), RecipeItem.of(ModItems.MAGNET_INGOT, 9)); + smash(RecipeItem.of(Items.MELON), RecipeItem.of(Items.MELON_SLICE, 9)); + smash(RecipeItem.of(Items.SNOW_BLOCK), RecipeItem.of(Items.SNOWBALL, 4)); + smash(RecipeItem.of(Items.CLAY), RecipeItem.of(Items.CLAY_BALL, 4)); + smash(RecipeItem.of(Items.PRISMARINE), RecipeItem.of(Items.PRISMARINE_SHARD, 4)); + smash(RecipeItem.of(Items.PRISMARINE_BRICKS), RecipeItem.of(Items.PRISMARINE_SHARD, 9)); + smash(RecipeItem.of(Items.GLOWSTONE), RecipeItem.of(Items.GLOWSTONE_DUST, 4)); + smash(RecipeItem.of(Items.QUARTZ_BLOCK), RecipeItem.of(Items.QUARTZ, 4)); + smash(RecipeItem.of(Items.DRIPSTONE_BLOCK), RecipeItem.of(Items.POINTED_DRIPSTONE, 4)); + smash(RecipeItem.of(Items.AMETHYST_BLOCK), RecipeItem.of(Items.AMETHYST_SHARD, 4)); + smash(RecipeItem.of(Items.HONEYCOMB_BLOCK), RecipeItem.of(Items.HONEYCOMB, 4)); + smash(new RecipeItem[] { + RecipeItem.of(Items.HONEY_BLOCK, 4), + RecipeItem.of(Items.GLASS_BOTTLE, 4) + }, + RecipeItem.of(Items.HONEY_BOTTLE, 4) + ); + } + + /** + * 物品粉碎配方 + * + * @param inputs 输入数组 + * @param outputs 输出数组 + */ + public static void smash(RecipeItem[] inputs, RecipeItem... outputs) { + AnvilRecipe.Builder builder = AnvilRecipe.Builder.create(RecipeCategory.MISC) + .type(AnvilRecipeType.ITEM_SMASH) + .icon(Arrays.stream(outputs).toList().get(0).getItem()) + .hasBlock(Blocks.IRON_TRAPDOOR, new Vec3(0.0, -1.0, 0.0), + Map.entry(TrapDoorBlock.HALF, Half.TOP), + Map.entry(TrapDoorBlock.OPEN, false)); + for (RecipeItem input : inputs) { + builder = builder + .hasItemIngredient(Vec3.ZERO, input) + .unlockedBy(AnvilCraftDatagen.hasItem(input), AnvilCraftDatagen.has(input)); + } + for (RecipeItem output : outputs) { + builder = builder + .spawnItem(new Vec3(0.0, -1.0, 0.0), output); + } + builder + .save(provider, AnvilCraft.of( + "smash/" + + Arrays.stream(inputs).toList().get(0).getKey() + + "_to_" + + Arrays.stream(outputs).toList().get(0).getKey() + )); + } + + public static void smash(RecipeItem input, RecipeItem output) { + smash(new RecipeItem[]{input}, output); + } +} diff --git a/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/RecipesHandler.java b/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/RecipesHandler.java index 82477ccb6..3d0316788 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/RecipesHandler.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/RecipesHandler.java @@ -10,19 +10,15 @@ public class RecipesHandler { * @param provider 提供器 */ public static void init(RegistrateRecipeProvider provider) { - VanillaRecipesLoader.init(provider); - - AnvilItemRecipesLoader.init(provider); BulgingAndCrystallizeRecipesLoader.init(provider); CompactionRecipesLoader.init(provider); CompressRecipesLoader.init(provider); CookingRecipesLoader.init(provider); - HeaterRecipesLoader.init(provider); ItemInjectRecipesLoader.init(provider); - SmashBlockRecipesLoader.init(provider); + BlockSmashRecipesLoader.init(provider); SievingRecipesLoader.init(provider); - SmashRecipesLoader.init(provider); + ItemSmashRecipesLoader.init(provider); SqueezeRecipesLoader.init(provider); StampingRecipesLoader.init(provider); TimeWarpRecipesLoader.init(provider); diff --git a/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/SievingRecipesLoader.java b/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/SievingRecipesLoader.java index 1a545b2e7..a4672558f 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/SievingRecipesLoader.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/SievingRecipesLoader.java @@ -2,6 +2,7 @@ import com.tterrag.registrate.providers.RegistrateRecipeProvider; import dev.dubhe.anvilcraft.AnvilCraft; +import dev.dubhe.anvilcraft.data.RecipeItem; import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipe; import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipeType; import dev.dubhe.anvilcraft.init.ModBlocks; @@ -12,58 +13,59 @@ import net.minecraft.world.level.ItemLike; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.phys.Vec3; -import org.jetbrains.annotations.NotNull; - -import java.util.Map; public class SievingRecipesLoader { + private static RegistrateRecipeProvider provider = null; + /** * 筛矿配方 * * @param provider 提供器 */ public static void init(RegistrateRecipeProvider provider) { - sieving(provider, ModBlocks.NETHER_DUST, - Map.entry(Items.REDSTONE, 0.1), - Map.entry(ModItems.TUNGSTEN_NUGGET, 0.1) + SievingRecipesLoader.provider = provider; + sieving(ModBlocks.NETHER_DUST, + RecipeItem.of(Items.REDSTONE, 0.1), + RecipeItem.of(ModItems.TUNGSTEN_NUGGET, 0.1) ); - sieving(provider, ModBlocks.END_DUST, - Map.entry(Items.CHORUS_FLOWER, 0.005), - Map.entry(ModItems.TITANIUM_NUGGET, 0.1), - Map.entry(ModItems.LEVITATION_POWDER, 0.1) + sieving(ModBlocks.END_DUST, + RecipeItem.of(Items.CHORUS_FLOWER, 0.005), + RecipeItem.of(ModItems.TITANIUM_NUGGET, 0.1), + RecipeItem.of(ModItems.LEVITATION_POWDER, 0.1) ); - sieving(provider, Items.SOUL_SAND, - Map.entry(Items.NETHER_WART, 0.005) + sieving(Items.SOUL_SAND, + RecipeItem.of(Items.NETHER_WART, 0.005) ); - sieving(provider, Items.GRAVEL, - Map.entry(Items.FLINT, 0.25), - Map.entry(Items.IRON_NUGGET, 0.05) + sieving(Items.GRAVEL, + RecipeItem.of(Items.FLINT, 0.25), + RecipeItem.of(Items.IRON_NUGGET, 0.05) ); - sieving(provider, Items.SAND, - Map.entry(Items.CLAY_BALL, 0.25), - Map.entry(Items.GOLD_NUGGET, 0.05) + sieving(Items.SAND, + RecipeItem.of(Items.CLAY_BALL, 0.25), + RecipeItem.of(Items.GOLD_NUGGET, 0.05) ); - sieving(provider, Items.RED_SAND, - Map.entry(Items.GLOWSTONE_DUST, 0.1), - Map.entry(ModItems.COPPER_NUGGET, 0.2) + sieving(Items.RED_SAND, + RecipeItem.of(Items.GLOWSTONE_DUST, 0.1), + RecipeItem.of(ModItems.COPPER_NUGGET, 0.2) ); - sieving(provider, ModBlocks.CINERITE, - Map.entry(Items.LAPIS_LAZULI, 0.1), - Map.entry(ModItems.ZINC_NUGGET, 0.2) + sieving(ModBlocks.CINERITE, + RecipeItem.of(Items.LAPIS_LAZULI, 0.1), + RecipeItem.of(ModItems.ZINC_NUGGET, 0.2) ); - sieving(provider, ModBlocks.QUARTZ_SAND, - Map.entry(Items.QUARTZ, 1.0), - Map.entry(ModItems.TIN_NUGGET, 0.2) + sieving(ModBlocks.QUARTZ_SAND, + RecipeItem.of(Items.QUARTZ, 1.0), + RecipeItem.of(ModItems.TIN_NUGGET, 0.2) ); - sieving(provider, ModBlocks.DEEPSLATE_CHIPS, - Map.entry(ModItems.LIME_POWDER, 0.1), - Map.entry(ModItems.LEAD_NUGGET, 0.1) + sieving(ModBlocks.DEEPSLATE_CHIPS, + RecipeItem.of(ModItems.LIME_POWDER, 0.1), + RecipeItem.of(ModItems.LEAD_NUGGET, 0.1) ); - sieving(provider, ModBlocks.BLACK_SAND, - Map.entry(Items.GUNPOWDER, 0.1), - Map.entry(ModItems.SILVER_NUGGET, 0.1) + sieving(ModBlocks.BLACK_SAND, + RecipeItem.of(Items.GUNPOWDER, 0.1), + RecipeItem.of(ModItems.SILVER_NUGGET, 0.1) ); AnvilRecipe.Builder.create(RecipeCategory.MISC) + .type(AnvilRecipeType.SIEVING) .hasBlock(Blocks.SCAFFOLDING) .hasItemLeaves(Vec3.ZERO, new Vec3(0.0, -1.0, 0.0), 0.5, 0.2) .save(provider, AnvilCraft.of("sieving/leaves")); @@ -71,18 +73,20 @@ public static void init(RegistrateRecipeProvider provider) { /** * 筛矿 + * + * @param item 输入物品 + * @param outputs 输出物品 */ - @SafeVarargs public static void sieving( - RegistrateRecipeProvider provider, ItemLike item, Map.Entry @NotNull ... items + ItemLike item, RecipeItem... outputs ) { AnvilRecipe.Builder builder = AnvilRecipe.Builder.create(RecipeCategory.MISC) .type(AnvilRecipeType.SIEVING) .hasBlock(Blocks.SCAFFOLDING) .hasItemIngredient(item) .spawnItem(new Vec3(0.0, -1.0, 0.0), 0.5, item); - for (Map.Entry entry : items) { - builder.spawnItem(new Vec3(0.0, -1.0, 0.0), entry.getValue(), entry.getKey()); + for (RecipeItem output : outputs) { + builder.spawnItem(new Vec3(0.0, -1.0, 0.0), output); } builder.save(provider, AnvilCraft.of("sieving/" + BuiltInRegistries.ITEM.getKey(item.asItem()).getPath())); } diff --git a/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/SmashRecipesLoader.java b/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/SmashRecipesLoader.java deleted file mode 100644 index 76eafb8d3..000000000 --- a/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/SmashRecipesLoader.java +++ /dev/null @@ -1,67 +0,0 @@ -package dev.dubhe.anvilcraft.data.generator.recipe; - -import com.tterrag.registrate.providers.RegistrateRecipeProvider; -import dev.dubhe.anvilcraft.AnvilCraft; -import dev.dubhe.anvilcraft.data.generator.AnvilCraftDatagen; -import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipe; -import dev.dubhe.anvilcraft.init.ModBlocks; -import dev.dubhe.anvilcraft.init.ModItems; -import net.minecraft.core.registries.BuiltInRegistries; -import net.minecraft.data.recipes.RecipeCategory; -import net.minecraft.world.item.Item; -import net.minecraft.world.item.Items; -import net.minecraft.world.level.block.Blocks; -import net.minecraft.world.level.block.TrapDoorBlock; -import net.minecraft.world.phys.Vec3; -import org.jetbrains.annotations.NotNull; - -import java.util.Map; - -public class SmashRecipesLoader { - /** - * 初始化粉碎配方 - * - * @param provider 提供器 - */ - public static void init(RegistrateRecipeProvider provider) { - smash(Items.WET_SPONGE, ModItems.SPONGE_GEMMULE.get(), 4, provider); - smash(ModBlocks.HOLLOW_MAGNET_BLOCK.asItem(), ModItems.MAGNET_INGOT.get(), 8, provider); - smash(ModBlocks.MAGNET_BLOCK.asItem(), ModItems.MAGNET_INGOT.get(), 9, provider); - smash(Items.MELON, Items.MELON_SLICE, 9, provider); - smash(Items.SNOW_BLOCK, Items.SNOWBALL, 4, provider); - smash(Items.CLAY, Items.CLAY_BALL, 4, provider); - smash(Items.PRISMARINE, Items.PRISMARINE_SHARD, 4, provider); - smash(Items.PRISMARINE_BRICKS, Items.PRISMARINE_SHARD, 9, provider); - smash(Items.GLOWSTONE, Items.GLOWSTONE_DUST, 4, provider); - smash(Items.QUARTZ_BLOCK, Items.QUARTZ, 4, provider); - smash(Items.DRIPSTONE_BLOCK, Items.POINTED_DRIPSTONE, 4, provider); - smash(Items.AMETHYST_BLOCK, Items.AMETHYST_SHARD, 4, provider); - smash(Items.HONEYCOMB_BLOCK, Items.HONEYCOMB, 4, provider); - AnvilRecipe.Builder.create(RecipeCategory.MISC) - .hasBlock(Blocks.IRON_TRAPDOOR, new Vec3(0.0, -1.0, 0.0), Map.entry(TrapDoorBlock.OPEN, false)) - .hasItemIngredient(Items.HONEY_BLOCK) - .hasItemIngredient(4, Items.GLASS_BOTTLE) - .spawnItem(new Vec3(0.0, -1.0, 0.0), Items.HONEY_BOTTLE, 4) - .unlockedBy(AnvilCraftDatagen.hasItem(Items.HONEY_BLOCK), AnvilCraftDatagen.has(Items.HONEY_BLOCK)) - .save(provider, AnvilCraft.of("smash/" + BuiltInRegistries.ITEM.getKey(Items.HONEY_BLOCK).getPath() - + "_2_" + BuiltInRegistries.ITEM.getKey(Items.HONEY_BOTTLE).getPath())); - } - - /** - * 粉碎配方 - * - * @param item 物品 - * @param item1 产物 - * @param count 数量 - * @param provider 提供器 - */ - public static void smash(Item item, @NotNull Item item1, int count, RegistrateRecipeProvider provider) { - AnvilRecipe.Builder.create(RecipeCategory.MISC) - .hasBlock(Blocks.IRON_TRAPDOOR, new Vec3(0.0, -1.0, 0.0), Map.entry(TrapDoorBlock.OPEN, false)) - .hasItemIngredient(item) - .spawnItem(new Vec3(0.0, -1.0, 0.0), item1, count) - .unlockedBy(AnvilCraftDatagen.hasItem(item), AnvilCraftDatagen.has(item)) - .save(provider, AnvilCraft.of("smash/" + BuiltInRegistries.ITEM.getKey(item).getPath() + "_2_" - + BuiltInRegistries.ITEM.getKey(item1).getPath())); - } -} diff --git a/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/SqueezeRecipesLoader.java b/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/SqueezeRecipesLoader.java index b6edc2021..5f00619a6 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/SqueezeRecipesLoader.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/SqueezeRecipesLoader.java @@ -4,6 +4,7 @@ import dev.dubhe.anvilcraft.AnvilCraft; import dev.dubhe.anvilcraft.data.generator.AnvilCraftDatagen; import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipe; +import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipeType; import dev.dubhe.anvilcraft.init.ModBlocks; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.data.recipes.RecipeCategory; @@ -97,6 +98,7 @@ public static void squeeze( @NotNull Block block, @NotNull Block block1, @NotNull Block block2, RegistrateRecipeProvider provider ) { AnvilRecipe.Builder.create(RecipeCategory.MISC) + .type(AnvilRecipeType.SQUEEZE) .hasBlock(block) .hasBlock(Blocks.CAULDRON, new Vec3(0.0, -2.0, 0.0)) .setBlock(block1) @@ -105,6 +107,7 @@ public static void squeeze( .save(provider, AnvilCraft.of("squeeze/" + BuiltInRegistries.BLOCK.getKey(block).getPath() + "_" + BuiltInRegistries.BLOCK.getKey(block2).getPath() + "_1")); AnvilRecipe.Builder.create(RecipeCategory.MISC) + .type(AnvilRecipeType.SQUEEZE) .hasBlock(block) .hasBlock(block2, new Vec3(0.0, -2.0, 0.0), Map.entry(LayeredCauldronBlock.LEVEL, 1)) .setBlock(block1) @@ -113,6 +116,7 @@ public static void squeeze( .save(provider, AnvilCraft.of("squeeze/" + BuiltInRegistries.BLOCK.getKey(block).getPath() + "_" + BuiltInRegistries.BLOCK.getKey(block2).getPath() + "_2")); AnvilRecipe.Builder.create(RecipeCategory.MISC) + .type(AnvilRecipeType.SQUEEZE) .hasBlock(block) .hasBlock(block2, new Vec3(0.0, -2.0, 0.0), Map.entry(LayeredCauldronBlock.LEVEL, 2)) .setBlock(block1) diff --git a/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/StampingRecipesLoader.java b/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/StampingRecipesLoader.java index 1ce5af064..65a051efd 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/StampingRecipesLoader.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/StampingRecipesLoader.java @@ -122,7 +122,13 @@ public static void stamping(RegistrateRecipeProvider provider, Item item, Item i stamping(item, RecipeItem.of(item1)); } - private static void stamping(Item enter, RecipeItem... items) { + /** + * 冲印配方 + * + * @param enter 输入物品tag + * @param items 输出物品数组 + */ + public static void stamping(Item enter, RecipeItem... items) { if (StampingRecipesLoader.provider == null) return; Builder builder = AnvilRecipe.Builder.create(RecipeCategory.MISC) .hasBlock(ModBlocks.STAMPING_PLATFORM.get()) @@ -147,7 +153,13 @@ private static void stamping(Item enter, RecipeItem... items) { .get(0).getItem().asItem()).getPath())); } - private static void stamping(TagKey enter, RecipeItem... items) { + /** + * 冲印配方 + * + * @param enter 输入物品tag + * @param items 输出物品数组 + */ + public static void stamping(TagKey enter, RecipeItem... items) { if (StampingRecipesLoader.provider == null) return; Builder builder = AnvilRecipe.Builder.create(RecipeCategory.MISC) .hasBlock(ModBlocks.STAMPING_PLATFORM.get()) @@ -172,21 +184,16 @@ private static void stamping(TagKey enter, RecipeItem... items) { .get(0).getItem().asItem()).getPath())); } - /** * 生成回收配方 * * @param item 原料 * @param item1 产物 */ - public static void reclaim(RegistrateRecipeProvider provider, Item item, Item item1) { - StampingRecipesLoader.provider = provider; - reclaim(item, item1); - } - - private static void reclaim(Item item, Item item1) { + public static void reclaim(Item item, Item item1) { if (StampingRecipesLoader.provider == null) return; AnvilRecipe.Builder builder = AnvilRecipe.Builder.create(RecipeCategory.MISC) + .type(AnvilRecipeType.STAMPING) .hasBlock(ModBlocks.STAMPING_PLATFORM.get()) .hasItemIngredient(new Vec3(0.0, -0.75, 0.0), item) .unlockedBy(AnvilCraftDatagen.hasItem(item), AnvilCraftDatagen.has(item)); @@ -202,4 +209,9 @@ private static void reclaim(Item item, Item item1) { AnvilCraft.of("reclaim/" + BuiltInRegistries.ITEM.getKey(item).getPath() + "_2_" + BuiltInRegistries.ITEM.getKey(item1).getPath())); } + + public static void reclaim(RegistrateRecipeProvider provider, Item item, Item item1) { + StampingRecipesLoader.provider = provider; + reclaim(item, item1); + } } diff --git a/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/SuperHeatingRecipesLoader.java b/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/SuperHeatingRecipesLoader.java index c36fbba1e..4de05e76a 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/SuperHeatingRecipesLoader.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/SuperHeatingRecipesLoader.java @@ -1,18 +1,14 @@ package dev.dubhe.anvilcraft.data.generator.recipe; -import static dev.dubhe.anvilcraft.api.power.IPowerComponent.OVERLOAD; - import com.tterrag.registrate.providers.RegistrateRecipeProvider; import dev.dubhe.anvilcraft.AnvilCraft; import dev.dubhe.anvilcraft.data.RecipeItem; import dev.dubhe.anvilcraft.data.generator.AnvilCraftDatagen; import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipe.Builder; +import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipeType; import dev.dubhe.anvilcraft.init.ModBlocks; import dev.dubhe.anvilcraft.init.ModItemTags; import dev.dubhe.anvilcraft.init.ModItems; - -import java.util.Arrays; -import java.util.Map; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.data.recipes.RecipeCategory; import net.minecraft.world.item.Items; @@ -20,6 +16,11 @@ import net.minecraft.world.level.block.Blocks; import net.minecraft.world.phys.Vec3; +import java.util.Arrays; +import java.util.Map; + +import static dev.dubhe.anvilcraft.api.power.IPowerComponent.OVERLOAD; + public class SuperHeatingRecipesLoader { private static RegistrateRecipeProvider provider = null; @@ -78,12 +79,23 @@ public static void init(RegistrateRecipeProvider provider) { RecipeItem.of(ModItems.MAGNET_INGOT), RecipeItem.of(ModItems.CAPACITOR_EMPTY) ); + superHeating( + RecipeItem.of(ModItemTags.GEM_BLOCKS), + ModBlocks.MELT_GEM_CAULDRON.get() + ); } - private static void superHeating(RecipeItem[] inputs, RecipeItem... outputs) { + /** + * 加热配方 + * + * @param inputs 输入物品数组 + * @param outputs 输出物品数组 + */ + public static void superHeating(RecipeItem[] inputs, RecipeItem... outputs) { if (SuperHeatingRecipesLoader.provider == null) return; StringBuilder path = new StringBuilder("heating/"); Builder builder = Builder.create(RecipeCategory.MISC) + .type(AnvilRecipeType.SUPER_HEATING) .icon(Arrays.stream(outputs).toList().get(0).getItem()) .hasBlock(ModBlocks.HEATER.get(), new Vec3(0.0, -2.0, 0.0), Map.entry(OVERLOAD, false)) .hasBlock(Blocks.CAULDRON, new Vec3(0.0, -1.0, 0.0)); @@ -102,9 +114,15 @@ private static void superHeating(RecipeItem[] inputs, RecipeItem... outputs) { builder.save(provider, AnvilCraft.of(path.toString())); } - private static void superHeating(RecipeItem[] inputs, Block output) { + /** + * 加热配方 + * + * @param inputs 输入物品数组 + * @param output 输出方块 + */ + public static void superHeating(RecipeItem[] inputs, Block output) { Builder builder = Builder.create(RecipeCategory.MISC) - .icon(output) + .type(AnvilRecipeType.SUPER_HEATING) .hasBlock(ModBlocks.HEATER.get(), new Vec3(0.0, -2.0, 0.0), Map.entry(OVERLOAD, false)) .hasBlock(Blocks.CAULDRON, new Vec3(0.0, -1.0, 0.0)); StringBuilder path = new StringBuilder("heating/"); @@ -114,6 +132,12 @@ private static void superHeating(RecipeItem[] inputs, Block output) { .unlockedBy(AnvilCraftDatagen.hasItem(input), AnvilCraftDatagen.has(input)); path.append(input.getKey()).append("_"); } + for (RecipeItem input : inputs) { + if (input.getItem() != null) { + builder = builder.icon(input.getItem()); + break; + } + } path.append("to_").append(BuiltInRegistries.BLOCK.getKey(output).getPath()); builder .setBlock(output) diff --git a/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/TimeWarpRecipesLoader.java b/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/TimeWarpRecipesLoader.java index 1b92f58d8..a0ed308a5 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/TimeWarpRecipesLoader.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/TimeWarpRecipesLoader.java @@ -6,6 +6,7 @@ import dev.dubhe.anvilcraft.data.RecipeItem; import dev.dubhe.anvilcraft.data.generator.AnvilCraftDatagen; import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipe; +import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipeType; import dev.dubhe.anvilcraft.init.ModBlocks; import dev.dubhe.anvilcraft.init.ModItems; import net.minecraft.core.registries.BuiltInRegistries; @@ -48,21 +49,7 @@ public static void init(RegistrateRecipeProvider provider) { timeWarp(RecipeItem.of(ModBlocks.LEAD_BLOCK), RecipeItem.of(ModItems.RAW_LEAD, 3)); timeWarp(RecipeItem.of(ModBlocks.SILVER_BLOCK), RecipeItem.of(ModItems.RAW_SILVER, 3)); timeWarp(RecipeItem.of(ModBlocks.URANIUM_BLOCK), RecipeItem.of(ModItems.RAW_URANIUM, 3)); - - AnvilRecipe.Builder.create(RecipeCategory.MISC) - .icon(Items.WITHER_ROSE) - .hasBlock( - ModBlocks.CORRUPTED_BEACON.get(), - new Vec3(0.0, -2.0, 0.0), - Map.entry(CorruptedBeaconBlock.LIT, true) - ) - .hasBlock(Blocks.CAULDRON) - .hasItemIngredient(new Vec3(0.0, -1.0, 0.0), Items.ROSE_BUSH) - .spawnItem(new Vec3(0.0, -1.0, 0.0), 0.2, Items.WITHER_ROSE) - .unlockedBy(AnvilCraftDatagen.hasItem(Items.ROSE_BUSH), AnvilCraftDatagen.has(Items.ROSE_BUSH)) - .save(provider, AnvilCraft.of("timewarp/" - + BuiltInRegistries.ITEM.getKey(Items.WITHER_ROSE).getPath())); - + timeWarp(RecipeItem.of(Items.ROSE_BUSH), RecipeItem.of(Items.WITHER_ROSE, 0.2f)); timeWarpWithMeltGem(Items.EMERALD, Items.EMERALD_BLOCK); timeWarpWithMeltGem(ModItems.RUBY, ModBlocks.RUBY_BLOCK); timeWarpWithMeltGem(ModItems.TOPAZ, ModBlocks.TOPAZ_BLOCK); @@ -75,6 +62,7 @@ public static void init(RegistrateRecipeProvider provider) { public static void timeWarp(RecipeItem item, RecipeItem item1) { if (TimeWarpRecipesLoader.provider == null) return; AnvilRecipe.Builder.create(RecipeCategory.MISC) + .type(AnvilRecipeType.TIMEWARP) .icon(item1.getItem().asItem()) .hasBlock( ModBlocks.CORRUPTED_BEACON.get(), @@ -95,6 +83,7 @@ public static void timeWarp(RecipeItem item, RecipeItem item1) { public static void timeWarpWithWater(ItemLike item, ItemLike item1) { if (TimeWarpRecipesLoader.provider == null) return; AnvilRecipe.Builder.create(RecipeCategory.MISC) + .type(AnvilRecipeType.TIMEWARP) .icon(item1) .hasBlock( ModBlocks.CORRUPTED_BEACON.get(), @@ -114,6 +103,7 @@ public static void timeWarpWithWater(ItemLike item, ItemLike item1) { public static void timeWarpWithMeltGem(ItemLike item, ItemLike item1) { if (TimeWarpRecipesLoader.provider == null) return; AnvilRecipe.Builder.create(RecipeCategory.MISC) + .type(AnvilRecipeType.TIMEWARP) .icon(item1) .hasBlock( ModBlocks.CORRUPTED_BEACON.get(), diff --git a/common/src/main/java/dev/dubhe/anvilcraft/data/recipe/anvil/AnvilRecipe.java b/common/src/main/java/dev/dubhe/anvilcraft/data/recipe/anvil/AnvilRecipe.java index d6e0bbb4b..c778b723f 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/data/recipe/anvil/AnvilRecipe.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/data/recipe/anvil/AnvilRecipe.java @@ -195,7 +195,9 @@ public enum Serializer implements RecipeSerializer { } AnvilRecipe recipe = new AnvilRecipe(recipeId, icon); recipe.setAnvilRecipeType( - AnvilRecipeType.valueOf(serializedRecipe.getAsJsonPrimitive("anvil_recipe_type").getAsString().toUpperCase())); + AnvilRecipeType.of( + serializedRecipe.getAsJsonPrimitive("anvil_recipe_type").getAsString()) + ); JsonArray predicates = GsonHelper.getAsJsonArray(serializedRecipe, "predicates"); for (JsonElement predicate : predicates) { if (!predicate.isJsonObject()) { @@ -842,8 +844,7 @@ public JsonObject serializeAdvancement() { } public enum Type implements RecipeType { - INSTANCE, - STAMPING + INSTANCE } /** @@ -870,6 +871,7 @@ public static void init() { */ public AnvilRecipe copy() { AnvilRecipe anvilRecipe = new AnvilRecipe(id, icon); + anvilRecipe.setAnvilRecipeType(this.getAnvilRecipeType()); outcomes.forEach(anvilRecipe::addOutcomes); predicates.forEach(anvilRecipe::addPredicates); return anvilRecipe; @@ -884,7 +886,9 @@ public static List of(SmeltingRecipe blastingRecipe, RegistryAccess AnvilCraft.of(blastingRecipe.getId().getPath() + "_translate_from_smelting_recipe"), blastingRecipe.getResultItem(registryAccess) ); - anvilRecipe.addPredicates( + anvilRecipe.setAnvilRecipeType(AnvilRecipeType.SUPER_HEATING); + anvilRecipe + .addPredicates( new HasBlock( new Vec3(0, -2, 0), new HasBlock.ModBlockPredicate().block(ModBlocks.HEATER.get()) @@ -929,6 +933,7 @@ public static List of(BlastingRecipe blastingRecipe, RegistryAccess AnvilCraft.of(blastingRecipe.getId().getPath() + "_translate_from_blasting_recipe"), blastingRecipe.getResultItem(registryAccess) ); + anvilRecipe.setAnvilRecipeType(AnvilRecipeType.SUPER_HEATING); anvilRecipe.addPredicates( new HasBlock( new Vec3(0, -1, 0), @@ -970,11 +975,12 @@ public static List of(BlastingRecipe blastingRecipe, RegistryAccess * 将烟熏配方转换至铁砧工艺配方 */ public static List of(SmokingRecipe smokingRecipe, RegistryAccess registryAccess) { - List anvilRecipes = new ArrayList<>(); + final List anvilRecipes = new ArrayList<>(); AnvilRecipe anvilRecipe = new AnvilRecipe( AnvilCraft.of(smokingRecipe.getId().getPath() + "_translate_from_smoking_recipe"), smokingRecipe.getResultItem(registryAccess) ); + anvilRecipe.setAnvilRecipeType(AnvilRecipeType.COOKING); anvilRecipe.addPredicates( new HasBlock( new Vec3(0, -2, 0), @@ -1009,11 +1015,12 @@ public static List of(SmokingRecipe smokingRecipe, RegistryAccess r * 将篝火配方转换至铁砧工艺配方 */ public static List of(CampfireCookingRecipe campfireCookingRecipe, RegistryAccess registryAccess) { - List anvilRecipes = new ArrayList<>(); + final List anvilRecipes = new ArrayList<>(); AnvilRecipe anvilRecipe = new AnvilRecipe( AnvilCraft.of(campfireCookingRecipe.getId().getPath() + "_translate_from_campfire_recipe"), campfireCookingRecipe.getResultItem(registryAccess) ); + anvilRecipe.setAnvilRecipeType(AnvilRecipeType.COOKING); anvilRecipe.addPredicates( new HasBlock( new Vec3(0, -2, 0), @@ -1059,6 +1066,7 @@ public static List of(CraftingRecipe craftingRecipe, RegistryAccess if (Arrays.stream(itemStacks).noneMatch(ingredient)) return anvilRecipes; itemStacks = ingredient.getItems(); } + anvilRecipe.setAnvilRecipeType(AnvilRecipeType.COMPRESS); anvilRecipe.addPredicates( new HasBlock( new Vec3(0, -1, 0), @@ -1081,6 +1089,7 @@ public static List of(CraftingRecipe craftingRecipe, RegistryAccess } if (craftingRecipe instanceof ShapelessRecipe shapelessRecipe && shapelessRecipe.getResultItem(registryAccess).getCount() > 1) { + anvilRecipe.setAnvilRecipeType(AnvilRecipeType.ITEM_SMASH); anvilRecipe.addPredicates( new HasBlock( new Vec3(0, -1, 0), @@ -1094,15 +1103,15 @@ public static List of(CraftingRecipe craftingRecipe, RegistryAccess craftingRecipe.getResultItem(registryAccess) ) ); - craftingRecipe.getRemainingItems(new SimpleCraftingContainer()).forEach(itemStack -> - anvilRecipe.addOutcomes( - new SpawnItem( - new Vec3(0, -1, 0), - 1, - itemStack - ) - ) - ); + craftingRecipe.getRemainingItems(new SimpleCraftingContainer()).forEach(itemStack -> { + if (!itemStack.isEmpty()) + anvilRecipe.addOutcomes( + new SpawnItem( + new Vec3(0, -1, 0), + 1, + itemStack + )); + }); NonNullList ingredients = craftingRecipe.getIngredients(); for (Ingredient ingredient : ingredients) { for (ItemStack itemStack : ingredient.getItems()) { diff --git a/common/src/main/java/dev/dubhe/anvilcraft/data/recipe/anvil/AnvilRecipeType.java b/common/src/main/java/dev/dubhe/anvilcraft/data/recipe/anvil/AnvilRecipeType.java index 1d6a54070..498fd5a3c 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/data/recipe/anvil/AnvilRecipeType.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/data/recipe/anvil/AnvilRecipeType.java @@ -1,12 +1,23 @@ package dev.dubhe.anvilcraft.data.recipe.anvil; -import java.util.Arrays; - public enum AnvilRecipeType { NULL("null"), STAMPING("stamping"), - SIEVING("sieving"); - + SIEVING("sieving"), + BULGING("bulging"), + BULGING_LIKE("bulging_like"), + FLUID_HANDLING("fluid_handling"), + CRYSTALLIZE("crystallize"), + COMPACTION("compaction"), + COMPRESS("compress"), + COOKING("cooking"), + BOIL("boil"), + ITEM_INJECT("item_inject"), + BLOCK_SMASH("block_smash"), + ITEM_SMASH("item_smash"), + SQUEEZE("squeeze"), + SUPER_HEATING("super_heating"), + TIMEWARP("timewarp"); private final String type; AnvilRecipeType(String type) { @@ -16,4 +27,12 @@ public enum AnvilRecipeType { public String toString() { return this.type; } + + /** + * 从name获取{@link AnvilRecipeType} + */ + public static AnvilRecipeType of(String name) { + for (AnvilRecipeType type : AnvilRecipeType.values()) if (name.equals(type.toString())) return type; + return AnvilRecipeType.NULL; + } } diff --git a/common/src/main/java/dev/dubhe/anvilcraft/data/recipe/anvil/predicate/HasBlock.java b/common/src/main/java/dev/dubhe/anvilcraft/data/recipe/anvil/predicate/HasBlock.java index f98894329..99eefcf92 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/data/recipe/anvil/predicate/HasBlock.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/data/recipe/anvil/predicate/HasBlock.java @@ -34,7 +34,9 @@ public class HasBlock implements RecipePredicate { @Getter private final String type = "has_block"; + @Getter protected final Vec3 offset; + @Getter protected final ModBlockPredicate matchBlock; public HasBlock(Vec3 offset, ModBlockPredicate matchBlock) { diff --git a/common/src/main/java/dev/dubhe/anvilcraft/init/ModBlocks.java b/common/src/main/java/dev/dubhe/anvilcraft/init/ModBlocks.java index 5077256af..c635f0e56 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/init/ModBlocks.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/init/ModBlocks.java @@ -59,7 +59,7 @@ import dev.dubhe.anvilcraft.block.state.Color; import dev.dubhe.anvilcraft.block.state.Half; import dev.dubhe.anvilcraft.data.generator.AnvilCraftDatagen; -import dev.dubhe.anvilcraft.data.generator.recipe.SmashBlockRecipesLoader; +import dev.dubhe.anvilcraft.data.generator.recipe.BlockSmashRecipesLoader; import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipe; import dev.dubhe.anvilcraft.data.recipe.anvil.RecipeOutcome; import dev.dubhe.anvilcraft.data.recipe.anvil.RecipePredicate; @@ -1173,7 +1173,7 @@ public class ModBlocks { .block("nether_dust", FallingBlock::new) .simpleItem() .initialProperties(() -> Blocks.BLACK_CONCRETE_POWDER) - .recipe((ctx, provider) -> SmashBlockRecipesLoader.smash(Blocks.NETHERRACK, ctx.get(), + .recipe((ctx, provider) -> BlockSmashRecipesLoader.smash(Blocks.NETHERRACK, ctx.get(), provider)) .tag(BlockTags.MINEABLE_WITH_SHOVEL) .register(); @@ -1183,7 +1183,7 @@ public class ModBlocks { .build() .initialProperties(() -> Blocks.BLACK_CONCRETE_POWDER) .recipe( - (ctx, provider) -> SmashBlockRecipesLoader.smash(Blocks.END_STONE, ctx.get(), provider)) + (ctx, provider) -> BlockSmashRecipesLoader.smash(Blocks.END_STONE, ctx.get(), provider)) .tag(BlockTags.MINEABLE_WITH_SHOVEL) .register(); public static final BlockEntry DEEPSLATE_CHIPS = REGISTRATE diff --git a/common/src/main/java/dev/dubhe/anvilcraft/init/ModItems.java b/common/src/main/java/dev/dubhe/anvilcraft/init/ModItems.java index a36a7ebb9..5c3fe4db0 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/init/ModItems.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/init/ModItems.java @@ -6,7 +6,6 @@ import dev.dubhe.anvilcraft.block.CorruptedBeaconBlock; import dev.dubhe.anvilcraft.data.RecipeItem; import dev.dubhe.anvilcraft.data.generator.AnvilCraftDatagen; -import dev.dubhe.anvilcraft.data.generator.recipe.BulgingAndCrystallizeRecipesLoader; import dev.dubhe.anvilcraft.data.generator.recipe.TimeWarpRecipesLoader; import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipe; import dev.dubhe.anvilcraft.data.recipe.crafting.ShapedTagRecipeBuilder; @@ -23,6 +22,7 @@ import dev.dubhe.anvilcraft.item.EmptyCapacitorItem; import dev.dubhe.anvilcraft.item.GeodeItem; import dev.dubhe.anvilcraft.item.GuideBookItem; +import dev.dubhe.anvilcraft.item.LevitationPowderItem; import dev.dubhe.anvilcraft.item.MagnetItem; import dev.dubhe.anvilcraft.item.ModFoods; import dev.dubhe.anvilcraft.item.RoyalAnvilHammerItem; @@ -34,7 +34,6 @@ import dev.dubhe.anvilcraft.item.RoyalUpgradeTemplateItem; import dev.dubhe.anvilcraft.item.TopazItem; import dev.dubhe.anvilcraft.item.UtusanItem; -import dev.dubhe.anvilcraft.item.LevitationPowderItem; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.data.recipes.RecipeBuilder; import net.minecraft.data.recipes.RecipeCategory; @@ -184,8 +183,6 @@ public class ModItems { public static final ItemEntry DOUGH = REGISTRATE .item("dough", Item::new) .tag(ModItemTags.DOUGH, ModItemTags.WHEAT_DOUGH) - .recipe((ctx, provider) -> - BulgingAndCrystallizeRecipesLoader.bulging(ModItems.FLOUR.get(), ModItems.DOUGH.get(), provider)) .register(); public static final ItemEntry CHOCOLATE = REGISTRATE .item("chocolate", properties -> new Item(properties.food(ModFoods.CHOCOLATE))) diff --git a/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/AnvilCraftEmiPlugin.java b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/AnvilCraftEmiPlugin.java index b6d75f240..5ae7853de 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/AnvilCraftEmiPlugin.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/AnvilCraftEmiPlugin.java @@ -1,21 +1,21 @@ package dev.dubhe.anvilcraft.integration.emi; -import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipe; -import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipeMap; +import dev.dubhe.anvilcraft.api.recipe.AnvilRecipeManager; import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipeType; -import dev.dubhe.anvilcraft.init.ModBlockTags; +import dev.dubhe.anvilcraft.data.recipe.anvil.predicate.HasItemLeaves; import dev.dubhe.anvilcraft.init.ModBlocks; -import dev.dubhe.anvilcraft.init.ModRecipeTypes; -import dev.dubhe.anvilcraft.integration.emi.recipe.SievingEmiRecipes; -import dev.dubhe.anvilcraft.integration.emi.recipe.StampingEmiRecipes; +import dev.dubhe.anvilcraft.integration.emi.recipe.BaseBlockEmiRecipe; +import dev.dubhe.anvilcraft.integration.emi.recipe.BaseItemEmiRecipe; +import dev.dubhe.anvilcraft.integration.emi.recipe.CompactionEmiRecipe; +import dev.dubhe.anvilcraft.integration.emi.recipe.CookingEmiRecipe; +import dev.dubhe.anvilcraft.integration.emi.recipe.ItemInjectRecipe; +import dev.dubhe.anvilcraft.integration.emi.recipe.SievingEmiRecipe; import dev.dubhe.anvilcraft.integration.emi.stack.BlockStateEmiStack; import dev.emi.emi.api.EmiEntrypoint; import dev.emi.emi.api.EmiPlugin; import dev.emi.emi.api.EmiRegistry; import dev.emi.emi.api.stack.EmiStack; -import java.util.List; import net.minecraft.core.registries.BuiltInRegistries; -import net.minecraft.world.item.crafting.RecipeManager; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; @@ -31,13 +31,92 @@ public void register(EmiRegistry registry) { registry.addWorkstation(AnvilCraftEmiRecipeTypes.STAMPING, EmiStack.of(ModBlocks.STAMPING_PLATFORM.get())); registry.addWorkstation(AnvilCraftEmiRecipeTypes.SIEVING, EmiStack.of(Blocks.SCAFFOLDING)); - - RecipeManager manager = registry.getRecipeManager(); - for (AnvilRecipe anvilRecipe : manager.getAllRecipesFor(ModRecipeTypes.ANVIL_RECIPE)) { - switch (anvilRecipe.getAnvilRecipeType()) { - case STAMPING -> registry.addRecipe(new StampingEmiRecipes(anvilRecipe)); - case SIEVING -> registry.addRecipe(new SievingEmiRecipes(anvilRecipe)); - } - } + registry.addWorkstation(AnvilCraftEmiRecipeTypes.BULGING, EmiStack.of(Blocks.WATER_CAULDRON)); + registry.addWorkstation(AnvilCraftEmiRecipeTypes.BULGING_LIKE, EmiStack.of(Blocks.CAULDRON)); + registry.addWorkstation(AnvilCraftEmiRecipeTypes.FLUID_HANDLING, EmiStack.of(Blocks.WATER_CAULDRON)); + registry.addWorkstation(AnvilCraftEmiRecipeTypes.CRYSTALLIZE, EmiStack.of(Blocks.POWDER_SNOW_CAULDRON)); + registry.addWorkstation(AnvilCraftEmiRecipeTypes.COMPACTION, EmiStack.of(Blocks.ANVIL)); + registry.addWorkstation(AnvilCraftEmiRecipeTypes.COMPRESS, EmiStack.of(Blocks.ANVIL)); + registry.addWorkstation(AnvilCraftEmiRecipeTypes.COOKING, EmiStack.of(Blocks.CAMPFIRE)); + registry.addWorkstation(AnvilCraftEmiRecipeTypes.BOIL, EmiStack.of(Blocks.CAMPFIRE)); + registry.addWorkstation(AnvilCraftEmiRecipeTypes.ITEM_INJECT, EmiStack.of(Blocks.ANVIL)); + registry.addWorkstation(AnvilCraftEmiRecipeTypes.BLOCK_SMASH, EmiStack.of(Blocks.ANVIL)); + registry.addWorkstation(AnvilCraftEmiRecipeTypes.ITEM_SMASH, EmiStack.of(Blocks.IRON_TRAPDOOR)); + registry.addWorkstation(AnvilCraftEmiRecipeTypes.SQUEEZE, EmiStack.of(Blocks.ANVIL)); + registry.addWorkstation(AnvilCraftEmiRecipeTypes.SUPER_HEATING, EmiStack.of(ModBlocks.HEATER)); + registry.addWorkstation(AnvilCraftEmiRecipeTypes.TIMEWARP, EmiStack.of(ModBlocks.CORRUPTED_BEACON)); + registry.addWorkstation(AnvilCraftEmiRecipeTypes.NULL, EmiStack.of(Blocks.ANVIL)); + AnvilRecipeManager.getAnvilRecipeList().stream() + .filter(anvilRecipe1 -> anvilRecipe1.getAnvilRecipeType() == AnvilRecipeType.SIEVING) + .forEach(anvilRecipe -> { + if (anvilRecipe.getPredicates().stream().noneMatch(predicate -> predicate instanceof HasItemLeaves)) + registry.addRecipe(new SievingEmiRecipe(AnvilCraftEmiRecipeTypes.SIEVING, anvilRecipe)); + }); + AnvilRecipeManager.getAnvilRecipeList().stream() + .filter(anvilRecipe1 -> anvilRecipe1.getAnvilRecipeType() == AnvilRecipeType.STAMPING) + .forEach(anvilRecipe -> + registry.addRecipe(new BaseItemEmiRecipe(AnvilCraftEmiRecipeTypes.STAMPING, anvilRecipe))); + AnvilRecipeManager.getAnvilRecipeList().stream() + .filter(anvilRecipe1 -> anvilRecipe1.getAnvilRecipeType() == AnvilRecipeType.BULGING) + .forEach(anvilRecipe -> + registry.addRecipe(new BaseItemEmiRecipe(AnvilCraftEmiRecipeTypes.BULGING, anvilRecipe))); + AnvilRecipeManager.getAnvilRecipeList().stream() + .filter(anvilRecipe1 -> anvilRecipe1.getAnvilRecipeType() == AnvilRecipeType.BULGING_LIKE) + .forEach(anvilRecipe -> + registry.addRecipe(new BaseItemEmiRecipe(AnvilCraftEmiRecipeTypes.BULGING_LIKE, anvilRecipe))); + AnvilRecipeManager.getAnvilRecipeList().stream() + .filter(anvilRecipe1 -> anvilRecipe1.getAnvilRecipeType() == AnvilRecipeType.FLUID_HANDLING) + .forEach(anvilRecipe -> + registry.addRecipe( + new BaseItemEmiRecipe(AnvilCraftEmiRecipeTypes.FLUID_HANDLING, anvilRecipe) + )); + AnvilRecipeManager.getAnvilRecipeList().stream() + .filter(anvilRecipe1 -> anvilRecipe1.getAnvilRecipeType() == AnvilRecipeType.CRYSTALLIZE) + .forEach(anvilRecipe -> + registry.addRecipe(new BaseItemEmiRecipe(AnvilCraftEmiRecipeTypes.CRYSTALLIZE, anvilRecipe))); + AnvilRecipeManager.getAnvilRecipeList().stream() + .filter(anvilRecipe1 -> anvilRecipe1.getAnvilRecipeType() == AnvilRecipeType.COMPACTION) + .forEach(anvilRecipe -> + registry.addRecipe(new CompactionEmiRecipe(AnvilCraftEmiRecipeTypes.COMPACTION, anvilRecipe))); + AnvilRecipeManager.getAnvilRecipeList().stream() + .filter(anvilRecipe1 -> anvilRecipe1.getAnvilRecipeType() == AnvilRecipeType.COMPRESS) + .forEach(anvilRecipe -> + registry.addRecipe(new BaseItemEmiRecipe(AnvilCraftEmiRecipeTypes.COMPRESS, anvilRecipe))); + AnvilRecipeManager.getAnvilRecipeList().stream() + .filter(anvilRecipe1 -> anvilRecipe1.getAnvilRecipeType() == AnvilRecipeType.COOKING) + .forEach(anvilRecipe -> + registry.addRecipe(new CookingEmiRecipe(AnvilCraftEmiRecipeTypes.COOKING, anvilRecipe))); + AnvilRecipeManager.getAnvilRecipeList().stream() + .filter(anvilRecipe1 -> anvilRecipe1.getAnvilRecipeType() == AnvilRecipeType.BOIL) + .forEach(anvilRecipe -> + registry.addRecipe(new BaseItemEmiRecipe(AnvilCraftEmiRecipeTypes.BOIL, anvilRecipe))); + AnvilRecipeManager.getAnvilRecipeList().stream() + .filter(anvilRecipe1 -> anvilRecipe1.getAnvilRecipeType() == AnvilRecipeType.ITEM_INJECT) + .forEach(anvilRecipe -> + registry.addRecipe(new ItemInjectRecipe(AnvilCraftEmiRecipeTypes.ITEM_INJECT, anvilRecipe))); + AnvilRecipeManager.getAnvilRecipeList().stream() + .filter(anvilRecipe1 -> anvilRecipe1.getAnvilRecipeType() == AnvilRecipeType.BLOCK_SMASH) + .forEach(anvilRecipe -> + registry.addRecipe(new BaseBlockEmiRecipe(AnvilCraftEmiRecipeTypes.BLOCK_SMASH, anvilRecipe))); + AnvilRecipeManager.getAnvilRecipeList().stream() + .filter(anvilRecipe1 -> anvilRecipe1.getAnvilRecipeType() == AnvilRecipeType.ITEM_SMASH) + .forEach(anvilRecipe -> + registry.addRecipe(new BaseItemEmiRecipe(AnvilCraftEmiRecipeTypes.ITEM_SMASH, anvilRecipe))); + AnvilRecipeManager.getAnvilRecipeList().stream() + .filter(anvilRecipe1 -> anvilRecipe1.getAnvilRecipeType() == AnvilRecipeType.SQUEEZE) + .forEach(anvilRecipe -> + registry.addRecipe(new BaseItemEmiRecipe(AnvilCraftEmiRecipeTypes.SQUEEZE, anvilRecipe))); + AnvilRecipeManager.getAnvilRecipeList().stream() + .filter(anvilRecipe1 -> anvilRecipe1.getAnvilRecipeType() == AnvilRecipeType.SUPER_HEATING) + .forEach(anvilRecipe -> + registry.addRecipe(new BaseItemEmiRecipe(AnvilCraftEmiRecipeTypes.SUPER_HEATING, anvilRecipe))); + AnvilRecipeManager.getAnvilRecipeList().stream() + .filter(anvilRecipe1 -> anvilRecipe1.getAnvilRecipeType() == AnvilRecipeType.TIMEWARP) + .forEach(anvilRecipe -> + registry.addRecipe(new BaseItemEmiRecipe(AnvilCraftEmiRecipeTypes.TIMEWARP, anvilRecipe))); + AnvilRecipeManager.getAnvilRecipeList().stream() + .filter(anvilRecipe1 -> anvilRecipe1.getAnvilRecipeType() == AnvilRecipeType.NULL) + .forEach(anvilRecipe -> + registry.addRecipe(new BaseItemEmiRecipe(AnvilCraftEmiRecipeTypes.NULL, anvilRecipe))); } } diff --git a/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/AnvilCraftEmiRecipeTypes.java b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/AnvilCraftEmiRecipeTypes.java index 012cceaa4..8e15c8969 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/AnvilCraftEmiRecipeTypes.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/AnvilCraftEmiRecipeTypes.java @@ -13,10 +13,25 @@ public class AnvilCraftEmiRecipeTypes { public static final Map ALL = new LinkedHashMap<>(); - - public static final EmiRecipeCategory STAMPING = register("milling", EmiStack.of(ModBlocks.STAMPING_PLATFORM)); - + public static final EmiRecipeCategory STAMPING = register("stamping", EmiStack.of(ModBlocks.STAMPING_PLATFORM)); public static final EmiRecipeCategory SIEVING = register("sieving", EmiStack.of(Blocks.SCAFFOLDING)); + public static final EmiRecipeCategory BULGING = register("bulging", EmiStack.of(Blocks.WATER_CAULDRON)); + public static final EmiRecipeCategory BULGING_LIKE = register("bulging_like", EmiStack.of(Blocks.CAULDRON)); + public static final EmiRecipeCategory FLUID_HANDLING = register("fluid_handling", + EmiStack.of(Blocks.WATER_CAULDRON)); + public static final EmiRecipeCategory CRYSTALLIZE = register("crystallize", + EmiStack.of(Blocks.POWDER_SNOW_CAULDRON)); + public static final EmiRecipeCategory COMPACTION = register("compaction", EmiStack.of(Blocks.ANVIL)); + public static final EmiRecipeCategory COMPRESS = register("compress", EmiStack.of(Blocks.ANVIL)); + public static final EmiRecipeCategory COOKING = register("cooking", EmiStack.of(Blocks.CAMPFIRE)); + public static final EmiRecipeCategory BOIL = register("boil", EmiStack.of(Blocks.CAMPFIRE)); + public static final EmiRecipeCategory ITEM_INJECT = register("item_inject", EmiStack.of(Blocks.IRON_ORE)); + public static final EmiRecipeCategory BLOCK_SMASH = register("block_smash", EmiStack.of(Blocks.ANVIL)); + public static final EmiRecipeCategory ITEM_SMASH = register("item_smash", EmiStack.of(Blocks.IRON_TRAPDOOR)); + public static final EmiRecipeCategory SQUEEZE = register("squeeze", EmiStack.of(Blocks.ANVIL)); + public static final EmiRecipeCategory SUPER_HEATING = register("super_heating", EmiStack.of(ModBlocks.HEATER)); + public static final EmiRecipeCategory TIMEWARP = register("timewarp", EmiStack.of(ModBlocks.CORRUPTED_BEACON)); + public static final EmiRecipeCategory NULL = register("null", EmiStack.of(Blocks.ANVIL)); private static EmiRecipeCategory register(String name, EmiRenderable icon) { ResourceLocation id = AnvilCraft.of(name); diff --git a/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/BaseBlockEmiRecipe.java b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/BaseBlockEmiRecipe.java new file mode 100644 index 000000000..9ce593501 --- /dev/null +++ b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/BaseBlockEmiRecipe.java @@ -0,0 +1,84 @@ +package dev.dubhe.anvilcraft.integration.emi.recipe; + +import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipe; +import dev.dubhe.anvilcraft.data.recipe.anvil.outcome.SetBlock; +import dev.dubhe.anvilcraft.data.recipe.anvil.predicate.HasBlock; +import dev.dubhe.anvilcraft.data.recipe.anvil.predicate.HasFluidCauldron; +import dev.dubhe.anvilcraft.data.recipe.anvil.predicate.NotHasBlock; +import dev.dubhe.anvilcraft.integration.emi.ui.BlockWidget; +import dev.emi.emi.api.recipe.EmiRecipeCategory; +import dev.emi.emi.api.stack.EmiStack; +import dev.emi.emi.api.widget.WidgetHolder; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.properties.Property; +import net.minecraft.world.phys.Vec2; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +public class BaseBlockEmiRecipe extends BaseEmiRecipe { + protected ArrayList inputBlockStates = new ArrayList<>(List.of(ANVIL_BLOCK_STATE)); + protected ArrayList inputBlockPoses = new ArrayList<>(List.of(new Vec2(0, 1))); + protected ArrayList outPutBlockStates = new ArrayList<>(List.of(ANVIL_BLOCK_STATE)); + protected ArrayList outPutBlockPoses = new ArrayList<>(List.of(new Vec2(0, 0))); + + /** + * 基础方块配方 + * + * @param category 配方类型 + * @param recipe {@link AnvilRecipe}配方 + */ + public BaseBlockEmiRecipe(EmiRecipeCategory category, + AnvilRecipe recipe) { + super(category, recipe, 246, 84); + recipe.getPredicates().forEach(ingredient -> { + if (ingredient instanceof HasBlock hasBlock + && !(ingredient instanceof NotHasBlock) + && !hasBlock.getMatchBlock().getBlocks().isEmpty()) { + Block block = hasBlock.getMatchBlock().getBlocks().iterator().next(); + BlockState workBlockState = block.defaultBlockState(); + for (BlockState blockState : block.getStateDefinition().getPossibleStates()) { + first: + for (Map.Entry entry : hasBlock.getMatchBlock().getProperties().entrySet()) { + for (Map.Entry, Comparable> entry1 : blockState.getValues().entrySet()) { + if (!entry1.getKey().getName().equals(entry.getKey())) continue; + if (!entry1.getValue().toString().equals(entry.getValue())) break first; + } + workBlockState = blockState; + } + } + this.inputBlockStates.add(workBlockState); + this.inputBlockPoses.add(new Vec2((float) hasBlock.getOffset().x, (float) hasBlock.getOffset().y)); + simpleOutputs.add(EmiStack.of(workBlockState.getBlock().asItem().getDefaultInstance())); + } else if ( + ingredient instanceof HasFluidCauldron hasFluidCauldron) { + this.inputBlockStates.add(hasFluidCauldron.getMatchBlock().defaultBlockState()); + this.inputBlockPoses.add( + new Vec2((float) hasFluidCauldron.getOffset().x, (float) hasFluidCauldron.getOffset().y)); + } + }); + recipe.getOutcomes().forEach(recipeOutcome -> { + if (recipeOutcome instanceof SetBlock setBlock) { + simpleOutputs.add(EmiStack.of(setBlock.getResult().getBlock().asItem().getDefaultInstance())); + outPutBlockStates.add(setBlock.getResult()); + outPutBlockPoses.add(new Vec2((float) setBlock.getOffset().x, (float) setBlock.getOffset().y)); + } + }); + this.height = 84 + (15 * Math.max(0, inputBlockStates.size() - 2)); + } + + @Override + public void addWidgets(WidgetHolder widgets) { + addStraightArrow(widgets, 120, 41); + widgets.addDrawable(90, 25, 0, 0, new BlockWidget( + inputBlockStates, + inputBlockPoses + )); + widgets.addDrawable(135, 25, 0, 0, new BlockWidget( + outPutBlockStates, + outPutBlockPoses) + ); + } +} diff --git a/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/BaseEmiRecipe.java b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/BaseEmiRecipe.java index b91eaef39..59706ec52 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/BaseEmiRecipe.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/BaseEmiRecipe.java @@ -28,12 +28,19 @@ public abstract class BaseEmiRecipe implements EmiRecipe { protected EmiRecipeCategory category; protected final AnvilRecipe recipe; protected List inputs = new ArrayList<>(); + protected ArrayList blockOutputs = new ArrayList<>(); protected ArrayList simpleOutputs = new ArrayList<>(); protected ArrayList> selectOneItemList = new ArrayList<>(); protected ResourceLocation id; protected int width; protected int height; + /** + * 基础EMI配方 + * + * @param category 配方类型 + * @param recipe {@link AnvilRecipe}配方 + */ public BaseEmiRecipe(EmiRecipeCategory category, AnvilRecipe recipe, int width, int height) { this.category = category; this.recipe = recipe; @@ -55,17 +62,21 @@ public int getDisplayHeight() { @Override public abstract void addWidgets(WidgetHolder widgets); - protected void addBendArrow(WidgetHolder widgets, int x, int y) { - widgets.addTexture(EMI_GUI_TEXTURES, x, y, 17, 9, 0, 29); + protected void addInputArrow(WidgetHolder widgets, int x, int y) { + widgets.addTexture(EMI_GUI_TEXTURES, x, y, 16, 8, 0, 31); + } + + protected void addOutputArrow(WidgetHolder widgets, int x, int y) { + widgets.addTexture(EMI_GUI_TEXTURES, x, y, 16, 10, 0, 40); } protected void addStraightArrow(WidgetHolder widgets, int x, int y) { - widgets.addTexture(EMI_GUI_TEXTURES, x, y, 9, 9, 10, 19); + widgets.addTexture(EMI_GUI_TEXTURES, x, y, 12, 11, 0, 19); } protected void addChangeSlot(EmiIngredient ingredient, int x, int y, WidgetHolder widgets) { - widgets.addTexture(EMI_GUI_TEXTURES, x, y, 18, 18, 19, 0); - widgets.add(new SlotWidget(ingredient, x, y).recipeContext(this)); + widgets.add(new SlotWidget(ingredient, x, y).recipeContext(this) + .customBackground(EMI_GUI_TEXTURES, 19, 0, 18, 18)); } protected void addSelectOneSlot(List emiStacks, int x, int y, WidgetHolder widgets) { @@ -74,8 +85,8 @@ protected void addSelectOneSlot(List emiStacks, int x, int y, WidgetHo } protected void addSimpleSlot(EmiIngredient ingredient, int x, int y, WidgetHolder widgets) { - widgets.addTexture(EMI_GUI_TEXTURES, x, y, 18, 18, 0, 0); - widgets.add(new SlotWidget(ingredient, x, y)); + widgets.add(new SlotWidget(ingredient, x, y) + .customBackground(EMI_GUI_TEXTURES, 0, 0, 18, 18)); } protected void addSlot(EmiIngredient ingredient, int x, int y, WidgetHolder widgets) { @@ -86,12 +97,17 @@ protected void addSlot(EmiIngredient ingredient, int x, int y, WidgetHolder widg addSimpleSlot(ingredient, x, y, widgets); } - protected void addPlus(WidgetHolder widgets, int x, int y) { - widgets.addTexture(EMI_GUI_TEXTURES, x, y, 9, 9, 0, 19); - } - @Override public List getOutputs() { + ArrayList list = new ArrayList<>(getItemOutputs()); + list.addAll(blockOutputs); + return list; + } + + /** + * 获取物品输出 + */ + public List getItemOutputs() { ArrayList list = new ArrayList<>(); selectOneItemList.forEach(list::addAll); list.addAll(simpleOutputs); diff --git a/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/BaseItemEmiRecipe.java b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/BaseItemEmiRecipe.java index 843b3037b..b2f8aeec6 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/BaseItemEmiRecipe.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/BaseItemEmiRecipe.java @@ -2,24 +2,45 @@ import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipe; import dev.dubhe.anvilcraft.data.recipe.anvil.outcome.SelectOne; +import dev.dubhe.anvilcraft.data.recipe.anvil.outcome.SetBlock; import dev.dubhe.anvilcraft.data.recipe.anvil.outcome.SpawnItem; +import dev.dubhe.anvilcraft.data.recipe.anvil.predicate.HasBlock; +import dev.dubhe.anvilcraft.data.recipe.anvil.predicate.HasFluidCauldron; import dev.dubhe.anvilcraft.data.recipe.anvil.predicate.HasItem; +import dev.dubhe.anvilcraft.data.recipe.anvil.predicate.NotHasBlock; +import dev.dubhe.anvilcraft.integration.emi.ui.BlockWidget; import dev.emi.emi.api.recipe.EmiRecipeCategory; import dev.emi.emi.api.stack.EmiIngredient; import dev.emi.emi.api.stack.EmiStack; import dev.emi.emi.api.stack.TagEmiIngredient; import dev.emi.emi.api.widget.WidgetHolder; +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.block.state.properties.Property; import net.minecraft.world.phys.Vec2; import java.util.ArrayList; import java.util.Iterator; import java.util.List; +import java.util.Map; -public abstract class BaseItemEmiRecipe extends BaseEmiRecipe { +public class BaseItemEmiRecipe extends BaseEmiRecipe { + protected ArrayList workBlockStates = new ArrayList<>(List.of(ANVIL_BLOCK_STATE)); + protected ArrayList workBlockPoses = new ArrayList<>(List.of(new Vec2(0, 1))); + protected ArrayList outputWorkBlockPoses = new ArrayList<>(List.of(new Vec2(0, 0))); + protected boolean isOutputBlock = false; + protected BlockState outputBlockState = Blocks.AIR.defaultBlockState(); + /** + * 基础物品配方(可自动适配绝大多数配方) + * + * @param category 配方类型 + * @param recipe {@link AnvilRecipe}配方 + */ public BaseItemEmiRecipe(EmiRecipeCategory category, AnvilRecipe recipe) { - super(category, recipe, 240, 80); + super(category, recipe, 246, 84); recipe.getPredicates().forEach(ingredient -> { if (ingredient instanceof HasItem hasItem && hasItem.getMatchItem().count.getMin() != null) { if (hasItem.getMatchItem().getTag() != null) @@ -30,10 +51,36 @@ public BaseItemEmiRecipe(EmiRecipeCategory category, hasItem.getMatchItem().getItems().forEach(item -> inputs.add(EmiStack.of(item, hasItem.getMatchItem().count.getMin()))); } + } else if ( + ingredient instanceof HasBlock hasBlock + && !(ingredient instanceof NotHasBlock) + && !hasBlock.getMatchBlock().getBlocks().isEmpty()) { + Block block = hasBlock.getMatchBlock().getBlocks().iterator().next(); + BlockState workBlockState = block.defaultBlockState(); + for (BlockState blockState : block.getStateDefinition().getPossibleStates()) { + first: + for (Map.Entry entry : hasBlock.getMatchBlock().getProperties().entrySet()) { + for (Map.Entry, Comparable> entry1 : blockState.getValues().entrySet()) { + if (!entry1.getKey().getName().equals(entry.getKey())) continue; + if (!entry1.getValue().toString().equals(entry.getValue())) break first; + } + workBlockState = blockState; + } + } + this.workBlockStates.add(workBlockState); + this.workBlockPoses.add(new Vec2((float) hasBlock.getOffset().x, (float) hasBlock.getOffset().y)); + this.outputWorkBlockPoses.add(new Vec2((float) hasBlock.getOffset().x, (float) hasBlock.getOffset().y)); + } else if ( + ingredient instanceof HasFluidCauldron hasFluidCauldron) { + this.workBlockStates.add(hasFluidCauldron.getMatchBlock().defaultBlockState()); + this.workBlockPoses.add( + new Vec2((float) hasFluidCauldron.getOffset().x, (float) hasFluidCauldron.getOffset().y)); + this.outputWorkBlockPoses.add( + new Vec2((float) hasFluidCauldron.getOffset().x, (float) hasFluidCauldron.getOffset().y)); } }); recipe.getOutcomes().forEach(recipeOutcome -> { - if (recipeOutcome instanceof SpawnItem spawnItem) { + if (recipeOutcome instanceof SpawnItem spawnItem && !spawnItem.getResult().isEmpty()) { simpleOutputs.add(EmiStack.of(spawnItem.getResult()).setChance((float) spawnItem.getChance())); } else if (recipeOutcome instanceof SelectOne selectOne) { ArrayList list = new ArrayList<>(); @@ -44,15 +91,20 @@ public BaseItemEmiRecipe(EmiRecipeCategory category, } }); selectOneItemList.add(list); + } else if (recipeOutcome instanceof SetBlock setBlock) { + blockOutputs.add(EmiStack.of(setBlock.getResult().getBlock().asItem().getDefaultInstance())); + isOutputBlock = true; + outputBlockState = setBlock.getResult(); } }); + this.height = 84 + (15 * Math.max(0, workBlockStates.size() - 2)); } protected void addInputSlots(WidgetHolder widgets) { List posLis = getSlotsPosLis(inputs.size()); Vec2 size = getSlotsComposeSize(inputs.size()); - int x = inputs.size() == 1 ? 41 : (int) ((26 - size.x / 2) + 11); - int y = (int) ((26 - size.y / 2) + 11); + int x = inputs.size() == 1 ? 40 : (int) ((26 - size.x / 2) + 10); + int y = (int) ((26 - size.y / 2) + 15); Iterator ingredientIterator = inputs.iterator(); for (Vec2 vec2 : posLis) { addSlot(ingredientIterator.next(), (int) (x + vec2.x), (int) (y + vec2.y), widgets); @@ -63,8 +115,8 @@ protected void addOutputs(WidgetHolder widgets) { int outputSize = simpleOutputs.size() + selectOneItemList.size(); List posLis = getSlotsPosLis(outputSize); Vec2 composeSize = getSlotsComposeSize(outputSize); - int x = outputSize == 1 ? 179 : (int) ((26 - composeSize.x / 2) + 169); - int y = (int) ((26 - composeSize.y / 2) + 11); + int x = outputSize == 1 ? 190 : (int) ((26 - composeSize.x / 2) + 190); + int y = (int) ((26 - composeSize.y / 2) + 15); Iterator emiStackIterator = simpleOutputs.iterator(); Iterator> emiStackListIterator = selectOneItemList.iterator(); for (Vec2 vec2 : posLis) { @@ -101,10 +153,28 @@ protected Vec2 getSlotsComposeSize(int length) { @Override public void addWidgets(WidgetHolder widgets) { - addBendArrow(widgets, 75, 34); - addStraightArrow(widgets, 119, 34); - addPlus(widgets, 154, 34); - addInputSlots(widgets); - addOutputs(widgets); + addStraightArrow(widgets, 120, 41); + if (!inputs.isEmpty()) { + addInputArrow(widgets, 72, 32); + addInputSlots(widgets); + } + if (!isOutputBlock || !getItemOutputs().isEmpty()) { + addOutputArrow(widgets, 163, 30); + addOutputs(widgets); + } else { + addStraightArrow(widgets, 163, 41); + widgets.addDrawable(180, 25, 0, 0, new BlockWidget( + outputBlockState, + new Vec2(0, -1)) + ); + } + widgets.addDrawable(90, 25, 0, 0, new BlockWidget( + workBlockStates, + workBlockPoses + )); + widgets.addDrawable(135, 25, 0, 0, new BlockWidget( + workBlockStates, + outputWorkBlockPoses) + ); } } diff --git a/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/CompactionEmiRecipe.java b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/CompactionEmiRecipe.java new file mode 100644 index 000000000..fa9b74f7e --- /dev/null +++ b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/CompactionEmiRecipe.java @@ -0,0 +1,34 @@ +package dev.dubhe.anvilcraft.integration.emi.recipe; + +import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipe; +import dev.dubhe.anvilcraft.integration.emi.ui.BlockWidget; +import dev.emi.emi.api.recipe.EmiRecipeCategory; +import dev.emi.emi.api.widget.WidgetHolder; +import net.minecraft.world.phys.Vec2; + +public class CompactionEmiRecipe extends BaseBlockEmiRecipe { + /** + * 基础压合配方 + * + * @param category 配方类型 + * @param recipe {@link AnvilRecipe}配方 + */ + public CompactionEmiRecipe(EmiRecipeCategory category, AnvilRecipe recipe) { + super(category, recipe); + outPutBlockPoses.remove(0); + outPutBlockPoses.add(0, new Vec2(0, -1)); + } + + @Override + public void addWidgets(WidgetHolder widgets) { + addStraightArrow(widgets, 120, 41); + widgets.addDrawable(90, 20, 0, 0, new BlockWidget( + inputBlockStates, + inputBlockPoses + )); + widgets.addDrawable(135, 20, 0, 0, new BlockWidget( + outPutBlockStates, + outPutBlockPoses) + ); + } +} diff --git a/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/CookingEmiRecipe.java b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/CookingEmiRecipe.java new file mode 100644 index 000000000..c5620947a --- /dev/null +++ b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/CookingEmiRecipe.java @@ -0,0 +1,22 @@ +package dev.dubhe.anvilcraft.integration.emi.recipe; + +import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipe; +import dev.emi.emi.api.recipe.EmiRecipeCategory; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.phys.Vec2; + +public class CookingEmiRecipe extends BaseItemEmiRecipe { + /** + * 烹饪配方 + * + * @param category 配方类型 + * @param recipe {@link AnvilRecipe}配方 + */ + public CookingEmiRecipe(EmiRecipeCategory category, AnvilRecipe recipe) { + super(category, recipe); + this.workBlockStates.add(Blocks.CAMPFIRE.defaultBlockState()); + this.workBlockPoses.add(new Vec2(0, -2)); + this.outputWorkBlockPoses.add(new Vec2(0, -2)); + this.height = 99; + } +} diff --git a/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/ItemInjectRecipe.java b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/ItemInjectRecipe.java new file mode 100644 index 000000000..db0a2d7c3 --- /dev/null +++ b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/ItemInjectRecipe.java @@ -0,0 +1,30 @@ +package dev.dubhe.anvilcraft.integration.emi.recipe; + +import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipe; +import dev.dubhe.anvilcraft.integration.emi.ui.BlockWidget; +import dev.emi.emi.api.recipe.EmiRecipeCategory; +import dev.emi.emi.api.widget.WidgetHolder; + +import java.util.List; + +public class ItemInjectRecipe extends BaseItemEmiRecipe { + public ItemInjectRecipe(EmiRecipeCategory category, AnvilRecipe recipe) { + super(category, recipe); + isOutputBlock = false; + } + + @Override + public void addWidgets(WidgetHolder widgets) { + addInputArrow(widgets, 72, 32); + addStraightArrow(widgets, 120, 41); + addInputSlots(widgets); + widgets.addDrawable(90, 25, 0, 0, new BlockWidget( + workBlockStates, + workBlockPoses + )); + widgets.addDrawable(135, 25, 0, 0, new BlockWidget( + List.of(ANVIL_BLOCK_STATE, outputBlockState), + outputWorkBlockPoses) + ); + } +} diff --git a/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/SievingEmiRecipe.java b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/SievingEmiRecipe.java new file mode 100644 index 000000000..b4efcc3e5 --- /dev/null +++ b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/SievingEmiRecipe.java @@ -0,0 +1,16 @@ +package dev.dubhe.anvilcraft.integration.emi.recipe; + +import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipe; +import dev.emi.emi.api.recipe.EmiRecipeCategory; +import dev.emi.emi.api.widget.WidgetHolder; + +public class SievingEmiRecipe extends BaseItemEmiRecipe { + public SievingEmiRecipe(EmiRecipeCategory category, AnvilRecipe recipe) { + super(category, recipe); + } + + @Override + protected void addOutputArrow(WidgetHolder widgets, int x, int y) { + widgets.addTexture(EMI_GUI_TEXTURES, x, y, 14, 19, 17, 31); + } +} diff --git a/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/SievingEmiRecipes.java b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/SievingEmiRecipes.java deleted file mode 100644 index 42d495b5d..000000000 --- a/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/SievingEmiRecipes.java +++ /dev/null @@ -1,30 +0,0 @@ -package dev.dubhe.anvilcraft.integration.emi.recipe; - -import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipe; -import dev.dubhe.anvilcraft.init.ModBlocks; -import dev.dubhe.anvilcraft.integration.emi.AnvilCraftEmiRecipeTypes; -import dev.dubhe.anvilcraft.integration.emi.ui.BlockWidget; -import dev.emi.emi.api.recipe.EmiRecipeCategory; -import dev.emi.emi.api.widget.WidgetHolder; -import net.minecraft.world.level.block.Blocks; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.phys.Vec2; - -public class SievingEmiRecipes extends BaseItemEmiRecipe { - public SievingEmiRecipes(AnvilRecipe recipe) { - super(AnvilCraftEmiRecipeTypes.SIEVING, recipe); - } - - @Override - public void addWidgets(WidgetHolder widgets) { - super.addWidgets(widgets); - widgets.addDrawable(93, 39, 0, 0, new BlockWidget( - new BlockState[]{ANVIL_BLOCK_STATE, Blocks.SCAFFOLDING.defaultBlockState()}, - new Vec2[]{new Vec2(0, 2), Vec2.ZERO} - )); - widgets.addDrawable(128, 39, 0, 0, new BlockWidget( - new BlockState[]{ANVIL_BLOCK_STATE, Blocks.SCAFFOLDING.defaultBlockState()}, - new Vec2[]{new Vec2(0, 1), Vec2.ZERO} - )); - } -} diff --git a/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/StampingEmiRecipes.java b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/StampingEmiRecipes.java deleted file mode 100644 index 461cf2325..000000000 --- a/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/recipe/StampingEmiRecipes.java +++ /dev/null @@ -1,28 +0,0 @@ -package dev.dubhe.anvilcraft.integration.emi.recipe; - -import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipe; -import dev.dubhe.anvilcraft.init.ModBlocks; -import dev.dubhe.anvilcraft.integration.emi.AnvilCraftEmiRecipeTypes; -import dev.dubhe.anvilcraft.integration.emi.ui.BlockWidget; -import dev.emi.emi.api.widget.WidgetHolder; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.phys.Vec2; - -public class StampingEmiRecipes extends BaseItemEmiRecipe { - public StampingEmiRecipes(AnvilRecipe recipe) { - super(AnvilCraftEmiRecipeTypes.STAMPING, recipe); - } - - @Override - public void addWidgets(WidgetHolder widgets) { - super.addWidgets(widgets); - widgets.addDrawable(93, 39, 0, 0, new BlockWidget( - new BlockState[]{ANVIL_BLOCK_STATE, ModBlocks.STAMPING_PLATFORM.getDefaultState()}, - new Vec2[]{new Vec2(0, 2), Vec2.ZERO} - )); - widgets.addDrawable(128, 39, 0, 0, new BlockWidget( - new BlockState[]{ANVIL_BLOCK_STATE, ModBlocks.STAMPING_PLATFORM.getDefaultState()}, - new Vec2[]{new Vec2(0, 1), Vec2.ZERO} - )); - } -} diff --git a/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/ui/BlockWidget.java b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/ui/BlockWidget.java index 0a98c5739..275ac30cf 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/ui/BlockWidget.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/ui/BlockWidget.java @@ -3,10 +3,11 @@ import dev.dubhe.anvilcraft.util.BlockStateRender; import dev.emi.emi.api.widget.DrawableWidget.DrawableWidgetConsumer; import net.minecraft.client.gui.GuiGraphics; -import net.minecraft.core.BlockPos; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.Vec2; +import java.util.List; + public class BlockWidget implements DrawableWidgetConsumer { private final BlockState[] blockStates; private final Vec2[] vec2s; @@ -16,6 +17,11 @@ public BlockWidget(BlockState[] blockStates, Vec2[] vec2s) { this.vec2s = vec2s; } + public BlockWidget(List blockStates, List vec2s) { + this.blockStates = blockStates.toArray(new BlockState[0]); + this.vec2s = vec2s.toArray(new Vec2[0]); + } + public BlockWidget(BlockState blockState, Vec2 vec2) { this.blockStates = new BlockState[]{blockState}; this.vec2s = new Vec2[]{vec2}; diff --git a/common/src/main/resources/assets/anvilcraft/textures/gui/container/emi/emi.png b/common/src/main/resources/assets/anvilcraft/textures/gui/container/emi/emi.png index 9828a7cb7592bc32dcdf55b6d7e8e59b8df7cdc5..a7de04df4e6d35e47b9e0568b94b2b5fd80d8c0b 100644 GIT binary patch delta 564 zcmV-40?YmI1knbNNq;R+OjJdSi;H%4cK-mvS65eQX=(re|M&Owa&mI;@apE}0VEz)HLgJ zKeg0x)qIV*rQ4}Wx6SR={Cw6^TOC(j1)x0xwD8SjlU98uqgl_6hQbX5DVasQ5e8w0si=R_zZBN{eVAjh-?=ub)gNB z`=@mkfb}IU$A7Cd^#Q;mMF&^}LIR|v9*aOofX7}bI=~}E2Z%lbg0BLP=*wXA91u4N z28sOt2N-hSb$y?QQtzXn>mm$_TkXCO)ar+M=#P%Sau)$${q1uZ2jx+EE*&o-^-u(^ z4=_#R^Z6XdX&S0P1;}+u6p|`%eSqWbBCrB1VJb*0@zmiWM4WO?7 zKa)?tt^#2IYX5J^Cm2BOKbJUsB%d4#VCjFFkK|M5LL`8r|1J5{zk-nfroI2IM~u0MhrrL;wH)26R$RQ~&?} z|Nj89zofqa00H7jL_t(|+U(fNj)Wi(1yG>$|9^RWv}T&j!pzcpinJlNn>x7yvDI8{ z^qNK+_rLv9ZLII8R&Asxwz46wb@SKGbP z0d|2bfb&c5b{(IOz7+;=?Q4BplS&5&UjusjBAC7l-K6)6mkFn002ovPDHLkV1lXtl->XU diff --git a/fabric/src/generated/resources/assets/anvilcraft/lang/en_ud.json b/fabric/src/generated/resources/assets/anvilcraft/lang/en_ud.json index 6084b1059..ee6578a5d 100644 --- a/fabric/src/generated/resources/assets/anvilcraft/lang/en_ud.json +++ b/fabric/src/generated/resources/assets/anvilcraft/lang/en_ud.json @@ -171,6 +171,23 @@ "block.anvilcraft.void_stone": "ǝuoʇS pıoΛ", "block.anvilcraft.zinc_block": "ʞɔoןᗺ ɔuıZ", "config.jade.plugin_anvilcraft.power_provider": "ɹǝʍoԀ ʇɟɐɹƆ ןıʌuⱯ", + "emi.category.anvilcraft.block_smash": "ɥsɐɯSʞɔoןᗺ", + "emi.category.anvilcraft.boil": "ןıoᗺ", + "emi.category.anvilcraft.bulging": "buıbןnᗺ", + "emi.category.anvilcraft.bulging_like": "ǝʞıꞀbuıbןnᗺ", + "emi.category.anvilcraft.compaction": "uoıʇɔɐdɯoƆ", + "emi.category.anvilcraft.compress": "ssǝɹdɯoƆ", + "emi.category.anvilcraft.cooking": "buıʞooƆ", + "emi.category.anvilcraft.crystallize": "ǝzıןןɐʇsʎɹƆ", + "emi.category.anvilcraft.fluid_handling": "buıןpuɐHpınןℲ", + "emi.category.anvilcraft.item_inject": "ʇɔǝظuIɯǝʇI", + "emi.category.anvilcraft.item_smash": "ɥsɐɯSɯǝʇI", + "emi.category.anvilcraft.null": "ʇɟɐɹƆןıʌuⱯ", + "emi.category.anvilcraft.sieving": "buıʌǝıS", + "emi.category.anvilcraft.squeeze": "ǝzǝǝnbS", + "emi.category.anvilcraft.stamping": "buıdɯɐʇS", + "emi.category.anvilcraft.super_heating": "buıʇɐǝHɹǝdnS", + "emi.category.anvilcraft.timewarp": "dɹɐʍǝɯı⟘", "enchantment.anvilcraft.beheading": "buıpɐǝɥǝᗺ", "enchantment.anvilcraft.felling": "buıןןǝℲ", "enchantment.anvilcraft.harvest": "ʇsǝʌɹɐH", diff --git a/fabric/src/generated/resources/assets/anvilcraft/lang/en_us.json b/fabric/src/generated/resources/assets/anvilcraft/lang/en_us.json index c2b83f87f..e5b326c6e 100644 --- a/fabric/src/generated/resources/assets/anvilcraft/lang/en_us.json +++ b/fabric/src/generated/resources/assets/anvilcraft/lang/en_us.json @@ -171,6 +171,23 @@ "block.anvilcraft.void_stone": "Void Stone", "block.anvilcraft.zinc_block": "Zinc Block", "config.jade.plugin_anvilcraft.power_provider": "Anvil Craft Power", + "emi.category.anvilcraft.block_smash": "BlockSmash", + "emi.category.anvilcraft.boil": "Boil", + "emi.category.anvilcraft.bulging": "Bulging", + "emi.category.anvilcraft.bulging_like": "BulgingLike", + "emi.category.anvilcraft.compaction": "Compaction", + "emi.category.anvilcraft.compress": "Compress", + "emi.category.anvilcraft.cooking": "Cooking", + "emi.category.anvilcraft.crystallize": "Crystallize", + "emi.category.anvilcraft.fluid_handling": "FluidHandling", + "emi.category.anvilcraft.item_inject": "ItemInject", + "emi.category.anvilcraft.item_smash": "ItemSmash", + "emi.category.anvilcraft.null": "AnvilCraft", + "emi.category.anvilcraft.sieving": "Sieving", + "emi.category.anvilcraft.squeeze": "Squeeze", + "emi.category.anvilcraft.stamping": "Stamping", + "emi.category.anvilcraft.super_heating": "SuperHeating", + "emi.category.anvilcraft.timewarp": "Timewarp", "enchantment.anvilcraft.beheading": "Beheading", "enchantment.anvilcraft.felling": "Felling", "enchantment.anvilcraft.harvest": "Harvest", @@ -383,4 +400,4 @@ "tooltip.anvilcraft.item.transmission_pole": "Build a power grid with a transmission distance of 8", "tooltip.anvilcraft.jade.power_information": "Power Grid: %d/%d KW", "tooltip.anvilcraft.ruby_prism.power": "Laser level: %d" -} +} \ No newline at end of file diff --git a/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/bulging/wet_sponge.json b/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/bulging/wet_sponge.json index 41ecc316b..550f92000 100644 --- a/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/bulging/wet_sponge.json +++ b/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/bulging/wet_sponge.json @@ -1,28 +1,28 @@ { "parent": "minecraft:recipes/root", "criteria": { - "has_sponge_gemmule": { + "has_the_recipe": { + "conditions": { + "recipe": "anvilcraft:bulging/wet_sponge" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_wet_sponge": { "conditions": { "items": [ { "items": [ - "anvilcraft:sponge_gemmule" + "minecraft:wet_sponge" ] } ] }, "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "anvilcraft:bulging/wet_sponge" - }, - "trigger": "minecraft:recipe_unlocked" } }, "requirements": [ [ - "has_sponge_gemmule", + "has_wet_sponge", "has_the_recipe" ] ], diff --git a/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/bulging/prismarine_cluster.json b/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/crystallize/prismarine_cluster.json similarity index 84% rename from forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/bulging/prismarine_cluster.json rename to fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/crystallize/prismarine_cluster.json index d9e438450..5a8eff489 100644 --- a/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/bulging/prismarine_cluster.json +++ b/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/crystallize/prismarine_cluster.json @@ -15,7 +15,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "anvilcraft:bulging/prismarine_cluster" + "recipe": "anvilcraft:crystallize/prismarine_cluster" }, "trigger": "minecraft:recipe_unlocked" } @@ -28,7 +28,7 @@ ], "rewards": { "recipes": [ - "anvilcraft:bulging/prismarine_cluster" + "anvilcraft:crystallize/prismarine_cluster" ] }, "sends_telemetry_event": false diff --git a/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/honey_block_2_honey_bottle.json b/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/heating/anvilcraft_gem_blocks_to_melt_gem_cauldron.json similarity index 64% rename from fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/honey_block_2_honey_bottle.json rename to fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/heating/anvilcraft_gem_blocks_to_melt_gem_cauldron.json index acd34a922..049ba1010 100644 --- a/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/honey_block_2_honey_bottle.json +++ b/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/heating/anvilcraft_gem_blocks_to_melt_gem_cauldron.json @@ -1,13 +1,11 @@ { "parent": "minecraft:recipes/root", "criteria": { - "has_honey_block": { + "has_gem_blocks": { "conditions": { "items": [ { - "items": [ - "minecraft:honey_block" - ] + "tag": "anvilcraft:gem_blocks" } ] }, @@ -15,20 +13,20 @@ }, "has_the_recipe": { "conditions": { - "recipe": "anvilcraft:smash/honey_block_2_honey_bottle" + "recipe": "anvilcraft:heating/anvilcraft_gem_blocks_to_melt_gem_cauldron" }, "trigger": "minecraft:recipe_unlocked" } }, "requirements": [ [ - "has_honey_block", + "has_gem_blocks", "has_the_recipe" ] ], "rewards": { "recipes": [ - "anvilcraft:smash/honey_block_2_honey_bottle" + "anvilcraft:heating/anvilcraft_gem_blocks_to_melt_gem_cauldron" ] }, "sends_telemetry_event": false diff --git a/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/heating/melt_gem_cauldron.json b/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/heating/melt_gem_cauldron.json deleted file mode 100644 index b10f08e9f..000000000 --- a/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/heating/melt_gem_cauldron.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_emerald_block": { - "conditions": { - "items": [ - { - "items": [ - "minecraft:emerald_block" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_ruby_block": { - "conditions": { - "items": [ - { - "items": [ - "anvilcraft:ruby_block" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_sapphire_block": { - "conditions": { - "items": [ - { - "items": [ - "anvilcraft:sapphire_block" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "anvilcraft:heating/melt_gem_cauldron" - }, - "trigger": "minecraft:recipe_unlocked" - }, - "has_topaz_block": { - "conditions": { - "items": [ - { - "items": [ - "anvilcraft:topaz_block" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - } - }, - "requirements": [ - [ - "has_emerald_block", - "has_ruby_block", - "has_topaz_block", - "has_sapphire_block", - "has_the_recipe" - ] - ], - "rewards": { - "recipes": [ - "anvilcraft:heating/melt_gem_cauldron" - ] - }, - "sends_telemetry_event": false -} \ No newline at end of file diff --git a/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/amethyst_block_2_amethyst_shard.json b/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/amethyst_block_to_amethyst_shard.json similarity index 81% rename from forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/amethyst_block_2_amethyst_shard.json rename to fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/amethyst_block_to_amethyst_shard.json index def8ffa15..0ca3de2cb 100644 --- a/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/amethyst_block_2_amethyst_shard.json +++ b/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/amethyst_block_to_amethyst_shard.json @@ -15,7 +15,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "anvilcraft:smash/amethyst_block_2_amethyst_shard" + "recipe": "anvilcraft:smash/amethyst_block_to_amethyst_shard" }, "trigger": "minecraft:recipe_unlocked" } @@ -28,7 +28,7 @@ ], "rewards": { "recipes": [ - "anvilcraft:smash/amethyst_block_2_amethyst_shard" + "anvilcraft:smash/amethyst_block_to_amethyst_shard" ] }, "sends_telemetry_event": false diff --git a/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/clay_2_clay_ball.json b/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/clay_to_clay_ball.json similarity index 84% rename from forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/clay_2_clay_ball.json rename to fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/clay_to_clay_ball.json index 784bcd3bb..1dede66df 100644 --- a/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/clay_2_clay_ball.json +++ b/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/clay_to_clay_ball.json @@ -15,7 +15,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "anvilcraft:smash/clay_2_clay_ball" + "recipe": "anvilcraft:smash/clay_to_clay_ball" }, "trigger": "minecraft:recipe_unlocked" } @@ -28,7 +28,7 @@ ], "rewards": { "recipes": [ - "anvilcraft:smash/clay_2_clay_ball" + "anvilcraft:smash/clay_to_clay_ball" ] }, "sends_telemetry_event": false diff --git a/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/dripstone_block_2_pointed_dripstone.json b/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/dripstone_block_to_pointed_dripstone.json similarity index 80% rename from forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/dripstone_block_2_pointed_dripstone.json rename to fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/dripstone_block_to_pointed_dripstone.json index 75bfc46f6..cb3a0b38b 100644 --- a/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/dripstone_block_2_pointed_dripstone.json +++ b/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/dripstone_block_to_pointed_dripstone.json @@ -15,7 +15,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "anvilcraft:smash/dripstone_block_2_pointed_dripstone" + "recipe": "anvilcraft:smash/dripstone_block_to_pointed_dripstone" }, "trigger": "minecraft:recipe_unlocked" } @@ -28,7 +28,7 @@ ], "rewards": { "recipes": [ - "anvilcraft:smash/dripstone_block_2_pointed_dripstone" + "anvilcraft:smash/dripstone_block_to_pointed_dripstone" ] }, "sends_telemetry_event": false diff --git a/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/glowstone_2_glowstone_dust.json b/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/glowstone_to_glowstone_dust.json similarity index 82% rename from forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/glowstone_2_glowstone_dust.json rename to fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/glowstone_to_glowstone_dust.json index 8b1fbaefe..40757a1da 100644 --- a/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/glowstone_2_glowstone_dust.json +++ b/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/glowstone_to_glowstone_dust.json @@ -15,7 +15,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "anvilcraft:smash/glowstone_2_glowstone_dust" + "recipe": "anvilcraft:smash/glowstone_to_glowstone_dust" }, "trigger": "minecraft:recipe_unlocked" } @@ -28,7 +28,7 @@ ], "rewards": { "recipes": [ - "anvilcraft:smash/glowstone_2_glowstone_dust" + "anvilcraft:smash/glowstone_to_glowstone_dust" ] }, "sends_telemetry_event": false diff --git a/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/hollow_magnet_block_2_magnet_ingot.json b/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/hollow_magnet_block_to_magnet_ingot.json similarity index 81% rename from fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/hollow_magnet_block_2_magnet_ingot.json rename to fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/hollow_magnet_block_to_magnet_ingot.json index 3e2716b11..d69032b66 100644 --- a/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/hollow_magnet_block_2_magnet_ingot.json +++ b/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/hollow_magnet_block_to_magnet_ingot.json @@ -15,7 +15,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "anvilcraft:smash/hollow_magnet_block_2_magnet_ingot" + "recipe": "anvilcraft:smash/hollow_magnet_block_to_magnet_ingot" }, "trigger": "minecraft:recipe_unlocked" } @@ -28,7 +28,7 @@ ], "rewards": { "recipes": [ - "anvilcraft:smash/hollow_magnet_block_2_magnet_ingot" + "anvilcraft:smash/hollow_magnet_block_to_magnet_ingot" ] }, "sends_telemetry_event": false diff --git a/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/honey_block_2_honey_bottle.json b/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/honey_block_to_honey_bottle.json similarity index 59% rename from forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/honey_block_2_honey_bottle.json rename to fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/honey_block_to_honey_bottle.json index acd34a922..20a640770 100644 --- a/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/honey_block_2_honey_bottle.json +++ b/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/honey_block_to_honey_bottle.json @@ -1,6 +1,18 @@ { "parent": "minecraft:recipes/root", "criteria": { + "has_glass_bottle": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:glass_bottle" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, "has_honey_block": { "conditions": { "items": [ @@ -15,7 +27,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "anvilcraft:smash/honey_block_2_honey_bottle" + "recipe": "anvilcraft:smash/honey_block_to_honey_bottle" }, "trigger": "minecraft:recipe_unlocked" } @@ -23,12 +35,13 @@ "requirements": [ [ "has_honey_block", + "has_glass_bottle", "has_the_recipe" ] ], "rewards": { "recipes": [ - "anvilcraft:smash/honey_block_2_honey_bottle" + "anvilcraft:smash/honey_block_to_honey_bottle" ] }, "sends_telemetry_event": false diff --git a/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/honeycomb_block_2_honeycomb.json b/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/honeycomb_block_to_honeycomb.json similarity index 82% rename from forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/honeycomb_block_2_honeycomb.json rename to fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/honeycomb_block_to_honeycomb.json index eb00df1a5..46b463ba7 100644 --- a/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/honeycomb_block_2_honeycomb.json +++ b/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/honeycomb_block_to_honeycomb.json @@ -15,7 +15,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "anvilcraft:smash/honeycomb_block_2_honeycomb" + "recipe": "anvilcraft:smash/honeycomb_block_to_honeycomb" }, "trigger": "minecraft:recipe_unlocked" } @@ -28,7 +28,7 @@ ], "rewards": { "recipes": [ - "anvilcraft:smash/honeycomb_block_2_honeycomb" + "anvilcraft:smash/honeycomb_block_to_honeycomb" ] }, "sends_telemetry_event": false diff --git a/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/magnet_block_2_magnet_ingot.json b/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/magnet_block_to_magnet_ingot.json similarity index 82% rename from forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/magnet_block_2_magnet_ingot.json rename to fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/magnet_block_to_magnet_ingot.json index a40a9fc40..279e66e61 100644 --- a/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/magnet_block_2_magnet_ingot.json +++ b/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/magnet_block_to_magnet_ingot.json @@ -15,7 +15,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "anvilcraft:smash/magnet_block_2_magnet_ingot" + "recipe": "anvilcraft:smash/magnet_block_to_magnet_ingot" }, "trigger": "minecraft:recipe_unlocked" } @@ -28,7 +28,7 @@ ], "rewards": { "recipes": [ - "anvilcraft:smash/magnet_block_2_magnet_ingot" + "anvilcraft:smash/magnet_block_to_magnet_ingot" ] }, "sends_telemetry_event": false diff --git a/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/melon_2_melon_slice.json b/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/melon_to_melon_slice.json similarity index 84% rename from forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/melon_2_melon_slice.json rename to fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/melon_to_melon_slice.json index aa59df9fb..393148f53 100644 --- a/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/melon_2_melon_slice.json +++ b/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/melon_to_melon_slice.json @@ -15,7 +15,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "anvilcraft:smash/melon_2_melon_slice" + "recipe": "anvilcraft:smash/melon_to_melon_slice" }, "trigger": "minecraft:recipe_unlocked" } @@ -28,7 +28,7 @@ ], "rewards": { "recipes": [ - "anvilcraft:smash/melon_2_melon_slice" + "anvilcraft:smash/melon_to_melon_slice" ] }, "sends_telemetry_event": false diff --git a/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/prismarine_bricks_2_prismarine_shard.json b/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/prismarine_bricks_to_prismarine_shard.json similarity index 80% rename from fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/prismarine_bricks_2_prismarine_shard.json rename to fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/prismarine_bricks_to_prismarine_shard.json index faa0d40c7..d2da19fbe 100644 --- a/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/prismarine_bricks_2_prismarine_shard.json +++ b/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/prismarine_bricks_to_prismarine_shard.json @@ -15,7 +15,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "anvilcraft:smash/prismarine_bricks_2_prismarine_shard" + "recipe": "anvilcraft:smash/prismarine_bricks_to_prismarine_shard" }, "trigger": "minecraft:recipe_unlocked" } @@ -28,7 +28,7 @@ ], "rewards": { "recipes": [ - "anvilcraft:smash/prismarine_bricks_2_prismarine_shard" + "anvilcraft:smash/prismarine_bricks_to_prismarine_shard" ] }, "sends_telemetry_event": false diff --git a/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/prismarine_2_prismarine_shard.json b/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/prismarine_to_prismarine_shard.json similarity index 81% rename from fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/prismarine_2_prismarine_shard.json rename to fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/prismarine_to_prismarine_shard.json index 4ffa4f3a9..c5588b3a4 100644 --- a/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/prismarine_2_prismarine_shard.json +++ b/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/prismarine_to_prismarine_shard.json @@ -15,7 +15,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "anvilcraft:smash/prismarine_2_prismarine_shard" + "recipe": "anvilcraft:smash/prismarine_to_prismarine_shard" }, "trigger": "minecraft:recipe_unlocked" } @@ -28,7 +28,7 @@ ], "rewards": { "recipes": [ - "anvilcraft:smash/prismarine_2_prismarine_shard" + "anvilcraft:smash/prismarine_to_prismarine_shard" ] }, "sends_telemetry_event": false diff --git a/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/quartz_block_2_quartz.json b/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/quartz_block_to_quartz.json similarity index 84% rename from forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/quartz_block_2_quartz.json rename to fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/quartz_block_to_quartz.json index 43116ab09..8db40a4e4 100644 --- a/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/quartz_block_2_quartz.json +++ b/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/quartz_block_to_quartz.json @@ -15,7 +15,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "anvilcraft:smash/quartz_block_2_quartz" + "recipe": "anvilcraft:smash/quartz_block_to_quartz" }, "trigger": "minecraft:recipe_unlocked" } @@ -28,7 +28,7 @@ ], "rewards": { "recipes": [ - "anvilcraft:smash/quartz_block_2_quartz" + "anvilcraft:smash/quartz_block_to_quartz" ] }, "sends_telemetry_event": false diff --git a/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/snow_block_2_snowball.json b/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/snow_block_to_snowball.json similarity index 83% rename from forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/snow_block_2_snowball.json rename to fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/snow_block_to_snowball.json index 7049674e8..edbfd1039 100644 --- a/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/snow_block_2_snowball.json +++ b/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/snow_block_to_snowball.json @@ -15,7 +15,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "anvilcraft:smash/snow_block_2_snowball" + "recipe": "anvilcraft:smash/snow_block_to_snowball" }, "trigger": "minecraft:recipe_unlocked" } @@ -28,7 +28,7 @@ ], "rewards": { "recipes": [ - "anvilcraft:smash/snow_block_2_snowball" + "anvilcraft:smash/snow_block_to_snowball" ] }, "sends_telemetry_event": false diff --git a/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/wet_sponge_2_sponge_gemmule.json b/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/wet_sponge_to_sponge_gemmule.json similarity index 82% rename from fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/wet_sponge_2_sponge_gemmule.json rename to fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/wet_sponge_to_sponge_gemmule.json index 47de28e69..dda76eb92 100644 --- a/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/wet_sponge_2_sponge_gemmule.json +++ b/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/wet_sponge_to_sponge_gemmule.json @@ -3,7 +3,7 @@ "criteria": { "has_the_recipe": { "conditions": { - "recipe": "anvilcraft:smash/wet_sponge_2_sponge_gemmule" + "recipe": "anvilcraft:smash/wet_sponge_to_sponge_gemmule" }, "trigger": "minecraft:recipe_unlocked" }, @@ -28,7 +28,7 @@ ], "rewards": { "recipes": [ - "anvilcraft:smash/wet_sponge_2_sponge_gemmule" + "anvilcraft:smash/wet_sponge_to_sponge_gemmule" ] }, "sends_telemetry_event": false diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/boil/beef_mushroom_stew.json b/fabric/src/generated/resources/data/anvilcraft/recipes/boil/beef_mushroom_stew.json index d4932f1ac..f1fe31c21 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/boil/beef_mushroom_stew.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/boil/beef_mushroom_stew.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "boil", "icon": { "item": "anvilcraft:beef_mushroom_stew" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/boil/slime_ball.json b/fabric/src/generated/resources/data/anvilcraft/recipes/boil/slime_ball.json index e8aa375e4..4179caa92 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/boil/slime_ball.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/boil/slime_ball.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "boil", "icon": { "item": "minecraft:slime_ball" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bone_block.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bone_block.json index 3e851c094..f5dcc9e92 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bone_block.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bone_block.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "compress", "icon": { "item": "minecraft:bone_block" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging/brain_coral_block.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging/brain_coral_block.json index 21cf24b61..3b689208e 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging/brain_coral_block.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging/brain_coral_block.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging", "icon": { "item": "minecraft:brain_coral_block" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging/bubble_coral_block.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging/bubble_coral_block.json index bfc8b994a..f44db9b40 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging/bubble_coral_block.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging/bubble_coral_block.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging", "icon": { "item": "minecraft:bubble_coral_block" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging/clay.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging/clay.json index eb239b79a..a3246a904 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging/clay.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging/clay.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging", "icon": { "item": "minecraft:clay" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging/dough.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging/dough.json index d65029a58..163264ddc 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging/dough.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging/dough.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging", "icon": { "item": "anvilcraft:dough" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging/fermented_spider_eye.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging/fermented_spider_eye.json index 62cf7a5f3..8e9ec37db 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging/fermented_spider_eye.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging/fermented_spider_eye.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging", "icon": { "item": "minecraft:fermented_spider_eye" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging/fire_coral_block.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging/fire_coral_block.json index 4e9fbcfc3..bd4447949 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging/fire_coral_block.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging/fire_coral_block.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging", "icon": { "item": "minecraft:fire_coral_block" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging/horn_coral_block.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging/horn_coral_block.json index a4aac2312..7fe16ceac 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging/horn_coral_block.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging/horn_coral_block.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging", "icon": { "item": "minecraft:horn_coral_block" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging/nether_wart_block.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging/nether_wart_block.json index 840dcb267..6b01a8c26 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging/nether_wart_block.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging/nether_wart_block.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging", "icon": { "item": "minecraft:nether_wart_block" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging/tube_coral_block.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging/tube_coral_block.json index 613267764..de53e34bb 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging/tube_coral_block.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging/tube_coral_block.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging", "icon": { "item": "minecraft:tube_coral_block" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging/warped_wart_block.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging/warped_wart_block.json index 76bcb7bd4..3bcb43d37 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging/warped_wart_block.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging/warped_wart_block.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging", "icon": { "item": "minecraft:warped_wart_block" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging/wet_sponge.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging/wet_sponge.json index 9a80def81..6e1f502a4 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging/wet_sponge.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging/wet_sponge.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging", "icon": { "item": "minecraft:wet_sponge" }, @@ -36,7 +36,7 @@ "min": 1 }, "items": [ - "anvilcraft:sponge_gemmule" + "minecraft:wet_sponge" ] }, "offset": [ diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/black_dye.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/black_dye.json index 58a62b0a6..81aaae1fc 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/black_dye.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/black_dye.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "fluid_handling", "icon": { "item": "minecraft:black_dye" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/blue_dye.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/blue_dye.json index 9a30e47f9..c954d6acb 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/blue_dye.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/blue_dye.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "fluid_handling", "icon": { "item": "minecraft:blue_dye" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/brown_dye.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/brown_dye.json index 90ed39515..d903f17cb 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/brown_dye.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/brown_dye.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "fluid_handling", "icon": { "item": "minecraft:brown_dye" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/cyan_dye.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/cyan_dye.json index 9afc8dfce..683a157cb 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/cyan_dye.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/cyan_dye.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "fluid_handling", "icon": { "item": "minecraft:cyan_dye" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_black_concrete.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_black_concrete.json index d8b82e4cc..d6d2bdd66 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_black_concrete.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_black_concrete.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "minecraft:black_concrete" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_blue_concrete.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_blue_concrete.json index 0696d5945..093aeeb2b 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_blue_concrete.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_blue_concrete.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "minecraft:blue_concrete" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_brown_concrete.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_brown_concrete.json index 4bb9756f5..9c7565cbf 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_brown_concrete.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_brown_concrete.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "minecraft:brown_concrete" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_cyan_concrete.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_cyan_concrete.json index 44754fec0..f4490fddd 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_cyan_concrete.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_cyan_concrete.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "minecraft:cyan_concrete" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_gray_concrete.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_gray_concrete.json index f74958d5e..2542f31d2 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_gray_concrete.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_gray_concrete.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "minecraft:gray_concrete" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_green_concrete.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_green_concrete.json index 61a30b9aa..6b00c509c 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_green_concrete.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_green_concrete.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "minecraft:green_concrete" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_light_blue_concrete.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_light_blue_concrete.json index cd609c3ac..844011674 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_light_blue_concrete.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_light_blue_concrete.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "minecraft:light_blue_concrete" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_light_gray_concrete.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_light_gray_concrete.json index 0bd90989d..a633b74ad 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_light_gray_concrete.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_light_gray_concrete.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "minecraft:light_gray_concrete" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_lime_concrete.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_lime_concrete.json index a22c2b077..9225a3f18 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_lime_concrete.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_lime_concrete.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "minecraft:lime_concrete" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_magenta_concrete.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_magenta_concrete.json index ace118cdf..1b6940f77 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_magenta_concrete.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_magenta_concrete.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "minecraft:magenta_concrete" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_orange_concrete.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_orange_concrete.json index 037ba86ef..81cf1a686 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_orange_concrete.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_orange_concrete.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "minecraft:orange_concrete" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_pink_concrete.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_pink_concrete.json index 3e4c23e28..86066cf0e 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_pink_concrete.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_pink_concrete.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "minecraft:pink_concrete" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_purple_concrete.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_purple_concrete.json index 07e9905ac..07724bfe6 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_purple_concrete.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_purple_concrete.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "minecraft:purple_concrete" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_red_concrete.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_red_concrete.json index 2acacc459..2d9d92eb1 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_red_concrete.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_red_concrete.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "minecraft:red_concrete" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_black.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_black.json index 9b19b59f0..2ea7d10b0 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_black.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_black.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "anvilcraft:reinforced_concrete_black" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_blue.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_blue.json index 2aea20986..e99fcd019 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_blue.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_blue.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "anvilcraft:reinforced_concrete_blue" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_brown.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_brown.json index 191f148f3..25ca0e29a 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_brown.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_brown.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "anvilcraft:reinforced_concrete_brown" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_cyan.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_cyan.json index 9eda8ac37..6c0b24161 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_cyan.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_cyan.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "anvilcraft:reinforced_concrete_cyan" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_gray.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_gray.json index d425d1998..6d142bcaf 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_gray.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_gray.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "anvilcraft:reinforced_concrete_gray" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_green.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_green.json index a58b1fc9c..b9dc0427f 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_green.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_green.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "anvilcraft:reinforced_concrete_green" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_light_blue.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_light_blue.json index b44f14935..6e775ce3b 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_light_blue.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_light_blue.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "anvilcraft:reinforced_concrete_light_blue" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_light_gray.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_light_gray.json index 35bf7eead..0007febcb 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_light_gray.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_light_gray.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "anvilcraft:reinforced_concrete_light_gray" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_lime.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_lime.json index 93e0f4712..c13f64b71 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_lime.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_lime.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "anvilcraft:reinforced_concrete_lime" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_magenta.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_magenta.json index c6a7e5e25..49df57d6d 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_magenta.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_magenta.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "anvilcraft:reinforced_concrete_magenta" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_orange.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_orange.json index 744cba4fc..1c4949c28 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_orange.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_orange.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "anvilcraft:reinforced_concrete_orange" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_pink.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_pink.json index 4bb177375..495a3bea0 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_pink.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_pink.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "anvilcraft:reinforced_concrete_pink" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_purple.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_purple.json index e4e1f22a8..cbc386e19 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_purple.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_purple.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "anvilcraft:reinforced_concrete_purple" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_red.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_red.json index 682128faf..981b569fe 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_red.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_red.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "anvilcraft:reinforced_concrete_red" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_white.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_white.json index f906f12aa..5ca50c255 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_white.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_white.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "anvilcraft:reinforced_concrete_white" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_yellow.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_yellow.json index f31b78be6..9c801db36 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_yellow.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_yellow.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "anvilcraft:reinforced_concrete_yellow" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_white_concrete.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_white_concrete.json index 9eaf3cf26..99ded571e 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_white_concrete.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_white_concrete.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "minecraft:white_concrete" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_yellow_concrete.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_yellow_concrete.json index 185fc17a7..d8c4d352c 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_yellow_concrete.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_yellow_concrete.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "minecraft:yellow_concrete" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gray_dye.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gray_dye.json index 6588a8090..5a94cf4c2 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gray_dye.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/gray_dye.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "fluid_handling", "icon": { "item": "minecraft:gray_dye" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/green_dye.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/green_dye.json index 23012eb68..67103a2d1 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/green_dye.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/green_dye.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "fluid_handling", "icon": { "item": "minecraft:green_dye" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/light_blue_dye.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/light_blue_dye.json index 0cc7e9e2c..1caeae5ea 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/light_blue_dye.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/light_blue_dye.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "fluid_handling", "icon": { "item": "minecraft:light_blue_dye" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/light_gray_dye.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/light_gray_dye.json index f89fb4960..b5501fa6d 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/light_gray_dye.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/light_gray_dye.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "fluid_handling", "icon": { "item": "minecraft:light_gray_dye" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/lime_dye.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/lime_dye.json index 0a60afede..2fc4a29fc 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/lime_dye.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/lime_dye.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "fluid_handling", "icon": { "item": "minecraft:lime_dye" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/magenta_dye.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/magenta_dye.json index 94aa5bbe6..eb83bb277 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/magenta_dye.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/magenta_dye.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "fluid_handling", "icon": { "item": "minecraft:magenta_dye" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/orange_dye.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/orange_dye.json index 1a0c34510..8dc72e44a 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/orange_dye.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/orange_dye.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "fluid_handling", "icon": { "item": "minecraft:orange_dye" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/pink_dye.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/pink_dye.json index 76b7970a2..565376782 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/pink_dye.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/pink_dye.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "fluid_handling", "icon": { "item": "minecraft:pink_dye" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/purple_dye.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/purple_dye.json index 79108a9ae..9d79d91cd 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/purple_dye.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/purple_dye.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "fluid_handling", "icon": { "item": "minecraft:purple_dye" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/red_dye.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/red_dye.json index 3e9d35de8..561929ba5 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/red_dye.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/red_dye.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "fluid_handling", "icon": { "item": "minecraft:red_dye" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/white_dye.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/white_dye.json index a810e88f7..8ceb593d7 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/white_dye.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/white_dye.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "fluid_handling", "icon": { "item": "minecraft:white_dye" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/yellow_dye.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/yellow_dye.json index fae0ea24b..239521315 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/yellow_dye.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/yellow_dye.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "fluid_handling", "icon": { "item": "minecraft:yellow_dye" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/cook/hardend_resin.json b/fabric/src/generated/resources/data/anvilcraft/recipes/cook/hardend_resin.json index 2b374092f..dcea499ff 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/cook/hardend_resin.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/cook/hardend_resin.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "cooking", "icon": { "item": "anvilcraft:hardend_resin" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/cook/utusan.json b/fabric/src/generated/resources/data/anvilcraft/recipes/cook/utusan.json index 1ede549e5..f274aefa0 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/cook/utusan.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/cook/utusan.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "cooking", "icon": { "item": "anvilcraft:utusan" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging/prismarine_cluster.json b/fabric/src/generated/resources/data/anvilcraft/recipes/crystallize/prismarine_cluster.json similarity index 95% rename from fabric/src/generated/resources/data/anvilcraft/recipes/bulging/prismarine_cluster.json rename to fabric/src/generated/resources/data/anvilcraft/recipes/crystallize/prismarine_cluster.json index 080a5aa61..3db190e3d 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging/prismarine_cluster.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/crystallize/prismarine_cluster.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "crystallize", "icon": { "item": "anvilcraft:prismarine_cluster" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/heating/anvilcraft_dead_tube_to_lime_powder.json b/fabric/src/generated/resources/data/anvilcraft/recipes/heating/anvilcraft_dead_tube_to_lime_powder.json index 69eb2e926..3be429fad 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/heating/anvilcraft_dead_tube_to_lime_powder.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/heating/anvilcraft_dead_tube_to_lime_powder.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "super_heating", "icon": { "item": "anvilcraft:lime_powder" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/heating/melt_gem_cauldron.json b/fabric/src/generated/resources/data/anvilcraft/recipes/heating/anvilcraft_gem_blocks_to_melt_gem_cauldron.json similarity index 78% rename from forge/src/generated/resources/data/anvilcraft/recipes/heating/melt_gem_cauldron.json rename to fabric/src/generated/resources/data/anvilcraft/recipes/heating/anvilcraft_gem_blocks_to_melt_gem_cauldron.json index 8b7b330f4..2fbc1183f 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/heating/melt_gem_cauldron.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/heating/anvilcraft_gem_blocks_to_melt_gem_cauldron.json @@ -1,7 +1,8 @@ { "type": "anvilcraft:anvil_processing", + "anvil_recipe_type": "super_heating", "icon": { - "item": "minecraft:emerald_block" + "item": "minecraft:air" }, "outcomes": [ { @@ -35,7 +36,7 @@ ] }, { - "type": "has_block_ingredient", + "type": "has_block", "match_block": { "blocks": [ "minecraft:cauldron" @@ -53,12 +54,7 @@ "count": { "min": 1 }, - "items": [ - "minecraft:emerald_block", - "anvilcraft:ruby_block", - "anvilcraft:topaz_block", - "anvilcraft:sapphire_block" - ] + "tag": "anvilcraft:gem_blocks" }, "offset": [ 0.0, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/heating/c_stone_lime_powder_to_lava_cauldron.json b/fabric/src/generated/resources/data/anvilcraft/recipes/heating/c_stone_lime_powder_to_lava_cauldron.json index dd9beff36..5f2fa0460 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/heating/c_stone_lime_powder_to_lava_cauldron.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/heating/c_stone_lime_powder_to_lava_cauldron.json @@ -1,8 +1,8 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "super_heating", "icon": { - "item": "minecraft:cauldron" + "item": "anvilcraft:lime_powder" }, "outcomes": [ { diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/heating/calcite_to_lime_powder.json b/fabric/src/generated/resources/data/anvilcraft/recipes/heating/calcite_to_lime_powder.json index 7ea922650..1879b0c2c 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/heating/calcite_to_lime_powder.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/heating/calcite_to_lime_powder.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "super_heating", "icon": { "item": "anvilcraft:lime_powder" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/heating/coal_block_to_diamond.json b/fabric/src/generated/resources/data/anvilcraft/recipes/heating/coal_block_to_diamond.json index e59875f4a..d5ae9a95f 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/heating/coal_block_to_diamond.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/heating/coal_block_to_diamond.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "super_heating", "icon": { "item": "minecraft:diamond" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/heating/cobblestone_lime_powder_to_lava_cauldron.json b/fabric/src/generated/resources/data/anvilcraft/recipes/heating/cobblestone_lime_powder_to_lava_cauldron.json index 6ee5c8db5..585bb8621 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/heating/cobblestone_lime_powder_to_lava_cauldron.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/heating/cobblestone_lime_powder_to_lava_cauldron.json @@ -1,8 +1,8 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "super_heating", "icon": { - "item": "minecraft:cauldron" + "item": "minecraft:cobblestone" }, "outcomes": [ { diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/heating/crab_claw_to_lime_powder.json b/fabric/src/generated/resources/data/anvilcraft/recipes/heating/crab_claw_to_lime_powder.json index f495dba9a..09afee7ab 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/heating/crab_claw_to_lime_powder.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/heating/crab_claw_to_lime_powder.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "super_heating", "icon": { "item": "anvilcraft:lime_powder" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/heating/dripstone_block_to_lime_powder.json b/fabric/src/generated/resources/data/anvilcraft/recipes/heating/dripstone_block_to_lime_powder.json index 84b4aed62..067167d08 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/heating/dripstone_block_to_lime_powder.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/heating/dripstone_block_to_lime_powder.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "super_heating", "icon": { "item": "anvilcraft:lime_powder" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/heating/forge_stone_lime_powder_to_lava_cauldron.json b/fabric/src/generated/resources/data/anvilcraft/recipes/heating/forge_stone_lime_powder_to_lava_cauldron.json index 1fe2b7213..ac1d62950 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/heating/forge_stone_lime_powder_to_lava_cauldron.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/heating/forge_stone_lime_powder_to_lava_cauldron.json @@ -1,8 +1,8 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "super_heating", "icon": { - "item": "minecraft:cauldron" + "item": "anvilcraft:lime_powder" }, "outcomes": [ { diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/heating/iron_ingot_diamond_amethyst_shard_anvilcraft_gems_to_royal_steel_ingot.json b/fabric/src/generated/resources/data/anvilcraft/recipes/heating/iron_ingot_diamond_amethyst_shard_anvilcraft_gems_to_royal_steel_ingot.json index 301fc5b2b..ccefdc175 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/heating/iron_ingot_diamond_amethyst_shard_anvilcraft_gems_to_royal_steel_ingot.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/heating/iron_ingot_diamond_amethyst_shard_anvilcraft_gems_to_royal_steel_ingot.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "super_heating", "icon": { "item": "anvilcraft:royal_steel_ingot" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/heating/nautilus_shell_to_lime_powder.json b/fabric/src/generated/resources/data/anvilcraft/recipes/heating/nautilus_shell_to_lime_powder.json index 2c5822eef..10c09e3b0 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/heating/nautilus_shell_to_lime_powder.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/heating/nautilus_shell_to_lime_powder.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "super_heating", "icon": { "item": "anvilcraft:lime_powder" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/heating/pointed_dripstone_to_lime_powder.json b/fabric/src/generated/resources/data/anvilcraft/recipes/heating/pointed_dripstone_to_lime_powder.json index d422232b2..98146e48b 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/heating/pointed_dripstone_to_lime_powder.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/heating/pointed_dripstone_to_lime_powder.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "super_heating", "icon": { "item": "anvilcraft:lime_powder" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/heating/quartz_sand_royal_steel_ingot_to_tempering_glass.json b/fabric/src/generated/resources/data/anvilcraft/recipes/heating/quartz_sand_royal_steel_ingot_to_tempering_glass.json index b171392f7..219d07f6d 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/heating/quartz_sand_royal_steel_ingot_to_tempering_glass.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/heating/quartz_sand_royal_steel_ingot_to_tempering_glass.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "super_heating", "icon": { "item": "anvilcraft:tempering_glass" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/heating/raw_iron_capacitor_to_magnet_ingot_capacitor_empty.json b/fabric/src/generated/resources/data/anvilcraft/recipes/heating/raw_iron_capacitor_to_magnet_ingot_capacitor_empty.json index 7fe7c0e44..fcc42197e 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/heating/raw_iron_capacitor_to_magnet_ingot_capacitor_empty.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/heating/raw_iron_capacitor_to_magnet_ingot_capacitor_empty.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "super_heating", "icon": { "item": "anvilcraft:magnet_ingot" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/heating/wood_fiber_to_charcoal.json b/fabric/src/generated/resources/data/anvilcraft/recipes/heating/wood_fiber_to_charcoal.json index 2803d68b4..4c1b28442 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/heating/wood_fiber_to_charcoal.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/heating/wood_fiber_to_charcoal.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "super_heating", "icon": { "item": "minecraft:charcoal" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_copper_ore.json b/fabric/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_copper_ore.json index 478ebfe50..9ebecbd7a 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_copper_ore.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_copper_ore.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "item_inject", "icon": { "item": "minecraft:deepslate_copper_ore" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_gold_ore.json b/fabric/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_gold_ore.json index 8fe90f60d..21cd43ec9 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_gold_ore.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_gold_ore.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "item_inject", "icon": { "item": "minecraft:deepslate_gold_ore" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_iron_ore.json b/fabric/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_iron_ore.json index 1cbc4b1cd..cfc4160fd 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_iron_ore.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_iron_ore.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "item_inject", "icon": { "item": "minecraft:deepslate_iron_ore" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_lead_ore.json b/fabric/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_lead_ore.json index 721d9e468..357c42f34 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_lead_ore.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_lead_ore.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "item_inject", "icon": { "item": "anvilcraft:deepslate_lead_ore" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_silver_ore.json b/fabric/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_silver_ore.json index 04bb54c12..a9e953aa2 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_silver_ore.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_silver_ore.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "item_inject", "icon": { "item": "anvilcraft:deepslate_silver_ore" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_tin_ore.json b/fabric/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_tin_ore.json index d48c5b33a..00741c979 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_tin_ore.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_tin_ore.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "item_inject", "icon": { "item": "anvilcraft:deepslate_tin_ore" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_titanium_ore.json b/fabric/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_titanium_ore.json index 888cdb4bf..2383d4553 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_titanium_ore.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_titanium_ore.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "item_inject", "icon": { "item": "anvilcraft:deepslate_titanium_ore" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_tungsten_ore.json b/fabric/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_tungsten_ore.json index 8e2f9a315..ddee31940 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_tungsten_ore.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_tungsten_ore.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "item_inject", "icon": { "item": "anvilcraft:deepslate_tungsten_ore" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_uranium_ore.json b/fabric/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_uranium_ore.json index 750228a87..d63083dbe 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_uranium_ore.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_uranium_ore.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "item_inject", "icon": { "item": "anvilcraft:deepslate_uranium_ore" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_zinc_ore.json b/fabric/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_zinc_ore.json index 67ff70bce..0822adcd1 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_zinc_ore.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_zinc_ore.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "item_inject", "icon": { "item": "anvilcraft:deepslate_zinc_ore" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/item_inject/gilded_blackstone.json b/fabric/src/generated/resources/data/anvilcraft/recipes/item_inject/gilded_blackstone.json index eeeefb21c..ff5f3602f 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/item_inject/gilded_blackstone.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/item_inject/gilded_blackstone.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "item_inject", "icon": { "item": "minecraft:gilded_blackstone" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/item_inject/nether_gold_ore.json b/fabric/src/generated/resources/data/anvilcraft/recipes/item_inject/nether_gold_ore.json index 276736a01..58dcd56b2 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/item_inject/nether_gold_ore.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/item_inject/nether_gold_ore.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "item_inject", "icon": { "item": "minecraft:nether_gold_ore" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/chainmail_boots_2_chain.json b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/chainmail_boots_2_chain.json index 20925f437..4bc8dbbe7 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/chainmail_boots_2_chain.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/chainmail_boots_2_chain.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:chain" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/chainmail_chestplate_2_chain.json b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/chainmail_chestplate_2_chain.json index 714573ad3..995d92075 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/chainmail_chestplate_2_chain.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/chainmail_chestplate_2_chain.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:chain" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/chainmail_helmet_2_chain.json b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/chainmail_helmet_2_chain.json index 89b721fb0..a86630140 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/chainmail_helmet_2_chain.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/chainmail_helmet_2_chain.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:chain" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/chainmail_leggings_2_chain.json b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/chainmail_leggings_2_chain.json index b84dbef5a..32fa9f53c 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/chainmail_leggings_2_chain.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/chainmail_leggings_2_chain.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:chain" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_axe_2_diamond.json b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_axe_2_diamond.json index 169e00a00..e816010ea 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_axe_2_diamond.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_axe_2_diamond.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:diamond" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_boots_2_diamond.json b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_boots_2_diamond.json index 46791895e..4f1d50589 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_boots_2_diamond.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_boots_2_diamond.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:diamond" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_chestplate_2_diamond.json b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_chestplate_2_diamond.json index ef1c00b1e..665a395c8 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_chestplate_2_diamond.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_chestplate_2_diamond.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:diamond" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_helmet_2_diamond.json b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_helmet_2_diamond.json index a23f0fe4b..e81e584f2 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_helmet_2_diamond.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_helmet_2_diamond.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:diamond" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_hoe_2_diamond.json b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_hoe_2_diamond.json index 643854e74..f27a3dc29 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_hoe_2_diamond.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_hoe_2_diamond.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:diamond" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_horse_armor_2_diamond.json b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_horse_armor_2_diamond.json index 56fea9cdd..b722111ca 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_horse_armor_2_diamond.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_horse_armor_2_diamond.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:diamond" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_leggings_2_diamond.json b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_leggings_2_diamond.json index 6edf9c968..7e5b28281 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_leggings_2_diamond.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_leggings_2_diamond.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:diamond" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_pickaxe_2_diamond.json b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_pickaxe_2_diamond.json index f482c8f14..9b4f8df2b 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_pickaxe_2_diamond.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_pickaxe_2_diamond.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:diamond" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_shovel_2_diamond.json b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_shovel_2_diamond.json index ca537ed5a..0902dee58 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_shovel_2_diamond.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_shovel_2_diamond.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:diamond" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_sword_2_diamond.json b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_sword_2_diamond.json index 92fe48faf..330c89619 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_sword_2_diamond.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_sword_2_diamond.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:diamond" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_axe_2_gold_ingot.json b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_axe_2_gold_ingot.json index 365841295..b1ec944d1 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_axe_2_gold_ingot.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_axe_2_gold_ingot.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:gold_ingot" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_boots_2_gold_ingot.json b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_boots_2_gold_ingot.json index 665df0fb6..2770a8d4d 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_boots_2_gold_ingot.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_boots_2_gold_ingot.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:gold_ingot" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_chestplate_2_gold_ingot.json b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_chestplate_2_gold_ingot.json index 75cc58ce4..ddf4143c6 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_chestplate_2_gold_ingot.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_chestplate_2_gold_ingot.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:gold_ingot" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_helmet_2_gold_ingot.json b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_helmet_2_gold_ingot.json index 3c8de2ced..f146ed52c 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_helmet_2_gold_ingot.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_helmet_2_gold_ingot.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:gold_ingot" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_hoe_2_gold_ingot.json b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_hoe_2_gold_ingot.json index 9f0dbdd48..96bb70630 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_hoe_2_gold_ingot.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_hoe_2_gold_ingot.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:gold_ingot" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_horse_armor_2_gold_ingot.json b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_horse_armor_2_gold_ingot.json index e22fc3983..bad78e865 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_horse_armor_2_gold_ingot.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_horse_armor_2_gold_ingot.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:gold_ingot" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_leggings_2_gold_ingot.json b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_leggings_2_gold_ingot.json index 2ea68ecdb..f069c31a2 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_leggings_2_gold_ingot.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_leggings_2_gold_ingot.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:gold_ingot" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_pickaxe_2_gold_ingot.json b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_pickaxe_2_gold_ingot.json index 9a08f0447..770c9435c 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_pickaxe_2_gold_ingot.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_pickaxe_2_gold_ingot.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:gold_ingot" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_shovel_2_gold_ingot.json b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_shovel_2_gold_ingot.json index b3825e657..f5379acee 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_shovel_2_gold_ingot.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_shovel_2_gold_ingot.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:gold_ingot" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_sword_2_gold_ingot.json b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_sword_2_gold_ingot.json index 4c6c28e62..3c198cc4d 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_sword_2_gold_ingot.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_sword_2_gold_ingot.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:gold_ingot" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_axe_2_iron_ingot.json b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_axe_2_iron_ingot.json index 158e71c10..050d21746 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_axe_2_iron_ingot.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_axe_2_iron_ingot.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:iron_ingot" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_boots_2_iron_ingot.json b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_boots_2_iron_ingot.json index dc18c2ed5..166be8e03 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_boots_2_iron_ingot.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_boots_2_iron_ingot.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:iron_ingot" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_chestplate_2_iron_ingot.json b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_chestplate_2_iron_ingot.json index e697a8072..b71a2a745 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_chestplate_2_iron_ingot.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_chestplate_2_iron_ingot.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:iron_ingot" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_helmet_2_iron_ingot.json b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_helmet_2_iron_ingot.json index adb5d97a9..7913fbfae 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_helmet_2_iron_ingot.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_helmet_2_iron_ingot.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:iron_ingot" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_hoe_2_iron_ingot.json b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_hoe_2_iron_ingot.json index 579c83767..1b817f038 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_hoe_2_iron_ingot.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_hoe_2_iron_ingot.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:iron_ingot" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_horse_armor_2_iron_ingot.json b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_horse_armor_2_iron_ingot.json index 187d0e144..33d75773e 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_horse_armor_2_iron_ingot.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_horse_armor_2_iron_ingot.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:iron_ingot" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_leggings_2_iron_ingot.json b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_leggings_2_iron_ingot.json index e9cc9d536..bc619000d 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_leggings_2_iron_ingot.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_leggings_2_iron_ingot.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:iron_ingot" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_pickaxe_2_iron_ingot.json b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_pickaxe_2_iron_ingot.json index 05cacea44..5f2479222 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_pickaxe_2_iron_ingot.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_pickaxe_2_iron_ingot.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:iron_ingot" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_shovel_2_iron_ingot.json b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_shovel_2_iron_ingot.json index bdea9145a..65727ed75 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_shovel_2_iron_ingot.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_shovel_2_iron_ingot.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:iron_ingot" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_sword_2_iron_ingot.json b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_sword_2_iron_ingot.json index 8b32fd107..9ed5347f4 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_sword_2_iron_ingot.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_sword_2_iron_ingot.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:iron_ingot" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/sieving/leaves.json b/fabric/src/generated/resources/data/anvilcraft/recipes/sieving/leaves.json index e649f1a86..437d3562c 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/sieving/leaves.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/sieving/leaves.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "sieving", "icon": { "item": "minecraft:anvil" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/smash/amethyst_block_2_amethyst_shard.json b/fabric/src/generated/resources/data/anvilcraft/recipes/smash/amethyst_block_to_amethyst_shard.json similarity index 93% rename from forge/src/generated/resources/data/anvilcraft/recipes/smash/amethyst_block_2_amethyst_shard.json rename to fabric/src/generated/resources/data/anvilcraft/recipes/smash/amethyst_block_to_amethyst_shard.json index 3ca72991c..a5ff81a80 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/smash/amethyst_block_2_amethyst_shard.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/smash/amethyst_block_to_amethyst_shard.json @@ -1,8 +1,7 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "item_smash", "icon": { - "count": 4, "item": "minecraft:amethyst_shard" }, "outcomes": [ @@ -28,6 +27,7 @@ "minecraft:iron_trapdoor" ], "state": { + "half": "top", "open": "false" } }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/smash/clay_2_clay_ball.json b/fabric/src/generated/resources/data/anvilcraft/recipes/smash/clay_to_clay_ball.json similarity index 93% rename from forge/src/generated/resources/data/anvilcraft/recipes/smash/clay_2_clay_ball.json rename to fabric/src/generated/resources/data/anvilcraft/recipes/smash/clay_to_clay_ball.json index e66ed92f7..4b6efd54a 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/smash/clay_2_clay_ball.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/smash/clay_to_clay_ball.json @@ -1,8 +1,7 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "item_smash", "icon": { - "count": 4, "item": "minecraft:clay_ball" }, "outcomes": [ @@ -28,6 +27,7 @@ "minecraft:iron_trapdoor" ], "state": { + "half": "top", "open": "false" } }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/smash/dripstone_block_2_pointed_dripstone.json b/fabric/src/generated/resources/data/anvilcraft/recipes/smash/dripstone_block_to_pointed_dripstone.json similarity index 93% rename from forge/src/generated/resources/data/anvilcraft/recipes/smash/dripstone_block_2_pointed_dripstone.json rename to fabric/src/generated/resources/data/anvilcraft/recipes/smash/dripstone_block_to_pointed_dripstone.json index 84f68cb0b..f2c6af8a2 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/smash/dripstone_block_2_pointed_dripstone.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/smash/dripstone_block_to_pointed_dripstone.json @@ -1,8 +1,7 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "item_smash", "icon": { - "count": 4, "item": "minecraft:pointed_dripstone" }, "outcomes": [ @@ -28,6 +27,7 @@ "minecraft:iron_trapdoor" ], "state": { + "half": "top", "open": "false" } }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/smash/glowstone_2_glowstone_dust.json b/fabric/src/generated/resources/data/anvilcraft/recipes/smash/glowstone_to_glowstone_dust.json similarity index 93% rename from fabric/src/generated/resources/data/anvilcraft/recipes/smash/glowstone_2_glowstone_dust.json rename to fabric/src/generated/resources/data/anvilcraft/recipes/smash/glowstone_to_glowstone_dust.json index 6da478edd..698723594 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/smash/glowstone_2_glowstone_dust.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/smash/glowstone_to_glowstone_dust.json @@ -1,8 +1,7 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "item_smash", "icon": { - "count": 4, "item": "minecraft:glowstone_dust" }, "outcomes": [ @@ -28,6 +27,7 @@ "minecraft:iron_trapdoor" ], "state": { + "half": "top", "open": "false" } }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/smash/hollow_magnet_block_2_magnet_ingot.json b/fabric/src/generated/resources/data/anvilcraft/recipes/smash/hollow_magnet_block_to_magnet_ingot.json similarity index 93% rename from fabric/src/generated/resources/data/anvilcraft/recipes/smash/hollow_magnet_block_2_magnet_ingot.json rename to fabric/src/generated/resources/data/anvilcraft/recipes/smash/hollow_magnet_block_to_magnet_ingot.json index da3893223..a46ebe524 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/smash/hollow_magnet_block_2_magnet_ingot.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/smash/hollow_magnet_block_to_magnet_ingot.json @@ -1,8 +1,7 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "item_smash", "icon": { - "count": 8, "item": "anvilcraft:magnet_ingot" }, "outcomes": [ @@ -28,6 +27,7 @@ "minecraft:iron_trapdoor" ], "state": { + "half": "top", "open": "false" } }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/smash/honey_block_2_honey_bottle.json b/fabric/src/generated/resources/data/anvilcraft/recipes/smash/honey_block_to_honey_bottle.json similarity index 93% rename from fabric/src/generated/resources/data/anvilcraft/recipes/smash/honey_block_2_honey_bottle.json rename to fabric/src/generated/resources/data/anvilcraft/recipes/smash/honey_block_to_honey_bottle.json index 444b70618..6c05c5cd6 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/smash/honey_block_2_honey_bottle.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/smash/honey_block_to_honey_bottle.json @@ -1,8 +1,7 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "item_smash", "icon": { - "count": 4, "item": "minecraft:honey_bottle" }, "outcomes": [ @@ -28,6 +27,7 @@ "minecraft:iron_trapdoor" ], "state": { + "half": "top", "open": "false" } }, @@ -41,7 +41,7 @@ "type": "has_item_ingredient", "match_item": { "count": { - "min": 1 + "min": 4 }, "items": [ "minecraft:honey_block" diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/smash/honeycomb_block_2_honeycomb.json b/fabric/src/generated/resources/data/anvilcraft/recipes/smash/honeycomb_block_to_honeycomb.json similarity index 93% rename from forge/src/generated/resources/data/anvilcraft/recipes/smash/honeycomb_block_2_honeycomb.json rename to fabric/src/generated/resources/data/anvilcraft/recipes/smash/honeycomb_block_to_honeycomb.json index 9eade7956..3f90b8215 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/smash/honeycomb_block_2_honeycomb.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/smash/honeycomb_block_to_honeycomb.json @@ -1,8 +1,7 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "item_smash", "icon": { - "count": 4, "item": "minecraft:honeycomb" }, "outcomes": [ @@ -28,6 +27,7 @@ "minecraft:iron_trapdoor" ], "state": { + "half": "top", "open": "false" } }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/smash/magnet_block_2_magnet_ingot.json b/fabric/src/generated/resources/data/anvilcraft/recipes/smash/magnet_block_to_magnet_ingot.json similarity index 93% rename from fabric/src/generated/resources/data/anvilcraft/recipes/smash/magnet_block_2_magnet_ingot.json rename to fabric/src/generated/resources/data/anvilcraft/recipes/smash/magnet_block_to_magnet_ingot.json index b8540ea97..bbf663a10 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/smash/magnet_block_2_magnet_ingot.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/smash/magnet_block_to_magnet_ingot.json @@ -1,8 +1,7 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "item_smash", "icon": { - "count": 9, "item": "anvilcraft:magnet_ingot" }, "outcomes": [ @@ -28,6 +27,7 @@ "minecraft:iron_trapdoor" ], "state": { + "half": "top", "open": "false" } }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/smash/melon_2_melon_slice.json b/fabric/src/generated/resources/data/anvilcraft/recipes/smash/melon_to_melon_slice.json similarity index 93% rename from fabric/src/generated/resources/data/anvilcraft/recipes/smash/melon_2_melon_slice.json rename to fabric/src/generated/resources/data/anvilcraft/recipes/smash/melon_to_melon_slice.json index 216a2feee..bbf6edca0 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/smash/melon_2_melon_slice.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/smash/melon_to_melon_slice.json @@ -1,8 +1,7 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "item_smash", "icon": { - "count": 9, "item": "minecraft:melon_slice" }, "outcomes": [ @@ -28,6 +27,7 @@ "minecraft:iron_trapdoor" ], "state": { + "half": "top", "open": "false" } }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/smash/prismarine_bricks_2_prismarine_shard.json b/fabric/src/generated/resources/data/anvilcraft/recipes/smash/prismarine_bricks_to_prismarine_shard.json similarity index 93% rename from forge/src/generated/resources/data/anvilcraft/recipes/smash/prismarine_bricks_2_prismarine_shard.json rename to fabric/src/generated/resources/data/anvilcraft/recipes/smash/prismarine_bricks_to_prismarine_shard.json index 02db02642..3242c8a7a 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/smash/prismarine_bricks_2_prismarine_shard.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/smash/prismarine_bricks_to_prismarine_shard.json @@ -1,8 +1,7 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "item_smash", "icon": { - "count": 9, "item": "minecraft:prismarine_shard" }, "outcomes": [ @@ -28,6 +27,7 @@ "minecraft:iron_trapdoor" ], "state": { + "half": "top", "open": "false" } }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/smash/prismarine_2_prismarine_shard.json b/fabric/src/generated/resources/data/anvilcraft/recipes/smash/prismarine_to_prismarine_shard.json similarity index 93% rename from fabric/src/generated/resources/data/anvilcraft/recipes/smash/prismarine_2_prismarine_shard.json rename to fabric/src/generated/resources/data/anvilcraft/recipes/smash/prismarine_to_prismarine_shard.json index 93a045ba7..372fa3f20 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/smash/prismarine_2_prismarine_shard.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/smash/prismarine_to_prismarine_shard.json @@ -1,8 +1,7 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "item_smash", "icon": { - "count": 4, "item": "minecraft:prismarine_shard" }, "outcomes": [ @@ -28,6 +27,7 @@ "minecraft:iron_trapdoor" ], "state": { + "half": "top", "open": "false" } }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/smash/quartz_block_2_quartz.json b/fabric/src/generated/resources/data/anvilcraft/recipes/smash/quartz_block_to_quartz.json similarity index 93% rename from forge/src/generated/resources/data/anvilcraft/recipes/smash/quartz_block_2_quartz.json rename to fabric/src/generated/resources/data/anvilcraft/recipes/smash/quartz_block_to_quartz.json index baa2a1eed..52147a366 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/smash/quartz_block_2_quartz.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/smash/quartz_block_to_quartz.json @@ -1,8 +1,7 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "item_smash", "icon": { - "count": 4, "item": "minecraft:quartz" }, "outcomes": [ @@ -28,6 +27,7 @@ "minecraft:iron_trapdoor" ], "state": { + "half": "top", "open": "false" } }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/smash/snow_block_2_snowball.json b/fabric/src/generated/resources/data/anvilcraft/recipes/smash/snow_block_to_snowball.json similarity index 93% rename from fabric/src/generated/resources/data/anvilcraft/recipes/smash/snow_block_2_snowball.json rename to fabric/src/generated/resources/data/anvilcraft/recipes/smash/snow_block_to_snowball.json index ad5150dc5..4905c1a1b 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/smash/snow_block_2_snowball.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/smash/snow_block_to_snowball.json @@ -1,8 +1,7 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "item_smash", "icon": { - "count": 4, "item": "minecraft:snowball" }, "outcomes": [ @@ -28,6 +27,7 @@ "minecraft:iron_trapdoor" ], "state": { + "half": "top", "open": "false" } }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/smash/wet_sponge_2_sponge_gemmule.json b/fabric/src/generated/resources/data/anvilcraft/recipes/smash/wet_sponge_to_sponge_gemmule.json similarity index 93% rename from fabric/src/generated/resources/data/anvilcraft/recipes/smash/wet_sponge_2_sponge_gemmule.json rename to fabric/src/generated/resources/data/anvilcraft/recipes/smash/wet_sponge_to_sponge_gemmule.json index d984b7e33..1aa572138 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/smash/wet_sponge_2_sponge_gemmule.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/smash/wet_sponge_to_sponge_gemmule.json @@ -1,8 +1,7 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "item_smash", "icon": { - "count": 4, "item": "anvilcraft:sponge_gemmule" }, "outcomes": [ @@ -28,6 +27,7 @@ "minecraft:iron_trapdoor" ], "state": { + "half": "top", "open": "false" } }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/andesite.json b/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/andesite.json index f48e9a765..f2435848f 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/andesite.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/andesite.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "block_smash", "icon": { "item": "minecraft:andesite" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/basalt_and_basalt_2_blackstone.json b/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/basalt_and_basalt_2_blackstone.json index 4e968b8de..3949d8147 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/basalt_and_basalt_2_blackstone.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/basalt_and_basalt_2_blackstone.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "compaction", "icon": { "item": "minecraft:blackstone" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/black_sand.json b/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/black_sand.json index 9b942b8a2..ad7bc2fe2 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/black_sand.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/black_sand.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "block_smash", "icon": { "item": "anvilcraft:black_sand" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/cinerite.json b/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/cinerite.json index 2ba2cb1eb..5e3332d05 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/cinerite.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/cinerite.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "block_smash", "icon": { "item": "anvilcraft:cinerite" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/cracked_deepslate_bricks.json b/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/cracked_deepslate_bricks.json index 250ac4fdb..2ee9cb91f 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/cracked_deepslate_bricks.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/cracked_deepslate_bricks.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "block_smash", "icon": { "item": "minecraft:cracked_deepslate_bricks" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/cracked_deepslate_tiles.json b/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/cracked_deepslate_tiles.json index 8ec5dc244..5d84b8bcc 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/cracked_deepslate_tiles.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/cracked_deepslate_tiles.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "block_smash", "icon": { "item": "minecraft:cracked_deepslate_tiles" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/cracked_nether_bricks.json b/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/cracked_nether_bricks.json index 030a411b2..f501c2852 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/cracked_nether_bricks.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/cracked_nether_bricks.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "block_smash", "icon": { "item": "minecraft:cracked_nether_bricks" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/cracked_polished_blackstone_bricks.json b/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/cracked_polished_blackstone_bricks.json index ecdc20cc5..b92ad6244 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/cracked_polished_blackstone_bricks.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/cracked_polished_blackstone_bricks.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "block_smash", "icon": { "item": "minecraft:cracked_polished_blackstone_bricks" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/cracked_stone_bricks.json b/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/cracked_stone_bricks.json index 475525aed..0a03a9b44 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/cracked_stone_bricks.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/cracked_stone_bricks.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "block_smash", "icon": { "item": "minecraft:cracked_stone_bricks" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/deepslate_chips.json b/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/deepslate_chips.json index 3aa93fa3a..5c00d1fa0 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/deepslate_chips.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/deepslate_chips.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "block_smash", "icon": { "item": "anvilcraft:deepslate_chips" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/diorite.json b/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/diorite.json index b85e9b152..8e6256439 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/diorite.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/diorite.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "block_smash", "icon": { "item": "minecraft:diorite" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/end_dust.json b/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/end_dust.json index 90c0d99e6..a651c663b 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/end_dust.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/end_dust.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "block_smash", "icon": { "item": "anvilcraft:end_dust" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/granite.json b/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/granite.json index 239d67d7b..9ce82e1a1 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/granite.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/granite.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "block_smash", "icon": { "item": "minecraft:granite" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/gravel.json b/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/gravel.json index 919e762a4..ca33e6b3a 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/gravel.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/gravel.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "block_smash", "icon": { "item": "minecraft:gravel" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/ice_and_ice_2_packed_ice.json b/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/ice_and_ice_2_packed_ice.json index 7cbd80a64..74a9e7c86 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/ice_and_ice_2_packed_ice.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/ice_and_ice_2_packed_ice.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "compaction", "icon": { "item": "minecraft:packed_ice" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/moss_block_and_dirt_2_grass_block.json b/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/moss_block_and_dirt_2_grass_block.json index a39477ffa..f48636af5 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/moss_block_and_dirt_2_grass_block.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/moss_block_and_dirt_2_grass_block.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "compaction", "icon": { "item": "minecraft:grass_block" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/nether_dust.json b/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/nether_dust.json index efa3890b8..cd95b0aba 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/nether_dust.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/nether_dust.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "block_smash", "icon": { "item": "anvilcraft:nether_dust" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/nether_wart_block_and_netherrack_2_crimson_nylium.json b/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/nether_wart_block_and_netherrack_2_crimson_nylium.json index 0f52081c8..34f42484d 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/nether_wart_block_and_netherrack_2_crimson_nylium.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/nether_wart_block_and_netherrack_2_crimson_nylium.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "compaction", "icon": { "item": "minecraft:crimson_nylium" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/packed_ice_and_packed_ice_2_blue_ice.json b/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/packed_ice_and_packed_ice_2_blue_ice.json index 1f163fe41..87180b502 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/packed_ice_and_packed_ice_2_blue_ice.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/packed_ice_and_packed_ice_2_blue_ice.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "compaction", "icon": { "item": "minecraft:blue_ice" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/quartz_sand.json b/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/quartz_sand.json index 8869e5387..983009320 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/quartz_sand.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/quartz_sand.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "block_smash", "icon": { "item": "anvilcraft:quartz_sand" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/red_sand.json b/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/red_sand.json index 21a22e695..a9f7c1f69 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/red_sand.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/red_sand.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "block_smash", "icon": { "item": "minecraft:red_sand" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/sand.json b/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/sand.json index 6cd8ae47f..258b8eaa8 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/sand.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/sand.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "block_smash", "icon": { "item": "minecraft:sand" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/soul_sand.json b/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/soul_sand.json index d3a1f0ac3..01f69e69b 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/soul_sand.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/soul_sand.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "block_smash", "icon": { "item": "minecraft:soul_sand" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/stone_and_stone_2_deepslate.json b/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/stone_and_stone_2_deepslate.json index 699f00801..169d77b8b 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/stone_and_stone_2_deepslate.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/stone_and_stone_2_deepslate.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "compaction", "icon": { "item": "minecraft:deepslate" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/warped_wart_block_and_netherrack_2_warped_nylium.json b/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/warped_wart_block_and_netherrack_2_warped_nylium.json index f4b72f0ee..bc9ee4e97 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/warped_wart_block_and_netherrack_2_warped_nylium.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/warped_wart_block_and_netherrack_2_warped_nylium.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "compaction", "icon": { "item": "minecraft:warped_nylium" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/squeeze/magma_block_lava_cauldron_1.json b/fabric/src/generated/resources/data/anvilcraft/recipes/squeeze/magma_block_lava_cauldron_1.json index 967e092ea..53b0c2e38 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/squeeze/magma_block_lava_cauldron_1.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/squeeze/magma_block_lava_cauldron_1.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "squeeze", "icon": { "item": "minecraft:netherrack" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/squeeze/magma_block_lava_cauldron_2.json b/fabric/src/generated/resources/data/anvilcraft/recipes/squeeze/magma_block_lava_cauldron_2.json index 20b37ec4e..4d4541e70 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/squeeze/magma_block_lava_cauldron_2.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/squeeze/magma_block_lava_cauldron_2.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "squeeze", "icon": { "item": "minecraft:netherrack" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/squeeze/magma_block_lava_cauldron_3.json b/fabric/src/generated/resources/data/anvilcraft/recipes/squeeze/magma_block_lava_cauldron_3.json index 2c4395204..6ace8554d 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/squeeze/magma_block_lava_cauldron_3.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/squeeze/magma_block_lava_cauldron_3.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "squeeze", "icon": { "item": "minecraft:netherrack" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/squeeze/moss_block_water_cauldron_1.json b/fabric/src/generated/resources/data/anvilcraft/recipes/squeeze/moss_block_water_cauldron_1.json index f27dde84c..abafe292a 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/squeeze/moss_block_water_cauldron_1.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/squeeze/moss_block_water_cauldron_1.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "squeeze", "icon": { "item": "minecraft:moss_carpet" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/squeeze/moss_block_water_cauldron_2.json b/fabric/src/generated/resources/data/anvilcraft/recipes/squeeze/moss_block_water_cauldron_2.json index cd6cc48d2..da8d356e3 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/squeeze/moss_block_water_cauldron_2.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/squeeze/moss_block_water_cauldron_2.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "squeeze", "icon": { "item": "minecraft:moss_carpet" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/squeeze/moss_block_water_cauldron_3.json b/fabric/src/generated/resources/data/anvilcraft/recipes/squeeze/moss_block_water_cauldron_3.json index 0742c6b3b..cbca699ca 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/squeeze/moss_block_water_cauldron_3.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/squeeze/moss_block_water_cauldron_3.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "squeeze", "icon": { "item": "minecraft:moss_carpet" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/squeeze/snow_block_powder_snow_cauldron_1.json b/fabric/src/generated/resources/data/anvilcraft/recipes/squeeze/snow_block_powder_snow_cauldron_1.json index 0a928fcee..d7b533732 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/squeeze/snow_block_powder_snow_cauldron_1.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/squeeze/snow_block_powder_snow_cauldron_1.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "squeeze", "icon": { "item": "minecraft:ice" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/squeeze/snow_block_powder_snow_cauldron_2.json b/fabric/src/generated/resources/data/anvilcraft/recipes/squeeze/snow_block_powder_snow_cauldron_2.json index ed093b9a7..f700b1cec 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/squeeze/snow_block_powder_snow_cauldron_2.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/squeeze/snow_block_powder_snow_cauldron_2.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "squeeze", "icon": { "item": "minecraft:ice" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/squeeze/snow_block_powder_snow_cauldron_3.json b/fabric/src/generated/resources/data/anvilcraft/recipes/squeeze/snow_block_powder_snow_cauldron_3.json index 3f6833f77..0bb897744 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/squeeze/snow_block_powder_snow_cauldron_3.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/squeeze/snow_block_powder_snow_cauldron_3.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "squeeze", "icon": { "item": "minecraft:ice" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/squeeze/wet_sponge_water_cauldron_1.json b/fabric/src/generated/resources/data/anvilcraft/recipes/squeeze/wet_sponge_water_cauldron_1.json index 005fa7da2..94bd313da 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/squeeze/wet_sponge_water_cauldron_1.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/squeeze/wet_sponge_water_cauldron_1.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "squeeze", "icon": { "item": "minecraft:sponge" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/squeeze/wet_sponge_water_cauldron_2.json b/fabric/src/generated/resources/data/anvilcraft/recipes/squeeze/wet_sponge_water_cauldron_2.json index 499c881ae..50c347fda 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/squeeze/wet_sponge_water_cauldron_2.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/squeeze/wet_sponge_water_cauldron_2.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "squeeze", "icon": { "item": "minecraft:sponge" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/squeeze/wet_sponge_water_cauldron_3.json b/fabric/src/generated/resources/data/anvilcraft/recipes/squeeze/wet_sponge_water_cauldron_3.json index 2fc50c09b..49df64769 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/squeeze/wet_sponge_water_cauldron_3.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/squeeze/wet_sponge_water_cauldron_3.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "squeeze", "icon": { "item": "minecraft:sponge" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/amber.json b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/amber.json index d5b21384e..3e3fe7299 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/amber.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/amber.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "timewarp", "icon": { "item": "anvilcraft:amber" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/ancient_debris.json b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/ancient_debris.json index 194a5efe0..1b7666ed4 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/ancient_debris.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/ancient_debris.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "timewarp", "icon": { "item": "minecraft:ancient_debris" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/budding_amethyst.json b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/budding_amethyst.json index 243810976..b9516f056 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/budding_amethyst.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/budding_amethyst.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "timewarp", "icon": { "item": "minecraft:budding_amethyst" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/calcite.json b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/calcite.json index bfc78fe42..8aa9d8092 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/calcite.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/calcite.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "timewarp", "icon": { "item": "minecraft:calcite" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/coal.json b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/coal.json index 5cadc86eb..bbf78675e 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/coal.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/coal.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "timewarp", "icon": { "item": "minecraft:coal" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/crying_obsidian.json b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/crying_obsidian.json index d97294981..492916d96 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/crying_obsidian.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/crying_obsidian.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "timewarp", "icon": { "item": "minecraft:crying_obsidian" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/dirt.json b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/dirt.json index fdb45a99b..7c54f37bc 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/dirt.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/dirt.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "timewarp", "icon": { "item": "minecraft:dirt" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/emerald_block.json b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/emerald_block.json index 3dd179f22..8f908b3d0 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/emerald_block.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/emerald_block.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "timewarp", "icon": { "item": "minecraft:emerald_block" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/end_stone.json b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/end_stone.json index 01ca8cf3a..cb816a544 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/end_stone.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/end_stone.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "timewarp", "icon": { "item": "minecraft:end_stone" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_copper.json b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_copper.json index 88d97a9bd..901931dad 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_copper.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_copper.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "timewarp", "icon": { "item": "minecraft:raw_copper" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_gold.json b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_gold.json index 343c90464..153832192 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_gold.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_gold.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "timewarp", "icon": { "item": "minecraft:raw_gold" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_iron.json b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_iron.json index 3be02687e..7197942c6 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_iron.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_iron.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "timewarp", "icon": { "item": "minecraft:raw_iron" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_lead.json b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_lead.json index a1c655272..b667f0c05 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_lead.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_lead.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "timewarp", "icon": { "item": "anvilcraft:raw_lead" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_silver.json b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_silver.json index 7589187f8..c8507363c 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_silver.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_silver.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "timewarp", "icon": { "item": "anvilcraft:raw_silver" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_tin.json b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_tin.json index 48f6d526c..b768e3be3 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_tin.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_tin.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "timewarp", "icon": { "item": "anvilcraft:raw_tin" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_titanium.json b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_titanium.json index 063093a6c..9a763e120 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_titanium.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_titanium.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "timewarp", "icon": { "item": "anvilcraft:raw_titanium" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_tungsten.json b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_tungsten.json index 9566cbcaa..7bbcecb9a 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_tungsten.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_tungsten.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "timewarp", "icon": { "item": "anvilcraft:raw_tungsten" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_uranium.json b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_uranium.json index d8238fb43..76dbc5bf6 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_uranium.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_uranium.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "timewarp", "icon": { "item": "anvilcraft:raw_uranium" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_zinc.json b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_zinc.json index 26e42cac8..4615475e8 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_zinc.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_zinc.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "timewarp", "icon": { "item": "anvilcraft:raw_zinc" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/ruby_block.json b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/ruby_block.json index 7b7434e3f..860197df0 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/ruby_block.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/ruby_block.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "timewarp", "icon": { "item": "anvilcraft:ruby_block" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/sapphire_block.json b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/sapphire_block.json index beeab29d9..a65a6ab05 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/sapphire_block.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/sapphire_block.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "timewarp", "icon": { "item": "anvilcraft:sapphire_block" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/sea_heart_shell.json b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/sea_heart_shell.json index f79543ee5..53db0eb18 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/sea_heart_shell.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/sea_heart_shell.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "timewarp", "icon": { "item": "anvilcraft:sea_heart_shell" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/soul_soil.json b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/soul_soil.json index 85cf2bbaf..c44b068b4 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/soul_soil.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/soul_soil.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "timewarp", "icon": { "item": "minecraft:soul_soil" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/topaz_block.json b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/topaz_block.json index e30eab7fa..1f05a9352 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/topaz_block.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/topaz_block.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "timewarp", "icon": { "item": "anvilcraft:topaz_block" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/tuff.json b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/tuff.json index 4b73a12f6..918893791 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/tuff.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/tuff.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "timewarp", "icon": { "item": "minecraft:tuff" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/wither_rose.json b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/wither_rose.json index a8ab8aade..90b29b584 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/wither_rose.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/wither_rose.json @@ -1,13 +1,13 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "timewarp", "icon": { "item": "minecraft:wither_rose" }, "outcomes": [ { "type": "spawn_item", - "chance": 0.2, + "chance": 0.20000000298023224, "offset": [ 0.0, -1.0, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/zombie.json b/fabric/src/generated/resources/data/anvilcraft/recipes/zombie.json index 019a4d6b3..47781098d 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/zombie.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/zombie.json @@ -17,7 +17,7 @@ } ], "transformOptions": [ - "keepInventory", - "replaceAnvil" + "replaceAnvil", + "keepInventory" ] } \ No newline at end of file diff --git a/forge/src/generated/resources/assets/anvilcraft/lang/en_ud.json b/forge/src/generated/resources/assets/anvilcraft/lang/en_ud.json index 6084b1059..ee6578a5d 100644 --- a/forge/src/generated/resources/assets/anvilcraft/lang/en_ud.json +++ b/forge/src/generated/resources/assets/anvilcraft/lang/en_ud.json @@ -171,6 +171,23 @@ "block.anvilcraft.void_stone": "ǝuoʇS pıoΛ", "block.anvilcraft.zinc_block": "ʞɔoןᗺ ɔuıZ", "config.jade.plugin_anvilcraft.power_provider": "ɹǝʍoԀ ʇɟɐɹƆ ןıʌuⱯ", + "emi.category.anvilcraft.block_smash": "ɥsɐɯSʞɔoןᗺ", + "emi.category.anvilcraft.boil": "ןıoᗺ", + "emi.category.anvilcraft.bulging": "buıbןnᗺ", + "emi.category.anvilcraft.bulging_like": "ǝʞıꞀbuıbןnᗺ", + "emi.category.anvilcraft.compaction": "uoıʇɔɐdɯoƆ", + "emi.category.anvilcraft.compress": "ssǝɹdɯoƆ", + "emi.category.anvilcraft.cooking": "buıʞooƆ", + "emi.category.anvilcraft.crystallize": "ǝzıןןɐʇsʎɹƆ", + "emi.category.anvilcraft.fluid_handling": "buıןpuɐHpınןℲ", + "emi.category.anvilcraft.item_inject": "ʇɔǝظuIɯǝʇI", + "emi.category.anvilcraft.item_smash": "ɥsɐɯSɯǝʇI", + "emi.category.anvilcraft.null": "ʇɟɐɹƆןıʌuⱯ", + "emi.category.anvilcraft.sieving": "buıʌǝıS", + "emi.category.anvilcraft.squeeze": "ǝzǝǝnbS", + "emi.category.anvilcraft.stamping": "buıdɯɐʇS", + "emi.category.anvilcraft.super_heating": "buıʇɐǝHɹǝdnS", + "emi.category.anvilcraft.timewarp": "dɹɐʍǝɯı⟘", "enchantment.anvilcraft.beheading": "buıpɐǝɥǝᗺ", "enchantment.anvilcraft.felling": "buıןןǝℲ", "enchantment.anvilcraft.harvest": "ʇsǝʌɹɐH", diff --git a/forge/src/generated/resources/assets/anvilcraft/lang/en_us.json b/forge/src/generated/resources/assets/anvilcraft/lang/en_us.json index c2b83f87f..e5b326c6e 100644 --- a/forge/src/generated/resources/assets/anvilcraft/lang/en_us.json +++ b/forge/src/generated/resources/assets/anvilcraft/lang/en_us.json @@ -171,6 +171,23 @@ "block.anvilcraft.void_stone": "Void Stone", "block.anvilcraft.zinc_block": "Zinc Block", "config.jade.plugin_anvilcraft.power_provider": "Anvil Craft Power", + "emi.category.anvilcraft.block_smash": "BlockSmash", + "emi.category.anvilcraft.boil": "Boil", + "emi.category.anvilcraft.bulging": "Bulging", + "emi.category.anvilcraft.bulging_like": "BulgingLike", + "emi.category.anvilcraft.compaction": "Compaction", + "emi.category.anvilcraft.compress": "Compress", + "emi.category.anvilcraft.cooking": "Cooking", + "emi.category.anvilcraft.crystallize": "Crystallize", + "emi.category.anvilcraft.fluid_handling": "FluidHandling", + "emi.category.anvilcraft.item_inject": "ItemInject", + "emi.category.anvilcraft.item_smash": "ItemSmash", + "emi.category.anvilcraft.null": "AnvilCraft", + "emi.category.anvilcraft.sieving": "Sieving", + "emi.category.anvilcraft.squeeze": "Squeeze", + "emi.category.anvilcraft.stamping": "Stamping", + "emi.category.anvilcraft.super_heating": "SuperHeating", + "emi.category.anvilcraft.timewarp": "Timewarp", "enchantment.anvilcraft.beheading": "Beheading", "enchantment.anvilcraft.felling": "Felling", "enchantment.anvilcraft.harvest": "Harvest", @@ -383,4 +400,4 @@ "tooltip.anvilcraft.item.transmission_pole": "Build a power grid with a transmission distance of 8", "tooltip.anvilcraft.jade.power_information": "Power Grid: %d/%d KW", "tooltip.anvilcraft.ruby_prism.power": "Laser level: %d" -} +} \ No newline at end of file diff --git a/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/bulging/wet_sponge.json b/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/bulging/wet_sponge.json index 41ecc316b..550f92000 100644 --- a/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/bulging/wet_sponge.json +++ b/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/bulging/wet_sponge.json @@ -1,28 +1,28 @@ { "parent": "minecraft:recipes/root", "criteria": { - "has_sponge_gemmule": { + "has_the_recipe": { + "conditions": { + "recipe": "anvilcraft:bulging/wet_sponge" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_wet_sponge": { "conditions": { "items": [ { "items": [ - "anvilcraft:sponge_gemmule" + "minecraft:wet_sponge" ] } ] }, "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "anvilcraft:bulging/wet_sponge" - }, - "trigger": "minecraft:recipe_unlocked" } }, "requirements": [ [ - "has_sponge_gemmule", + "has_wet_sponge", "has_the_recipe" ] ], diff --git a/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/bulging/prismarine_cluster.json b/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/crystallize/prismarine_cluster.json similarity index 84% rename from fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/bulging/prismarine_cluster.json rename to forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/crystallize/prismarine_cluster.json index d9e438450..5a8eff489 100644 --- a/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/bulging/prismarine_cluster.json +++ b/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/crystallize/prismarine_cluster.json @@ -15,7 +15,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "anvilcraft:bulging/prismarine_cluster" + "recipe": "anvilcraft:crystallize/prismarine_cluster" }, "trigger": "minecraft:recipe_unlocked" } @@ -28,7 +28,7 @@ ], "rewards": { "recipes": [ - "anvilcraft:bulging/prismarine_cluster" + "anvilcraft:crystallize/prismarine_cluster" ] }, "sends_telemetry_event": false diff --git a/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/heating/anvilcraft_gem_blocks_to_melt_gem_cauldron.json b/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/heating/anvilcraft_gem_blocks_to_melt_gem_cauldron.json new file mode 100644 index 000000000..049ba1010 --- /dev/null +++ b/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/heating/anvilcraft_gem_blocks_to_melt_gem_cauldron.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_gem_blocks": { + "conditions": { + "items": [ + { + "tag": "anvilcraft:gem_blocks" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "anvilcraft:heating/anvilcraft_gem_blocks_to_melt_gem_cauldron" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_gem_blocks", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "anvilcraft:heating/anvilcraft_gem_blocks_to_melt_gem_cauldron" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/heating/melt_gem_cauldron.json b/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/heating/melt_gem_cauldron.json deleted file mode 100644 index b10f08e9f..000000000 --- a/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/heating/melt_gem_cauldron.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_emerald_block": { - "conditions": { - "items": [ - { - "items": [ - "minecraft:emerald_block" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_ruby_block": { - "conditions": { - "items": [ - { - "items": [ - "anvilcraft:ruby_block" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_sapphire_block": { - "conditions": { - "items": [ - { - "items": [ - "anvilcraft:sapphire_block" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "anvilcraft:heating/melt_gem_cauldron" - }, - "trigger": "minecraft:recipe_unlocked" - }, - "has_topaz_block": { - "conditions": { - "items": [ - { - "items": [ - "anvilcraft:topaz_block" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - } - }, - "requirements": [ - [ - "has_emerald_block", - "has_ruby_block", - "has_topaz_block", - "has_sapphire_block", - "has_the_recipe" - ] - ], - "rewards": { - "recipes": [ - "anvilcraft:heating/melt_gem_cauldron" - ] - }, - "sends_telemetry_event": false -} \ No newline at end of file diff --git a/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/amethyst_block_2_amethyst_shard.json b/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/amethyst_block_to_amethyst_shard.json similarity index 81% rename from fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/amethyst_block_2_amethyst_shard.json rename to forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/amethyst_block_to_amethyst_shard.json index def8ffa15..0ca3de2cb 100644 --- a/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/amethyst_block_2_amethyst_shard.json +++ b/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/amethyst_block_to_amethyst_shard.json @@ -15,7 +15,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "anvilcraft:smash/amethyst_block_2_amethyst_shard" + "recipe": "anvilcraft:smash/amethyst_block_to_amethyst_shard" }, "trigger": "minecraft:recipe_unlocked" } @@ -28,7 +28,7 @@ ], "rewards": { "recipes": [ - "anvilcraft:smash/amethyst_block_2_amethyst_shard" + "anvilcraft:smash/amethyst_block_to_amethyst_shard" ] }, "sends_telemetry_event": false diff --git a/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/clay_2_clay_ball.json b/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/clay_to_clay_ball.json similarity index 84% rename from fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/clay_2_clay_ball.json rename to forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/clay_to_clay_ball.json index 784bcd3bb..1dede66df 100644 --- a/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/clay_2_clay_ball.json +++ b/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/clay_to_clay_ball.json @@ -15,7 +15,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "anvilcraft:smash/clay_2_clay_ball" + "recipe": "anvilcraft:smash/clay_to_clay_ball" }, "trigger": "minecraft:recipe_unlocked" } @@ -28,7 +28,7 @@ ], "rewards": { "recipes": [ - "anvilcraft:smash/clay_2_clay_ball" + "anvilcraft:smash/clay_to_clay_ball" ] }, "sends_telemetry_event": false diff --git a/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/dripstone_block_2_pointed_dripstone.json b/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/dripstone_block_to_pointed_dripstone.json similarity index 80% rename from fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/dripstone_block_2_pointed_dripstone.json rename to forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/dripstone_block_to_pointed_dripstone.json index 75bfc46f6..cb3a0b38b 100644 --- a/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/dripstone_block_2_pointed_dripstone.json +++ b/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/dripstone_block_to_pointed_dripstone.json @@ -15,7 +15,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "anvilcraft:smash/dripstone_block_2_pointed_dripstone" + "recipe": "anvilcraft:smash/dripstone_block_to_pointed_dripstone" }, "trigger": "minecraft:recipe_unlocked" } @@ -28,7 +28,7 @@ ], "rewards": { "recipes": [ - "anvilcraft:smash/dripstone_block_2_pointed_dripstone" + "anvilcraft:smash/dripstone_block_to_pointed_dripstone" ] }, "sends_telemetry_event": false diff --git a/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/glowstone_2_glowstone_dust.json b/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/glowstone_to_glowstone_dust.json similarity index 82% rename from fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/glowstone_2_glowstone_dust.json rename to forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/glowstone_to_glowstone_dust.json index 8b1fbaefe..40757a1da 100644 --- a/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/glowstone_2_glowstone_dust.json +++ b/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/glowstone_to_glowstone_dust.json @@ -15,7 +15,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "anvilcraft:smash/glowstone_2_glowstone_dust" + "recipe": "anvilcraft:smash/glowstone_to_glowstone_dust" }, "trigger": "minecraft:recipe_unlocked" } @@ -28,7 +28,7 @@ ], "rewards": { "recipes": [ - "anvilcraft:smash/glowstone_2_glowstone_dust" + "anvilcraft:smash/glowstone_to_glowstone_dust" ] }, "sends_telemetry_event": false diff --git a/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/hollow_magnet_block_2_magnet_ingot.json b/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/hollow_magnet_block_to_magnet_ingot.json similarity index 81% rename from forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/hollow_magnet_block_2_magnet_ingot.json rename to forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/hollow_magnet_block_to_magnet_ingot.json index 3e2716b11..d69032b66 100644 --- a/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/hollow_magnet_block_2_magnet_ingot.json +++ b/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/hollow_magnet_block_to_magnet_ingot.json @@ -15,7 +15,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "anvilcraft:smash/hollow_magnet_block_2_magnet_ingot" + "recipe": "anvilcraft:smash/hollow_magnet_block_to_magnet_ingot" }, "trigger": "minecraft:recipe_unlocked" } @@ -28,7 +28,7 @@ ], "rewards": { "recipes": [ - "anvilcraft:smash/hollow_magnet_block_2_magnet_ingot" + "anvilcraft:smash/hollow_magnet_block_to_magnet_ingot" ] }, "sends_telemetry_event": false diff --git a/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/honey_block_to_honey_bottle.json b/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/honey_block_to_honey_bottle.json new file mode 100644 index 000000000..20a640770 --- /dev/null +++ b/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/honey_block_to_honey_bottle.json @@ -0,0 +1,48 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_glass_bottle": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:glass_bottle" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_honey_block": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:honey_block" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "anvilcraft:smash/honey_block_to_honey_bottle" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_honey_block", + "has_glass_bottle", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "anvilcraft:smash/honey_block_to_honey_bottle" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/honeycomb_block_2_honeycomb.json b/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/honeycomb_block_to_honeycomb.json similarity index 82% rename from fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/honeycomb_block_2_honeycomb.json rename to forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/honeycomb_block_to_honeycomb.json index eb00df1a5..46b463ba7 100644 --- a/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/honeycomb_block_2_honeycomb.json +++ b/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/honeycomb_block_to_honeycomb.json @@ -15,7 +15,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "anvilcraft:smash/honeycomb_block_2_honeycomb" + "recipe": "anvilcraft:smash/honeycomb_block_to_honeycomb" }, "trigger": "minecraft:recipe_unlocked" } @@ -28,7 +28,7 @@ ], "rewards": { "recipes": [ - "anvilcraft:smash/honeycomb_block_2_honeycomb" + "anvilcraft:smash/honeycomb_block_to_honeycomb" ] }, "sends_telemetry_event": false diff --git a/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/magnet_block_2_magnet_ingot.json b/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/magnet_block_to_magnet_ingot.json similarity index 82% rename from fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/magnet_block_2_magnet_ingot.json rename to forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/magnet_block_to_magnet_ingot.json index a40a9fc40..279e66e61 100644 --- a/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/magnet_block_2_magnet_ingot.json +++ b/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/magnet_block_to_magnet_ingot.json @@ -15,7 +15,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "anvilcraft:smash/magnet_block_2_magnet_ingot" + "recipe": "anvilcraft:smash/magnet_block_to_magnet_ingot" }, "trigger": "minecraft:recipe_unlocked" } @@ -28,7 +28,7 @@ ], "rewards": { "recipes": [ - "anvilcraft:smash/magnet_block_2_magnet_ingot" + "anvilcraft:smash/magnet_block_to_magnet_ingot" ] }, "sends_telemetry_event": false diff --git a/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/melon_2_melon_slice.json b/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/melon_to_melon_slice.json similarity index 84% rename from fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/melon_2_melon_slice.json rename to forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/melon_to_melon_slice.json index aa59df9fb..393148f53 100644 --- a/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/melon_2_melon_slice.json +++ b/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/melon_to_melon_slice.json @@ -15,7 +15,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "anvilcraft:smash/melon_2_melon_slice" + "recipe": "anvilcraft:smash/melon_to_melon_slice" }, "trigger": "minecraft:recipe_unlocked" } @@ -28,7 +28,7 @@ ], "rewards": { "recipes": [ - "anvilcraft:smash/melon_2_melon_slice" + "anvilcraft:smash/melon_to_melon_slice" ] }, "sends_telemetry_event": false diff --git a/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/prismarine_bricks_2_prismarine_shard.json b/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/prismarine_bricks_to_prismarine_shard.json similarity index 80% rename from forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/prismarine_bricks_2_prismarine_shard.json rename to forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/prismarine_bricks_to_prismarine_shard.json index faa0d40c7..d2da19fbe 100644 --- a/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/prismarine_bricks_2_prismarine_shard.json +++ b/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/prismarine_bricks_to_prismarine_shard.json @@ -15,7 +15,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "anvilcraft:smash/prismarine_bricks_2_prismarine_shard" + "recipe": "anvilcraft:smash/prismarine_bricks_to_prismarine_shard" }, "trigger": "minecraft:recipe_unlocked" } @@ -28,7 +28,7 @@ ], "rewards": { "recipes": [ - "anvilcraft:smash/prismarine_bricks_2_prismarine_shard" + "anvilcraft:smash/prismarine_bricks_to_prismarine_shard" ] }, "sends_telemetry_event": false diff --git a/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/prismarine_2_prismarine_shard.json b/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/prismarine_to_prismarine_shard.json similarity index 81% rename from forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/prismarine_2_prismarine_shard.json rename to forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/prismarine_to_prismarine_shard.json index 4ffa4f3a9..c5588b3a4 100644 --- a/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/prismarine_2_prismarine_shard.json +++ b/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/prismarine_to_prismarine_shard.json @@ -15,7 +15,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "anvilcraft:smash/prismarine_2_prismarine_shard" + "recipe": "anvilcraft:smash/prismarine_to_prismarine_shard" }, "trigger": "minecraft:recipe_unlocked" } @@ -28,7 +28,7 @@ ], "rewards": { "recipes": [ - "anvilcraft:smash/prismarine_2_prismarine_shard" + "anvilcraft:smash/prismarine_to_prismarine_shard" ] }, "sends_telemetry_event": false diff --git a/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/quartz_block_2_quartz.json b/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/quartz_block_to_quartz.json similarity index 84% rename from fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/quartz_block_2_quartz.json rename to forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/quartz_block_to_quartz.json index 43116ab09..8db40a4e4 100644 --- a/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/quartz_block_2_quartz.json +++ b/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/quartz_block_to_quartz.json @@ -15,7 +15,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "anvilcraft:smash/quartz_block_2_quartz" + "recipe": "anvilcraft:smash/quartz_block_to_quartz" }, "trigger": "minecraft:recipe_unlocked" } @@ -28,7 +28,7 @@ ], "rewards": { "recipes": [ - "anvilcraft:smash/quartz_block_2_quartz" + "anvilcraft:smash/quartz_block_to_quartz" ] }, "sends_telemetry_event": false diff --git a/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/snow_block_2_snowball.json b/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/snow_block_to_snowball.json similarity index 83% rename from fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/snow_block_2_snowball.json rename to forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/snow_block_to_snowball.json index 7049674e8..edbfd1039 100644 --- a/fabric/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/snow_block_2_snowball.json +++ b/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/snow_block_to_snowball.json @@ -15,7 +15,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "anvilcraft:smash/snow_block_2_snowball" + "recipe": "anvilcraft:smash/snow_block_to_snowball" }, "trigger": "minecraft:recipe_unlocked" } @@ -28,7 +28,7 @@ ], "rewards": { "recipes": [ - "anvilcraft:smash/snow_block_2_snowball" + "anvilcraft:smash/snow_block_to_snowball" ] }, "sends_telemetry_event": false diff --git a/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/wet_sponge_2_sponge_gemmule.json b/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/wet_sponge_to_sponge_gemmule.json similarity index 82% rename from forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/wet_sponge_2_sponge_gemmule.json rename to forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/wet_sponge_to_sponge_gemmule.json index 47de28e69..dda76eb92 100644 --- a/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/wet_sponge_2_sponge_gemmule.json +++ b/forge/src/generated/resources/data/anvilcraft/advancements/recipes/misc/smash/wet_sponge_to_sponge_gemmule.json @@ -3,7 +3,7 @@ "criteria": { "has_the_recipe": { "conditions": { - "recipe": "anvilcraft:smash/wet_sponge_2_sponge_gemmule" + "recipe": "anvilcraft:smash/wet_sponge_to_sponge_gemmule" }, "trigger": "minecraft:recipe_unlocked" }, @@ -28,7 +28,7 @@ ], "rewards": { "recipes": [ - "anvilcraft:smash/wet_sponge_2_sponge_gemmule" + "anvilcraft:smash/wet_sponge_to_sponge_gemmule" ] }, "sends_telemetry_event": false diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/boil/beef_mushroom_stew.json b/forge/src/generated/resources/data/anvilcraft/recipes/boil/beef_mushroom_stew.json index d4932f1ac..f1fe31c21 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/boil/beef_mushroom_stew.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/boil/beef_mushroom_stew.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "boil", "icon": { "item": "anvilcraft:beef_mushroom_stew" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/boil/slime_ball.json b/forge/src/generated/resources/data/anvilcraft/recipes/boil/slime_ball.json index e8aa375e4..4179caa92 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/boil/slime_ball.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/boil/slime_ball.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "boil", "icon": { "item": "minecraft:slime_ball" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bone_block.json b/forge/src/generated/resources/data/anvilcraft/recipes/bone_block.json index 3e851c094..f5dcc9e92 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bone_block.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bone_block.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "compress", "icon": { "item": "minecraft:bone_block" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging/brain_coral_block.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging/brain_coral_block.json index 21cf24b61..3b689208e 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging/brain_coral_block.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging/brain_coral_block.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging", "icon": { "item": "minecraft:brain_coral_block" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging/bubble_coral_block.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging/bubble_coral_block.json index bfc8b994a..f44db9b40 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging/bubble_coral_block.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging/bubble_coral_block.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging", "icon": { "item": "minecraft:bubble_coral_block" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging/clay.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging/clay.json index eb239b79a..a3246a904 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging/clay.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging/clay.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging", "icon": { "item": "minecraft:clay" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging/dough.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging/dough.json index d65029a58..163264ddc 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging/dough.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging/dough.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging", "icon": { "item": "anvilcraft:dough" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging/fermented_spider_eye.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging/fermented_spider_eye.json index 62cf7a5f3..8e9ec37db 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging/fermented_spider_eye.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging/fermented_spider_eye.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging", "icon": { "item": "minecraft:fermented_spider_eye" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging/fire_coral_block.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging/fire_coral_block.json index 4e9fbcfc3..bd4447949 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging/fire_coral_block.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging/fire_coral_block.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging", "icon": { "item": "minecraft:fire_coral_block" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging/horn_coral_block.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging/horn_coral_block.json index a4aac2312..7fe16ceac 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging/horn_coral_block.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging/horn_coral_block.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging", "icon": { "item": "minecraft:horn_coral_block" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging/nether_wart_block.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging/nether_wart_block.json index 840dcb267..6b01a8c26 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging/nether_wart_block.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging/nether_wart_block.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging", "icon": { "item": "minecraft:nether_wart_block" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging/tube_coral_block.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging/tube_coral_block.json index 613267764..de53e34bb 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging/tube_coral_block.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging/tube_coral_block.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging", "icon": { "item": "minecraft:tube_coral_block" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging/warped_wart_block.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging/warped_wart_block.json index 76bcb7bd4..3bcb43d37 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging/warped_wart_block.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging/warped_wart_block.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging", "icon": { "item": "minecraft:warped_wart_block" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging/wet_sponge.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging/wet_sponge.json index 9a80def81..6e1f502a4 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging/wet_sponge.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging/wet_sponge.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging", "icon": { "item": "minecraft:wet_sponge" }, @@ -36,7 +36,7 @@ "min": 1 }, "items": [ - "anvilcraft:sponge_gemmule" + "minecraft:wet_sponge" ] }, "offset": [ diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/black_dye.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/black_dye.json index 58a62b0a6..81aaae1fc 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/black_dye.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/black_dye.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "fluid_handling", "icon": { "item": "minecraft:black_dye" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/blue_dye.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/blue_dye.json index 9a30e47f9..c954d6acb 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/blue_dye.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/blue_dye.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "fluid_handling", "icon": { "item": "minecraft:blue_dye" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/brown_dye.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/brown_dye.json index 90ed39515..d903f17cb 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/brown_dye.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/brown_dye.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "fluid_handling", "icon": { "item": "minecraft:brown_dye" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/cyan_dye.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/cyan_dye.json index 9afc8dfce..683a157cb 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/cyan_dye.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/cyan_dye.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "fluid_handling", "icon": { "item": "minecraft:cyan_dye" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_black_concrete.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_black_concrete.json index d8b82e4cc..d6d2bdd66 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_black_concrete.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_black_concrete.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "minecraft:black_concrete" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_blue_concrete.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_blue_concrete.json index 0696d5945..093aeeb2b 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_blue_concrete.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_blue_concrete.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "minecraft:blue_concrete" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_brown_concrete.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_brown_concrete.json index 4bb9756f5..9c7565cbf 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_brown_concrete.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_brown_concrete.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "minecraft:brown_concrete" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_cyan_concrete.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_cyan_concrete.json index 44754fec0..f4490fddd 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_cyan_concrete.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_cyan_concrete.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "minecraft:cyan_concrete" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_gray_concrete.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_gray_concrete.json index f74958d5e..2542f31d2 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_gray_concrete.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_gray_concrete.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "minecraft:gray_concrete" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_green_concrete.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_green_concrete.json index 61a30b9aa..6b00c509c 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_green_concrete.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_green_concrete.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "minecraft:green_concrete" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_light_blue_concrete.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_light_blue_concrete.json index cd609c3ac..844011674 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_light_blue_concrete.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_light_blue_concrete.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "minecraft:light_blue_concrete" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_light_gray_concrete.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_light_gray_concrete.json index 0bd90989d..a633b74ad 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_light_gray_concrete.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_light_gray_concrete.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "minecraft:light_gray_concrete" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_lime_concrete.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_lime_concrete.json index a22c2b077..9225a3f18 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_lime_concrete.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_lime_concrete.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "minecraft:lime_concrete" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_magenta_concrete.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_magenta_concrete.json index ace118cdf..1b6940f77 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_magenta_concrete.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_magenta_concrete.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "minecraft:magenta_concrete" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_orange_concrete.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_orange_concrete.json index 037ba86ef..81cf1a686 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_orange_concrete.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_orange_concrete.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "minecraft:orange_concrete" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_pink_concrete.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_pink_concrete.json index 3e4c23e28..86066cf0e 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_pink_concrete.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_pink_concrete.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "minecraft:pink_concrete" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_purple_concrete.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_purple_concrete.json index 07e9905ac..07724bfe6 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_purple_concrete.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_purple_concrete.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "minecraft:purple_concrete" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_red_concrete.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_red_concrete.json index 2acacc459..2d9d92eb1 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_red_concrete.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_red_concrete.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "minecraft:red_concrete" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_black.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_black.json index 9b19b59f0..2ea7d10b0 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_black.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_black.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "anvilcraft:reinforced_concrete_black" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_blue.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_blue.json index 2aea20986..e99fcd019 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_blue.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_blue.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "anvilcraft:reinforced_concrete_blue" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_brown.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_brown.json index 191f148f3..25ca0e29a 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_brown.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_brown.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "anvilcraft:reinforced_concrete_brown" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_cyan.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_cyan.json index 9eda8ac37..6c0b24161 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_cyan.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_cyan.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "anvilcraft:reinforced_concrete_cyan" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_gray.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_gray.json index d425d1998..6d142bcaf 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_gray.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_gray.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "anvilcraft:reinforced_concrete_gray" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_green.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_green.json index a58b1fc9c..b9dc0427f 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_green.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_green.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "anvilcraft:reinforced_concrete_green" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_light_blue.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_light_blue.json index b44f14935..6e775ce3b 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_light_blue.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_light_blue.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "anvilcraft:reinforced_concrete_light_blue" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_light_gray.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_light_gray.json index 35bf7eead..0007febcb 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_light_gray.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_light_gray.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "anvilcraft:reinforced_concrete_light_gray" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_lime.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_lime.json index 93e0f4712..c13f64b71 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_lime.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_lime.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "anvilcraft:reinforced_concrete_lime" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_magenta.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_magenta.json index c6a7e5e25..49df57d6d 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_magenta.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_magenta.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "anvilcraft:reinforced_concrete_magenta" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_orange.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_orange.json index 744cba4fc..1c4949c28 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_orange.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_orange.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "anvilcraft:reinforced_concrete_orange" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_pink.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_pink.json index 4bb177375..495a3bea0 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_pink.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_pink.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "anvilcraft:reinforced_concrete_pink" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_purple.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_purple.json index e4e1f22a8..cbc386e19 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_purple.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_purple.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "anvilcraft:reinforced_concrete_purple" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_red.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_red.json index 682128faf..981b569fe 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_red.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_red.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "anvilcraft:reinforced_concrete_red" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_white.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_white.json index f906f12aa..5ca50c255 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_white.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_white.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "anvilcraft:reinforced_concrete_white" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_yellow.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_yellow.json index f31b78be6..9c801db36 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_yellow.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_reinforced_concrete_yellow.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "anvilcraft:reinforced_concrete_yellow" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_white_concrete.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_white_concrete.json index 9eaf3cf26..99ded571e 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_white_concrete.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_white_concrete.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "minecraft:white_concrete" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_yellow_concrete.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_yellow_concrete.json index 185fc17a7..d8c4d352c 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_yellow_concrete.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gravel_to_yellow_concrete.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "bulging_like", "icon": { "item": "minecraft:yellow_concrete" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gray_dye.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gray_dye.json index 6588a8090..5a94cf4c2 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gray_dye.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/gray_dye.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "fluid_handling", "icon": { "item": "minecraft:gray_dye" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/green_dye.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/green_dye.json index 23012eb68..67103a2d1 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/green_dye.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/green_dye.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "fluid_handling", "icon": { "item": "minecraft:green_dye" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/light_blue_dye.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/light_blue_dye.json index 0cc7e9e2c..1caeae5ea 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/light_blue_dye.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/light_blue_dye.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "fluid_handling", "icon": { "item": "minecraft:light_blue_dye" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/light_gray_dye.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/light_gray_dye.json index f89fb4960..b5501fa6d 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/light_gray_dye.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/light_gray_dye.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "fluid_handling", "icon": { "item": "minecraft:light_gray_dye" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/lime_dye.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/lime_dye.json index 0a60afede..2fc4a29fc 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/lime_dye.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/lime_dye.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "fluid_handling", "icon": { "item": "minecraft:lime_dye" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/magenta_dye.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/magenta_dye.json index 94aa5bbe6..eb83bb277 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/magenta_dye.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/magenta_dye.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "fluid_handling", "icon": { "item": "minecraft:magenta_dye" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/orange_dye.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/orange_dye.json index 1a0c34510..8dc72e44a 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/orange_dye.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/orange_dye.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "fluid_handling", "icon": { "item": "minecraft:orange_dye" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/pink_dye.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/pink_dye.json index 76b7970a2..565376782 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/pink_dye.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/pink_dye.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "fluid_handling", "icon": { "item": "minecraft:pink_dye" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/purple_dye.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/purple_dye.json index 79108a9ae..9d79d91cd 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/purple_dye.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/purple_dye.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "fluid_handling", "icon": { "item": "minecraft:purple_dye" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/red_dye.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/red_dye.json index 3e9d35de8..561929ba5 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/red_dye.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/red_dye.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "fluid_handling", "icon": { "item": "minecraft:red_dye" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/white_dye.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/white_dye.json index a810e88f7..8ceb593d7 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/white_dye.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/white_dye.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "fluid_handling", "icon": { "item": "minecraft:white_dye" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/yellow_dye.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/yellow_dye.json index fae0ea24b..239521315 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/yellow_dye.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/yellow_dye.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "fluid_handling", "icon": { "item": "minecraft:yellow_dye" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/cook/hardend_resin.json b/forge/src/generated/resources/data/anvilcraft/recipes/cook/hardend_resin.json index 2b374092f..dcea499ff 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/cook/hardend_resin.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/cook/hardend_resin.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "cooking", "icon": { "item": "anvilcraft:hardend_resin" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/cook/utusan.json b/forge/src/generated/resources/data/anvilcraft/recipes/cook/utusan.json index 1ede549e5..f274aefa0 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/cook/utusan.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/cook/utusan.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "cooking", "icon": { "item": "anvilcraft:utusan" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging/prismarine_cluster.json b/forge/src/generated/resources/data/anvilcraft/recipes/crystallize/prismarine_cluster.json similarity index 95% rename from forge/src/generated/resources/data/anvilcraft/recipes/bulging/prismarine_cluster.json rename to forge/src/generated/resources/data/anvilcraft/recipes/crystallize/prismarine_cluster.json index 080a5aa61..3db190e3d 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging/prismarine_cluster.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/crystallize/prismarine_cluster.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "crystallize", "icon": { "item": "anvilcraft:prismarine_cluster" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/heating/anvilcraft_dead_tube_to_lime_powder.json b/forge/src/generated/resources/data/anvilcraft/recipes/heating/anvilcraft_dead_tube_to_lime_powder.json index 69eb2e926..3be429fad 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/heating/anvilcraft_dead_tube_to_lime_powder.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/heating/anvilcraft_dead_tube_to_lime_powder.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "super_heating", "icon": { "item": "anvilcraft:lime_powder" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/heating/melt_gem_cauldron.json b/forge/src/generated/resources/data/anvilcraft/recipes/heating/anvilcraft_gem_blocks_to_melt_gem_cauldron.json similarity index 78% rename from fabric/src/generated/resources/data/anvilcraft/recipes/heating/melt_gem_cauldron.json rename to forge/src/generated/resources/data/anvilcraft/recipes/heating/anvilcraft_gem_blocks_to_melt_gem_cauldron.json index 8b7b330f4..2fbc1183f 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/heating/melt_gem_cauldron.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/heating/anvilcraft_gem_blocks_to_melt_gem_cauldron.json @@ -1,7 +1,8 @@ { "type": "anvilcraft:anvil_processing", + "anvil_recipe_type": "super_heating", "icon": { - "item": "minecraft:emerald_block" + "item": "minecraft:air" }, "outcomes": [ { @@ -35,7 +36,7 @@ ] }, { - "type": "has_block_ingredient", + "type": "has_block", "match_block": { "blocks": [ "minecraft:cauldron" @@ -53,12 +54,7 @@ "count": { "min": 1 }, - "items": [ - "minecraft:emerald_block", - "anvilcraft:ruby_block", - "anvilcraft:topaz_block", - "anvilcraft:sapphire_block" - ] + "tag": "anvilcraft:gem_blocks" }, "offset": [ 0.0, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/heating/c_stone_lime_powder_to_lava_cauldron.json b/forge/src/generated/resources/data/anvilcraft/recipes/heating/c_stone_lime_powder_to_lava_cauldron.json index dd9beff36..5f2fa0460 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/heating/c_stone_lime_powder_to_lava_cauldron.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/heating/c_stone_lime_powder_to_lava_cauldron.json @@ -1,8 +1,8 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "super_heating", "icon": { - "item": "minecraft:cauldron" + "item": "anvilcraft:lime_powder" }, "outcomes": [ { diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/heating/calcite_to_lime_powder.json b/forge/src/generated/resources/data/anvilcraft/recipes/heating/calcite_to_lime_powder.json index 7ea922650..1879b0c2c 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/heating/calcite_to_lime_powder.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/heating/calcite_to_lime_powder.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "super_heating", "icon": { "item": "anvilcraft:lime_powder" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/heating/coal_block_to_diamond.json b/forge/src/generated/resources/data/anvilcraft/recipes/heating/coal_block_to_diamond.json index e59875f4a..d5ae9a95f 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/heating/coal_block_to_diamond.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/heating/coal_block_to_diamond.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "super_heating", "icon": { "item": "minecraft:diamond" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/heating/cobblestone_lime_powder_to_lava_cauldron.json b/forge/src/generated/resources/data/anvilcraft/recipes/heating/cobblestone_lime_powder_to_lava_cauldron.json index 6ee5c8db5..585bb8621 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/heating/cobblestone_lime_powder_to_lava_cauldron.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/heating/cobblestone_lime_powder_to_lava_cauldron.json @@ -1,8 +1,8 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "super_heating", "icon": { - "item": "minecraft:cauldron" + "item": "minecraft:cobblestone" }, "outcomes": [ { diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/heating/crab_claw_to_lime_powder.json b/forge/src/generated/resources/data/anvilcraft/recipes/heating/crab_claw_to_lime_powder.json index f495dba9a..09afee7ab 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/heating/crab_claw_to_lime_powder.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/heating/crab_claw_to_lime_powder.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "super_heating", "icon": { "item": "anvilcraft:lime_powder" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/heating/dripstone_block_to_lime_powder.json b/forge/src/generated/resources/data/anvilcraft/recipes/heating/dripstone_block_to_lime_powder.json index 84b4aed62..067167d08 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/heating/dripstone_block_to_lime_powder.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/heating/dripstone_block_to_lime_powder.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "super_heating", "icon": { "item": "anvilcraft:lime_powder" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/heating/forge_stone_lime_powder_to_lava_cauldron.json b/forge/src/generated/resources/data/anvilcraft/recipes/heating/forge_stone_lime_powder_to_lava_cauldron.json index 1fe2b7213..ac1d62950 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/heating/forge_stone_lime_powder_to_lava_cauldron.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/heating/forge_stone_lime_powder_to_lava_cauldron.json @@ -1,8 +1,8 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "super_heating", "icon": { - "item": "minecraft:cauldron" + "item": "anvilcraft:lime_powder" }, "outcomes": [ { diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/heating/iron_ingot_diamond_amethyst_shard_anvilcraft_gems_to_royal_steel_ingot.json b/forge/src/generated/resources/data/anvilcraft/recipes/heating/iron_ingot_diamond_amethyst_shard_anvilcraft_gems_to_royal_steel_ingot.json index 301fc5b2b..ccefdc175 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/heating/iron_ingot_diamond_amethyst_shard_anvilcraft_gems_to_royal_steel_ingot.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/heating/iron_ingot_diamond_amethyst_shard_anvilcraft_gems_to_royal_steel_ingot.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "super_heating", "icon": { "item": "anvilcraft:royal_steel_ingot" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/heating/nautilus_shell_to_lime_powder.json b/forge/src/generated/resources/data/anvilcraft/recipes/heating/nautilus_shell_to_lime_powder.json index 2c5822eef..10c09e3b0 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/heating/nautilus_shell_to_lime_powder.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/heating/nautilus_shell_to_lime_powder.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "super_heating", "icon": { "item": "anvilcraft:lime_powder" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/heating/pointed_dripstone_to_lime_powder.json b/forge/src/generated/resources/data/anvilcraft/recipes/heating/pointed_dripstone_to_lime_powder.json index d422232b2..98146e48b 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/heating/pointed_dripstone_to_lime_powder.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/heating/pointed_dripstone_to_lime_powder.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "super_heating", "icon": { "item": "anvilcraft:lime_powder" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/heating/quartz_sand_royal_steel_ingot_to_tempering_glass.json b/forge/src/generated/resources/data/anvilcraft/recipes/heating/quartz_sand_royal_steel_ingot_to_tempering_glass.json index b171392f7..219d07f6d 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/heating/quartz_sand_royal_steel_ingot_to_tempering_glass.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/heating/quartz_sand_royal_steel_ingot_to_tempering_glass.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "super_heating", "icon": { "item": "anvilcraft:tempering_glass" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/heating/raw_iron_capacitor_to_magnet_ingot_capacitor_empty.json b/forge/src/generated/resources/data/anvilcraft/recipes/heating/raw_iron_capacitor_to_magnet_ingot_capacitor_empty.json index 7fe7c0e44..fcc42197e 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/heating/raw_iron_capacitor_to_magnet_ingot_capacitor_empty.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/heating/raw_iron_capacitor_to_magnet_ingot_capacitor_empty.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "super_heating", "icon": { "item": "anvilcraft:magnet_ingot" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/heating/wood_fiber_to_charcoal.json b/forge/src/generated/resources/data/anvilcraft/recipes/heating/wood_fiber_to_charcoal.json index 2803d68b4..4c1b28442 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/heating/wood_fiber_to_charcoal.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/heating/wood_fiber_to_charcoal.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "super_heating", "icon": { "item": "minecraft:charcoal" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_copper_ore.json b/forge/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_copper_ore.json index 478ebfe50..9ebecbd7a 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_copper_ore.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_copper_ore.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "item_inject", "icon": { "item": "minecraft:deepslate_copper_ore" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_gold_ore.json b/forge/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_gold_ore.json index 8fe90f60d..21cd43ec9 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_gold_ore.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_gold_ore.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "item_inject", "icon": { "item": "minecraft:deepslate_gold_ore" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_iron_ore.json b/forge/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_iron_ore.json index 1cbc4b1cd..cfc4160fd 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_iron_ore.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_iron_ore.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "item_inject", "icon": { "item": "minecraft:deepslate_iron_ore" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_lead_ore.json b/forge/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_lead_ore.json index 721d9e468..357c42f34 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_lead_ore.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_lead_ore.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "item_inject", "icon": { "item": "anvilcraft:deepslate_lead_ore" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_silver_ore.json b/forge/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_silver_ore.json index 04bb54c12..a9e953aa2 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_silver_ore.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_silver_ore.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "item_inject", "icon": { "item": "anvilcraft:deepslate_silver_ore" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_tin_ore.json b/forge/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_tin_ore.json index d48c5b33a..00741c979 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_tin_ore.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_tin_ore.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "item_inject", "icon": { "item": "anvilcraft:deepslate_tin_ore" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_titanium_ore.json b/forge/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_titanium_ore.json index 888cdb4bf..2383d4553 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_titanium_ore.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_titanium_ore.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "item_inject", "icon": { "item": "anvilcraft:deepslate_titanium_ore" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_tungsten_ore.json b/forge/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_tungsten_ore.json index 8e2f9a315..ddee31940 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_tungsten_ore.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_tungsten_ore.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "item_inject", "icon": { "item": "anvilcraft:deepslate_tungsten_ore" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_uranium_ore.json b/forge/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_uranium_ore.json index 750228a87..d63083dbe 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_uranium_ore.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_uranium_ore.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "item_inject", "icon": { "item": "anvilcraft:deepslate_uranium_ore" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_zinc_ore.json b/forge/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_zinc_ore.json index 67ff70bce..0822adcd1 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_zinc_ore.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/item_inject/deepslate_zinc_ore.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "item_inject", "icon": { "item": "anvilcraft:deepslate_zinc_ore" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/item_inject/gilded_blackstone.json b/forge/src/generated/resources/data/anvilcraft/recipes/item_inject/gilded_blackstone.json index eeeefb21c..ff5f3602f 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/item_inject/gilded_blackstone.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/item_inject/gilded_blackstone.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "item_inject", "icon": { "item": "minecraft:gilded_blackstone" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/item_inject/nether_gold_ore.json b/forge/src/generated/resources/data/anvilcraft/recipes/item_inject/nether_gold_ore.json index 276736a01..58dcd56b2 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/item_inject/nether_gold_ore.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/item_inject/nether_gold_ore.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "item_inject", "icon": { "item": "minecraft:nether_gold_ore" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/chainmail_boots_2_chain.json b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/chainmail_boots_2_chain.json index 20925f437..4bc8dbbe7 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/chainmail_boots_2_chain.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/chainmail_boots_2_chain.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:chain" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/chainmail_chestplate_2_chain.json b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/chainmail_chestplate_2_chain.json index 714573ad3..995d92075 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/chainmail_chestplate_2_chain.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/chainmail_chestplate_2_chain.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:chain" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/chainmail_helmet_2_chain.json b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/chainmail_helmet_2_chain.json index 89b721fb0..a86630140 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/chainmail_helmet_2_chain.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/chainmail_helmet_2_chain.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:chain" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/chainmail_leggings_2_chain.json b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/chainmail_leggings_2_chain.json index b84dbef5a..32fa9f53c 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/chainmail_leggings_2_chain.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/chainmail_leggings_2_chain.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:chain" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_axe_2_diamond.json b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_axe_2_diamond.json index 169e00a00..e816010ea 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_axe_2_diamond.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_axe_2_diamond.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:diamond" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_boots_2_diamond.json b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_boots_2_diamond.json index 46791895e..4f1d50589 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_boots_2_diamond.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_boots_2_diamond.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:diamond" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_chestplate_2_diamond.json b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_chestplate_2_diamond.json index ef1c00b1e..665a395c8 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_chestplate_2_diamond.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_chestplate_2_diamond.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:diamond" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_helmet_2_diamond.json b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_helmet_2_diamond.json index a23f0fe4b..e81e584f2 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_helmet_2_diamond.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_helmet_2_diamond.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:diamond" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_hoe_2_diamond.json b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_hoe_2_diamond.json index 643854e74..f27a3dc29 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_hoe_2_diamond.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_hoe_2_diamond.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:diamond" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_horse_armor_2_diamond.json b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_horse_armor_2_diamond.json index 56fea9cdd..b722111ca 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_horse_armor_2_diamond.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_horse_armor_2_diamond.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:diamond" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_leggings_2_diamond.json b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_leggings_2_diamond.json index 6edf9c968..7e5b28281 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_leggings_2_diamond.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_leggings_2_diamond.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:diamond" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_pickaxe_2_diamond.json b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_pickaxe_2_diamond.json index f482c8f14..9b4f8df2b 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_pickaxe_2_diamond.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_pickaxe_2_diamond.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:diamond" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_shovel_2_diamond.json b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_shovel_2_diamond.json index ca537ed5a..0902dee58 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_shovel_2_diamond.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_shovel_2_diamond.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:diamond" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_sword_2_diamond.json b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_sword_2_diamond.json index 92fe48faf..330c89619 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_sword_2_diamond.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/diamond_sword_2_diamond.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:diamond" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_axe_2_gold_ingot.json b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_axe_2_gold_ingot.json index 365841295..b1ec944d1 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_axe_2_gold_ingot.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_axe_2_gold_ingot.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:gold_ingot" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_boots_2_gold_ingot.json b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_boots_2_gold_ingot.json index 665df0fb6..2770a8d4d 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_boots_2_gold_ingot.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_boots_2_gold_ingot.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:gold_ingot" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_chestplate_2_gold_ingot.json b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_chestplate_2_gold_ingot.json index 75cc58ce4..ddf4143c6 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_chestplate_2_gold_ingot.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_chestplate_2_gold_ingot.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:gold_ingot" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_helmet_2_gold_ingot.json b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_helmet_2_gold_ingot.json index 3c8de2ced..f146ed52c 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_helmet_2_gold_ingot.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_helmet_2_gold_ingot.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:gold_ingot" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_hoe_2_gold_ingot.json b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_hoe_2_gold_ingot.json index 9f0dbdd48..96bb70630 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_hoe_2_gold_ingot.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_hoe_2_gold_ingot.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:gold_ingot" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_horse_armor_2_gold_ingot.json b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_horse_armor_2_gold_ingot.json index e22fc3983..bad78e865 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_horse_armor_2_gold_ingot.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_horse_armor_2_gold_ingot.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:gold_ingot" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_leggings_2_gold_ingot.json b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_leggings_2_gold_ingot.json index 2ea68ecdb..f069c31a2 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_leggings_2_gold_ingot.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_leggings_2_gold_ingot.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:gold_ingot" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_pickaxe_2_gold_ingot.json b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_pickaxe_2_gold_ingot.json index 9a08f0447..770c9435c 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_pickaxe_2_gold_ingot.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_pickaxe_2_gold_ingot.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:gold_ingot" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_shovel_2_gold_ingot.json b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_shovel_2_gold_ingot.json index b3825e657..f5379acee 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_shovel_2_gold_ingot.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_shovel_2_gold_ingot.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:gold_ingot" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_sword_2_gold_ingot.json b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_sword_2_gold_ingot.json index 4c6c28e62..3c198cc4d 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_sword_2_gold_ingot.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/golden_sword_2_gold_ingot.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:gold_ingot" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_axe_2_iron_ingot.json b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_axe_2_iron_ingot.json index 158e71c10..050d21746 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_axe_2_iron_ingot.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_axe_2_iron_ingot.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:iron_ingot" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_boots_2_iron_ingot.json b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_boots_2_iron_ingot.json index dc18c2ed5..166be8e03 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_boots_2_iron_ingot.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_boots_2_iron_ingot.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:iron_ingot" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_chestplate_2_iron_ingot.json b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_chestplate_2_iron_ingot.json index e697a8072..b71a2a745 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_chestplate_2_iron_ingot.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_chestplate_2_iron_ingot.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:iron_ingot" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_helmet_2_iron_ingot.json b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_helmet_2_iron_ingot.json index adb5d97a9..7913fbfae 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_helmet_2_iron_ingot.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_helmet_2_iron_ingot.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:iron_ingot" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_hoe_2_iron_ingot.json b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_hoe_2_iron_ingot.json index 579c83767..1b817f038 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_hoe_2_iron_ingot.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_hoe_2_iron_ingot.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:iron_ingot" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_horse_armor_2_iron_ingot.json b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_horse_armor_2_iron_ingot.json index 187d0e144..33d75773e 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_horse_armor_2_iron_ingot.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_horse_armor_2_iron_ingot.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:iron_ingot" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_leggings_2_iron_ingot.json b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_leggings_2_iron_ingot.json index e9cc9d536..bc619000d 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_leggings_2_iron_ingot.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_leggings_2_iron_ingot.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:iron_ingot" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_pickaxe_2_iron_ingot.json b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_pickaxe_2_iron_ingot.json index 05cacea44..5f2479222 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_pickaxe_2_iron_ingot.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_pickaxe_2_iron_ingot.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:iron_ingot" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_shovel_2_iron_ingot.json b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_shovel_2_iron_ingot.json index bdea9145a..65727ed75 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_shovel_2_iron_ingot.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_shovel_2_iron_ingot.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:iron_ingot" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_sword_2_iron_ingot.json b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_sword_2_iron_ingot.json index 8b32fd107..9ed5347f4 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_sword_2_iron_ingot.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/reclaim/iron_sword_2_iron_ingot.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "stamping", "icon": { "item": "minecraft:iron_ingot" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/sieving/leaves.json b/forge/src/generated/resources/data/anvilcraft/recipes/sieving/leaves.json index e649f1a86..437d3562c 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/sieving/leaves.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/sieving/leaves.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "sieving", "icon": { "item": "minecraft:anvil" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/smash/amethyst_block_2_amethyst_shard.json b/forge/src/generated/resources/data/anvilcraft/recipes/smash/amethyst_block_to_amethyst_shard.json similarity index 93% rename from fabric/src/generated/resources/data/anvilcraft/recipes/smash/amethyst_block_2_amethyst_shard.json rename to forge/src/generated/resources/data/anvilcraft/recipes/smash/amethyst_block_to_amethyst_shard.json index 3ca72991c..a5ff81a80 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/smash/amethyst_block_2_amethyst_shard.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/smash/amethyst_block_to_amethyst_shard.json @@ -1,8 +1,7 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "item_smash", "icon": { - "count": 4, "item": "minecraft:amethyst_shard" }, "outcomes": [ @@ -28,6 +27,7 @@ "minecraft:iron_trapdoor" ], "state": { + "half": "top", "open": "false" } }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/smash/clay_2_clay_ball.json b/forge/src/generated/resources/data/anvilcraft/recipes/smash/clay_to_clay_ball.json similarity index 93% rename from fabric/src/generated/resources/data/anvilcraft/recipes/smash/clay_2_clay_ball.json rename to forge/src/generated/resources/data/anvilcraft/recipes/smash/clay_to_clay_ball.json index e66ed92f7..4b6efd54a 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/smash/clay_2_clay_ball.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/smash/clay_to_clay_ball.json @@ -1,8 +1,7 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "item_smash", "icon": { - "count": 4, "item": "minecraft:clay_ball" }, "outcomes": [ @@ -28,6 +27,7 @@ "minecraft:iron_trapdoor" ], "state": { + "half": "top", "open": "false" } }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/smash/dripstone_block_2_pointed_dripstone.json b/forge/src/generated/resources/data/anvilcraft/recipes/smash/dripstone_block_to_pointed_dripstone.json similarity index 93% rename from fabric/src/generated/resources/data/anvilcraft/recipes/smash/dripstone_block_2_pointed_dripstone.json rename to forge/src/generated/resources/data/anvilcraft/recipes/smash/dripstone_block_to_pointed_dripstone.json index 84f68cb0b..f2c6af8a2 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/smash/dripstone_block_2_pointed_dripstone.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/smash/dripstone_block_to_pointed_dripstone.json @@ -1,8 +1,7 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "item_smash", "icon": { - "count": 4, "item": "minecraft:pointed_dripstone" }, "outcomes": [ @@ -28,6 +27,7 @@ "minecraft:iron_trapdoor" ], "state": { + "half": "top", "open": "false" } }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/smash/glowstone_2_glowstone_dust.json b/forge/src/generated/resources/data/anvilcraft/recipes/smash/glowstone_to_glowstone_dust.json similarity index 93% rename from forge/src/generated/resources/data/anvilcraft/recipes/smash/glowstone_2_glowstone_dust.json rename to forge/src/generated/resources/data/anvilcraft/recipes/smash/glowstone_to_glowstone_dust.json index 6da478edd..698723594 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/smash/glowstone_2_glowstone_dust.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/smash/glowstone_to_glowstone_dust.json @@ -1,8 +1,7 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "item_smash", "icon": { - "count": 4, "item": "minecraft:glowstone_dust" }, "outcomes": [ @@ -28,6 +27,7 @@ "minecraft:iron_trapdoor" ], "state": { + "half": "top", "open": "false" } }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/smash/hollow_magnet_block_2_magnet_ingot.json b/forge/src/generated/resources/data/anvilcraft/recipes/smash/hollow_magnet_block_to_magnet_ingot.json similarity index 93% rename from forge/src/generated/resources/data/anvilcraft/recipes/smash/hollow_magnet_block_2_magnet_ingot.json rename to forge/src/generated/resources/data/anvilcraft/recipes/smash/hollow_magnet_block_to_magnet_ingot.json index da3893223..a46ebe524 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/smash/hollow_magnet_block_2_magnet_ingot.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/smash/hollow_magnet_block_to_magnet_ingot.json @@ -1,8 +1,7 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "item_smash", "icon": { - "count": 8, "item": "anvilcraft:magnet_ingot" }, "outcomes": [ @@ -28,6 +27,7 @@ "minecraft:iron_trapdoor" ], "state": { + "half": "top", "open": "false" } }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/smash/honey_block_2_honey_bottle.json b/forge/src/generated/resources/data/anvilcraft/recipes/smash/honey_block_to_honey_bottle.json similarity index 93% rename from forge/src/generated/resources/data/anvilcraft/recipes/smash/honey_block_2_honey_bottle.json rename to forge/src/generated/resources/data/anvilcraft/recipes/smash/honey_block_to_honey_bottle.json index 444b70618..6c05c5cd6 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/smash/honey_block_2_honey_bottle.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/smash/honey_block_to_honey_bottle.json @@ -1,8 +1,7 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "item_smash", "icon": { - "count": 4, "item": "minecraft:honey_bottle" }, "outcomes": [ @@ -28,6 +27,7 @@ "minecraft:iron_trapdoor" ], "state": { + "half": "top", "open": "false" } }, @@ -41,7 +41,7 @@ "type": "has_item_ingredient", "match_item": { "count": { - "min": 1 + "min": 4 }, "items": [ "minecraft:honey_block" diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/smash/honeycomb_block_2_honeycomb.json b/forge/src/generated/resources/data/anvilcraft/recipes/smash/honeycomb_block_to_honeycomb.json similarity index 93% rename from fabric/src/generated/resources/data/anvilcraft/recipes/smash/honeycomb_block_2_honeycomb.json rename to forge/src/generated/resources/data/anvilcraft/recipes/smash/honeycomb_block_to_honeycomb.json index 9eade7956..3f90b8215 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/smash/honeycomb_block_2_honeycomb.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/smash/honeycomb_block_to_honeycomb.json @@ -1,8 +1,7 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "item_smash", "icon": { - "count": 4, "item": "minecraft:honeycomb" }, "outcomes": [ @@ -28,6 +27,7 @@ "minecraft:iron_trapdoor" ], "state": { + "half": "top", "open": "false" } }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/smash/magnet_block_2_magnet_ingot.json b/forge/src/generated/resources/data/anvilcraft/recipes/smash/magnet_block_to_magnet_ingot.json similarity index 93% rename from forge/src/generated/resources/data/anvilcraft/recipes/smash/magnet_block_2_magnet_ingot.json rename to forge/src/generated/resources/data/anvilcraft/recipes/smash/magnet_block_to_magnet_ingot.json index b8540ea97..bbf663a10 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/smash/magnet_block_2_magnet_ingot.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/smash/magnet_block_to_magnet_ingot.json @@ -1,8 +1,7 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "item_smash", "icon": { - "count": 9, "item": "anvilcraft:magnet_ingot" }, "outcomes": [ @@ -28,6 +27,7 @@ "minecraft:iron_trapdoor" ], "state": { + "half": "top", "open": "false" } }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/smash/melon_2_melon_slice.json b/forge/src/generated/resources/data/anvilcraft/recipes/smash/melon_to_melon_slice.json similarity index 93% rename from forge/src/generated/resources/data/anvilcraft/recipes/smash/melon_2_melon_slice.json rename to forge/src/generated/resources/data/anvilcraft/recipes/smash/melon_to_melon_slice.json index 216a2feee..bbf6edca0 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/smash/melon_2_melon_slice.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/smash/melon_to_melon_slice.json @@ -1,8 +1,7 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "item_smash", "icon": { - "count": 9, "item": "minecraft:melon_slice" }, "outcomes": [ @@ -28,6 +27,7 @@ "minecraft:iron_trapdoor" ], "state": { + "half": "top", "open": "false" } }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/smash/prismarine_bricks_2_prismarine_shard.json b/forge/src/generated/resources/data/anvilcraft/recipes/smash/prismarine_bricks_to_prismarine_shard.json similarity index 93% rename from fabric/src/generated/resources/data/anvilcraft/recipes/smash/prismarine_bricks_2_prismarine_shard.json rename to forge/src/generated/resources/data/anvilcraft/recipes/smash/prismarine_bricks_to_prismarine_shard.json index 02db02642..3242c8a7a 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/smash/prismarine_bricks_2_prismarine_shard.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/smash/prismarine_bricks_to_prismarine_shard.json @@ -1,8 +1,7 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "item_smash", "icon": { - "count": 9, "item": "minecraft:prismarine_shard" }, "outcomes": [ @@ -28,6 +27,7 @@ "minecraft:iron_trapdoor" ], "state": { + "half": "top", "open": "false" } }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/smash/prismarine_2_prismarine_shard.json b/forge/src/generated/resources/data/anvilcraft/recipes/smash/prismarine_to_prismarine_shard.json similarity index 93% rename from forge/src/generated/resources/data/anvilcraft/recipes/smash/prismarine_2_prismarine_shard.json rename to forge/src/generated/resources/data/anvilcraft/recipes/smash/prismarine_to_prismarine_shard.json index 93a045ba7..372fa3f20 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/smash/prismarine_2_prismarine_shard.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/smash/prismarine_to_prismarine_shard.json @@ -1,8 +1,7 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "item_smash", "icon": { - "count": 4, "item": "minecraft:prismarine_shard" }, "outcomes": [ @@ -28,6 +27,7 @@ "minecraft:iron_trapdoor" ], "state": { + "half": "top", "open": "false" } }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/smash/quartz_block_2_quartz.json b/forge/src/generated/resources/data/anvilcraft/recipes/smash/quartz_block_to_quartz.json similarity index 93% rename from fabric/src/generated/resources/data/anvilcraft/recipes/smash/quartz_block_2_quartz.json rename to forge/src/generated/resources/data/anvilcraft/recipes/smash/quartz_block_to_quartz.json index baa2a1eed..52147a366 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/smash/quartz_block_2_quartz.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/smash/quartz_block_to_quartz.json @@ -1,8 +1,7 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "item_smash", "icon": { - "count": 4, "item": "minecraft:quartz" }, "outcomes": [ @@ -28,6 +27,7 @@ "minecraft:iron_trapdoor" ], "state": { + "half": "top", "open": "false" } }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/smash/snow_block_2_snowball.json b/forge/src/generated/resources/data/anvilcraft/recipes/smash/snow_block_to_snowball.json similarity index 93% rename from forge/src/generated/resources/data/anvilcraft/recipes/smash/snow_block_2_snowball.json rename to forge/src/generated/resources/data/anvilcraft/recipes/smash/snow_block_to_snowball.json index ad5150dc5..4905c1a1b 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/smash/snow_block_2_snowball.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/smash/snow_block_to_snowball.json @@ -1,8 +1,7 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "item_smash", "icon": { - "count": 4, "item": "minecraft:snowball" }, "outcomes": [ @@ -28,6 +27,7 @@ "minecraft:iron_trapdoor" ], "state": { + "half": "top", "open": "false" } }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/smash/wet_sponge_2_sponge_gemmule.json b/forge/src/generated/resources/data/anvilcraft/recipes/smash/wet_sponge_to_sponge_gemmule.json similarity index 93% rename from forge/src/generated/resources/data/anvilcraft/recipes/smash/wet_sponge_2_sponge_gemmule.json rename to forge/src/generated/resources/data/anvilcraft/recipes/smash/wet_sponge_to_sponge_gemmule.json index d984b7e33..1aa572138 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/smash/wet_sponge_2_sponge_gemmule.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/smash/wet_sponge_to_sponge_gemmule.json @@ -1,8 +1,7 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "item_smash", "icon": { - "count": 4, "item": "anvilcraft:sponge_gemmule" }, "outcomes": [ @@ -28,6 +27,7 @@ "minecraft:iron_trapdoor" ], "state": { + "half": "top", "open": "false" } }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/andesite.json b/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/andesite.json index f48e9a765..f2435848f 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/andesite.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/andesite.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "block_smash", "icon": { "item": "minecraft:andesite" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/basalt_and_basalt_2_blackstone.json b/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/basalt_and_basalt_2_blackstone.json index 4e968b8de..3949d8147 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/basalt_and_basalt_2_blackstone.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/basalt_and_basalt_2_blackstone.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "compaction", "icon": { "item": "minecraft:blackstone" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/black_sand.json b/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/black_sand.json index 9b942b8a2..ad7bc2fe2 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/black_sand.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/black_sand.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "block_smash", "icon": { "item": "anvilcraft:black_sand" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/cinerite.json b/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/cinerite.json index 2ba2cb1eb..5e3332d05 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/cinerite.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/cinerite.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "block_smash", "icon": { "item": "anvilcraft:cinerite" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/cracked_deepslate_bricks.json b/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/cracked_deepslate_bricks.json index 250ac4fdb..2ee9cb91f 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/cracked_deepslate_bricks.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/cracked_deepslate_bricks.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "block_smash", "icon": { "item": "minecraft:cracked_deepslate_bricks" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/cracked_deepslate_tiles.json b/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/cracked_deepslate_tiles.json index 8ec5dc244..5d84b8bcc 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/cracked_deepslate_tiles.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/cracked_deepslate_tiles.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "block_smash", "icon": { "item": "minecraft:cracked_deepslate_tiles" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/cracked_nether_bricks.json b/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/cracked_nether_bricks.json index 030a411b2..f501c2852 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/cracked_nether_bricks.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/cracked_nether_bricks.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "block_smash", "icon": { "item": "minecraft:cracked_nether_bricks" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/cracked_polished_blackstone_bricks.json b/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/cracked_polished_blackstone_bricks.json index ecdc20cc5..b92ad6244 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/cracked_polished_blackstone_bricks.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/cracked_polished_blackstone_bricks.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "block_smash", "icon": { "item": "minecraft:cracked_polished_blackstone_bricks" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/cracked_stone_bricks.json b/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/cracked_stone_bricks.json index 475525aed..0a03a9b44 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/cracked_stone_bricks.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/cracked_stone_bricks.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "block_smash", "icon": { "item": "minecraft:cracked_stone_bricks" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/deepslate_chips.json b/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/deepslate_chips.json index 3aa93fa3a..5c00d1fa0 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/deepslate_chips.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/deepslate_chips.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "block_smash", "icon": { "item": "anvilcraft:deepslate_chips" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/diorite.json b/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/diorite.json index b85e9b152..8e6256439 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/diorite.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/diorite.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "block_smash", "icon": { "item": "minecraft:diorite" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/end_dust.json b/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/end_dust.json index 90c0d99e6..a651c663b 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/end_dust.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/end_dust.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "block_smash", "icon": { "item": "anvilcraft:end_dust" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/granite.json b/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/granite.json index 239d67d7b..9ce82e1a1 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/granite.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/granite.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "block_smash", "icon": { "item": "minecraft:granite" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/gravel.json b/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/gravel.json index 919e762a4..ca33e6b3a 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/gravel.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/gravel.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "block_smash", "icon": { "item": "minecraft:gravel" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/ice_and_ice_2_packed_ice.json b/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/ice_and_ice_2_packed_ice.json index 7cbd80a64..74a9e7c86 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/ice_and_ice_2_packed_ice.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/ice_and_ice_2_packed_ice.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "compaction", "icon": { "item": "minecraft:packed_ice" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/moss_block_and_dirt_2_grass_block.json b/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/moss_block_and_dirt_2_grass_block.json index a39477ffa..f48636af5 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/moss_block_and_dirt_2_grass_block.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/moss_block_and_dirt_2_grass_block.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "compaction", "icon": { "item": "minecraft:grass_block" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/nether_dust.json b/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/nether_dust.json index efa3890b8..cd95b0aba 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/nether_dust.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/nether_dust.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "block_smash", "icon": { "item": "anvilcraft:nether_dust" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/nether_wart_block_and_netherrack_2_crimson_nylium.json b/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/nether_wart_block_and_netherrack_2_crimson_nylium.json index 0f52081c8..34f42484d 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/nether_wart_block_and_netherrack_2_crimson_nylium.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/nether_wart_block_and_netherrack_2_crimson_nylium.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "compaction", "icon": { "item": "minecraft:crimson_nylium" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/packed_ice_and_packed_ice_2_blue_ice.json b/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/packed_ice_and_packed_ice_2_blue_ice.json index 1f163fe41..87180b502 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/packed_ice_and_packed_ice_2_blue_ice.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/packed_ice_and_packed_ice_2_blue_ice.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "compaction", "icon": { "item": "minecraft:blue_ice" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/quartz_sand.json b/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/quartz_sand.json index 8869e5387..983009320 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/quartz_sand.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/quartz_sand.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "block_smash", "icon": { "item": "anvilcraft:quartz_sand" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/red_sand.json b/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/red_sand.json index 21a22e695..a9f7c1f69 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/red_sand.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/red_sand.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "block_smash", "icon": { "item": "minecraft:red_sand" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/sand.json b/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/sand.json index 6cd8ae47f..258b8eaa8 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/sand.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/sand.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "block_smash", "icon": { "item": "minecraft:sand" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/soul_sand.json b/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/soul_sand.json index d3a1f0ac3..01f69e69b 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/soul_sand.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/soul_sand.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "block_smash", "icon": { "item": "minecraft:soul_sand" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/stone_and_stone_2_deepslate.json b/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/stone_and_stone_2_deepslate.json index 699f00801..169d77b8b 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/stone_and_stone_2_deepslate.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/stone_and_stone_2_deepslate.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "compaction", "icon": { "item": "minecraft:deepslate" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/warped_wart_block_and_netherrack_2_warped_nylium.json b/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/warped_wart_block_and_netherrack_2_warped_nylium.json index f4b72f0ee..bc9ee4e97 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/warped_wart_block_and_netherrack_2_warped_nylium.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/warped_wart_block_and_netherrack_2_warped_nylium.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "compaction", "icon": { "item": "minecraft:warped_nylium" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/squeeze/magma_block_lava_cauldron_1.json b/forge/src/generated/resources/data/anvilcraft/recipes/squeeze/magma_block_lava_cauldron_1.json index 967e092ea..53b0c2e38 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/squeeze/magma_block_lava_cauldron_1.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/squeeze/magma_block_lava_cauldron_1.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "squeeze", "icon": { "item": "minecraft:netherrack" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/squeeze/magma_block_lava_cauldron_2.json b/forge/src/generated/resources/data/anvilcraft/recipes/squeeze/magma_block_lava_cauldron_2.json index 20b37ec4e..4d4541e70 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/squeeze/magma_block_lava_cauldron_2.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/squeeze/magma_block_lava_cauldron_2.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "squeeze", "icon": { "item": "minecraft:netherrack" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/squeeze/magma_block_lava_cauldron_3.json b/forge/src/generated/resources/data/anvilcraft/recipes/squeeze/magma_block_lava_cauldron_3.json index 2c4395204..6ace8554d 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/squeeze/magma_block_lava_cauldron_3.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/squeeze/magma_block_lava_cauldron_3.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "squeeze", "icon": { "item": "minecraft:netherrack" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/squeeze/moss_block_water_cauldron_1.json b/forge/src/generated/resources/data/anvilcraft/recipes/squeeze/moss_block_water_cauldron_1.json index f27dde84c..abafe292a 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/squeeze/moss_block_water_cauldron_1.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/squeeze/moss_block_water_cauldron_1.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "squeeze", "icon": { "item": "minecraft:moss_carpet" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/squeeze/moss_block_water_cauldron_2.json b/forge/src/generated/resources/data/anvilcraft/recipes/squeeze/moss_block_water_cauldron_2.json index cd6cc48d2..da8d356e3 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/squeeze/moss_block_water_cauldron_2.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/squeeze/moss_block_water_cauldron_2.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "squeeze", "icon": { "item": "minecraft:moss_carpet" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/squeeze/moss_block_water_cauldron_3.json b/forge/src/generated/resources/data/anvilcraft/recipes/squeeze/moss_block_water_cauldron_3.json index 0742c6b3b..cbca699ca 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/squeeze/moss_block_water_cauldron_3.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/squeeze/moss_block_water_cauldron_3.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "squeeze", "icon": { "item": "minecraft:moss_carpet" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/squeeze/snow_block_powder_snow_cauldron_1.json b/forge/src/generated/resources/data/anvilcraft/recipes/squeeze/snow_block_powder_snow_cauldron_1.json index 0a928fcee..d7b533732 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/squeeze/snow_block_powder_snow_cauldron_1.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/squeeze/snow_block_powder_snow_cauldron_1.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "squeeze", "icon": { "item": "minecraft:ice" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/squeeze/snow_block_powder_snow_cauldron_2.json b/forge/src/generated/resources/data/anvilcraft/recipes/squeeze/snow_block_powder_snow_cauldron_2.json index ed093b9a7..f700b1cec 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/squeeze/snow_block_powder_snow_cauldron_2.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/squeeze/snow_block_powder_snow_cauldron_2.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "squeeze", "icon": { "item": "minecraft:ice" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/squeeze/snow_block_powder_snow_cauldron_3.json b/forge/src/generated/resources/data/anvilcraft/recipes/squeeze/snow_block_powder_snow_cauldron_3.json index 3f6833f77..0bb897744 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/squeeze/snow_block_powder_snow_cauldron_3.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/squeeze/snow_block_powder_snow_cauldron_3.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "squeeze", "icon": { "item": "minecraft:ice" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/squeeze/wet_sponge_water_cauldron_1.json b/forge/src/generated/resources/data/anvilcraft/recipes/squeeze/wet_sponge_water_cauldron_1.json index 005fa7da2..94bd313da 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/squeeze/wet_sponge_water_cauldron_1.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/squeeze/wet_sponge_water_cauldron_1.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "squeeze", "icon": { "item": "minecraft:sponge" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/squeeze/wet_sponge_water_cauldron_2.json b/forge/src/generated/resources/data/anvilcraft/recipes/squeeze/wet_sponge_water_cauldron_2.json index 499c881ae..50c347fda 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/squeeze/wet_sponge_water_cauldron_2.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/squeeze/wet_sponge_water_cauldron_2.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "squeeze", "icon": { "item": "minecraft:sponge" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/squeeze/wet_sponge_water_cauldron_3.json b/forge/src/generated/resources/data/anvilcraft/recipes/squeeze/wet_sponge_water_cauldron_3.json index 2fc50c09b..49df64769 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/squeeze/wet_sponge_water_cauldron_3.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/squeeze/wet_sponge_water_cauldron_3.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "squeeze", "icon": { "item": "minecraft:sponge" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/amber.json b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/amber.json index d5b21384e..3e3fe7299 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/amber.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/amber.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "timewarp", "icon": { "item": "anvilcraft:amber" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/ancient_debris.json b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/ancient_debris.json index 194a5efe0..1b7666ed4 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/ancient_debris.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/ancient_debris.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "timewarp", "icon": { "item": "minecraft:ancient_debris" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/budding_amethyst.json b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/budding_amethyst.json index 243810976..b9516f056 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/budding_amethyst.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/budding_amethyst.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "timewarp", "icon": { "item": "minecraft:budding_amethyst" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/calcite.json b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/calcite.json index bfc78fe42..8aa9d8092 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/calcite.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/calcite.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "timewarp", "icon": { "item": "minecraft:calcite" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/coal.json b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/coal.json index 5cadc86eb..bbf78675e 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/coal.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/coal.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "timewarp", "icon": { "item": "minecraft:coal" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/crying_obsidian.json b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/crying_obsidian.json index d97294981..492916d96 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/crying_obsidian.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/crying_obsidian.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "timewarp", "icon": { "item": "minecraft:crying_obsidian" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/dirt.json b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/dirt.json index fdb45a99b..7c54f37bc 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/dirt.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/dirt.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "timewarp", "icon": { "item": "minecraft:dirt" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/emerald_block.json b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/emerald_block.json index 3dd179f22..8f908b3d0 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/emerald_block.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/emerald_block.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "timewarp", "icon": { "item": "minecraft:emerald_block" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/end_stone.json b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/end_stone.json index 01ca8cf3a..cb816a544 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/end_stone.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/end_stone.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "timewarp", "icon": { "item": "minecraft:end_stone" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_copper.json b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_copper.json index 88d97a9bd..901931dad 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_copper.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_copper.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "timewarp", "icon": { "item": "minecraft:raw_copper" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_gold.json b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_gold.json index 343c90464..153832192 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_gold.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_gold.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "timewarp", "icon": { "item": "minecraft:raw_gold" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_iron.json b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_iron.json index 3be02687e..7197942c6 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_iron.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_iron.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "timewarp", "icon": { "item": "minecraft:raw_iron" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_lead.json b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_lead.json index a1c655272..b667f0c05 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_lead.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_lead.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "timewarp", "icon": { "item": "anvilcraft:raw_lead" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_silver.json b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_silver.json index 7589187f8..c8507363c 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_silver.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_silver.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "timewarp", "icon": { "item": "anvilcraft:raw_silver" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_tin.json b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_tin.json index 48f6d526c..b768e3be3 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_tin.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_tin.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "timewarp", "icon": { "item": "anvilcraft:raw_tin" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_titanium.json b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_titanium.json index 063093a6c..9a763e120 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_titanium.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_titanium.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "timewarp", "icon": { "item": "anvilcraft:raw_titanium" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_tungsten.json b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_tungsten.json index 9566cbcaa..7bbcecb9a 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_tungsten.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_tungsten.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "timewarp", "icon": { "item": "anvilcraft:raw_tungsten" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_uranium.json b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_uranium.json index d8238fb43..76dbc5bf6 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_uranium.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_uranium.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "timewarp", "icon": { "item": "anvilcraft:raw_uranium" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_zinc.json b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_zinc.json index 26e42cac8..4615475e8 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_zinc.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/raw_zinc.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "timewarp", "icon": { "item": "anvilcraft:raw_zinc" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/ruby_block.json b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/ruby_block.json index 7b7434e3f..860197df0 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/ruby_block.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/ruby_block.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "timewarp", "icon": { "item": "anvilcraft:ruby_block" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/sapphire_block.json b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/sapphire_block.json index beeab29d9..a65a6ab05 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/sapphire_block.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/sapphire_block.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "timewarp", "icon": { "item": "anvilcraft:sapphire_block" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/sea_heart_shell.json b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/sea_heart_shell.json index f79543ee5..53db0eb18 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/sea_heart_shell.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/sea_heart_shell.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "timewarp", "icon": { "item": "anvilcraft:sea_heart_shell" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/soul_soil.json b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/soul_soil.json index 85cf2bbaf..c44b068b4 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/soul_soil.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/soul_soil.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "timewarp", "icon": { "item": "minecraft:soul_soil" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/topaz_block.json b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/topaz_block.json index e30eab7fa..1f05a9352 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/topaz_block.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/topaz_block.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "timewarp", "icon": { "item": "anvilcraft:topaz_block" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/tuff.json b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/tuff.json index 4b73a12f6..918893791 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/tuff.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/tuff.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "timewarp", "icon": { "item": "minecraft:tuff" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/wither_rose.json b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/wither_rose.json index a8ab8aade..90b29b584 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/wither_rose.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/wither_rose.json @@ -1,13 +1,13 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "timewarp", "icon": { "item": "minecraft:wither_rose" }, "outcomes": [ { "type": "spawn_item", - "chance": 0.2, + "chance": 0.20000000298023224, "offset": [ 0.0, -1.0, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/zombie.json b/forge/src/generated/resources/data/anvilcraft/recipes/zombie.json index 019a4d6b3..47781098d 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/zombie.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/zombie.json @@ -17,7 +17,7 @@ } ], "transformOptions": [ - "keepInventory", - "replaceAnvil" + "replaceAnvil", + "keepInventory" ] } \ No newline at end of file From 6a4bff5db45831e6bd43753f375b250b90589cd6 Mon Sep 17 00:00:00 2001 From: Gugle Date: Mon, 10 Jun 2024 19:06:56 +0800 Subject: [PATCH 5/7] =?UTF-8?q?=E4=B8=80=E4=BA=9B=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data/generator/lang/EmiLang.java | 14 ++++---- .../recipe/ItemSmashRecipesLoader.java | 2 +- .../data/recipe/anvil/AnvilRecipe.java | 4 +-- .../data/recipe/anvil/AnvilRecipeType.java | 36 +++++++++---------- .../dev/dubhe/anvilcraft/init/ModBlocks.java | 4 ++- .../integration/emi/AnvilCraftEmiPlugin.java | 6 ++-- .../emi/AnvilCraftEmiRecipeTypes.java | 7 ++-- .../assets/anvilcraft/lang/en_ud.json | 14 ++++---- .../assets/anvilcraft/lang/en_us.json | 14 ++++---- .../recipes/bulging_like/lime_powder.json | 2 +- .../recipes/daub/mossy_cobblestone.json | 2 +- .../recipes/daub/mossy_stone_bricks.json | 2 +- .../recipes/daub/waxed_copper_block.json | 2 +- .../recipes/daub/waxed_cut_copper.json | 2 +- .../recipes/daub/waxed_cut_copper_slab.json | 2 +- .../recipes/daub/waxed_cut_copper_stairs.json | 2 +- .../recipes/daub/waxed_exposed_copper.json | 2 +- .../daub/waxed_exposed_cut_copper.json | 2 +- .../daub/waxed_exposed_cut_copper_slab.json | 2 +- .../daub/waxed_exposed_cut_copper_stairs.json | 2 +- .../recipes/daub/waxed_oxidized_copper.json | 2 +- .../daub/waxed_oxidized_cut_copper.json | 2 +- .../daub/waxed_oxidized_cut_copper_slab.json | 2 +- .../waxed_oxidized_cut_copper_stairs.json | 2 +- .../recipes/daub/waxed_weathered_copper.json | 2 +- .../daub/waxed_weathered_cut_copper.json | 2 +- .../daub/waxed_weathered_cut_copper_slab.json | 2 +- .../waxed_weathered_cut_copper_stairs.json | 2 +- .../data/anvilcraft/recipes/flour.json | 2 +- .../recipes/heating/brass_ingot.json | 2 +- .../recipes/heating/brass_ingot_forge.json | 2 +- .../recipes/heating/bronze_ingot.json | 2 +- .../recipes/heating/bronze_ingot_forge.json | 2 +- .../recipes/heating/royal_steel_block.json | 4 +-- .../smash/honey_block_to_honey_bottle.json | 2 +- .../smash_block/leaves_and_dirt_2_podzol.json | 2 +- .../mushroom_block_and_dirt_2_mycelium.json | 2 +- .../recipes/timewarp/amber_block.json | 2 +- .../timewarp/ancient_debris_first.json | 2 +- .../recipes/timewarp/mob_amber_block.json | 2 +- .../timewarp/mob_amber_block_resentful.json | 2 +- .../AnvilCraftBlockPlacerFakePlayer.java | 5 +-- .../assets/anvilcraft/lang/en_ud.json | 14 ++++---- .../assets/anvilcraft/lang/en_us.json | 14 ++++---- .../recipes/bulging_like/lime_powder.json | 2 +- .../recipes/daub/mossy_cobblestone.json | 2 +- .../recipes/daub/mossy_stone_bricks.json | 2 +- .../recipes/daub/waxed_copper_block.json | 2 +- .../recipes/daub/waxed_cut_copper.json | 2 +- .../recipes/daub/waxed_cut_copper_slab.json | 2 +- .../recipes/daub/waxed_cut_copper_stairs.json | 2 +- .../recipes/daub/waxed_exposed_copper.json | 2 +- .../daub/waxed_exposed_cut_copper.json | 2 +- .../daub/waxed_exposed_cut_copper_slab.json | 2 +- .../daub/waxed_exposed_cut_copper_stairs.json | 2 +- .../recipes/daub/waxed_oxidized_copper.json | 2 +- .../daub/waxed_oxidized_cut_copper.json | 2 +- .../daub/waxed_oxidized_cut_copper_slab.json | 2 +- .../waxed_oxidized_cut_copper_stairs.json | 2 +- .../recipes/daub/waxed_weathered_copper.json | 2 +- .../daub/waxed_weathered_cut_copper.json | 2 +- .../daub/waxed_weathered_cut_copper_slab.json | 2 +- .../waxed_weathered_cut_copper_stairs.json | 2 +- .../data/anvilcraft/recipes/flour.json | 2 +- .../recipes/heating/brass_ingot.json | 2 +- .../recipes/heating/brass_ingot_forge.json | 2 +- .../recipes/heating/bronze_ingot.json | 2 +- .../recipes/heating/bronze_ingot_forge.json | 2 +- .../recipes/heating/royal_steel_block.json | 4 +-- .../smash/honey_block_to_honey_bottle.json | 2 +- .../smash_block/leaves_and_dirt_2_podzol.json | 2 +- .../mushroom_block_and_dirt_2_mycelium.json | 2 +- .../recipes/timewarp/amber_block.json | 2 +- .../timewarp/ancient_debris_first.json | 2 +- .../recipes/timewarp/mob_amber_block.json | 2 +- .../timewarp/mob_amber_block_resentful.json | 2 +- gradle.properties | 2 +- 77 files changed, 136 insertions(+), 132 deletions(-) diff --git a/common/src/main/java/dev/dubhe/anvilcraft/data/generator/lang/EmiLang.java b/common/src/main/java/dev/dubhe/anvilcraft/data/generator/lang/EmiLang.java index 18335de26..36b57c289 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/data/generator/lang/EmiLang.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/data/generator/lang/EmiLang.java @@ -10,19 +10,19 @@ public static void init(RegistrateLangProvider provider) { provider.add("emi.category.anvilcraft.stamping", "Stamping"); provider.add("emi.category.anvilcraft.sieving", "Sieving"); provider.add("emi.category.anvilcraft.bulging", "Bulging"); - provider.add("emi.category.anvilcraft.bulging_like", "BulgingLike"); - provider.add("emi.category.anvilcraft.fluid_handling", "FluidHandling"); + provider.add("emi.category.anvilcraft.bulging_like", "Bulging Like"); + provider.add("emi.category.anvilcraft.fluid_handling", "Fluid Handling"); provider.add("emi.category.anvilcraft.crystallize", "Crystallize"); provider.add("emi.category.anvilcraft.compaction", "Compaction"); provider.add("emi.category.anvilcraft.compress", "Compress"); provider.add("emi.category.anvilcraft.cooking", "Cooking"); provider.add("emi.category.anvilcraft.boil", "Boil"); - provider.add("emi.category.anvilcraft.item_inject", "ItemInject"); - provider.add("emi.category.anvilcraft.block_smash", "BlockSmash"); - provider.add("emi.category.anvilcraft.item_smash", "ItemSmash"); + provider.add("emi.category.anvilcraft.item_inject", "Item Inject"); + provider.add("emi.category.anvilcraft.block_smash", "Block Smash"); + provider.add("emi.category.anvilcraft.item_smash", "Item Smash"); provider.add("emi.category.anvilcraft.squeeze", "Squeeze"); - provider.add("emi.category.anvilcraft.super_heating", "SuperHeating"); + provider.add("emi.category.anvilcraft.super_heating", "Super Heating"); provider.add("emi.category.anvilcraft.timewarp", "Timewarp"); - provider.add("emi.category.anvilcraft.null", "AnvilCraft"); + provider.add("emi.category.anvilcraft.generic", "Anvil Progress"); } } diff --git a/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/ItemSmashRecipesLoader.java b/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/ItemSmashRecipesLoader.java index 77d95711f..f74866906 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/ItemSmashRecipesLoader.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/data/generator/recipe/ItemSmashRecipesLoader.java @@ -42,7 +42,7 @@ public static void init(RegistrateRecipeProvider provider) { smash(RecipeItem.of(Items.AMETHYST_BLOCK), RecipeItem.of(Items.AMETHYST_SHARD, 4)); smash(RecipeItem.of(Items.HONEYCOMB_BLOCK), RecipeItem.of(Items.HONEYCOMB, 4)); smash(new RecipeItem[] { - RecipeItem.of(Items.HONEY_BLOCK, 4), + RecipeItem.of(Items.HONEY_BLOCK, 1), RecipeItem.of(Items.GLASS_BOTTLE, 4) }, RecipeItem.of(Items.HONEY_BOTTLE, 4) diff --git a/common/src/main/java/dev/dubhe/anvilcraft/data/recipe/anvil/AnvilRecipe.java b/common/src/main/java/dev/dubhe/anvilcraft/data/recipe/anvil/AnvilRecipe.java index c778b723f..c2223e132 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/data/recipe/anvil/AnvilRecipe.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/data/recipe/anvil/AnvilRecipe.java @@ -87,7 +87,7 @@ public class AnvilRecipe implements Recipe { private final Map data = new HashMap<>(); @Setter @Getter - private AnvilRecipeType anvilRecipeType = AnvilRecipeType.NULL; + private AnvilRecipeType anvilRecipeType = AnvilRecipeType.GENERIC; public AnvilRecipe(ResourceLocation id, ItemStack icon) { this.id = id; @@ -257,7 +257,7 @@ public static class Builder implements RecipeBuilder { @Nullable private String group = null; @Getter - private AnvilRecipeType anvilRecipeType = AnvilRecipeType.NULL; + private AnvilRecipeType anvilRecipeType = AnvilRecipeType.GENERIC; private Builder(RecipeCategory category, ItemStack icon) { this.category = category; diff --git a/common/src/main/java/dev/dubhe/anvilcraft/data/recipe/anvil/AnvilRecipeType.java b/common/src/main/java/dev/dubhe/anvilcraft/data/recipe/anvil/AnvilRecipeType.java index 498fd5a3c..587b1d767 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/data/recipe/anvil/AnvilRecipeType.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/data/recipe/anvil/AnvilRecipeType.java @@ -1,23 +1,23 @@ package dev.dubhe.anvilcraft.data.recipe.anvil; public enum AnvilRecipeType { - NULL("null"), - STAMPING("stamping"), - SIEVING("sieving"), - BULGING("bulging"), - BULGING_LIKE("bulging_like"), - FLUID_HANDLING("fluid_handling"), - CRYSTALLIZE("crystallize"), - COMPACTION("compaction"), - COMPRESS("compress"), - COOKING("cooking"), - BOIL("boil"), - ITEM_INJECT("item_inject"), - BLOCK_SMASH("block_smash"), - ITEM_SMASH("item_smash"), - SQUEEZE("squeeze"), - SUPER_HEATING("super_heating"), - TIMEWARP("timewarp"); + GENERIC("generic"), // 通用 + STAMPING("stamping"), // 冲压 + SIEVING("sieving"), // 过筛 + BULGING("bulging"), // 膨发 + BULGING_LIKE("bulging_like"), // 类膨发 + FLUID_HANDLING("fluid_handling"), // 流体处理 + CRYSTALLIZE("crystallize"), // 晶化 + COMPACTION("compaction"), // 压实 + COMPRESS("compress"), // 压缩 + COOKING("cooking"), // 煎炒 + BOIL("boil"), // 炖煮 + ITEM_INJECT("item_inject"), // 物品注入 + BLOCK_SMASH("block_smash"), // 方块粉碎 + ITEM_SMASH("item_smash"), // 物品粉碎 + SQUEEZE("squeeze"), // 挤压 + SUPER_HEATING("super_heating"), // 超级加热 + TIMEWARP("timewarp"); // 时移 private final String type; AnvilRecipeType(String type) { @@ -33,6 +33,6 @@ public String toString() { */ public static AnvilRecipeType of(String name) { for (AnvilRecipeType type : AnvilRecipeType.values()) if (name.equals(type.toString())) return type; - return AnvilRecipeType.NULL; + return AnvilRecipeType.GENERIC; } } diff --git a/common/src/main/java/dev/dubhe/anvilcraft/init/ModBlocks.java b/common/src/main/java/dev/dubhe/anvilcraft/init/ModBlocks.java index c635f0e56..095fbfb3f 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/init/ModBlocks.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/init/ModBlocks.java @@ -61,6 +61,7 @@ import dev.dubhe.anvilcraft.data.generator.AnvilCraftDatagen; import dev.dubhe.anvilcraft.data.generator.recipe.BlockSmashRecipesLoader; import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipe; +import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipeType; import dev.dubhe.anvilcraft.data.recipe.anvil.RecipeOutcome; import dev.dubhe.anvilcraft.data.recipe.anvil.RecipePredicate; import dev.dubhe.anvilcraft.data.recipe.anvil.outcome.SelectOne; @@ -330,7 +331,8 @@ public class ModBlocks { .unlockedBy("hasitem", RegistrateRecipeProvider.has(ModItems.ROYAL_STEEL_INGOT)) .save(provider); AnvilRecipe.Builder.create(RecipeCategory.MISC) - .icon(ModItems.ROYAL_STEEL_INGOT) + .icon(ctx.get()) + .type(AnvilRecipeType.SUPER_HEATING) .hasBlock(ModBlocks.HEATER.get(), new Vec3(0.0, -2.0, 0.0), Map.entry(OVERLOAD, false)) .hasBlock(Blocks.CAULDRON) diff --git a/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/AnvilCraftEmiPlugin.java b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/AnvilCraftEmiPlugin.java index 5ae7853de..0810a9d5a 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/AnvilCraftEmiPlugin.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/AnvilCraftEmiPlugin.java @@ -45,7 +45,7 @@ public void register(EmiRegistry registry) { registry.addWorkstation(AnvilCraftEmiRecipeTypes.SQUEEZE, EmiStack.of(Blocks.ANVIL)); registry.addWorkstation(AnvilCraftEmiRecipeTypes.SUPER_HEATING, EmiStack.of(ModBlocks.HEATER)); registry.addWorkstation(AnvilCraftEmiRecipeTypes.TIMEWARP, EmiStack.of(ModBlocks.CORRUPTED_BEACON)); - registry.addWorkstation(AnvilCraftEmiRecipeTypes.NULL, EmiStack.of(Blocks.ANVIL)); + registry.addWorkstation(AnvilCraftEmiRecipeTypes.GENERIC, EmiStack.of(Blocks.ANVIL)); AnvilRecipeManager.getAnvilRecipeList().stream() .filter(anvilRecipe1 -> anvilRecipe1.getAnvilRecipeType() == AnvilRecipeType.SIEVING) .forEach(anvilRecipe -> { @@ -115,8 +115,8 @@ public void register(EmiRegistry registry) { .forEach(anvilRecipe -> registry.addRecipe(new BaseItemEmiRecipe(AnvilCraftEmiRecipeTypes.TIMEWARP, anvilRecipe))); AnvilRecipeManager.getAnvilRecipeList().stream() - .filter(anvilRecipe1 -> anvilRecipe1.getAnvilRecipeType() == AnvilRecipeType.NULL) + .filter(anvilRecipe1 -> anvilRecipe1.getAnvilRecipeType() == AnvilRecipeType.GENERIC) .forEach(anvilRecipe -> - registry.addRecipe(new BaseItemEmiRecipe(AnvilCraftEmiRecipeTypes.NULL, anvilRecipe))); + registry.addRecipe(new BaseItemEmiRecipe(AnvilCraftEmiRecipeTypes.GENERIC, anvilRecipe))); } } diff --git a/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/AnvilCraftEmiRecipeTypes.java b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/AnvilCraftEmiRecipeTypes.java index 8e15c8969..48b9dc202 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/AnvilCraftEmiRecipeTypes.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/integration/emi/AnvilCraftEmiRecipeTypes.java @@ -5,11 +5,12 @@ import dev.emi.emi.api.recipe.EmiRecipeCategory; import dev.emi.emi.api.render.EmiRenderable; import dev.emi.emi.api.stack.EmiStack; -import java.util.LinkedHashMap; -import java.util.Map; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.block.Blocks; +import java.util.LinkedHashMap; +import java.util.Map; + public class AnvilCraftEmiRecipeTypes { public static final Map ALL = new LinkedHashMap<>(); @@ -31,7 +32,7 @@ public class AnvilCraftEmiRecipeTypes { public static final EmiRecipeCategory SQUEEZE = register("squeeze", EmiStack.of(Blocks.ANVIL)); public static final EmiRecipeCategory SUPER_HEATING = register("super_heating", EmiStack.of(ModBlocks.HEATER)); public static final EmiRecipeCategory TIMEWARP = register("timewarp", EmiStack.of(ModBlocks.CORRUPTED_BEACON)); - public static final EmiRecipeCategory NULL = register("null", EmiStack.of(Blocks.ANVIL)); + public static final EmiRecipeCategory GENERIC = register("generic", EmiStack.of(Blocks.ANVIL)); private static EmiRecipeCategory register(String name, EmiRenderable icon) { ResourceLocation id = AnvilCraft.of(name); diff --git a/fabric/src/generated/resources/assets/anvilcraft/lang/en_ud.json b/fabric/src/generated/resources/assets/anvilcraft/lang/en_ud.json index ee6578a5d..6d5bc7380 100644 --- a/fabric/src/generated/resources/assets/anvilcraft/lang/en_ud.json +++ b/fabric/src/generated/resources/assets/anvilcraft/lang/en_ud.json @@ -171,22 +171,22 @@ "block.anvilcraft.void_stone": "ǝuoʇS pıoΛ", "block.anvilcraft.zinc_block": "ʞɔoןᗺ ɔuıZ", "config.jade.plugin_anvilcraft.power_provider": "ɹǝʍoԀ ʇɟɐɹƆ ןıʌuⱯ", - "emi.category.anvilcraft.block_smash": "ɥsɐɯSʞɔoןᗺ", + "emi.category.anvilcraft.block_smash": "ɥsɐɯS ʞɔoןᗺ", "emi.category.anvilcraft.boil": "ןıoᗺ", "emi.category.anvilcraft.bulging": "buıbןnᗺ", - "emi.category.anvilcraft.bulging_like": "ǝʞıꞀbuıbןnᗺ", + "emi.category.anvilcraft.bulging_like": "ǝʞıꞀ buıbןnᗺ", "emi.category.anvilcraft.compaction": "uoıʇɔɐdɯoƆ", "emi.category.anvilcraft.compress": "ssǝɹdɯoƆ", "emi.category.anvilcraft.cooking": "buıʞooƆ", "emi.category.anvilcraft.crystallize": "ǝzıןןɐʇsʎɹƆ", - "emi.category.anvilcraft.fluid_handling": "buıןpuɐHpınןℲ", - "emi.category.anvilcraft.item_inject": "ʇɔǝظuIɯǝʇI", - "emi.category.anvilcraft.item_smash": "ɥsɐɯSɯǝʇI", - "emi.category.anvilcraft.null": "ʇɟɐɹƆןıʌuⱯ", + "emi.category.anvilcraft.fluid_handling": "buıןpuɐH pınןℲ", + "emi.category.anvilcraft.generic": "ssǝɹboɹԀ ןıʌuⱯ", + "emi.category.anvilcraft.item_inject": "ʇɔǝظuI ɯǝʇI", + "emi.category.anvilcraft.item_smash": "ɥsɐɯS ɯǝʇI", "emi.category.anvilcraft.sieving": "buıʌǝıS", "emi.category.anvilcraft.squeeze": "ǝzǝǝnbS", "emi.category.anvilcraft.stamping": "buıdɯɐʇS", - "emi.category.anvilcraft.super_heating": "buıʇɐǝHɹǝdnS", + "emi.category.anvilcraft.super_heating": "buıʇɐǝH ɹǝdnS", "emi.category.anvilcraft.timewarp": "dɹɐʍǝɯı⟘", "enchantment.anvilcraft.beheading": "buıpɐǝɥǝᗺ", "enchantment.anvilcraft.felling": "buıןןǝℲ", diff --git a/fabric/src/generated/resources/assets/anvilcraft/lang/en_us.json b/fabric/src/generated/resources/assets/anvilcraft/lang/en_us.json index e5b326c6e..15c0e65cb 100644 --- a/fabric/src/generated/resources/assets/anvilcraft/lang/en_us.json +++ b/fabric/src/generated/resources/assets/anvilcraft/lang/en_us.json @@ -171,22 +171,22 @@ "block.anvilcraft.void_stone": "Void Stone", "block.anvilcraft.zinc_block": "Zinc Block", "config.jade.plugin_anvilcraft.power_provider": "Anvil Craft Power", - "emi.category.anvilcraft.block_smash": "BlockSmash", + "emi.category.anvilcraft.block_smash": "Block Smash", "emi.category.anvilcraft.boil": "Boil", "emi.category.anvilcraft.bulging": "Bulging", - "emi.category.anvilcraft.bulging_like": "BulgingLike", + "emi.category.anvilcraft.bulging_like": "Bulging Like", "emi.category.anvilcraft.compaction": "Compaction", "emi.category.anvilcraft.compress": "Compress", "emi.category.anvilcraft.cooking": "Cooking", "emi.category.anvilcraft.crystallize": "Crystallize", - "emi.category.anvilcraft.fluid_handling": "FluidHandling", - "emi.category.anvilcraft.item_inject": "ItemInject", - "emi.category.anvilcraft.item_smash": "ItemSmash", - "emi.category.anvilcraft.null": "AnvilCraft", + "emi.category.anvilcraft.fluid_handling": "Fluid Handling", + "emi.category.anvilcraft.generic": "Anvil Progress", + "emi.category.anvilcraft.item_inject": "Item Inject", + "emi.category.anvilcraft.item_smash": "Item Smash", "emi.category.anvilcraft.sieving": "Sieving", "emi.category.anvilcraft.squeeze": "Squeeze", "emi.category.anvilcraft.stamping": "Stamping", - "emi.category.anvilcraft.super_heating": "SuperHeating", + "emi.category.anvilcraft.super_heating": "Super Heating", "emi.category.anvilcraft.timewarp": "Timewarp", "enchantment.anvilcraft.beheading": "Beheading", "enchantment.anvilcraft.felling": "Felling", diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/lime_powder.json b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/lime_powder.json index 992b018e5..849226cde 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/lime_powder.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/bulging_like/lime_powder.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "anvilcraft:lime_powder" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/daub/mossy_cobblestone.json b/fabric/src/generated/resources/data/anvilcraft/recipes/daub/mossy_cobblestone.json index 2d4dbd5b0..eebdb69d6 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/daub/mossy_cobblestone.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/daub/mossy_cobblestone.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "minecraft:mossy_cobblestone" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/daub/mossy_stone_bricks.json b/fabric/src/generated/resources/data/anvilcraft/recipes/daub/mossy_stone_bricks.json index 5b4689987..71f016ee6 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/daub/mossy_stone_bricks.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/daub/mossy_stone_bricks.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "minecraft:mossy_stone_bricks" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_copper_block.json b/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_copper_block.json index 08b238eab..1e04d9be2 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_copper_block.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_copper_block.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "minecraft:waxed_copper_block" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_cut_copper.json b/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_cut_copper.json index 15c9d902a..303dc511e 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_cut_copper.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_cut_copper.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "minecraft:waxed_cut_copper" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_cut_copper_slab.json b/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_cut_copper_slab.json index aef856623..fb7925f76 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_cut_copper_slab.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_cut_copper_slab.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "minecraft:waxed_cut_copper_slab" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_cut_copper_stairs.json b/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_cut_copper_stairs.json index b0e049b8c..8e1a66dd0 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_cut_copper_stairs.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_cut_copper_stairs.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "minecraft:waxed_cut_copper_stairs" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_exposed_copper.json b/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_exposed_copper.json index 2ab5786ed..d4b2138f1 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_exposed_copper.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_exposed_copper.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "minecraft:waxed_exposed_copper" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_exposed_cut_copper.json b/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_exposed_cut_copper.json index 0be608900..68e067dba 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_exposed_cut_copper.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_exposed_cut_copper.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "minecraft:waxed_exposed_cut_copper" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_exposed_cut_copper_slab.json b/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_exposed_cut_copper_slab.json index 31ba0e8c9..683bec21a 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_exposed_cut_copper_slab.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_exposed_cut_copper_slab.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "minecraft:waxed_exposed_cut_copper_slab" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_exposed_cut_copper_stairs.json b/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_exposed_cut_copper_stairs.json index 98bb4fa8b..0db82387f 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_exposed_cut_copper_stairs.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_exposed_cut_copper_stairs.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "minecraft:waxed_exposed_cut_copper_stairs" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_oxidized_copper.json b/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_oxidized_copper.json index 56ac25a08..22644b085 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_oxidized_copper.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_oxidized_copper.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "minecraft:waxed_oxidized_copper" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_oxidized_cut_copper.json b/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_oxidized_cut_copper.json index 76d042d62..f8a5576d7 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_oxidized_cut_copper.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_oxidized_cut_copper.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "minecraft:waxed_oxidized_cut_copper" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_oxidized_cut_copper_slab.json b/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_oxidized_cut_copper_slab.json index 6ea9f3d3a..3e38b2610 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_oxidized_cut_copper_slab.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_oxidized_cut_copper_slab.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "minecraft:waxed_oxidized_cut_copper_slab" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_oxidized_cut_copper_stairs.json b/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_oxidized_cut_copper_stairs.json index 235c55f08..88baf284a 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_oxidized_cut_copper_stairs.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_oxidized_cut_copper_stairs.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "minecraft:waxed_oxidized_cut_copper_stairs" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_weathered_copper.json b/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_weathered_copper.json index 31dfc839a..cce9ed3cf 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_weathered_copper.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_weathered_copper.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "minecraft:waxed_weathered_copper" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_weathered_cut_copper.json b/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_weathered_cut_copper.json index dbfa55acd..40910d95d 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_weathered_cut_copper.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_weathered_cut_copper.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "minecraft:waxed_weathered_cut_copper" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_weathered_cut_copper_slab.json b/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_weathered_cut_copper_slab.json index 5c37a21ee..fecb4a839 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_weathered_cut_copper_slab.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_weathered_cut_copper_slab.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "minecraft:waxed_weathered_cut_copper_slab" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_weathered_cut_copper_stairs.json b/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_weathered_cut_copper_stairs.json index 23d1025d0..4a02c3336 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_weathered_cut_copper_stairs.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/daub/waxed_weathered_cut_copper_stairs.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "minecraft:waxed_weathered_cut_copper_stairs" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/flour.json b/fabric/src/generated/resources/data/anvilcraft/recipes/flour.json index 91edd57f8..44e335779 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/flour.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/flour.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "anvilcraft:flour" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/heating/brass_ingot.json b/fabric/src/generated/resources/data/anvilcraft/recipes/heating/brass_ingot.json index 5f7066a7d..1195dad0a 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/heating/brass_ingot.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/heating/brass_ingot.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "anvilcraft:brass_ingot" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/heating/brass_ingot_forge.json b/fabric/src/generated/resources/data/anvilcraft/recipes/heating/brass_ingot_forge.json index 73072e6c0..d7f8df24e 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/heating/brass_ingot_forge.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/heating/brass_ingot_forge.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "anvilcraft:brass_ingot" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/heating/bronze_ingot.json b/fabric/src/generated/resources/data/anvilcraft/recipes/heating/bronze_ingot.json index 42dbd608f..5610fd792 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/heating/bronze_ingot.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/heating/bronze_ingot.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "anvilcraft:bronze_ingot" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/heating/bronze_ingot_forge.json b/fabric/src/generated/resources/data/anvilcraft/recipes/heating/bronze_ingot_forge.json index 6f865f53c..ff2332d24 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/heating/bronze_ingot_forge.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/heating/bronze_ingot_forge.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "anvilcraft:bronze_ingot" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/heating/royal_steel_block.json b/fabric/src/generated/resources/data/anvilcraft/recipes/heating/royal_steel_block.json index bf9ad4dbc..5386d6629 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/heating/royal_steel_block.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/heating/royal_steel_block.json @@ -1,8 +1,8 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "super_heating", "icon": { - "item": "anvilcraft:royal_steel_ingot" + "item": "anvilcraft:royal_steel_block" }, "outcomes": [ { diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/smash/honey_block_to_honey_bottle.json b/fabric/src/generated/resources/data/anvilcraft/recipes/smash/honey_block_to_honey_bottle.json index 6c05c5cd6..cc2ff8813 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/smash/honey_block_to_honey_bottle.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/smash/honey_block_to_honey_bottle.json @@ -41,7 +41,7 @@ "type": "has_item_ingredient", "match_item": { "count": { - "min": 4 + "min": 1 }, "items": [ "minecraft:honey_block" diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/leaves_and_dirt_2_podzol.json b/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/leaves_and_dirt_2_podzol.json index 38a6408a0..43f32c625 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/leaves_and_dirt_2_podzol.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/leaves_and_dirt_2_podzol.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "minecraft:podzol" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/mushroom_block_and_dirt_2_mycelium.json b/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/mushroom_block_and_dirt_2_mycelium.json index c27c161df..0cbcf94a9 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/mushroom_block_and_dirt_2_mycelium.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/smash_block/mushroom_block_and_dirt_2_mycelium.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "minecraft:mycelium" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/amber_block.json b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/amber_block.json index 562f37958..49f163c3e 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/amber_block.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/amber_block.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "anvilcraft:amber_block" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/ancient_debris_first.json b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/ancient_debris_first.json index 10d4ac9d6..48df85e4e 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/ancient_debris_first.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/ancient_debris_first.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "minecraft:ancient_debris" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/mob_amber_block.json b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/mob_amber_block.json index 31d9d3d6e..da769012d 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/mob_amber_block.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/mob_amber_block.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "anvilcraft:mob_amber_block" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/mob_amber_block_resentful.json b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/mob_amber_block_resentful.json index 1f75c7b0c..8db0e8375 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/mob_amber_block_resentful.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/mob_amber_block_resentful.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "anvilcraft:mob_amber_block" }, diff --git a/fabric/src/main/java/dev/dubhe/anvilcraft/api/entity/fakeplayer/fabric/AnvilCraftBlockPlacerFakePlayer.java b/fabric/src/main/java/dev/dubhe/anvilcraft/api/entity/fakeplayer/fabric/AnvilCraftBlockPlacerFakePlayer.java index 35e522bd9..090b2c0a1 100644 --- a/fabric/src/main/java/dev/dubhe/anvilcraft/api/entity/fakeplayer/fabric/AnvilCraftBlockPlacerFakePlayer.java +++ b/fabric/src/main/java/dev/dubhe/anvilcraft/api/entity/fakeplayer/fabric/AnvilCraftBlockPlacerFakePlayer.java @@ -3,12 +3,13 @@ import com.mojang.authlib.GameProfile; import dev.dubhe.anvilcraft.api.entity.player.IAnvilCraftBlockPlacer; import dev.latvian.mods.kubejs.util.AttachedData; -import java.util.UUID; import net.fabricmc.fabric.api.entity.FakePlayer; import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.entity.player.Player; +import java.util.UUID; + public class AnvilCraftBlockPlacerFakePlayer extends FakePlayer implements IAnvilCraftBlockPlacer { static final UUID placerUUID = UUID.randomUUID(); static final String placerName = "AnvilCraftBlockPlacer"; @@ -23,7 +24,7 @@ public ServerPlayer getPlayer() { return this; } - @Override + // @Override public AttachedData kjs$getData() { return null; } diff --git a/forge/src/generated/resources/assets/anvilcraft/lang/en_ud.json b/forge/src/generated/resources/assets/anvilcraft/lang/en_ud.json index ee6578a5d..6d5bc7380 100644 --- a/forge/src/generated/resources/assets/anvilcraft/lang/en_ud.json +++ b/forge/src/generated/resources/assets/anvilcraft/lang/en_ud.json @@ -171,22 +171,22 @@ "block.anvilcraft.void_stone": "ǝuoʇS pıoΛ", "block.anvilcraft.zinc_block": "ʞɔoןᗺ ɔuıZ", "config.jade.plugin_anvilcraft.power_provider": "ɹǝʍoԀ ʇɟɐɹƆ ןıʌuⱯ", - "emi.category.anvilcraft.block_smash": "ɥsɐɯSʞɔoןᗺ", + "emi.category.anvilcraft.block_smash": "ɥsɐɯS ʞɔoןᗺ", "emi.category.anvilcraft.boil": "ןıoᗺ", "emi.category.anvilcraft.bulging": "buıbןnᗺ", - "emi.category.anvilcraft.bulging_like": "ǝʞıꞀbuıbןnᗺ", + "emi.category.anvilcraft.bulging_like": "ǝʞıꞀ buıbןnᗺ", "emi.category.anvilcraft.compaction": "uoıʇɔɐdɯoƆ", "emi.category.anvilcraft.compress": "ssǝɹdɯoƆ", "emi.category.anvilcraft.cooking": "buıʞooƆ", "emi.category.anvilcraft.crystallize": "ǝzıןןɐʇsʎɹƆ", - "emi.category.anvilcraft.fluid_handling": "buıןpuɐHpınןℲ", - "emi.category.anvilcraft.item_inject": "ʇɔǝظuIɯǝʇI", - "emi.category.anvilcraft.item_smash": "ɥsɐɯSɯǝʇI", - "emi.category.anvilcraft.null": "ʇɟɐɹƆןıʌuⱯ", + "emi.category.anvilcraft.fluid_handling": "buıןpuɐH pınןℲ", + "emi.category.anvilcraft.generic": "ssǝɹboɹԀ ןıʌuⱯ", + "emi.category.anvilcraft.item_inject": "ʇɔǝظuI ɯǝʇI", + "emi.category.anvilcraft.item_smash": "ɥsɐɯS ɯǝʇI", "emi.category.anvilcraft.sieving": "buıʌǝıS", "emi.category.anvilcraft.squeeze": "ǝzǝǝnbS", "emi.category.anvilcraft.stamping": "buıdɯɐʇS", - "emi.category.anvilcraft.super_heating": "buıʇɐǝHɹǝdnS", + "emi.category.anvilcraft.super_heating": "buıʇɐǝH ɹǝdnS", "emi.category.anvilcraft.timewarp": "dɹɐʍǝɯı⟘", "enchantment.anvilcraft.beheading": "buıpɐǝɥǝᗺ", "enchantment.anvilcraft.felling": "buıןןǝℲ", diff --git a/forge/src/generated/resources/assets/anvilcraft/lang/en_us.json b/forge/src/generated/resources/assets/anvilcraft/lang/en_us.json index e5b326c6e..15c0e65cb 100644 --- a/forge/src/generated/resources/assets/anvilcraft/lang/en_us.json +++ b/forge/src/generated/resources/assets/anvilcraft/lang/en_us.json @@ -171,22 +171,22 @@ "block.anvilcraft.void_stone": "Void Stone", "block.anvilcraft.zinc_block": "Zinc Block", "config.jade.plugin_anvilcraft.power_provider": "Anvil Craft Power", - "emi.category.anvilcraft.block_smash": "BlockSmash", + "emi.category.anvilcraft.block_smash": "Block Smash", "emi.category.anvilcraft.boil": "Boil", "emi.category.anvilcraft.bulging": "Bulging", - "emi.category.anvilcraft.bulging_like": "BulgingLike", + "emi.category.anvilcraft.bulging_like": "Bulging Like", "emi.category.anvilcraft.compaction": "Compaction", "emi.category.anvilcraft.compress": "Compress", "emi.category.anvilcraft.cooking": "Cooking", "emi.category.anvilcraft.crystallize": "Crystallize", - "emi.category.anvilcraft.fluid_handling": "FluidHandling", - "emi.category.anvilcraft.item_inject": "ItemInject", - "emi.category.anvilcraft.item_smash": "ItemSmash", - "emi.category.anvilcraft.null": "AnvilCraft", + "emi.category.anvilcraft.fluid_handling": "Fluid Handling", + "emi.category.anvilcraft.generic": "Anvil Progress", + "emi.category.anvilcraft.item_inject": "Item Inject", + "emi.category.anvilcraft.item_smash": "Item Smash", "emi.category.anvilcraft.sieving": "Sieving", "emi.category.anvilcraft.squeeze": "Squeeze", "emi.category.anvilcraft.stamping": "Stamping", - "emi.category.anvilcraft.super_heating": "SuperHeating", + "emi.category.anvilcraft.super_heating": "Super Heating", "emi.category.anvilcraft.timewarp": "Timewarp", "enchantment.anvilcraft.beheading": "Beheading", "enchantment.anvilcraft.felling": "Felling", diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/lime_powder.json b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/lime_powder.json index 992b018e5..849226cde 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/lime_powder.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/bulging_like/lime_powder.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "anvilcraft:lime_powder" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/daub/mossy_cobblestone.json b/forge/src/generated/resources/data/anvilcraft/recipes/daub/mossy_cobblestone.json index 2d4dbd5b0..eebdb69d6 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/daub/mossy_cobblestone.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/daub/mossy_cobblestone.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "minecraft:mossy_cobblestone" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/daub/mossy_stone_bricks.json b/forge/src/generated/resources/data/anvilcraft/recipes/daub/mossy_stone_bricks.json index 5b4689987..71f016ee6 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/daub/mossy_stone_bricks.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/daub/mossy_stone_bricks.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "minecraft:mossy_stone_bricks" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_copper_block.json b/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_copper_block.json index 08b238eab..1e04d9be2 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_copper_block.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_copper_block.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "minecraft:waxed_copper_block" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_cut_copper.json b/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_cut_copper.json index 15c9d902a..303dc511e 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_cut_copper.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_cut_copper.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "minecraft:waxed_cut_copper" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_cut_copper_slab.json b/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_cut_copper_slab.json index aef856623..fb7925f76 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_cut_copper_slab.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_cut_copper_slab.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "minecraft:waxed_cut_copper_slab" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_cut_copper_stairs.json b/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_cut_copper_stairs.json index b0e049b8c..8e1a66dd0 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_cut_copper_stairs.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_cut_copper_stairs.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "minecraft:waxed_cut_copper_stairs" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_exposed_copper.json b/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_exposed_copper.json index 2ab5786ed..d4b2138f1 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_exposed_copper.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_exposed_copper.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "minecraft:waxed_exposed_copper" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_exposed_cut_copper.json b/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_exposed_cut_copper.json index 0be608900..68e067dba 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_exposed_cut_copper.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_exposed_cut_copper.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "minecraft:waxed_exposed_cut_copper" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_exposed_cut_copper_slab.json b/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_exposed_cut_copper_slab.json index 31ba0e8c9..683bec21a 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_exposed_cut_copper_slab.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_exposed_cut_copper_slab.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "minecraft:waxed_exposed_cut_copper_slab" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_exposed_cut_copper_stairs.json b/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_exposed_cut_copper_stairs.json index 98bb4fa8b..0db82387f 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_exposed_cut_copper_stairs.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_exposed_cut_copper_stairs.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "minecraft:waxed_exposed_cut_copper_stairs" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_oxidized_copper.json b/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_oxidized_copper.json index 56ac25a08..22644b085 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_oxidized_copper.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_oxidized_copper.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "minecraft:waxed_oxidized_copper" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_oxidized_cut_copper.json b/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_oxidized_cut_copper.json index 76d042d62..f8a5576d7 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_oxidized_cut_copper.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_oxidized_cut_copper.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "minecraft:waxed_oxidized_cut_copper" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_oxidized_cut_copper_slab.json b/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_oxidized_cut_copper_slab.json index 6ea9f3d3a..3e38b2610 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_oxidized_cut_copper_slab.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_oxidized_cut_copper_slab.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "minecraft:waxed_oxidized_cut_copper_slab" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_oxidized_cut_copper_stairs.json b/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_oxidized_cut_copper_stairs.json index 235c55f08..88baf284a 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_oxidized_cut_copper_stairs.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_oxidized_cut_copper_stairs.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "minecraft:waxed_oxidized_cut_copper_stairs" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_weathered_copper.json b/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_weathered_copper.json index 31dfc839a..cce9ed3cf 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_weathered_copper.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_weathered_copper.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "minecraft:waxed_weathered_copper" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_weathered_cut_copper.json b/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_weathered_cut_copper.json index dbfa55acd..40910d95d 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_weathered_cut_copper.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_weathered_cut_copper.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "minecraft:waxed_weathered_cut_copper" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_weathered_cut_copper_slab.json b/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_weathered_cut_copper_slab.json index 5c37a21ee..fecb4a839 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_weathered_cut_copper_slab.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_weathered_cut_copper_slab.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "minecraft:waxed_weathered_cut_copper_slab" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_weathered_cut_copper_stairs.json b/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_weathered_cut_copper_stairs.json index 23d1025d0..4a02c3336 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_weathered_cut_copper_stairs.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/daub/waxed_weathered_cut_copper_stairs.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "minecraft:waxed_weathered_cut_copper_stairs" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/flour.json b/forge/src/generated/resources/data/anvilcraft/recipes/flour.json index 91edd57f8..44e335779 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/flour.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/flour.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "anvilcraft:flour" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/heating/brass_ingot.json b/forge/src/generated/resources/data/anvilcraft/recipes/heating/brass_ingot.json index 5f7066a7d..1195dad0a 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/heating/brass_ingot.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/heating/brass_ingot.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "anvilcraft:brass_ingot" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/heating/brass_ingot_forge.json b/forge/src/generated/resources/data/anvilcraft/recipes/heating/brass_ingot_forge.json index 73072e6c0..d7f8df24e 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/heating/brass_ingot_forge.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/heating/brass_ingot_forge.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "anvilcraft:brass_ingot" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/heating/bronze_ingot.json b/forge/src/generated/resources/data/anvilcraft/recipes/heating/bronze_ingot.json index 42dbd608f..5610fd792 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/heating/bronze_ingot.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/heating/bronze_ingot.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "anvilcraft:bronze_ingot" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/heating/bronze_ingot_forge.json b/forge/src/generated/resources/data/anvilcraft/recipes/heating/bronze_ingot_forge.json index 6f865f53c..ff2332d24 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/heating/bronze_ingot_forge.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/heating/bronze_ingot_forge.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "anvilcraft:bronze_ingot" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/heating/royal_steel_block.json b/forge/src/generated/resources/data/anvilcraft/recipes/heating/royal_steel_block.json index bf9ad4dbc..5386d6629 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/heating/royal_steel_block.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/heating/royal_steel_block.json @@ -1,8 +1,8 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "super_heating", "icon": { - "item": "anvilcraft:royal_steel_ingot" + "item": "anvilcraft:royal_steel_block" }, "outcomes": [ { diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/smash/honey_block_to_honey_bottle.json b/forge/src/generated/resources/data/anvilcraft/recipes/smash/honey_block_to_honey_bottle.json index 6c05c5cd6..cc2ff8813 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/smash/honey_block_to_honey_bottle.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/smash/honey_block_to_honey_bottle.json @@ -41,7 +41,7 @@ "type": "has_item_ingredient", "match_item": { "count": { - "min": 4 + "min": 1 }, "items": [ "minecraft:honey_block" diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/leaves_and_dirt_2_podzol.json b/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/leaves_and_dirt_2_podzol.json index 38a6408a0..43f32c625 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/leaves_and_dirt_2_podzol.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/leaves_and_dirt_2_podzol.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "minecraft:podzol" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/mushroom_block_and_dirt_2_mycelium.json b/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/mushroom_block_and_dirt_2_mycelium.json index c27c161df..0cbcf94a9 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/mushroom_block_and_dirt_2_mycelium.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/smash_block/mushroom_block_and_dirt_2_mycelium.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "minecraft:mycelium" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/amber_block.json b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/amber_block.json index 562f37958..49f163c3e 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/amber_block.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/amber_block.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "anvilcraft:amber_block" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/ancient_debris_first.json b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/ancient_debris_first.json index 10d4ac9d6..48df85e4e 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/ancient_debris_first.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/ancient_debris_first.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "minecraft:ancient_debris" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/mob_amber_block.json b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/mob_amber_block.json index 31d9d3d6e..da769012d 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/mob_amber_block.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/mob_amber_block.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "anvilcraft:mob_amber_block" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/mob_amber_block_resentful.json b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/mob_amber_block_resentful.json index 1f75c7b0c..8db0e8375 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/mob_amber_block_resentful.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/mob_amber_block_resentful.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "null", + "anvil_recipe_type": "generic", "icon": { "item": "anvilcraft:mob_amber_block" }, diff --git a/gradle.properties b/gradle.properties index 91e9e818a..bcb23c4ec 100644 --- a/gradle.properties +++ b/gradle.properties @@ -9,7 +9,7 @@ mod_description = The mod is an anvil-centric vanilla survival expansion contributors = - Phoupraw\n- DancingSnow\n- NightFish\n- BOTXue\n- wdfaESfaef\n- ZhuRuoLing\n- YocyCraft\n- Bi2Nb9O3\n- LemoMew\n- Cjsah supporters = - BOTXue\n- Fengyuan__\n- Take\n- Moe_Lobster mod_license = LGPL-3.0 license -mod_version = 1.3.4 +mod_version = 1.4.0+pre-release.1 mod_url = https://github.com/Anvil-Dev/AnvilCraft maven_group=dev.dubhe From 9a221fc04c7015be0f69bd537695a6d5f0bace0c Mon Sep 17 00:00:00 2001 From: Gugle Date: Mon, 10 Jun 2024 19:11:36 +0800 Subject: [PATCH 6/7] =?UTF-8?q?=E4=B8=80=E4=BA=9B=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/dev/dubhe/anvilcraft/init/ModBlocks.java | 3 +++ .../src/main/java/dev/dubhe/anvilcraft/init/ModItems.java | 7 +++++++ .../generated/resources/data/anvilcraft/recipes/flour.json | 2 +- .../data/anvilcraft/recipes/heating/brass_ingot.json | 2 +- .../data/anvilcraft/recipes/heating/brass_ingot_forge.json | 2 +- .../data/anvilcraft/recipes/heating/bronze_ingot.json | 2 +- .../anvilcraft/recipes/heating/bronze_ingot_forge.json | 2 +- .../data/anvilcraft/recipes/timewarp/amber_block.json | 2 +- .../anvilcraft/recipes/timewarp/ancient_debris_first.json | 2 +- .../data/anvilcraft/recipes/timewarp/mob_amber_block.json | 2 +- .../recipes/timewarp/mob_amber_block_resentful.json | 2 +- .../resources/data/anvilcraft/recipes/zombie.json | 4 ++-- .../generated/resources/data/anvilcraft/recipes/flour.json | 2 +- .../data/anvilcraft/recipes/heating/brass_ingot.json | 2 +- .../data/anvilcraft/recipes/heating/brass_ingot_forge.json | 2 +- .../data/anvilcraft/recipes/heating/bronze_ingot.json | 2 +- .../anvilcraft/recipes/heating/bronze_ingot_forge.json | 2 +- .../data/anvilcraft/recipes/timewarp/amber_block.json | 2 +- .../anvilcraft/recipes/timewarp/ancient_debris_first.json | 2 +- .../data/anvilcraft/recipes/timewarp/mob_amber_block.json | 2 +- .../recipes/timewarp/mob_amber_block_resentful.json | 2 +- .../resources/data/anvilcraft/recipes/zombie.json | 4 ++-- 22 files changed, 32 insertions(+), 22 deletions(-) diff --git a/common/src/main/java/dev/dubhe/anvilcraft/init/ModBlocks.java b/common/src/main/java/dev/dubhe/anvilcraft/init/ModBlocks.java index 095fbfb3f..eb9cec327 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/init/ModBlocks.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/init/ModBlocks.java @@ -852,6 +852,7 @@ public class ModBlocks { HasItem hasItem = new HasItemIngredient(new Vec3(0.0, -1.0, 0.0), item).notHasTag("BlockEntityTag.entity"); AnvilRecipe.Builder.create(RecipeCategory.MISC) .icon(ctx.get()) + .type(AnvilRecipeType.TIMEWARP) .hasBlock( ModBlocks.CORRUPTED_BEACON.get(), new Vec3(0.0, -2.0, 0.0), @@ -892,6 +893,7 @@ public class ModBlocks { ).loadItemData("resin"); AnvilRecipe.Builder.create(RecipeCategory.MISC) .icon(ctx.get()) + .type(AnvilRecipeType.TIMEWARP) .hasBlock( ModBlocks.CORRUPTED_BEACON.get(), new Vec3(0.0, -2.0, 0.0), @@ -929,6 +931,7 @@ public class ModBlocks { ).loadItemData("resin"); AnvilRecipe.Builder.create(RecipeCategory.MISC) .icon(ctx.get()) + .type(AnvilRecipeType.TIMEWARP) .hasBlock( ModBlocks.CORRUPTED_BEACON.get(), new Vec3(0.0, -2.0, 0.0), diff --git a/common/src/main/java/dev/dubhe/anvilcraft/init/ModItems.java b/common/src/main/java/dev/dubhe/anvilcraft/init/ModItems.java index 5c3fe4db0..58d50c072 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/init/ModItems.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/init/ModItems.java @@ -8,6 +8,7 @@ import dev.dubhe.anvilcraft.data.generator.AnvilCraftDatagen; import dev.dubhe.anvilcraft.data.generator.recipe.TimeWarpRecipesLoader; import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipe; +import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipeType; import dev.dubhe.anvilcraft.data.recipe.crafting.ShapedTagRecipeBuilder; import dev.dubhe.anvilcraft.item.AmethystAxeItem; import dev.dubhe.anvilcraft.item.AmethystHoeItem; @@ -174,6 +175,7 @@ public class ModItems { .item("flour", Item::new) .tag(ModItemTags.FLOUR, ModItemTags.WHEAT_FLOUR) .recipe((ctx, provider) -> AnvilRecipe.Builder.create(RecipeCategory.MISC, ctx.get().getDefaultInstance()) + .type(AnvilRecipeType.ITEM_SMASH) .hasBlock(ModBlocks.STAMPING_PLATFORM.get()) .hasItemIngredient(new Vec3(0.0, -0.75, 0.0), Items.WHEAT) .spawnItem(new Vec3(0.0, -0.75, 0.0), ctx.get()) @@ -592,6 +594,7 @@ public class ModItems { .save(provider, BuiltInRegistries.ITEM.getKey(ctx.get()).getPath() + "_forge"); AnvilRecipe.Builder.create(RecipeCategory.MISC) .icon(Items.ANCIENT_DEBRIS) + .type(AnvilRecipeType.TIMEWARP) .hasBlock( ModBlocks.CORRUPTED_BEACON.get(), new Vec3(0.0, -2.0, 0.0), @@ -975,6 +978,7 @@ public class ModItems { ) .save(provider, BuiltInRegistries.ITEM.getKey(ctx.get()).getPath() + "_forge"); AnvilRecipe.Builder.create(RecipeCategory.MISC, ctx.get().getDefaultInstance()) + .type(AnvilRecipeType.SUPER_HEATING) .hasBlock(ModBlocks.HEATER.get(), new Vec3(0.0, -2.0, 0.0), Map.entry(OVERLOAD, false)) .hasBlock(Blocks.CAULDRON) .hasItemIngredient(new Vec3(0.0, -1.0, 0.0), 1, ModItemTags.TIN_INGOTS) @@ -995,6 +999,7 @@ public class ModItems { ) ); AnvilRecipe.Builder.create(RecipeCategory.MISC, ctx.get().getDefaultInstance()) + .type(AnvilRecipeType.SUPER_HEATING) .hasBlock(ModBlocks.HEATER.get(), new Vec3(0.0, -2.0, 0.0), Map.entry(OVERLOAD, false)) .hasBlock(Blocks.CAULDRON) .hasItemIngredient(new Vec3(0.0, -1.0, 0.0), 1, ModItemTags.TIN_INGOTS_FORGE) @@ -1068,6 +1073,7 @@ public class ModItems { ) .save(provider, BuiltInRegistries.ITEM.getKey(ctx.get()).getPath() + "_forge"); AnvilRecipe.Builder.create(RecipeCategory.MISC, ctx.get().getDefaultInstance()) + .type(AnvilRecipeType.SUPER_HEATING) .hasBlock(ModBlocks.HEATER.get(), new Vec3(0.0, -2.0, 0.0), Map.entry(OVERLOAD, false)) .hasBlock(Blocks.CAULDRON) .hasItemIngredient(new Vec3(0.0, -1.0, 0.0), 1, ModItemTags.ZINC_INGOTS) @@ -1088,6 +1094,7 @@ public class ModItems { ) ); AnvilRecipe.Builder.create(RecipeCategory.MISC, ctx.get().getDefaultInstance()) + .type(AnvilRecipeType.SUPER_HEATING) .hasBlock(ModBlocks.HEATER.get(), new Vec3(0.0, -2.0, 0.0), Map.entry(OVERLOAD, false)) .hasBlock(Blocks.CAULDRON) .hasItemIngredient(new Vec3(0.0, -1.0, 0.0), 1, ModItemTags.ZINC_INGOTS_FORGE) diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/flour.json b/fabric/src/generated/resources/data/anvilcraft/recipes/flour.json index 44e335779..02c1abffa 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/flour.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/flour.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "generic", + "anvil_recipe_type": "item_smash", "icon": { "item": "anvilcraft:flour" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/heating/brass_ingot.json b/fabric/src/generated/resources/data/anvilcraft/recipes/heating/brass_ingot.json index 1195dad0a..125994f6d 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/heating/brass_ingot.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/heating/brass_ingot.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "generic", + "anvil_recipe_type": "super_heating", "icon": { "item": "anvilcraft:brass_ingot" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/heating/brass_ingot_forge.json b/fabric/src/generated/resources/data/anvilcraft/recipes/heating/brass_ingot_forge.json index d7f8df24e..e7516d99b 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/heating/brass_ingot_forge.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/heating/brass_ingot_forge.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "generic", + "anvil_recipe_type": "super_heating", "icon": { "item": "anvilcraft:brass_ingot" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/heating/bronze_ingot.json b/fabric/src/generated/resources/data/anvilcraft/recipes/heating/bronze_ingot.json index 5610fd792..d1a41138e 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/heating/bronze_ingot.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/heating/bronze_ingot.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "generic", + "anvil_recipe_type": "super_heating", "icon": { "item": "anvilcraft:bronze_ingot" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/heating/bronze_ingot_forge.json b/fabric/src/generated/resources/data/anvilcraft/recipes/heating/bronze_ingot_forge.json index ff2332d24..a5f82e1e1 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/heating/bronze_ingot_forge.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/heating/bronze_ingot_forge.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "generic", + "anvil_recipe_type": "super_heating", "icon": { "item": "anvilcraft:bronze_ingot" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/amber_block.json b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/amber_block.json index 49f163c3e..1e34dc264 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/amber_block.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/amber_block.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "generic", + "anvil_recipe_type": "timewarp", "icon": { "item": "anvilcraft:amber_block" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/ancient_debris_first.json b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/ancient_debris_first.json index 48df85e4e..733736dbb 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/ancient_debris_first.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/ancient_debris_first.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "generic", + "anvil_recipe_type": "timewarp", "icon": { "item": "minecraft:ancient_debris" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/mob_amber_block.json b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/mob_amber_block.json index da769012d..a95505590 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/mob_amber_block.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/mob_amber_block.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "generic", + "anvil_recipe_type": "timewarp", "icon": { "item": "anvilcraft:mob_amber_block" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/mob_amber_block_resentful.json b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/mob_amber_block_resentful.json index 8db0e8375..7f6391d45 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/mob_amber_block_resentful.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/timewarp/mob_amber_block_resentful.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "generic", + "anvil_recipe_type": "timewarp", "icon": { "item": "anvilcraft:mob_amber_block" }, diff --git a/fabric/src/generated/resources/data/anvilcraft/recipes/zombie.json b/fabric/src/generated/resources/data/anvilcraft/recipes/zombie.json index 47781098d..019a4d6b3 100644 --- a/fabric/src/generated/resources/data/anvilcraft/recipes/zombie.json +++ b/fabric/src/generated/resources/data/anvilcraft/recipes/zombie.json @@ -17,7 +17,7 @@ } ], "transformOptions": [ - "replaceAnvil", - "keepInventory" + "keepInventory", + "replaceAnvil" ] } \ No newline at end of file diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/flour.json b/forge/src/generated/resources/data/anvilcraft/recipes/flour.json index 44e335779..02c1abffa 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/flour.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/flour.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "generic", + "anvil_recipe_type": "item_smash", "icon": { "item": "anvilcraft:flour" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/heating/brass_ingot.json b/forge/src/generated/resources/data/anvilcraft/recipes/heating/brass_ingot.json index 1195dad0a..125994f6d 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/heating/brass_ingot.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/heating/brass_ingot.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "generic", + "anvil_recipe_type": "super_heating", "icon": { "item": "anvilcraft:brass_ingot" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/heating/brass_ingot_forge.json b/forge/src/generated/resources/data/anvilcraft/recipes/heating/brass_ingot_forge.json index d7f8df24e..e7516d99b 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/heating/brass_ingot_forge.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/heating/brass_ingot_forge.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "generic", + "anvil_recipe_type": "super_heating", "icon": { "item": "anvilcraft:brass_ingot" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/heating/bronze_ingot.json b/forge/src/generated/resources/data/anvilcraft/recipes/heating/bronze_ingot.json index 5610fd792..d1a41138e 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/heating/bronze_ingot.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/heating/bronze_ingot.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "generic", + "anvil_recipe_type": "super_heating", "icon": { "item": "anvilcraft:bronze_ingot" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/heating/bronze_ingot_forge.json b/forge/src/generated/resources/data/anvilcraft/recipes/heating/bronze_ingot_forge.json index ff2332d24..a5f82e1e1 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/heating/bronze_ingot_forge.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/heating/bronze_ingot_forge.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "generic", + "anvil_recipe_type": "super_heating", "icon": { "item": "anvilcraft:bronze_ingot" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/amber_block.json b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/amber_block.json index 49f163c3e..1e34dc264 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/amber_block.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/amber_block.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "generic", + "anvil_recipe_type": "timewarp", "icon": { "item": "anvilcraft:amber_block" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/ancient_debris_first.json b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/ancient_debris_first.json index 48df85e4e..733736dbb 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/ancient_debris_first.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/ancient_debris_first.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "generic", + "anvil_recipe_type": "timewarp", "icon": { "item": "minecraft:ancient_debris" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/mob_amber_block.json b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/mob_amber_block.json index da769012d..a95505590 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/mob_amber_block.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/mob_amber_block.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "generic", + "anvil_recipe_type": "timewarp", "icon": { "item": "anvilcraft:mob_amber_block" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/mob_amber_block_resentful.json b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/mob_amber_block_resentful.json index 8db0e8375..7f6391d45 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/mob_amber_block_resentful.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/timewarp/mob_amber_block_resentful.json @@ -1,6 +1,6 @@ { "type": "anvilcraft:anvil_processing", - "anvil_recipe_type": "generic", + "anvil_recipe_type": "timewarp", "icon": { "item": "anvilcraft:mob_amber_block" }, diff --git a/forge/src/generated/resources/data/anvilcraft/recipes/zombie.json b/forge/src/generated/resources/data/anvilcraft/recipes/zombie.json index 47781098d..019a4d6b3 100644 --- a/forge/src/generated/resources/data/anvilcraft/recipes/zombie.json +++ b/forge/src/generated/resources/data/anvilcraft/recipes/zombie.json @@ -17,7 +17,7 @@ } ], "transformOptions": [ - "replaceAnvil", - "keepInventory" + "keepInventory", + "replaceAnvil" ] } \ No newline at end of file From f9607dc9943f873c239b14a2a58d6bead20f978b Mon Sep 17 00:00:00 2001 From: Gugle Date: Mon, 10 Jun 2024 21:18:45 +0800 Subject: [PATCH 7/7] =?UTF-8?q?=E4=B8=80=E4=BA=9B=E6=9B=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/recipe/AnvilRecipeManager.java | 76 ++-- .../data/recipe/anvil/AnvilRecipe.java | 345 +++++++----------- .../data/recipe/anvil/predicate/HasItem.java | 19 + .../anvil/predicate/HasItemIngredient.java | 9 +- .../mixin/IngredientValueAccessor.java | 27 ++ .../resources/anvilcraft-common.mixins.json | 2 + 6 files changed, 222 insertions(+), 256 deletions(-) create mode 100644 common/src/main/java/dev/dubhe/anvilcraft/mixin/IngredientValueAccessor.java diff --git a/common/src/main/java/dev/dubhe/anvilcraft/api/recipe/AnvilRecipeManager.java b/common/src/main/java/dev/dubhe/anvilcraft/api/recipe/AnvilRecipeManager.java index ef6666dda..946c2ca8a 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/api/recipe/AnvilRecipeManager.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/api/recipe/AnvilRecipeManager.java @@ -2,58 +2,62 @@ import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilRecipe; import dev.dubhe.anvilcraft.init.ModRecipeTypes; +import lombok.Getter; import net.minecraft.server.MinecraftServer; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.crafting.BlastingRecipe; +import net.minecraft.world.item.crafting.CampfireCookingRecipe; +import net.minecraft.world.item.crafting.CraftingRecipe; import net.minecraft.world.item.crafting.RecipeManager; import net.minecraft.world.item.crafting.RecipeType; +import net.minecraft.world.item.crafting.SmeltingRecipe; +import net.minecraft.world.item.crafting.SmokingRecipe; +import org.jetbrains.annotations.NotNull; import java.util.ArrayList; +import java.util.Collections; import java.util.Comparator; import java.util.List; public class AnvilRecipeManager { - private static List ANVIL_RECIPE_SET = List.of(); + @Getter + private static List anvilRecipeList = List.of(); /** * 更新配方 * * @param server 服务器实例 */ - public static void updateRecipes(MinecraftServer server) { + public static void updateRecipes(@NotNull MinecraftServer server) { RecipeManager manager = server.getRecipeManager(); ArrayList anvilRecipes = new ArrayList<>(manager.getAllRecipesFor(ModRecipeTypes.ANVIL_RECIPE)); - ArrayList smokingRecipes = new ArrayList<>(); - ArrayList smeltingRecipes = new ArrayList<>(); - manager.getAllRecipesFor(RecipeType.SMOKING).forEach( - smokingRecipe -> smokingRecipes.addAll(AnvilRecipe.of(smokingRecipe, server.registryAccess()))); - manager.getAllRecipesFor(RecipeType.CAMPFIRE_COOKING).forEach( - campfireCookingRecipe -> - anvilRecipes.addAll(AnvilRecipe.of(campfireCookingRecipe, server.registryAccess()))); - manager.getAllRecipesFor(RecipeType.BLASTING).forEach( - blastingRecipe -> - anvilRecipes.addAll(AnvilRecipe.of(blastingRecipe, server.registryAccess()))); - manager.getAllRecipesFor(RecipeType.SMELTING).forEach( - smeltingRecipe -> { - List anvilRecipe = - AnvilRecipe.of(smeltingRecipe, server.registryAccess()); - if (!anvilRecipe.isEmpty() - && smokingRecipes.stream().noneMatch((smokingRecipe) -> - anvilRecipe.get(0).getResultItem(server.registryAccess()) - .is(smokingRecipe.getResultItem(server.registryAccess()).getItem()))) - smeltingRecipes.addAll(anvilRecipe); - }); - manager.getAllRecipesFor(RecipeType.CRAFTING).forEach( - craftingRecipe -> - anvilRecipes.addAll(AnvilRecipe.of(craftingRecipe, server.registryAccess()))); - anvilRecipes.addAll(smokingRecipes); - anvilRecipes.addAll(smeltingRecipes); - - ANVIL_RECIPE_SET = anvilRecipes - .stream() - .sorted(Comparator.comparing(AnvilRecipe::getWeightCoefficient).reversed()) - .toList(); - } - - public static List getAnvilRecipeList() { - return ANVIL_RECIPE_SET; + List needFilter = new ArrayList<>(); + for (CampfireCookingRecipe recipe : manager.getAllRecipesFor(RecipeType.CAMPFIRE_COOKING)) { + AnvilRecipe anvilRecipe = AnvilRecipe.of(recipe, server.registryAccess()); + if (anvilRecipe != null) anvilRecipes.add(anvilRecipe); + } + for (SmokingRecipe recipe : manager.getAllRecipesFor(RecipeType.SMOKING)) { + needFilter.add(recipe.getResultItem(server.registryAccess())); + AnvilRecipe anvilRecipe = AnvilRecipe.of(recipe, server.registryAccess()); + if (anvilRecipe != null) anvilRecipes.add(anvilRecipe); + } + for (BlastingRecipe recipe : manager.getAllRecipesFor(RecipeType.BLASTING)) { + needFilter.add(recipe.getResultItem(server.registryAccess())); + AnvilRecipe anvilRecipe = AnvilRecipe.of(recipe, server.registryAccess()); + if (anvilRecipe != null) anvilRecipes.add(anvilRecipe); + } + for (SmeltingRecipe recipe : manager.getAllRecipesFor(RecipeType.SMELTING)) { + ItemStack item = recipe.getResultItem(server.registryAccess()); + if (needFilter.stream().anyMatch(stack -> item.is(stack.getItem()))) continue; + AnvilRecipe anvilRecipe = AnvilRecipe.of(recipe, server.registryAccess()); + if (anvilRecipe != null) anvilRecipes.add(anvilRecipe); + } + for (CraftingRecipe recipe : manager.getAllRecipesFor(RecipeType.CRAFTING)) { + AnvilRecipe anvilRecipe = AnvilRecipe.of(recipe, server.registryAccess()); + if (anvilRecipe != null) anvilRecipes.add(anvilRecipe); + } + anvilRecipeList = Collections.synchronizedList( + anvilRecipes.stream().sorted(Comparator.comparing(AnvilRecipe::getWeightCoefficient).reversed()).toList() + ); } } diff --git a/common/src/main/java/dev/dubhe/anvilcraft/data/recipe/anvil/AnvilRecipe.java b/common/src/main/java/dev/dubhe/anvilcraft/data/recipe/anvil/AnvilRecipe.java index c2223e132..f80ac0f27 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/data/recipe/anvil/AnvilRecipe.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/data/recipe/anvil/AnvilRecipe.java @@ -21,10 +21,8 @@ import dev.dubhe.anvilcraft.data.recipe.anvil.predicate.NotHasBlock; import dev.dubhe.anvilcraft.init.ModBlocks; import dev.dubhe.anvilcraft.init.ModItemTags; -import dev.dubhe.anvilcraft.inventory.SimpleCraftingContainer; import dev.dubhe.anvilcraft.util.IItemStackUtil; import lombok.Getter; -import lombok.Setter; import net.minecraft.advancements.Advancement; import net.minecraft.advancements.AdvancementRewards; import net.minecraft.advancements.CriterionTriggerInstance; @@ -62,6 +60,7 @@ import net.minecraft.world.level.block.CampfireBlock; import net.minecraft.world.level.block.TrapDoorBlock; import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.properties.Half; import net.minecraft.world.level.block.state.properties.Property; import net.minecraft.world.phys.Vec3; import org.jetbrains.annotations.NotNull; @@ -85,7 +84,6 @@ public class AnvilRecipe implements Recipe { private final List outcomes = new ArrayList<>(); private final ItemStack icon; private final Map data = new HashMap<>(); - @Setter @Getter private AnvilRecipeType anvilRecipeType = AnvilRecipeType.GENERIC; @@ -108,6 +106,11 @@ public int getWeightCoefficient() { return weight; } + public AnvilRecipe setAnvilRecipeType(AnvilRecipeType anvilRecipeType) { + this.anvilRecipeType = anvilRecipeType; + return this; + } + @SuppressWarnings("UnusedReturnValue") public AnvilRecipe addPredicates(RecipePredicate... predicates) { this.predicates.addAll(Arrays.stream(predicates).toList()); @@ -196,7 +199,7 @@ public enum Serializer implements RecipeSerializer { AnvilRecipe recipe = new AnvilRecipe(recipeId, icon); recipe.setAnvilRecipeType( AnvilRecipeType.of( - serializedRecipe.getAsJsonPrimitive("anvil_recipe_type").getAsString()) + serializedRecipe.getAsJsonPrimitive("anvil_recipe_type").getAsString()) ); JsonArray predicates = GsonHelper.getAsJsonArray(serializedRecipe, "predicates"); for (JsonElement predicate : predicates) { @@ -776,7 +779,6 @@ public void save(@NotNull Consumer finishedRecipeConsumer, @NotN ); } - @SuppressWarnings("LombokGetterMayBeUsed") static class Result implements FinishedRecipe { @Getter private final ResourceLocation id; @@ -866,262 +868,173 @@ public static void init() { RecipeOutcome.register("select_one", SelectOne::new, SelectOne::new); } - /** - * 深度复制 - */ - public AnvilRecipe copy() { - AnvilRecipe anvilRecipe = new AnvilRecipe(id, icon); - anvilRecipe.setAnvilRecipeType(this.getAnvilRecipeType()); - outcomes.forEach(anvilRecipe::addOutcomes); - predicates.forEach(anvilRecipe::addPredicates); - return anvilRecipe; - } - /** * 将熔炉配方转换至铁砧工艺配方 */ - public static List of(SmeltingRecipe blastingRecipe, RegistryAccess registryAccess) { - List anvilRecipes = new ArrayList<>(); - AnvilRecipe anvilRecipe = new AnvilRecipe( - AnvilCraft.of(blastingRecipe.getId().getPath() + "_translate_from_smelting_recipe"), - blastingRecipe.getResultItem(registryAccess) - ); - anvilRecipe.setAnvilRecipeType(AnvilRecipeType.SUPER_HEATING); - anvilRecipe - .addPredicates( + public static @Nullable AnvilRecipe of(@NotNull SmeltingRecipe recipe, RegistryAccess registryAccess) { + if (recipe.getIngredients().isEmpty()) return null; + return new AnvilRecipe( + AnvilCraft.of(recipe.getId().getPath() + "_translate_from_smelting_recipe"), + recipe.getResultItem(registryAccess) + ) + .setAnvilRecipeType(AnvilRecipeType.SUPER_HEATING) + .addPredicates( new HasBlock( - new Vec3(0, -2, 0), - new HasBlock.ModBlockPredicate().block(ModBlocks.HEATER.get()) - .property(Map.entry(OVERLOAD, false)) + new Vec3(0, -2, 0), + new HasBlock.ModBlockPredicate().block(ModBlocks.HEATER.get()).property(Map.entry(OVERLOAD, false)) ), - new HasBlock( - new Vec3(0, -1, 0), - new HasBlock.ModBlockPredicate().block(Blocks.CAULDRON)) - ); - NonNullList ingredients = blastingRecipe.getIngredients(); - for (Ingredient ingredient : ingredients) { - for (ItemStack itemStack : ingredient.getItems()) { - AnvilRecipe anvilRecipe1 = anvilRecipe - .copy() - .addPredicates(new HasItemIngredient(new Vec3(0, -1, 0), - HasItem.ModItemPredicate - .of(itemStack.getItem()) - .withCount(MinMaxBounds.Ints.atLeast(itemStack.getCount())))); - ItemStack resultItem = blastingRecipe.getResultItem(registryAccess); - resultItem.setCount( - itemStack.is(ModItemTags.RAW_ORES) - || itemStack.is(ModItemTags.FORGE_RAW_ORES) - || itemStack.is(ModItemTags.ORES) - || itemStack.is(ModItemTags.FORGE_ORES) - ? blastingRecipe.getResultItem(registryAccess).getCount() * 2 - : blastingRecipe.getResultItem(registryAccess).getCount() - ); - anvilRecipe1.addOutcomes(new SpawnItem(new Vec3(0, -1, 0), 1, resultItem)); - anvilRecipes.add(anvilRecipe1); - } - } - return anvilRecipes; + new HasBlock(new Vec3(0, -1, 0), new HasBlock.ModBlockPredicate().block(Blocks.CAULDRON)) + ) + .addOutcomes(new SpawnItem(new Vec3(0, -1, 0), 1, recipe.getResultItem(registryAccess))) + .addPredicates(HasItemIngredient.of(new Vec3(0, -1, 0), recipe.getIngredients().get(0))); } - /** * 将高炉配方转换至铁砧工艺配方 */ - public static List of(BlastingRecipe blastingRecipe, RegistryAccess registryAccess) { + public static @Nullable AnvilRecipe of(@NotNull BlastingRecipe recipe, RegistryAccess registryAccess) { + if (recipe.getIngredients().isEmpty()) return null; List anvilRecipes = new ArrayList<>(); + Ingredient ingredient = recipe.getIngredients().get(0); AnvilRecipe anvilRecipe = new AnvilRecipe( - AnvilCraft.of(blastingRecipe.getId().getPath() + "_translate_from_blasting_recipe"), - blastingRecipe.getResultItem(registryAccess) - ); - anvilRecipe.setAnvilRecipeType(AnvilRecipeType.SUPER_HEATING); - anvilRecipe.addPredicates( + AnvilCraft.of(recipe.getId().getPath() + "_translate_from_blasting_recipe"), + recipe.getResultItem(registryAccess) + ) + .setAnvilRecipeType(AnvilRecipeType.SUPER_HEATING) + .addPredicates( new HasBlock( - new Vec3(0, -1, 0), - new HasBlock.ModBlockPredicate().block(Blocks.CAULDRON) + new Vec3(0, -2, 0), + new HasBlock.ModBlockPredicate().block(ModBlocks.HEATER.get()).property(Map.entry(OVERLOAD, false)) ), - new HasBlock( - new Vec3(0, -2, 0), - new HasBlock.ModBlockPredicate().block(ModBlocks.HEATER.get()) - .property(Map.entry(OVERLOAD, false)) - ) - ); - NonNullList ingredients = blastingRecipe.getIngredients(); - for (Ingredient ingredient : ingredients) { - for (ItemStack itemStack : ingredient.getItems()) { - AnvilRecipe anvilRecipe1 = anvilRecipe - .copy() - .addPredicates(new HasItemIngredient(new Vec3(0, -1, 0), - HasItem.ModItemPredicate - .of(itemStack.getItem()) - .withCount(MinMaxBounds.Ints.atLeast(itemStack.getCount())))); - ItemStack resultItem = blastingRecipe.getResultItem(registryAccess); - resultItem.setCount( - itemStack.is(ModItemTags.RAW_ORES) - || itemStack.is(ModItemTags.FORGE_RAW_ORES) - || itemStack.is(ModItemTags.ORES) - || itemStack.is(ModItemTags.FORGE_ORES) - ? blastingRecipe.getResultItem(registryAccess).getCount() * 2 - : blastingRecipe.getResultItem(registryAccess).getCount() - ); - anvilRecipe1.addOutcomes(new SpawnItem(new Vec3(0, -1, 0), 1, resultItem)); - anvilRecipes.add(anvilRecipe1); - } - } - return anvilRecipes; + new HasBlock(new Vec3(0, -1, 0), new HasBlock.ModBlockPredicate().block(Blocks.CAULDRON)) + ) + .addPredicates(HasItemIngredient.of(new Vec3(0, -1, 0), ingredient)); + ItemStack resultItem = recipe.getResultItem(registryAccess); + for (ItemStack item : ingredient.getItems()) { + if (item.is(ModItemTags.RAW_ORES) + || item.is(ModItemTags.FORGE_RAW_ORES) + || item.is(ModItemTags.ORES) + || item.is(ModItemTags.FORGE_ORES)) { + resultItem.setCount(recipe.getResultItem(registryAccess).getCount() * 2); + break; + } else resultItem.setCount(recipe.getResultItem(registryAccess).getCount()); + } + anvilRecipe.addOutcomes(new SpawnItem(new Vec3(0, -1, 0), 1, resultItem)); + return anvilRecipe; } - /** * 将烟熏配方转换至铁砧工艺配方 */ - public static List of(SmokingRecipe smokingRecipe, RegistryAccess registryAccess) { - final List anvilRecipes = new ArrayList<>(); - AnvilRecipe anvilRecipe = new AnvilRecipe( - AnvilCraft.of(smokingRecipe.getId().getPath() + "_translate_from_smoking_recipe"), - smokingRecipe.getResultItem(registryAccess) - ); - anvilRecipe.setAnvilRecipeType(AnvilRecipeType.COOKING); - anvilRecipe.addPredicates( + public static @Nullable AnvilRecipe of(@NotNull SmokingRecipe recipe, RegistryAccess registryAccess) { + if (recipe.getIngredients().isEmpty()) return null; + return new AnvilRecipe( + AnvilCraft.of(recipe.getId().getPath() + "_translate_from_smoking_recipe"), + recipe.getResultItem(registryAccess) + ) + .setAnvilRecipeType(AnvilRecipeType.COOKING) + .addPredicates( new HasBlock( - new Vec3(0, -2, 0), - new HasBlock.ModBlockPredicate().block(Blocks.CAMPFIRE) - .property(CampfireBlock.LIT, true) + new Vec3(0, -2, 0), + new HasBlock.ModBlockPredicate().block(Blocks.CAMPFIRE).property(CampfireBlock.LIT, true) ), - new HasBlock( - new Vec3(0, -1, 0), - new HasBlock.ModBlockPredicate().block(Blocks.CAULDRON)) - ); - anvilRecipe.addOutcomes( - new SpawnItem( - new Vec3(0, -1, 0), - 1, - smokingRecipe.getResultItem(registryAccess) - ) - ); - NonNullList ingredients = smokingRecipe.getIngredients(); - for (Ingredient ingredient : ingredients) { - for (ItemStack itemStack : ingredient.getItems()) { - anvilRecipes.add(anvilRecipe.copy().addPredicates(new HasItemIngredient(new Vec3(0, -1, 0), - HasItem.ModItemPredicate - .of(itemStack.getItem()) - .withCount(MinMaxBounds.Ints.atLeast(itemStack.getCount()))))); - } - } - return anvilRecipes; + new HasBlock(new Vec3(0, -1, 0), new HasBlock.ModBlockPredicate().block(Blocks.CAULDRON)) + ) + .addOutcomes(new SpawnItem(new Vec3(0, -1, 0), 1, recipe.getResultItem(registryAccess))) + .addPredicates(HasItemIngredient.of(new Vec3(0, -1, 0), recipe.getIngredients().get(0))); } /** * 将篝火配方转换至铁砧工艺配方 */ - public static List of(CampfireCookingRecipe campfireCookingRecipe, RegistryAccess registryAccess) { - final List anvilRecipes = new ArrayList<>(); - AnvilRecipe anvilRecipe = new AnvilRecipe( - AnvilCraft.of(campfireCookingRecipe.getId().getPath() + "_translate_from_campfire_recipe"), - campfireCookingRecipe.getResultItem(registryAccess) - ); - anvilRecipe.setAnvilRecipeType(AnvilRecipeType.COOKING); - anvilRecipe.addPredicates( + public static @Nullable AnvilRecipe of(@NotNull CampfireCookingRecipe recipe, RegistryAccess registryAccess) { + if (recipe.getIngredients().isEmpty()) return null; + return new AnvilRecipe( + AnvilCraft.of(recipe.getId().getPath() + "_translate_from_campfire_recipe"), + recipe.getResultItem(registryAccess) + ) + .setAnvilRecipeType(AnvilRecipeType.COOKING) + .addPredicates( new HasBlock( - new Vec3(0, -2, 0), - new HasBlock.ModBlockPredicate().block(Blocks.CAMPFIRE) - .property(CampfireBlock.LIT, true) + new Vec3(0, -2, 0), + new HasBlock.ModBlockPredicate().block(Blocks.CAMPFIRE).property(CampfireBlock.LIT, true) ), new HasBlock( - new Vec3(0, -1, 0), - new HasBlock.ModBlockPredicate().block(Blocks.CAULDRON)) - ); - anvilRecipe.addOutcomes( - new SpawnItem( - new Vec3(0, -1, 0), - 1, - campfireCookingRecipe.getResultItem(registryAccess) - ) - ); - NonNullList ingredients = campfireCookingRecipe.getIngredients(); - for (Ingredient ingredient : ingredients) { - for (ItemStack itemStack : ingredient.getItems()) { - anvilRecipes.add(anvilRecipe.copy().addPredicates(new HasItemIngredient(new Vec3(0, -1, 0), - HasItem.ModItemPredicate - .of(itemStack.getItem()) - .withCount(MinMaxBounds.Ints.atLeast(itemStack.getCount()))))); - } - } - return anvilRecipes; + new Vec3(0, -1, 0), + new HasBlock.ModBlockPredicate().block(Blocks.CAULDRON)) + ) + .addOutcomes(new SpawnItem(new Vec3(0, -1, 0), 1, recipe.getResultItem(registryAccess))) + .addPredicates(HasItemIngredient.of(new Vec3(0, -1, 0), recipe.getIngredients().get(0))); } /** * 将工作台配方转换至铁砧工艺配方 */ - public static List of(CraftingRecipe craftingRecipe, RegistryAccess registryAccess) { - List anvilRecipes = new ArrayList<>(); + public static @Nullable AnvilRecipe of(@NotNull CraftingRecipe recipe, RegistryAccess registryAccess) { + if (recipe.getIngredients().isEmpty()) return null; + ItemStack resultItem = recipe.getResultItem(registryAccess); AnvilRecipe anvilRecipe = new AnvilRecipe( - AnvilCraft.of(craftingRecipe.getId().getPath() + "_translate_from_crafting_recipe"), - craftingRecipe.getResultItem(registryAccess) - ); - if (craftingRecipe instanceof ShapedRecipe shapedRecipe - && (shapedRecipe.getIngredients().size() == 4 || shapedRecipe.getIngredients().size() == 9)) { - ItemStack[] itemStacks = shapedRecipe.getIngredients().get(0).getItems(); - for (Ingredient ingredient : shapedRecipe.getIngredients()) { - if (Arrays.stream(itemStacks).noneMatch(ingredient)) return anvilRecipes; - itemStacks = ingredient.getItems(); - } + AnvilCraft.of(recipe.getId().getPath() + "_translate_from_crafting_recipe"), + recipe.getResultItem(registryAccess) + ).addOutcomes(new SpawnItem(new Vec3(0.0, -1.0, 0.0), 1.0, resultItem)); + if (recipe instanceof ShapedRecipe shapedRecipe) { + NonNullList ingredients = shapedRecipe.getIngredients(); + List list = ingredients.stream() + .map(ingredient -> HasItemIngredient.of(new Vec3(0.0, -1.0, 0.0), ingredient)) + .toList(); + if (list.stream().anyMatch(i -> !i.getMatchItem().sameItemsOrTag(list.get(0).getMatchItem()))) return null; + int size = shapedRecipe.getIngredients().size(); + if (size != 4 && size != 9 || shapedRecipe.getWidth() != shapedRecipe.getHeight()) return null; + if (resultItem.is(Items.IRON_TRAPDOOR)) return null; anvilRecipe.setAnvilRecipeType(AnvilRecipeType.COMPRESS); anvilRecipe.addPredicates( - new HasBlock( - new Vec3(0, -1, 0), - new HasBlock.ModBlockPredicate().block(Blocks.CAULDRON)) - ); - anvilRecipe.addOutcomes( - new SpawnItem( - new Vec3(0, -1, 0), - 1, - craftingRecipe.getResultItem(registryAccess) - ) + new HasBlock( + new Vec3(0, -1, 0), + new HasBlock.ModBlockPredicate().block(Blocks.CAULDRON)) ); - for (ItemStack itemStack : itemStacks) { - anvilRecipes.add(anvilRecipe.copy().addPredicates(new HasItemIngredient( - new Vec3(0, -1, 0), - HasItem.ModItemPredicate - .of(itemStack.getItem()) - .withCount(MinMaxBounds.Ints.atLeast(shapedRecipe.getIngredients().size()))))); + for (HasItemIngredient ingredient : list) { + anvilRecipe.addPredicates(ingredient); } - } - if (craftingRecipe instanceof ShapelessRecipe shapelessRecipe - && shapelessRecipe.getResultItem(registryAccess).getCount() > 1) { + return anvilRecipe; + } else if ( + recipe instanceof ShapelessRecipe shapelessRecipe + && shapelessRecipe.getIngredients().size() == 1 + ) { + NonNullList ingredients = shapelessRecipe.getIngredients(); anvilRecipe.setAnvilRecipeType(AnvilRecipeType.ITEM_SMASH); anvilRecipe.addPredicates( - new HasBlock( - new Vec3(0, -1, 0), - new HasBlock.ModBlockPredicate().block(Blocks.IRON_TRAPDOOR) - .property(Map.entry(TrapDoorBlock.OPEN, false))) - ); - anvilRecipe.addOutcomes( - new SpawnItem( - new Vec3(0, -1, 0), - 1, - craftingRecipe.getResultItem(registryAccess) - ) + new HasBlock( + new Vec3(0, -1, 0), + new HasBlock.ModBlockPredicate().block(Blocks.IRON_TRAPDOOR) + .property( + Map.entry(TrapDoorBlock.OPEN, false), + Map.entry(TrapDoorBlock.HALF, Half.TOP) + )) ); - craftingRecipe.getRemainingItems(new SimpleCraftingContainer()).forEach(itemStack -> { - if (!itemStack.isEmpty()) - anvilRecipe.addOutcomes( - new SpawnItem( - new Vec3(0, -1, 0), - 1, - itemStack - )); - }); - NonNullList ingredients = craftingRecipe.getIngredients(); for (Ingredient ingredient : ingredients) { - for (ItemStack itemStack : ingredient.getItems()) { - anvilRecipes.add(anvilRecipe.copy().addPredicates(new HasItemIngredient(Vec3.ZERO, - HasItem.ModItemPredicate - .of(itemStack.getItem()) - .withCount(MinMaxBounds.Ints.atLeast(itemStack.getCount()))))); - } + anvilRecipe.addPredicates(HasItemIngredient.of(new Vec3(0.0, 0.0, 0.0), ingredient)); + } + return anvilRecipe; + } else if ( + recipe instanceof ShapelessRecipe shapelessRecipe + ) { + NonNullList ingredients = shapelessRecipe.getIngredients(); + List list = ingredients.stream() + .map(ingredient -> HasItemIngredient.of(new Vec3(0.0, -1.0, 0.0), ingredient)) + .toList(); + if (list.stream().anyMatch(i -> !i.getMatchItem().sameItemsOrTag(list.get(0).getMatchItem()))) return null; + anvilRecipe.setAnvilRecipeType(AnvilRecipeType.COMPRESS); + anvilRecipe.addPredicates( + new HasBlock( + new Vec3(0, -1, 0), + new HasBlock.ModBlockPredicate().block(Blocks.CAULDRON)) + ); + for (HasItemIngredient ingredient : list) { + anvilRecipe.addPredicates(ingredient); } + return anvilRecipe; } - return anvilRecipes; + return null; } } diff --git a/common/src/main/java/dev/dubhe/anvilcraft/data/recipe/anvil/predicate/HasItem.java b/common/src/main/java/dev/dubhe/anvilcraft/data/recipe/anvil/predicate/HasItem.java index 6103a13d7..f8c593dda 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/data/recipe/anvil/predicate/HasItem.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/data/recipe/anvil/predicate/HasItem.java @@ -222,6 +222,25 @@ public static class ModItemPredicate { private ModItemPredicate() { } + /** + * 是否具有相同的物品/标签 + */ + @SuppressWarnings("BooleanMethodIsAlwaysInverted") + public boolean sameItemsOrTag(ModItemPredicate predicate) { + if (this == predicate) return true; + if ( + this.tag != null && predicate.tag != null + && !this.tag.location().equals(predicate.tag.location()) + ) { + return false; + } + if (this.items.size() != predicate.items.size()) return false; + for (Item item : items) { + if (!predicate.items.contains(item)) return false; + } + return true; + } + /** * ModItemPredicate */ diff --git a/common/src/main/java/dev/dubhe/anvilcraft/data/recipe/anvil/predicate/HasItemIngredient.java b/common/src/main/java/dev/dubhe/anvilcraft/data/recipe/anvil/predicate/HasItemIngredient.java index b043092bc..c92788750 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/data/recipe/anvil/predicate/HasItemIngredient.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/data/recipe/anvil/predicate/HasItemIngredient.java @@ -3,6 +3,7 @@ import com.google.common.base.Predicates; import com.google.gson.JsonObject; import dev.dubhe.anvilcraft.data.recipe.anvil.AnvilCraftingContainer; +import dev.dubhe.anvilcraft.mixin.IngredientValueAccessor; import lombok.Getter; import net.minecraft.advancements.critereon.MinMaxBounds; import net.minecraft.core.BlockPos; @@ -53,10 +54,10 @@ public HasItemIngredient(@NotNull FriendlyByteBuf buffer) { ModItemPredicate item = ModItemPredicate.of().withCount(MinMaxBounds.Ints.atLeast(count)); List items = new ArrayList<>(); for (Ingredient.Value value : ingredient.values) { - if (value instanceof Ingredient.TagValue tagValue) - item.withTag(tagValue.tag); - if (value instanceof Ingredient.ItemValue itemValue) - items.add(itemValue.item.getItem()); + if (value instanceof IngredientValueAccessor.Tag tagValue) + item.withTag(tagValue.getTag()); + if (value instanceof IngredientValueAccessor.Item itemValue) + items.add(itemValue.getItem().getItem()); } item.add(items.toArray(ItemLike[]::new)); return new HasItemIngredient(offset, item); diff --git a/common/src/main/java/dev/dubhe/anvilcraft/mixin/IngredientValueAccessor.java b/common/src/main/java/dev/dubhe/anvilcraft/mixin/IngredientValueAccessor.java new file mode 100644 index 000000000..9bc9b9380 --- /dev/null +++ b/common/src/main/java/dev/dubhe/anvilcraft/mixin/IngredientValueAccessor.java @@ -0,0 +1,27 @@ +package dev.dubhe.anvilcraft.mixin; + +import net.minecraft.tags.TagKey; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.crafting.Ingredient; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.gen.Accessor; + +public class IngredientValueAccessor { + /** + * Mixin + */ + @Mixin(Ingredient.ItemValue.class) + public interface Item { + @Accessor + ItemStack getItem(); + } + + /** + * Mixin + */ + @Mixin(Ingredient.TagValue.class) + public interface Tag { + @Accessor + TagKey getTag(); + } +} diff --git a/common/src/main/resources/anvilcraft-common.mixins.json b/common/src/main/resources/anvilcraft-common.mixins.json index 4092a72db..fe9c44735 100644 --- a/common/src/main/resources/anvilcraft-common.mixins.json +++ b/common/src/main/resources/anvilcraft-common.mixins.json @@ -18,6 +18,8 @@ "FallingBlockEntityMixin", "FlyingHitEntityMixin", "HoeItemMixin", + "IngredientValueAccessor$Item", + "IngredientValueAccessor$Tag", "ItemEntityMixin", "LivingEntityMixin", "PistonBaseBlockMixin",