From 04e108afae4f2cac414b91a0f443b8124fb2d1c8 Mon Sep 17 00:00:00 2001 From: YocyCraft Date: Tue, 31 Dec 2024 21:39:24 +0800 Subject: [PATCH 01/14] New recipes of heliostats --- ...ostats.json => heliostats_biological.json} | 21 +++------ .../recipes/misc/heliostats_electrical.json | 43 +++++++++++++++++++ ...ostats.json => heliostats_biological.json} | 18 ++++---- .../recipe/heliostats_electrical.json | 27 ++++++++++++ .../dev/dubhe/anvilcraft/init/ModBlocks.java | 30 ++++++++----- 5 files changed, 103 insertions(+), 36 deletions(-) rename src/generated/resources/data/anvilcraft/advancement/recipes/misc/{heliostats.json => heliostats_biological.json} (59%) create mode 100644 src/generated/resources/data/anvilcraft/advancement/recipes/misc/heliostats_electrical.json rename src/generated/resources/data/anvilcraft/recipe/{heliostats.json => heliostats_biological.json} (60%) create mode 100644 src/generated/resources/data/anvilcraft/recipe/heliostats_electrical.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/heliostats.json b/src/generated/resources/data/anvilcraft/advancement/recipes/misc/heliostats_biological.json similarity index 59% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/heliostats.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/misc/heliostats_biological.json index ac3e8cf38..479920ffa 100644 --- a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/heliostats.json +++ b/src/generated/resources/data/anvilcraft/advancement/recipes/misc/heliostats_biological.json @@ -1,21 +1,11 @@ { "parent": "minecraft:recipes/root", "criteria": { - "has_iron_ingot": { + "has_iron_block": { "conditions": { "items": [ { - "items": "minecraft:iron_ingot" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_silver_pressure_plate": { - "conditions": { - "items": [ - { - "items": "anvilcraft:silver_pressure_plate" + "items": "minecraft:iron_block" } ] }, @@ -33,7 +23,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "anvilcraft:heliostats" + "recipe": "anvilcraft:heliostats_biological" }, "trigger": "minecraft:recipe_unlocked" } @@ -41,14 +31,13 @@ "requirements": [ [ "has_the_recipe", - "has_silver_pressure_plate", "has_sunflower", - "has_iron_ingot" + "has_iron_block" ] ], "rewards": { "recipes": [ - "anvilcraft:heliostats" + "anvilcraft:heliostats_biological" ] } } \ No newline at end of file diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/heliostats_electrical.json b/src/generated/resources/data/anvilcraft/advancement/recipes/misc/heliostats_electrical.json new file mode 100644 index 000000000..72f20a329 --- /dev/null +++ b/src/generated/resources/data/anvilcraft/advancement/recipes/misc/heliostats_electrical.json @@ -0,0 +1,43 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_circuit_board": { + "conditions": { + "items": [ + { + "items": "anvilcraft:circuit_board" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_iron_block": { + "conditions": { + "items": [ + { + "items": "minecraft:iron_block" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "anvilcraft:heliostats_electrical" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_circuit_board", + "has_iron_block" + ] + ], + "rewards": { + "recipes": [ + "anvilcraft:heliostats_electrical" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/anvilcraft/recipe/heliostats.json b/src/generated/resources/data/anvilcraft/recipe/heliostats_biological.json similarity index 60% rename from src/generated/resources/data/anvilcraft/recipe/heliostats.json rename to src/generated/resources/data/anvilcraft/recipe/heliostats_biological.json index 7d7d78040..50fd3f032 100644 --- a/src/generated/resources/data/anvilcraft/recipe/heliostats.json +++ b/src/generated/resources/data/anvilcraft/recipe/heliostats_biological.json @@ -2,20 +2,20 @@ "type": "minecraft:crafting_shaped", "category": "misc", "key": { - "A": { - "item": "anvilcraft:silver_pressure_plate" - }, - "B": { + "F": { "item": "minecraft:sunflower" }, - "C": { - "item": "minecraft:iron_ingot" + "I": { + "item": "minecraft:iron_block" + }, + "S": { + "tag": "c:plates/silver" } }, "pattern": [ - "A", - "B", - "C" + "S S", + "SFS", + " I " ], "result": { "count": 8, diff --git a/src/generated/resources/data/anvilcraft/recipe/heliostats_electrical.json b/src/generated/resources/data/anvilcraft/recipe/heliostats_electrical.json new file mode 100644 index 000000000..383287e1b --- /dev/null +++ b/src/generated/resources/data/anvilcraft/recipe/heliostats_electrical.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "anvilcraft:circuit_board" + }, + "D": { + "item": "minecraft:daylight_detector" + }, + "I": { + "item": "minecraft:iron_block" + }, + "S": { + "tag": "c:plates/silver" + } + }, + "pattern": [ + "SDS", + "SCS", + " I " + ], + "result": { + "count": 8, + "id": "anvilcraft:heliostats" + } +} \ No newline at end of file diff --git a/src/main/java/dev/dubhe/anvilcraft/init/ModBlocks.java b/src/main/java/dev/dubhe/anvilcraft/init/ModBlocks.java index 796cbef52..e2b6c072f 100644 --- a/src/main/java/dev/dubhe/anvilcraft/init/ModBlocks.java +++ b/src/main/java/dev/dubhe/anvilcraft/init/ModBlocks.java @@ -640,18 +640,26 @@ public class ModBlocks { .build() .recipe((ctx, provider) -> { ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get(), 8) - .pattern("A") - .pattern("B") - .pattern("C") - .define('A', ModBlocks.SILVER_PRESSURE_PLATE) - .define('B', Items.SUNFLOWER) - .define('C', Items.IRON_INGOT) - .unlockedBy( - AnvilCraftDatagen.hasItem(ModBlocks.SILVER_PRESSURE_PLATE), - AnvilCraftDatagen.has(ModBlocks.SILVER_PRESSURE_PLATE)) + .pattern("S S") + .pattern("SFS") + .pattern(" I ") + .define('S', ModItemTags.SILVER_PLATES) + .define('F', Items.SUNFLOWER) + .define('I', Blocks.IRON_BLOCK) .unlockedBy(AnvilCraftDatagen.hasItem(Items.SUNFLOWER), AnvilCraftDatagen.has(Items.SUNFLOWER)) - .unlockedBy(AnvilCraftDatagen.hasItem(Items.IRON_INGOT), AnvilCraftDatagen.has(Items.IRON_INGOT)) - .save(provider); + .unlockedBy(AnvilCraftDatagen.hasItem(Blocks.IRON_BLOCK), AnvilCraftDatagen.has(Blocks.IRON_BLOCK)) + .save(provider, AnvilCraft.of("heliostats_biological")); + ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get(), 8) + .pattern("SDS") + .pattern("SCS") + .pattern(" I ") + .define('S', ModItemTags.SILVER_PLATES) + .define('D', Blocks.DAYLIGHT_DETECTOR) + .define('C', ModItems.CIRCUIT_BOARD) + .define('I', Blocks.IRON_BLOCK) + .unlockedBy(AnvilCraftDatagen.hasItem(ModItems.CIRCUIT_BOARD), AnvilCraftDatagen.has(ModItems.CIRCUIT_BOARD)) + .unlockedBy(AnvilCraftDatagen.hasItem(Blocks.IRON_BLOCK), AnvilCraftDatagen.has(Blocks.IRON_BLOCK)) + .save(provider, AnvilCraft.of("heliostats_electrical")); }) .register(); public static final BlockEntry LOAD_MONITOR = REGISTRATE From cd28bda7d9083e2a6c6dc80dcf4e4c413825933c Mon Sep 17 00:00:00 2001 From: YocyCraft Date: Tue, 31 Dec 2024 22:27:01 +0800 Subject: [PATCH 02/14] Fix log spam of Recipe Generator --- src/main/java/dev/dubhe/anvilcraft/recipe/RecipeGenerator.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/dev/dubhe/anvilcraft/recipe/RecipeGenerator.java b/src/main/java/dev/dubhe/anvilcraft/recipe/RecipeGenerator.java index a3f03140a..f346be849 100644 --- a/src/main/java/dev/dubhe/anvilcraft/recipe/RecipeGenerator.java +++ b/src/main/java/dev/dubhe/anvilcraft/recipe/RecipeGenerator.java @@ -36,8 +36,9 @@ public static Optional> handleVanillaRecipe( RecipeType recipeType, RecipeHolder recipeHolder ) { + if (recipeType != RecipeType.SMOKING && recipeType != RecipeType.CRAFTING) return Optional.empty(); logger.debug("Generating anvil recipe for {}", recipeHolder.id()); - logger.debug("Recipe type of {} is {}", recipeHolder.id(), recipeType.toString()); + logger.debug("Recipe type of {} is {}", recipeHolder.id(), recipeType); ResourceLocation newId = AnvilCraft.of(recipeHolder.id().getPath() + generateUniqueRecipeSuffix()); logger.debug("New id of {} is {}", recipeHolder.id(), newId); if (recipeType == RecipeType.SMOKING) { From a75008f8f0c8bfeedb655743f29f27cb2bdcae3d Mon Sep 17 00:00:00 2001 From: YocyCraft Date: Tue, 31 Dec 2024 23:40:08 +0800 Subject: [PATCH 03/14] Add variants of neutronium ingot --- .../assets/anvilcraft/lang/en_ud.json | 2 ++ .../assets/anvilcraft/lang/en_us.json | 2 ++ .../models/item/charged_neutronium_ingot.json | 6 +++++ .../models/item/stable_neutronium_ingot.json | 6 +++++ .../anvilcraft/tags/item/explosion_proof.json | 27 ++++++++++--------- .../anvilcraft/data/tags/ItemTagLoader.java | 22 ++++++++++++++- .../dev/dubhe/anvilcraft/init/ModBlocks.java | 9 ------- .../dev/dubhe/anvilcraft/init/ModItems.java | 26 +++++++++--------- .../anvilcraft/recipe/RecipeGenerator.java | 14 +++++----- 9 files changed, 73 insertions(+), 41 deletions(-) create mode 100644 src/generated/resources/assets/anvilcraft/models/item/charged_neutronium_ingot.json create mode 100644 src/generated/resources/assets/anvilcraft/models/item/stable_neutronium_ingot.json diff --git a/src/generated/resources/assets/anvilcraft/lang/en_ud.json b/src/generated/resources/assets/anvilcraft/lang/en_ud.json index d8bed9636..fdb655ef7 100644 --- a/src/generated/resources/assets/anvilcraft/lang/en_ud.json +++ b/src/generated/resources/assets/anvilcraft/lang/en_ud.json @@ -332,6 +332,7 @@ "item.anvilcraft.brown_cement_bucket": "ʇǝʞɔnᗺ ʇuǝɯǝƆ uʍoɹᗺ", "item.anvilcraft.capacitor": "ɹoʇıɔɐdɐƆ", "item.anvilcraft.capacitor_empty": "ʎʇdɯƎ ɹoʇıɔɐdɐƆ", + "item.anvilcraft.charged_neutronium_ingot": "ʇobuI ɯnıuoɹʇnǝN pǝbɹɐɥƆ", "item.anvilcraft.chocolate": "ǝʇɐןoɔoɥƆ", "item.anvilcraft.chocolate_black": "ʞɔɐןᗺ ǝʇɐןoɔoɥƆ", "item.anvilcraft.chocolate_white": "ǝʇıɥM ǝʇɐןoɔoɥƆ", @@ -421,6 +422,7 @@ "item.anvilcraft.silver_ingot": "ʇobuI ɹǝʌןıS", "item.anvilcraft.silver_nugget": "ʇǝbbnN ɹǝʌןıS", "item.anvilcraft.sponge_gemmule": "ǝןnɯɯǝ⅁ ǝbuodS", + "item.anvilcraft.stable_neutronium_ingot": "ʇobuI ɯnıuoɹʇnǝN ǝןqɐʇS", "item.anvilcraft.structure_tool": "ןoo⟘ ǝɹnʇɔnɹʇS", "item.anvilcraft.tin_ingot": "ʇobuI uı⟘", "item.anvilcraft.tin_nugget": "ʇǝbbnN uı⟘", diff --git a/src/generated/resources/assets/anvilcraft/lang/en_us.json b/src/generated/resources/assets/anvilcraft/lang/en_us.json index 3af4ffc7d..9bef98565 100644 --- a/src/generated/resources/assets/anvilcraft/lang/en_us.json +++ b/src/generated/resources/assets/anvilcraft/lang/en_us.json @@ -332,6 +332,7 @@ "item.anvilcraft.brown_cement_bucket": "Brown Cement Bucket", "item.anvilcraft.capacitor": "Capacitor", "item.anvilcraft.capacitor_empty": "Capacitor Empty", + "item.anvilcraft.charged_neutronium_ingot": "Charged Neutronium Ingot", "item.anvilcraft.chocolate": "Chocolate", "item.anvilcraft.chocolate_black": "Chocolate Black", "item.anvilcraft.chocolate_white": "Chocolate White", @@ -421,6 +422,7 @@ "item.anvilcraft.silver_ingot": "Silver Ingot", "item.anvilcraft.silver_nugget": "Silver Nugget", "item.anvilcraft.sponge_gemmule": "Sponge Gemmule", + "item.anvilcraft.stable_neutronium_ingot": "Stable Neutronium Ingot", "item.anvilcraft.structure_tool": "Structure Tool", "item.anvilcraft.tin_ingot": "Tin Ingot", "item.anvilcraft.tin_nugget": "Tin Nugget", diff --git a/src/generated/resources/assets/anvilcraft/models/item/charged_neutronium_ingot.json b/src/generated/resources/assets/anvilcraft/models/item/charged_neutronium_ingot.json new file mode 100644 index 000000000..9adb7406a --- /dev/null +++ b/src/generated/resources/assets/anvilcraft/models/item/charged_neutronium_ingot.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "anvilcraft:item/charged_neutronium_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/anvilcraft/models/item/stable_neutronium_ingot.json b/src/generated/resources/assets/anvilcraft/models/item/stable_neutronium_ingot.json new file mode 100644 index 000000000..84150a68d --- /dev/null +++ b/src/generated/resources/assets/anvilcraft/models/item/stable_neutronium_ingot.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "anvilcraft:item/stable_neutronium_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/anvilcraft/tags/item/explosion_proof.json b/src/generated/resources/data/anvilcraft/tags/item/explosion_proof.json index fcca7d4fe..842fe2134 100644 --- a/src/generated/resources/data/anvilcraft/tags/item/explosion_proof.json +++ b/src/generated/resources/data/anvilcraft/tags/item/explosion_proof.json @@ -1,25 +1,28 @@ { "values": [ + "anvilcraft:ember_metal_pickaxe", + "anvilcraft:earth_core_shard_block", + "anvilcraft:earth_core_shard_ore", + "anvilcraft:earth_core_shard", "anvilcraft:ember_anvil", - "anvilcraft:ember_grindstone", "anvilcraft:ember_smithing_table", + "anvilcraft:ember_grindstone", "anvilcraft:ember_metal_block", - "anvilcraft:cut_ember_metal_block", - "anvilcraft:cut_ember_metal_pillar", - "anvilcraft:cut_ember_metal_slab", - "anvilcraft:cut_ember_metal_stairs", "anvilcraft:ember_glass", - "anvilcraft:ember_metal_pickaxe", + "anvilcraft:cut_ember_metal_stairs", + "anvilcraft:cut_ember_metal_slab", + "anvilcraft:cut_ember_metal_pillar", + "anvilcraft:cut_ember_metal_block", + "anvilcraft:ember_anvil_hammer", "anvilcraft:ember_metal_axe", - "anvilcraft:ember_metal_shovel", "anvilcraft:ember_metal_hoe", - "anvilcraft:ember_metal_sword", - "anvilcraft:ember_anvil_hammer", "anvilcraft:ember_metal_ingot", "anvilcraft:ember_metal_nugget", + "anvilcraft:ember_metal_shovel", + "anvilcraft:ember_metal_sword", + "anvilcraft:ember_metal_pickaxe", "anvilcraft:neutronium_ingot", - "anvilcraft:earth_core_shard_block", - "anvilcraft:earth_core_shard_ore", - "anvilcraft:earth_core_shard" + "anvilcraft:stable_neutronium_ingot", + "anvilcraft:charged_neutronium_ingot" ] } \ No newline at end of file diff --git a/src/main/java/dev/dubhe/anvilcraft/data/tags/ItemTagLoader.java b/src/main/java/dev/dubhe/anvilcraft/data/tags/ItemTagLoader.java index 79121a13a..4cca8899f 100644 --- a/src/main/java/dev/dubhe/anvilcraft/data/tags/ItemTagLoader.java +++ b/src/main/java/dev/dubhe/anvilcraft/data/tags/ItemTagLoader.java @@ -129,7 +129,27 @@ public static void init(@NotNull RegistrateTagsProvider provider) { provider.addTag(ModItemTags.EXPLOSION_PROOF) .add(findResourceKey(ModBlocks.EARTH_CORE_SHARD_BLOCK.asItem())) .add(findResourceKey(ModBlocks.EARTH_CORE_SHARD_ORE.asItem())) - .add(ModItems.EARTH_CORE_SHARD.getKey()); + .add(ModItems.EARTH_CORE_SHARD.getKey()) + .add(findResourceKey(ModBlocks.EMBER_ANVIL.asItem())) + .add(findResourceKey(ModBlocks.EMBER_SMITHING_TABLE.asItem())) + .add(findResourceKey(ModBlocks.EMBER_GRINDSTONE.asItem())) + .add(findResourceKey(ModBlocks.EMBER_METAL_BLOCK.asItem())) + .add(findResourceKey(ModBlocks.EMBER_GLASS.asItem())) + .add(findResourceKey(ModBlocks.CUT_EMBER_METAL_STAIRS.asItem())) + .add(findResourceKey(ModBlocks.CUT_EMBER_METAL_SLAB.asItem())) + .add(findResourceKey(ModBlocks.CUT_EMBER_METAL_PILLAR.asItem())) + .add(findResourceKey(ModBlocks.CUT_EMBER_METAL_BLOCK.asItem())) + .add(ModItems.EMBER_ANVIL_HAMMER.getKey()) + .add(ModItems.EMBER_METAL_AXE.getKey()) + .add(ModItems.EMBER_METAL_HOE.getKey()) + .add(ModItems.EMBER_METAL_INGOT.getKey()) + .add(ModItems.EMBER_METAL_NUGGET.getKey()) + .add(ModItems.EMBER_METAL_SHOVEL.getKey()) + .add(ModItems.EMBER_METAL_SWORD.getKey()) + .add(ModItems.EMBER_METAL_PICKAXE.getKey()) + .add(ModItems.NEUTRONIUM_INGOT.getKey()) + .add(ModItems.STABLE_NEUTRONIUM_INGOT.getKey()) + .add(ModItems.CHARGED_NEUTRONIUM_INGOT.getKey()); } private static ResourceKey findResourceKey(Item item) { diff --git a/src/main/java/dev/dubhe/anvilcraft/init/ModBlocks.java b/src/main/java/dev/dubhe/anvilcraft/init/ModBlocks.java index e2b6c072f..156cb40f3 100644 --- a/src/main/java/dev/dubhe/anvilcraft/init/ModBlocks.java +++ b/src/main/java/dev/dubhe/anvilcraft/init/ModBlocks.java @@ -380,7 +380,6 @@ public class ModBlocks { }) .item() .initialProperties(() -> new Item.Properties().fireResistant()) - .tag(ModItemTags.EXPLOSION_PROOF) .build() .register(); public static final BlockEntry EMBER_GRINDSTONE = REGISTRATE @@ -406,7 +405,6 @@ public class ModBlocks { }) .item() .initialProperties(() -> new Item.Properties().fireResistant()) - .tag(ModItemTags.EXPLOSION_PROOF) .build() .register(); public static final BlockEntry EMBER_SMITHING_TABLE = REGISTRATE @@ -432,7 +430,6 @@ public class ModBlocks { }) .item() .initialProperties(() -> new Item.Properties().fireResistant()) - .tag(ModItemTags.EXPLOSION_PROOF) .build() .register(); @@ -1609,7 +1606,6 @@ public class ModBlocks { DangerUtil.genConfiguredModel("block/ember_metal_block").get())) .item() .initialProperties(() -> new Item.Properties().fireResistant()) - .tag(ModItemTags.EXPLOSION_PROOF) .build() .recipe((ctx, provider) -> { ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get()) @@ -1638,7 +1634,6 @@ public class ModBlocks { DangerUtil.genConfiguredModel("block/cut_ember_metal_block").get())) .item() .initialProperties(() -> new Item.Properties().fireResistant()) - .tag(ModItemTags.EXPLOSION_PROOF) .build() .recipe((ctx, provider) -> { ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get(), 4) @@ -1672,7 +1667,6 @@ public class ModBlocks { }) .item() .initialProperties(() -> new Item.Properties().fireResistant()) - .tag(ModItemTags.EXPLOSION_PROOF) .build() .tag(BlockTags.MINEABLE_WITH_PICKAXE) .recipe((ctx, provider) -> { @@ -1704,7 +1698,6 @@ public class ModBlocks { }) .item() .initialProperties(() -> new Item.Properties().fireResistant()) - .tag(ModItemTags.EXPLOSION_PROOF) .build() .loot((tables, block) -> tables.add(block, tables.createSlabItemTable(block))) .recipe((ctx, provider) -> { @@ -1749,7 +1742,6 @@ public class ModBlocks { }) .item() .initialProperties(() -> new Item.Properties().fireResistant()) - .tag(ModItemTags.EXPLOSION_PROOF) .build() .recipe((ctx, provider) -> { ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get(), 4) @@ -2411,7 +2403,6 @@ public class ModBlocks { .tag(Tags.Blocks.GLASS_BLOCKS) .item() .initialProperties(() -> new Item.Properties().fireResistant()) - .tag(ModItemTags.EXPLOSION_PROOF) .build() .register(); public static final BlockEntry CINERITE = REGISTRATE diff --git a/src/main/java/dev/dubhe/anvilcraft/init/ModItems.java b/src/main/java/dev/dubhe/anvilcraft/init/ModItems.java index 4de4008df..a8aa6ee3f 100644 --- a/src/main/java/dev/dubhe/anvilcraft/init/ModItems.java +++ b/src/main/java/dev/dubhe/anvilcraft/init/ModItems.java @@ -281,8 +281,7 @@ public class ModItems { .save(provider, AnvilCraft.of("smithing/ember_metal_axe")); }) .model((ctx, provider) -> provider.handheld(ctx)) - .tag(ItemTags.AXES, - ModItemTags.EXPLOSION_PROOF) + .tag(ItemTags.AXES) .register(); public static final ItemEntry EMBER_METAL_SHOVEL = REGISTRATE .item("ember_metal_shovel", EmberMetalShovelItem::new) @@ -297,8 +296,7 @@ public class ModItems { .save(provider, AnvilCraft.of("smithing/ember_metal_shovel")); }) .model((ctx, provider) -> provider.handheld(ctx)) - .tag(ItemTags.SHOVELS, - ModItemTags.EXPLOSION_PROOF) + .tag(ItemTags.SHOVELS) .register(); public static final ItemEntry EMBER_METAL_HOE = REGISTRATE .item("ember_metal_hoe", EmberMetalHoeItem::new) @@ -313,8 +311,7 @@ public class ModItems { .save(provider, AnvilCraft.of("smithing/ember_metal_hoe")); }) .model((ctx, provider) -> provider.handheld(ctx)) - .tag(ItemTags.HOES, - ModItemTags.EXPLOSION_PROOF) + .tag(ItemTags.HOES) .register(); public static final ItemEntry EMBER_METAL_SWORD = REGISTRATE .item("ember_metal_sword", EmberMetalSwordItem::new) @@ -329,8 +326,7 @@ public class ModItems { .save(provider, AnvilCraft.of("smithing/ember_metal_sword")); }) .model((ctx, provider) -> provider.handheld(ctx)) - .tag(ItemTags.SWORDS, - ModItemTags.EXPLOSION_PROOF) + .tag(ItemTags.SWORDS) .register(); public static final ItemEntry ANVIL_HAMMER = REGISTRATE .item("anvil_hammer", AnvilHammerItem::new) @@ -383,8 +379,7 @@ public class ModItems { .unlocks("hasitem", AnvilCraftDatagen.has(ModBlocks.EMBER_METAL_BLOCK)) .save(provider, AnvilCraft.of("smithing/ember_anvil_hammer")); }) - .tag(ItemTags.MACE_ENCHANTABLE, - ModItemTags.EXPLOSION_PROOF) + .tag(ItemTags.MACE_ENCHANTABLE) .properties(properties -> properties.durability(2031)) .model((ctx, provider) -> { }) @@ -1408,7 +1403,6 @@ public class ModItems { public static final ItemEntry EMBER_METAL_INGOT = REGISTRATE .item("ember_metal_ingot", Item::new) .initialProperties(() -> new Item.Properties().fireResistant()) - .tag(ModItemTags.EXPLOSION_PROOF) .recipe((ctx, provider) -> { ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, ctx.get(), 9) .requires(ModBlocks.EMBER_METAL_BLOCK) @@ -1431,7 +1425,6 @@ public class ModItems { public static final ItemEntry EMBER_METAL_NUGGET = REGISTRATE .item("ember_metal_nugget", Item::new) .initialProperties(() -> new Item.Properties().fireResistant()) - .tag(ModItemTags.EXPLOSION_PROOF) .recipe((ctx, provider) -> { ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, ctx.get(), 9) .requires(ModItems.EMBER_METAL_INGOT) @@ -1481,7 +1474,14 @@ public class ModItems { public static final ItemEntry NEUTRONIUM_INGOT = REGISTRATE .item("neutronium_ingot", SuperHeavyItem::new) .initialProperties(() -> new Item.Properties().fireResistant()) - .tag(ModItemTags.EXPLOSION_PROOF) + .register(); + public static final ItemEntry STABLE_NEUTRONIUM_INGOT = REGISTRATE + .item("stable_neutronium_ingot", SuperHeavyItem::new) + .initialProperties(() -> new Item.Properties().fireResistant()) + .register(); + public static final ItemEntry CHARGED_NEUTRONIUM_INGOT = REGISTRATE + .item("charged_neutronium_ingot", SuperHeavyItem::new) + .initialProperties(() -> new Item.Properties().fireResistant()) .register(); public static final ItemEntry OIL_BUCKET = REGISTRATE diff --git a/src/main/java/dev/dubhe/anvilcraft/recipe/RecipeGenerator.java b/src/main/java/dev/dubhe/anvilcraft/recipe/RecipeGenerator.java index f346be849..2b55fd57f 100644 --- a/src/main/java/dev/dubhe/anvilcraft/recipe/RecipeGenerator.java +++ b/src/main/java/dev/dubhe/anvilcraft/recipe/RecipeGenerator.java @@ -2,17 +2,12 @@ import com.mojang.logging.LogUtils; import dev.dubhe.anvilcraft.AnvilCraft; -import dev.dubhe.anvilcraft.init.ModItemTags; import dev.dubhe.anvilcraft.recipe.anvil.CookingRecipe; import dev.dubhe.anvilcraft.recipe.anvil.ItemCompressRecipe; import dev.dubhe.anvilcraft.recipe.anvil.ItemCrushRecipe; -import dev.dubhe.anvilcraft.recipe.anvil.SuperHeatingRecipe; -import dev.dubhe.anvilcraft.recipe.anvil.builder.AbstractItemProcessBuilder; import dev.dubhe.anvilcraft.util.RecipeUtil; import net.minecraft.core.NonNullList; import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.crafting.BlastingRecipe; import net.minecraft.world.item.crafting.CraftingRecipe; import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.item.crafting.RecipeHolder; @@ -20,7 +15,6 @@ import net.minecraft.world.item.crafting.ShapedRecipe; import net.minecraft.world.item.crafting.ShapedRecipePattern; import net.minecraft.world.item.crafting.ShapelessRecipe; -import net.minecraft.world.item.crafting.SmeltingRecipe; import net.minecraft.world.item.crafting.SmokingRecipe; import org.slf4j.Logger; @@ -116,4 +110,12 @@ public static Optional> handleVanillaRecipe( } return Optional.empty(); } + + public static void testSwitch(Object o) { + switch (o) { + case String s -> System.out.println(s); + case Integer i -> System.out.println(i * i + 5); + default -> throw new IllegalStateException("Unexpected value: " + o); + } + } } From 2ae10fe171f05e847ed8ec6551c99d47a0b44bb8 Mon Sep 17 00:00:00 2001 From: YocyCraft Date: Wed, 1 Jan 2025 01:24:12 +0800 Subject: [PATCH 04/14] Rename tags to #c:plates/{material} --- .../advancement/recipes/misc/ruby_laser.json | 14 +++++++------- .../data/anvilcraft/recipe/ruby_laser.json | 2 +- .../item/{brass_plates.json => plates/brass.json} | 0 .../{bronze_plates.json => plates/bronze.json} | 0 .../item/{lead_plates.json => plates/lead.json} | 0 .../{silver_plates.json => plates/silver.json} | 0 .../tags/item/{tin_plates.json => plates/tin.json} | 0 .../{titanium_plates.json => plates/titanium.json} | 0 .../{tungsten_plates.json => plates/tungsten.json} | 0 .../{uranium_plates.json => plates/uranium.json} | 0 .../item/{zinc_plates.json => plates/zinc.json} | 0 .../java/dev/dubhe/anvilcraft/init/ModBlocks.java | 8 ++++---- .../java/dev/dubhe/anvilcraft/init/ModItems.java | 9 +++++++++ 13 files changed, 21 insertions(+), 12 deletions(-) rename src/generated/resources/data/c/tags/item/{brass_plates.json => plates/brass.json} (100%) rename src/generated/resources/data/c/tags/item/{bronze_plates.json => plates/bronze.json} (100%) rename src/generated/resources/data/c/tags/item/{lead_plates.json => plates/lead.json} (100%) rename src/generated/resources/data/c/tags/item/{silver_plates.json => plates/silver.json} (100%) rename src/generated/resources/data/c/tags/item/{tin_plates.json => plates/tin.json} (100%) rename src/generated/resources/data/c/tags/item/{titanium_plates.json => plates/titanium.json} (100%) rename src/generated/resources/data/c/tags/item/{tungsten_plates.json => plates/tungsten.json} (100%) rename src/generated/resources/data/c/tags/item/{uranium_plates.json => plates/uranium.json} (100%) rename src/generated/resources/data/c/tags/item/{zinc_plates.json => plates/zinc.json} (100%) diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/ruby_laser.json b/src/generated/resources/data/anvilcraft/advancement/recipes/misc/ruby_laser.json index 8813c0346..c645af436 100644 --- a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/ruby_laser.json +++ b/src/generated/resources/data/anvilcraft/advancement/recipes/misc/ruby_laser.json @@ -11,31 +11,31 @@ }, "trigger": "minecraft:inventory_changed" }, - "has_royal_steel_ingot": { + "has_plates/silver": { "conditions": { "items": [ { - "items": "anvilcraft:royal_steel_ingot" + "items": "#c:plates/silver" } ] }, "trigger": "minecraft:inventory_changed" }, - "has_ruby_block": { + "has_royal_steel_ingot": { "conditions": { "items": [ { - "items": "anvilcraft:ruby_block" + "items": "anvilcraft:royal_steel_ingot" } ] }, "trigger": "minecraft:inventory_changed" }, - "has_silver_pressure_plate": { + "has_ruby_block": { "conditions": { "items": [ { - "items": "anvilcraft:silver_pressure_plate" + "items": "anvilcraft:ruby_block" } ] }, @@ -63,7 +63,7 @@ "has_the_recipe", "has_royal_steel_ingot", "has_induction_light", - "has_silver_pressure_plate", + "has_plates/silver", "has_ruby_block", "has_tinted_glass" ] diff --git a/src/generated/resources/data/anvilcraft/recipe/ruby_laser.json b/src/generated/resources/data/anvilcraft/recipe/ruby_laser.json index 421ef8a86..4f96a0870 100644 --- a/src/generated/resources/data/anvilcraft/recipe/ruby_laser.json +++ b/src/generated/resources/data/anvilcraft/recipe/ruby_laser.json @@ -9,7 +9,7 @@ "item": "anvilcraft:induction_light" }, "C": { - "item": "anvilcraft:silver_pressure_plate" + "tag": "c:plates/silver" }, "D": { "item": "anvilcraft:ruby_block" diff --git a/src/generated/resources/data/c/tags/item/brass_plates.json b/src/generated/resources/data/c/tags/item/plates/brass.json similarity index 100% rename from src/generated/resources/data/c/tags/item/brass_plates.json rename to src/generated/resources/data/c/tags/item/plates/brass.json diff --git a/src/generated/resources/data/c/tags/item/bronze_plates.json b/src/generated/resources/data/c/tags/item/plates/bronze.json similarity index 100% rename from src/generated/resources/data/c/tags/item/bronze_plates.json rename to src/generated/resources/data/c/tags/item/plates/bronze.json diff --git a/src/generated/resources/data/c/tags/item/lead_plates.json b/src/generated/resources/data/c/tags/item/plates/lead.json similarity index 100% rename from src/generated/resources/data/c/tags/item/lead_plates.json rename to src/generated/resources/data/c/tags/item/plates/lead.json diff --git a/src/generated/resources/data/c/tags/item/silver_plates.json b/src/generated/resources/data/c/tags/item/plates/silver.json similarity index 100% rename from src/generated/resources/data/c/tags/item/silver_plates.json rename to src/generated/resources/data/c/tags/item/plates/silver.json diff --git a/src/generated/resources/data/c/tags/item/tin_plates.json b/src/generated/resources/data/c/tags/item/plates/tin.json similarity index 100% rename from src/generated/resources/data/c/tags/item/tin_plates.json rename to src/generated/resources/data/c/tags/item/plates/tin.json diff --git a/src/generated/resources/data/c/tags/item/titanium_plates.json b/src/generated/resources/data/c/tags/item/plates/titanium.json similarity index 100% rename from src/generated/resources/data/c/tags/item/titanium_plates.json rename to src/generated/resources/data/c/tags/item/plates/titanium.json diff --git a/src/generated/resources/data/c/tags/item/tungsten_plates.json b/src/generated/resources/data/c/tags/item/plates/tungsten.json similarity index 100% rename from src/generated/resources/data/c/tags/item/tungsten_plates.json rename to src/generated/resources/data/c/tags/item/plates/tungsten.json diff --git a/src/generated/resources/data/c/tags/item/uranium_plates.json b/src/generated/resources/data/c/tags/item/plates/uranium.json similarity index 100% rename from src/generated/resources/data/c/tags/item/uranium_plates.json rename to src/generated/resources/data/c/tags/item/plates/uranium.json diff --git a/src/generated/resources/data/c/tags/item/zinc_plates.json b/src/generated/resources/data/c/tags/item/plates/zinc.json similarity index 100% rename from src/generated/resources/data/c/tags/item/zinc_plates.json rename to src/generated/resources/data/c/tags/item/plates/zinc.json diff --git a/src/main/java/dev/dubhe/anvilcraft/init/ModBlocks.java b/src/main/java/dev/dubhe/anvilcraft/init/ModBlocks.java index 156cb40f3..e9ebd3009 100644 --- a/src/main/java/dev/dubhe/anvilcraft/init/ModBlocks.java +++ b/src/main/java/dev/dubhe/anvilcraft/init/ModBlocks.java @@ -1047,7 +1047,7 @@ public class ModBlocks { .pattern("ACA") .define('A', ModItems.ROYAL_STEEL_INGOT) .define('B', ModBlocks.INDUCTION_LIGHT) - .define('C', ModBlocks.SILVER_PRESSURE_PLATE) + .define('C', ModItemTags.SILVER_PLATES) .define('D', ModBlocks.RUBY_BLOCK) .define('E', Items.TINTED_GLASS) .unlockedBy( @@ -1057,8 +1057,8 @@ public class ModBlocks { AnvilCraftDatagen.hasItem(ModBlocks.INDUCTION_LIGHT), AnvilCraftDatagen.has(ModBlocks.INDUCTION_LIGHT)) .unlockedBy( - AnvilCraftDatagen.hasItem(ModBlocks.SILVER_PRESSURE_PLATE), - AnvilCraftDatagen.has(ModBlocks.SILVER_PRESSURE_PLATE)) + AnvilCraftDatagen.hasItem(ModItemTags.SILVER_PLATES), + AnvilCraftDatagen.has(ModItemTags.SILVER_PLATES)) .unlockedBy( AnvilCraftDatagen.hasItem(ModBlocks.RUBY_BLOCK), AnvilCraftDatagen.has(ModBlocks.RUBY_BLOCK)) @@ -3266,7 +3266,7 @@ private static BlockEntry registerCementCauldron(Color colo ctx.get(), ResourceLocation.fromNamespaceAndPath(location.getNamespace(), "block/" + location.getPath()))) .item() - .tag(ModItemTags.PLATES, ModItemTags.bindC(type + "_plates"), ModItemTags.PLATES) + .tag(ModItemTags.PLATES, ModItemTags.bindC("plates/" + type), ModItemTags.PLATES) .initialProperties( () -> type.equals("tungsten") ? new Item.Properties().fireResistant() : new Item.Properties()) .build() diff --git a/src/main/java/dev/dubhe/anvilcraft/init/ModItems.java b/src/main/java/dev/dubhe/anvilcraft/init/ModItems.java index a8aa6ee3f..a335aa11c 100644 --- a/src/main/java/dev/dubhe/anvilcraft/init/ModItems.java +++ b/src/main/java/dev/dubhe/anvilcraft/init/ModItems.java @@ -1478,6 +1478,15 @@ public class ModItems { public static final ItemEntry STABLE_NEUTRONIUM_INGOT = REGISTRATE .item("stable_neutronium_ingot", SuperHeavyItem::new) .initialProperties(() -> new Item.Properties().fireResistant()) + .recipe((ctx, provider) -> { + ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, ctx.get(), 1) + .requires(ModItems.NEUTRONIUM_INGOT) + .requires(ModItems.LEVITATION_POWDER) + .unlockedBy( + AnvilCraftDatagen.hasItem(ModItems.NEUTRONIUM_INGOT), + AnvilCraftDatagen.has(ModItems.NEUTRONIUM_INGOT)) + .save(provider); + }) .register(); public static final ItemEntry CHARGED_NEUTRONIUM_INGOT = REGISTRATE .item("charged_neutronium_ingot", SuperHeavyItem::new) From 74ae195a50c004b980d3879141c25676ed37d7d7 Mon Sep 17 00:00:00 2001 From: YocyCraft Date: Wed, 1 Jan 2025 01:26:20 +0800 Subject: [PATCH 05/14] Recipe of stable neutronium ingot --- .../recipes/misc/stable_neutronium_ingot.json | 32 +++++++++++++++++++ .../recipe/stable_neutronium_ingot.json | 16 ++++++++++ 2 files changed, 48 insertions(+) create mode 100644 src/generated/resources/data/anvilcraft/advancement/recipes/misc/stable_neutronium_ingot.json create mode 100644 src/generated/resources/data/anvilcraft/recipe/stable_neutronium_ingot.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/stable_neutronium_ingot.json b/src/generated/resources/data/anvilcraft/advancement/recipes/misc/stable_neutronium_ingot.json new file mode 100644 index 000000000..7d7957539 --- /dev/null +++ b/src/generated/resources/data/anvilcraft/advancement/recipes/misc/stable_neutronium_ingot.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_neutronium_ingot": { + "conditions": { + "items": [ + { + "items": "anvilcraft:neutronium_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "anvilcraft:stable_neutronium_ingot" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_neutronium_ingot" + ] + ], + "rewards": { + "recipes": [ + "anvilcraft:stable_neutronium_ingot" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/anvilcraft/recipe/stable_neutronium_ingot.json b/src/generated/resources/data/anvilcraft/recipe/stable_neutronium_ingot.json new file mode 100644 index 000000000..8a0f8f14f --- /dev/null +++ b/src/generated/resources/data/anvilcraft/recipe/stable_neutronium_ingot.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "anvilcraft:neutronium_ingot" + }, + { + "item": "anvilcraft:levitation_powder" + } + ], + "result": { + "count": 1, + "id": "anvilcraft:stable_neutronium_ingot" + } +} \ No newline at end of file From 3a5536463b2408011b6e7621a415653d149400ed Mon Sep 17 00:00:00 2001 From: YocyCraft Date: Wed, 1 Jan 2025 02:04:58 +0800 Subject: [PATCH 06/14] Implements redstone signal of Charge Collector --- .../block/ChargeCollectorBlock.java | 60 +++++++++++++++++++ .../entity/ChargeCollectorBlockEntity.java | 4 ++ 2 files changed, 64 insertions(+) diff --git a/src/main/java/dev/dubhe/anvilcraft/block/ChargeCollectorBlock.java b/src/main/java/dev/dubhe/anvilcraft/block/ChargeCollectorBlock.java index 867609983..26a09a23b 100644 --- a/src/main/java/dev/dubhe/anvilcraft/block/ChargeCollectorBlock.java +++ b/src/main/java/dev/dubhe/anvilcraft/block/ChargeCollectorBlock.java @@ -6,6 +6,9 @@ import dev.dubhe.anvilcraft.init.ModBlockEntities; import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.util.RandomSource; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.BaseEntityBlock; @@ -15,6 +18,9 @@ import net.minecraft.world.level.block.entity.BlockEntityTicker; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.block.state.properties.BlockStateProperties; +import net.minecraft.world.level.block.state.properties.BooleanProperty; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.Shapes; import net.minecraft.world.phys.shapes.VoxelShape; @@ -23,13 +29,18 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import javax.annotation.ParametersAreNonnullByDefault; + +@ParametersAreNonnullByDefault public class ChargeCollectorBlock extends BetterBaseEntityBlock implements IHammerRemovable { public static VoxelShape SHAPE = Shapes.or( Block.box(0, 0, 0, 16, 4, 16) ); + public static BooleanProperty POWERED = BlockStateProperties.POWERED; public ChargeCollectorBlock(Properties properties) { super(properties); + this.registerDefaultState(this.getStateDefinition().any().setValue(POWERED, false)); } @Override @@ -37,6 +48,11 @@ public ChargeCollectorBlock(Properties properties) { return simpleCodec(ChargeCollectorBlock::new); } + @Override + protected void createBlockStateDefinition(StateDefinition.Builder builder) { + builder.add(POWERED); + } + @Override public @NotNull RenderShape getRenderShape(@NotNull BlockState state) { return RenderShape.MODEL; @@ -57,6 +73,40 @@ public BlockEntity newBlockEntity(@NotNull BlockPos pos, @NotNull BlockState sta return new ChargeCollectorBlockEntity(pos, state); } + public void activate(Level level, BlockPos pos, BlockState state) { + level.setBlockAndUpdate(pos, state.setValue(POWERED, true)); + this.updateNeighbours(level, pos); + level.scheduleTick(pos, this, 2); + } + + @Override + protected void tick(BlockState state, ServerLevel level, BlockPos pos, RandomSource random) { + if (!state.getValue(POWERED)) return; + level.setBlockAndUpdate(pos, state.setValue(POWERED, false)); + this.updateNeighbours(level, pos); + } + + @Override + protected void onPlace(BlockState state, Level level, BlockPos pos, BlockState oldState, boolean movedByPiston) { + if (level.isClientSide() || state.is(oldState.getBlock())) return; + if (state.getValue(POWERED) && !level.getBlockTicks().hasScheduledTick(pos, this)) { + level.setBlock(pos, state.setValue(POWERED, false), 18); + } + } + + @Override + protected void onRemove(BlockState state, Level level, BlockPos pos, BlockState newState, boolean movedByPiston) { + super.onRemove(state, level, pos, newState, movedByPiston); + if (!state.is(newState.getBlock()) && state.getValue(POWERED)) { + this.updateNeighbours(level, pos); + } + } + + private void updateNeighbours(Level level, BlockPos pos) { + level.updateNeighborsAt(pos, this); + level.updateNeighborsAt(pos.below(), this); + } + @Nullable @Override public BlockEntityTicker getTicker( @@ -70,4 +120,14 @@ public BlockEntityTicker getTicker( } return super.getTicker(level, state, type); } + + @Override + protected int getSignal(BlockState state, BlockGetter level, BlockPos pos, Direction direction) { + return state.getValue(POWERED) ? 15 : 0; + } + + @Override + protected int getDirectSignal(BlockState state, BlockGetter level, BlockPos pos, Direction direction) { + return direction == Direction.UP && state.getValue(POWERED) ? 15 : 0; + } } diff --git a/src/main/java/dev/dubhe/anvilcraft/block/entity/ChargeCollectorBlockEntity.java b/src/main/java/dev/dubhe/anvilcraft/block/entity/ChargeCollectorBlockEntity.java index 84cba17b0..c2ecbd84f 100644 --- a/src/main/java/dev/dubhe/anvilcraft/block/entity/ChargeCollectorBlockEntity.java +++ b/src/main/java/dev/dubhe/anvilcraft/block/entity/ChargeCollectorBlockEntity.java @@ -3,6 +3,7 @@ import dev.dubhe.anvilcraft.api.power.IPowerProducer; import dev.dubhe.anvilcraft.api.power.PowerGrid; import dev.dubhe.anvilcraft.api.tooltip.providers.IHasAffectRange; +import dev.dubhe.anvilcraft.block.ChargeCollectorBlock; import dev.dubhe.anvilcraft.init.ModBlockEntities; import dev.dubhe.anvilcraft.network.ChargeCollectorIncomingChargePacket; @@ -103,6 +104,9 @@ public void gridTick() { this.cooldownCount = COOLDOWN; int oldPower = this.power; this.power = (int) Math.floor(this.chargeCount); + if (this.power > 0 && this.getBlockState().getBlock() instanceof ChargeCollectorBlock chargeCollector) { + chargeCollector.activate(this.level, this.getBlockPos(), this.getBlockState()); + } if (power != oldPower && grid != null) grid.markChanged(); this.chargeCount = 0; time++; From 37b5a7fefd090adf322bd4ce336394f3fd7c719c Mon Sep 17 00:00:00 2001 From: YocyCraft Date: Wed, 1 Jan 2025 03:41:04 +0800 Subject: [PATCH 07/14] Implements void decay --- .../tags/block/void_decay_products.json | 28 ++++++++++++ .../anvilcraft/block/VoidMatterBlock.java | 43 +++++++++++++++++++ .../anvilcraft/data/tags/BlockTagLoader.java | 27 ++++++++++++ .../dubhe/anvilcraft/init/ModBlockTags.java | 1 + .../dev/dubhe/anvilcraft/init/ModBlocks.java | 5 ++- 5 files changed, 102 insertions(+), 2 deletions(-) create mode 100644 src/generated/resources/data/anvilcraft/tags/block/void_decay_products.json create mode 100644 src/main/java/dev/dubhe/anvilcraft/block/VoidMatterBlock.java diff --git a/src/generated/resources/data/anvilcraft/tags/block/void_decay_products.json b/src/generated/resources/data/anvilcraft/tags/block/void_decay_products.json new file mode 100644 index 000000000..83919f931 --- /dev/null +++ b/src/generated/resources/data/anvilcraft/tags/block/void_decay_products.json @@ -0,0 +1,28 @@ +{ + "values": [ + "minecraft:stone", + "minecraft:deepslate", + "minecraft:andesite", + "minecraft:granite", + "minecraft:diorite", + "minecraft:netherrack", + "minecraft:blackstone", + "minecraft:end_stone", + "minecraft:ice", + "minecraft:raw_iron_block", + "minecraft:oxidized_copper", + "minecraft:iron_ore", + "minecraft:deepslate_iron_ore", + "minecraft:copper_ore", + "minecraft:deepslate_copper_ore", + "minecraft:gold_ore", + "minecraft:deepslate_gold_ore", + "anvilcraft:void_stone", + "anvilcraft:end_dust", + "anvilcraft:cursed_gold_block", + "anvilcraft:deepslate_tin_ore", + "anvilcraft:deepslate_zinc_ore", + "anvilcraft:deepslate_lead_ore", + "anvilcraft:deepslate_uranium_ore" + ] +} \ No newline at end of file diff --git a/src/main/java/dev/dubhe/anvilcraft/block/VoidMatterBlock.java b/src/main/java/dev/dubhe/anvilcraft/block/VoidMatterBlock.java new file mode 100644 index 000000000..843603b87 --- /dev/null +++ b/src/main/java/dev/dubhe/anvilcraft/block/VoidMatterBlock.java @@ -0,0 +1,43 @@ +package dev.dubhe.anvilcraft.block; + +import dev.dubhe.anvilcraft.init.ModBlockTags; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.registries.Registries; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.util.RandomSource; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockState; + +import javax.annotation.ParametersAreNonnullByDefault; + +@ParametersAreNonnullByDefault +public class VoidMatterBlock extends Block { + + public static final int VOID_DECAY_THRESHOLD = 5; + + public VoidMatterBlock(Properties properties) { + super(properties.randomTicks()); + } + + public BlockState voidDecay(Level level, BlockPos pos, BlockState state, RandomSource random) { + return level.registryAccess().registryOrThrow(Registries.BLOCK) + .getTag(ModBlockTags.VOID_DECAY_PRODUCTS) + .flatMap(it -> it.getRandomElement(random)) + .map(h -> h.value().defaultBlockState()) + .orElse(state); + } + + @Override + protected void randomTick(BlockState state, ServerLevel level, BlockPos pos, RandomSource random) { + long neighborVoidMatterCount = Direction.stream() + .map(d -> level.getBlockState(pos.relative(d))) + .filter(b -> b.getBlock() instanceof VoidMatterBlock) + .count(); + if (neighborVoidMatterCount > VOID_DECAY_THRESHOLD) { + level.setBlockAndUpdate(pos, this.voidDecay(level, pos, state, random)); + } + } + +} diff --git a/src/main/java/dev/dubhe/anvilcraft/data/tags/BlockTagLoader.java b/src/main/java/dev/dubhe/anvilcraft/data/tags/BlockTagLoader.java index c3cf51fc8..89cf9cdd6 100644 --- a/src/main/java/dev/dubhe/anvilcraft/data/tags/BlockTagLoader.java +++ b/src/main/java/dev/dubhe/anvilcraft/data/tags/BlockTagLoader.java @@ -135,6 +135,33 @@ public static void init(@NotNull RegistrateTagsProvider provider) { .add(ModBlocks.END_DUST.getKey()) .add(ModBlocks.NEGATIVE_MATTER_BLOCK.getKey()); + provider.addTag(ModBlockTags.VOID_DECAY_PRODUCTS) + .add(findResourceKey(Blocks.STONE)) + .add(findResourceKey(Blocks.DEEPSLATE)) + .add(findResourceKey(Blocks.ANDESITE)) + .add(findResourceKey(Blocks.GRANITE)) + .add(findResourceKey(Blocks.DIORITE)) + .add(findResourceKey(Blocks.NETHERRACK)) + .add(findResourceKey(Blocks.BLACKSTONE)) + .add(findResourceKey(Blocks.END_STONE)) + .add(findResourceKey(Blocks.ICE)) + .add(findResourceKey(Blocks.RAW_IRON_BLOCK)) + .add(findResourceKey(Blocks.OXIDIZED_COPPER)) + .add(findResourceKey(Blocks.IRON_ORE)) + .add(findResourceKey(Blocks.DEEPSLATE_IRON_ORE)) + .add(findResourceKey(Blocks.COPPER_ORE)) + .add(findResourceKey(Blocks.DEEPSLATE_COPPER_ORE)) + .add(findResourceKey(Blocks.GOLD_ORE)) + .add(findResourceKey(Blocks.DEEPSLATE_GOLD_ORE)) + .add(ModBlocks.VOID_STONE.getKey()) + .add(ModBlocks.END_DUST.getKey()) + .add(ModBlocks.CURSED_GOLD_BLOCK.getKey()) + .add(ModBlocks.DEEPSLATE_TIN_ORE.getKey()) + .add(ModBlocks.DEEPSLATE_ZINC_ORE.getKey()) + .add(ModBlocks.DEEPSLATE_LEAD_ORE.getKey()) + .add(ModBlocks.DEEPSLATE_URANIUM_ORE.getKey()); + + //mekanism integration provider.addTag(ModBlockTags.MEKANISM_CARDBOARD_BOX_BLACKLIST) .add(ModBlocks.GIANT_ANVIL.getKey()) .add(ModBlocks.TRANSMISSION_POLE.getKey()) diff --git a/src/main/java/dev/dubhe/anvilcraft/init/ModBlockTags.java b/src/main/java/dev/dubhe/anvilcraft/init/ModBlockTags.java index 889d74391..372ddcc33 100644 --- a/src/main/java/dev/dubhe/anvilcraft/init/ModBlockTags.java +++ b/src/main/java/dev/dubhe/anvilcraft/init/ModBlockTags.java @@ -25,6 +25,7 @@ public class ModBlockTags { public static final TagKey LASER_CAN_PASS_THROUGH = bind("laser_can_pass_though"); public static final TagKey END_PORTAL_UNABLE_CHANGE = bind("end_portal_unable_change"); public static final TagKey NEUTRONIUM_CANNOT_PASS_THROUGH = bind("neutronium_cannot_pass_through"); + public static final TagKey VOID_DECAY_PRODUCTS = bind("void_decay_products"); // common tags public static final TagKey ORES_TUNGSTEN = bindC("ores/tungsten"); diff --git a/src/main/java/dev/dubhe/anvilcraft/init/ModBlocks.java b/src/main/java/dev/dubhe/anvilcraft/init/ModBlocks.java index e9ebd3009..32c8328f4 100644 --- a/src/main/java/dev/dubhe/anvilcraft/init/ModBlocks.java +++ b/src/main/java/dev/dubhe/anvilcraft/init/ModBlocks.java @@ -91,6 +91,7 @@ import dev.dubhe.anvilcraft.block.SupercriticalNestingShulkerBoxBlock; import dev.dubhe.anvilcraft.block.ThermoelectricConverterBlock; import dev.dubhe.anvilcraft.block.TransmissionPoleBlock; +import dev.dubhe.anvilcraft.block.VoidMatterBlock; import dev.dubhe.anvilcraft.block.state.Color; import dev.dubhe.anvilcraft.block.state.Cube3x3PartHalf; import dev.dubhe.anvilcraft.block.state.Vertical3PartHalf; @@ -2846,8 +2847,8 @@ public class ModBlocks { .loot((tables, block)->{}) .register(); - public static final BlockEntry VOID_MATTER_BLOCK = REGISTRATE - .block("void_matter_block", Block::new) + public static final BlockEntry VOID_MATTER_BLOCK = REGISTRATE + .block("void_matter_block", VoidMatterBlock::new) .initialProperties(() -> Blocks.DIAMOND_BLOCK) .properties(BlockBehaviour.Properties::noOcclusion) .blockstate((context, provider) -> provider.simpleBlock( From ad550ddf31d80f009daa68fe88b84efff80b30cd Mon Sep 17 00:00:00 2001 From: YocyCraft Date: Wed, 1 Jan 2025 03:43:42 +0800 Subject: [PATCH 08/14] Fix comparison --- src/main/java/dev/dubhe/anvilcraft/block/VoidMatterBlock.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/dev/dubhe/anvilcraft/block/VoidMatterBlock.java b/src/main/java/dev/dubhe/anvilcraft/block/VoidMatterBlock.java index 843603b87..b7b9c6a13 100644 --- a/src/main/java/dev/dubhe/anvilcraft/block/VoidMatterBlock.java +++ b/src/main/java/dev/dubhe/anvilcraft/block/VoidMatterBlock.java @@ -35,7 +35,7 @@ protected void randomTick(BlockState state, ServerLevel level, BlockPos pos, Ran .map(d -> level.getBlockState(pos.relative(d))) .filter(b -> b.getBlock() instanceof VoidMatterBlock) .count(); - if (neighborVoidMatterCount > VOID_DECAY_THRESHOLD) { + if (neighborVoidMatterCount >= VOID_DECAY_THRESHOLD) { level.setBlockAndUpdate(pos, this.voidDecay(level, pos, state, random)); } } From 098c201595c5997ba7cb789f7d7f1dd92fe1ab74 Mon Sep 17 00:00:00 2001 From: YocyCraft Date: Wed, 1 Jan 2025 15:33:01 +0800 Subject: [PATCH 09/14] Fix shulker box rendering in JEI --- .../dubhe/anvilcraft/util/RenderHelper.java | 48 ++++++++++++++++--- 1 file changed, 41 insertions(+), 7 deletions(-) diff --git a/src/main/java/dev/dubhe/anvilcraft/util/RenderHelper.java b/src/main/java/dev/dubhe/anvilcraft/util/RenderHelper.java index b4cc09a9d..d19a6a4bb 100644 --- a/src/main/java/dev/dubhe/anvilcraft/util/RenderHelper.java +++ b/src/main/java/dev/dubhe/anvilcraft/util/RenderHelper.java @@ -1,10 +1,15 @@ package dev.dubhe.anvilcraft.util; import com.mojang.blaze3d.platform.Lighting; +import com.mojang.blaze3d.systems.RenderSystem; +import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.SheetedDecalTextureGenerator; import com.mojang.blaze3d.vertex.VertexConsumer; import com.mojang.blaze3d.vertex.VertexMultiConsumer; +import com.mojang.math.Axis; import com.mojang.math.MatrixUtil; +import lombok.AccessLevel; +import lombok.NoArgsConstructor; import net.minecraft.CrashReport; import net.minecraft.CrashReportCategory; import net.minecraft.ReportedException; @@ -19,6 +24,7 @@ import net.minecraft.client.renderer.Sheets; import net.minecraft.client.renderer.block.BlockRenderDispatcher; import net.minecraft.client.renderer.block.model.BakedQuad; +import net.minecraft.client.renderer.blockentity.BlockEntityRenderer; import net.minecraft.client.renderer.entity.ItemRenderer; import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.client.resources.model.BakedModel; @@ -36,32 +42,31 @@ import net.minecraft.world.item.Items; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.EntityBlock; import net.minecraft.world.level.block.HalfTransparentBlock; import net.minecraft.world.level.block.LiquidBlock; import net.minecraft.world.level.block.RenderShape; import net.minecraft.world.level.block.StainedGlassPaneBlock; +import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.material.FluidState; - -import com.mojang.blaze3d.systems.RenderSystem; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.math.Axis; -import lombok.AccessLevel; -import lombok.NoArgsConstructor; import net.neoforged.neoforge.client.model.data.ModelData; import org.joml.Vector3f; import javax.annotation.Nullable; +import java.util.LinkedHashMap; import java.util.List; import java.util.Optional; @NoArgsConstructor(access = AccessLevel.PRIVATE) public class RenderHelper { + + private static final int MAX_CACHE_SIZE = 64; + private static final LinkedHashMap BLOCK_ENTITY_CHACE = new LinkedHashMap<>(); private static final RandomSource RANDOM = RandomSource.createNewThreadLocalInstance(); private static final Vector3f L1 = new Vector3f(0.4F, 0.0F, 1.0F).normalize(); private static final Vector3f L2 = new Vector3f(-0.4F, 1.0F, -0.2F).normalize(); - private static final ModelResourceLocation TRIDENT_MODEL = ModelResourceLocation.inventory(ResourceLocation.withDefaultNamespace("trident")); private static final ModelResourceLocation SPYGLASS_MODEL = ModelResourceLocation.inventory(ResourceLocation.withDefaultNamespace("spyglass")); private static ClientLevel currentClientLevel = null; @@ -84,6 +89,20 @@ public class RenderHelper { renderType ); } + if (currentClientLevel == null) return; + getCachedBlockEntity(blockState).ifPresent(blockEntity -> { + blockEntity.setLevel(currentClientLevel); + BlockEntityRenderer renderer = Minecraft.getInstance() + .getBlockEntityRenderDispatcher().getRenderer(blockEntity); + if (renderer == null) return; + renderer.render( + blockEntity, + getPartialTick(), + poseStack, + buffers, + 0xF000F0, + OverlayTexture.NO_OVERLAY); + }); }; public static void renderBlock( @@ -226,6 +245,21 @@ public static void renderLevelLike( renderLevelLike(level, guiGraphics, xPos, yPos, scale, 0.0f); } + private static Optional getCachedBlockEntity(BlockState state) { + if (!state.hasBlockEntity()) return Optional.empty(); + if (BLOCK_ENTITY_CHACE.containsKey(state)) return Optional.of(BLOCK_ENTITY_CHACE.get(state)); + Optional opt = Optional.of(state.getBlock()) + .filter(b -> b instanceof EntityBlock) + .map(b -> ((EntityBlock)b).newBlockEntity(BlockPos.ZERO, state)); + opt.ifPresent(be -> { + BLOCK_ENTITY_CHACE.put(state, be); + if (BLOCK_ENTITY_CHACE.size() > MAX_CACHE_SIZE) { + BLOCK_ENTITY_CHACE.pollFirstEntry(); + } + }); + return opt; + } + public static void renderItemWithTransparency(ItemStack stack, PoseStack poseStack, int x, int y, float alpha) { renderItemWithTransparency(Minecraft.getInstance().player, Minecraft.getInstance().level, poseStack, stack, x, y, alpha); } From ed32c1e939f23dc4a45264906d3550293305b906 Mon Sep 17 00:00:00 2001 From: YocyCraft Date: Wed, 1 Jan 2025 16:30:20 +0800 Subject: [PATCH 10/14] Changed lots of recipe categories --- .../amber_block.json | 0 .../brass_block.json | 0 .../bronze_block.json | 0 .../cursed_gold_block.json | 0 .../cut_ember_metal_block.json | 0 .../cut_ember_metal_slab.json | 0 .../cut_ember_metal_stairs.json | 0 .../cut_royal_steel_block.json | 0 .../cut_royal_steel_slab.json | 0 .../cut_royal_steel_stairs.json | 0 .../earth_core_shard_block.json | 0 .../ember_metal_block.json | 0 .../heavy_iron_block.json | 0 .../iron_block_from_heavy_iron_block.json | 0 .../{misc => building_blocks}/lead_block.json | 0 .../negative_matter_block.json | 0 .../raw_lead_block.json | 0 .../raw_silver_block.json | 0 .../raw_tin_block.json | 0 .../raw_titanium_block.json | 0 .../raw_tungsten_block.json | 0 .../raw_uranium_block.json | 0 .../raw_zinc_block.json | 0 .../reinforced_concrete_black_slab.json | 0 .../reinforced_concrete_black_stair.json | 0 .../reinforced_concrete_black_wall.json | 0 .../reinforced_concrete_blue_slab.json | 0 .../reinforced_concrete_blue_stair.json | 0 .../reinforced_concrete_blue_wall.json | 0 .../reinforced_concrete_brown_slab.json | 0 .../reinforced_concrete_brown_stair.json | 0 .../reinforced_concrete_brown_wall.json | 0 .../reinforced_concrete_cyan_slab.json | 0 .../reinforced_concrete_cyan_stair.json | 0 .../reinforced_concrete_cyan_wall.json | 0 .../reinforced_concrete_gray_slab.json | 0 .../reinforced_concrete_gray_stair.json | 0 .../reinforced_concrete_gray_wall.json | 0 .../reinforced_concrete_green_slab.json | 0 .../reinforced_concrete_green_stair.json | 0 .../reinforced_concrete_green_wall.json | 0 .../reinforced_concrete_light_blue_slab.json | 0 .../reinforced_concrete_light_blue_stair.json | 0 .../reinforced_concrete_light_blue_wall.json | 0 .../reinforced_concrete_light_gray_slab.json | 0 .../reinforced_concrete_light_gray_stair.json | 0 .../reinforced_concrete_light_gray_wall.json | 0 .../reinforced_concrete_lime_slab.json | 0 .../reinforced_concrete_lime_stair.json | 0 .../reinforced_concrete_lime_wall.json | 0 .../reinforced_concrete_magenta_slab.json | 0 .../reinforced_concrete_magenta_stair.json | 0 .../reinforced_concrete_magenta_wall.json | 0 .../reinforced_concrete_orange_slab.json | 0 .../reinforced_concrete_orange_stair.json | 0 .../reinforced_concrete_orange_wall.json | 0 .../reinforced_concrete_pink_slab.json | 0 .../reinforced_concrete_pink_stair.json | 0 .../reinforced_concrete_pink_wall.json | 0 .../reinforced_concrete_purple_slab.json | 0 .../reinforced_concrete_purple_stair.json | 0 .../reinforced_concrete_purple_wall.json | 0 .../reinforced_concrete_red_slab.json | 0 .../reinforced_concrete_red_stair.json | 0 .../reinforced_concrete_red_wall.json | 0 .../reinforced_concrete_white_slab.json | 0 .../reinforced_concrete_white_stair.json | 0 .../reinforced_concrete_white_wall.json | 0 .../reinforced_concrete_yellow_slab.json | 0 .../reinforced_concrete_yellow_stair.json | 0 .../reinforced_concrete_yellow_wall.json | 0 .../resin_block.json | 0 .../royal_steel_block.json | 0 .../{misc => building_blocks}/ruby_block.json | 0 .../sapphire_block.json | 0 .../silver_block.json | 0 .../{misc => building_blocks}/tin_block.json | 0 .../titanium_block.json | 0 .../topaz_block.json | 0 .../tungsten_block.json | 0 .../uranium_block.json | 0 .../void_matter_block.json | 0 .../{misc => building_blocks}/zinc_block.json | 0 .../recipes/{misc => food}/chocolate.json | 0 .../{misc => food}/chocolate_black.json | 0 .../{misc => food}/chocolate_white.json | 0 .../recipes/{tools => misc}/chute.json | 0 .../recipes/{tools => misc}/impact_pile.json | 0 .../{food => misc}/magnet_ingot_8.json | 0 .../{food => misc}/magnet_ingot_9.json | 0 .../{tools => misc}/magnetic_chute.json | 0 .../{tools => misc}/smithing/ember_anvil.json | 0 .../smithing/ember_grindstone.json | 0 .../smithing/ember_smithing_table.json | 0 .../{tools => misc}/smithing/royal_anvil.json | 0 .../smithing/royal_grindstone.json | 0 .../smithing/royal_smithing_table.json | 0 .../{tools => misc}/stamping_platform.json | 0 .../{tools => redstone}/batch_crafter.json | 0 .../{misc => redstone}/block_devourer.json | 0 .../{misc => redstone}/block_placer.json | 0 ...rass_pressure_plate_from_ingots_brass.json | 0 ...nze_pressure_plate_from_ingots_bronze.json | 0 ...pper_pressure_plate_from_copper_ingot.json | 0 .../ferrite_core_magnet_block.json | 0 .../hollow_magnet_block.json | 0 .../lead_pressure_plate_from_ingots_lead.json | 0 .../{tools => redstone}/magnet_block.json | 0 ...ver_pressure_plate_from_ingots_silver.json | 0 .../tin_pressure_plate_from_ingots_tin.json | 0 ...m_pressure_plate_from_ingots_titanium.json | 0 ...n_pressure_plate_from_ingots_tungsten.json | 0 ...um_pressure_plate_from_ingots_uranium.json | 0 .../zinc_pressure_plate_from_ingots_zinc.json | 0 .../data/anvilcraft/recipe/amber_block.json | 2 +- .../data/anvilcraft/recipe/batch_crafter.json | 2 +- .../anvilcraft/recipe/block_devourer.json | 2 +- .../data/anvilcraft/recipe/block_placer.json | 2 +- .../data/anvilcraft/recipe/brass_block.json | 2 +- ...rass_pressure_plate_from_ingots_brass.json | 2 +- .../data/anvilcraft/recipe/bronze_block.json | 2 +- ...nze_pressure_plate_from_ingots_bronze.json | 2 +- .../data/anvilcraft/recipe/chute.json | 2 +- ...pper_pressure_plate_from_copper_ingot.json | 2 +- .../anvilcraft/recipe/cursed_gold_block.json | 2 +- .../recipe/cut_ember_metal_block.json | 2 +- .../recipe/cut_ember_metal_slab.json | 2 +- .../recipe/cut_ember_metal_stairs.json | 2 +- .../recipe/cut_royal_steel_block.json | 2 +- .../recipe/cut_royal_steel_slab.json | 2 +- .../recipe/cut_royal_steel_stairs.json | 2 +- .../recipe/earth_core_shard_block.json | 2 +- .../anvilcraft/recipe/ember_metal_block.json | 2 +- .../recipe/ferrite_core_magnet_block.json | 2 +- .../anvilcraft/recipe/heavy_iron_block.json | 2 +- .../recipe/hollow_magnet_block.json | 2 +- .../data/anvilcraft/recipe/impact_pile.json | 2 +- .../iron_block_from_heavy_iron_block.json | 2 +- .../data/anvilcraft/recipe/lead_block.json | 2 +- .../lead_pressure_plate_from_ingots_lead.json | 2 +- .../data/anvilcraft/recipe/magnet_block.json | 2 +- .../anvilcraft/recipe/magnetic_chute.json | 2 +- .../recipe/negative_matter_block.json | 2 +- .../anvilcraft/recipe/raw_lead_block.json | 2 +- .../anvilcraft/recipe/raw_silver_block.json | 2 +- .../data/anvilcraft/recipe/raw_tin_block.json | 2 +- .../anvilcraft/recipe/raw_titanium_block.json | 2 +- .../anvilcraft/recipe/raw_tungsten_block.json | 2 +- .../anvilcraft/recipe/raw_uranium_block.json | 2 +- .../anvilcraft/recipe/raw_zinc_block.json | 2 +- .../reinforced_concrete_black_slab.json | 2 +- .../reinforced_concrete_black_stair.json | 2 +- .../reinforced_concrete_black_wall.json | 2 +- .../recipe/reinforced_concrete_blue_slab.json | 2 +- .../reinforced_concrete_blue_stair.json | 2 +- .../recipe/reinforced_concrete_blue_wall.json | 2 +- .../reinforced_concrete_brown_slab.json | 2 +- .../reinforced_concrete_brown_stair.json | 2 +- .../reinforced_concrete_brown_wall.json | 2 +- .../recipe/reinforced_concrete_cyan_slab.json | 2 +- .../reinforced_concrete_cyan_stair.json | 2 +- .../recipe/reinforced_concrete_cyan_wall.json | 2 +- .../recipe/reinforced_concrete_gray_slab.json | 2 +- .../reinforced_concrete_gray_stair.json | 2 +- .../recipe/reinforced_concrete_gray_wall.json | 2 +- .../reinforced_concrete_green_slab.json | 2 +- .../reinforced_concrete_green_stair.json | 2 +- .../reinforced_concrete_green_wall.json | 2 +- .../reinforced_concrete_light_blue_slab.json | 2 +- .../reinforced_concrete_light_blue_stair.json | 2 +- .../reinforced_concrete_light_blue_wall.json | 2 +- .../reinforced_concrete_light_gray_slab.json | 2 +- .../reinforced_concrete_light_gray_stair.json | 2 +- .../reinforced_concrete_light_gray_wall.json | 2 +- .../recipe/reinforced_concrete_lime_slab.json | 2 +- .../reinforced_concrete_lime_stair.json | 2 +- .../recipe/reinforced_concrete_lime_wall.json | 2 +- .../reinforced_concrete_magenta_slab.json | 2 +- .../reinforced_concrete_magenta_stair.json | 2 +- .../reinforced_concrete_magenta_wall.json | 2 +- .../reinforced_concrete_orange_slab.json | 2 +- .../reinforced_concrete_orange_stair.json | 2 +- .../reinforced_concrete_orange_wall.json | 2 +- .../recipe/reinforced_concrete_pink_slab.json | 2 +- .../reinforced_concrete_pink_stair.json | 2 +- .../recipe/reinforced_concrete_pink_wall.json | 2 +- .../reinforced_concrete_purple_slab.json | 2 +- .../reinforced_concrete_purple_stair.json | 2 +- .../reinforced_concrete_purple_wall.json | 2 +- .../recipe/reinforced_concrete_red_slab.json | 2 +- .../recipe/reinforced_concrete_red_stair.json | 2 +- .../recipe/reinforced_concrete_red_wall.json | 2 +- .../reinforced_concrete_white_slab.json | 2 +- .../reinforced_concrete_white_stair.json | 2 +- .../reinforced_concrete_white_wall.json | 2 +- .../reinforced_concrete_yellow_slab.json | 2 +- .../reinforced_concrete_yellow_stair.json | 2 +- .../reinforced_concrete_yellow_wall.json | 2 +- .../data/anvilcraft/recipe/resin_block.json | 2 +- .../anvilcraft/recipe/royal_steel_block.json | 2 +- .../data/anvilcraft/recipe/ruby_block.json | 2 +- .../anvilcraft/recipe/sapphire_block.json | 2 +- .../data/anvilcraft/recipe/silver_block.json | 2 +- ...ver_pressure_plate_from_ingots_silver.json | 2 +- .../data/anvilcraft/recipe/sliding_rail.json | 2 +- .../anvilcraft/recipe/sliding_rail_stop.json | 4 +- .../recipe/smelting_cooking_bread.json | 2 +- .../anvilcraft/recipe/stamping_platform.json | 2 +- .../data/anvilcraft/recipe/tin_block.json | 2 +- .../tin_pressure_plate_from_ingots_tin.json | 2 +- .../anvilcraft/recipe/titanium_block.json | 2 +- ...m_pressure_plate_from_ingots_titanium.json | 2 +- .../data/anvilcraft/recipe/topaz_block.json | 2 +- .../anvilcraft/recipe/tungsten_block.json | 2 +- ...n_pressure_plate_from_ingots_tungsten.json | 2 +- .../data/anvilcraft/recipe/uranium_block.json | 2 +- ...um_pressure_plate_from_ingots_uranium.json | 2 +- .../anvilcraft/recipe/void_matter_block.json | 2 +- .../data/anvilcraft/recipe/zinc_block.json | 2 +- .../zinc_pressure_plate_from_ingots_zinc.json | 2 +- .../{misc => building_blocks}/wet_sponge.json | 0 .../{tools => misc}/chipped_anvil.json | 0 .../{tools => misc}/damaged_anvil.json | 0 .../data/minecraft/recipe/chipped_anvil.json | 2 +- .../data/minecraft/recipe/damaged_anvil.json | 2 +- .../data/minecraft/recipe/wet_sponge.json | 2 +- .../data/recipe/VanillaRecipesLoader.java | 10 +- .../dev/dubhe/anvilcraft/init/ModBlocks.java | 143 ++++++++++-------- .../dev/dubhe/anvilcraft/init/ModItems.java | 22 ++- 229 files changed, 208 insertions(+), 187 deletions(-) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/amber_block.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/brass_block.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/bronze_block.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/cursed_gold_block.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/cut_ember_metal_block.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/cut_ember_metal_slab.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/cut_ember_metal_stairs.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/cut_royal_steel_block.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/cut_royal_steel_slab.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/cut_royal_steel_stairs.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/earth_core_shard_block.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/ember_metal_block.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/heavy_iron_block.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/iron_block_from_heavy_iron_block.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/lead_block.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/negative_matter_block.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/raw_lead_block.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/raw_silver_block.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/raw_tin_block.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/raw_titanium_block.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/raw_tungsten_block.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/raw_uranium_block.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/raw_zinc_block.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/reinforced_concrete_black_slab.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/reinforced_concrete_black_stair.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/reinforced_concrete_black_wall.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/reinforced_concrete_blue_slab.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/reinforced_concrete_blue_stair.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/reinforced_concrete_blue_wall.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/reinforced_concrete_brown_slab.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/reinforced_concrete_brown_stair.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/reinforced_concrete_brown_wall.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/reinforced_concrete_cyan_slab.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/reinforced_concrete_cyan_stair.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/reinforced_concrete_cyan_wall.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/reinforced_concrete_gray_slab.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/reinforced_concrete_gray_stair.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/reinforced_concrete_gray_wall.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/reinforced_concrete_green_slab.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/reinforced_concrete_green_stair.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/reinforced_concrete_green_wall.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/reinforced_concrete_light_blue_slab.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/reinforced_concrete_light_blue_stair.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/reinforced_concrete_light_blue_wall.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/reinforced_concrete_light_gray_slab.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/reinforced_concrete_light_gray_stair.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/reinforced_concrete_light_gray_wall.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/reinforced_concrete_lime_slab.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/reinforced_concrete_lime_stair.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/reinforced_concrete_lime_wall.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/reinforced_concrete_magenta_slab.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/reinforced_concrete_magenta_stair.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/reinforced_concrete_magenta_wall.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/reinforced_concrete_orange_slab.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/reinforced_concrete_orange_stair.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/reinforced_concrete_orange_wall.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/reinforced_concrete_pink_slab.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/reinforced_concrete_pink_stair.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/reinforced_concrete_pink_wall.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/reinforced_concrete_purple_slab.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/reinforced_concrete_purple_stair.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/reinforced_concrete_purple_wall.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/reinforced_concrete_red_slab.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/reinforced_concrete_red_stair.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/reinforced_concrete_red_wall.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/reinforced_concrete_white_slab.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/reinforced_concrete_white_stair.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/reinforced_concrete_white_wall.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/reinforced_concrete_yellow_slab.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/reinforced_concrete_yellow_stair.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/reinforced_concrete_yellow_wall.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/resin_block.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/royal_steel_block.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/ruby_block.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/sapphire_block.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/silver_block.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/tin_block.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/titanium_block.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/topaz_block.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/tungsten_block.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/uranium_block.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/void_matter_block.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => building_blocks}/zinc_block.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => food}/chocolate.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => food}/chocolate_black.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => food}/chocolate_white.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{tools => misc}/chute.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{tools => misc}/impact_pile.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{food => misc}/magnet_ingot_8.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{food => misc}/magnet_ingot_9.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{tools => misc}/magnetic_chute.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{tools => misc}/smithing/ember_anvil.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{tools => misc}/smithing/ember_grindstone.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{tools => misc}/smithing/ember_smithing_table.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{tools => misc}/smithing/royal_anvil.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{tools => misc}/smithing/royal_grindstone.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{tools => misc}/smithing/royal_smithing_table.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{tools => misc}/stamping_platform.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{tools => redstone}/batch_crafter.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => redstone}/block_devourer.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => redstone}/block_placer.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => redstone}/brass_pressure_plate_from_ingots_brass.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => redstone}/bronze_pressure_plate_from_ingots_bronze.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => redstone}/copper_pressure_plate_from_copper_ingot.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{tools => redstone}/ferrite_core_magnet_block.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{tools => redstone}/hollow_magnet_block.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => redstone}/lead_pressure_plate_from_ingots_lead.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{tools => redstone}/magnet_block.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => redstone}/silver_pressure_plate_from_ingots_silver.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => redstone}/tin_pressure_plate_from_ingots_tin.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => redstone}/titanium_pressure_plate_from_ingots_titanium.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => redstone}/tungsten_pressure_plate_from_ingots_tungsten.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => redstone}/uranium_pressure_plate_from_ingots_uranium.json (100%) rename src/generated/resources/data/anvilcraft/advancement/recipes/{misc => redstone}/zinc_pressure_plate_from_ingots_zinc.json (100%) rename src/generated/resources/data/minecraft/advancement/recipes/{misc => building_blocks}/wet_sponge.json (100%) rename src/generated/resources/data/minecraft/advancement/recipes/{tools => misc}/chipped_anvil.json (100%) rename src/generated/resources/data/minecraft/advancement/recipes/{tools => misc}/damaged_anvil.json (100%) diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/amber_block.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/amber_block.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/amber_block.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/amber_block.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/brass_block.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/brass_block.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/brass_block.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/brass_block.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/bronze_block.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/bronze_block.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/bronze_block.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/bronze_block.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/cursed_gold_block.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/cursed_gold_block.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/cursed_gold_block.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/cursed_gold_block.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/cut_ember_metal_block.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/cut_ember_metal_block.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/cut_ember_metal_block.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/cut_ember_metal_block.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/cut_ember_metal_slab.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/cut_ember_metal_slab.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/cut_ember_metal_slab.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/cut_ember_metal_slab.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/cut_ember_metal_stairs.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/cut_ember_metal_stairs.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/cut_ember_metal_stairs.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/cut_ember_metal_stairs.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/cut_royal_steel_block.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/cut_royal_steel_block.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/cut_royal_steel_block.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/cut_royal_steel_block.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/cut_royal_steel_slab.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/cut_royal_steel_slab.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/cut_royal_steel_slab.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/cut_royal_steel_slab.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/cut_royal_steel_stairs.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/cut_royal_steel_stairs.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/cut_royal_steel_stairs.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/cut_royal_steel_stairs.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/earth_core_shard_block.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/earth_core_shard_block.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/earth_core_shard_block.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/earth_core_shard_block.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/ember_metal_block.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/ember_metal_block.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/ember_metal_block.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/ember_metal_block.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/heavy_iron_block.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/heavy_iron_block.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/heavy_iron_block.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/heavy_iron_block.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/iron_block_from_heavy_iron_block.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/iron_block_from_heavy_iron_block.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/iron_block_from_heavy_iron_block.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/iron_block_from_heavy_iron_block.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/lead_block.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/lead_block.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/lead_block.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/lead_block.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/negative_matter_block.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/negative_matter_block.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/negative_matter_block.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/negative_matter_block.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/raw_lead_block.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/raw_lead_block.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/raw_lead_block.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/raw_lead_block.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/raw_silver_block.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/raw_silver_block.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/raw_silver_block.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/raw_silver_block.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/raw_tin_block.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/raw_tin_block.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/raw_tin_block.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/raw_tin_block.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/raw_titanium_block.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/raw_titanium_block.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/raw_titanium_block.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/raw_titanium_block.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/raw_tungsten_block.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/raw_tungsten_block.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/raw_tungsten_block.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/raw_tungsten_block.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/raw_uranium_block.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/raw_uranium_block.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/raw_uranium_block.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/raw_uranium_block.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/raw_zinc_block.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/raw_zinc_block.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/raw_zinc_block.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/raw_zinc_block.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_black_slab.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_black_slab.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_black_slab.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_black_slab.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_black_stair.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_black_stair.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_black_stair.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_black_stair.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_black_wall.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_black_wall.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_black_wall.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_black_wall.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_blue_slab.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_blue_slab.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_blue_slab.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_blue_slab.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_blue_stair.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_blue_stair.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_blue_stair.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_blue_stair.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_blue_wall.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_blue_wall.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_blue_wall.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_blue_wall.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_brown_slab.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_brown_slab.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_brown_slab.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_brown_slab.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_brown_stair.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_brown_stair.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_brown_stair.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_brown_stair.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_brown_wall.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_brown_wall.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_brown_wall.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_brown_wall.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_cyan_slab.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_cyan_slab.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_cyan_slab.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_cyan_slab.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_cyan_stair.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_cyan_stair.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_cyan_stair.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_cyan_stair.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_cyan_wall.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_cyan_wall.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_cyan_wall.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_cyan_wall.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_gray_slab.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_gray_slab.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_gray_slab.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_gray_slab.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_gray_stair.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_gray_stair.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_gray_stair.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_gray_stair.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_gray_wall.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_gray_wall.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_gray_wall.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_gray_wall.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_green_slab.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_green_slab.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_green_slab.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_green_slab.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_green_stair.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_green_stair.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_green_stair.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_green_stair.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_green_wall.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_green_wall.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_green_wall.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_green_wall.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_light_blue_slab.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_light_blue_slab.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_light_blue_slab.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_light_blue_slab.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_light_blue_stair.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_light_blue_stair.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_light_blue_stair.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_light_blue_stair.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_light_blue_wall.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_light_blue_wall.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_light_blue_wall.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_light_blue_wall.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_light_gray_slab.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_light_gray_slab.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_light_gray_slab.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_light_gray_slab.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_light_gray_stair.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_light_gray_stair.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_light_gray_stair.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_light_gray_stair.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_light_gray_wall.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_light_gray_wall.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_light_gray_wall.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_light_gray_wall.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_lime_slab.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_lime_slab.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_lime_slab.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_lime_slab.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_lime_stair.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_lime_stair.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_lime_stair.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_lime_stair.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_lime_wall.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_lime_wall.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_lime_wall.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_lime_wall.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_magenta_slab.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_magenta_slab.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_magenta_slab.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_magenta_slab.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_magenta_stair.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_magenta_stair.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_magenta_stair.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_magenta_stair.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_magenta_wall.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_magenta_wall.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_magenta_wall.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_magenta_wall.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_orange_slab.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_orange_slab.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_orange_slab.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_orange_slab.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_orange_stair.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_orange_stair.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_orange_stair.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_orange_stair.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_orange_wall.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_orange_wall.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_orange_wall.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_orange_wall.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_pink_slab.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_pink_slab.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_pink_slab.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_pink_slab.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_pink_stair.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_pink_stair.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_pink_stair.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_pink_stair.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_pink_wall.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_pink_wall.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_pink_wall.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_pink_wall.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_purple_slab.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_purple_slab.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_purple_slab.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_purple_slab.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_purple_stair.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_purple_stair.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_purple_stair.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_purple_stair.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_purple_wall.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_purple_wall.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_purple_wall.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_purple_wall.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_red_slab.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_red_slab.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_red_slab.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_red_slab.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_red_stair.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_red_stair.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_red_stair.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_red_stair.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_red_wall.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_red_wall.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_red_wall.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_red_wall.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_white_slab.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_white_slab.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_white_slab.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_white_slab.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_white_stair.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_white_stair.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_white_stair.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_white_stair.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_white_wall.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_white_wall.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_white_wall.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_white_wall.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_yellow_slab.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_yellow_slab.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_yellow_slab.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_yellow_slab.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_yellow_stair.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_yellow_stair.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_yellow_stair.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_yellow_stair.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_yellow_wall.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_yellow_wall.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/reinforced_concrete_yellow_wall.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/reinforced_concrete_yellow_wall.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/resin_block.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/resin_block.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/resin_block.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/resin_block.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/royal_steel_block.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/royal_steel_block.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/royal_steel_block.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/royal_steel_block.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/ruby_block.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/ruby_block.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/ruby_block.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/ruby_block.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/sapphire_block.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/sapphire_block.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/sapphire_block.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/sapphire_block.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/silver_block.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/silver_block.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/silver_block.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/silver_block.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/tin_block.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/tin_block.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/tin_block.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/tin_block.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/titanium_block.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/titanium_block.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/titanium_block.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/titanium_block.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/topaz_block.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/topaz_block.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/topaz_block.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/topaz_block.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/tungsten_block.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/tungsten_block.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/tungsten_block.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/tungsten_block.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/uranium_block.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/uranium_block.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/uranium_block.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/uranium_block.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/void_matter_block.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/void_matter_block.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/void_matter_block.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/void_matter_block.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/zinc_block.json b/src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/zinc_block.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/zinc_block.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/building_blocks/zinc_block.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/chocolate.json b/src/generated/resources/data/anvilcraft/advancement/recipes/food/chocolate.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/chocolate.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/food/chocolate.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/chocolate_black.json b/src/generated/resources/data/anvilcraft/advancement/recipes/food/chocolate_black.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/chocolate_black.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/food/chocolate_black.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/chocolate_white.json b/src/generated/resources/data/anvilcraft/advancement/recipes/food/chocolate_white.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/chocolate_white.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/food/chocolate_white.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/tools/chute.json b/src/generated/resources/data/anvilcraft/advancement/recipes/misc/chute.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/tools/chute.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/misc/chute.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/tools/impact_pile.json b/src/generated/resources/data/anvilcraft/advancement/recipes/misc/impact_pile.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/tools/impact_pile.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/misc/impact_pile.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/food/magnet_ingot_8.json b/src/generated/resources/data/anvilcraft/advancement/recipes/misc/magnet_ingot_8.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/food/magnet_ingot_8.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/misc/magnet_ingot_8.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/food/magnet_ingot_9.json b/src/generated/resources/data/anvilcraft/advancement/recipes/misc/magnet_ingot_9.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/food/magnet_ingot_9.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/misc/magnet_ingot_9.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/tools/magnetic_chute.json b/src/generated/resources/data/anvilcraft/advancement/recipes/misc/magnetic_chute.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/tools/magnetic_chute.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/misc/magnetic_chute.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/tools/smithing/ember_anvil.json b/src/generated/resources/data/anvilcraft/advancement/recipes/misc/smithing/ember_anvil.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/tools/smithing/ember_anvil.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/misc/smithing/ember_anvil.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/tools/smithing/ember_grindstone.json b/src/generated/resources/data/anvilcraft/advancement/recipes/misc/smithing/ember_grindstone.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/tools/smithing/ember_grindstone.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/misc/smithing/ember_grindstone.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/tools/smithing/ember_smithing_table.json b/src/generated/resources/data/anvilcraft/advancement/recipes/misc/smithing/ember_smithing_table.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/tools/smithing/ember_smithing_table.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/misc/smithing/ember_smithing_table.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/tools/smithing/royal_anvil.json b/src/generated/resources/data/anvilcraft/advancement/recipes/misc/smithing/royal_anvil.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/tools/smithing/royal_anvil.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/misc/smithing/royal_anvil.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/tools/smithing/royal_grindstone.json b/src/generated/resources/data/anvilcraft/advancement/recipes/misc/smithing/royal_grindstone.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/tools/smithing/royal_grindstone.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/misc/smithing/royal_grindstone.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/tools/smithing/royal_smithing_table.json b/src/generated/resources/data/anvilcraft/advancement/recipes/misc/smithing/royal_smithing_table.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/tools/smithing/royal_smithing_table.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/misc/smithing/royal_smithing_table.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/tools/stamping_platform.json b/src/generated/resources/data/anvilcraft/advancement/recipes/misc/stamping_platform.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/tools/stamping_platform.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/misc/stamping_platform.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/tools/batch_crafter.json b/src/generated/resources/data/anvilcraft/advancement/recipes/redstone/batch_crafter.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/tools/batch_crafter.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/redstone/batch_crafter.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/block_devourer.json b/src/generated/resources/data/anvilcraft/advancement/recipes/redstone/block_devourer.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/block_devourer.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/redstone/block_devourer.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/block_placer.json b/src/generated/resources/data/anvilcraft/advancement/recipes/redstone/block_placer.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/block_placer.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/redstone/block_placer.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/brass_pressure_plate_from_ingots_brass.json b/src/generated/resources/data/anvilcraft/advancement/recipes/redstone/brass_pressure_plate_from_ingots_brass.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/brass_pressure_plate_from_ingots_brass.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/redstone/brass_pressure_plate_from_ingots_brass.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/bronze_pressure_plate_from_ingots_bronze.json b/src/generated/resources/data/anvilcraft/advancement/recipes/redstone/bronze_pressure_plate_from_ingots_bronze.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/bronze_pressure_plate_from_ingots_bronze.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/redstone/bronze_pressure_plate_from_ingots_bronze.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/copper_pressure_plate_from_copper_ingot.json b/src/generated/resources/data/anvilcraft/advancement/recipes/redstone/copper_pressure_plate_from_copper_ingot.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/copper_pressure_plate_from_copper_ingot.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/redstone/copper_pressure_plate_from_copper_ingot.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/tools/ferrite_core_magnet_block.json b/src/generated/resources/data/anvilcraft/advancement/recipes/redstone/ferrite_core_magnet_block.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/tools/ferrite_core_magnet_block.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/redstone/ferrite_core_magnet_block.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/tools/hollow_magnet_block.json b/src/generated/resources/data/anvilcraft/advancement/recipes/redstone/hollow_magnet_block.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/tools/hollow_magnet_block.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/redstone/hollow_magnet_block.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/lead_pressure_plate_from_ingots_lead.json b/src/generated/resources/data/anvilcraft/advancement/recipes/redstone/lead_pressure_plate_from_ingots_lead.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/lead_pressure_plate_from_ingots_lead.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/redstone/lead_pressure_plate_from_ingots_lead.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/tools/magnet_block.json b/src/generated/resources/data/anvilcraft/advancement/recipes/redstone/magnet_block.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/tools/magnet_block.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/redstone/magnet_block.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/silver_pressure_plate_from_ingots_silver.json b/src/generated/resources/data/anvilcraft/advancement/recipes/redstone/silver_pressure_plate_from_ingots_silver.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/silver_pressure_plate_from_ingots_silver.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/redstone/silver_pressure_plate_from_ingots_silver.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/tin_pressure_plate_from_ingots_tin.json b/src/generated/resources/data/anvilcraft/advancement/recipes/redstone/tin_pressure_plate_from_ingots_tin.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/tin_pressure_plate_from_ingots_tin.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/redstone/tin_pressure_plate_from_ingots_tin.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/titanium_pressure_plate_from_ingots_titanium.json b/src/generated/resources/data/anvilcraft/advancement/recipes/redstone/titanium_pressure_plate_from_ingots_titanium.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/titanium_pressure_plate_from_ingots_titanium.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/redstone/titanium_pressure_plate_from_ingots_titanium.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/tungsten_pressure_plate_from_ingots_tungsten.json b/src/generated/resources/data/anvilcraft/advancement/recipes/redstone/tungsten_pressure_plate_from_ingots_tungsten.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/tungsten_pressure_plate_from_ingots_tungsten.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/redstone/tungsten_pressure_plate_from_ingots_tungsten.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/uranium_pressure_plate_from_ingots_uranium.json b/src/generated/resources/data/anvilcraft/advancement/recipes/redstone/uranium_pressure_plate_from_ingots_uranium.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/uranium_pressure_plate_from_ingots_uranium.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/redstone/uranium_pressure_plate_from_ingots_uranium.json diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/zinc_pressure_plate_from_ingots_zinc.json b/src/generated/resources/data/anvilcraft/advancement/recipes/redstone/zinc_pressure_plate_from_ingots_zinc.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/zinc_pressure_plate_from_ingots_zinc.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/redstone/zinc_pressure_plate_from_ingots_zinc.json diff --git a/src/generated/resources/data/anvilcraft/recipe/amber_block.json b/src/generated/resources/data/anvilcraft/recipe/amber_block.json index 4aec9e17c..17cc37a40 100644 --- a/src/generated/resources/data/anvilcraft/recipe/amber_block.json +++ b/src/generated/resources/data/anvilcraft/recipe/amber_block.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:amber" diff --git a/src/generated/resources/data/anvilcraft/recipe/batch_crafter.json b/src/generated/resources/data/anvilcraft/recipe/batch_crafter.json index 0a19214da..45905778e 100644 --- a/src/generated/resources/data/anvilcraft/recipe/batch_crafter.json +++ b/src/generated/resources/data/anvilcraft/recipe/batch_crafter.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "equipment", + "category": "redstone", "key": { "A": { "item": "minecraft:glass" diff --git a/src/generated/resources/data/anvilcraft/recipe/block_devourer.json b/src/generated/resources/data/anvilcraft/recipe/block_devourer.json index f1108f89b..8477ca1ea 100644 --- a/src/generated/resources/data/anvilcraft/recipe/block_devourer.json +++ b/src/generated/resources/data/anvilcraft/recipe/block_devourer.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "redstone", "key": { "A": { "item": "minecraft:netherite_ingot" diff --git a/src/generated/resources/data/anvilcraft/recipe/block_placer.json b/src/generated/resources/data/anvilcraft/recipe/block_placer.json index ca7fdffad..c67e9a442 100644 --- a/src/generated/resources/data/anvilcraft/recipe/block_placer.json +++ b/src/generated/resources/data/anvilcraft/recipe/block_placer.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "redstone", "key": { "A": { "item": "minecraft:cobblestone" diff --git a/src/generated/resources/data/anvilcraft/recipe/brass_block.json b/src/generated/resources/data/anvilcraft/recipe/brass_block.json index 528fe159a..82ccc17e6 100644 --- a/src/generated/resources/data/anvilcraft/recipe/brass_block.json +++ b/src/generated/resources/data/anvilcraft/recipe/brass_block.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "tag": "c:ingots/brass" diff --git a/src/generated/resources/data/anvilcraft/recipe/brass_pressure_plate_from_ingots_brass.json b/src/generated/resources/data/anvilcraft/recipe/brass_pressure_plate_from_ingots_brass.json index fa80e4a6e..08e6d07df 100644 --- a/src/generated/resources/data/anvilcraft/recipe/brass_pressure_plate_from_ingots_brass.json +++ b/src/generated/resources/data/anvilcraft/recipe/brass_pressure_plate_from_ingots_brass.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "redstone", "key": { "A": { "tag": "c:ingots/brass" diff --git a/src/generated/resources/data/anvilcraft/recipe/bronze_block.json b/src/generated/resources/data/anvilcraft/recipe/bronze_block.json index cbb3a7744..22d3cb2a2 100644 --- a/src/generated/resources/data/anvilcraft/recipe/bronze_block.json +++ b/src/generated/resources/data/anvilcraft/recipe/bronze_block.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "tag": "c:ingots/bronze" diff --git a/src/generated/resources/data/anvilcraft/recipe/bronze_pressure_plate_from_ingots_bronze.json b/src/generated/resources/data/anvilcraft/recipe/bronze_pressure_plate_from_ingots_bronze.json index a527e90cd..3af175674 100644 --- a/src/generated/resources/data/anvilcraft/recipe/bronze_pressure_plate_from_ingots_bronze.json +++ b/src/generated/resources/data/anvilcraft/recipe/bronze_pressure_plate_from_ingots_bronze.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "redstone", "key": { "A": { "tag": "c:ingots/bronze" diff --git a/src/generated/resources/data/anvilcraft/recipe/chute.json b/src/generated/resources/data/anvilcraft/recipe/chute.json index 685666846..7158bc092 100644 --- a/src/generated/resources/data/anvilcraft/recipe/chute.json +++ b/src/generated/resources/data/anvilcraft/recipe/chute.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "equipment", + "category": "misc", "key": { "A": { "item": "minecraft:iron_ingot" diff --git a/src/generated/resources/data/anvilcraft/recipe/copper_pressure_plate_from_copper_ingot.json b/src/generated/resources/data/anvilcraft/recipe/copper_pressure_plate_from_copper_ingot.json index 5f714c76f..c9add08ac 100644 --- a/src/generated/resources/data/anvilcraft/recipe/copper_pressure_plate_from_copper_ingot.json +++ b/src/generated/resources/data/anvilcraft/recipe/copper_pressure_plate_from_copper_ingot.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "redstone", "key": { "A": { "item": "minecraft:copper_ingot" diff --git a/src/generated/resources/data/anvilcraft/recipe/cursed_gold_block.json b/src/generated/resources/data/anvilcraft/recipe/cursed_gold_block.json index 857728431..130b169dc 100644 --- a/src/generated/resources/data/anvilcraft/recipe/cursed_gold_block.json +++ b/src/generated/resources/data/anvilcraft/recipe/cursed_gold_block.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:cursed_gold_ingot" diff --git a/src/generated/resources/data/anvilcraft/recipe/cut_ember_metal_block.json b/src/generated/resources/data/anvilcraft/recipe/cut_ember_metal_block.json index 0db2b0fda..26d4613e9 100644 --- a/src/generated/resources/data/anvilcraft/recipe/cut_ember_metal_block.json +++ b/src/generated/resources/data/anvilcraft/recipe/cut_ember_metal_block.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:ember_metal_block" diff --git a/src/generated/resources/data/anvilcraft/recipe/cut_ember_metal_slab.json b/src/generated/resources/data/anvilcraft/recipe/cut_ember_metal_slab.json index bb74529ce..3e4bfd2d9 100644 --- a/src/generated/resources/data/anvilcraft/recipe/cut_ember_metal_slab.json +++ b/src/generated/resources/data/anvilcraft/recipe/cut_ember_metal_slab.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:cut_ember_metal_block" diff --git a/src/generated/resources/data/anvilcraft/recipe/cut_ember_metal_stairs.json b/src/generated/resources/data/anvilcraft/recipe/cut_ember_metal_stairs.json index 1d636210c..b83c88799 100644 --- a/src/generated/resources/data/anvilcraft/recipe/cut_ember_metal_stairs.json +++ b/src/generated/resources/data/anvilcraft/recipe/cut_ember_metal_stairs.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:cut_ember_metal_block" diff --git a/src/generated/resources/data/anvilcraft/recipe/cut_royal_steel_block.json b/src/generated/resources/data/anvilcraft/recipe/cut_royal_steel_block.json index 2247dbba8..4801dad60 100644 --- a/src/generated/resources/data/anvilcraft/recipe/cut_royal_steel_block.json +++ b/src/generated/resources/data/anvilcraft/recipe/cut_royal_steel_block.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:royal_steel_block" diff --git a/src/generated/resources/data/anvilcraft/recipe/cut_royal_steel_slab.json b/src/generated/resources/data/anvilcraft/recipe/cut_royal_steel_slab.json index c641f63f8..d9705a221 100644 --- a/src/generated/resources/data/anvilcraft/recipe/cut_royal_steel_slab.json +++ b/src/generated/resources/data/anvilcraft/recipe/cut_royal_steel_slab.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:cut_royal_steel_block" diff --git a/src/generated/resources/data/anvilcraft/recipe/cut_royal_steel_stairs.json b/src/generated/resources/data/anvilcraft/recipe/cut_royal_steel_stairs.json index 22e6e297e..1ea05a27b 100644 --- a/src/generated/resources/data/anvilcraft/recipe/cut_royal_steel_stairs.json +++ b/src/generated/resources/data/anvilcraft/recipe/cut_royal_steel_stairs.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:cut_royal_steel_block" diff --git a/src/generated/resources/data/anvilcraft/recipe/earth_core_shard_block.json b/src/generated/resources/data/anvilcraft/recipe/earth_core_shard_block.json index 2bbf74dcf..78caf5ecb 100644 --- a/src/generated/resources/data/anvilcraft/recipe/earth_core_shard_block.json +++ b/src/generated/resources/data/anvilcraft/recipe/earth_core_shard_block.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:earth_core_shard" diff --git a/src/generated/resources/data/anvilcraft/recipe/ember_metal_block.json b/src/generated/resources/data/anvilcraft/recipe/ember_metal_block.json index 20c41f1f7..44bdf5cda 100644 --- a/src/generated/resources/data/anvilcraft/recipe/ember_metal_block.json +++ b/src/generated/resources/data/anvilcraft/recipe/ember_metal_block.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:ember_metal_ingot" diff --git a/src/generated/resources/data/anvilcraft/recipe/ferrite_core_magnet_block.json b/src/generated/resources/data/anvilcraft/recipe/ferrite_core_magnet_block.json index d76934609..6ce266ccd 100644 --- a/src/generated/resources/data/anvilcraft/recipe/ferrite_core_magnet_block.json +++ b/src/generated/resources/data/anvilcraft/recipe/ferrite_core_magnet_block.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "equipment", + "category": "redstone", "key": { "A": { "item": "anvilcraft:magnet_ingot" diff --git a/src/generated/resources/data/anvilcraft/recipe/heavy_iron_block.json b/src/generated/resources/data/anvilcraft/recipe/heavy_iron_block.json index 943e1be80..bdc9b311e 100644 --- a/src/generated/resources/data/anvilcraft/recipe/heavy_iron_block.json +++ b/src/generated/resources/data/anvilcraft/recipe/heavy_iron_block.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "tag": "c:storage_blocks/iron" diff --git a/src/generated/resources/data/anvilcraft/recipe/hollow_magnet_block.json b/src/generated/resources/data/anvilcraft/recipe/hollow_magnet_block.json index b0f9b7917..3fd4cfd8f 100644 --- a/src/generated/resources/data/anvilcraft/recipe/hollow_magnet_block.json +++ b/src/generated/resources/data/anvilcraft/recipe/hollow_magnet_block.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "equipment", + "category": "redstone", "key": { "A": { "item": "anvilcraft:magnet_ingot" diff --git a/src/generated/resources/data/anvilcraft/recipe/impact_pile.json b/src/generated/resources/data/anvilcraft/recipe/impact_pile.json index d452fb8f5..75d796898 100644 --- a/src/generated/resources/data/anvilcraft/recipe/impact_pile.json +++ b/src/generated/resources/data/anvilcraft/recipe/impact_pile.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "equipment", + "category": "misc", "key": { "A": { "item": "minecraft:obsidian" diff --git a/src/generated/resources/data/anvilcraft/recipe/iron_block_from_heavy_iron_block.json b/src/generated/resources/data/anvilcraft/recipe/iron_block_from_heavy_iron_block.json index 91a5e28be..c646d1bfd 100644 --- a/src/generated/resources/data/anvilcraft/recipe/iron_block_from_heavy_iron_block.json +++ b/src/generated/resources/data/anvilcraft/recipe/iron_block_from_heavy_iron_block.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shapeless", - "category": "misc", + "category": "building", "ingredients": [ { "item": "anvilcraft:heavy_iron_block" diff --git a/src/generated/resources/data/anvilcraft/recipe/lead_block.json b/src/generated/resources/data/anvilcraft/recipe/lead_block.json index 22ba613ac..e92003dc4 100644 --- a/src/generated/resources/data/anvilcraft/recipe/lead_block.json +++ b/src/generated/resources/data/anvilcraft/recipe/lead_block.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "tag": "c:ingots/lead" diff --git a/src/generated/resources/data/anvilcraft/recipe/lead_pressure_plate_from_ingots_lead.json b/src/generated/resources/data/anvilcraft/recipe/lead_pressure_plate_from_ingots_lead.json index 943d42bab..74fa72a09 100644 --- a/src/generated/resources/data/anvilcraft/recipe/lead_pressure_plate_from_ingots_lead.json +++ b/src/generated/resources/data/anvilcraft/recipe/lead_pressure_plate_from_ingots_lead.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "redstone", "key": { "A": { "tag": "c:ingots/lead" diff --git a/src/generated/resources/data/anvilcraft/recipe/magnet_block.json b/src/generated/resources/data/anvilcraft/recipe/magnet_block.json index cbb3a3538..d63a6758d 100644 --- a/src/generated/resources/data/anvilcraft/recipe/magnet_block.json +++ b/src/generated/resources/data/anvilcraft/recipe/magnet_block.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "equipment", + "category": "redstone", "key": { "A": { "item": "anvilcraft:magnet_ingot" diff --git a/src/generated/resources/data/anvilcraft/recipe/magnetic_chute.json b/src/generated/resources/data/anvilcraft/recipe/magnetic_chute.json index 8e250cf49..0bd60c6b0 100644 --- a/src/generated/resources/data/anvilcraft/recipe/magnetic_chute.json +++ b/src/generated/resources/data/anvilcraft/recipe/magnetic_chute.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "equipment", + "category": "misc", "key": { "A": { "item": "anvilcraft:magnet_ingot" diff --git a/src/generated/resources/data/anvilcraft/recipe/negative_matter_block.json b/src/generated/resources/data/anvilcraft/recipe/negative_matter_block.json index deae7eb20..6c0aae38e 100644 --- a/src/generated/resources/data/anvilcraft/recipe/negative_matter_block.json +++ b/src/generated/resources/data/anvilcraft/recipe/negative_matter_block.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:negative_matter" diff --git a/src/generated/resources/data/anvilcraft/recipe/raw_lead_block.json b/src/generated/resources/data/anvilcraft/recipe/raw_lead_block.json index 4007f81c7..f9e448676 100644 --- a/src/generated/resources/data/anvilcraft/recipe/raw_lead_block.json +++ b/src/generated/resources/data/anvilcraft/recipe/raw_lead_block.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:raw_lead" diff --git a/src/generated/resources/data/anvilcraft/recipe/raw_silver_block.json b/src/generated/resources/data/anvilcraft/recipe/raw_silver_block.json index 54e4bfa9d..cce7dacdd 100644 --- a/src/generated/resources/data/anvilcraft/recipe/raw_silver_block.json +++ b/src/generated/resources/data/anvilcraft/recipe/raw_silver_block.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:raw_silver" diff --git a/src/generated/resources/data/anvilcraft/recipe/raw_tin_block.json b/src/generated/resources/data/anvilcraft/recipe/raw_tin_block.json index c278089a5..8e3822fe5 100644 --- a/src/generated/resources/data/anvilcraft/recipe/raw_tin_block.json +++ b/src/generated/resources/data/anvilcraft/recipe/raw_tin_block.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:raw_tin" diff --git a/src/generated/resources/data/anvilcraft/recipe/raw_titanium_block.json b/src/generated/resources/data/anvilcraft/recipe/raw_titanium_block.json index aae09f070..6f8b83851 100644 --- a/src/generated/resources/data/anvilcraft/recipe/raw_titanium_block.json +++ b/src/generated/resources/data/anvilcraft/recipe/raw_titanium_block.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:raw_titanium" diff --git a/src/generated/resources/data/anvilcraft/recipe/raw_tungsten_block.json b/src/generated/resources/data/anvilcraft/recipe/raw_tungsten_block.json index 4181a7269..af50f51c6 100644 --- a/src/generated/resources/data/anvilcraft/recipe/raw_tungsten_block.json +++ b/src/generated/resources/data/anvilcraft/recipe/raw_tungsten_block.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:raw_tungsten" diff --git a/src/generated/resources/data/anvilcraft/recipe/raw_uranium_block.json b/src/generated/resources/data/anvilcraft/recipe/raw_uranium_block.json index 62e8c4384..42585cd51 100644 --- a/src/generated/resources/data/anvilcraft/recipe/raw_uranium_block.json +++ b/src/generated/resources/data/anvilcraft/recipe/raw_uranium_block.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:raw_uranium" diff --git a/src/generated/resources/data/anvilcraft/recipe/raw_zinc_block.json b/src/generated/resources/data/anvilcraft/recipe/raw_zinc_block.json index 29664bd21..0b983d069 100644 --- a/src/generated/resources/data/anvilcraft/recipe/raw_zinc_block.json +++ b/src/generated/resources/data/anvilcraft/recipe/raw_zinc_block.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:raw_zinc" diff --git a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_black_slab.json b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_black_slab.json index 56d8d5d2b..f5dc394c4 100644 --- a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_black_slab.json +++ b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_black_slab.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:reinforced_concrete_black" diff --git a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_black_stair.json b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_black_stair.json index d7c524d60..a9c99b589 100644 --- a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_black_stair.json +++ b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_black_stair.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:reinforced_concrete_black" diff --git a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_black_wall.json b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_black_wall.json index 3c63662f4..06fba55c6 100644 --- a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_black_wall.json +++ b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_black_wall.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:reinforced_concrete_black" diff --git a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_blue_slab.json b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_blue_slab.json index 5e7c4a0db..5c60b3056 100644 --- a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_blue_slab.json +++ b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_blue_slab.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:reinforced_concrete_blue" diff --git a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_blue_stair.json b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_blue_stair.json index 2b6aa6d7d..cfbf94da1 100644 --- a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_blue_stair.json +++ b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_blue_stair.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:reinforced_concrete_blue" diff --git a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_blue_wall.json b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_blue_wall.json index 2544046c4..cb9496e38 100644 --- a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_blue_wall.json +++ b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_blue_wall.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:reinforced_concrete_blue" diff --git a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_brown_slab.json b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_brown_slab.json index 1c2f0816a..6188bf71c 100644 --- a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_brown_slab.json +++ b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_brown_slab.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:reinforced_concrete_brown" diff --git a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_brown_stair.json b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_brown_stair.json index 07fac357c..97e011695 100644 --- a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_brown_stair.json +++ b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_brown_stair.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:reinforced_concrete_brown" diff --git a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_brown_wall.json b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_brown_wall.json index d8005db60..92febed9c 100644 --- a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_brown_wall.json +++ b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_brown_wall.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:reinforced_concrete_brown" diff --git a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_cyan_slab.json b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_cyan_slab.json index 6653ebeed..a02e13d51 100644 --- a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_cyan_slab.json +++ b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_cyan_slab.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:reinforced_concrete_cyan" diff --git a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_cyan_stair.json b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_cyan_stair.json index 853039ed7..ef8a04b8d 100644 --- a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_cyan_stair.json +++ b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_cyan_stair.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:reinforced_concrete_cyan" diff --git a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_cyan_wall.json b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_cyan_wall.json index b7a489ea5..416c96221 100644 --- a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_cyan_wall.json +++ b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_cyan_wall.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:reinforced_concrete_cyan" diff --git a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_gray_slab.json b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_gray_slab.json index f4108b229..314623d6c 100644 --- a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_gray_slab.json +++ b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_gray_slab.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:reinforced_concrete_gray" diff --git a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_gray_stair.json b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_gray_stair.json index 70ac63a9b..ac1a915cb 100644 --- a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_gray_stair.json +++ b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_gray_stair.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:reinforced_concrete_gray" diff --git a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_gray_wall.json b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_gray_wall.json index 3755023f1..10da736dc 100644 --- a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_gray_wall.json +++ b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_gray_wall.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:reinforced_concrete_gray" diff --git a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_green_slab.json b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_green_slab.json index 5de45aea3..3b997c359 100644 --- a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_green_slab.json +++ b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_green_slab.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:reinforced_concrete_green" diff --git a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_green_stair.json b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_green_stair.json index 7e52dd60d..13c8cc059 100644 --- a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_green_stair.json +++ b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_green_stair.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:reinforced_concrete_green" diff --git a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_green_wall.json b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_green_wall.json index 2b74e339a..7158b16bb 100644 --- a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_green_wall.json +++ b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_green_wall.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:reinforced_concrete_green" diff --git a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_light_blue_slab.json b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_light_blue_slab.json index a3c637e0b..08dbe204a 100644 --- a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_light_blue_slab.json +++ b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_light_blue_slab.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:reinforced_concrete_light_blue" diff --git a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_light_blue_stair.json b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_light_blue_stair.json index cd8941172..e34d907d6 100644 --- a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_light_blue_stair.json +++ b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_light_blue_stair.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:reinforced_concrete_light_blue" diff --git a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_light_blue_wall.json b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_light_blue_wall.json index 833080e1f..d4de542f4 100644 --- a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_light_blue_wall.json +++ b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_light_blue_wall.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:reinforced_concrete_light_blue" diff --git a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_light_gray_slab.json b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_light_gray_slab.json index 58ed8977b..3c13030ad 100644 --- a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_light_gray_slab.json +++ b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_light_gray_slab.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:reinforced_concrete_light_gray" diff --git a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_light_gray_stair.json b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_light_gray_stair.json index 59a9c5bfa..b7906b2e4 100644 --- a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_light_gray_stair.json +++ b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_light_gray_stair.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:reinforced_concrete_light_gray" diff --git a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_light_gray_wall.json b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_light_gray_wall.json index 5744734d3..522757291 100644 --- a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_light_gray_wall.json +++ b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_light_gray_wall.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:reinforced_concrete_light_gray" diff --git a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_lime_slab.json b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_lime_slab.json index 281aba7b0..89ad843f5 100644 --- a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_lime_slab.json +++ b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_lime_slab.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:reinforced_concrete_lime" diff --git a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_lime_stair.json b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_lime_stair.json index ca5fe7c30..700b11cbd 100644 --- a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_lime_stair.json +++ b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_lime_stair.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:reinforced_concrete_lime" diff --git a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_lime_wall.json b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_lime_wall.json index b1e1ab483..e2051b092 100644 --- a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_lime_wall.json +++ b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_lime_wall.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:reinforced_concrete_lime" diff --git a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_magenta_slab.json b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_magenta_slab.json index 8d01015dc..756a6042f 100644 --- a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_magenta_slab.json +++ b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_magenta_slab.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:reinforced_concrete_magenta" diff --git a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_magenta_stair.json b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_magenta_stair.json index 3d9e1cbc9..64c083df9 100644 --- a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_magenta_stair.json +++ b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_magenta_stair.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:reinforced_concrete_magenta" diff --git a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_magenta_wall.json b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_magenta_wall.json index 2936c83fb..6ff86d3b7 100644 --- a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_magenta_wall.json +++ b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_magenta_wall.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:reinforced_concrete_magenta" diff --git a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_orange_slab.json b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_orange_slab.json index 315740f06..8c8c7ed3f 100644 --- a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_orange_slab.json +++ b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_orange_slab.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:reinforced_concrete_orange" diff --git a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_orange_stair.json b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_orange_stair.json index fcaa82175..27ea8d835 100644 --- a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_orange_stair.json +++ b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_orange_stair.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:reinforced_concrete_orange" diff --git a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_orange_wall.json b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_orange_wall.json index 453f26c89..847f4e46b 100644 --- a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_orange_wall.json +++ b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_orange_wall.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:reinforced_concrete_orange" diff --git a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_pink_slab.json b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_pink_slab.json index fa420b3ce..586c61d56 100644 --- a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_pink_slab.json +++ b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_pink_slab.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:reinforced_concrete_pink" diff --git a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_pink_stair.json b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_pink_stair.json index ca52a5a32..096d4d66f 100644 --- a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_pink_stair.json +++ b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_pink_stair.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:reinforced_concrete_pink" diff --git a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_pink_wall.json b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_pink_wall.json index 2f1171c1d..95e75a23c 100644 --- a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_pink_wall.json +++ b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_pink_wall.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:reinforced_concrete_pink" diff --git a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_purple_slab.json b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_purple_slab.json index c243af88e..fc9c86a25 100644 --- a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_purple_slab.json +++ b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_purple_slab.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:reinforced_concrete_purple" diff --git a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_purple_stair.json b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_purple_stair.json index 65fe43b74..78329fc0d 100644 --- a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_purple_stair.json +++ b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_purple_stair.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:reinforced_concrete_purple" diff --git a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_purple_wall.json b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_purple_wall.json index 4efc240dc..fae9ce97a 100644 --- a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_purple_wall.json +++ b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_purple_wall.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:reinforced_concrete_purple" diff --git a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_red_slab.json b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_red_slab.json index d7e4ddb84..4e52f1215 100644 --- a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_red_slab.json +++ b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_red_slab.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:reinforced_concrete_red" diff --git a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_red_stair.json b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_red_stair.json index 0a5c16eb6..0ceb6eaff 100644 --- a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_red_stair.json +++ b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_red_stair.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:reinforced_concrete_red" diff --git a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_red_wall.json b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_red_wall.json index af1355905..35e9a3fee 100644 --- a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_red_wall.json +++ b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_red_wall.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:reinforced_concrete_red" diff --git a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_white_slab.json b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_white_slab.json index f1f7f85cd..4fe20df48 100644 --- a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_white_slab.json +++ b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_white_slab.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:reinforced_concrete_white" diff --git a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_white_stair.json b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_white_stair.json index bf227b078..146d4d2ca 100644 --- a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_white_stair.json +++ b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_white_stair.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:reinforced_concrete_white" diff --git a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_white_wall.json b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_white_wall.json index 68cb8b60b..577fd4e69 100644 --- a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_white_wall.json +++ b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_white_wall.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:reinforced_concrete_white" diff --git a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_yellow_slab.json b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_yellow_slab.json index 441529a0d..8656ff7cc 100644 --- a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_yellow_slab.json +++ b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_yellow_slab.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:reinforced_concrete_yellow" diff --git a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_yellow_stair.json b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_yellow_stair.json index 2fecde942..16866694e 100644 --- a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_yellow_stair.json +++ b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_yellow_stair.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:reinforced_concrete_yellow" diff --git a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_yellow_wall.json b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_yellow_wall.json index f3c77ed72..61cd5d8b6 100644 --- a/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_yellow_wall.json +++ b/src/generated/resources/data/anvilcraft/recipe/reinforced_concrete_yellow_wall.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:reinforced_concrete_yellow" diff --git a/src/generated/resources/data/anvilcraft/recipe/resin_block.json b/src/generated/resources/data/anvilcraft/recipe/resin_block.json index 8b44f56fb..ff6577055 100644 --- a/src/generated/resources/data/anvilcraft/recipe/resin_block.json +++ b/src/generated/resources/data/anvilcraft/recipe/resin_block.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:resin" diff --git a/src/generated/resources/data/anvilcraft/recipe/royal_steel_block.json b/src/generated/resources/data/anvilcraft/recipe/royal_steel_block.json index 211304a77..33a144fa9 100644 --- a/src/generated/resources/data/anvilcraft/recipe/royal_steel_block.json +++ b/src/generated/resources/data/anvilcraft/recipe/royal_steel_block.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:royal_steel_ingot" diff --git a/src/generated/resources/data/anvilcraft/recipe/ruby_block.json b/src/generated/resources/data/anvilcraft/recipe/ruby_block.json index eff249eb8..973eb15c9 100644 --- a/src/generated/resources/data/anvilcraft/recipe/ruby_block.json +++ b/src/generated/resources/data/anvilcraft/recipe/ruby_block.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:ruby" diff --git a/src/generated/resources/data/anvilcraft/recipe/sapphire_block.json b/src/generated/resources/data/anvilcraft/recipe/sapphire_block.json index 3aa69648d..2cf661620 100644 --- a/src/generated/resources/data/anvilcraft/recipe/sapphire_block.json +++ b/src/generated/resources/data/anvilcraft/recipe/sapphire_block.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:sapphire" diff --git a/src/generated/resources/data/anvilcraft/recipe/silver_block.json b/src/generated/resources/data/anvilcraft/recipe/silver_block.json index 46aadfaa3..e78cafe75 100644 --- a/src/generated/resources/data/anvilcraft/recipe/silver_block.json +++ b/src/generated/resources/data/anvilcraft/recipe/silver_block.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "tag": "c:ingots/silver" diff --git a/src/generated/resources/data/anvilcraft/recipe/silver_pressure_plate_from_ingots_silver.json b/src/generated/resources/data/anvilcraft/recipe/silver_pressure_plate_from_ingots_silver.json index 1ed36f7cc..9720a57fc 100644 --- a/src/generated/resources/data/anvilcraft/recipe/silver_pressure_plate_from_ingots_silver.json +++ b/src/generated/resources/data/anvilcraft/recipe/silver_pressure_plate_from_ingots_silver.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "redstone", "key": { "A": { "tag": "c:ingots/silver" diff --git a/src/generated/resources/data/anvilcraft/recipe/sliding_rail.json b/src/generated/resources/data/anvilcraft/recipe/sliding_rail.json index dca397235..38f2463b0 100644 --- a/src/generated/resources/data/anvilcraft/recipe/sliding_rail.json +++ b/src/generated/resources/data/anvilcraft/recipe/sliding_rail.json @@ -15,7 +15,7 @@ "BBB" ], "result": { - "count": 1, + "count": 16, "id": "anvilcraft:sliding_rail" } } \ No newline at end of file diff --git a/src/generated/resources/data/anvilcraft/recipe/sliding_rail_stop.json b/src/generated/resources/data/anvilcraft/recipe/sliding_rail_stop.json index f02848157..86f4d7800 100644 --- a/src/generated/resources/data/anvilcraft/recipe/sliding_rail_stop.json +++ b/src/generated/resources/data/anvilcraft/recipe/sliding_rail_stop.json @@ -3,7 +3,7 @@ "category": "misc", "key": { "A": { - "item": "minecraft:blue_ice" + "item": "minecraft:soul_sand" }, "B": { "item": "minecraft:iron_ingot" @@ -15,7 +15,7 @@ "BBB" ], "result": { - "count": 1, + "count": 4, "id": "anvilcraft:sliding_rail_stop" } } \ No newline at end of file diff --git a/src/generated/resources/data/anvilcraft/recipe/smelting_cooking_bread.json b/src/generated/resources/data/anvilcraft/recipe/smelting_cooking_bread.json index 0456a949d..53dca2500 100644 --- a/src/generated/resources/data/anvilcraft/recipe/smelting_cooking_bread.json +++ b/src/generated/resources/data/anvilcraft/recipe/smelting_cooking_bread.json @@ -1,7 +1,7 @@ { "type": "minecraft:smelting", "category": "food", - "cookingtime": 600, + "cookingtime": 200, "experience": 0.35, "ingredient": { "tag": "c:dough" diff --git a/src/generated/resources/data/anvilcraft/recipe/stamping_platform.json b/src/generated/resources/data/anvilcraft/recipe/stamping_platform.json index 640bc326f..73357a489 100644 --- a/src/generated/resources/data/anvilcraft/recipe/stamping_platform.json +++ b/src/generated/resources/data/anvilcraft/recipe/stamping_platform.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "equipment", + "category": "misc", "key": { "A": { "tag": "c:plates/iron" diff --git a/src/generated/resources/data/anvilcraft/recipe/tin_block.json b/src/generated/resources/data/anvilcraft/recipe/tin_block.json index 70c1e8634..796b44915 100644 --- a/src/generated/resources/data/anvilcraft/recipe/tin_block.json +++ b/src/generated/resources/data/anvilcraft/recipe/tin_block.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "tag": "c:ingots/tin" diff --git a/src/generated/resources/data/anvilcraft/recipe/tin_pressure_plate_from_ingots_tin.json b/src/generated/resources/data/anvilcraft/recipe/tin_pressure_plate_from_ingots_tin.json index df78915bc..817fc70be 100644 --- a/src/generated/resources/data/anvilcraft/recipe/tin_pressure_plate_from_ingots_tin.json +++ b/src/generated/resources/data/anvilcraft/recipe/tin_pressure_plate_from_ingots_tin.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "redstone", "key": { "A": { "tag": "c:ingots/tin" diff --git a/src/generated/resources/data/anvilcraft/recipe/titanium_block.json b/src/generated/resources/data/anvilcraft/recipe/titanium_block.json index 6232051bb..e8bd099f9 100644 --- a/src/generated/resources/data/anvilcraft/recipe/titanium_block.json +++ b/src/generated/resources/data/anvilcraft/recipe/titanium_block.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "tag": "c:ingots/titanium" diff --git a/src/generated/resources/data/anvilcraft/recipe/titanium_pressure_plate_from_ingots_titanium.json b/src/generated/resources/data/anvilcraft/recipe/titanium_pressure_plate_from_ingots_titanium.json index 07fe552d8..befa1ec7a 100644 --- a/src/generated/resources/data/anvilcraft/recipe/titanium_pressure_plate_from_ingots_titanium.json +++ b/src/generated/resources/data/anvilcraft/recipe/titanium_pressure_plate_from_ingots_titanium.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "redstone", "key": { "A": { "tag": "c:ingots/titanium" diff --git a/src/generated/resources/data/anvilcraft/recipe/topaz_block.json b/src/generated/resources/data/anvilcraft/recipe/topaz_block.json index 53120a7c4..56b01c9a5 100644 --- a/src/generated/resources/data/anvilcraft/recipe/topaz_block.json +++ b/src/generated/resources/data/anvilcraft/recipe/topaz_block.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:topaz" diff --git a/src/generated/resources/data/anvilcraft/recipe/tungsten_block.json b/src/generated/resources/data/anvilcraft/recipe/tungsten_block.json index 87fc0926f..3a7baebbd 100644 --- a/src/generated/resources/data/anvilcraft/recipe/tungsten_block.json +++ b/src/generated/resources/data/anvilcraft/recipe/tungsten_block.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "tag": "c:ingots/tungsten" diff --git a/src/generated/resources/data/anvilcraft/recipe/tungsten_pressure_plate_from_ingots_tungsten.json b/src/generated/resources/data/anvilcraft/recipe/tungsten_pressure_plate_from_ingots_tungsten.json index 1d5b8b836..05d8756f6 100644 --- a/src/generated/resources/data/anvilcraft/recipe/tungsten_pressure_plate_from_ingots_tungsten.json +++ b/src/generated/resources/data/anvilcraft/recipe/tungsten_pressure_plate_from_ingots_tungsten.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "redstone", "key": { "A": { "tag": "c:ingots/tungsten" diff --git a/src/generated/resources/data/anvilcraft/recipe/uranium_block.json b/src/generated/resources/data/anvilcraft/recipe/uranium_block.json index b0b1d78fd..cf8631f15 100644 --- a/src/generated/resources/data/anvilcraft/recipe/uranium_block.json +++ b/src/generated/resources/data/anvilcraft/recipe/uranium_block.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "tag": "c:ingots/uranium" diff --git a/src/generated/resources/data/anvilcraft/recipe/uranium_pressure_plate_from_ingots_uranium.json b/src/generated/resources/data/anvilcraft/recipe/uranium_pressure_plate_from_ingots_uranium.json index 443260369..10746535b 100644 --- a/src/generated/resources/data/anvilcraft/recipe/uranium_pressure_plate_from_ingots_uranium.json +++ b/src/generated/resources/data/anvilcraft/recipe/uranium_pressure_plate_from_ingots_uranium.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "redstone", "key": { "A": { "tag": "c:ingots/uranium" diff --git a/src/generated/resources/data/anvilcraft/recipe/void_matter_block.json b/src/generated/resources/data/anvilcraft/recipe/void_matter_block.json index 3f53a5d53..7e0aa05a7 100644 --- a/src/generated/resources/data/anvilcraft/recipe/void_matter_block.json +++ b/src/generated/resources/data/anvilcraft/recipe/void_matter_block.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:void_matter" diff --git a/src/generated/resources/data/anvilcraft/recipe/zinc_block.json b/src/generated/resources/data/anvilcraft/recipe/zinc_block.json index b92c68b65..379455d83 100644 --- a/src/generated/resources/data/anvilcraft/recipe/zinc_block.json +++ b/src/generated/resources/data/anvilcraft/recipe/zinc_block.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "tag": "c:ingots/zinc" diff --git a/src/generated/resources/data/anvilcraft/recipe/zinc_pressure_plate_from_ingots_zinc.json b/src/generated/resources/data/anvilcraft/recipe/zinc_pressure_plate_from_ingots_zinc.json index b3476e445..d8014a37a 100644 --- a/src/generated/resources/data/anvilcraft/recipe/zinc_pressure_plate_from_ingots_zinc.json +++ b/src/generated/resources/data/anvilcraft/recipe/zinc_pressure_plate_from_ingots_zinc.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "redstone", "key": { "A": { "tag": "c:ingots/zinc" diff --git a/src/generated/resources/data/minecraft/advancement/recipes/misc/wet_sponge.json b/src/generated/resources/data/minecraft/advancement/recipes/building_blocks/wet_sponge.json similarity index 100% rename from src/generated/resources/data/minecraft/advancement/recipes/misc/wet_sponge.json rename to src/generated/resources/data/minecraft/advancement/recipes/building_blocks/wet_sponge.json diff --git a/src/generated/resources/data/minecraft/advancement/recipes/tools/chipped_anvil.json b/src/generated/resources/data/minecraft/advancement/recipes/misc/chipped_anvil.json similarity index 100% rename from src/generated/resources/data/minecraft/advancement/recipes/tools/chipped_anvil.json rename to src/generated/resources/data/minecraft/advancement/recipes/misc/chipped_anvil.json diff --git a/src/generated/resources/data/minecraft/advancement/recipes/tools/damaged_anvil.json b/src/generated/resources/data/minecraft/advancement/recipes/misc/damaged_anvil.json similarity index 100% rename from src/generated/resources/data/minecraft/advancement/recipes/tools/damaged_anvil.json rename to src/generated/resources/data/minecraft/advancement/recipes/misc/damaged_anvil.json diff --git a/src/generated/resources/data/minecraft/recipe/chipped_anvil.json b/src/generated/resources/data/minecraft/recipe/chipped_anvil.json index dfa673dbf..b76348b1c 100644 --- a/src/generated/resources/data/minecraft/recipe/chipped_anvil.json +++ b/src/generated/resources/data/minecraft/recipe/chipped_anvil.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "equipment", + "category": "misc", "key": { "A": { "item": "minecraft:iron_block" diff --git a/src/generated/resources/data/minecraft/recipe/damaged_anvil.json b/src/generated/resources/data/minecraft/recipe/damaged_anvil.json index 1ae8a167e..1eaadb862 100644 --- a/src/generated/resources/data/minecraft/recipe/damaged_anvil.json +++ b/src/generated/resources/data/minecraft/recipe/damaged_anvil.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "equipment", + "category": "misc", "key": { "A": { "item": "minecraft:iron_block" diff --git a/src/generated/resources/data/minecraft/recipe/wet_sponge.json b/src/generated/resources/data/minecraft/recipe/wet_sponge.json index bb4b2422e..7f01eecda 100644 --- a/src/generated/resources/data/minecraft/recipe/wet_sponge.json +++ b/src/generated/resources/data/minecraft/recipe/wet_sponge.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "misc", + "category": "building", "key": { "A": { "item": "anvilcraft:sponge_gemmule" diff --git a/src/main/java/dev/dubhe/anvilcraft/data/recipe/VanillaRecipesLoader.java b/src/main/java/dev/dubhe/anvilcraft/data/recipe/VanillaRecipesLoader.java index 6acec8a55..d2affb9de 100644 --- a/src/main/java/dev/dubhe/anvilcraft/data/recipe/VanillaRecipesLoader.java +++ b/src/main/java/dev/dubhe/anvilcraft/data/recipe/VanillaRecipesLoader.java @@ -15,7 +15,7 @@ public class VanillaRecipesLoader { public static void init(RegistrateRecipeProvider provider) { - ShapedRecipeBuilder.shaped(RecipeCategory.TOOLS, Items.CHIPPED_ANVIL) + ShapedRecipeBuilder.shaped(RecipeCategory.MISC, Items.CHIPPED_ANVIL) .pattern("AAB") .pattern(" B ") .pattern("BBB") @@ -24,7 +24,7 @@ public static void init(RegistrateRecipeProvider provider) { .unlockedBy(AnvilCraftDatagen.hasItem(Items.IRON_BLOCK), AnvilCraftDatagen.has(Items.IRON_BLOCK)) .unlockedBy(AnvilCraftDatagen.hasItem(Items.IRON_INGOT), AnvilCraftDatagen.has(Items.IRON_INGOT)) .save(provider); - ShapedRecipeBuilder.shaped(RecipeCategory.TOOLS, Items.DAMAGED_ANVIL) + ShapedRecipeBuilder.shaped(RecipeCategory.MISC, Items.DAMAGED_ANVIL) .pattern("BAB") .pattern(" B ") .pattern("BBB") @@ -49,13 +49,13 @@ public static void init(RegistrateRecipeProvider provider) { .define('B', ModItems.SAPPHIRE) .unlockedBy("hasitem", AnvilCraftDatagen.has(ModItems.SEA_HEART_SHELL)) .save(provider); - ShapedRecipeBuilder.shaped(RecipeCategory.MISC, Items.WET_SPONGE) + ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, Items.WET_SPONGE) .pattern("AA") .pattern("AA") .define('A', ModItems.SPONGE_GEMMULE) .unlockedBy("hasitem", AnvilCraftDatagen.has(ModItems.SPONGE_GEMMULE)) .save(provider); - ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, Items.IRON_BLOCK, 9) + ShapelessRecipeBuilder.shapeless(RecipeCategory.BUILDING_BLOCKS, Items.IRON_BLOCK, 9) .requires(ModBlocks.HEAVY_IRON_BLOCK) .unlockedBy("hasitem", RegistrateRecipeProvider.has(ModBlocks.HEAVY_IRON_BLOCK)) .save(provider, AnvilCraft.of("iron_block_from_heavy_iron_block")); @@ -69,7 +69,7 @@ public static void init(RegistrateRecipeProvider provider) { .unlockedBy(AnvilCraftDatagen.hasItem(ModItems.DOUGH.get()), AnvilCraftDatagen.has(ModItems.DOUGH)) .save(provider, AnvilCraft.of("smoking_bread")); SimpleCookingRecipeBuilder.smelting(Ingredient.of(ModItemTags.DOUGH), RecipeCategory.FOOD, - Items.BREAD, 0.35f, 600) + Items.BREAD, 0.35f, 200) .unlockedBy(AnvilCraftDatagen.hasItem(ModItems.DOUGH.get()), AnvilCraftDatagen.has(ModItems.DOUGH)) .save(provider, AnvilCraft.of("smelting_cooking_bread")); } diff --git a/src/main/java/dev/dubhe/anvilcraft/init/ModBlocks.java b/src/main/java/dev/dubhe/anvilcraft/init/ModBlocks.java index 32c8328f4..7db5e9ef3 100644 --- a/src/main/java/dev/dubhe/anvilcraft/init/ModBlocks.java +++ b/src/main/java/dev/dubhe/anvilcraft/init/ModBlocks.java @@ -184,7 +184,7 @@ public class ModBlocks { ModBlockTags.MAGNET, BlockTags.NEEDS_STONE_TOOL) .recipe((ctx, provider) -> { - ShapedRecipeBuilder.shaped(RecipeCategory.TOOLS, ctx.get()) + ShapedRecipeBuilder.shaped(RecipeCategory.REDSTONE, ctx.get()) .pattern("AAA") .pattern("AAA") .pattern("AAA") @@ -203,7 +203,7 @@ public class ModBlocks { ModBlockTags.MAGNET, BlockTags.NEEDS_STONE_TOOL) .recipe((ctx, provider) -> { - ShapedRecipeBuilder.shaped(RecipeCategory.TOOLS, ctx.get()) + ShapedRecipeBuilder.shaped(RecipeCategory.REDSTONE, ctx.get()) .pattern("AAA") .pattern("A A") .pattern("AAA") @@ -223,7 +223,7 @@ public class ModBlocks { ModBlockTags.MAGNET, BlockTags.NEEDS_STONE_TOOL) .recipe((ctx, provider) -> { - ShapedRecipeBuilder.shaped(RecipeCategory.TOOLS, ctx.get()) + ShapedRecipeBuilder.shaped(RecipeCategory.REDSTONE, ctx.get()) .pattern("AAA") .pattern("ABA") .pattern("AAA") @@ -243,7 +243,7 @@ public class ModBlocks { .simpleItem() .tag(BlockTags.MINEABLE_WITH_PICKAXE) .recipe((ctx, provider) -> { - ShapedRecipeBuilder.shaped(RecipeCategory.TOOLS, ctx.get()) + ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get()) .pattern("BAB") .pattern("B B") .pattern("B B") @@ -299,7 +299,7 @@ public class ModBlocks { Ingredient.of(ModItems.ROYAL_STEEL_UPGRADE_SMITHING_TEMPLATE), Ingredient.of(Items.ANVIL), Ingredient.of(ModBlocks.ROYAL_STEEL_BLOCK), - RecipeCategory.TOOLS, + RecipeCategory.MISC, ctx.get().asItem()) .unlocks("hasitem", AnvilCraftDatagen.has(ModBlocks.ROYAL_STEEL_BLOCK)) .save(provider, AnvilCraft.of("smithing/royal_anvil")); @@ -321,7 +321,7 @@ public class ModBlocks { Ingredient.of(ModItems.ROYAL_STEEL_UPGRADE_SMITHING_TEMPLATE), Ingredient.of(Items.GRINDSTONE), Ingredient.of(ModBlocks.ROYAL_STEEL_BLOCK), - RecipeCategory.TOOLS, + RecipeCategory.MISC, ctx.get().asItem()) .unlocks("hasitem", AnvilCraftDatagen.has(ModBlocks.ROYAL_STEEL_BLOCK)) .save(provider, AnvilCraft.of("smithing/royal_grindstone")); @@ -341,7 +341,7 @@ public class ModBlocks { Ingredient.of(ModItems.ROYAL_STEEL_UPGRADE_SMITHING_TEMPLATE), Ingredient.of(Items.SMITHING_TABLE), Ingredient.of(ModBlocks.ROYAL_STEEL_BLOCK), - RecipeCategory.TOOLS, + RecipeCategory.MISC, ctx.get().asItem()) .unlocks("hasitem", AnvilCraftDatagen.has(ModBlocks.ROYAL_STEEL_BLOCK)) .save(provider, AnvilCraft.of("smithing/royal_smithing_table")); @@ -362,7 +362,7 @@ public class ModBlocks { Ingredient.of(ModItems.EMBER_METAL_UPGRADE_SMITHING_TEMPLATE), Ingredient.of(ModBlocks.ROYAL_ANVIL), Ingredient.of(ModBlocks.EMBER_METAL_BLOCK), - RecipeCategory.TOOLS, + RecipeCategory.MISC, ctx.get().asItem()) .unlocks("hasitem", AnvilCraftDatagen.has(ModBlocks.EMBER_METAL_BLOCK)) .save(provider, AnvilCraft.of("smithing/ember_anvil")); @@ -390,7 +390,7 @@ public class ModBlocks { Ingredient.of(ModItems.EMBER_METAL_UPGRADE_SMITHING_TEMPLATE), Ingredient.of(ModBlocks.ROYAL_GRINDSTONE), Ingredient.of(ModBlocks.EMBER_METAL_BLOCK), - RecipeCategory.TOOLS, + RecipeCategory.MISC, ctx.get().asItem()) .unlocks("hasitem", AnvilCraftDatagen.has(ModBlocks.EMBER_METAL_BLOCK)) .save(provider, AnvilCraft.of("smithing/ember_grindstone")); @@ -415,7 +415,7 @@ public class ModBlocks { Ingredient.of(ModItems.EMBER_METAL_UPGRADE_SMITHING_TEMPLATE), Ingredient.of(ModBlocks.ROYAL_SMITHING_TABLE), Ingredient.of(ModBlocks.EMBER_METAL_BLOCK), - RecipeCategory.TOOLS, + RecipeCategory.MISC, ctx.get().asItem()) .unlocks("hasitem", AnvilCraftDatagen.has(ModBlocks.EMBER_METAL_BLOCK)) .save(provider, AnvilCraft.of("smithing/ember_smithing_table")); @@ -455,7 +455,8 @@ public class ModBlocks { .simpleItem() .tag(BlockTags.MINEABLE_WITH_PICKAXE) .recipe((ctx, provider) -> { - ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get()) + ShapedRecipeBuilder.shaped(RecipeCategory.MISC + , ctx.get()) .pattern("ABA") .pattern("BCB") .pattern("BBB") @@ -487,7 +488,8 @@ public class ModBlocks { .build() .tag(BlockTags.MINEABLE_WITH_PICKAXE) .recipe((ctx, provider) -> { - ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get()) + ShapedRecipeBuilder.shaped(RecipeCategory.MISC + , ctx.get()) .pattern("A") .pattern("B") .pattern("C") @@ -522,7 +524,8 @@ public class ModBlocks { .build() .tag(BlockTags.MINEABLE_WITH_PICKAXE) .recipe((ctx, provider) -> { - ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get()) + ShapedRecipeBuilder.shaped(RecipeCategory.MISC + , ctx.get()) .pattern("A") .pattern("B") .pattern("C") @@ -555,7 +558,8 @@ public class ModBlocks { .build() .tag(BlockTags.MINEABLE_WITH_PICKAXE) .recipe((ctx, provider) -> { - ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get()) + ShapedRecipeBuilder.shaped(RecipeCategory.MISC + , ctx.get()) .pattern("ABA") .pattern("ACA") .pattern("ADA") @@ -588,7 +592,8 @@ public class ModBlocks { .simpleItem() .tag(BlockTags.MINEABLE_WITH_PICKAXE) .recipe((ctx, provider) -> { - ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get(), 8) + ShapedRecipeBuilder.shaped(RecipeCategory.MISC + , ctx.get(), 8) .pattern("A") .pattern("B") .pattern("A") @@ -838,7 +843,7 @@ public class ModBlocks { .simpleItem() .tag(BlockTags.MINEABLE_WITH_PICKAXE) .recipe((ctx, provider) -> { - ShapedRecipeBuilder.shaped(RecipeCategory.TOOLS, ctx.get()) + ShapedRecipeBuilder.shaped(RecipeCategory.REDSTONE, ctx.get()) .pattern("ABA") .pattern("ADA") .pattern("AEA") @@ -995,7 +1000,7 @@ public class ModBlocks { .blockstate((ctx, provider) -> { }) .recipe((ctx, provider) -> { - ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get()) + ShapedRecipeBuilder.shaped(RecipeCategory.REDSTONE, ctx.get()) .pattern("AAA") .pattern("DCB") .pattern("AAA") @@ -1017,7 +1022,7 @@ public class ModBlocks { .blockstate((ctx, provider) -> { }) .recipe((ctx, provider) -> { - ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get()) + ShapedRecipeBuilder.shaped(RecipeCategory.REDSTONE, ctx.get()) .pattern("DA ") .pattern("CBA") .pattern("DA ") @@ -1157,7 +1162,7 @@ public class ModBlocks { context.get(), DangerUtil.genConfiguredModel("block/impact_pile").get())) .recipe((ctx, provider) -> { - ShapedRecipeBuilder.shaped(RecipeCategory.TOOLS, ctx.get()) + ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get()) .pattern(" A ") .pattern(" B ") .pattern(" B ") @@ -1288,7 +1293,7 @@ public class ModBlocks { .build() .tag(BlockTags.MINEABLE_WITH_PICKAXE) .recipe((ctx, provider) -> { - ShapedRecipeBuilder.shaped(RecipeCategory.TOOLS, ModBlocks.CHUTE) + ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ModBlocks.CHUTE) .pattern("A A") .pattern("ABA") .pattern(" A ") @@ -1309,7 +1314,7 @@ public class ModBlocks { .build() .tag(BlockTags.MINEABLE_WITH_PICKAXE) .recipe((ctx, provider) -> { - ShapedRecipeBuilder.shaped(RecipeCategory.TOOLS, ctx.get()) + ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get()) .pattern(" A ") .pattern("ABA") .pattern("A A") @@ -1379,7 +1384,7 @@ public class ModBlocks { .model((ctx, provider) -> provider.blockItem(ctx)) .build() .recipe((ctx, provider) -> { - ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get(), 1) + ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get(), 16) .pattern("A A") .pattern("BAB") .pattern("BBB") @@ -1406,11 +1411,11 @@ public class ModBlocks { .model((ctx, provider) -> provider.blockItem(ctx)) .build() .recipe((ctx, provider) -> { - ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get(), 1) + ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get(), 4) .pattern("A A") .pattern("BAB") .pattern("BBB") - .define('A', Blocks.BLUE_ICE) + .define('A', Blocks.SOUL_SAND) .define('B', Items.IRON_INGOT) .unlockedBy(AnvilCraftDatagen.hasItem(Blocks.BLUE_ICE), AnvilCraftDatagen.has(Blocks.BLUE_ICE)) .save(provider); @@ -1431,7 +1436,7 @@ public class ModBlocks { BlockTags.BEACON_BASE_BLOCKS, ModBlockTags.OVERSEER_BASE) .recipe((ctx, provider) -> { - ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get()) + ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, ctx.get()) .pattern("AAA") .pattern("AAA") .pattern("AAA") @@ -1468,7 +1473,7 @@ public class ModBlocks { .properties(p -> p.strength(5.0f, 1200f)) .simpleItem() .recipe((ctx, provider) -> { - ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get(), 4) + ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, ctx.get(), 4) .pattern("AA") .pattern("AA") .define('A', ModBlocks.ROYAL_STEEL_BLOCK) @@ -1528,7 +1533,7 @@ public class ModBlocks { .simpleItem() .loot((tables, block) -> tables.add(block, tables.createSlabItemTable(block))) .recipe((ctx, provider) -> { - ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get(), 6) + ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, ctx.get(), 6) .pattern("AAA") .define('A', ModBlocks.CUT_ROYAL_STEEL_BLOCK) .unlockedBy( @@ -1566,7 +1571,7 @@ public class ModBlocks { (ctx, provider) -> provider.stairsBlock(ctx.get(), AnvilCraft.of("block/cut_royal_steel_block"))) .simpleItem() .recipe((ctx, provider) -> { - ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get(), 4) + ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, ctx.get(), 4) .pattern("A ") .pattern("AA ") .pattern("AAA") @@ -1609,7 +1614,7 @@ public class ModBlocks { .initialProperties(() -> new Item.Properties().fireResistant()) .build() .recipe((ctx, provider) -> { - ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get()) + ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, ctx.get()) .pattern("AAA") .pattern("AAA") .pattern("AAA") @@ -1637,7 +1642,7 @@ public class ModBlocks { .initialProperties(() -> new Item.Properties().fireResistant()) .build() .recipe((ctx, provider) -> { - ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get(), 4) + ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, ctx.get(), 4) .pattern("AA") .pattern("AA") .define('A', ModBlocks.EMBER_METAL_BLOCK) @@ -1702,7 +1707,7 @@ public class ModBlocks { .build() .loot((tables, block) -> tables.add(block, tables.createSlabItemTable(block))) .recipe((ctx, provider) -> { - ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get(), 6) + ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, ctx.get(), 6) .pattern("AAA") .define('A', ModBlocks.CUT_EMBER_METAL_BLOCK) .unlockedBy( @@ -1745,7 +1750,7 @@ public class ModBlocks { .initialProperties(() -> new Item.Properties().fireResistant()) .build() .recipe((ctx, provider) -> { - ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get(), 4) + ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, ctx.get(), 4) .pattern("A ") .pattern("AA ") .pattern("AAA") @@ -1783,7 +1788,7 @@ public class ModBlocks { .tag(BlockTags.MINEABLE_WITH_PICKAXE, BlockTags.NEEDS_IRON_TOOL) .recipe((ctx, provider) -> { - ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get()) + ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, ctx.get()) .pattern("AAA") .pattern("AAA") .pattern("AAA") @@ -2051,7 +2056,7 @@ public class ModBlocks { BlockTags.NEEDS_IRON_TOOL, BlockTags.BEACON_BASE_BLOCKS) .recipe((ctx, provider) -> { - ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get()) + ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, ctx.get()) .pattern("AAA") .pattern("AAA") .pattern("AAA") @@ -2070,7 +2075,7 @@ public class ModBlocks { BlockTags.BEACON_BASE_BLOCKS, ModBlockTags.STORAGE_BLOCKS_ZINC) .recipe((ctx, provider) -> { - ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get()) + ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, ctx.get()) .pattern("AAA") .pattern("AAA") .pattern("AAA") @@ -2089,7 +2094,7 @@ public class ModBlocks { BlockTags.BEACON_BASE_BLOCKS, ModBlockTags.STORAGE_BLOCKS_TIN) .recipe((ctx, provider) -> { - ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get()) + ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, ctx.get()) .pattern("AAA") .pattern("AAA") .pattern("AAA") @@ -2108,7 +2113,7 @@ public class ModBlocks { BlockTags.BEACON_BASE_BLOCKS, ModBlockTags.STORAGE_BLOCKS_TITANIUM) .recipe((ctx, provider) -> { - ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get()) + ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, ctx.get()) .pattern("AAA") .pattern("AAA") .pattern("AAA") @@ -2129,7 +2134,7 @@ public class ModBlocks { BlockTags.BEACON_BASE_BLOCKS, ModBlockTags.STORAGE_BLOCKS_TUNGSTEN) .recipe((ctx, provider) -> { - ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get()) + ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, ctx.get()) .pattern("AAA") .pattern("AAA") .pattern("AAA") @@ -2148,7 +2153,7 @@ public class ModBlocks { BlockTags.BEACON_BASE_BLOCKS, ModBlockTags.STORAGE_BLOCKS_LEAD) .recipe((ctx, provider) -> { - ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get()) + ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, ctx.get()) .pattern("AAA") .pattern("AAA") .pattern("AAA") @@ -2167,7 +2172,7 @@ public class ModBlocks { BlockTags.BEACON_BASE_BLOCKS, ModBlockTags.STORAGE_BLOCKS_SILVER) .recipe((ctx, provider) -> { - ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get()) + ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, ctx.get()) .pattern("AAA") .pattern("AAA") .pattern("AAA") @@ -2186,7 +2191,7 @@ public class ModBlocks { BlockTags.BEACON_BASE_BLOCKS, ModBlockTags.STORAGE_BLOCKS_URANIUM) .recipe((ctx, provider) -> { - ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get()) + ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, ctx.get()) .pattern("AAA") .pattern("AAA") .pattern("AAA") @@ -2205,7 +2210,7 @@ public class ModBlocks { BlockTags.BEACON_BASE_BLOCKS, ModBlockTags.STORAGE_BLOCKS_BRONZE) .recipe((ctx, provider) -> { - ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get()) + ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, ctx.get()) .pattern("AAA") .pattern("AAA") .pattern("AAA") @@ -2224,7 +2229,7 @@ public class ModBlocks { BlockTags.BEACON_BASE_BLOCKS, ModBlockTags.STORAGE_BLOCKS_BRASS) .recipe((ctx, provider) -> { - ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get()) + ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, ctx.get()) .pattern("AAA") .pattern("AAA") .pattern("AAA") @@ -2244,7 +2249,7 @@ public class ModBlocks { BlockTags.NEEDS_IRON_TOOL, BlockTags.BEACON_BASE_BLOCKS) .recipe((ctx, provider) -> { - ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get()) + ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, ctx.get()) .pattern("AAA") .pattern("AAA") .pattern("AAA") @@ -2261,7 +2266,7 @@ public class ModBlocks { BlockTags.NEEDS_IRON_TOOL, BlockTags.BEACON_BASE_BLOCKS) .recipe((ctx, provider) -> { - ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get()) + ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, ctx.get()) .pattern("AAA") .pattern("AAA") .pattern("AAA") @@ -2278,7 +2283,7 @@ public class ModBlocks { BlockTags.NEEDS_IRON_TOOL, BlockTags.BEACON_BASE_BLOCKS) .recipe((ctx, provider) -> { - ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get()) + ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, ctx.get()) .pattern("AAA") .pattern("AAA") .pattern("AAA") @@ -2296,7 +2301,7 @@ public class ModBlocks { .item(ResinBlockItem::new) .build() .recipe((ctx, provider) -> { - ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get()) + ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, ctx.get()) .pattern("AAA") .pattern("AAA") .pattern("AAA") @@ -2315,7 +2320,7 @@ public class ModBlocks { .simpleItem() .tag(BlockTags.MINEABLE_WITH_PICKAXE) .recipe((ctx, provider) -> { - ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get()) + ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, ctx.get()) .pattern("AAA") .pattern("AAA") .pattern("AAA") @@ -2617,20 +2622,23 @@ public class ModBlocks { public static final BlockEntry RAW_ZINC = REGISTRATE .block("raw_zinc_block", Block::new) .initialProperties(() -> Blocks.RAW_IRON_BLOCK) - .recipe((ctx, provider) -> ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get()) + .recipe((ctx, provider) -> ShapedRecipeBuilder.shaped( + RecipeCategory.BUILDING_BLOCKS, ctx.get()) .pattern("AAA") .pattern("AAA") .pattern("AAA") .define('A', ModItems.RAW_ZINC) .unlockedBy(AnvilCraftDatagen.hasItem(ModItems.RAW_ZINC), AnvilCraftDatagen.has(ModItems.RAW_ZINC)) - .save(provider)) + .save(provider) + ) .simpleItem() .tag(BlockTags.MINEABLE_WITH_PICKAXE, ModBlockTags.STORAGE_BLOCKS_RAW_ZINC) .register(); public static final BlockEntry RAW_TIN = REGISTRATE .block("raw_tin_block", Block::new) .initialProperties(() -> Blocks.RAW_IRON_BLOCK) - .recipe((ctx, provider) -> ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get()) + .recipe((ctx, provider) -> ShapedRecipeBuilder.shaped( + RecipeCategory.BUILDING_BLOCKS, ctx.get()) .pattern("AAA") .pattern("AAA") .pattern("AAA") @@ -2643,7 +2651,8 @@ public class ModBlocks { public static final BlockEntry RAW_TITANIUM = REGISTRATE .block("raw_titanium_block", Block::new) .initialProperties(() -> Blocks.RAW_IRON_BLOCK) - .recipe((ctx, provider) -> ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get()) + .recipe((ctx, provider) -> ShapedRecipeBuilder.shaped( + RecipeCategory.BUILDING_BLOCKS, ctx.get()) .pattern("AAA") .pattern("AAA") .pattern("AAA") @@ -2658,7 +2667,8 @@ public class ModBlocks { public static final BlockEntry RAW_TUNGSTEN = REGISTRATE .block("raw_tungsten_block", Block::new) .initialProperties(() -> Blocks.RAW_IRON_BLOCK) - .recipe((ctx, provider) -> ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get()) + .recipe((ctx, provider) -> ShapedRecipeBuilder.shaped( + RecipeCategory.BUILDING_BLOCKS, ctx.get()) .pattern("AAA") .pattern("AAA") .pattern("AAA") @@ -2675,7 +2685,8 @@ public class ModBlocks { public static final BlockEntry RAW_LEAD = REGISTRATE .block("raw_lead_block", Block::new) .initialProperties(() -> Blocks.RAW_IRON_BLOCK) - .recipe((ctx, provider) -> ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get()) + .recipe((ctx, provider) -> ShapedRecipeBuilder.shaped( + RecipeCategory.BUILDING_BLOCKS, ctx.get()) .pattern("AAA") .pattern("AAA") .pattern("AAA") @@ -2688,7 +2699,8 @@ public class ModBlocks { public static final BlockEntry RAW_SILVER = REGISTRATE .block("raw_silver_block", Block::new) .initialProperties(() -> Blocks.RAW_IRON_BLOCK) - .recipe((ctx, provider) -> ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get()) + .recipe((ctx, provider) -> ShapedRecipeBuilder.shaped( + RecipeCategory.BUILDING_BLOCKS, ctx.get()) .pattern("AAA") .pattern("AAA") .pattern("AAA") @@ -2702,7 +2714,8 @@ public class ModBlocks { public static final BlockEntry RAW_URANIUM = REGISTRATE .block("raw_uranium_block", Block::new) .initialProperties(() -> Blocks.RAW_IRON_BLOCK) - .recipe((ctx, provider) -> ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get()) + .recipe((ctx, provider) -> ShapedRecipeBuilder.shaped( + RecipeCategory.BUILDING_BLOCKS, ctx.get()) .pattern("AAA") .pattern("AAA") .pattern("AAA") @@ -2854,7 +2867,8 @@ public class ModBlocks { .blockstate((context, provider) -> provider.simpleBlock( context.get(), DangerUtil.genConfiguredModel("block/void_matter_block").get())) - .recipe((ctx, provider) -> ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get()) + .recipe((ctx, provider) -> + ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, ctx.get()) .pattern("AAA") .pattern("AAA") .pattern("AAA") @@ -2875,7 +2889,8 @@ public class ModBlocks { .block("earth_core_shard_block", Block::new) .initialProperties(() -> Blocks.DIAMOND_BLOCK) .properties(properties -> properties.explosionResistance(1200)) - .recipe((ctx, provider) -> ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get()) + .recipe((ctx, provider) -> + ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, ctx.get()) .pattern("AAA") .pattern("AAA") .pattern("AAA") @@ -2906,7 +2921,7 @@ public class ModBlocks { .initialProperties(Item.Properties::new) .build() .recipe((ctx, provider) -> { - ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get()) + ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, ctx.get()) .pattern("AAA") .pattern("AAA") .pattern("AAA") @@ -3055,7 +3070,7 @@ private static Object2ObjectMap> registerReinforced .loot((tables, block) -> tables.add(block, tables.createSlabItemTable(block))) .tag(BlockTags.MINEABLE_WITH_PICKAXE) .recipe((ctx, provider) -> { - ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get(), 6) + ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, ctx.get(), 6) .pattern("AAA") .define('A', parent) .unlockedBy(AnvilCraftDatagen.hasItem(parent.asItem()), AnvilCraftDatagen.has(parent)) @@ -3095,7 +3110,7 @@ private static Object2ObjectMap> registerReinforce provider.stairsBlock(ctx.get(), AnvilCraft.of("block/reinforced_concrete_" + color))) .tag(BlockTags.MINEABLE_WITH_PICKAXE) .recipe((ctx, provider) -> { - ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get(), 4) + ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, ctx.get(), 4) .pattern("A ") .pattern("AA ") .pattern("AAA") @@ -3131,7 +3146,7 @@ private static Object2ObjectMap> registerReinforced provider.wallBlock(ctx.get(), AnvilCraft.of("block/reinforced_concrete_" + color + "_wall"))) .tag(BlockTags.MINEABLE_WITH_PICKAXE, BlockTags.WALLS) .recipe((ctx, provider) -> { - ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get(), 4) + ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, ctx.get(), 4) .pattern("AAA") .pattern("AAA") .define('A', parent) @@ -3233,7 +3248,7 @@ private static BlockEntry registerCementCauldron(Color colo .recipe((ctx, provider) -> { for (Item ingredient : ingredients) { ResourceLocation location1 = BuiltInRegistries.ITEM.getKey(ingredient); - ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get(), 1) + ShapedRecipeBuilder.shaped(RecipeCategory.REDSTONE, ctx.get(), 1) .pattern("AA") .define('A', ingredient) .unlockedBy(AnvilCraftDatagen.hasItem(ingredient), AnvilCraftDatagen.has(ingredient)) @@ -3273,7 +3288,7 @@ private static BlockEntry registerCementCauldron(Color colo .build() .recipe((ctx, provider) -> { for (TagKey ingredient : ingredients) { - ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get(), 1) + ShapedRecipeBuilder.shaped(RecipeCategory.REDSTONE, ctx.get(), 1) .pattern("AA") .define('A', ingredient) .unlockedBy(AnvilCraftDatagen.hasItem(ingredient), AnvilCraftDatagen.has(ingredient)) diff --git a/src/main/java/dev/dubhe/anvilcraft/init/ModItems.java b/src/main/java/dev/dubhe/anvilcraft/init/ModItems.java index a335aa11c..e5595f6a5 100644 --- a/src/main/java/dev/dubhe/anvilcraft/init/ModItems.java +++ b/src/main/java/dev/dubhe/anvilcraft/init/ModItems.java @@ -334,7 +334,8 @@ public class ModItems { .tag(ItemTags.MACE_ENCHANTABLE) .model((ctx, provider) -> { }) - .recipe((ctx, provider) -> ShapedRecipeBuilder.shaped(RecipeCategory.TOOLS, ctx.get()) + .recipe((ctx, provider) -> ShapedRecipeBuilder.shaped( + RecipeCategory.TOOLS, ctx.get()) .pattern("A") .pattern("B") .pattern("C") @@ -395,7 +396,8 @@ public class ModItems { public static final ItemEntry DISK = REGISTRATE .item("disk", DiskItem::new) .properties(p -> p.stacksTo(1)) - .recipe((ctx, provider) -> ShapedRecipeBuilder.shaped(RecipeCategory.TOOLS, ctx.get()) + .recipe((ctx, provider) -> ShapedRecipeBuilder.shaped( + RecipeCategory.TOOLS, ctx.get()) .pattern("ABA") .pattern("ACA") .pattern("AAA") @@ -448,7 +450,8 @@ public class ModItems { public static final ItemEntry CHOCOLATE = REGISTRATE .item("chocolate", properties -> new Item(properties.food(ModFoods.CHOCOLATE))) .tag(Tags.Items.FOODS) - .recipe((ctx, provider) -> ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get()) + .recipe((ctx, provider) -> ShapedRecipeBuilder.shaped( + RecipeCategory.FOOD, ctx.get()) .pattern("ABA") .pattern("CDC") .pattern("ABA") @@ -465,7 +468,8 @@ public class ModItems { public static final ItemEntry CHOCOLATE_BLACK = REGISTRATE .item("chocolate_black", p -> new Item(p.food(ModFoods.CHOCOLATE_BLACK))) .tag(Tags.Items.FOODS) - .recipe((ctx, provider) -> ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get()) + .recipe((ctx, provider) -> ShapedRecipeBuilder.shaped( + RecipeCategory.FOOD, ctx.get()) .pattern("AAA") .pattern("BCB") .pattern("AAA") @@ -480,7 +484,8 @@ public class ModItems { public static final ItemEntry CHOCOLATE_WHITE = REGISTRATE .item("chocolate_white", p -> new Item(p.food(ModFoods.CHOCOLATE_WHITE))) .tag(Tags.Items.FOODS) - .recipe((ctx, provider) -> ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get()) + .recipe((ctx, provider) -> ShapedRecipeBuilder.shaped( + RecipeCategory.FOOD, ctx.get()) .pattern("AAA") .pattern("BCB") .pattern("AAA") @@ -495,7 +500,8 @@ public class ModItems { public static final ItemEntry CREAMY_BREAD_ROLL = REGISTRATE .item("creamy_bread_roll", p -> new Item(p.food(ModFoods.CREAMY_BREAD_ROLL))) .tag(Tags.Items.FOODS) - .recipe((ctx, provider) -> ShapelessRecipeBuilder.shapeless(RecipeCategory.FOOD, ctx.get()) + .recipe((ctx, provider) -> ShapelessRecipeBuilder.shapeless( + RecipeCategory.FOOD, ctx.get()) .requires(Items.BREAD) .requires(Items.SUGAR) .requires(ModItems.CREAM) @@ -551,11 +557,11 @@ public class ModItems { public static final ItemEntry MAGNET_INGOT = REGISTRATE .item("magnet_ingot", Item::new) .recipe((ctx, provider) -> { - ShapelessRecipeBuilder.shapeless(RecipeCategory.FOOD, ctx.get(), 9) + ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, ctx.get(), 9) .requires(ModBlocks.MAGNET_BLOCK) .unlockedBy("hasitem", RegistrateRecipeProvider.has(ModBlocks.MAGNET_BLOCK)) .save(provider, AnvilCraft.of("magnet_ingot_9")); - ShapelessRecipeBuilder.shapeless(RecipeCategory.FOOD, ctx.get(), 8) + ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, ctx.get(), 8) .requires(ModBlocks.HOLLOW_MAGNET_BLOCK) .unlockedBy("hasitem", RegistrateRecipeProvider.has(ModBlocks.HOLLOW_MAGNET_BLOCK)) .save(provider, AnvilCraft.of("magnet_ingot_8")); From 8294116f6cf6c0c34f191b7504501441b1a1367c Mon Sep 17 00:00:00 2001 From: YocyCraft Date: Wed, 1 Jan 2025 16:55:00 +0800 Subject: [PATCH 11/14] Grouped recipe with same result --- ...ot_9.json => magnet_ingot_from_block.json} | 4 +- ...on => magnet_ingot_from_hollow_block.json} | 4 +- .../recipe/blasting/lead_ingot.json | 1 + .../recipe/blasting/lead_ingot_from_ore.json | 1 + .../recipe/blasting/silver_ingot.json | 1 + .../blasting/silver_ingot_from_ore.json | 1 + .../anvilcraft/recipe/blasting/tin_ingot.json | 1 + .../recipe/blasting/tin_ingot_from_ore.json | 1 + .../recipe/blasting/titanium_ingot.json | 1 + .../blasting/titanium_ingot_from_ore.json | 1 + .../recipe/blasting/tungsten_ingot.json | 1 + .../blasting/tungsten_ingot_from_ore.json | 1 + .../recipe/blasting/uranium_ingot.json | 1 + .../blasting/uranium_ingot_from_ore.json | 1 + .../recipe/blasting/zinc_ingot.json | 1 + .../recipe/blasting/zinc_ingot_from_ore.json | 1 + .../data/anvilcraft/recipe/brass_ingot.json | 1 + .../recipe/brass_ingot_from_block.json | 1 + .../data/anvilcraft/recipe/bronze_ingot.json | 1 + .../recipe/bronze_ingot_from_block.json | 1 + ...sed_gold_ingot_from_cursed_gold_block.json | 1 + ...ed_gold_ingot_from_cursed_gold_nugget.json | 1 + .../anvilcraft/recipe/ember_metal_ingot.json | 1 + .../recipe/ember_metal_ingot_from_block.json | 1 + .../recipe/heliostats_biological.json | 1 + .../recipe/heliostats_electrical.json | 1 + .../data/anvilcraft/recipe/lead_ingot.json | 1 + .../recipe/lead_ingot_from_block.json | 1 + ...ot_9.json => magnet_ingot_from_block.json} | 1 + ...on => magnet_ingot_from_hollow_block.json} | 1 + .../recipe/piezoelectric_crystal.json | 1 + .../piezoelectric_crystal_amethyst.json | 1 + ...al_steel_ingot_from_royal_steel_block.json | 1 + ...l_steel_ingot_from_royal_steel_nugget.json | 1 + .../data/anvilcraft/recipe/silver_ingot.json | 1 + .../recipe/silver_ingot_from_block.json | 1 + .../recipe/smelting/lead_ingot.json | 1 + .../recipe/smelting/lead_ingot_from_ore.json | 1 + .../recipe/smelting/silver_ingot.json | 1 + .../smelting/silver_ingot_from_ore.json | 1 + .../anvilcraft/recipe/smelting/tin_ingot.json | 1 + .../recipe/smelting/tin_ingot_from_ore.json | 1 + .../recipe/smelting/titanium_ingot.json | 1 + .../smelting/titanium_ingot_from_ore.json | 1 + .../recipe/smelting/tungsten_ingot.json | 1 + .../smelting/tungsten_ingot_from_ore.json | 1 + .../recipe/smelting/uranium_ingot.json | 1 + .../smelting/uranium_ingot_from_ore.json | 1 + .../recipe/smelting/zinc_ingot.json | 1 + .../recipe/smelting/zinc_ingot_from_ore.json | 1 + .../data/anvilcraft/recipe/tin_ingot.json | 1 + .../recipe/tin_ingot_from_block.json | 1 + .../anvilcraft/recipe/titanium_ingot.json | 1 + .../recipe/titanium_ingot_from_block.json | 1 + .../anvilcraft/recipe/tungsten_ingot.json | 1 + .../recipe/tungsten_ingot_from_block.json | 1 + .../data/anvilcraft/recipe/uranium_ingot.json | 1 + .../recipe/uranium_ingot_from_block.json | 1 + .../data/anvilcraft/recipe/zinc_ingot.json | 1 + .../recipe/zinc_ingot_from_block.json | 1 + .../dev/dubhe/anvilcraft/init/ModBlocks.java | 4 ++ .../dev/dubhe/anvilcraft/init/ModItems.java | 58 ++++++++++++++++++- 62 files changed, 122 insertions(+), 6 deletions(-) rename src/generated/resources/data/anvilcraft/advancement/recipes/misc/{magnet_ingot_9.json => magnet_ingot_from_block.json} (83%) rename src/generated/resources/data/anvilcraft/advancement/recipes/misc/{magnet_ingot_8.json => magnet_ingot_from_hollow_block.json} (81%) rename src/generated/resources/data/anvilcraft/recipe/{magnet_ingot_9.json => magnet_ingot_from_block.json} (84%) rename src/generated/resources/data/anvilcraft/recipe/{magnet_ingot_8.json => magnet_ingot_from_hollow_block.json} (85%) diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/magnet_ingot_9.json b/src/generated/resources/data/anvilcraft/advancement/recipes/misc/magnet_ingot_from_block.json similarity index 83% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/magnet_ingot_9.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/misc/magnet_ingot_from_block.json index fe4ccaafb..72ed3bd6e 100644 --- a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/magnet_ingot_9.json +++ b/src/generated/resources/data/anvilcraft/advancement/recipes/misc/magnet_ingot_from_block.json @@ -3,7 +3,7 @@ "criteria": { "has_the_recipe": { "conditions": { - "recipe": "anvilcraft:magnet_ingot_9" + "recipe": "anvilcraft:magnet_ingot_from_block" }, "trigger": "minecraft:recipe_unlocked" }, @@ -26,7 +26,7 @@ ], "rewards": { "recipes": [ - "anvilcraft:magnet_ingot_9" + "anvilcraft:magnet_ingot_from_block" ] } } \ No newline at end of file diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/magnet_ingot_8.json b/src/generated/resources/data/anvilcraft/advancement/recipes/misc/magnet_ingot_from_hollow_block.json similarity index 81% rename from src/generated/resources/data/anvilcraft/advancement/recipes/misc/magnet_ingot_8.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/misc/magnet_ingot_from_hollow_block.json index 7bb982bc5..0fcf309a9 100644 --- a/src/generated/resources/data/anvilcraft/advancement/recipes/misc/magnet_ingot_8.json +++ b/src/generated/resources/data/anvilcraft/advancement/recipes/misc/magnet_ingot_from_hollow_block.json @@ -3,7 +3,7 @@ "criteria": { "has_the_recipe": { "conditions": { - "recipe": "anvilcraft:magnet_ingot_8" + "recipe": "anvilcraft:magnet_ingot_from_hollow_block" }, "trigger": "minecraft:recipe_unlocked" }, @@ -26,7 +26,7 @@ ], "rewards": { "recipes": [ - "anvilcraft:magnet_ingot_8" + "anvilcraft:magnet_ingot_from_hollow_block" ] } } \ No newline at end of file diff --git a/src/generated/resources/data/anvilcraft/recipe/blasting/lead_ingot.json b/src/generated/resources/data/anvilcraft/recipe/blasting/lead_ingot.json index 5e4146cc3..bb79daf5e 100644 --- a/src/generated/resources/data/anvilcraft/recipe/blasting/lead_ingot.json +++ b/src/generated/resources/data/anvilcraft/recipe/blasting/lead_ingot.json @@ -3,6 +3,7 @@ "category": "misc", "cookingtime": 100, "experience": 1.0, + "group": "anvilcraft:lead_ingot", "ingredient": { "item": "anvilcraft:raw_lead" }, diff --git a/src/generated/resources/data/anvilcraft/recipe/blasting/lead_ingot_from_ore.json b/src/generated/resources/data/anvilcraft/recipe/blasting/lead_ingot_from_ore.json index 65a3dd650..aae6f2e01 100644 --- a/src/generated/resources/data/anvilcraft/recipe/blasting/lead_ingot_from_ore.json +++ b/src/generated/resources/data/anvilcraft/recipe/blasting/lead_ingot_from_ore.json @@ -3,6 +3,7 @@ "category": "misc", "cookingtime": 100, "experience": 1.0, + "group": "anvilcraft:lead_ingot", "ingredient": { "item": "anvilcraft:deepslate_lead_ore" }, diff --git a/src/generated/resources/data/anvilcraft/recipe/blasting/silver_ingot.json b/src/generated/resources/data/anvilcraft/recipe/blasting/silver_ingot.json index 7a9aac9e1..dabdb0ed0 100644 --- a/src/generated/resources/data/anvilcraft/recipe/blasting/silver_ingot.json +++ b/src/generated/resources/data/anvilcraft/recipe/blasting/silver_ingot.json @@ -3,6 +3,7 @@ "category": "misc", "cookingtime": 100, "experience": 1.0, + "group": "anvilcraft:silver_ingot", "ingredient": { "item": "anvilcraft:raw_silver" }, diff --git a/src/generated/resources/data/anvilcraft/recipe/blasting/silver_ingot_from_ore.json b/src/generated/resources/data/anvilcraft/recipe/blasting/silver_ingot_from_ore.json index 15c5e75be..b07a044b8 100644 --- a/src/generated/resources/data/anvilcraft/recipe/blasting/silver_ingot_from_ore.json +++ b/src/generated/resources/data/anvilcraft/recipe/blasting/silver_ingot_from_ore.json @@ -3,6 +3,7 @@ "category": "misc", "cookingtime": 100, "experience": 1.0, + "group": "anvilcraft:silver_ingot", "ingredient": { "item": "anvilcraft:deepslate_silver_ore" }, diff --git a/src/generated/resources/data/anvilcraft/recipe/blasting/tin_ingot.json b/src/generated/resources/data/anvilcraft/recipe/blasting/tin_ingot.json index c0cca625c..4f62e88cb 100644 --- a/src/generated/resources/data/anvilcraft/recipe/blasting/tin_ingot.json +++ b/src/generated/resources/data/anvilcraft/recipe/blasting/tin_ingot.json @@ -3,6 +3,7 @@ "category": "misc", "cookingtime": 100, "experience": 1.0, + "group": "anvilcraft:tin_ingot", "ingredient": { "item": "anvilcraft:raw_tin" }, diff --git a/src/generated/resources/data/anvilcraft/recipe/blasting/tin_ingot_from_ore.json b/src/generated/resources/data/anvilcraft/recipe/blasting/tin_ingot_from_ore.json index 6c93e6836..e40f836cd 100644 --- a/src/generated/resources/data/anvilcraft/recipe/blasting/tin_ingot_from_ore.json +++ b/src/generated/resources/data/anvilcraft/recipe/blasting/tin_ingot_from_ore.json @@ -3,6 +3,7 @@ "category": "misc", "cookingtime": 100, "experience": 1.0, + "group": "anvilcraft:tin_ingot", "ingredient": { "item": "anvilcraft:deepslate_tin_ore" }, diff --git a/src/generated/resources/data/anvilcraft/recipe/blasting/titanium_ingot.json b/src/generated/resources/data/anvilcraft/recipe/blasting/titanium_ingot.json index 8388e19fa..8aeca5dfd 100644 --- a/src/generated/resources/data/anvilcraft/recipe/blasting/titanium_ingot.json +++ b/src/generated/resources/data/anvilcraft/recipe/blasting/titanium_ingot.json @@ -3,6 +3,7 @@ "category": "misc", "cookingtime": 100, "experience": 1.0, + "group": "anvilcraft:titanium_ingot", "ingredient": { "item": "anvilcraft:raw_titanium" }, diff --git a/src/generated/resources/data/anvilcraft/recipe/blasting/titanium_ingot_from_ore.json b/src/generated/resources/data/anvilcraft/recipe/blasting/titanium_ingot_from_ore.json index 1c344d007..fc45e5acd 100644 --- a/src/generated/resources/data/anvilcraft/recipe/blasting/titanium_ingot_from_ore.json +++ b/src/generated/resources/data/anvilcraft/recipe/blasting/titanium_ingot_from_ore.json @@ -3,6 +3,7 @@ "category": "misc", "cookingtime": 100, "experience": 1.0, + "group": "anvilcraft:titanium_ingot", "ingredient": { "item": "anvilcraft:deepslate_titanium_ore" }, diff --git a/src/generated/resources/data/anvilcraft/recipe/blasting/tungsten_ingot.json b/src/generated/resources/data/anvilcraft/recipe/blasting/tungsten_ingot.json index 1e6e748b1..8cb5bcad2 100644 --- a/src/generated/resources/data/anvilcraft/recipe/blasting/tungsten_ingot.json +++ b/src/generated/resources/data/anvilcraft/recipe/blasting/tungsten_ingot.json @@ -3,6 +3,7 @@ "category": "misc", "cookingtime": 100, "experience": 1.0, + "group": "anvilcraft:tungsten_ingot", "ingredient": { "item": "anvilcraft:raw_tungsten" }, diff --git a/src/generated/resources/data/anvilcraft/recipe/blasting/tungsten_ingot_from_ore.json b/src/generated/resources/data/anvilcraft/recipe/blasting/tungsten_ingot_from_ore.json index 4e561d8b8..ffc6d31f0 100644 --- a/src/generated/resources/data/anvilcraft/recipe/blasting/tungsten_ingot_from_ore.json +++ b/src/generated/resources/data/anvilcraft/recipe/blasting/tungsten_ingot_from_ore.json @@ -3,6 +3,7 @@ "category": "misc", "cookingtime": 100, "experience": 1.0, + "group": "anvilcraft:tungsten_ingot", "ingredient": { "item": "anvilcraft:deepslate_tungsten_ore" }, diff --git a/src/generated/resources/data/anvilcraft/recipe/blasting/uranium_ingot.json b/src/generated/resources/data/anvilcraft/recipe/blasting/uranium_ingot.json index 9dcdcef83..080495319 100644 --- a/src/generated/resources/data/anvilcraft/recipe/blasting/uranium_ingot.json +++ b/src/generated/resources/data/anvilcraft/recipe/blasting/uranium_ingot.json @@ -3,6 +3,7 @@ "category": "misc", "cookingtime": 100, "experience": 1.0, + "group": "anvilcraft:uranium_ingot", "ingredient": { "item": "anvilcraft:raw_uranium" }, diff --git a/src/generated/resources/data/anvilcraft/recipe/blasting/uranium_ingot_from_ore.json b/src/generated/resources/data/anvilcraft/recipe/blasting/uranium_ingot_from_ore.json index 46e905838..664c48312 100644 --- a/src/generated/resources/data/anvilcraft/recipe/blasting/uranium_ingot_from_ore.json +++ b/src/generated/resources/data/anvilcraft/recipe/blasting/uranium_ingot_from_ore.json @@ -3,6 +3,7 @@ "category": "misc", "cookingtime": 100, "experience": 1.0, + "group": "anvilcraft:uranium_ingot", "ingredient": { "item": "anvilcraft:deepslate_uranium_ore" }, diff --git a/src/generated/resources/data/anvilcraft/recipe/blasting/zinc_ingot.json b/src/generated/resources/data/anvilcraft/recipe/blasting/zinc_ingot.json index 73dac6f2d..eec9f1380 100644 --- a/src/generated/resources/data/anvilcraft/recipe/blasting/zinc_ingot.json +++ b/src/generated/resources/data/anvilcraft/recipe/blasting/zinc_ingot.json @@ -3,6 +3,7 @@ "category": "misc", "cookingtime": 100, "experience": 1.0, + "group": "anvilcraft:zinc_ingot", "ingredient": { "item": "anvilcraft:raw_zinc" }, diff --git a/src/generated/resources/data/anvilcraft/recipe/blasting/zinc_ingot_from_ore.json b/src/generated/resources/data/anvilcraft/recipe/blasting/zinc_ingot_from_ore.json index 4630d6861..64aace512 100644 --- a/src/generated/resources/data/anvilcraft/recipe/blasting/zinc_ingot_from_ore.json +++ b/src/generated/resources/data/anvilcraft/recipe/blasting/zinc_ingot_from_ore.json @@ -3,6 +3,7 @@ "category": "misc", "cookingtime": 100, "experience": 1.0, + "group": "anvilcraft:zinc_ingot", "ingredient": { "item": "anvilcraft:deepslate_zinc_ore" }, diff --git a/src/generated/resources/data/anvilcraft/recipe/brass_ingot.json b/src/generated/resources/data/anvilcraft/recipe/brass_ingot.json index c277ac31b..e578f45bc 100644 --- a/src/generated/resources/data/anvilcraft/recipe/brass_ingot.json +++ b/src/generated/resources/data/anvilcraft/recipe/brass_ingot.json @@ -1,6 +1,7 @@ { "type": "minecraft:crafting_shaped", "category": "misc", + "group": "anvilcraft:brass_ingot", "key": { "A": { "tag": "c:nuggets/brass" diff --git a/src/generated/resources/data/anvilcraft/recipe/brass_ingot_from_block.json b/src/generated/resources/data/anvilcraft/recipe/brass_ingot_from_block.json index 742ea004a..7bbc5d51f 100644 --- a/src/generated/resources/data/anvilcraft/recipe/brass_ingot_from_block.json +++ b/src/generated/resources/data/anvilcraft/recipe/brass_ingot_from_block.json @@ -1,6 +1,7 @@ { "type": "minecraft:crafting_shapeless", "category": "misc", + "group": "anvilcraft:brass_ingot", "ingredients": [ { "item": "anvilcraft:brass_block" diff --git a/src/generated/resources/data/anvilcraft/recipe/bronze_ingot.json b/src/generated/resources/data/anvilcraft/recipe/bronze_ingot.json index c57c477a4..23ad533b0 100644 --- a/src/generated/resources/data/anvilcraft/recipe/bronze_ingot.json +++ b/src/generated/resources/data/anvilcraft/recipe/bronze_ingot.json @@ -1,6 +1,7 @@ { "type": "minecraft:crafting_shaped", "category": "misc", + "group": "anvilcraft:bronze_ingot", "key": { "A": { "tag": "c:nuggets/bronze" diff --git a/src/generated/resources/data/anvilcraft/recipe/bronze_ingot_from_block.json b/src/generated/resources/data/anvilcraft/recipe/bronze_ingot_from_block.json index b7494876a..2ab0e1ada 100644 --- a/src/generated/resources/data/anvilcraft/recipe/bronze_ingot_from_block.json +++ b/src/generated/resources/data/anvilcraft/recipe/bronze_ingot_from_block.json @@ -1,6 +1,7 @@ { "type": "minecraft:crafting_shapeless", "category": "misc", + "group": "anvilcraft:bronze_ingot", "ingredients": [ { "item": "anvilcraft:bronze_block" diff --git a/src/generated/resources/data/anvilcraft/recipe/cursed_gold_ingot_from_cursed_gold_block.json b/src/generated/resources/data/anvilcraft/recipe/cursed_gold_ingot_from_cursed_gold_block.json index 4c1e2bdb2..c13bb83fa 100644 --- a/src/generated/resources/data/anvilcraft/recipe/cursed_gold_ingot_from_cursed_gold_block.json +++ b/src/generated/resources/data/anvilcraft/recipe/cursed_gold_ingot_from_cursed_gold_block.json @@ -1,6 +1,7 @@ { "type": "minecraft:crafting_shapeless", "category": "misc", + "group": "anvilcraft:cursed_gold_ingot", "ingredients": [ { "item": "anvilcraft:cursed_gold_block" diff --git a/src/generated/resources/data/anvilcraft/recipe/cursed_gold_ingot_from_cursed_gold_nugget.json b/src/generated/resources/data/anvilcraft/recipe/cursed_gold_ingot_from_cursed_gold_nugget.json index b34209b49..90adeced8 100644 --- a/src/generated/resources/data/anvilcraft/recipe/cursed_gold_ingot_from_cursed_gold_nugget.json +++ b/src/generated/resources/data/anvilcraft/recipe/cursed_gold_ingot_from_cursed_gold_nugget.json @@ -1,6 +1,7 @@ { "type": "minecraft:crafting_shaped", "category": "misc", + "group": "anvilcraft:cursed_gold_ingot", "key": { "A": { "item": "anvilcraft:cursed_gold_nugget" diff --git a/src/generated/resources/data/anvilcraft/recipe/ember_metal_ingot.json b/src/generated/resources/data/anvilcraft/recipe/ember_metal_ingot.json index ecfda8a49..be873eec2 100644 --- a/src/generated/resources/data/anvilcraft/recipe/ember_metal_ingot.json +++ b/src/generated/resources/data/anvilcraft/recipe/ember_metal_ingot.json @@ -1,6 +1,7 @@ { "type": "minecraft:crafting_shaped", "category": "misc", + "group": "anvilcraft:ember_metal_ingot", "key": { "A": { "item": "anvilcraft:ember_metal_nugget" diff --git a/src/generated/resources/data/anvilcraft/recipe/ember_metal_ingot_from_block.json b/src/generated/resources/data/anvilcraft/recipe/ember_metal_ingot_from_block.json index 671cd90b7..d1c4617f7 100644 --- a/src/generated/resources/data/anvilcraft/recipe/ember_metal_ingot_from_block.json +++ b/src/generated/resources/data/anvilcraft/recipe/ember_metal_ingot_from_block.json @@ -1,6 +1,7 @@ { "type": "minecraft:crafting_shapeless", "category": "misc", + "group": "anvilcraft:ember_metal_ingot", "ingredients": [ { "item": "anvilcraft:ember_metal_block" diff --git a/src/generated/resources/data/anvilcraft/recipe/heliostats_biological.json b/src/generated/resources/data/anvilcraft/recipe/heliostats_biological.json index 50fd3f032..5c7103bc4 100644 --- a/src/generated/resources/data/anvilcraft/recipe/heliostats_biological.json +++ b/src/generated/resources/data/anvilcraft/recipe/heliostats_biological.json @@ -1,6 +1,7 @@ { "type": "minecraft:crafting_shaped", "category": "misc", + "group": "anvilcraft:heliostats", "key": { "F": { "item": "minecraft:sunflower" diff --git a/src/generated/resources/data/anvilcraft/recipe/heliostats_electrical.json b/src/generated/resources/data/anvilcraft/recipe/heliostats_electrical.json index 383287e1b..857db5df7 100644 --- a/src/generated/resources/data/anvilcraft/recipe/heliostats_electrical.json +++ b/src/generated/resources/data/anvilcraft/recipe/heliostats_electrical.json @@ -1,6 +1,7 @@ { "type": "minecraft:crafting_shaped", "category": "misc", + "group": "anvilcraft:heliostats", "key": { "C": { "item": "anvilcraft:circuit_board" diff --git a/src/generated/resources/data/anvilcraft/recipe/lead_ingot.json b/src/generated/resources/data/anvilcraft/recipe/lead_ingot.json index 914136ab0..0833eb6e3 100644 --- a/src/generated/resources/data/anvilcraft/recipe/lead_ingot.json +++ b/src/generated/resources/data/anvilcraft/recipe/lead_ingot.json @@ -1,6 +1,7 @@ { "type": "minecraft:crafting_shaped", "category": "misc", + "group": "anvilcraft:lead_ingot", "key": { "A": { "tag": "c:nuggets/lead" diff --git a/src/generated/resources/data/anvilcraft/recipe/lead_ingot_from_block.json b/src/generated/resources/data/anvilcraft/recipe/lead_ingot_from_block.json index 2be0cbad3..3f5919b19 100644 --- a/src/generated/resources/data/anvilcraft/recipe/lead_ingot_from_block.json +++ b/src/generated/resources/data/anvilcraft/recipe/lead_ingot_from_block.json @@ -1,6 +1,7 @@ { "type": "minecraft:crafting_shapeless", "category": "misc", + "group": "anvilcraft:lead_ingot", "ingredients": [ { "item": "anvilcraft:lead_block" diff --git a/src/generated/resources/data/anvilcraft/recipe/magnet_ingot_9.json b/src/generated/resources/data/anvilcraft/recipe/magnet_ingot_from_block.json similarity index 84% rename from src/generated/resources/data/anvilcraft/recipe/magnet_ingot_9.json rename to src/generated/resources/data/anvilcraft/recipe/magnet_ingot_from_block.json index 08aa86e42..d033dd072 100644 --- a/src/generated/resources/data/anvilcraft/recipe/magnet_ingot_9.json +++ b/src/generated/resources/data/anvilcraft/recipe/magnet_ingot_from_block.json @@ -1,6 +1,7 @@ { "type": "minecraft:crafting_shapeless", "category": "misc", + "group": "anvilcraft:magnet_ingot", "ingredients": [ { "item": "anvilcraft:magnet_block" diff --git a/src/generated/resources/data/anvilcraft/recipe/magnet_ingot_8.json b/src/generated/resources/data/anvilcraft/recipe/magnet_ingot_from_hollow_block.json similarity index 85% rename from src/generated/resources/data/anvilcraft/recipe/magnet_ingot_8.json rename to src/generated/resources/data/anvilcraft/recipe/magnet_ingot_from_hollow_block.json index c300b6085..5668d01f5 100644 --- a/src/generated/resources/data/anvilcraft/recipe/magnet_ingot_8.json +++ b/src/generated/resources/data/anvilcraft/recipe/magnet_ingot_from_hollow_block.json @@ -1,6 +1,7 @@ { "type": "minecraft:crafting_shapeless", "category": "misc", + "group": "anvilcraft:magnet_ingot", "ingredients": [ { "item": "anvilcraft:hollow_magnet_block" diff --git a/src/generated/resources/data/anvilcraft/recipe/piezoelectric_crystal.json b/src/generated/resources/data/anvilcraft/recipe/piezoelectric_crystal.json index 16828c1c4..09e1723fc 100644 --- a/src/generated/resources/data/anvilcraft/recipe/piezoelectric_crystal.json +++ b/src/generated/resources/data/anvilcraft/recipe/piezoelectric_crystal.json @@ -1,6 +1,7 @@ { "type": "minecraft:crafting_shaped", "category": "misc", + "group": "anvilcraft:piezoelectric_crystal", "key": { "A": { "item": "minecraft:copper_ingot" diff --git a/src/generated/resources/data/anvilcraft/recipe/piezoelectric_crystal_amethyst.json b/src/generated/resources/data/anvilcraft/recipe/piezoelectric_crystal_amethyst.json index f31c9d66a..a4e8901c9 100644 --- a/src/generated/resources/data/anvilcraft/recipe/piezoelectric_crystal_amethyst.json +++ b/src/generated/resources/data/anvilcraft/recipe/piezoelectric_crystal_amethyst.json @@ -1,6 +1,7 @@ { "type": "minecraft:crafting_shaped", "category": "misc", + "group": "anvilcraft:piezoelectric_crystal", "key": { "A": { "item": "minecraft:copper_ingot" diff --git a/src/generated/resources/data/anvilcraft/recipe/royal_steel_ingot_from_royal_steel_block.json b/src/generated/resources/data/anvilcraft/recipe/royal_steel_ingot_from_royal_steel_block.json index e7322d62e..d4a0ac565 100644 --- a/src/generated/resources/data/anvilcraft/recipe/royal_steel_ingot_from_royal_steel_block.json +++ b/src/generated/resources/data/anvilcraft/recipe/royal_steel_ingot_from_royal_steel_block.json @@ -1,6 +1,7 @@ { "type": "minecraft:crafting_shapeless", "category": "misc", + "group": "anvilcraft:royal_steel_ingot", "ingredients": [ { "item": "anvilcraft:royal_steel_block" diff --git a/src/generated/resources/data/anvilcraft/recipe/royal_steel_ingot_from_royal_steel_nugget.json b/src/generated/resources/data/anvilcraft/recipe/royal_steel_ingot_from_royal_steel_nugget.json index 696fbfeef..77a71a2cb 100644 --- a/src/generated/resources/data/anvilcraft/recipe/royal_steel_ingot_from_royal_steel_nugget.json +++ b/src/generated/resources/data/anvilcraft/recipe/royal_steel_ingot_from_royal_steel_nugget.json @@ -1,6 +1,7 @@ { "type": "minecraft:crafting_shaped", "category": "misc", + "group": "anvilcraft:royal_steel_ingot", "key": { "A": { "item": "anvilcraft:royal_steel_nugget" diff --git a/src/generated/resources/data/anvilcraft/recipe/silver_ingot.json b/src/generated/resources/data/anvilcraft/recipe/silver_ingot.json index 9449d5916..cd9cd5b72 100644 --- a/src/generated/resources/data/anvilcraft/recipe/silver_ingot.json +++ b/src/generated/resources/data/anvilcraft/recipe/silver_ingot.json @@ -1,6 +1,7 @@ { "type": "minecraft:crafting_shaped", "category": "misc", + "group": "anvilcraft:silver_ingot", "key": { "A": { "tag": "c:nuggets/silver" diff --git a/src/generated/resources/data/anvilcraft/recipe/silver_ingot_from_block.json b/src/generated/resources/data/anvilcraft/recipe/silver_ingot_from_block.json index 089a66ff0..c37dbf20e 100644 --- a/src/generated/resources/data/anvilcraft/recipe/silver_ingot_from_block.json +++ b/src/generated/resources/data/anvilcraft/recipe/silver_ingot_from_block.json @@ -1,6 +1,7 @@ { "type": "minecraft:crafting_shapeless", "category": "misc", + "group": "anvilcraft:silver_ingot", "ingredients": [ { "item": "anvilcraft:silver_block" diff --git a/src/generated/resources/data/anvilcraft/recipe/smelting/lead_ingot.json b/src/generated/resources/data/anvilcraft/recipe/smelting/lead_ingot.json index a5dd48e52..ef2eeffb4 100644 --- a/src/generated/resources/data/anvilcraft/recipe/smelting/lead_ingot.json +++ b/src/generated/resources/data/anvilcraft/recipe/smelting/lead_ingot.json @@ -3,6 +3,7 @@ "category": "misc", "cookingtime": 200, "experience": 1.0, + "group": "anvilcraft:lead_ingot", "ingredient": { "item": "anvilcraft:raw_lead" }, diff --git a/src/generated/resources/data/anvilcraft/recipe/smelting/lead_ingot_from_ore.json b/src/generated/resources/data/anvilcraft/recipe/smelting/lead_ingot_from_ore.json index 4ccfb80ae..1852fa664 100644 --- a/src/generated/resources/data/anvilcraft/recipe/smelting/lead_ingot_from_ore.json +++ b/src/generated/resources/data/anvilcraft/recipe/smelting/lead_ingot_from_ore.json @@ -3,6 +3,7 @@ "category": "misc", "cookingtime": 200, "experience": 1.0, + "group": "anvilcraft:lead_ingot", "ingredient": { "item": "anvilcraft:deepslate_lead_ore" }, diff --git a/src/generated/resources/data/anvilcraft/recipe/smelting/silver_ingot.json b/src/generated/resources/data/anvilcraft/recipe/smelting/silver_ingot.json index c281bf06b..91b36d924 100644 --- a/src/generated/resources/data/anvilcraft/recipe/smelting/silver_ingot.json +++ b/src/generated/resources/data/anvilcraft/recipe/smelting/silver_ingot.json @@ -3,6 +3,7 @@ "category": "misc", "cookingtime": 200, "experience": 1.0, + "group": "anvilcraft:silver_ingot", "ingredient": { "item": "anvilcraft:raw_silver" }, diff --git a/src/generated/resources/data/anvilcraft/recipe/smelting/silver_ingot_from_ore.json b/src/generated/resources/data/anvilcraft/recipe/smelting/silver_ingot_from_ore.json index 15fac6903..8d6667c74 100644 --- a/src/generated/resources/data/anvilcraft/recipe/smelting/silver_ingot_from_ore.json +++ b/src/generated/resources/data/anvilcraft/recipe/smelting/silver_ingot_from_ore.json @@ -3,6 +3,7 @@ "category": "misc", "cookingtime": 200, "experience": 1.0, + "group": "anvilcraft:silver_ingot", "ingredient": { "item": "anvilcraft:deepslate_silver_ore" }, diff --git a/src/generated/resources/data/anvilcraft/recipe/smelting/tin_ingot.json b/src/generated/resources/data/anvilcraft/recipe/smelting/tin_ingot.json index 0ecccaece..58cac6337 100644 --- a/src/generated/resources/data/anvilcraft/recipe/smelting/tin_ingot.json +++ b/src/generated/resources/data/anvilcraft/recipe/smelting/tin_ingot.json @@ -3,6 +3,7 @@ "category": "misc", "cookingtime": 200, "experience": 1.0, + "group": "anvilcraft:tin_ingot", "ingredient": { "item": "anvilcraft:raw_tin" }, diff --git a/src/generated/resources/data/anvilcraft/recipe/smelting/tin_ingot_from_ore.json b/src/generated/resources/data/anvilcraft/recipe/smelting/tin_ingot_from_ore.json index 0a3b0c1a0..74f711bfb 100644 --- a/src/generated/resources/data/anvilcraft/recipe/smelting/tin_ingot_from_ore.json +++ b/src/generated/resources/data/anvilcraft/recipe/smelting/tin_ingot_from_ore.json @@ -3,6 +3,7 @@ "category": "misc", "cookingtime": 200, "experience": 1.0, + "group": "anvilcraft:tin_ingot", "ingredient": { "item": "anvilcraft:deepslate_tin_ore" }, diff --git a/src/generated/resources/data/anvilcraft/recipe/smelting/titanium_ingot.json b/src/generated/resources/data/anvilcraft/recipe/smelting/titanium_ingot.json index fc7120279..a0d1678ea 100644 --- a/src/generated/resources/data/anvilcraft/recipe/smelting/titanium_ingot.json +++ b/src/generated/resources/data/anvilcraft/recipe/smelting/titanium_ingot.json @@ -3,6 +3,7 @@ "category": "misc", "cookingtime": 200, "experience": 1.0, + "group": "anvilcraft:titanium_ingot", "ingredient": { "item": "anvilcraft:raw_titanium" }, diff --git a/src/generated/resources/data/anvilcraft/recipe/smelting/titanium_ingot_from_ore.json b/src/generated/resources/data/anvilcraft/recipe/smelting/titanium_ingot_from_ore.json index 8279969c7..55d187500 100644 --- a/src/generated/resources/data/anvilcraft/recipe/smelting/titanium_ingot_from_ore.json +++ b/src/generated/resources/data/anvilcraft/recipe/smelting/titanium_ingot_from_ore.json @@ -3,6 +3,7 @@ "category": "misc", "cookingtime": 200, "experience": 1.0, + "group": "anvilcraft:titanium_ingot", "ingredient": { "item": "anvilcraft:deepslate_titanium_ore" }, diff --git a/src/generated/resources/data/anvilcraft/recipe/smelting/tungsten_ingot.json b/src/generated/resources/data/anvilcraft/recipe/smelting/tungsten_ingot.json index c39d5239e..9f00766fa 100644 --- a/src/generated/resources/data/anvilcraft/recipe/smelting/tungsten_ingot.json +++ b/src/generated/resources/data/anvilcraft/recipe/smelting/tungsten_ingot.json @@ -3,6 +3,7 @@ "category": "misc", "cookingtime": 200, "experience": 1.0, + "group": "anvilcraft:tungsten_ingot", "ingredient": { "item": "anvilcraft:raw_tungsten" }, diff --git a/src/generated/resources/data/anvilcraft/recipe/smelting/tungsten_ingot_from_ore.json b/src/generated/resources/data/anvilcraft/recipe/smelting/tungsten_ingot_from_ore.json index 77119d524..2e43a572e 100644 --- a/src/generated/resources/data/anvilcraft/recipe/smelting/tungsten_ingot_from_ore.json +++ b/src/generated/resources/data/anvilcraft/recipe/smelting/tungsten_ingot_from_ore.json @@ -3,6 +3,7 @@ "category": "misc", "cookingtime": 200, "experience": 1.0, + "group": "anvilcraft:tungsten_ingot", "ingredient": { "item": "anvilcraft:deepslate_tungsten_ore" }, diff --git a/src/generated/resources/data/anvilcraft/recipe/smelting/uranium_ingot.json b/src/generated/resources/data/anvilcraft/recipe/smelting/uranium_ingot.json index 7296ca503..172b48cea 100644 --- a/src/generated/resources/data/anvilcraft/recipe/smelting/uranium_ingot.json +++ b/src/generated/resources/data/anvilcraft/recipe/smelting/uranium_ingot.json @@ -3,6 +3,7 @@ "category": "misc", "cookingtime": 200, "experience": 1.0, + "group": "anvilcraft:uranium_ingot", "ingredient": { "item": "anvilcraft:raw_uranium" }, diff --git a/src/generated/resources/data/anvilcraft/recipe/smelting/uranium_ingot_from_ore.json b/src/generated/resources/data/anvilcraft/recipe/smelting/uranium_ingot_from_ore.json index ddad3bdc0..b474d1ce9 100644 --- a/src/generated/resources/data/anvilcraft/recipe/smelting/uranium_ingot_from_ore.json +++ b/src/generated/resources/data/anvilcraft/recipe/smelting/uranium_ingot_from_ore.json @@ -3,6 +3,7 @@ "category": "misc", "cookingtime": 200, "experience": 1.0, + "group": "anvilcraft:uranium_ingot", "ingredient": { "item": "anvilcraft:deepslate_uranium_ore" }, diff --git a/src/generated/resources/data/anvilcraft/recipe/smelting/zinc_ingot.json b/src/generated/resources/data/anvilcraft/recipe/smelting/zinc_ingot.json index d7c79fb32..520eb87cd 100644 --- a/src/generated/resources/data/anvilcraft/recipe/smelting/zinc_ingot.json +++ b/src/generated/resources/data/anvilcraft/recipe/smelting/zinc_ingot.json @@ -3,6 +3,7 @@ "category": "misc", "cookingtime": 200, "experience": 1.0, + "group": "anvilcraft:zinc_ingot", "ingredient": { "item": "anvilcraft:raw_zinc" }, diff --git a/src/generated/resources/data/anvilcraft/recipe/smelting/zinc_ingot_from_ore.json b/src/generated/resources/data/anvilcraft/recipe/smelting/zinc_ingot_from_ore.json index 2b632e5ea..fc11cad1f 100644 --- a/src/generated/resources/data/anvilcraft/recipe/smelting/zinc_ingot_from_ore.json +++ b/src/generated/resources/data/anvilcraft/recipe/smelting/zinc_ingot_from_ore.json @@ -3,6 +3,7 @@ "category": "misc", "cookingtime": 200, "experience": 1.0, + "group": "anvilcraft:zinc_ingot", "ingredient": { "item": "anvilcraft:deepslate_zinc_ore" }, diff --git a/src/generated/resources/data/anvilcraft/recipe/tin_ingot.json b/src/generated/resources/data/anvilcraft/recipe/tin_ingot.json index 9752cb334..949e158b9 100644 --- a/src/generated/resources/data/anvilcraft/recipe/tin_ingot.json +++ b/src/generated/resources/data/anvilcraft/recipe/tin_ingot.json @@ -1,6 +1,7 @@ { "type": "minecraft:crafting_shaped", "category": "misc", + "group": "anvilcraft:tin_ingot", "key": { "A": { "tag": "c:nuggets/tin" diff --git a/src/generated/resources/data/anvilcraft/recipe/tin_ingot_from_block.json b/src/generated/resources/data/anvilcraft/recipe/tin_ingot_from_block.json index 85f475d6e..834abe4e2 100644 --- a/src/generated/resources/data/anvilcraft/recipe/tin_ingot_from_block.json +++ b/src/generated/resources/data/anvilcraft/recipe/tin_ingot_from_block.json @@ -1,6 +1,7 @@ { "type": "minecraft:crafting_shapeless", "category": "misc", + "group": "anvilcraft:tin_ingot", "ingredients": [ { "item": "anvilcraft:tin_block" diff --git a/src/generated/resources/data/anvilcraft/recipe/titanium_ingot.json b/src/generated/resources/data/anvilcraft/recipe/titanium_ingot.json index 9857562ff..5abec7094 100644 --- a/src/generated/resources/data/anvilcraft/recipe/titanium_ingot.json +++ b/src/generated/resources/data/anvilcraft/recipe/titanium_ingot.json @@ -1,6 +1,7 @@ { "type": "minecraft:crafting_shaped", "category": "misc", + "group": "anvilcraft:titanium_ingot", "key": { "A": { "tag": "c:nuggets/titanium" diff --git a/src/generated/resources/data/anvilcraft/recipe/titanium_ingot_from_block.json b/src/generated/resources/data/anvilcraft/recipe/titanium_ingot_from_block.json index 34723980a..0ec94325f 100644 --- a/src/generated/resources/data/anvilcraft/recipe/titanium_ingot_from_block.json +++ b/src/generated/resources/data/anvilcraft/recipe/titanium_ingot_from_block.json @@ -1,6 +1,7 @@ { "type": "minecraft:crafting_shapeless", "category": "misc", + "group": "anvilcraft:titanium_ingot", "ingredients": [ { "item": "anvilcraft:titanium_block" diff --git a/src/generated/resources/data/anvilcraft/recipe/tungsten_ingot.json b/src/generated/resources/data/anvilcraft/recipe/tungsten_ingot.json index 448cc4247..8bcf9eb9d 100644 --- a/src/generated/resources/data/anvilcraft/recipe/tungsten_ingot.json +++ b/src/generated/resources/data/anvilcraft/recipe/tungsten_ingot.json @@ -1,6 +1,7 @@ { "type": "minecraft:crafting_shaped", "category": "misc", + "group": "anvilcraft:tungsten_ingot", "key": { "A": { "tag": "c:nuggets/tungsten" diff --git a/src/generated/resources/data/anvilcraft/recipe/tungsten_ingot_from_block.json b/src/generated/resources/data/anvilcraft/recipe/tungsten_ingot_from_block.json index ae8501b80..2c57e6aa5 100644 --- a/src/generated/resources/data/anvilcraft/recipe/tungsten_ingot_from_block.json +++ b/src/generated/resources/data/anvilcraft/recipe/tungsten_ingot_from_block.json @@ -1,6 +1,7 @@ { "type": "minecraft:crafting_shapeless", "category": "misc", + "group": "anvilcraft:tungsten_ingot", "ingredients": [ { "item": "anvilcraft:tungsten_block" diff --git a/src/generated/resources/data/anvilcraft/recipe/uranium_ingot.json b/src/generated/resources/data/anvilcraft/recipe/uranium_ingot.json index 55c1083eb..287b343fd 100644 --- a/src/generated/resources/data/anvilcraft/recipe/uranium_ingot.json +++ b/src/generated/resources/data/anvilcraft/recipe/uranium_ingot.json @@ -1,6 +1,7 @@ { "type": "minecraft:crafting_shaped", "category": "misc", + "group": "anvilcraft:uranium_ingot", "key": { "A": { "tag": "c:nuggets/uranium" diff --git a/src/generated/resources/data/anvilcraft/recipe/uranium_ingot_from_block.json b/src/generated/resources/data/anvilcraft/recipe/uranium_ingot_from_block.json index 2326da698..39b66108b 100644 --- a/src/generated/resources/data/anvilcraft/recipe/uranium_ingot_from_block.json +++ b/src/generated/resources/data/anvilcraft/recipe/uranium_ingot_from_block.json @@ -1,6 +1,7 @@ { "type": "minecraft:crafting_shapeless", "category": "misc", + "group": "anvilcraft:uranium_ingot", "ingredients": [ { "item": "anvilcraft:uranium_block" diff --git a/src/generated/resources/data/anvilcraft/recipe/zinc_ingot.json b/src/generated/resources/data/anvilcraft/recipe/zinc_ingot.json index 1373fc0e0..ba9461189 100644 --- a/src/generated/resources/data/anvilcraft/recipe/zinc_ingot.json +++ b/src/generated/resources/data/anvilcraft/recipe/zinc_ingot.json @@ -1,6 +1,7 @@ { "type": "minecraft:crafting_shaped", "category": "misc", + "group": "anvilcraft:zinc_ingot", "key": { "A": { "tag": "c:nuggets/zinc" diff --git a/src/generated/resources/data/anvilcraft/recipe/zinc_ingot_from_block.json b/src/generated/resources/data/anvilcraft/recipe/zinc_ingot_from_block.json index 7c58a8f42..91f32bd38 100644 --- a/src/generated/resources/data/anvilcraft/recipe/zinc_ingot_from_block.json +++ b/src/generated/resources/data/anvilcraft/recipe/zinc_ingot_from_block.json @@ -1,6 +1,7 @@ { "type": "minecraft:crafting_shapeless", "category": "misc", + "group": "anvilcraft:zinc_ingot", "ingredients": [ { "item": "anvilcraft:zinc_block" diff --git a/src/main/java/dev/dubhe/anvilcraft/init/ModBlocks.java b/src/main/java/dev/dubhe/anvilcraft/init/ModBlocks.java index 7db5e9ef3..99d4ed7be 100644 --- a/src/main/java/dev/dubhe/anvilcraft/init/ModBlocks.java +++ b/src/main/java/dev/dubhe/anvilcraft/init/ModBlocks.java @@ -649,6 +649,7 @@ public class ModBlocks { .define('S', ModItemTags.SILVER_PLATES) .define('F', Items.SUNFLOWER) .define('I', Blocks.IRON_BLOCK) + .group(ctx.getId().toString()) .unlockedBy(AnvilCraftDatagen.hasItem(Items.SUNFLOWER), AnvilCraftDatagen.has(Items.SUNFLOWER)) .unlockedBy(AnvilCraftDatagen.hasItem(Blocks.IRON_BLOCK), AnvilCraftDatagen.has(Blocks.IRON_BLOCK)) .save(provider, AnvilCraft.of("heliostats_biological")); @@ -660,6 +661,7 @@ public class ModBlocks { .define('D', Blocks.DAYLIGHT_DETECTOR) .define('C', ModItems.CIRCUIT_BOARD) .define('I', Blocks.IRON_BLOCK) + .group(ctx.getId().toString()) .unlockedBy(AnvilCraftDatagen.hasItem(ModItems.CIRCUIT_BOARD), AnvilCraftDatagen.has(ModItems.CIRCUIT_BOARD)) .unlockedBy(AnvilCraftDatagen.hasItem(Blocks.IRON_BLOCK), AnvilCraftDatagen.has(Blocks.IRON_BLOCK)) .save(provider, AnvilCraft.of("heliostats_electrical")); @@ -812,6 +814,7 @@ public class ModBlocks { .pattern("ABA") .define('A', Items.COPPER_INGOT) .define('B', Items.QUARTZ_BLOCK) + .group(ctx.getId().toString()) .unlockedBy( AnvilCraftDatagen.hasItem(Items.COPPER_INGOT), AnvilCraftDatagen.has(Items.COPPER_INGOT)) @@ -825,6 +828,7 @@ public class ModBlocks { .pattern("ABA") .define('A', Items.COPPER_INGOT) .define('B', Items.AMETHYST_BLOCK) + .group(ctx.getId().toString()) .unlockedBy( AnvilCraftDatagen.hasItem(Items.COPPER_INGOT), AnvilCraftDatagen.has(Items.COPPER_INGOT)) diff --git a/src/main/java/dev/dubhe/anvilcraft/init/ModItems.java b/src/main/java/dev/dubhe/anvilcraft/init/ModItems.java index e5595f6a5..7668bcd44 100644 --- a/src/main/java/dev/dubhe/anvilcraft/init/ModItems.java +++ b/src/main/java/dev/dubhe/anvilcraft/init/ModItems.java @@ -560,11 +560,13 @@ public class ModItems { ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, ctx.get(), 9) .requires(ModBlocks.MAGNET_BLOCK) .unlockedBy("hasitem", RegistrateRecipeProvider.has(ModBlocks.MAGNET_BLOCK)) - .save(provider, AnvilCraft.of("magnet_ingot_9")); + .group(ctx.getId().toString()) + .save(provider, AnvilCraft.of("magnet_ingot_from_block")); ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, ctx.get(), 8) .requires(ModBlocks.HOLLOW_MAGNET_BLOCK) + .group(ctx.getId().toString()) .unlockedBy("hasitem", RegistrateRecipeProvider.has(ModBlocks.HOLLOW_MAGNET_BLOCK)) - .save(provider, AnvilCraft.of("magnet_ingot_8")); + .save(provider, AnvilCraft.of("magnet_ingot_from_hollow_block")); }) .register(); public static final ItemEntry SPONGE_GEMMULE = @@ -576,6 +578,7 @@ public class ModItems { .recipe((ctx, provider) -> { ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, ctx.get(), 9) .requires(ModBlocks.ROYAL_STEEL_BLOCK) + .group(ctx.getId().toString()) .unlockedBy("hasitem", RegistrateRecipeProvider.has(ModBlocks.ROYAL_STEEL_BLOCK)) .save(provider, AnvilCraft.of("royal_steel_ingot_from_royal_steel_block")); ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ModItems.ROYAL_STEEL_INGOT) @@ -583,6 +586,7 @@ public class ModItems { .pattern("AAA") .pattern("AAA") .define('A', ModItems.ROYAL_STEEL_NUGGET) + .group(ctx.getId().toString()) .unlockedBy( AnvilCraftDatagen.hasItem(ModItems.ROYAL_STEEL_NUGGET.get()), AnvilCraftDatagen.has(ModItems.ROYAL_STEEL_NUGGET)) @@ -608,6 +612,7 @@ public class ModItems { .recipe((ctx, provider) -> { ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, ctx.get(), 9) .requires(ModBlocks.CURSED_GOLD_BLOCK) + .group(ctx.getId().toString()) .unlockedBy( AnvilCraftDatagen.hasItem(ModBlocks.CURSED_GOLD_BLOCK.asItem()), AnvilCraftDatagen.has(ModBlocks.CURSED_GOLD_BLOCK)) @@ -617,6 +622,7 @@ public class ModItems { .pattern("AAA") .pattern("AAA") .define('A', ModItems.CURSED_GOLD_NUGGET) + .group(ctx.getId().toString()) .unlockedBy( AnvilCraftDatagen.hasItem(ModItems.CURSED_GOLD_NUGGET.get()), AnvilCraftDatagen.has(ModItems.CURSED_GOLD_NUGGET)) @@ -748,6 +754,7 @@ public class ModItems { .recipe((ctx, provider) -> { ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, ctx.get(), 9) .requires(ModBlocks.TUNGSTEN_BLOCK) + .group(ctx.getId().toString()) .unlockedBy( AnvilCraftDatagen.hasItem(ModBlocks.TUNGSTEN_BLOCK.asItem()), AnvilCraftDatagen.has(ModBlocks.TUNGSTEN_BLOCK)) @@ -757,6 +764,7 @@ public class ModItems { .pattern("AAA") .pattern("AAA") .define('A', ModItemTags.TUNGSTEN_NUGGETS) + .group(ctx.getId().toString()) .unlockedBy( AnvilCraftDatagen.hasItem(ModItemTags.TUNGSTEN_NUGGETS), RegistrateRecipeProvider.has(ModItemTags.TUNGSTEN_NUGGETS)) @@ -767,6 +775,7 @@ public class ModItems { ctx.get(), 1, 200) + .group(ctx.getId().toString()) .unlockedBy("has_item", AnvilCraftDatagen.has(ModItems.RAW_TUNGSTEN)) .save(provider, AnvilCraft.of("smelting/" + ctx.getName())); SimpleCookingRecipeBuilder.blasting( @@ -775,6 +784,7 @@ public class ModItems { ctx.get(), 1, 100) + .group(ctx.getId().toString()) .unlockedBy("has_item", AnvilCraftDatagen.has(ModItems.RAW_TUNGSTEN)) .save(provider, AnvilCraft.of("blasting/" + ctx.getName())); SimpleCookingRecipeBuilder.smelting( @@ -783,6 +793,7 @@ public class ModItems { ctx.get(), 1, 200) + .group(ctx.getId().toString()) .unlockedBy("has_item", AnvilCraftDatagen.has(ModBlocks.DEEPSLATE_TUNGSTEN_ORE)) .save(provider, AnvilCraft.of("smelting/" + ctx.getName() + "_from_ore")); SimpleCookingRecipeBuilder.blasting( @@ -791,6 +802,7 @@ public class ModItems { ctx.get(), 1, 100) + .group(ctx.getId().toString()) .unlockedBy("has_item", AnvilCraftDatagen.has(ModBlocks.DEEPSLATE_TUNGSTEN_ORE)) .save(provider, AnvilCraft.of("blasting/" + ctx.getName() + "_from_ore")); }) @@ -813,6 +825,7 @@ public class ModItems { .recipe((ctx, provider) -> { ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, ctx.get(), 9) .requires(ModBlocks.TITANIUM_BLOCK) + .group(ctx.getId().toString()) .unlockedBy( AnvilCraftDatagen.hasItem(ModBlocks.TITANIUM_BLOCK.asItem()), AnvilCraftDatagen.has(ModBlocks.TITANIUM_BLOCK)) @@ -822,6 +835,7 @@ public class ModItems { .pattern("AAA") .pattern("AAA") .define('A', ModItemTags.TITANIUM_NUGGETS) + .group(ctx.getId().toString()) .unlockedBy( AnvilCraftDatagen.hasItem(ModItemTags.TITANIUM_NUGGETS), RegistrateRecipeProvider.has(ModItemTags.TITANIUM_NUGGETS)) @@ -832,6 +846,7 @@ public class ModItems { ctx.get(), 1, 200) + .group(ctx.getId().toString()) .unlockedBy("has_item", AnvilCraftDatagen.has(ModItems.RAW_TITANIUM)) .save(provider, AnvilCraft.of("smelting/" + ctx.getName())); SimpleCookingRecipeBuilder.blasting( @@ -840,6 +855,7 @@ public class ModItems { ctx.get(), 1, 100) + .group(ctx.getId().toString()) .unlockedBy("has_item", AnvilCraftDatagen.has(ModItems.RAW_TITANIUM)) .save(provider, AnvilCraft.of("blasting/" + ctx.getName())); SimpleCookingRecipeBuilder.smelting( @@ -848,6 +864,7 @@ public class ModItems { ctx.get(), 1, 200) + .group(ctx.getId().toString()) .unlockedBy("has_item", AnvilCraftDatagen.has(ModBlocks.DEEPSLATE_TITANIUM_ORE)) .save(provider, AnvilCraft.of("smelting/" + ctx.getName() + "_from_ore")); SimpleCookingRecipeBuilder.blasting( @@ -856,6 +873,7 @@ public class ModItems { ctx.get(), 1, 100) + .group(ctx.getId().toString()) .unlockedBy("has_item", AnvilCraftDatagen.has(ModBlocks.DEEPSLATE_TITANIUM_ORE)) .save(provider, AnvilCraft.of("blasting/" + ctx.getName() + "_from_ore")); }) @@ -878,6 +896,7 @@ public class ModItems { .recipe((ctx, provider) -> { ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, ctx.get(), 9) .requires(ModBlocks.ZINC_BLOCK) + .group(ctx.getId().toString()) .unlockedBy( AnvilCraftDatagen.hasItem(ModBlocks.ZINC_BLOCK.asItem()), AnvilCraftDatagen.has(ModBlocks.ZINC_BLOCK)) @@ -887,6 +906,7 @@ public class ModItems { .pattern("AAA") .pattern("AAA") .define('A', ModItemTags.ZINC_NUGGETS) + .group(ctx.getId().toString()) .unlockedBy( AnvilCraftDatagen.hasItem(ModItemTags.ZINC_NUGGETS), RegistrateRecipeProvider.has(ModItemTags.ZINC_NUGGETS)) @@ -897,6 +917,7 @@ public class ModItems { ctx.get(), 1, 200) + .group(ctx.getId().toString()) .unlockedBy("has_item", AnvilCraftDatagen.has(ModItems.RAW_ZINC)) .save(provider, AnvilCraft.of("smelting/" + ctx.getName())); SimpleCookingRecipeBuilder.blasting( @@ -905,6 +926,7 @@ public class ModItems { ctx.get(), 1, 100) + .group(ctx.getId().toString()) .unlockedBy("has_item", AnvilCraftDatagen.has(ModItems.RAW_ZINC)) .save(provider, AnvilCraft.of("blasting/" + ctx.getName())); SimpleCookingRecipeBuilder.smelting( @@ -913,6 +935,7 @@ public class ModItems { ctx.get(), 1, 200) + .group(ctx.getId().toString()) .unlockedBy("has_item", AnvilCraftDatagen.has(ModBlocks.DEEPSLATE_ZINC_ORE)) .save(provider, AnvilCraft.of("smelting/" + ctx.getName() + "_from_ore")); SimpleCookingRecipeBuilder.blasting( @@ -921,6 +944,7 @@ public class ModItems { ctx.get(), 1, 100) + .group(ctx.getId().toString()) .unlockedBy("has_item", AnvilCraftDatagen.has(ModBlocks.DEEPSLATE_ZINC_ORE)) .save(provider, AnvilCraft.of("blasting/" + ctx.getName() + "_from_ore")); }) @@ -943,6 +967,7 @@ public class ModItems { .recipe((ctx, provider) -> { ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, ctx.get(), 9) .requires(ModBlocks.TIN_BLOCK) + .group(ctx.getId().toString()) .unlockedBy( AnvilCraftDatagen.hasItem(ModBlocks.TIN_BLOCK.asItem()), AnvilCraftDatagen.has(ModBlocks.TIN_BLOCK)) @@ -952,6 +977,7 @@ public class ModItems { .pattern("AAA") .pattern("AAA") .define('A', ModItemTags.TIN_NUGGETS) + .group(ctx.getId().toString()) .unlockedBy( AnvilCraftDatagen.hasItem(ModItemTags.TIN_NUGGETS), RegistrateRecipeProvider.has(ModItemTags.TIN_NUGGETS)) @@ -962,6 +988,7 @@ public class ModItems { ctx.get(), 1, 200) + .group(ctx.getId().toString()) .unlockedBy("has_item", AnvilCraftDatagen.has(ModItems.RAW_TIN)) .save(provider, AnvilCraft.of("smelting/" + ctx.getName())); SimpleCookingRecipeBuilder.blasting( @@ -970,6 +997,7 @@ public class ModItems { ctx.get(), 1, 100) + .group(ctx.getId().toString()) .unlockedBy("has_item", AnvilCraftDatagen.has(ModItems.RAW_TIN)) .save(provider, AnvilCraft.of("blasting/" + ctx.getName())); SimpleCookingRecipeBuilder.smelting( @@ -978,6 +1006,7 @@ public class ModItems { ctx.get(), 1, 200) + .group(ctx.getId().toString()) .unlockedBy("has_item", AnvilCraftDatagen.has(ModBlocks.DEEPSLATE_TIN_ORE)) .save(provider, AnvilCraft.of("smelting/" + ctx.getName() + "_from_ore")); SimpleCookingRecipeBuilder.blasting( @@ -986,6 +1015,7 @@ public class ModItems { ctx.get(), 1, 100) + .group(ctx.getId().toString()) .unlockedBy("has_item", AnvilCraftDatagen.has(ModBlocks.DEEPSLATE_TIN_ORE)) .save(provider, AnvilCraft.of("blasting/" + ctx.getName() + "_from_ore")); }) @@ -1008,6 +1038,7 @@ public class ModItems { .recipe((ctx, provider) -> { ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, ctx.get(), 9) .requires(ModBlocks.LEAD_BLOCK) + .group(ctx.getId().toString()) .unlockedBy( AnvilCraftDatagen.hasItem(ModBlocks.LEAD_BLOCK.asItem()), AnvilCraftDatagen.has(ModBlocks.LEAD_BLOCK)) @@ -1017,6 +1048,7 @@ public class ModItems { .pattern("AAA") .pattern("AAA") .define('A', ModItemTags.LEAD_NUGGETS) + .group(ctx.getId().toString()) .unlockedBy( AnvilCraftDatagen.hasItem(ModItemTags.LEAD_NUGGETS), RegistrateRecipeProvider.has(ModItemTags.LEAD_NUGGETS)) @@ -1027,6 +1059,7 @@ public class ModItems { ctx.get(), 1, 200) + .group(ctx.getId().toString()) .unlockedBy("has_item", AnvilCraftDatagen.has(ModItems.RAW_LEAD)) .save(provider, AnvilCraft.of("smelting/" + ctx.getName())); SimpleCookingRecipeBuilder.blasting( @@ -1035,6 +1068,7 @@ public class ModItems { ctx.get(), 1, 100) + .group(ctx.getId().toString()) .unlockedBy("has_item", AnvilCraftDatagen.has(ModItems.RAW_LEAD)) .save(provider, AnvilCraft.of("blasting/" + ctx.getName())); SimpleCookingRecipeBuilder.smelting( @@ -1043,6 +1077,7 @@ public class ModItems { ctx.get(), 1, 200) + .group(ctx.getId().toString()) .unlockedBy("has_item", AnvilCraftDatagen.has(ModBlocks.DEEPSLATE_LEAD_ORE)) .save(provider, AnvilCraft.of("smelting/" + ctx.getName() + "_from_ore")); SimpleCookingRecipeBuilder.blasting( @@ -1051,6 +1086,7 @@ public class ModItems { ctx.get(), 1, 100) + .group(ctx.getId().toString()) .unlockedBy("has_item", AnvilCraftDatagen.has(ModBlocks.DEEPSLATE_LEAD_ORE)) .save(provider, AnvilCraft.of("blasting/" + ctx.getName() + "_from_ore")); }) @@ -1073,6 +1109,7 @@ public class ModItems { .recipe((ctx, provider) -> { ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, ctx.get(), 9) .requires(ModBlocks.SILVER_BLOCK) + .group(ctx.getId().toString()) .unlockedBy( AnvilCraftDatagen.hasItem(ModBlocks.SILVER_BLOCK.asItem()), AnvilCraftDatagen.has(ModBlocks.SILVER_BLOCK)) @@ -1082,6 +1119,7 @@ public class ModItems { .pattern("AAA") .pattern("AAA") .define('A', ModItemTags.SILVER_NUGGETS) + .group(ctx.getId().toString()) .unlockedBy( AnvilCraftDatagen.hasItem(ModItemTags.SILVER_NUGGETS), RegistrateRecipeProvider.has(ModItemTags.SILVER_NUGGETS)) @@ -1092,6 +1130,7 @@ public class ModItems { ctx.get(), 1, 200) + .group(ctx.getId().toString()) .unlockedBy("has_item", AnvilCraftDatagen.has(ModItems.RAW_SILVER)) .save(provider, AnvilCraft.of("smelting/" + ctx.getName())); SimpleCookingRecipeBuilder.blasting( @@ -1100,6 +1139,7 @@ public class ModItems { ctx.get(), 1, 100) + .group(ctx.getId().toString()) .unlockedBy("has_item", AnvilCraftDatagen.has(ModItems.RAW_SILVER)) .save(provider, AnvilCraft.of("blasting/" + ctx.getName())); @@ -1109,6 +1149,7 @@ public class ModItems { ctx.get(), 1, 200) + .group(ctx.getId().toString()) .unlockedBy("has_item", AnvilCraftDatagen.has(ModBlocks.DEEPSLATE_SILVER_ORE)) .save(provider, AnvilCraft.of("smelting/" + ctx.getName() + "_from_ore")); SimpleCookingRecipeBuilder.blasting( @@ -1117,6 +1158,7 @@ public class ModItems { ctx.get(), 1, 100) + .group(ctx.getId().toString()) .unlockedBy("has_item", AnvilCraftDatagen.has(ModBlocks.DEEPSLATE_SILVER_ORE)) .save(provider, AnvilCraft.of("blasting/" + ctx.getName() + "_from_ore")); }) @@ -1139,6 +1181,7 @@ public class ModItems { .recipe((ctx, provider) -> { ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, ctx.get(), 9) .requires(ModBlocks.URANIUM_BLOCK) + .group(ctx.getId().toString()) .unlockedBy( AnvilCraftDatagen.hasItem(ModBlocks.URANIUM_BLOCK.asItem()), AnvilCraftDatagen.has(ModBlocks.URANIUM_BLOCK)) @@ -1148,6 +1191,7 @@ public class ModItems { .pattern("AAA") .pattern("AAA") .define('A', ModItemTags.URANIUM_NUGGETS) + .group(ctx.getId().toString()) .unlockedBy( AnvilCraftDatagen.hasItem(ModItemTags.URANIUM_NUGGETS), RegistrateRecipeProvider.has(ModItemTags.URANIUM_NUGGETS)) @@ -1158,6 +1202,7 @@ public class ModItems { ctx.get(), 1, 200) + .group(ctx.getId().toString()) .unlockedBy("has_item", AnvilCraftDatagen.has(ModItems.RAW_URANIUM)) .save(provider, AnvilCraft.of("smelting/" + ctx.getName())); SimpleCookingRecipeBuilder.blasting( @@ -1166,6 +1211,7 @@ public class ModItems { ctx.get(), 1, 100) + .group(ctx.getId().toString()) .unlockedBy("has_item", AnvilCraftDatagen.has(ModItems.RAW_URANIUM)) .save(provider, AnvilCraft.of("blasting/" + ctx.getName())); SimpleCookingRecipeBuilder.smelting( @@ -1174,6 +1220,7 @@ public class ModItems { ctx.get(), 1, 200) + .group(ctx.getId().toString()) .unlockedBy("has_item", AnvilCraftDatagen.has(ModBlocks.DEEPSLATE_URANIUM_ORE)) .save(provider, AnvilCraft.of("smelting/" + ctx.getName() + "_from_ore")); SimpleCookingRecipeBuilder.blasting( @@ -1182,6 +1229,7 @@ public class ModItems { ctx.get(), 1, 100) + .group(ctx.getId().toString()) .unlockedBy("has_item", AnvilCraftDatagen.has(ModBlocks.DEEPSLATE_URANIUM_ORE)) .save(provider, AnvilCraft.of("blasting/" + ctx.getName() + "_from_ore")); }) @@ -1209,6 +1257,7 @@ public class ModItems { .recipe((ctx, provider) -> { ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, ctx.get(), 9) .requires(ModBlocks.BRONZE_BLOCK) + .group(ctx.getId().toString()) .unlockedBy( AnvilCraftDatagen.hasItem(ModBlocks.BRONZE_BLOCK.asItem()), AnvilCraftDatagen.has(ModBlocks.BRONZE_BLOCK)) @@ -1218,6 +1267,7 @@ public class ModItems { .pattern("AAA") .pattern("AAA") .define('A', ModItemTags.BRONZE_NUGGETS) + .group(ctx.getId().toString()) .unlockedBy( AnvilCraftDatagen.hasItem(ModItemTags.BRONZE_NUGGETS), RegistrateRecipeProvider.has(ModItemTags.BRONZE_NUGGETS)) @@ -1244,6 +1294,7 @@ public class ModItems { .recipe((ctx, provider) -> { ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, ctx.get(), 9) .requires(ModBlocks.BRASS_BLOCK) + .group(ctx.getId().toString()) .unlockedBy( AnvilCraftDatagen.hasItem(ModBlocks.BRASS_BLOCK.asItem()), AnvilCraftDatagen.has(ModBlocks.BRASS_BLOCK)) @@ -1253,6 +1304,7 @@ public class ModItems { .pattern("AAA") .pattern("AAA") .define('A', ModItemTags.BRASS_NUGGETS) + .group(ctx.getId().toString()) .unlockedBy( AnvilCraftDatagen.hasItem(ModItemTags.BRASS_NUGGETS), RegistrateRecipeProvider.has(ModItemTags.BRASS_NUGGETS)) @@ -1412,6 +1464,7 @@ public class ModItems { .recipe((ctx, provider) -> { ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, ctx.get(), 9) .requires(ModBlocks.EMBER_METAL_BLOCK) + .group(ctx.getId().toString()) .unlockedBy( AnvilCraftDatagen.hasItem(ModBlocks.EMBER_METAL_BLOCK.asItem()), AnvilCraftDatagen.has(ModBlocks.EMBER_METAL_BLOCK)) @@ -1421,6 +1474,7 @@ public class ModItems { .pattern("AAA") .pattern("AAA") .define('A', ModItems.EMBER_METAL_NUGGET) + .group(ctx.getId().toString()) .unlockedBy( AnvilCraftDatagen.hasItem(ModItemTags.TUNGSTEN_NUGGETS), RegistrateRecipeProvider.has(ModItemTags.TUNGSTEN_NUGGETS)) From 6e03aec72afcc6ec5dfd78d019bd27235407cf67 Mon Sep 17 00:00:00 2001 From: YocyCraft Date: Wed, 1 Jan 2025 17:20:23 +0800 Subject: [PATCH 12/14] Fix recipe group of netherite crystal nucleus --- .../recipes/{tools => misc}/netherite_crystal_nucleus.json | 0 .../data/anvilcraft/recipe/netherite_crystal_nucleus.json | 2 +- src/main/java/dev/dubhe/anvilcraft/init/ModItems.java | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) rename src/generated/resources/data/anvilcraft/advancement/recipes/{tools => misc}/netherite_crystal_nucleus.json (100%) diff --git a/src/generated/resources/data/anvilcraft/advancement/recipes/tools/netherite_crystal_nucleus.json b/src/generated/resources/data/anvilcraft/advancement/recipes/misc/netherite_crystal_nucleus.json similarity index 100% rename from src/generated/resources/data/anvilcraft/advancement/recipes/tools/netherite_crystal_nucleus.json rename to src/generated/resources/data/anvilcraft/advancement/recipes/misc/netherite_crystal_nucleus.json diff --git a/src/generated/resources/data/anvilcraft/recipe/netherite_crystal_nucleus.json b/src/generated/resources/data/anvilcraft/recipe/netherite_crystal_nucleus.json index 21427628e..6c1933411 100644 --- a/src/generated/resources/data/anvilcraft/recipe/netherite_crystal_nucleus.json +++ b/src/generated/resources/data/anvilcraft/recipe/netherite_crystal_nucleus.json @@ -1,6 +1,6 @@ { "type": "minecraft:crafting_shaped", - "category": "equipment", + "category": "misc", "key": { "A": { "item": "anvilcraft:tungsten_pressure_plate" diff --git a/src/main/java/dev/dubhe/anvilcraft/init/ModItems.java b/src/main/java/dev/dubhe/anvilcraft/init/ModItems.java index 7668bcd44..92c69eb2a 100644 --- a/src/main/java/dev/dubhe/anvilcraft/init/ModItems.java +++ b/src/main/java/dev/dubhe/anvilcraft/init/ModItems.java @@ -1332,7 +1332,7 @@ public class ModItems { .item("netherite_crystal_nucleus", Item::new) .initialProperties(() -> new Item.Properties().fireResistant()) .recipe((ctx, provider) -> { - ShapedRecipeBuilder.shaped(RecipeCategory.TOOLS, ctx.get()) + ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get()) .pattern("ABA") .define('A', ModBlocks.TUNGSTEN_PRESSURE_PLATE) .define('B', Items.NETHERITE_SCRAP) From 9ef00a7d4e5eba9fdb0cc160c87e6079affb394a Mon Sep 17 00:00:00 2001 From: YocyCraft Date: Wed, 1 Jan 2025 18:00:33 +0800 Subject: [PATCH 13/14] Fixed push reaction of sturdy deepslate --- .../dev/dubhe/anvilcraft/init/ModBlocks.java | 2 +- .../anvilcraft/recipe/RecipeGenerator.java | 28 +++++++++---------- 2 files changed, 14 insertions(+), 16 deletions(-) diff --git a/src/main/java/dev/dubhe/anvilcraft/init/ModBlocks.java b/src/main/java/dev/dubhe/anvilcraft/init/ModBlocks.java index 99d4ed7be..62e39c71a 100644 --- a/src/main/java/dev/dubhe/anvilcraft/init/ModBlocks.java +++ b/src/main/java/dev/dubhe/anvilcraft/init/ModBlocks.java @@ -2859,7 +2859,7 @@ public class ModBlocks { public static final BlockEntry STURDY_DEEPSLATE = REGISTRATE .block("sturdy_deepslate", Block::new) .initialProperties(() -> Blocks.REINFORCED_DEEPSLATE) - .properties(properties -> properties.noLootTable()) + .properties(properties -> properties.noLootTable().pushReaction(PushReaction.BLOCK)) .simpleItem() .loot((tables, block)->{}) .register(); diff --git a/src/main/java/dev/dubhe/anvilcraft/recipe/RecipeGenerator.java b/src/main/java/dev/dubhe/anvilcraft/recipe/RecipeGenerator.java index 2b55fd57f..41be1ab49 100644 --- a/src/main/java/dev/dubhe/anvilcraft/recipe/RecipeGenerator.java +++ b/src/main/java/dev/dubhe/anvilcraft/recipe/RecipeGenerator.java @@ -25,23 +25,29 @@ public class RecipeGenerator { private static final Logger logger = LogUtils.getLogger(); - - public static Optional> handleVanillaRecipe( + private static ResourceLocation generateRecipeId( RecipeType recipeType, RecipeHolder recipeHolder ) { - if (recipeType != RecipeType.SMOKING && recipeType != RecipeType.CRAFTING) return Optional.empty(); logger.debug("Generating anvil recipe for {}", recipeHolder.id()); logger.debug("Recipe type of {} is {}", recipeHolder.id(), recipeType); ResourceLocation newId = AnvilCraft.of(recipeHolder.id().getPath() + generateUniqueRecipeSuffix()); logger.debug("New id of {} is {}", recipeHolder.id(), newId); + return newId; + } + + public static Optional> handleVanillaRecipe( + RecipeType recipeType, + RecipeHolder recipeHolder + ) { + if (recipeType != RecipeType.SMOKING && recipeType != RecipeType.CRAFTING) return Optional.empty(); if (recipeType == RecipeType.SMOKING) { SmokingRecipe recipe = (SmokingRecipe) recipeHolder.value(); CookingRecipe newRecipe = CookingRecipe.builder() .requires(recipe.ingredient) .result(recipe.result) .buildRecipe(); - return Optional.of(new RecipeHolder<>(newId, newRecipe)); + return Optional.of(new RecipeHolder<>(generateRecipeId(recipeType, recipeHolder), newRecipe)); } // if (recipeType == RecipeType.BLASTING) { // BlastingRecipe recipe = (BlastingRecipe) recipeHolder.value(); @@ -86,7 +92,7 @@ public static Optional> handleVanillaRecipe( .result(shapedRecipe.result) .requires(pattern.ingredients().getFirst(), pattern.height() * pattern.height()) .buildRecipe(); - return Optional.of(new RecipeHolder<>(newId, newRecipe)); + return Optional.of(new RecipeHolder<>(generateRecipeId(recipeType, recipeHolder), newRecipe)); } } else { if (recipe instanceof ShapelessRecipe shapelessRecipe) { @@ -96,26 +102,18 @@ public static Optional> handleVanillaRecipe( .result(shapelessRecipe.result) .requires(ingredients.getFirst()) .buildRecipe(); - return Optional.of(new RecipeHolder<>(newId, newRecipe)); + return Optional.of(new RecipeHolder<>(generateRecipeId(recipeType, recipeHolder), newRecipe)); } if (RecipeUtil.allIngredientEquals(ingredients)) { ItemCompressRecipe newRecipe = ItemCompressRecipe.builder() .result(shapelessRecipe.result) .requires(ingredients.getFirst(), ingredients.size()) .buildRecipe(); - return Optional.of(new RecipeHolder<>(newId, newRecipe)); + return Optional.of(new RecipeHolder<>(generateRecipeId(recipeType, recipeHolder), newRecipe)); } } } } return Optional.empty(); } - - public static void testSwitch(Object o) { - switch (o) { - case String s -> System.out.println(s); - case Integer i -> System.out.println(i * i + 5); - default -> throw new IllegalStateException("Unexpected value: " + o); - } - } } From 00fdcd3da5f79182ff193ee654076f70f246b556 Mon Sep 17 00:00:00 2001 From: YocyCraft Date: Wed, 1 Jan 2025 22:32:16 +0800 Subject: [PATCH 14/14] Implement JEI plugin for void decay --- .../assets/anvilcraft/lang/en_ud.json | 5 + .../assets/anvilcraft/lang/en_us.json | 5 + .../dubhe/anvilcraft/data/lang/JeiLang.java | 6 + .../integration/jei/AnvilCraftJeiPlugin.java | 7 + .../jei/category/VoidDecayCategory.java | 187 ++++++++++++++++++ .../category/anvil/BlockCompressCategory.java | 8 +- .../jei/recipe/VoidDecayRecipe.java | 40 ++++ ...agDisplayHelper.java => BlockTagUtil.java} | 21 +- 8 files changed, 274 insertions(+), 5 deletions(-) create mode 100644 src/main/java/dev/dubhe/anvilcraft/integration/jei/category/VoidDecayCategory.java create mode 100644 src/main/java/dev/dubhe/anvilcraft/integration/jei/recipe/VoidDecayRecipe.java rename src/main/java/dev/dubhe/anvilcraft/integration/jei/util/{BlockTagDisplayHelper.java => BlockTagUtil.java} (68%) diff --git a/src/generated/resources/assets/anvilcraft/lang/en_ud.json b/src/generated/resources/assets/anvilcraft/lang/en_ud.json index fdb655ef7..dd15d2d96 100644 --- a/src/generated/resources/assets/anvilcraft/lang/en_ud.json +++ b/src/generated/resources/assets/anvilcraft/lang/en_ud.json @@ -313,6 +313,11 @@ "gui.anvilcraft.category.time_warp.consume_fluid": "%s :ǝɯnsuoƆ", "gui.anvilcraft.category.time_warp.need_activated": "pǝʇɐʌıʇɔⱯ pǝǝN", "gui.anvilcraft.category.time_warp.produce_fluid": "%s :ǝɔnpoɹԀ", + "gui.anvilcraft.category.void_decay": "ʎɐɔǝᗡ pıoΛ", + "gui.anvilcraft.category.void_decay.around": "ʞɔoןq ɹǝʇuǝɔ ǝɥʇ oʇ ʇuǝɔɐظpɐ ʞɔoןq sıɥʇ ʇnԀ", + "gui.anvilcraft.category.void_decay.center": "ɹǝʇuǝɔ ʇɐ ʞɔoןq sıɥʇ ʇnԀ", + "gui.anvilcraft.category.void_decay.not_consumed": "uoısɹǝʌuoɔ uı pǝɯnsuoɔ ʇoN", + "gui.anvilcraft.category.void_decay.random_tick": "ʞɔıʇ ɯopuɐɹ pǝʌıǝɔǝɹ uǝɥʍ pǝʇɹǝʌuoɔ ǝq ןןıʍ ɹǝʇuǝɔ ʇɐ ʞɔoןq ǝɥ⟘", "item.anvilcraft.amber": "ɹǝqɯⱯ", "item.anvilcraft.amethyst_axe": "ǝxⱯ ʇsʎɥʇǝɯⱯ", "item.anvilcraft.amethyst_hoe": "ǝoH ʇsʎɥʇǝɯⱯ", diff --git a/src/generated/resources/assets/anvilcraft/lang/en_us.json b/src/generated/resources/assets/anvilcraft/lang/en_us.json index 9bef98565..de2b43fd4 100644 --- a/src/generated/resources/assets/anvilcraft/lang/en_us.json +++ b/src/generated/resources/assets/anvilcraft/lang/en_us.json @@ -313,6 +313,11 @@ "gui.anvilcraft.category.time_warp.consume_fluid": "Consume: %s", "gui.anvilcraft.category.time_warp.need_activated": "Need Activated", "gui.anvilcraft.category.time_warp.produce_fluid": "Produce: %s", + "gui.anvilcraft.category.void_decay": "Void Decay", + "gui.anvilcraft.category.void_decay.around": "Put this block adjacent to the center block", + "gui.anvilcraft.category.void_decay.center": "Put this block at center", + "gui.anvilcraft.category.void_decay.not_consumed": "Not consumed in conversion", + "gui.anvilcraft.category.void_decay.random_tick": "The block at center will be converted when received random tick", "item.anvilcraft.amber": "Amber", "item.anvilcraft.amethyst_axe": "Amethyst Axe", "item.anvilcraft.amethyst_hoe": "Amethyst Hoe", diff --git a/src/main/java/dev/dubhe/anvilcraft/data/lang/JeiLang.java b/src/main/java/dev/dubhe/anvilcraft/data/lang/JeiLang.java index 37fc55a83..ac0d0dcd2 100644 --- a/src/main/java/dev/dubhe/anvilcraft/data/lang/JeiLang.java +++ b/src/main/java/dev/dubhe/anvilcraft/data/lang/JeiLang.java @@ -55,6 +55,12 @@ public static void init(RegistrateLangProvider provider) { provider.add("gui.anvilcraft.category.beacon_conversion.activate", "Use this item to activate beacon"); provider.add("gui.anvilcraft.category.beacon_conversion.beacon_base", "Use this block as beacon base"); + provider.add("gui.anvilcraft.category.void_decay", "Void Decay"); + provider.add("gui.anvilcraft.category.void_decay.random_tick", "The block at center will be converted when received random tick"); + provider.add("gui.anvilcraft.category.void_decay.center", "Put this block at center"); + provider.add("gui.anvilcraft.category.void_decay.around", "Put this block adjacent to the center block"); + provider.add("gui.anvilcraft.category.void_decay.not_consumed", "Not consumed in conversion"); + provider.add("jei.anvilcraft.info.geode_1", "Finds Amethyst Geodes nearby when using."); provider.add("jei.anvilcraft.info.geode_2", "Dropped by Budding Amethyst blocks."); provider.add("jei.anvilcraft.info.geode_3", "You can also find it in the Bonus Chest"); diff --git a/src/main/java/dev/dubhe/anvilcraft/integration/jei/AnvilCraftJeiPlugin.java b/src/main/java/dev/dubhe/anvilcraft/integration/jei/AnvilCraftJeiPlugin.java index 8b75d512a..816afd0d2 100644 --- a/src/main/java/dev/dubhe/anvilcraft/integration/jei/AnvilCraftJeiPlugin.java +++ b/src/main/java/dev/dubhe/anvilcraft/integration/jei/AnvilCraftJeiPlugin.java @@ -7,6 +7,7 @@ import dev.dubhe.anvilcraft.integration.jei.category.BeaconConversionCategory; import dev.dubhe.anvilcraft.integration.jei.category.EndPortalConversionCategory; import dev.dubhe.anvilcraft.integration.jei.category.JewelCraftingCategory; +import dev.dubhe.anvilcraft.integration.jei.category.VoidDecayCategory; import dev.dubhe.anvilcraft.integration.jei.category.anvil.BlockCompressCategory; import dev.dubhe.anvilcraft.integration.jei.category.anvil.BlockCrushCategory; import dev.dubhe.anvilcraft.integration.jei.category.anvil.BoilingCategory; @@ -28,6 +29,7 @@ import dev.dubhe.anvilcraft.integration.jei.recipe.ColoredConcreteRecipe; import dev.dubhe.anvilcraft.integration.jei.recipe.EndPortalConversionRecipe; import dev.dubhe.anvilcraft.integration.jei.recipe.MeshRecipeGroup; +import dev.dubhe.anvilcraft.integration.jei.recipe.VoidDecayRecipe; import dev.dubhe.anvilcraft.recipe.JewelCraftingRecipe; import dev.dubhe.anvilcraft.recipe.anvil.BlockCompressRecipe; import dev.dubhe.anvilcraft.recipe.anvil.BlockCrushRecipe; @@ -77,6 +79,8 @@ public class AnvilCraftJeiPlugin implements IModPlugin { createRecipeType("end_portal_conversion", EndPortalConversionRecipe.class); public static final RecipeType BEACON_CONVERSION = createRecipeType("beacon_conversion", BeaconConversionRecipe.class); + public static final RecipeType VOID_DECAY = + createRecipeType("void_decay", VoidDecayRecipe.class); public static final RecipeType> BLOCK_COMPRESS = createRecipeHolderType("block_compress"); @@ -124,6 +128,7 @@ public void registerRecipes(IRecipeRegistration registration) { JewelCraftingCategory.registerRecipes(registration); EndPortalConversionCategory.registerRecipes(registration); BeaconConversionCategory.registerRecipes(registration); + VoidDecayCategory.registerRecipes(registration); registration.addItemStackInfo( new ItemStack(ModItems.GEODE.get()), @@ -167,6 +172,7 @@ public void registerRecipeCatalysts(IRecipeCatalystRegistration registration) { JewelCraftingCategory.registerRecipeCatalysts(registration); EndPortalConversionCategory.registerRecipeCatalysts(registration); BeaconConversionCategory.registerRecipeCatalysts(registration); + VoidDecayCategory.registerRecipeCatalysts(registration); registration.addRecipeCatalyst(new ItemStack(ModBlocks.BATCH_CRAFTER), RecipeTypes.CRAFTING); @@ -203,6 +209,7 @@ public void registerCategories(IRecipeCategoryRegistration registration) { registration.addRecipeCategories(new JewelCraftingCategory(guiHelper)); registration.addRecipeCategories(new EndPortalConversionCategory(guiHelper)); registration.addRecipeCategories(new BeaconConversionCategory(guiHelper)); + registration.addRecipeCategories(new VoidDecayCategory(guiHelper)); } @Override diff --git a/src/main/java/dev/dubhe/anvilcraft/integration/jei/category/VoidDecayCategory.java b/src/main/java/dev/dubhe/anvilcraft/integration/jei/category/VoidDecayCategory.java new file mode 100644 index 000000000..c28e982aa --- /dev/null +++ b/src/main/java/dev/dubhe/anvilcraft/integration/jei/category/VoidDecayCategory.java @@ -0,0 +1,187 @@ +package dev.dubhe.anvilcraft.integration.jei.category; + +import com.google.common.collect.ImmutableList; +import dev.dubhe.anvilcraft.init.ModBlocks; +import dev.dubhe.anvilcraft.integration.jei.AnvilCraftJeiPlugin; +import dev.dubhe.anvilcraft.integration.jei.recipe.VoidDecayRecipe; +import dev.dubhe.anvilcraft.integration.jei.util.BlockTagUtil; +import dev.dubhe.anvilcraft.integration.jei.util.TextureConstants; +import dev.dubhe.anvilcraft.util.LevelLike; +import dev.dubhe.anvilcraft.util.RenderHelper; +import mezz.jei.api.gui.builder.IRecipeLayoutBuilder; +import mezz.jei.api.gui.builder.ITooltipBuilder; +import mezz.jei.api.gui.drawable.IDrawable; +import mezz.jei.api.gui.ingredient.IRecipeSlotsView; +import mezz.jei.api.helpers.IGuiHelper; +import mezz.jei.api.recipe.IFocusGroup; +import mezz.jei.api.recipe.RecipeIngredientRole; +import mezz.jei.api.recipe.RecipeType; +import mezz.jei.api.recipe.category.IRecipeCategory; +import mezz.jei.api.registration.IRecipeCatalystRegistration; +import mezz.jei.api.registration.IRecipeRegistration; +import mezz.jei.common.util.RegistryUtil; +import net.minecraft.ChatFormatting; +import net.minecraft.MethodsReturnNonnullByDefault; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.core.BlockPos; +import net.minecraft.core.HolderSet; +import net.minecraft.core.registries.Registries; +import net.minecraft.network.chat.Component; +import net.minecraft.world.item.ItemStack; +import net.neoforged.neoforge.common.util.Lazy; +import org.jetbrains.annotations.Nullable; + +import javax.annotation.ParametersAreNonnullByDefault; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.atomic.AtomicInteger; + +@MethodsReturnNonnullByDefault +@ParametersAreNonnullByDefault +public class VoidDecayCategory implements IRecipeCategory { + public static final int WIDTH = 162; + public static final int HEIGHT = 128; + public static final int MAX_SHOWN_ROW = 7; + public static final int MAX_SHOWN_COLUMN = 5; + public static final int MAX_SHOWN_COUNT = MAX_SHOWN_ROW * MAX_SHOWN_COLUMN; + + private final Lazy background; + private final IDrawable slot; + private final Component title; + private final IDrawable progressArrow; + private final Component randomTickTooltip; + private final Component centerTooltip; + private final Component aroundTooltip; + private final Component notConsumedTooltip; + + private final Map cache = new HashMap<>(); + + private static final ImmutableList CATALYST_POS = ImmutableList.of( + new BlockPos(1, 0, 1), + new BlockPos(1, 1, 0), + new BlockPos(1, 1, 2), + new BlockPos(1, 2, 1), + new BlockPos(0, 1, 1) + ); + private static final BlockPos CENTER_POS = new BlockPos(1, 1, 1); + + public VoidDecayCategory(IGuiHelper helper) { + background = Lazy.of(() -> helper.createBlankDrawable(WIDTH, HEIGHT)); + slot = helper.getSlotDrawable(); + title = Component.translatable("gui.anvilcraft.category.void_decay"); + randomTickTooltip = Component.translatable("gui.anvilcraft.category.void_decay.random_tick"); + centerTooltip = Component.translatable("gui.anvilcraft.category.void_decay.center") + .withStyle(ChatFormatting.GOLD); + aroundTooltip = Component.translatable("gui.anvilcraft.category.void_decay.around") + .withStyle(ChatFormatting.GOLD); + notConsumedTooltip = Component.translatable("gui.anvilcraft.category.void_decay.not_consumed") + .withStyle(ChatFormatting.GOLD); + progressArrow = helper.drawableBuilder(TextureConstants.PROGRESS, 0, 0, 24, 16) + .setTextureSize(24, 16) + .build(); + } + + @Override + public RecipeType getRecipeType() { + return AnvilCraftJeiPlugin.VOID_DECAY; + } + + @Override + public Component getTitle() { + return title; + } + + @Override + public IDrawable getBackground() { + return background.get(); + } + + @Override + public @Nullable IDrawable getIcon() { + return null; + } + + @Override + public void setRecipe( + IRecipeLayoutBuilder builder, VoidDecayRecipe recipe, IFocusGroup focuses) { + builder.addSlot(RecipeIngredientRole.INPUT, 8, 84) + .addItemStack(recipe.center.asItem().getDefaultInstance()) + .addRichTooltipCallback((recipeSlotView, tooltip) -> + tooltip.add(centerTooltip)); + builder.addSlot(RecipeIngredientRole.CATALYST, 8, 102) + .addItemStack(new ItemStack(recipe.catalyst.asItem(), recipe.catalystCount)) + .addRichTooltipCallback((recipeSlotView, tooltip) -> + tooltip.addAll(List.of(aroundTooltip, notConsumedTooltip))); + builder.addInvisibleIngredients(RecipeIngredientRole.OUTPUT) + .addIngredients(BlockTagUtil.toIngredient(recipe.result)); + AtomicInteger slotId = new AtomicInteger(0); + RegistryUtil.getRegistry(Registries.BLOCK) + .getTag(recipe.result) + .stream() + .flatMap(HolderSet.ListBacked::stream) + .map(h -> h.value().asItem().getDefaultInstance()) + .limit(MAX_SHOWN_COUNT) + .forEach(stack -> { + int id = slotId.getAndAdd(1); + builder.addSlot(RecipeIngredientRole.RENDER_ONLY, + (id % MAX_SHOWN_COLUMN) * 18 + 66, + (id / MAX_SHOWN_COLUMN) * 18 + 4) + .addItemStack(stack); + }); + } + + @Override + public void draw( + VoidDecayRecipe recipe, + IRecipeSlotsView recipeSlotsView, + GuiGraphics guiGraphics, + double mouseX, + double mouseY) { + LevelLike level = cache.get(recipe); + if (level == null) { + LevelLike showCase = new LevelLike(Minecraft.getInstance().level); + CATALYST_POS.forEach(pos -> showCase.setBlockState(pos, recipe.catalyst.defaultBlockState())); + showCase.setBlockState(CENTER_POS, recipe.center.defaultBlockState()); + cache.put(recipe, showCase); + level = showCase; + } + + RenderHelper.renderLevelLike(level, guiGraphics, 24, 36, 60, 0.5f); + + slot.draw(guiGraphics, 7, 83); + slot.draw(guiGraphics, 7, 101); + for (int i = 0; i < MAX_SHOWN_ROW; i++) { + for (int j = 0; j < MAX_SHOWN_COLUMN; j++) { + int x = 65 + j * 18; + int y = 3 + i * 18; + slot.draw(guiGraphics, x, y); + } + } + + progressArrow.draw(guiGraphics, 26, 84); + } + + @Override + public void getTooltip( + ITooltipBuilder tooltip, + VoidDecayRecipe recipe, + IRecipeSlotsView recipeSlotsView, + double mouseX, + double mouseY) { + if (mouseX >= 5 && mouseX <= 45 && mouseY >= 15 && mouseY <= 65) { + tooltip.add(randomTickTooltip); + } + } + + public static void registerRecipes(IRecipeRegistration registration) { + registration.addRecipes( + AnvilCraftJeiPlugin.VOID_DECAY, + VoidDecayRecipe.getAllRecipes()); + } + + public static void registerRecipeCatalysts(IRecipeCatalystRegistration registration) { + registration.addRecipeCatalyst(ModBlocks.VOID_MATTER_BLOCK.asStack(), AnvilCraftJeiPlugin.VOID_DECAY); + } +} diff --git a/src/main/java/dev/dubhe/anvilcraft/integration/jei/category/anvil/BlockCompressCategory.java b/src/main/java/dev/dubhe/anvilcraft/integration/jei/category/anvil/BlockCompressCategory.java index 02cd69c15..fc652cc77 100644 --- a/src/main/java/dev/dubhe/anvilcraft/integration/jei/category/anvil/BlockCompressCategory.java +++ b/src/main/java/dev/dubhe/anvilcraft/integration/jei/category/anvil/BlockCompressCategory.java @@ -4,7 +4,7 @@ import dev.dubhe.anvilcraft.init.ModBlocks; import dev.dubhe.anvilcraft.init.ModRecipeTypes; import dev.dubhe.anvilcraft.integration.jei.AnvilCraftJeiPlugin; -import dev.dubhe.anvilcraft.integration.jei.util.BlockTagDisplayHelper; +import dev.dubhe.anvilcraft.integration.jei.util.BlockTagUtil; import dev.dubhe.anvilcraft.integration.jei.util.JeiRecipeUtil; import dev.dubhe.anvilcraft.integration.jei.util.JeiRenderHelper; import dev.dubhe.anvilcraft.integration.jei.util.TextureConstants; @@ -126,7 +126,7 @@ public void draw( Either, Block> input = recipe.inputs.get(i); AtomicReference renderedState = new AtomicReference<>(); input.ifRight(r -> renderedState.set(r.defaultBlockState())) - .ifLeft(tag -> BlockTagDisplayHelper.getDisplay(tag) + .ifLeft(tag -> BlockTagUtil.getDisplay(tag) .ifPresent(block -> renderedState.set(block.defaultBlockState()))); if(renderedState.get() != null){ RenderHelper.renderBlock( @@ -159,10 +159,10 @@ public void getTooltip( if (mouseX >= 40 && mouseX <= 58) { if (mouseY >= 24 && mouseY < 42) { - tooltip.addAll(BlockTagDisplayHelper.getTooltipsForInput(recipe.inputs.getFirst())); + tooltip.addAll(BlockTagUtil.getTooltipsForInput(recipe.inputs.getFirst())); } if (mouseY >= 42 && mouseY <= 52) { - tooltip.addAll(BlockTagDisplayHelper.getTooltipsForInput(recipe.inputs.getLast())); + tooltip.addAll(BlockTagUtil.getTooltipsForInput(recipe.inputs.getLast())); } } if (mouseX >= 100 && mouseX <= 120) { diff --git a/src/main/java/dev/dubhe/anvilcraft/integration/jei/recipe/VoidDecayRecipe.java b/src/main/java/dev/dubhe/anvilcraft/integration/jei/recipe/VoidDecayRecipe.java new file mode 100644 index 000000000..5dd86eb8e --- /dev/null +++ b/src/main/java/dev/dubhe/anvilcraft/integration/jei/recipe/VoidDecayRecipe.java @@ -0,0 +1,40 @@ +package dev.dubhe.anvilcraft.integration.jei.recipe; + +import com.google.common.collect.ImmutableList; +import dev.dubhe.anvilcraft.block.VoidMatterBlock; +import dev.dubhe.anvilcraft.init.ModBlockTags; +import dev.dubhe.anvilcraft.init.ModBlocks; +import net.minecraft.tags.TagKey; +import net.minecraft.world.level.block.Block; + +public class VoidDecayRecipe { + + public final Block center; + public final Block catalyst; + public final TagKey result; + public final int catalystCount; + + public VoidDecayRecipe(Block center, Block catalyst, TagKey result, int catalystCount) { + if (catalystCount < 1 || catalystCount > 6) { + throw new IllegalArgumentException("catalystCount should be in range [1, 6], but found " + catalyst); + } + this.center = center; + this.catalyst = catalyst; + this.result = result; + this.catalystCount = catalystCount; + } + + public VoidDecayRecipe(Block center, Block catalyst, TagKey result) { + this(center, catalyst, result, VoidMatterBlock.VOID_DECAY_THRESHOLD); + } + + public VoidDecayRecipe(Block centerAndCatalyst, TagKey result) { + this(centerAndCatalyst, centerAndCatalyst, result); + } + + public static ImmutableList getAllRecipes() { + ImmutableList.Builder builder = ImmutableList.builder(); + builder.add(new VoidDecayRecipe(ModBlocks.VOID_MATTER_BLOCK.get(), ModBlockTags.VOID_DECAY_PRODUCTS)); + return builder.build(); + } +} diff --git a/src/main/java/dev/dubhe/anvilcraft/integration/jei/util/BlockTagDisplayHelper.java b/src/main/java/dev/dubhe/anvilcraft/integration/jei/util/BlockTagUtil.java similarity index 68% rename from src/main/java/dev/dubhe/anvilcraft/integration/jei/util/BlockTagDisplayHelper.java rename to src/main/java/dev/dubhe/anvilcraft/integration/jei/util/BlockTagUtil.java index 717f9e80f..c67875b04 100644 --- a/src/main/java/dev/dubhe/anvilcraft/integration/jei/util/BlockTagDisplayHelper.java +++ b/src/main/java/dev/dubhe/anvilcraft/integration/jei/util/BlockTagUtil.java @@ -6,14 +6,33 @@ import net.minecraft.core.registries.Registries; import net.minecraft.network.chat.Component; import net.minecraft.tags.TagKey; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.level.block.Block; import net.neoforged.neoforge.common.Tags; +import net.neoforged.neoforge.common.crafting.BlockTagIngredient; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Optional; -public class BlockTagDisplayHelper { +public class BlockTagUtil { + + private static final HashMap, Ingredient> CACHE = new HashMap<>(); + + /** + * 根据方块标签,获取对应的原版配方原料({@link Ingredient})。 + * @implNote {@link BlockTagIngredient}对象在每次初始化时都会新建一个{@link ItemStack}数组, + * 为了防止某些内容特别多的标签被特别多的配方引用造成的内存空间浪费,本方法的实现将每个{@link TagKey} + * 对应的原料缓存在{@link HashMap}中。 + * + * @param tag 方块标签 + * @return 与方块标签相对应的 {@link Ingredient}对象。 + */ + public static Ingredient toIngredient(TagKey tag) { + return CACHE.computeIfAbsent(tag, t -> new BlockTagIngredient(t).toVanilla()); + } /** * 根据方块标签,获取当前的用于循环展示的方块。