From 088cc1a336e0178cf8fc9c6bb6035ad910c1cb5d Mon Sep 17 00:00:00 2001 From: PepperCode1 <44146161+PepperCode1@users.noreply.github.com> Date: Sat, 31 Aug 2024 12:07:33 -0700 Subject: [PATCH 1/8] Prevent entries added through CopperRegistries from crashing the game Most reported issues of this happening are actually caused by a different issue during registration that is suppressed due to the crash. Now that the crash can't happen, the underlying exception will be properly reported. This change also allows using Create with the Compressed mod, but if Compressed loads before Create, Create's additions to the CopperRegistries will fail to apply. --- .../foundation/block/CopperRegistries.java | 50 ++++++++++++++++++- 1 file changed, 48 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/simibubi/create/foundation/block/CopperRegistries.java b/src/main/java/com/simibubi/create/foundation/block/CopperRegistries.java index c64d80124..ba4e1010a 100644 --- a/src/main/java/com/simibubi/create/foundation/block/CopperRegistries.java +++ b/src/main/java/com/simibubi/create/foundation/block/CopperRegistries.java @@ -1,8 +1,12 @@ package com.simibubi.create.foundation.block; import java.lang.reflect.Field; +import java.util.function.BiConsumer; import java.util.function.Supplier; +import org.jetbrains.annotations.Nullable; +import org.slf4j.Logger; + import com.google.common.base.Suppliers; import com.google.common.collect.BiMap; import com.google.common.collect.HashBiMap; @@ -51,9 +55,11 @@ public class CopperRegistries { weatheringMemoized = true; ImmutableBiMap.Builder builder = ImmutableBiMap.builder(); builder.putAll(originalWeatheringMapDelegate.get()); - WEATHERING.forEach((original, weathered) -> { + ErrorHandlingBiConsumer, Supplier> consumer = new ErrorHandlingBiConsumer<>((original, weathered) -> { builder.put(original.get(), weathered.get()); }); + WEATHERING.forEach(consumer); + consumer.reportExceptions(Create.LOGGER, "weathering"); return builder.build(); }; // Replace the memoized supplier's delegate, since interface fields cannot be reassigned @@ -67,11 +73,51 @@ public class CopperRegistries { waxableMemoized = true; ImmutableBiMap.Builder builder = ImmutableBiMap.builder(); builder.putAll(originalWaxableMapSupplier.get()); - WAXABLE.forEach((original, waxed) -> { + ErrorHandlingBiConsumer, Supplier> consumer = new ErrorHandlingBiConsumer<>((original, waxed) -> { builder.put(original.get(), waxed.get()); }); + WAXABLE.forEach(consumer); + consumer.reportExceptions(Create.LOGGER, "waxable"); return builder.build(); }); HoneycombItem.WAXABLES = waxableMapSupplier; } + + // Create itself only ever adds BlockEntry objects to these registries, which throw if they are not populated with their + // Block object. Normally this shouldn't happen as the weathering/waxable maps shouldn't be accessed before block + // registration is complete, but internal Forge code or other mods may cause this to happen. It is better to catch the + // exception rather than letting it crash the game. + private static class ErrorHandlingBiConsumer implements BiConsumer { + private final BiConsumer delegate; + private int exceptionCount = 0; + @Nullable + private Throwable firstException; + + public ErrorHandlingBiConsumer(BiConsumer delegate) { + this.delegate = delegate; + } + + @Override + public void accept(T t, U u) { + try { + delegate.accept(t, u); + } catch (Throwable throwable) { + exceptionCount++; + + if (firstException == null) { + firstException = throwable; + } + } + } + + public void reportExceptions(Logger logger, String type) { + if (exceptionCount != 0) { + logger.error("Adding " + type + " copper entries from CopperRegistries encountered " + exceptionCount + " exception(s)!"); + + if (firstException != null) { + logger.error("The first exception that was thrown is logged below.", firstException); + } + } + } + } } From 849824189f3e5f145e9c02fc6bf63d0fac45629e Mon Sep 17 00:00:00 2001 From: PepperCode1 <44146161+PepperCode1@users.noreply.github.com> Date: Sun, 1 Sep 2024 14:54:09 -0700 Subject: [PATCH 2/8] Fix trapdoor, panel, bar, and pane item models - Fix #5349 --- .../models/block/copycat_base/panel.json | 2 +- .../framed_glass_trapdoor/block_bottom.json | 2 +- .../framed_glass_trapdoor/block_open.json | 1 - .../framed_glass_trapdoor/block_top.json | 1 - .../block/train_trapdoor/block_bottom.json | 2 +- .../block/train_trapdoor/block_open.json | 1 - .../block/train_trapdoor/block_top.json | 1 - .../assets/create/models/item/bars.json | 53 ++++++++----------- .../assets/create/models/item/pane.json | 25 ++++----- 9 files changed, 35 insertions(+), 53 deletions(-) diff --git a/src/main/resources/assets/create/models/block/copycat_base/panel.json b/src/main/resources/assets/create/models/block/copycat_base/panel.json index 50dc651f4..ee1323a73 100644 --- a/src/main/resources/assets/create/models/block/copycat_base/panel.json +++ b/src/main/resources/assets/create/models/block/copycat_base/panel.json @@ -1,6 +1,6 @@ { "credit": "Made with Blockbench", - "parent": "block/block", + "parent": "block/thin_block", "textures": { "1": "create:block/copycat_base", "2": "create:block/copycat_base", diff --git a/src/main/resources/assets/create/models/block/framed_glass_trapdoor/block_bottom.json b/src/main/resources/assets/create/models/block/framed_glass_trapdoor/block_bottom.json index 283045f4e..f761fc9d6 100644 --- a/src/main/resources/assets/create/models/block/framed_glass_trapdoor/block_bottom.json +++ b/src/main/resources/assets/create/models/block/framed_glass_trapdoor/block_bottom.json @@ -1,6 +1,6 @@ { "credit": "Made with Blockbench", - "parent": "block/block", + "parent": "block/thin_block", "textures": { "0": "create:block/glass_door_side", "1": "create:block/palettes/framed_glass", diff --git a/src/main/resources/assets/create/models/block/framed_glass_trapdoor/block_open.json b/src/main/resources/assets/create/models/block/framed_glass_trapdoor/block_open.json index 1e1b7a6d5..0b0a60f56 100644 --- a/src/main/resources/assets/create/models/block/framed_glass_trapdoor/block_open.json +++ b/src/main/resources/assets/create/models/block/framed_glass_trapdoor/block_open.json @@ -1,6 +1,5 @@ { "credit": "Made with Blockbench", - "parent": "block/block", "textures": { "0": "create:block/glass_door_side", "1": "create:block/palettes/framed_glass", diff --git a/src/main/resources/assets/create/models/block/framed_glass_trapdoor/block_top.json b/src/main/resources/assets/create/models/block/framed_glass_trapdoor/block_top.json index ba0581e99..ba563761f 100644 --- a/src/main/resources/assets/create/models/block/framed_glass_trapdoor/block_top.json +++ b/src/main/resources/assets/create/models/block/framed_glass_trapdoor/block_top.json @@ -1,6 +1,5 @@ { "credit": "Made with Blockbench", - "parent": "block/block", "textures": { "0": "create:block/glass_door_side", "1": "create:block/palettes/framed_glass", diff --git a/src/main/resources/assets/create/models/block/train_trapdoor/block_bottom.json b/src/main/resources/assets/create/models/block/train_trapdoor/block_bottom.json index e45403dd4..fa0f314ca 100644 --- a/src/main/resources/assets/create/models/block/train_trapdoor/block_bottom.json +++ b/src/main/resources/assets/create/models/block/train_trapdoor/block_bottom.json @@ -1,5 +1,5 @@ { - "parent": "block/block", + "parent": "block/thin_block", "credit": "Made with Blockbench", "textures": { "0": "create:block/train_door_side", diff --git a/src/main/resources/assets/create/models/block/train_trapdoor/block_open.json b/src/main/resources/assets/create/models/block/train_trapdoor/block_open.json index ea25af4fd..56e1e7e1e 100644 --- a/src/main/resources/assets/create/models/block/train_trapdoor/block_open.json +++ b/src/main/resources/assets/create/models/block/train_trapdoor/block_open.json @@ -1,6 +1,5 @@ { "credit": "Made with Blockbench", - "parent": "block/block", "textures": { "0": "create:block/train_door_side", "1": "create:block/train_trapdoor", diff --git a/src/main/resources/assets/create/models/block/train_trapdoor/block_top.json b/src/main/resources/assets/create/models/block/train_trapdoor/block_top.json index d29e767ea..e24be29a6 100644 --- a/src/main/resources/assets/create/models/block/train_trapdoor/block_top.json +++ b/src/main/resources/assets/create/models/block/train_trapdoor/block_top.json @@ -1,5 +1,4 @@ { - "parent": "block/block", "credit": "Made with Blockbench", "textures": { "0": "create:block/train_door_side", diff --git a/src/main/resources/assets/create/models/item/bars.json b/src/main/resources/assets/create/models/item/bars.json index 97d5a8744..3577d43a6 100644 --- a/src/main/resources/assets/create/models/item/bars.json +++ b/src/main/resources/assets/create/models/item/bars.json @@ -1,54 +1,44 @@ { "credit": "Made with Blockbench", - "ambientocclusion": false, - "textures": { - "bars": "block/iron_bars", - "edge": "block/iron_bars_edge" - }, "elements": [ { - "from": [0, 0, 8], - "to": [16, 16, 8], - "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "from": [8, 0, 0], + "to": [8, 16, 16], "faces": { - "north": {"uv": [0, 0, 16, 16], "texture": "#bars"}, - "south": {"uv": [16, 0, 0, 16], "texture": "#bars"} + "east": {"uv": [16, 0, 0, 16], "texture": "#bars"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#bars"} } }, { - "from": [15.95, 0, 7], - "to": [16, 16, 9], - "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "from": [7, 0, 15.95], + "to": [9, 16, 16], "faces": { - "east": {"uv": [7, 16, 9, 0], "rotation": 180, "texture": "#bars", "cullface": "east"}, - "west": {"uv": [9, 16, 7, 0], "rotation": 180, "texture": "#bars", "cullface": "east"} + "north": {"uv": [9, 16, 7, 0], "texture": "#bars"}, + "south": {"uv": [7, 16, 9, 0], "texture": "#bars"} } }, { - "from": [0, 0, 7], - "to": [0.05, 16, 9], - "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "from": [7, 0, 0], + "to": [9, 16, 0.05], "faces": { - "east": {"uv": [7, 16, 9, 0], "rotation": 180, "texture": "#bars", "cullface": "west"}, - "west": {"uv": [9, 16, 7, 0], "rotation": 180, "texture": "#bars", "cullface": "west"} + "north": {"uv": [7, 16, 9, 0], "texture": "#bars"}, + "south": {"uv": [9, 16, 7, 0], "texture": "#bars"} } }, { - "from": [0, 15.95, 7], - "to": [16, 16, 9], - "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "from": [7, 15.95, 0], + "to": [9, 16, 16], "faces": { - "up": {"uv": [9, 0, 7, 16], "rotation": 270, "texture": "#edge", "cullface": "up"}, - "down": {"uv": [9, 0, 7, 16], "rotation": 90, "texture": "#edge", "cullface": "up"} + "up": {"uv": [7, 0, 9, 16], "rotation": 180, "texture": "#edge"}, + "down": {"uv": [7, 16, 9, 0], "rotation": 180, "texture": "#edge"} } }, { - "from": [0, 0, 7], - "to": [16, 0.05, 9], - "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "from": [7, 0, 0], + "to": [9, 0.05, 16], "faces": { - "up": {"uv": [9, 0, 7, 16], "rotation": 270, "texture": "#edge", "cullface": "down"}, - "down": {"uv": [9, 0, 7, 16], "rotation": 90, "texture": "#edge", "cullface": "down"} + "up": {"uv": [7, 16, 9, 0], "rotation": 180, "texture": "#edge"}, + "down": {"uv": [7, 0, 9, 16], "rotation": 180, "texture": "#edge"} } } ], @@ -76,10 +66,11 @@ "scale": [0.25, 0.25, 0.25] }, "gui": { - "rotation": [30, 135, 0], + "rotation": [30, 45, 0], "scale": [0.625, 0.625, 0.625] }, "fixed": { + "rotation": [ 0, 270, 0 ], "scale": [0.5, 0.5, 0.5] } } diff --git a/src/main/resources/assets/create/models/item/pane.json b/src/main/resources/assets/create/models/item/pane.json index a0ade738b..a9f2b67e8 100644 --- a/src/main/resources/assets/create/models/item/pane.json +++ b/src/main/resources/assets/create/models/item/pane.json @@ -1,22 +1,16 @@ { "credit": "Made with Blockbench", - "parent": "block/block", - "textures": { - "0": "#edge", - "1": "#pane", - "particle": "#pane" - }, "elements": [ { - "from": [0, 0, 7], - "to": [16, 16, 9], + "from": [7, 0, 0], + "to": [9, 16, 16], "faces": { - "north": {"uv": [0, 0, 16, 16], "texture": "#1"}, - "east": {"uv": [7, 0, 9, 16], "rotation": 180, "texture": "#0"}, - "south": {"uv": [0, 0, 16, 16], "texture": "#1"}, - "west": {"uv": [7, 0, 9, 16], "rotation": 180, "texture": "#0"}, - "up": {"uv": [7, 0, 9, 16], "rotation": 90, "texture": "#0"}, - "down": {"uv": [7, 0, 9, 16], "rotation": 90, "texture": "#0"} + "north": {"uv": [7, 0, 9, 16], "texture": "#edge"}, + "east": {"uv": [16, 0, 0, 16], "texture": "#pane"}, + "south": {"uv": [7, 0, 9, 16], "texture": "#edge"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#pane"}, + "up": {"uv": [7, 0, 9, 16], "rotation": 180, "texture": "#edge"}, + "down": {"uv": [7, 0, 9, 16], "rotation": 180, "texture": "#edge"} } } ], @@ -44,10 +38,11 @@ "scale": [0.25, 0.25, 0.25] }, "gui": { - "rotation": [30, 135, 0], + "rotation": [30, 45, 0], "scale": [0.625, 0.625, 0.625] }, "fixed": { + "rotation": [ 0, 270, 0 ], "scale": [0.5, 0.5, 0.5] } } From e6f969af15eec942c045b889ecfc66f7b1a6c73a Mon Sep 17 00:00:00 2001 From: PepperCode1 <44146161+PepperCode1@users.noreply.github.com> Date: Sun, 1 Sep 2024 15:36:28 -0700 Subject: [PATCH 3/8] Do not allow glass panes to be put into copycat panels --- .../create/content/decoration/copycat/CopycatSpecialCases.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/simibubi/create/content/decoration/copycat/CopycatSpecialCases.java b/src/main/java/com/simibubi/create/content/decoration/copycat/CopycatSpecialCases.java index a7ba28e3d..9369e52d0 100644 --- a/src/main/java/com/simibubi/create/content/decoration/copycat/CopycatSpecialCases.java +++ b/src/main/java/com/simibubi/create/content/decoration/copycat/CopycatSpecialCases.java @@ -2,6 +2,7 @@ package com.simibubi.create.content.decoration.copycat; import com.simibubi.create.content.decoration.palettes.GlassPaneBlock; +import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.IronBarsBlock; import net.minecraft.world.level.block.StainedGlassPaneBlock; import net.minecraft.world.level.block.TrapDoorBlock; @@ -11,7 +12,7 @@ public class CopycatSpecialCases { public static boolean isBarsMaterial(BlockState material) { return material.getBlock() instanceof IronBarsBlock && !(material.getBlock() instanceof GlassPaneBlock) - && !(material.getBlock() instanceof StainedGlassPaneBlock); + && !(material.getBlock() instanceof StainedGlassPaneBlock) && material.getBlock() != Blocks.GLASS_PANE; } public static boolean isTrapdoorMaterial(BlockState material) { From a06b9c11eb10b7b8897fa8bac3f3610c95829ead Mon Sep 17 00:00:00 2001 From: PepperCode1 <44146161+PepperCode1@users.noreply.github.com> Date: Sun, 1 Sep 2024 17:08:13 -0700 Subject: [PATCH 4/8] Fix #5703 --- src/generated/resources/.cache/cache | 4 ++-- src/generated/resources/assets/create/lang/en_ud.json | 2 +- src/generated/resources/assets/create/lang/en_us.json | 2 +- .../create/infrastructure/ponder/scenes/RedstoneScenes.java | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/generated/resources/.cache/cache b/src/generated/resources/.cache/cache index c8bfb345c..071818ba3 100644 --- a/src/generated/resources/.cache/cache +++ b/src/generated/resources/.cache/cache @@ -582,8 +582,8 @@ bf2b0310500213ff853c748c236eb5d01f61658e assets/create/blockstates/yellow_toolbo 5616dda664dd106d576848124fc0fc1de18d0fd3 assets/create/blockstates/yellow_valve_handle.json 7f39521b211441f5c3e06d60c5978cebe16cacfb assets/create/blockstates/zinc_block.json b7181bcd8182b2f17088e5aa881f374c9c65470c assets/create/blockstates/zinc_ore.json -3c04d30f0521554ade532f1662cdaf4ae2958ab3 assets/create/lang/en_ud.json -6a0df005c7594667d9c7582a877984d25382df7b assets/create/lang/en_us.json +e5f177ffdffaf81318f5651adcdf9b7e12911361 assets/create/lang/en_ud.json +a80170921d3e83ecd221e2c08a6224ff9c0a8bb6 assets/create/lang/en_us.json 487a511a01b2a4531fb672f917922312db78f958 assets/create/models/block/acacia_window.json b48060cba1a382f373a05bf0039054053eccf076 assets/create/models/block/acacia_window_pane_noside.json 3066db1bf03cffa1a9c7fbacf47ae586632f4eb3 assets/create/models/block/acacia_window_pane_noside_alt.json diff --git a/src/generated/resources/assets/create/lang/en_ud.json b/src/generated/resources/assets/create/lang/en_ud.json index ba764c425..77806396d 100644 --- a/src/generated/resources/assets/create/lang/en_ud.json +++ b/src/generated/resources/assets/create/lang/en_ud.json @@ -1946,7 +1946,7 @@ "create.ponder.redstone_link.text_1": "\u028E\u05DFss\u01DD\u05DF\u01DD\u0279\u0131\u028D s\u05DF\u0250ub\u0131s \u01DDuo\u0287sp\u01DD\u0279 \u0287\u0131\u026Fsu\u0250\u0279\u0287 u\u0250\u0254 s\u029Eu\u0131\uA780 \u01DDuo\u0287sp\u01DD\u1D1A", "create.ponder.redstone_link.text_2": "\u01DDpo\u026F \u01DD\u028C\u0131\u01DD\u0254\u01DD\u0279 \u01DD\u05DFbbo\u0287 o\u0287 bu\u0131\u029E\u0250\u01DDuS \u01DD\u05DF\u0131\u0265\u028D \u029E\u0254\u0131\u05DF\u0254-\u0287\u0265b\u0131\u1D1A", "create.ponder.redstone_link.text_3": "\u01DD\u026F\u0250s \u01DD\u0265\u0287 op u\u0250\u0254 \u0265\u0254u\u01DD\u0279M \u0250 \u0265\u0287\u0131\u028D \u029E\u0254\u0131\u05DF\u0254-\u0287\u0265b\u0131\u1D1A \u01DD\u05DFd\u026F\u0131s \u2C6F", - "create.ponder.redstone_link.text_4": "s\u029E\u0254o\u05DFq 8\u1105\u0196 u\u0131\u0265\u0287\u0131\u028D s\u0279\u01DD\u0287\u0287\u0131\u026Fsu\u0250\u0279\u0287 \u025Fo \u0279\u01DD\u028Dod \u01DDuo\u0287sp\u01DD\u0279 \u01DD\u0265\u0287 \u0287\u0131\u026F\u01DD s\u0279\u01DD\u028C\u0131\u01DD\u0254\u01DD\u1D1A", + "create.ponder.redstone_link.text_4": "s\u029E\u0254o\u05DFq 9\u03DB\u1105 u\u0131\u0265\u0287\u0131\u028D s\u0279\u01DD\u0287\u0287\u0131\u026Fsu\u0250\u0279\u0287 \u025Fo \u0279\u01DD\u028Dod \u01DDuo\u0287sp\u01DD\u0279 \u01DD\u0265\u0287 \u0287\u0131\u026F\u01DD s\u0279\u01DD\u028C\u0131\u01DD\u0254\u01DD\u1D1A", "create.ponder.redstone_link.text_5": "\u028E\u0254u\u01DDnb\u01DD\u0279\u2132 \u0250 \u028E\u025F\u0131\u0254\u01DDds u\u0250\u0254 s\u0287o\u05DFs o\u028D\u0287 \u01DD\u0265\u0287 u\u0131 s\u026F\u01DD\u0287\u0131 bu\u0131\u0254\u0250\u05DF\u0500", "create.ponder.redstone_link.text_6": "\u01DD\u0287\u0250\u0254\u0131un\u026F\u026Fo\u0254 \u05DF\u05DF\u0131\u028D s\u01DD\u0131\u0254u\u01DDnb\u01DD\u0279\u2132 bu\u0131\u0265\u0254\u0287\u0250\u026F \u0265\u0287\u0131\u028D s\u029Eu\u0131\u05DF \u01DD\u0265\u0287 \u028E\u05DFuO", "create.ponder.replay": "\u028E\u0250\u05DFd\u01DD\u1D1A", diff --git a/src/generated/resources/assets/create/lang/en_us.json b/src/generated/resources/assets/create/lang/en_us.json index 2718106ff..5a52b5a7c 100644 --- a/src/generated/resources/assets/create/lang/en_us.json +++ b/src/generated/resources/assets/create/lang/en_us.json @@ -1946,7 +1946,7 @@ "create.ponder.redstone_link.text_1": "Redstone Links can transmit redstone signals wirelessly", "create.ponder.redstone_link.text_2": "Right-click while Sneaking to toggle receive mode", "create.ponder.redstone_link.text_3": "A simple Right-click with a Wrench can do the same", - "create.ponder.redstone_link.text_4": "Receivers emit the redstone power of transmitters within 128 blocks", + "create.ponder.redstone_link.text_4": "Receivers emit the redstone power of transmitters within 256 blocks", "create.ponder.redstone_link.text_5": "Placing items in the two slots can specify a Frequency", "create.ponder.redstone_link.text_6": "Only the links with matching Frequencies will communicate", "create.ponder.replay": "Replay", diff --git a/src/main/java/com/simibubi/create/infrastructure/ponder/scenes/RedstoneScenes.java b/src/main/java/com/simibubi/create/infrastructure/ponder/scenes/RedstoneScenes.java index 1d8b7bf70..02955c3d1 100644 --- a/src/main/java/com/simibubi/create/infrastructure/ponder/scenes/RedstoneScenes.java +++ b/src/main/java/com/simibubi/create/infrastructure/ponder/scenes/RedstoneScenes.java @@ -750,7 +750,7 @@ public class RedstoneScenes { scene.idle(10); scene.overlay.showText(70) .colored(PonderPalette.GREEN) - .text("Receivers emit the redstone power of transmitters within 128 blocks") + .text("Receivers emit the redstone power of transmitters within 256 blocks") .placeNearTarget() .pointAt(link2Vec); scene.idle(80); From bbb9ac8c434268e6073d9e887422d1bb9ff58c44 Mon Sep 17 00:00:00 2001 From: PepperCode1 <44146161+PepperCode1@users.noreply.github.com> Date: Sun, 1 Sep 2024 20:52:08 -0700 Subject: [PATCH 5/8] Use more Forge tags in recipes - Fix #3959 - Fix #4648 --- src/generated/resources/.cache/cache | 98 +++--- .../blasting/zinc_ingot_from_raw_ore.json | 4 +- .../crafting/appliances/copper_backtank.json | 4 +- .../appliances/copper_diving_boots.json | 4 +- .../appliances/copper_diving_helmet.json | 4 +- .../kinetics/copper_valve_handle.json | 4 +- .../copper_valve_handle_from_others.json | 4 +- .../crafting/kinetics/fluid_pipe.json | 4 +- .../kinetics/fluid_pipe_vertical.json | 4 +- .../crafting/kinetics/fluid_valve.json | 4 +- .../crafting/kinetics/hose_pulley.json | 4 +- .../crafting/kinetics/mechanical_pump.json | 4 +- .../crafting/kinetics/smart_fluid_pipe.json | 4 +- .../crafting/kinetics/steam_engine.json | 4 +- .../crafting/kinetics/steam_whistle.json | 4 +- .../crafting/materials/copper_nugget.json | 4 +- .../smelting/zinc_ingot_from_raw_ore.json | 4 +- .../misc/crafting/materials/copper_ingot.json | 4 +- .../blasting/zinc_ingot_from_raw_ore.json | 2 +- .../crafting/appliances/copper_backtank.json | 4 +- .../appliances/copper_diving_boots.json | 2 +- .../appliances/copper_diving_helmet.json | 2 +- .../recipes/crafting/kinetics/fluid_pipe.json | 2 +- .../kinetics/fluid_pipe_vertical.json | 2 +- .../crafting/kinetics/steam_engine.json | 2 +- .../crafting/kinetics/steam_whistle.json | 2 +- .../crafting/materials/copper_nugget.json | 2 +- ...aw_aluminum_ore.json => raw_aluminum.json} | 0 .../create/recipes/crushing/raw_copper.json | 2 +- .../recipes/crushing/raw_copper_block.json | 2 +- .../create/recipes/crushing/raw_gold.json | 2 +- .../recipes/crushing/raw_gold_block.json | 2 +- .../create/recipes/crushing/raw_iron.json | 2 +- .../recipes/crushing/raw_iron_block.json | 2 +- .../{raw_lead_ore.json => raw_lead.json} | 0 .../{raw_nickel_ore.json => raw_nickel.json} | 0 .../{raw_osmium_ore.json => raw_osmium.json} | 0 ...aw_platinum_ore.json => raw_platinum.json} | 0 ...cksilver_ore.json => raw_quicksilver.json} | 0 .../{raw_silver_ore.json => raw_silver.json} | 0 .../{raw_tin_ore.json => raw_tin.json} | 0 ...{raw_uranium_ore.json => raw_uranium.json} | 0 .../create/recipes/crushing/raw_zinc.json | 2 +- .../recipes/crushing/raw_zinc_block.json | 2 +- .../copper_casing_from_log.json | 2 +- .../copper_casing_from_wood.json | 2 +- .../mechanical_crafting/potato_cannon.json | 2 +- .../create/recipes/mixing/brass_ingot.json | 2 +- .../create/recipes/pressing/copper_ingot.json | 2 +- .../smelting/zinc_ingot_from_raw_ore.json | 2 +- .../data/recipe/CreateRecipeProvider.java | 29 +- .../data/recipe/CrushingRecipeGen.java | 314 ++++++++++-------- .../data/recipe/CuttingRecipeGen.java | 2 +- .../data/recipe/ItemApplicationRecipeGen.java | 4 +- .../recipe/MechanicalCraftingRecipeGen.java | 4 +- .../data/recipe/MixingRecipeGen.java | 4 +- .../recipe/SequencedAssemblyRecipeGen.java | 1 - .../data/recipe/StandardRecipeGen.java | 172 +++++----- 58 files changed, 366 insertions(+), 378 deletions(-) rename src/generated/resources/data/create/recipes/crushing/{raw_aluminum_ore.json => raw_aluminum.json} (100%) rename src/generated/resources/data/create/recipes/crushing/{raw_lead_ore.json => raw_lead.json} (100%) rename src/generated/resources/data/create/recipes/crushing/{raw_nickel_ore.json => raw_nickel.json} (100%) rename src/generated/resources/data/create/recipes/crushing/{raw_osmium_ore.json => raw_osmium.json} (100%) rename src/generated/resources/data/create/recipes/crushing/{raw_platinum_ore.json => raw_platinum.json} (100%) rename src/generated/resources/data/create/recipes/crushing/{raw_quicksilver_ore.json => raw_quicksilver.json} (100%) rename src/generated/resources/data/create/recipes/crushing/{raw_silver_ore.json => raw_silver.json} (100%) rename src/generated/resources/data/create/recipes/crushing/{raw_tin_ore.json => raw_tin.json} (100%) rename src/generated/resources/data/create/recipes/crushing/{raw_uranium_ore.json => raw_uranium.json} (100%) diff --git a/src/generated/resources/.cache/cache b/src/generated/resources/.cache/cache index 071818ba3..5910315fa 100644 --- a/src/generated/resources/.cache/cache +++ b/src/generated/resources/.cache/cache @@ -2413,13 +2413,13 @@ fd9808206c0d576dd32d7038dedbef0fbd6ca798 data/create/advancements/recipes/buildi d8331026603dacf176ef6475f0d2b4f93e1a71a8 data/create/advancements/recipes/building_blocks/tuff_from_stone_types_tuff_stonecutting.json b52c060e398f54ac176588d4970810d1f53a0127 data/create/advancements/recipes/create.base/blasting/zinc_ingot_from_crushed.json 4bb60ef5e186f12a9d52e61319db8c78300c64ab data/create/advancements/recipes/create.base/blasting/zinc_ingot_from_ore.json -00ff89f208cb9023d7a2657c43d267e21755fb2e data/create/advancements/recipes/create.base/blasting/zinc_ingot_from_raw_ore.json +a9899c2972f1f83d21c2ad3dd47c05399a93d09b data/create/advancements/recipes/create.base/blasting/zinc_ingot_from_raw_ore.json 6050a12e82e081cc869b9a2a878b9da27854b022 data/create/advancements/recipes/create.base/crafting/appliances/attribute_filter_clear.json 3194b8da04cfb26f070b0a14f210f0117f252993 data/create/advancements/recipes/create.base/crafting/appliances/clipboard.json a1746099602e91fd23fba112016d41c71f9de62e data/create/advancements/recipes/create.base/crafting/appliances/clipboard_clear.json -376bda381f3dedb52b03eb1504b103d8ddd1b672 data/create/advancements/recipes/create.base/crafting/appliances/copper_backtank.json -9833d16405f8c51646590e98588fb410f96d9523 data/create/advancements/recipes/create.base/crafting/appliances/copper_diving_boots.json -680c982dd1d3c45bed4d390fc0da5042750c157a data/create/advancements/recipes/create.base/crafting/appliances/copper_diving_helmet.json +d1d8cf6e1c95b7d99bf873fa6fee033103f995fd data/create/advancements/recipes/create.base/crafting/appliances/copper_backtank.json +c49417c16f5a5ef3e4acb1ac13c78cd9ce5cff6c data/create/advancements/recipes/create.base/crafting/appliances/copper_diving_boots.json +322a2f07b0ab91cd2dab908532d0269ac068916d data/create/advancements/recipes/create.base/crafting/appliances/copper_diving_helmet.json 265a953eaac909fd2817c6dc3d1a08b376579a25 data/create/advancements/recipes/create.base/crafting/appliances/crafting_blueprint.json fa2e18298f7710465d9b0798a69288e846c646fd data/create/advancements/recipes/create.base/crafting/appliances/dough.json 048a24b84c19c47802c5aed069001925eedd087d data/create/advancements/recipes/create.base/crafting/appliances/filter_clear.json @@ -2452,8 +2452,8 @@ f1d8029514853b25356dbdeadd56c4d765fb2a08 data/create/advancements/recipes/create cf98248087a419198f5f468ad7d17822c6aa40cc data/create/advancements/recipes/create.base/crafting/kinetics/contraption_controls.json 261bcfc98cc5ccd25b63776a32e8c0d1075640b4 data/create/advancements/recipes/create.base/crafting/kinetics/controller_rail.json c66893266dac69fdcc9ba6bae432e915678b0706 data/create/advancements/recipes/create.base/crafting/kinetics/controls.json -70ba0f80929fb60409518d03fbeecd21d5002cb3 data/create/advancements/recipes/create.base/crafting/kinetics/copper_valve_handle.json -cfcb1053b7311aeea03ee9caa66e783801ae74f3 data/create/advancements/recipes/create.base/crafting/kinetics/copper_valve_handle_from_others.json +27930edef02aac6e74bfab62128688ecfb575008 data/create/advancements/recipes/create.base/crafting/kinetics/copper_valve_handle.json +512e4d45657f6df3df2639040e8c5e76f9119f17 data/create/advancements/recipes/create.base/crafting/kinetics/copper_valve_handle_from_others.json adb639c5e0c2b12c22c29af2218e450ebbe2e07a data/create/advancements/recipes/create.base/crafting/kinetics/crafter_slot_cover.json bb771079e7e814a2a7a854d48bbf270db16a420e data/create/advancements/recipes/create.base/crafting/kinetics/cuckoo_clock.json 2691122d20392bffa45a2b39c84555c90fe07e7d data/create/advancements/recipes/create.base/crafting/kinetics/cyan_valve_handle_from_other_valve_handle.json @@ -2465,10 +2465,10 @@ f79cc141e2cfc8dde9f27b1e3b2e00aced8ee632 data/create/advancements/recipes/create 77ee6740d2e0f3ec4bffb298d9d8ce4c77ebff0e data/create/advancements/recipes/create.base/crafting/kinetics/encased_chain_drive.json 3a9aef30af8d9694548da236fe3129c16dba4883 data/create/advancements/recipes/create.base/crafting/kinetics/encased_fan.json 0669da1ba8a761589d14c9b172abd65f8a995bad data/create/advancements/recipes/create.base/crafting/kinetics/filter.json -8d4b4ebfe4b7b70dcb34f1b79eda3aee4f5b7abb data/create/advancements/recipes/create.base/crafting/kinetics/fluid_pipe.json -47137fffc868c37338e64549eff93714379ce603 data/create/advancements/recipes/create.base/crafting/kinetics/fluid_pipe_vertical.json +11d89eca0ccb0f1a8cd27acc9fc0c10d7bf83285 data/create/advancements/recipes/create.base/crafting/kinetics/fluid_pipe.json +d588b31482f5e2a4516a1dffaec58663cd66cbed data/create/advancements/recipes/create.base/crafting/kinetics/fluid_pipe_vertical.json 450a84018a6df61921e2c7eac507928e42d82b93 data/create/advancements/recipes/create.base/crafting/kinetics/fluid_tank.json -5b68a2e467e01d2255c448691ec5b4be20ac35c2 data/create/advancements/recipes/create.base/crafting/kinetics/fluid_valve.json +a91b11ae44d9b1f479c6dee1f1a4580104059287 data/create/advancements/recipes/create.base/crafting/kinetics/fluid_valve.json 36f5f608cba7cb563a4c8bffc964cd4baa5c3997 data/create/advancements/recipes/create.base/crafting/kinetics/flywheel.json 4049cbeed4452bf6fe7608e06f4a4c90f58d6da0 data/create/advancements/recipes/create.base/crafting/kinetics/gantry_carriage.json 10529af8626e0d60d041aaebeadd4ac6a22cf061 data/create/advancements/recipes/create.base/crafting/kinetics/gantry_shaft.json @@ -2479,7 +2479,7 @@ d5a9e092f1b591c648487454d10ce7bac208c7de data/create/advancements/recipes/create c023b9221d7983487d21e5ecc7d92246cfc7e791 data/create/advancements/recipes/create.base/crafting/kinetics/gray_valve_handle_from_other_valve_handle.json 9af3d92d11c3f520df3e22f3069042bf34585010 data/create/advancements/recipes/create.base/crafting/kinetics/green_valve_handle_from_other_valve_handle.json f2dadb365c75dd2604ee96e0217cd8024d0d137d data/create/advancements/recipes/create.base/crafting/kinetics/hand_crank.json -f4e8fd79cb27e0677460f5c260b106338f2a48cc data/create/advancements/recipes/create.base/crafting/kinetics/hose_pulley.json +21cd686e1f3a4004d8e9bd3d92675bd61fb2b4db data/create/advancements/recipes/create.base/crafting/kinetics/hose_pulley.json a9f2c8a0b0b322741575ef833a461006ef2f0421 data/create/advancements/recipes/create.base/crafting/kinetics/item_drain.json 2ccfaf572456e8642a0070ea6928a082f98c63af data/create/advancements/recipes/create.base/crafting/kinetics/item_vault.json 73433a5cd400ed392796a4e543f15c42dd499fe8 data/create/advancements/recipes/create.base/crafting/kinetics/large_cogwheel.json @@ -2500,7 +2500,7 @@ c32f74a21df56b67f99366fba747277c40b09935 data/create/advancements/recipes/create 7e483bca3d5d609fcba1f65128e8c20341f03af0 data/create/advancements/recipes/create.base/crafting/kinetics/mechanical_piston.json ab3cb22e7cb2469c69a177ba83e29a2e1abdc3f8 data/create/advancements/recipes/create.base/crafting/kinetics/mechanical_plough.json 6b1ae84d071e8fc7a1789aaeb01a15260831fc82 data/create/advancements/recipes/create.base/crafting/kinetics/mechanical_press.json -90434eccfbcff42e8bc397881fd9d68f2dcb7ad4 data/create/advancements/recipes/create.base/crafting/kinetics/mechanical_pump.json +750d93013709081b7eaca5a5b9122ab51ab31d02 data/create/advancements/recipes/create.base/crafting/kinetics/mechanical_pump.json b0fabbe0b97cf7a56260af78cb29d21c55aafbe1 data/create/advancements/recipes/create.base/crafting/kinetics/mechanical_roller.json 40a87b7abbc22436efab546fad3910f4a945c5fc data/create/advancements/recipes/create.base/crafting/kinetics/mechanical_saw.json ed6f472a0de659074e384d20e6c5903bda543acc data/create/advancements/recipes/create.base/crafting/kinetics/metal_bracket.json @@ -2527,12 +2527,12 @@ ab164782e70772371d2900c9b9d8ced048c52dea data/create/advancements/recipes/create d177c347ce9ef4a3c021b337b6e974894941e0b3 data/create/advancements/recipes/create.base/crafting/kinetics/sequenced_gearshift.json 883ef3fc5f79903ca39049a01b1da8a02d67cbb0 data/create/advancements/recipes/create.base/crafting/kinetics/shaft.json 65d5626037d2e8bdcbbbf127c08cadab62f22d14 data/create/advancements/recipes/create.base/crafting/kinetics/smart_chute.json -aa081b762579ed614eeace1c02a66243921b5ab7 data/create/advancements/recipes/create.base/crafting/kinetics/smart_fluid_pipe.json +232044be44da655ff09deeb99cb220bf71e31096 data/create/advancements/recipes/create.base/crafting/kinetics/smart_fluid_pipe.json 4cc0acdf9bfd6c3575b81c8129002aca558fc723 data/create/advancements/recipes/create.base/crafting/kinetics/speedometer.json fe70a9ffa16e5063f4fc99da4459a647c56174cf data/create/advancements/recipes/create.base/crafting/kinetics/speedometerfrom_conversion.json 1874d4f0df7b2bf8c95bdc6614c07fdd098b4d7c data/create/advancements/recipes/create.base/crafting/kinetics/spout.json -d38501f861c1842f20447f9312cad5bdbb006382 data/create/advancements/recipes/create.base/crafting/kinetics/steam_engine.json -e8bea7022c2d36276922a59eca0e9364efe9ee03 data/create/advancements/recipes/create.base/crafting/kinetics/steam_whistle.json +e7ee7b8005471055c9afdc819570364dc6b9adf8 data/create/advancements/recipes/create.base/crafting/kinetics/steam_engine.json +84b8c0874813675826a94ff4f1aa58d4c0559e93 data/create/advancements/recipes/create.base/crafting/kinetics/steam_whistle.json 48f32dac75fdca978a9a18f9917b9ad94bee17b3 data/create/advancements/recipes/create.base/crafting/kinetics/sticker.json f14d533b42261bd4c5366cd6afaf44bf184a9f03 data/create/advancements/recipes/create.base/crafting/kinetics/sticky_mechanical_piston.json f640ded44cb4cf4c31e49deb0fc14e3495cd2edf data/create/advancements/recipes/create.base/crafting/kinetics/stressometerfrom_conversion.json @@ -2573,7 +2573,7 @@ fccf9862a45c8847a45b301b191aef3e138fa1d4 data/create/advancements/recipes/create 7716dae5a22a02fa9ea129985eb14639811c2045 data/create/advancements/recipes/create.base/crafting/materials/brass_ingot_from_compacting.json 906a26d805d46f44ce094a14ce138a6ce14431fa data/create/advancements/recipes/create.base/crafting/materials/brass_ingot_from_decompacting.json 90d4658a26a32bfdade4573797ea4d913151c707 data/create/advancements/recipes/create.base/crafting/materials/brass_nugget_from_decompacting.json -dbfba4474ce5229205245d46680a651754a593ce data/create/advancements/recipes/create.base/crafting/materials/copper_nugget.json +bf9f1ec9ae897d9ba3877b750df74fcc77c670eb data/create/advancements/recipes/create.base/crafting/materials/copper_nugget.json a8a032b40204919242bf5043d2920627cd28d348 data/create/advancements/recipes/create.base/crafting/materials/electron_tube.json 97a8312c69aa0dd7f21d1058bdf813b946ed0ef6 data/create/advancements/recipes/create.base/crafting/materials/experience_nugget_from_block.json 121f9d02b1405327ff01113e32c1a1019f9b2f35 data/create/advancements/recipes/create.base/crafting/materials/raw_zinc.json @@ -2590,7 +2590,7 @@ cd1f66066664ed58995f8a7988fb1aa22605650b data/create/advancements/recipes/create a9219ad9757bd2212f1317e15faffbc5aba32f76 data/create/advancements/recipes/create.base/crafting/tree_fertilizer.json 5f9967425d1b92a4e773deee93f6a5d6c971298d data/create/advancements/recipes/create.base/smelting/zinc_ingot_from_crushed.json 16e52ba04279bcf803c5f6be46550ba5d81be1a3 data/create/advancements/recipes/create.base/smelting/zinc_ingot_from_ore.json -88a8661167993de0f2897c95e398b6f77429d724 data/create/advancements/recipes/create.base/smelting/zinc_ingot_from_raw_ore.json +c4768841c1da0571d12a7f2c361ae58be22d118e data/create/advancements/recipes/create.base/smelting/zinc_ingot_from_raw_ore.json e7134f9dd47eb9f706f1ec1bd886a14eb7d3010a data/create/advancements/recipes/create.palettes/acacia_window.json abeb5dfa9931aac86b080309bd0ed5397fd1254b data/create/advancements/recipes/create.palettes/acacia_window_pane.json d7d55d04aba6492690df1c68b75d457b0b537d2f data/create/advancements/recipes/create.palettes/andesite_bars_from_andesite_alloy_stonecutting.json @@ -3234,7 +3234,7 @@ f9f871c9aa09c87de55ddd8634f5007c60171115 data/create/advancements/recipes/misc/b a24d22d3774f4f5ee8b8021967766b72fb63b58d data/create/advancements/recipes/misc/blasting/gold_ingot_from_crushed.json 1c03addc3d34dd32dde7fcc6f06ede5c0b248763 data/create/advancements/recipes/misc/blasting/iron_ingot_from_crushed.json 64e58d40d56b89e467d76e7805b61a795b1ba499 data/create/advancements/recipes/misc/crafting/appliances/slime_ball.json -a0889b6df1627dea4787ca340560ed5b1f50d6a0 data/create/advancements/recipes/misc/crafting/materials/copper_ingot.json +2322fcd3bb2b8f3725836a59d484a2986a621442 data/create/advancements/recipes/misc/crafting/materials/copper_ingot.json 9cb0bef80bbe027657952d3a7e714729936a500d data/create/advancements/recipes/misc/smelting/copper_ingot_from_crushed.json 079550e1f039e90fab9448c1226423fa4895fc37 data/create/advancements/recipes/misc/smelting/gold_ingot_from_crushed.json a9444ab7b742e20433412bb2201f4609e6a6148b data/create/advancements/recipes/misc/smelting/iron_ingot_from_crushed.json @@ -3888,7 +3888,7 @@ aef449162f48759aacc4ae2876c659812fb4c52f data/create/recipes/blasting/silver_ing c79ade249cc24fe0602c9a139497c07754f4d8e2 data/create/recipes/blasting/tin_ingot_compat_thermal.json af1d4268bb9f6806965111c7a16dbc343f9553b4 data/create/recipes/blasting/zinc_ingot_from_crushed.json 3b1f91669d1133bb41f2d8e129d885465cb5b30e data/create/recipes/blasting/zinc_ingot_from_ore.json -2dff1a64b2c9974b768f4861ad90a9a110bdd021 data/create/recipes/blasting/zinc_ingot_from_raw_ore.json +e37c5047dc9e80918af435f5970cfff340047aa5 data/create/recipes/blasting/zinc_ingot_from_raw_ore.json 6989a384bae700f7e5cbf6df729846edab0152aa data/create/recipes/brass_bars_from_ingots_brass_stonecutting.json e6b2c672b3bef88a17a200b000f3cb6aab45faba data/create/recipes/brass_ladder_from_ingots_brass_stonecutting.json 352278016d869d7a7b571b99f223f2cf82576df7 data/create/recipes/brass_scaffolding_from_ingots_brass_stonecutting.json @@ -3920,9 +3920,9 @@ ac91109efa5a253f54257904190b80a400ec6d0c data/create/recipes/compacting/diorite_ fab6c25ea9eeb489121c96002f361ac032ec42c9 data/create/recipes/crafting/appliances/attribute_filter_clear.json 005f8ad32598ea98314031e66b06e95e1f8ddd13 data/create/recipes/crafting/appliances/clipboard.json db648fd89bc2030f3e1e9baa0d2b5b69238dec4c data/create/recipes/crafting/appliances/clipboard_clear.json -eb18d5972484418fa5a768633e68688ad20d2bd7 data/create/recipes/crafting/appliances/copper_backtank.json -5771562086710eb5a3a05d464989d2f23d6c5e86 data/create/recipes/crafting/appliances/copper_diving_boots.json -ec38ddb44e4bf8eaaba6f9d27e8469234fc98528 data/create/recipes/crafting/appliances/copper_diving_helmet.json +b187def3a843505ab42db301f5374043d90605d6 data/create/recipes/crafting/appliances/copper_backtank.json +770df885db161f156cc7677d45b88bbf6626c9d5 data/create/recipes/crafting/appliances/copper_diving_boots.json +05da92881aa35f152a4c9f897c565f36f3ee6a77 data/create/recipes/crafting/appliances/copper_diving_helmet.json c077375d16b4505e52548613fbc9356993556e6b data/create/recipes/crafting/appliances/crafting_blueprint.json edf96556bb2357f54fd398fe573641afa15239b2 data/create/recipes/crafting/appliances/dough.json 96feda6a0556a73851a41c6b7b7be1e8d9d5a028 data/create/recipes/crafting/appliances/filter_clear.json @@ -4006,8 +4006,8 @@ a0c74542a8cc156e6055cda6aaca7545890b7bef data/create/recipes/crafting/kinetics/c 882d1f0f2a05a067cc6c5d73440464310514f95b data/create/recipes/crafting/kinetics/encased_chain_drive.json 665cf36bbca980b538eee76c87e1d80dffca0669 data/create/recipes/crafting/kinetics/encased_fan.json 0dd0cc11eaa6789fc612af3231ed247893852178 data/create/recipes/crafting/kinetics/filter.json -9df7da02bcae5ae7c3b441ff0299f75394133145 data/create/recipes/crafting/kinetics/fluid_pipe.json -16e1192dbd5b54e4ebfdc3310170b6a1d51b8f6f data/create/recipes/crafting/kinetics/fluid_pipe_vertical.json +fda3415968446fd9653b5fa5d10234256d49714a data/create/recipes/crafting/kinetics/fluid_pipe.json +f767da1070d8bce5ba5771bda21200fe8014176d data/create/recipes/crafting/kinetics/fluid_pipe_vertical.json 284e8554d7285989a1684a5e14c72063d152cc9e data/create/recipes/crafting/kinetics/fluid_tank.json 5f229a7024101b27d95e6c13991a5be81f400dad data/create/recipes/crafting/kinetics/fluid_valve.json bae222e1eab464b25431909abe9a7da2ef9bd7a6 data/create/recipes/crafting/kinetics/flywheel.json @@ -4097,8 +4097,8 @@ e5d97ca14c50fb2a4ae4df43751f94d0bf2b7bbd data/create/recipes/crafting/kinetics/s 3f793f95427696d7568e735ee9d742e51714a108 data/create/recipes/crafting/kinetics/speedometer.json 8d632845deeb723e1a56083536ee5f9d60de2fcb data/create/recipes/crafting/kinetics/speedometerfrom_conversion.json dc287743a0f2c605be0e6664737cf681812445ab data/create/recipes/crafting/kinetics/spout.json -474b52575dcf6d0a9e191044c54712bf139c215c data/create/recipes/crafting/kinetics/steam_engine.json -726929444c0e42986ae200e8d8fbca33994e29f3 data/create/recipes/crafting/kinetics/steam_whistle.json +82606efa0247736f61e98232b13abcc3a0d72ded data/create/recipes/crafting/kinetics/steam_engine.json +cbd7aa4a34f5da56c1d036f48cdbd4819f7e87b5 data/create/recipes/crafting/kinetics/steam_whistle.json e532a5c405e48b415e3fcd4f7c6183ea335cb915 data/create/recipes/crafting/kinetics/sticker.json 3be40664acfd150d0617bc138dc2dd9d54a21b3a data/create/recipes/crafting/kinetics/sticky_mechanical_piston.json af5854ee2fa3be195ad9abcdeebe6ed7306b651c data/create/recipes/crafting/kinetics/stressometerfrom_conversion.json @@ -4148,7 +4148,7 @@ fa23f8ff9f43ed39a70a86d0c9080102d57d14b6 data/create/recipes/crafting/materials/ 7e10c06f4d77b17efb03252801d9fe189de8aefe data/create/recipes/crafting/materials/brass_ingot_from_decompacting.json 49c263368f8c02509332654c0ce97b7472d45cd3 data/create/recipes/crafting/materials/brass_nugget_from_decompacting.json 62ce480f3b5a2f9de27858fdde4f48cf8b91fe2c data/create/recipes/crafting/materials/copper_ingot.json -9a8cef55dc3b7cecef500bad0c7bbb86c51f4b5f data/create/recipes/crafting/materials/copper_nugget.json +6fdd6922da25a4f7b50e0213b2203f6ae4c64784 data/create/recipes/crafting/materials/copper_nugget.json 399f7148fcec3a5c1eed40069d777f16622ff32d data/create/recipes/crafting/materials/electron_tube.json 545fc5016d59752bfba1664479576581d98927da data/create/recipes/crafting/materials/experience_block.json f9f553800ed3d4f04e48085379c93d1c6545f4ba data/create/recipes/crafting/materials/experience_nugget_from_block.json @@ -4322,32 +4322,32 @@ cbc8e689e78423260e64f7ece3f529b145c812ec data/create/recipes/crushing/osmium_ore 0973850246cb9d707d99037399c9b834a5a2a9f5 data/create/recipes/crushing/platinum_ore.json 67197bbbb9667ab481410d21cb014bf9ca71ea60 data/create/recipes/crushing/prismarine_crystals.json 4969c45dd288054dad756a4c1cbe97af81b3734e data/create/recipes/crushing/quicksilver_ore.json +17b6a67193c8d08a19b3869dbb7fa68bc36eca2a data/create/recipes/crushing/raw_aluminum.json 9ec2ba18eb298aed19f8a912e801c08872db2158 data/create/recipes/crushing/raw_aluminum_block.json -17b6a67193c8d08a19b3869dbb7fa68bc36eca2a data/create/recipes/crushing/raw_aluminum_ore.json -bc4a796a22334446e034f6bccb9ac33b01747d20 data/create/recipes/crushing/raw_copper.json -ed8cf607bd52a4e671ef50fb040f0764eb7861d3 data/create/recipes/crushing/raw_copper_block.json -c257289bc0ccc79676e35f4068fc2a61f3ddb571 data/create/recipes/crushing/raw_gold.json -f64a41257df6deda3cf29694e85e0d7ec8c7cbb8 data/create/recipes/crushing/raw_gold_block.json -ba7c7a050977294c7cdb015ccfaa6124d2898cc4 data/create/recipes/crushing/raw_iron.json -830439020956c5ce9239baf872d44887ce9c2aa7 data/create/recipes/crushing/raw_iron_block.json +e8d3bb031bc4b628e0beabb95284682d96f6ebdd data/create/recipes/crushing/raw_copper.json +7a57b98459db70ee536add58d3fef6104bd2a887 data/create/recipes/crushing/raw_copper_block.json +3a76ed5713b6ad8ffe64b0436d3f93a8c6fb5bcd data/create/recipes/crushing/raw_gold.json +1e0d3e8ce5b8485b0253d8b5af228f9abd798177 data/create/recipes/crushing/raw_gold_block.json +f69c91841aab961eca8b5d42e15ca09ba685112d data/create/recipes/crushing/raw_iron.json +aab57e2d4f41e7179514034cd465f6f2f1aea20c data/create/recipes/crushing/raw_iron_block.json +8e50419bee11270526ab8720e401217155df0145 data/create/recipes/crushing/raw_lead.json 89d0059f6d8a2f75fb56a341417eec0b7a55070f data/create/recipes/crushing/raw_lead_block.json -8e50419bee11270526ab8720e401217155df0145 data/create/recipes/crushing/raw_lead_ore.json +95f27b5a56a42962cdf3b9ff9ecc09b53d9ceeb4 data/create/recipes/crushing/raw_nickel.json 3a883229059dc109048b02cc551a20d3f57bd082 data/create/recipes/crushing/raw_nickel_block.json -95f27b5a56a42962cdf3b9ff9ecc09b53d9ceeb4 data/create/recipes/crushing/raw_nickel_ore.json +9eccb0eef4cc590c9fd91f8c9dfc1109c491f72c data/create/recipes/crushing/raw_osmium.json 4293824e8be37f016ca46f4102c3bc23728e3651 data/create/recipes/crushing/raw_osmium_block.json -9eccb0eef4cc590c9fd91f8c9dfc1109c491f72c data/create/recipes/crushing/raw_osmium_ore.json +d88016a917e2c9db9057903e40873b0d5712070d data/create/recipes/crushing/raw_platinum.json e81cecf97e9a8e0ff6c92a60cc464ee3c7d400fa data/create/recipes/crushing/raw_platinum_block.json -d88016a917e2c9db9057903e40873b0d5712070d data/create/recipes/crushing/raw_platinum_ore.json +4e4cb63d59c1fd8bbcc90807c2220a017cf749d6 data/create/recipes/crushing/raw_quicksilver.json 8c68d0839c50d7b7aa96155868e260a9d0774e3d data/create/recipes/crushing/raw_quicksilver_block.json -4e4cb63d59c1fd8bbcc90807c2220a017cf749d6 data/create/recipes/crushing/raw_quicksilver_ore.json +c60a2643097388cfb46afaa5c080372efb6488f2 data/create/recipes/crushing/raw_silver.json 57c2b9619641e91a5b6f1c0444ff9672f89fafd0 data/create/recipes/crushing/raw_silver_block.json -c60a2643097388cfb46afaa5c080372efb6488f2 data/create/recipes/crushing/raw_silver_ore.json +b0cc182939722359a0c36f6efd7dbca82fca3e90 data/create/recipes/crushing/raw_tin.json 603798ee58cf6fb2aa9b31dec955ec1e047981c1 data/create/recipes/crushing/raw_tin_block.json -b0cc182939722359a0c36f6efd7dbca82fca3e90 data/create/recipes/crushing/raw_tin_ore.json +a1d45d8fce0e2fe051144970e50623b45e442c09 data/create/recipes/crushing/raw_uranium.json b6edcd031bfdc94a4b468660cd34c8c56dbf935c data/create/recipes/crushing/raw_uranium_block.json -a1d45d8fce0e2fe051144970e50623b45e442c09 data/create/recipes/crushing/raw_uranium_ore.json -354933f38169477747ca272bd6009ece1bdc7b7a data/create/recipes/crushing/raw_zinc.json -fb518ff24c1786f0579553b125f0fb78f3728073 data/create/recipes/crushing/raw_zinc_block.json +b4e2a7f8e59f294afd1ed18a9e4af2689cc32ca5 data/create/recipes/crushing/raw_zinc.json +32105edeaa1f06df711c0429be48d0c9ad4c7521 data/create/recipes/crushing/raw_zinc_block.json a2d3e1feb660a89c09038853859302726fa863c1 data/create/recipes/crushing/redstone_ore.json 4b38bcab7ae772198dfdc6e0dab7e2728ba7ed1b data/create/recipes/crushing/silver_ore.json 6d21db0bf5b31eed1b9008abb1b6db54b71dca61 data/create/recipes/crushing/tin_ore.json @@ -5217,8 +5217,8 @@ d527f369b1a0d6e2261a2663366e33bc965fdd1a data/create/recipes/industrial_iron_blo ec1cd543397750e5f74a78d1f79d49dafdd46460 data/create/recipes/item_application/andesite_casing_from_wood.json 27586f2309eacfc05a7a9eb1490357ea40576647 data/create/recipes/item_application/brass_casing_from_log.json c67a9b39b0d7af304d130b5872ba806e1c127b75 data/create/recipes/item_application/brass_casing_from_wood.json -a97f29b1bdd1227f6c9e488a398415a5b4c1cac1 data/create/recipes/item_application/copper_casing_from_log.json -4b326ff824751ccfd60ec469a1352c4a7b780023 data/create/recipes/item_application/copper_casing_from_wood.json +de9fbe74a64350c39613ef32d4629bd364fe5689 data/create/recipes/item_application/copper_casing_from_log.json +4b42e7459c08779ba0ba73eb6e60622bdc9d8056 data/create/recipes/item_application/copper_casing_from_wood.json 5f44bb9745023db87264b98a416e7802d9b7e1b0 data/create/recipes/item_application/railway_casing.json c3ccd16b7fe9878cc734d699b4c8b219ad556f46 data/create/recipes/jungle_window.json 76dab06d0bda78c4247f76d6a849e1aa083fceb1 data/create/recipes/jungle_window_pane.json @@ -5240,7 +5240,7 @@ a88cc39c13146aa246910193b0b0151a797c5f19 data/create/recipes/limestone_from_ston 484e6c52ad534d2fa2bbacb7c03a349ae68d0803 data/create/recipes/limestone_pillar_from_stone_types_limestone_stonecutting.json 66674d07de63aada0991d2fdff07e22e00450135 data/create/recipes/mechanical_crafting/crushing_wheel.json 599f8b87c24c131350ba7ceb69a0c8b9829c62bc data/create/recipes/mechanical_crafting/extendo_grip.json -fa356eb82c08339bb0064017d88b1e5b053fd4ff data/create/recipes/mechanical_crafting/potato_cannon.json +b77911c169b6205a09001a09ca074eb2234f0d29 data/create/recipes/mechanical_crafting/potato_cannon.json 7e695ab2b684c23968a23765072603be5da13d75 data/create/recipes/mechanical_crafting/wand_of_symmetry.json 98f877bf8f3f8a686fc6cf7479a0fba5744248ce data/create/recipes/milling/allium.json bcff4d30ae09a0729bce8b2dbde4ddd6719a998b data/create/recipes/milling/andesite.json @@ -5452,7 +5452,7 @@ af2beca9f934601ad029f34bad08be3cee07f6b4 data/create/recipes/milling/sunflower.j eec880075efd6008b604a4b8064d782752b4bad6 data/create/recipes/milling/wool.json b3cc5e61bab40ca6135dc1f706f3ab447e9f78bf data/create/recipes/mixing/andesite_alloy.json ce9dc7dacb85cb23a7187c19a115b40e597ad36b data/create/recipes/mixing/andesite_alloy_from_zinc.json -5a0ff7f1284d3c5e476552170cfee2e8164fb087 data/create/recipes/mixing/brass_ingot.json +3417f9399ce0fb32fc4bce94c772b40d780c9006 data/create/recipes/mixing/brass_ingot.json ab602a53a5d8d057aad910dd1c5529cde2d587ab data/create/recipes/mixing/chocolate.json d3bf74bb3826cf2dccaf7377b8b3e0fdaa38f1aa data/create/recipes/mixing/chocolate_melting.json 07e86634e30b92ddf71d564c30be3ed0c313456b data/create/recipes/mixing/compat/ae2/fluix_crystal.json @@ -5608,7 +5608,7 @@ e81460562b3fa1f32c1346ef601c9265563c391c data/create/recipes/pressing/compat/inf bad2b432009dc2ed8f34ef307242eecd9d18d8e6 data/create/recipes/pressing/compat/infernalexp/soul_soil_path.json 7191227d8443fb6ba459121e75f122aea4cf17a2 data/create/recipes/pressing/compat/infernalexp/warped_nylium_path.json 1ce5efb6bb859c9b2954c472d46b011b9e2c3ba3 data/create/recipes/pressing/compat/vampirism/cursed_earth_path.json -3d5c154da126ad7ac0a6887ce1254f6f966ca2c3 data/create/recipes/pressing/copper_ingot.json +4a51cb6066e87613c13bdc6d3427929080ef1def data/create/recipes/pressing/copper_ingot.json 0cd4d17ecceec3210019cb5ec027a04eeaedf62f data/create/recipes/pressing/cursed_earth_path_from_grass.json 0fa8386648398724f6fd373178b706c6b11ddefc data/create/recipes/pressing/gold_ingot.json a104ef6eb8872a40ea7b2ef67ae54cec943162f0 data/create/recipes/pressing/iron_ingot.json @@ -5777,7 +5777,7 @@ f1e87ad8bac9500058b92f1ed0de3ce36ceb854a data/create/recipes/smelting/silver_ing 84b18e8f2f5b1faac98d1d47a05fc43b52992d65 data/create/recipes/smelting/tin_ingot_compat_thermal.json be37149b4378827a38ab3e65ca6850ee49a4b6f4 data/create/recipes/smelting/zinc_ingot_from_crushed.json 4e622fc77e2a630af1b4115e0c60d55682baff72 data/create/recipes/smelting/zinc_ingot_from_ore.json -4060cc921ea26b36cf5a505048f4a812f0569ae0 data/create/recipes/smelting/zinc_ingot_from_raw_ore.json +a67c763358ece6856a8045b07aa63030d01cc883 data/create/recipes/smelting/zinc_ingot_from_raw_ore.json ce7c3c6e1da9d6684c9537d1a558423925d89f33 data/create/recipes/smoking/bread.json dc1ba13a5dbf962dcf3b973f43f2ac9db8c5435c data/create/recipes/splashing/atmospheric/arid_sand.json 502c0981aef2f462ef1bf01e5148aac213819dd2 data/create/recipes/splashing/atmospheric/red_arid_sand.json diff --git a/src/generated/resources/data/create/advancements/recipes/create.base/blasting/zinc_ingot_from_raw_ore.json b/src/generated/resources/data/create/advancements/recipes/create.base/blasting/zinc_ingot_from_raw_ore.json index 1f7b794d8..946210aa0 100644 --- a/src/generated/resources/data/create/advancements/recipes/create.base/blasting/zinc_ingot_from_raw_ore.json +++ b/src/generated/resources/data/create/advancements/recipes/create.base/blasting/zinc_ingot_from_raw_ore.json @@ -11,9 +11,7 @@ "conditions": { "items": [ { - "items": [ - "create:raw_zinc" - ] + "tag": "forge:raw_materials/zinc" } ] } diff --git a/src/generated/resources/data/create/advancements/recipes/create.base/crafting/appliances/copper_backtank.json b/src/generated/resources/data/create/advancements/recipes/create.base/crafting/appliances/copper_backtank.json index 6134a2525..cec124115 100644 --- a/src/generated/resources/data/create/advancements/recipes/create.base/crafting/appliances/copper_backtank.json +++ b/src/generated/resources/data/create/advancements/recipes/create.base/crafting/appliances/copper_backtank.json @@ -11,9 +11,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:copper_ingot" - ] + "tag": "forge:ingots/copper" } ] } diff --git a/src/generated/resources/data/create/advancements/recipes/create.base/crafting/appliances/copper_diving_boots.json b/src/generated/resources/data/create/advancements/recipes/create.base/crafting/appliances/copper_diving_boots.json index d2a401732..0a6ef3c1e 100644 --- a/src/generated/resources/data/create/advancements/recipes/create.base/crafting/appliances/copper_diving_boots.json +++ b/src/generated/resources/data/create/advancements/recipes/create.base/crafting/appliances/copper_diving_boots.json @@ -11,9 +11,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:copper_ingot" - ] + "tag": "forge:ingots/copper" } ] } diff --git a/src/generated/resources/data/create/advancements/recipes/create.base/crafting/appliances/copper_diving_helmet.json b/src/generated/resources/data/create/advancements/recipes/create.base/crafting/appliances/copper_diving_helmet.json index 36cadac5d..87e3f8b7f 100644 --- a/src/generated/resources/data/create/advancements/recipes/create.base/crafting/appliances/copper_diving_helmet.json +++ b/src/generated/resources/data/create/advancements/recipes/create.base/crafting/appliances/copper_diving_helmet.json @@ -11,9 +11,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:copper_ingot" - ] + "tag": "forge:ingots/copper" } ] } diff --git a/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/copper_valve_handle.json b/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/copper_valve_handle.json index 4f32ada9c..db57fc099 100644 --- a/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/copper_valve_handle.json +++ b/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/copper_valve_handle.json @@ -11,9 +11,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:copper_ingot" - ] + "tag": "forge:ingots/copper" } ] } diff --git a/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/copper_valve_handle_from_others.json b/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/copper_valve_handle_from_others.json index fb2db1564..a90d4393a 100644 --- a/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/copper_valve_handle_from_others.json +++ b/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/copper_valve_handle_from_others.json @@ -11,9 +11,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:copper_ingot" - ] + "tag": "forge:ingots/copper" } ] } diff --git a/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/fluid_pipe.json b/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/fluid_pipe.json index c5bd18402..f4703e0d7 100644 --- a/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/fluid_pipe.json +++ b/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/fluid_pipe.json @@ -11,9 +11,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:copper_ingot" - ] + "tag": "forge:ingots/copper" } ] } diff --git a/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/fluid_pipe_vertical.json b/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/fluid_pipe_vertical.json index dc3baf901..668f28b16 100644 --- a/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/fluid_pipe_vertical.json +++ b/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/fluid_pipe_vertical.json @@ -11,9 +11,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:copper_ingot" - ] + "tag": "forge:ingots/copper" } ] } diff --git a/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/fluid_valve.json b/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/fluid_valve.json index 7580a2170..75d57d1cb 100644 --- a/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/fluid_valve.json +++ b/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/fluid_valve.json @@ -11,9 +11,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:copper_ingot" - ] + "tag": "forge:ingots/copper" } ] } diff --git a/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/hose_pulley.json b/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/hose_pulley.json index 5ec077eba..bf53aa381 100644 --- a/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/hose_pulley.json +++ b/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/hose_pulley.json @@ -11,9 +11,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:copper_ingot" - ] + "tag": "forge:ingots/copper" } ] } diff --git a/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/mechanical_pump.json b/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/mechanical_pump.json index 7874aeac9..739f21b8b 100644 --- a/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/mechanical_pump.json +++ b/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/mechanical_pump.json @@ -11,9 +11,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:copper_ingot" - ] + "tag": "forge:ingots/copper" } ] } diff --git a/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/smart_fluid_pipe.json b/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/smart_fluid_pipe.json index dcd4c9720..a1ade7524 100644 --- a/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/smart_fluid_pipe.json +++ b/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/smart_fluid_pipe.json @@ -11,9 +11,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:copper_ingot" - ] + "tag": "forge:ingots/copper" } ] } diff --git a/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/steam_engine.json b/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/steam_engine.json index 256dbd511..948e79b86 100644 --- a/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/steam_engine.json +++ b/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/steam_engine.json @@ -11,9 +11,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:copper_ingot" - ] + "tag": "forge:ingots/copper" } ] } diff --git a/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/steam_whistle.json b/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/steam_whistle.json index ca0c4928b..426d9a5bf 100644 --- a/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/steam_whistle.json +++ b/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/steam_whistle.json @@ -11,9 +11,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:copper_ingot" - ] + "tag": "forge:ingots/copper" } ] } diff --git a/src/generated/resources/data/create/advancements/recipes/create.base/crafting/materials/copper_nugget.json b/src/generated/resources/data/create/advancements/recipes/create.base/crafting/materials/copper_nugget.json index eca001c18..089df2f2d 100644 --- a/src/generated/resources/data/create/advancements/recipes/create.base/crafting/materials/copper_nugget.json +++ b/src/generated/resources/data/create/advancements/recipes/create.base/crafting/materials/copper_nugget.json @@ -11,9 +11,7 @@ "conditions": { "items": [ { - "items": [ - "minecraft:copper_ingot" - ] + "tag": "forge:ingots/copper" } ] } diff --git a/src/generated/resources/data/create/advancements/recipes/create.base/smelting/zinc_ingot_from_raw_ore.json b/src/generated/resources/data/create/advancements/recipes/create.base/smelting/zinc_ingot_from_raw_ore.json index 3abdfda2b..0025bdc93 100644 --- a/src/generated/resources/data/create/advancements/recipes/create.base/smelting/zinc_ingot_from_raw_ore.json +++ b/src/generated/resources/data/create/advancements/recipes/create.base/smelting/zinc_ingot_from_raw_ore.json @@ -11,9 +11,7 @@ "conditions": { "items": [ { - "items": [ - "create:raw_zinc" - ] + "tag": "forge:raw_materials/zinc" } ] } diff --git a/src/generated/resources/data/create/advancements/recipes/misc/crafting/materials/copper_ingot.json b/src/generated/resources/data/create/advancements/recipes/misc/crafting/materials/copper_ingot.json index 94ac5cb7b..a642b1091 100644 --- a/src/generated/resources/data/create/advancements/recipes/misc/crafting/materials/copper_ingot.json +++ b/src/generated/resources/data/create/advancements/recipes/misc/crafting/materials/copper_ingot.json @@ -11,9 +11,7 @@ "conditions": { "items": [ { - "items": [ - "create:copper_nugget" - ] + "tag": "forge:nuggets/copper" } ] } diff --git a/src/generated/resources/data/create/recipes/blasting/zinc_ingot_from_raw_ore.json b/src/generated/resources/data/create/recipes/blasting/zinc_ingot_from_raw_ore.json index 8e1c74d40..b1424cfe9 100644 --- a/src/generated/resources/data/create/recipes/blasting/zinc_ingot_from_raw_ore.json +++ b/src/generated/resources/data/create/recipes/blasting/zinc_ingot_from_raw_ore.json @@ -1,7 +1,7 @@ { "type": "minecraft:blasting", "ingredient": { - "item": "create:raw_zinc" + "tag": "forge:raw_materials/zinc" }, "result": "create:zinc_ingot", "experience": 0.7, diff --git a/src/generated/resources/data/create/recipes/crafting/appliances/copper_backtank.json b/src/generated/resources/data/create/recipes/crafting/appliances/copper_backtank.json index eb244798b..66a29e031 100644 --- a/src/generated/resources/data/create/recipes/crafting/appliances/copper_backtank.json +++ b/src/generated/resources/data/create/recipes/crafting/appliances/copper_backtank.json @@ -13,10 +13,10 @@ "item": "create:andesite_alloy" }, "B": { - "item": "minecraft:copper_block" + "tag": "forge:storage_blocks/copper" }, "P": { - "item": "minecraft:copper_ingot" + "tag": "forge:ingots/copper" } }, "result": { diff --git a/src/generated/resources/data/create/recipes/crafting/appliances/copper_diving_boots.json b/src/generated/resources/data/create/recipes/crafting/appliances/copper_diving_boots.json index 76059a797..5ed926bcd 100644 --- a/src/generated/resources/data/create/recipes/crafting/appliances/copper_diving_boots.json +++ b/src/generated/resources/data/create/recipes/crafting/appliances/copper_diving_boots.json @@ -10,7 +10,7 @@ "item": "create:andesite_alloy" }, "P": { - "item": "minecraft:copper_ingot" + "tag": "forge:ingots/copper" } }, "result": { diff --git a/src/generated/resources/data/create/recipes/crafting/appliances/copper_diving_helmet.json b/src/generated/resources/data/create/recipes/crafting/appliances/copper_diving_helmet.json index 68e63efc2..07d7df221 100644 --- a/src/generated/resources/data/create/recipes/crafting/appliances/copper_diving_helmet.json +++ b/src/generated/resources/data/create/recipes/crafting/appliances/copper_diving_helmet.json @@ -9,7 +9,7 @@ "tag": "forge:glass" }, "P": { - "item": "minecraft:copper_ingot" + "tag": "forge:ingots/copper" } }, "result": { diff --git a/src/generated/resources/data/create/recipes/crafting/kinetics/fluid_pipe.json b/src/generated/resources/data/create/recipes/crafting/kinetics/fluid_pipe.json index c72baad85..ab5fafd6f 100644 --- a/src/generated/resources/data/create/recipes/crafting/kinetics/fluid_pipe.json +++ b/src/generated/resources/data/create/recipes/crafting/kinetics/fluid_pipe.json @@ -8,7 +8,7 @@ "tag": "forge:plates/copper" }, "C": { - "item": "minecraft:copper_ingot" + "tag": "forge:ingots/copper" } }, "result": { diff --git a/src/generated/resources/data/create/recipes/crafting/kinetics/fluid_pipe_vertical.json b/src/generated/resources/data/create/recipes/crafting/kinetics/fluid_pipe_vertical.json index 00ba27b28..f696ce3a3 100644 --- a/src/generated/resources/data/create/recipes/crafting/kinetics/fluid_pipe_vertical.json +++ b/src/generated/resources/data/create/recipes/crafting/kinetics/fluid_pipe_vertical.json @@ -10,7 +10,7 @@ "tag": "forge:plates/copper" }, "C": { - "item": "minecraft:copper_ingot" + "tag": "forge:ingots/copper" } }, "result": { diff --git a/src/generated/resources/data/create/recipes/crafting/kinetics/steam_engine.json b/src/generated/resources/data/create/recipes/crafting/kinetics/steam_engine.json index 2d6c86fe3..f244a0173 100644 --- a/src/generated/resources/data/create/recipes/crafting/kinetics/steam_engine.json +++ b/src/generated/resources/data/create/recipes/crafting/kinetics/steam_engine.json @@ -10,7 +10,7 @@ "tag": "forge:plates/gold" }, "C": { - "item": "minecraft:copper_block" + "tag": "forge:storage_blocks/copper" }, "A": { "item": "create:andesite_alloy" diff --git a/src/generated/resources/data/create/recipes/crafting/kinetics/steam_whistle.json b/src/generated/resources/data/create/recipes/crafting/kinetics/steam_whistle.json index f237d8889..fff3a6ac3 100644 --- a/src/generated/resources/data/create/recipes/crafting/kinetics/steam_whistle.json +++ b/src/generated/resources/data/create/recipes/crafting/kinetics/steam_whistle.json @@ -9,7 +9,7 @@ "tag": "forge:plates/gold" }, "C": { - "item": "minecraft:copper_ingot" + "tag": "forge:ingots/copper" } }, "result": { diff --git a/src/generated/resources/data/create/recipes/crafting/materials/copper_nugget.json b/src/generated/resources/data/create/recipes/crafting/materials/copper_nugget.json index e97ffa7ff..b7fbc41dc 100644 --- a/src/generated/resources/data/create/recipes/crafting/materials/copper_nugget.json +++ b/src/generated/resources/data/create/recipes/crafting/materials/copper_nugget.json @@ -2,7 +2,7 @@ "type": "minecraft:crafting_shapeless", "ingredients": [ { - "item": "minecraft:copper_ingot" + "tag": "forge:ingots/copper" } ], "result": { diff --git a/src/generated/resources/data/create/recipes/crushing/raw_aluminum_ore.json b/src/generated/resources/data/create/recipes/crushing/raw_aluminum.json similarity index 100% rename from src/generated/resources/data/create/recipes/crushing/raw_aluminum_ore.json rename to src/generated/resources/data/create/recipes/crushing/raw_aluminum.json diff --git a/src/generated/resources/data/create/recipes/crushing/raw_copper.json b/src/generated/resources/data/create/recipes/crushing/raw_copper.json index c96a96dda..f4148c9c4 100644 --- a/src/generated/resources/data/create/recipes/crushing/raw_copper.json +++ b/src/generated/resources/data/create/recipes/crushing/raw_copper.json @@ -2,7 +2,7 @@ "type": "create:crushing", "ingredients": [ { - "item": "minecraft:raw_copper" + "tag": "forge:raw_materials/copper" } ], "results": [ diff --git a/src/generated/resources/data/create/recipes/crushing/raw_copper_block.json b/src/generated/resources/data/create/recipes/crushing/raw_copper_block.json index ee6d6269d..db56a8013 100644 --- a/src/generated/resources/data/create/recipes/crushing/raw_copper_block.json +++ b/src/generated/resources/data/create/recipes/crushing/raw_copper_block.json @@ -2,7 +2,7 @@ "type": "create:crushing", "ingredients": [ { - "item": "minecraft:raw_copper_block" + "tag": "forge:storage_blocks/raw_copper" } ], "results": [ diff --git a/src/generated/resources/data/create/recipes/crushing/raw_gold.json b/src/generated/resources/data/create/recipes/crushing/raw_gold.json index fd6f85243..a912518fe 100644 --- a/src/generated/resources/data/create/recipes/crushing/raw_gold.json +++ b/src/generated/resources/data/create/recipes/crushing/raw_gold.json @@ -2,7 +2,7 @@ "type": "create:crushing", "ingredients": [ { - "item": "minecraft:raw_gold" + "tag": "forge:raw_materials/gold" } ], "results": [ diff --git a/src/generated/resources/data/create/recipes/crushing/raw_gold_block.json b/src/generated/resources/data/create/recipes/crushing/raw_gold_block.json index f97898744..79427a8cb 100644 --- a/src/generated/resources/data/create/recipes/crushing/raw_gold_block.json +++ b/src/generated/resources/data/create/recipes/crushing/raw_gold_block.json @@ -2,7 +2,7 @@ "type": "create:crushing", "ingredients": [ { - "item": "minecraft:raw_gold_block" + "tag": "forge:storage_blocks/raw_gold" } ], "results": [ diff --git a/src/generated/resources/data/create/recipes/crushing/raw_iron.json b/src/generated/resources/data/create/recipes/crushing/raw_iron.json index b044167e8..7aeeef843 100644 --- a/src/generated/resources/data/create/recipes/crushing/raw_iron.json +++ b/src/generated/resources/data/create/recipes/crushing/raw_iron.json @@ -2,7 +2,7 @@ "type": "create:crushing", "ingredients": [ { - "item": "minecraft:raw_iron" + "tag": "forge:raw_materials/iron" } ], "results": [ diff --git a/src/generated/resources/data/create/recipes/crushing/raw_iron_block.json b/src/generated/resources/data/create/recipes/crushing/raw_iron_block.json index 664b0cfcd..a9c7cfb1c 100644 --- a/src/generated/resources/data/create/recipes/crushing/raw_iron_block.json +++ b/src/generated/resources/data/create/recipes/crushing/raw_iron_block.json @@ -2,7 +2,7 @@ "type": "create:crushing", "ingredients": [ { - "item": "minecraft:raw_iron_block" + "tag": "forge:storage_blocks/raw_iron" } ], "results": [ diff --git a/src/generated/resources/data/create/recipes/crushing/raw_lead_ore.json b/src/generated/resources/data/create/recipes/crushing/raw_lead.json similarity index 100% rename from src/generated/resources/data/create/recipes/crushing/raw_lead_ore.json rename to src/generated/resources/data/create/recipes/crushing/raw_lead.json diff --git a/src/generated/resources/data/create/recipes/crushing/raw_nickel_ore.json b/src/generated/resources/data/create/recipes/crushing/raw_nickel.json similarity index 100% rename from src/generated/resources/data/create/recipes/crushing/raw_nickel_ore.json rename to src/generated/resources/data/create/recipes/crushing/raw_nickel.json diff --git a/src/generated/resources/data/create/recipes/crushing/raw_osmium_ore.json b/src/generated/resources/data/create/recipes/crushing/raw_osmium.json similarity index 100% rename from src/generated/resources/data/create/recipes/crushing/raw_osmium_ore.json rename to src/generated/resources/data/create/recipes/crushing/raw_osmium.json diff --git a/src/generated/resources/data/create/recipes/crushing/raw_platinum_ore.json b/src/generated/resources/data/create/recipes/crushing/raw_platinum.json similarity index 100% rename from src/generated/resources/data/create/recipes/crushing/raw_platinum_ore.json rename to src/generated/resources/data/create/recipes/crushing/raw_platinum.json diff --git a/src/generated/resources/data/create/recipes/crushing/raw_quicksilver_ore.json b/src/generated/resources/data/create/recipes/crushing/raw_quicksilver.json similarity index 100% rename from src/generated/resources/data/create/recipes/crushing/raw_quicksilver_ore.json rename to src/generated/resources/data/create/recipes/crushing/raw_quicksilver.json diff --git a/src/generated/resources/data/create/recipes/crushing/raw_silver_ore.json b/src/generated/resources/data/create/recipes/crushing/raw_silver.json similarity index 100% rename from src/generated/resources/data/create/recipes/crushing/raw_silver_ore.json rename to src/generated/resources/data/create/recipes/crushing/raw_silver.json diff --git a/src/generated/resources/data/create/recipes/crushing/raw_tin_ore.json b/src/generated/resources/data/create/recipes/crushing/raw_tin.json similarity index 100% rename from src/generated/resources/data/create/recipes/crushing/raw_tin_ore.json rename to src/generated/resources/data/create/recipes/crushing/raw_tin.json diff --git a/src/generated/resources/data/create/recipes/crushing/raw_uranium_ore.json b/src/generated/resources/data/create/recipes/crushing/raw_uranium.json similarity index 100% rename from src/generated/resources/data/create/recipes/crushing/raw_uranium_ore.json rename to src/generated/resources/data/create/recipes/crushing/raw_uranium.json diff --git a/src/generated/resources/data/create/recipes/crushing/raw_zinc.json b/src/generated/resources/data/create/recipes/crushing/raw_zinc.json index 662ecd80b..fe9b7994c 100644 --- a/src/generated/resources/data/create/recipes/crushing/raw_zinc.json +++ b/src/generated/resources/data/create/recipes/crushing/raw_zinc.json @@ -2,7 +2,7 @@ "type": "create:crushing", "ingredients": [ { - "item": "create:raw_zinc" + "tag": "forge:raw_materials/zinc" } ], "results": [ diff --git a/src/generated/resources/data/create/recipes/crushing/raw_zinc_block.json b/src/generated/resources/data/create/recipes/crushing/raw_zinc_block.json index 938b401f0..ffc19efcd 100644 --- a/src/generated/resources/data/create/recipes/crushing/raw_zinc_block.json +++ b/src/generated/resources/data/create/recipes/crushing/raw_zinc_block.json @@ -2,7 +2,7 @@ "type": "create:crushing", "ingredients": [ { - "item": "create:raw_zinc_block" + "tag": "forge:storage_blocks/raw_zinc" } ], "results": [ diff --git a/src/generated/resources/data/create/recipes/item_application/copper_casing_from_log.json b/src/generated/resources/data/create/recipes/item_application/copper_casing_from_log.json index a73f23436..8a26b40be 100644 --- a/src/generated/resources/data/create/recipes/item_application/copper_casing_from_log.json +++ b/src/generated/resources/data/create/recipes/item_application/copper_casing_from_log.json @@ -5,7 +5,7 @@ "tag": "forge:stripped_logs" }, { - "item": "minecraft:copper_ingot" + "tag": "forge:ingots/copper" } ], "results": [ diff --git a/src/generated/resources/data/create/recipes/item_application/copper_casing_from_wood.json b/src/generated/resources/data/create/recipes/item_application/copper_casing_from_wood.json index 6bfdb72c8..4aa54fdc4 100644 --- a/src/generated/resources/data/create/recipes/item_application/copper_casing_from_wood.json +++ b/src/generated/resources/data/create/recipes/item_application/copper_casing_from_wood.json @@ -5,7 +5,7 @@ "tag": "forge:stripped_wood" }, { - "item": "minecraft:copper_ingot" + "tag": "forge:ingots/copper" } ], "results": [ diff --git a/src/generated/resources/data/create/recipes/mechanical_crafting/potato_cannon.json b/src/generated/resources/data/create/recipes/mechanical_crafting/potato_cannon.json index 316d85a1f..a21d9bd04 100644 --- a/src/generated/resources/data/create/recipes/mechanical_crafting/potato_cannon.json +++ b/src/generated/resources/data/create/recipes/mechanical_crafting/potato_cannon.json @@ -15,7 +15,7 @@ "item": "create:fluid_pipe" }, "C": { - "item": "minecraft:copper_ingot" + "tag": "forge:ingots/copper" } }, "result": { diff --git a/src/generated/resources/data/create/recipes/mixing/brass_ingot.json b/src/generated/resources/data/create/recipes/mixing/brass_ingot.json index f8f998109..94183eb22 100644 --- a/src/generated/resources/data/create/recipes/mixing/brass_ingot.json +++ b/src/generated/resources/data/create/recipes/mixing/brass_ingot.json @@ -2,7 +2,7 @@ "type": "create:mixing", "ingredients": [ { - "item": "minecraft:copper_ingot" + "tag": "forge:ingots/copper" }, { "tag": "forge:ingots/zinc" diff --git a/src/generated/resources/data/create/recipes/pressing/copper_ingot.json b/src/generated/resources/data/create/recipes/pressing/copper_ingot.json index c8afab545..404bb276d 100644 --- a/src/generated/resources/data/create/recipes/pressing/copper_ingot.json +++ b/src/generated/resources/data/create/recipes/pressing/copper_ingot.json @@ -2,7 +2,7 @@ "type": "create:pressing", "ingredients": [ { - "item": "minecraft:copper_ingot" + "tag": "forge:ingots/copper" } ], "results": [ diff --git a/src/generated/resources/data/create/recipes/smelting/zinc_ingot_from_raw_ore.json b/src/generated/resources/data/create/recipes/smelting/zinc_ingot_from_raw_ore.json index 18b640864..c0cb23bb6 100644 --- a/src/generated/resources/data/create/recipes/smelting/zinc_ingot_from_raw_ore.json +++ b/src/generated/resources/data/create/recipes/smelting/zinc_ingot_from_raw_ore.json @@ -1,7 +1,7 @@ { "type": "minecraft:smelting", "ingredient": { - "item": "create:raw_zinc" + "tag": "forge:raw_materials/zinc" }, "result": "create:zinc_ingot", "experience": 0.7, diff --git a/src/main/java/com/simibubi/create/foundation/data/recipe/CreateRecipeProvider.java b/src/main/java/com/simibubi/create/foundation/data/recipe/CreateRecipeProvider.java index 9f5342ffa..d425a0e98 100644 --- a/src/main/java/com/simibubi/create/foundation/data/recipe/CreateRecipeProvider.java +++ b/src/main/java/com/simibubi/create/foundation/data/recipe/CreateRecipeProvider.java @@ -15,7 +15,6 @@ import net.minecraft.data.recipes.RecipeProvider; import net.minecraft.tags.ItemTags; import net.minecraft.tags.TagKey; import net.minecraft.world.item.Item; -import net.minecraft.world.item.Items; import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.level.ItemLike; import net.minecraftforge.common.Tags; @@ -62,7 +61,7 @@ public abstract class CreateRecipeProvider extends RecipeProvider { } static TagKey gold() { - return AllTags.forgeItemTag("ingots/gold"); + return Tags.Items.INGOTS_GOLD; } static TagKey goldSheet() { @@ -73,7 +72,7 @@ public abstract class CreateRecipeProvider extends RecipeProvider { return Tags.Items.STONE; } - static ItemLike andesite() { + static ItemLike andesiteAlloy() { return AllItems.ANDESITE_ALLOY.get(); } @@ -106,7 +105,7 @@ public abstract class CreateRecipeProvider extends RecipeProvider { } static TagKey ironNugget() { - return AllTags.forgeItemTag("nuggets/iron"); + return Tags.Items.NUGGETS_IRON; } static TagKey zinc() { @@ -136,10 +135,6 @@ public abstract class CreateRecipeProvider extends RecipeProvider { static ItemLike precisionMechanism() { return AllItems.PRECISION_MECHANISM.get(); } - - static ItemLike copperBlock() { - return Items.COPPER_BLOCK; - } static TagKey brassBlock() { return AllTags.forgeItemTag("storage_blocks/brass"); @@ -153,18 +148,22 @@ public abstract class CreateRecipeProvider extends RecipeProvider { return AllTags.forgeItemTag("flour/wheat"); } - static ItemLike copper() { - return Items.COPPER_INGOT; - } - - static TagKey copperSheet() { - return AllTags.forgeItemTag("plates/copper"); + static TagKey copper() { + return Tags.Items.INGOTS_COPPER; } static TagKey copperNugget() { return AllTags.forgeItemTag("nuggets/copper"); } + static TagKey copperBlock() { + return Tags.Items.STORAGE_BLOCKS_COPPER; + } + + static TagKey copperSheet() { + return AllTags.forgeItemTag("plates/copper"); + } + static TagKey brassNugget() { return AllTags.forgeItemTag("nuggets/brass"); } @@ -186,7 +185,7 @@ public abstract class CreateRecipeProvider extends RecipeProvider { } static Ingredient netherite() { - return Ingredient.of(AllTags.forgeItemTag("ingots/netherite")); + return Ingredient.of(Tags.Items.INGOTS_NETHERITE); } } diff --git a/src/main/java/com/simibubi/create/foundation/data/recipe/CrushingRecipeGen.java b/src/main/java/com/simibubi/create/foundation/data/recipe/CrushingRecipeGen.java index a997e2374..497b74d1d 100644 --- a/src/main/java/com/simibubi/create/foundation/data/recipe/CrushingRecipeGen.java +++ b/src/main/java/com/simibubi/create/foundation/data/recipe/CrushingRecipeGen.java @@ -25,10 +25,13 @@ import com.simibubi.create.foundation.utility.Lang; import net.minecraft.data.DataGenerator; import net.minecraft.resources.ResourceLocation; import net.minecraft.tags.ItemTags; +import net.minecraft.tags.TagKey; import net.minecraft.util.Mth; +import net.minecraft.world.item.Item; import net.minecraft.world.item.Items; import net.minecraft.world.level.ItemLike; import net.minecraft.world.level.block.Blocks; +import net.minecraftforge.common.Tags; import net.minecraftforge.common.crafting.conditions.NotCondition; import net.minecraftforge.common.crafting.conditions.TagEmptyCondition; import net.minecraftforge.registries.ForgeRegistries; @@ -46,118 +49,6 @@ public class CrushingRecipeGen extends ProcessingRecipeGen { .output(.5f, Items.QUARTZ, 2) .output(.1f, Items.GLOWSTONE_DUST, 2)), - OBSIDIAN = create(() -> Blocks.OBSIDIAN, b -> b.duration(500) - .output(AllItems.POWDERED_OBSIDIAN.get()) - .output(.75f, Blocks.OBSIDIAN)), - - WOOL = create("wool", b -> b.duration(100) - .require(ItemTags.WOOL) - .output(Items.STRING, 2) - .output(.5f, Items.STRING)), - - DIORITE = ensMineralRecycling(AllPaletteStoneTypes.DIORITE, b -> b.duration(350) - .output(.25f, Items.QUARTZ, 1)), - - CRIMSITE = - mineralRecycling(AllPaletteStoneTypes.CRIMSITE, AllItems.CRUSHED_IRON::get, () -> Items.IRON_NUGGET, .4f), - - VERIDIUM = mineralRecycling(AllPaletteStoneTypes.VERIDIUM, AllItems.CRUSHED_COPPER::get, - () -> AllItems.COPPER_NUGGET::get, .8f), - - ASURINE = mineralRecycling(AllPaletteStoneTypes.ASURINE, AllItems.CRUSHED_ZINC::get, - () -> AllItems.ZINC_NUGGET::get, .3f), - - OCHRUM = - mineralRecycling(AllPaletteStoneTypes.OCHRUM, AllItems.CRUSHED_GOLD::get, () -> Items.GOLD_NUGGET, .2f), - - TUFF = mineralRecycling(AllPaletteStoneTypes.TUFF, b -> b.duration(350) - .output(.25f, Items.FLINT, 1) - .output(.1f, Items.GOLD_NUGGET, 1) - .output(.1f, AllItems.COPPER_NUGGET.get(), 1) - .output(.1f, AllItems.ZINC_NUGGET.get(), 1) - .output(.1f, Items.IRON_NUGGET, 1)), - - COPPER_ORE = stoneOre(() -> Items.COPPER_ORE, AllItems.CRUSHED_COPPER::get, 5.25f, 250), - ZINC_ORE = stoneOre(AllBlocks.ZINC_ORE::get, AllItems.CRUSHED_ZINC::get, 1.75f, 250), - IRON_ORE = stoneOre(() -> Items.IRON_ORE, () -> AllItems.CRUSHED_IRON::get, 1.75f, 250), - GOLD_ORE = stoneOre(() -> Items.GOLD_ORE, AllItems.CRUSHED_GOLD::get, 1.75f, 250), - DIAMOND_ORE = stoneOre(() -> Items.DIAMOND_ORE, () -> Items.DIAMOND, 1.75f, 350), - EMERALD_ORE = stoneOre(() -> Items.EMERALD_ORE, () -> Items.EMERALD, 1.75f, 350), - COAL_ORE = stoneOre(() -> Items.COAL_ORE, () -> Items.COAL, 1.75f, 150), - REDSTONE_ORE = stoneOre(() -> Items.REDSTONE_ORE, () -> Items.REDSTONE, 6.5f, 250), - LAPIS_ORE = stoneOre(() -> Items.LAPIS_ORE, () -> Items.LAPIS_LAZULI, 10.5f, 250), - - DEEP_COPPER_ORE = deepslateOre(() -> Items.DEEPSLATE_COPPER_ORE, AllItems.CRUSHED_COPPER::get, 7.25f, 350), - DEEP_ZINC_ORE = deepslateOre(AllBlocks.DEEPSLATE_ZINC_ORE::get, AllItems.CRUSHED_ZINC::get, 2.25f, 350), - DEEP_IRON_ORE = deepslateOre(() -> Items.DEEPSLATE_IRON_ORE, AllItems.CRUSHED_IRON::get, 2.25f, 350), - DEEP_GOLD_ORE = deepslateOre(() -> Items.DEEPSLATE_GOLD_ORE, AllItems.CRUSHED_GOLD::get, 2.25f, 350), - DEEP_DIAMOND_ORE = deepslateOre(() -> Items.DEEPSLATE_DIAMOND_ORE, () -> Items.DIAMOND, 2.25f, 450), - DEEP_EMERALD_ORE = deepslateOre(() -> Items.DEEPSLATE_EMERALD_ORE, () -> Items.EMERALD, 2.25f, 450), - DEEP_COAL_ORE = deepslateOre(() -> Items.DEEPSLATE_COAL_ORE, () -> Items.COAL, 2.25f, 300), - DEEP_REDSTONE_ORE = deepslateOre(() -> Items.DEEPSLATE_REDSTONE_ORE, () -> Items.REDSTONE, 7.5f, 350), - DEEP_LAPIS_ORE = deepslateOre(() -> Items.DEEPSLATE_LAPIS_ORE, () -> Items.LAPIS_LAZULI, 12.5f, 350), - - NETHER_GOLD_ORE = netherOre(() -> Items.NETHER_GOLD_ORE, () -> Items.GOLD_NUGGET, 18, 350), - NETHER_QUARTZ_ORE = netherOre(() -> Items.NETHER_QUARTZ_ORE, () -> Items.QUARTZ, 2.25f, 350), - - GILDED_BLACKSTONE = ore(Items.BLACKSTONE, () -> Items.GILDED_BLACKSTONE, () -> Items.GOLD_NUGGET, 18, 400), - - RAW_COPPER_ORE = rawOre(() -> Items.RAW_COPPER, AllItems.CRUSHED_COPPER::get, 1), - RAW_ZINC_ORE = rawOre(AllItems.RAW_ZINC::get, AllItems.CRUSHED_ZINC::get, 1), - RAW_IRON_ORE = rawOre(() -> Items.RAW_IRON, AllItems.CRUSHED_IRON::get, 1), - RAW_GOLD_ORE = rawOre(() -> Items.RAW_GOLD, AllItems.CRUSHED_GOLD::get, 1), - - OSMIUM_ORE = moddedOre(OSMIUM, AllItems.CRUSHED_OSMIUM::get), - PLATINUM_ORE = moddedOre(PLATINUM, AllItems.CRUSHED_PLATINUM::get), - SILVER_ORE = moddedOre(SILVER, AllItems.CRUSHED_SILVER::get), - TIN_ORE = moddedOre(TIN, AllItems.CRUSHED_TIN::get), - QUICKSILVER_ORE = moddedOre(QUICKSILVER, AllItems.CRUSHED_QUICKSILVER::get), - LEAD_ORE = moddedOre(LEAD, AllItems.CRUSHED_LEAD::get), - ALUMINUM_ORE = moddedOre(ALUMINUM, AllItems.CRUSHED_BAUXITE::get), - URANIUM_ORE = moddedOre(URANIUM, AllItems.CRUSHED_URANIUM::get), - NICKEL_ORE = moddedOre(NICKEL, AllItems.CRUSHED_NICKEL::get), - - OSMIUM_RAW_ORE = moddedRawOre(OSMIUM, AllItems.CRUSHED_OSMIUM::get, 1), - PLATINUM_RAW_ORE = moddedRawOre(PLATINUM, AllItems.CRUSHED_PLATINUM::get, 1), - SILVER_RAW_ORE = moddedRawOre(SILVER, AllItems.CRUSHED_SILVER::get, 1), - TIN_RAW_ORE = moddedRawOre(TIN, AllItems.CRUSHED_TIN::get, 1), - QUICKSILVER_RAW_ORE = moddedRawOre(QUICKSILVER, AllItems.CRUSHED_QUICKSILVER::get, 1), - LEAD_RAW_ORE = moddedRawOre(LEAD, AllItems.CRUSHED_LEAD::get, 1), - ALUMINUM_RAW_ORE = moddedRawOre(ALUMINUM, AllItems.CRUSHED_BAUXITE::get, 1), - URANIUM_RAW_ORE = moddedRawOre(URANIUM, AllItems.CRUSHED_URANIUM::get, 1), - NICKEL_RAW_ORE = moddedRawOre(NICKEL, AllItems.CRUSHED_NICKEL::get, 1), - - RAW_COPPER_BLOCK = rawOre(() -> Items.RAW_COPPER_BLOCK, AllItems.CRUSHED_COPPER::get, 9), - RAW_ZINC_BLOCK = rawOre(AllBlocks.RAW_ZINC_BLOCK::get, AllItems.CRUSHED_ZINC::get, 9), - RAW_IRON_BLOCK = rawOre(() -> Items.RAW_IRON_BLOCK, AllItems.CRUSHED_IRON::get, 9), - RAW_GOLD_BLOCK = rawOre(() -> Items.RAW_GOLD_BLOCK, AllItems.CRUSHED_GOLD::get, 9), - - OSMIUM_RAW_BLOCK = moddedRawOre(OSMIUM, AllItems.CRUSHED_OSMIUM::get, 9), - PLATINUM_RAW_BLOCK = moddedRawOre(PLATINUM, AllItems.CRUSHED_PLATINUM::get, 9), - SILVER_RAW_BLOCK = moddedRawOre(SILVER, AllItems.CRUSHED_SILVER::get, 9), - TIN_RAW_BLOCK = moddedRawOre(TIN, AllItems.CRUSHED_TIN::get, 9), - QUICKSILVER_RAW_BLOCK = moddedRawOre(QUICKSILVER, AllItems.CRUSHED_QUICKSILVER::get, 9), - LEAD_RAW_BLOCK = moddedRawOre(LEAD, AllItems.CRUSHED_LEAD::get, 9), - ALUMINUM_RAW_BLOCK = moddedRawOre(ALUMINUM, AllItems.CRUSHED_BAUXITE::get, 9), - URANIUM_RAW_BLOCK = moddedRawOre(URANIUM, AllItems.CRUSHED_URANIUM::get, 9), - NICKEL_RAW_BLOCK = moddedRawOre(NICKEL, AllItems.CRUSHED_NICKEL::get, 9), - - NETHER_WART = create("nether_wart_block", b -> b.duration(150) - .require(Blocks.NETHER_WART_BLOCK) - .output(.25f, Items.NETHER_WART, 1)), - - AMETHYST_CLUSTER = create(() -> Blocks.AMETHYST_CLUSTER, b -> b.duration(150) - .output(Items.AMETHYST_SHARD, 7) - .output(.5f, Items.AMETHYST_SHARD)), - - GLOWSTONE = create(() -> Blocks.GLOWSTONE, b -> b.duration(150) - .output(Items.GLOWSTONE_DUST, 3) - .output(.5f, Items.GLOWSTONE_DUST)), - - AMETHYST_BLOCK = create(() -> Blocks.AMETHYST_BLOCK, b -> b.duration(150) - .output(Items.AMETHYST_SHARD, 3) - .output(.5f, Items.AMETHYST_SHARD)), - LEATHER_HORSE_ARMOR = create(() -> Items.LEATHER_HORSE_ARMOR, b -> b.duration(200) .output(Items.LEATHER, 2) .output(.5f, Items.LEATHER, 2)), @@ -182,6 +73,27 @@ public class CrushingRecipeGen extends ProcessingRecipeGen { .output(.1f, Items.DIAMOND, 3) .output(.25f, Items.STRING, 2)), + WOOL = create("wool", b -> b.duration(100) + .require(ItemTags.WOOL) + .output(Items.STRING, 2) + .output(.5f, Items.STRING)), + + NETHER_WART = create("nether_wart_block", b -> b.duration(150) + .require(Blocks.NETHER_WART_BLOCK) + .output(.25f, Items.NETHER_WART, 1)), + + AMETHYST_CLUSTER = create(() -> Blocks.AMETHYST_CLUSTER, b -> b.duration(150) + .output(Items.AMETHYST_SHARD, 7) + .output(.5f, Items.AMETHYST_SHARD)), + + GLOWSTONE = create(() -> Blocks.GLOWSTONE, b -> b.duration(150) + .output(Items.GLOWSTONE_DUST, 3) + .output(.5f, Items.GLOWSTONE_DUST)), + + AMETHYST_BLOCK = create(() -> Blocks.AMETHYST_BLOCK, b -> b.duration(150) + .output(Items.AMETHYST_SHARD, 3) + .output(.5f, Items.AMETHYST_SHARD)), + GRAVEL = create(() -> Blocks.GRAVEL, b -> b.duration(250) .output(Blocks.SAND) .output(.1f, Items.FLINT) @@ -192,6 +104,97 @@ public class CrushingRecipeGen extends ProcessingRecipeGen { .output(.5f, AllItems.CINDER_FLOUR.get()) .whenModMissing(Mods.ENS.getId())), + OBSIDIAN = create(() -> Blocks.OBSIDIAN, b -> b.duration(500) + .output(AllItems.POWDERED_OBSIDIAN.get()) + .output(.75f, Blocks.OBSIDIAN)), + + DIORITE = ensMineralRecycling(AllPaletteStoneTypes.DIORITE, b -> b.duration(350) + .output(.25f, Items.QUARTZ, 1)), + + CRIMSITE = + mineralRecycling(AllPaletteStoneTypes.CRIMSITE, AllItems.CRUSHED_IRON::get, () -> Items.IRON_NUGGET, .4f), + + VERIDIUM = mineralRecycling(AllPaletteStoneTypes.VERIDIUM, AllItems.CRUSHED_COPPER::get, + () -> AllItems.COPPER_NUGGET::get, .8f), + + ASURINE = mineralRecycling(AllPaletteStoneTypes.ASURINE, AllItems.CRUSHED_ZINC::get, + () -> AllItems.ZINC_NUGGET::get, .3f), + + OCHRUM = + mineralRecycling(AllPaletteStoneTypes.OCHRUM, AllItems.CRUSHED_GOLD::get, () -> Items.GOLD_NUGGET, .2f), + + TUFF = mineralRecycling(AllPaletteStoneTypes.TUFF, b -> b.duration(350) + .output(.25f, Items.FLINT, 1) + .output(.1f, Items.GOLD_NUGGET, 1) + .output(.1f, AllItems.COPPER_NUGGET.get(), 1) + .output(.1f, AllItems.ZINC_NUGGET.get(), 1) + .output(.1f, Items.IRON_NUGGET, 1)), + + COAL_ORE = stoneOre(() -> Items.COAL_ORE, () -> Items.COAL, 1.75f, 150), + IRON_ORE = stoneOre(() -> Items.IRON_ORE, AllItems.CRUSHED_IRON::get, 1.75f, 250), + COPPER_ORE = stoneOre(() -> Items.COPPER_ORE, AllItems.CRUSHED_COPPER::get, 5.25f, 250), + GOLD_ORE = stoneOre(() -> Items.GOLD_ORE, AllItems.CRUSHED_GOLD::get, 1.75f, 250), + REDSTONE_ORE = stoneOre(() -> Items.REDSTONE_ORE, () -> Items.REDSTONE, 6.5f, 250), + EMERALD_ORE = stoneOre(() -> Items.EMERALD_ORE, () -> Items.EMERALD, 1.75f, 350), + LAPIS_ORE = stoneOre(() -> Items.LAPIS_ORE, () -> Items.LAPIS_LAZULI, 10.5f, 250), + DIAMOND_ORE = stoneOre(() -> Items.DIAMOND_ORE, () -> Items.DIAMOND, 1.75f, 350), + ZINC_ORE = stoneOre(AllBlocks.ZINC_ORE::get, AllItems.CRUSHED_ZINC::get, 1.75f, 250), + + DEEP_COAL_ORE = deepslateOre(() -> Items.DEEPSLATE_COAL_ORE, () -> Items.COAL, 2.25f, 300), + DEEP_IRON_ORE = deepslateOre(() -> Items.DEEPSLATE_IRON_ORE, AllItems.CRUSHED_IRON::get, 2.25f, 350), + DEEP_COPPER_ORE = deepslateOre(() -> Items.DEEPSLATE_COPPER_ORE, AllItems.CRUSHED_COPPER::get, 7.25f, 350), + DEEP_GOLD_ORE = deepslateOre(() -> Items.DEEPSLATE_GOLD_ORE, AllItems.CRUSHED_GOLD::get, 2.25f, 350), + DEEP_REDSTONE_ORE = deepslateOre(() -> Items.DEEPSLATE_REDSTONE_ORE, () -> Items.REDSTONE, 7.5f, 350), + DEEP_EMERALD_ORE = deepslateOre(() -> Items.DEEPSLATE_EMERALD_ORE, () -> Items.EMERALD, 2.25f, 450), + DEEP_LAPIS_ORE = deepslateOre(() -> Items.DEEPSLATE_LAPIS_ORE, () -> Items.LAPIS_LAZULI, 12.5f, 350), + DEEP_DIAMOND_ORE = deepslateOre(() -> Items.DEEPSLATE_DIAMOND_ORE, () -> Items.DIAMOND, 2.25f, 450), + DEEP_ZINC_ORE = deepslateOre(AllBlocks.DEEPSLATE_ZINC_ORE::get, AllItems.CRUSHED_ZINC::get, 2.25f, 350), + + NETHER_GOLD_ORE = netherOre(() -> Items.NETHER_GOLD_ORE, () -> Items.GOLD_NUGGET, 18, 350), + NETHER_QUARTZ_ORE = netherOre(() -> Items.NETHER_QUARTZ_ORE, () -> Items.QUARTZ, 2.25f, 350), + + GILDED_BLACKSTONE = ore(Items.BLACKSTONE, () -> Items.GILDED_BLACKSTONE, () -> Items.GOLD_NUGGET, 18, 400), + + OSMIUM_ORE = moddedOre(OSMIUM, AllItems.CRUSHED_OSMIUM::get), + PLATINUM_ORE = moddedOre(PLATINUM, AllItems.CRUSHED_PLATINUM::get), + SILVER_ORE = moddedOre(SILVER, AllItems.CRUSHED_SILVER::get), + TIN_ORE = moddedOre(TIN, AllItems.CRUSHED_TIN::get), + QUICKSILVER_ORE = moddedOre(QUICKSILVER, AllItems.CRUSHED_QUICKSILVER::get), + LEAD_ORE = moddedOre(LEAD, AllItems.CRUSHED_LEAD::get), + ALUMINUM_ORE = moddedOre(ALUMINUM, AllItems.CRUSHED_BAUXITE::get), + URANIUM_ORE = moddedOre(URANIUM, AllItems.CRUSHED_URANIUM::get), + NICKEL_ORE = moddedOre(NICKEL, AllItems.CRUSHED_NICKEL::get), + + RAW_IRON_ORE = rawOre("iron", () -> Tags.Items.RAW_MATERIALS_IRON, AllItems.CRUSHED_IRON::get, 1), + RAW_COPPER_ORE = rawOre("copper", () -> Tags.Items.RAW_MATERIALS_COPPER, AllItems.CRUSHED_COPPER::get, 1), + RAW_GOLD_ORE = rawOre("gold", () -> Tags.Items.RAW_MATERIALS_GOLD, AllItems.CRUSHED_GOLD::get, 2), + RAW_ZINC_ORE = rawOre("zinc", () -> AllTags.forgeItemTag("raw_materials/zinc"), AllItems.CRUSHED_ZINC::get, 1), + + OSMIUM_RAW_ORE = moddedRawOre(OSMIUM, AllItems.CRUSHED_OSMIUM::get), + PLATINUM_RAW_ORE = moddedRawOre(PLATINUM, AllItems.CRUSHED_PLATINUM::get), + SILVER_RAW_ORE = moddedRawOre(SILVER, AllItems.CRUSHED_SILVER::get), + TIN_RAW_ORE = moddedRawOre(TIN, AllItems.CRUSHED_TIN::get), + QUICKSILVER_RAW_ORE = moddedRawOre(QUICKSILVER, AllItems.CRUSHED_QUICKSILVER::get), + LEAD_RAW_ORE = moddedRawOre(LEAD, AllItems.CRUSHED_LEAD::get), + ALUMINUM_RAW_ORE = moddedRawOre(ALUMINUM, AllItems.CRUSHED_BAUXITE::get), + URANIUM_RAW_ORE = moddedRawOre(URANIUM, AllItems.CRUSHED_URANIUM::get), + NICKEL_RAW_ORE = moddedRawOre(NICKEL, AllItems.CRUSHED_NICKEL::get), + + RAW_IRON_BLOCK = rawOreBlock("iron", () -> Tags.Items.STORAGE_BLOCKS_RAW_IRON, AllItems.CRUSHED_IRON::get, 1), + RAW_COPPER_BLOCK = rawOreBlock("copper", () -> Tags.Items.STORAGE_BLOCKS_RAW_COPPER, AllItems.CRUSHED_COPPER::get, 1), + RAW_GOLD_BLOCK = rawOreBlock("gold", () -> Tags.Items.STORAGE_BLOCKS_RAW_GOLD, AllItems.CRUSHED_GOLD::get, 2), + RAW_ZINC_BLOCK = rawOreBlock("zinc", () -> AllTags.forgeItemTag("storage_blocks/raw_zinc"), AllItems.CRUSHED_ZINC::get, 1), + + OSMIUM_RAW_BLOCK = moddedRawOreBlock(OSMIUM, AllItems.CRUSHED_OSMIUM::get), + PLATINUM_RAW_BLOCK = moddedRawOreBlock(PLATINUM, AllItems.CRUSHED_PLATINUM::get), + SILVER_RAW_BLOCK = moddedRawOreBlock(SILVER, AllItems.CRUSHED_SILVER::get), + TIN_RAW_BLOCK = moddedRawOreBlock(TIN, AllItems.CRUSHED_TIN::get), + QUICKSILVER_RAW_BLOCK = moddedRawOreBlock(QUICKSILVER, AllItems.CRUSHED_QUICKSILVER::get), + LEAD_RAW_BLOCK = moddedRawOreBlock(LEAD, AllItems.CRUSHED_LEAD::get), + ALUMINUM_RAW_BLOCK = moddedRawOreBlock(ALUMINUM, AllItems.CRUSHED_BAUXITE::get), + URANIUM_RAW_BLOCK = moddedRawOreBlock(URANIUM, AllItems.CRUSHED_URANIUM::get), + NICKEL_RAW_BLOCK = moddedRawOreBlock(NICKEL, AllItems.CRUSHED_NICKEL::get), + // AE2 AE2_DEEPSLATE_ORE = create(Mods.AE2.recipeId("deepslate_quartz_ore"), b -> b.duration(300) .require(Mods.AE2, "deepslate_quartz_ore") @@ -431,21 +434,6 @@ public class CrushingRecipeGen extends ProcessingRecipeGen { ; - protected GeneratedRecipe stoneOre(Supplier ore, Supplier raw, float expectedAmount, - int duration) { - return ore(Blocks.COBBLESTONE, ore, raw, expectedAmount, duration); - } - - protected GeneratedRecipe deepslateOre(Supplier ore, Supplier raw, float expectedAmount, - int duration) { - return ore(Blocks.COBBLED_DEEPSLATE, ore, raw, expectedAmount, duration); - } - - protected GeneratedRecipe netherOre(Supplier ore, Supplier raw, float expectedAmount, - int duration) { - return ore(Blocks.NETHERRACK, ore, raw, expectedAmount, duration); - } - protected GeneratedRecipe mineralRecycling(AllPaletteStoneTypes type, Supplier crushed, Supplier nugget, float chance) { return mineralRecycling(type, b -> b.duration(250) @@ -465,6 +453,21 @@ public class CrushingRecipeGen extends ProcessingRecipeGen { return create(type.getBaseBlock()::get, b -> transform.apply(b.whenModMissing(Mods.ENS.getId()))); } + protected GeneratedRecipe stoneOre(Supplier ore, Supplier raw, float expectedAmount, + int duration) { + return ore(Blocks.COBBLESTONE, ore, raw, expectedAmount, duration); + } + + protected GeneratedRecipe deepslateOre(Supplier ore, Supplier raw, float expectedAmount, + int duration) { + return ore(Blocks.COBBLED_DEEPSLATE, ore, raw, expectedAmount, duration); + } + + protected GeneratedRecipe netherOre(Supplier ore, Supplier raw, float expectedAmount, + int duration) { + return ore(Blocks.NETHERRACK, ore, raw, expectedAmount, duration); + } + protected GeneratedRecipe ore(ItemLike stoneType, Supplier ore, Supplier raw, float expectedAmount, int duration) { return create(ore, b -> { @@ -478,24 +481,6 @@ public class CrushingRecipeGen extends ProcessingRecipeGen { }); } - protected GeneratedRecipe rawOre(Supplier input, Supplier result, int amount) { - return create(input, b -> b.duration(400) - .output(result.get(), amount) - .output(.75f, AllItems.EXP_NUGGET.get(), (result.get() == AllItems.CRUSHED_GOLD.get() ? 2 : 1) * amount)); - } - - protected GeneratedRecipe moddedRawOre(CompatMetals metal, Supplier result, int amount) { - String name = metal.getName(); - return create("raw_" + name + (amount == 1 ? "_ore" : "_block"), b -> { - String prefix = amount == 1 ? "raw_materials/" : "storage_blocks/raw_"; - return b.duration(400) - .withCondition(new NotCondition(new TagEmptyCondition("forge", prefix + name))) - .require(AllTags.forgeItemTag(prefix + name)) - .output(result.get(), amount) - .output(.75f, AllItems.EXP_NUGGET.get(), amount); - }); - } - protected GeneratedRecipe moddedOre(CompatMetals metal, Supplier result) { String name = metal.getName(); return create(name + "_ore", b -> { @@ -509,6 +494,45 @@ public class CrushingRecipeGen extends ProcessingRecipeGen { }); } + protected GeneratedRecipe rawOre(String metalName, Supplier> input, Supplier result, int xpMult) { + return rawOre(metalName, input, result, false, xpMult); + } + + protected GeneratedRecipe rawOreBlock(String metalName, Supplier> input, Supplier result, int xpMult) { + return rawOre(metalName, input, result, true, xpMult); + } + + protected GeneratedRecipe rawOre(String metalName, Supplier> input, Supplier result, boolean block, int xpMult) { + return create("raw_" + metalName + (block ? "_block" : ""), b -> { + int amount = block ? 9 : 1; + return b.duration(400) + .require(input.get()) + .output(result.get(), amount) + .output(.75f, AllItems.EXP_NUGGET.get(), amount * xpMult); + }); + } + + protected GeneratedRecipe moddedRawOre(CompatMetals metal, Supplier result) { + return moddedRawOre(metal, result, false); + } + + protected GeneratedRecipe moddedRawOreBlock(CompatMetals metal, Supplier result) { + return moddedRawOre(metal, result, true); + } + + protected GeneratedRecipe moddedRawOre(CompatMetals metal, Supplier result, boolean block) { + String name = metal.getName(); + return create("raw_" + name + (block ? "_block" : ""), b -> { + int amount = block ? 9 : 1; + String tagPath = (block ? "storage_blocks/raw_" : "raw_materials/") + name; + return b.duration(400) + .withCondition(new NotCondition(new TagEmptyCondition("forge", tagPath))) + .require(AllTags.forgeItemTag(tagPath)) + .output(result.get(), amount) + .output(.75f, AllItems.EXP_NUGGET.get(), amount); + }); + } + protected GeneratedRecipe sgStoneOres(String... types) { for (String type : types) { create(Mods.SILENT_GEMS.recipeId(type + "_ore"), b -> b.duration(350) diff --git a/src/main/java/com/simibubi/create/foundation/data/recipe/CuttingRecipeGen.java b/src/main/java/com/simibubi/create/foundation/data/recipe/CuttingRecipeGen.java index b15fdd306..ba1af8f53 100644 --- a/src/main/java/com/simibubi/create/foundation/data/recipe/CuttingRecipeGen.java +++ b/src/main/java/com/simibubi/create/foundation/data/recipe/CuttingRecipeGen.java @@ -14,7 +14,7 @@ public class CuttingRecipeGen extends ProcessingRecipeGen { GeneratedRecipe - ANDESITE_ALLOY = create(I::andesite, b -> b.duration(200) + ANDESITE_ALLOY = create(I::andesiteAlloy, b -> b.duration(200) .output(AllBlocks.SHAFT.get(), 6)), OAK_WOOD = stripAndMakePlanks(Blocks.OAK_WOOD, Blocks.STRIPPED_OAK_WOOD, Blocks.OAK_PLANKS), diff --git a/src/main/java/com/simibubi/create/foundation/data/recipe/ItemApplicationRecipeGen.java b/src/main/java/com/simibubi/create/foundation/data/recipe/ItemApplicationRecipeGen.java index 38d3e9d1f..ddf83bfc1 100644 --- a/src/main/java/com/simibubi/create/foundation/data/recipe/ItemApplicationRecipeGen.java +++ b/src/main/java/com/simibubi/create/foundation/data/recipe/ItemApplicationRecipeGen.java @@ -13,8 +13,8 @@ import net.minecraft.world.level.ItemLike; public class ItemApplicationRecipeGen extends ProcessingRecipeGen { - GeneratedRecipe ANDESITE = woodCasing("andesite", I::andesite, I::andesiteCasing); - GeneratedRecipe COPPER = woodCasing("copper", I::copper, I::copperCasing); + GeneratedRecipe ANDESITE = woodCasing("andesite", I::andesiteAlloy, I::andesiteCasing); + GeneratedRecipe COPPER = woodCasingTag("copper", I::copper, I::copperCasing); GeneratedRecipe BRASS = woodCasingTag("brass", I::brass, I::brassCasing); GeneratedRecipe RAILWAY = create("railway_casing", b -> b.require(I.brassCasing()) .require(I.sturdySheet()) diff --git a/src/main/java/com/simibubi/create/foundation/data/recipe/MechanicalCraftingRecipeGen.java b/src/main/java/com/simibubi/create/foundation/data/recipe/MechanicalCraftingRecipeGen.java index dbf210b72..f4ed0821b 100644 --- a/src/main/java/com/simibubi/create/foundation/data/recipe/MechanicalCraftingRecipeGen.java +++ b/src/main/java/com/simibubi/create/foundation/data/recipe/MechanicalCraftingRecipeGen.java @@ -22,7 +22,7 @@ public class MechanicalCraftingRecipeGen extends CreateRecipeProvider { CRUSHING_WHEEL = create(AllBlocks.CRUSHING_WHEEL::get).returns(2) .recipe(b -> b.key('P', Ingredient.of(ItemTags.PLANKS)) .key('S', Ingredient.of(I.stone())) - .key('A', I.andesite()) + .key('A', I.andesiteAlloy()) .patternLine(" AAA ") .patternLine("AAPAA") .patternLine("APSPA") @@ -55,7 +55,7 @@ public class MechanicalCraftingRecipeGen extends CreateRecipeProvider { .disallowMirrored()), POTATO_CANNON = create(AllItems.POTATO_CANNON::get).returns(1) - .recipe(b -> b.key('L', I.andesite()) + .recipe(b -> b.key('L', I.andesiteAlloy()) .key('R', I.precisionMechanism()) .key('S', AllBlocks.FLUID_PIPE.get()) .key('C', Ingredient.of(I.copper())) diff --git a/src/main/java/com/simibubi/create/foundation/data/recipe/MixingRecipeGen.java b/src/main/java/com/simibubi/create/foundation/data/recipe/MixingRecipeGen.java index aac264785..44e043605 100644 --- a/src/main/java/com/simibubi/create/foundation/data/recipe/MixingRecipeGen.java +++ b/src/main/java/com/simibubi/create/foundation/data/recipe/MixingRecipeGen.java @@ -51,11 +51,11 @@ public class MixingRecipeGen extends ProcessingRecipeGen { ANDESITE_ALLOY = create("andesite_alloy", b -> b.require(Blocks.ANDESITE) .require(I.ironNugget()) - .output(I.andesite(), 1)), + .output(I.andesiteAlloy(), 1)), ANDESITE_ALLOY_FROM_ZINC = create("andesite_alloy_from_zinc", b -> b.require(Blocks.ANDESITE) .require(I.zincNugget()) - .output(I.andesite(), 1)), + .output(I.andesiteAlloy(), 1)), // AE2 diff --git a/src/main/java/com/simibubi/create/foundation/data/recipe/SequencedAssemblyRecipeGen.java b/src/main/java/com/simibubi/create/foundation/data/recipe/SequencedAssemblyRecipeGen.java index b176a6831..3bab9cd29 100644 --- a/src/main/java/com/simibubi/create/foundation/data/recipe/SequencedAssemblyRecipeGen.java +++ b/src/main/java/com/simibubi/create/foundation/data/recipe/SequencedAssemblyRecipeGen.java @@ -5,7 +5,6 @@ import java.util.stream.Stream; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllItems; -import com.simibubi.create.AllTags; import com.simibubi.create.AllTags.AllItemTags; import com.simibubi.create.Create; import com.simibubi.create.content.fluids.transfer.FillingRecipe; diff --git a/src/main/java/com/simibubi/create/foundation/data/recipe/StandardRecipeGen.java b/src/main/java/com/simibubi/create/foundation/data/recipe/StandardRecipeGen.java index 9922896b8..1dae805e9 100644 --- a/src/main/java/com/simibubi/create/foundation/data/recipe/StandardRecipeGen.java +++ b/src/main/java/com/simibubi/create/foundation/data/recipe/StandardRecipeGen.java @@ -82,10 +82,10 @@ public class StandardRecipeGen extends CreateRecipeProvider { .pattern("CCC")), COPPER_NUGGET = create(AllItems.COPPER_NUGGET).returns(9) - .unlockedBy(() -> Items.COPPER_INGOT) + .unlockedByTag(I::copper) .viaShapeless(b -> b.requires(I.copper())), - COPPER_INGOT = create(() -> Items.COPPER_INGOT).unlockedBy(AllItems.COPPER_NUGGET::get) + COPPER_INGOT = create(() -> Items.COPPER_INGOT).unlockedByTag(I::copperNugget) .viaShaped(b -> b.define('C', I.copperNugget()) .pattern("CCC") .pattern("CCC") @@ -93,11 +93,11 @@ public class StandardRecipeGen extends CreateRecipeProvider { ANDESITE_ALLOY_FROM_BLOCK = create(AllItems.ANDESITE_ALLOY).withSuffix("_from_block") .returns(9) - .unlockedBy(I::andesite) + .unlockedBy(I::andesiteAlloy) .viaShapeless(b -> b.requires(AllBlocks.ANDESITE_ALLOY_BLOCK.get())), - ANDESITE_ALLOY_BLOCK = create(AllBlocks.ANDESITE_ALLOY_BLOCK).unlockedBy(I::andesite) - .viaShaped(b -> b.define('C', I.andesite()) + ANDESITE_ALLOY_BLOCK = create(AllBlocks.ANDESITE_ALLOY_BLOCK).unlockedBy(I::andesiteAlloy) + .viaShaped(b -> b.define('C', I.andesiteAlloy()) .pattern("CCC") .pattern("CCC") .pattern("CCC")), @@ -172,8 +172,8 @@ public class StandardRecipeGen extends CreateRecipeProvider { TOOLBOX_DYEING = createSpecial(AllRecipeTypes.TOOLBOX_DYEING::getSerializer, "crafting", "toolbox_dyeing"), - MINECART_COUPLING = create(AllItems.MINECART_COUPLING).unlockedBy(I::andesite) - .viaShaped(b -> b.define('E', I.andesite()) + MINECART_COUPLING = create(AllItems.MINECART_COUPLING).unlockedBy(I::andesiteAlloy) + .viaShaped(b -> b.define('E', I.andesiteAlloy()) .define('O', I.ironSheet()) .pattern(" E") .pattern(" O ") @@ -198,19 +198,19 @@ public class StandardRecipeGen extends CreateRecipeProvider { private Marker KINETICS = enterFolder("kinetics"); - GeneratedRecipe BASIN = create(AllBlocks.BASIN).unlockedBy(I::andesite) - .viaShaped(b -> b.define('A', I.andesite()) + GeneratedRecipe BASIN = create(AllBlocks.BASIN).unlockedBy(I::andesiteAlloy) + .viaShaped(b -> b.define('A', I.andesiteAlloy()) .pattern("A A") .pattern("AAA")), - GOGGLES = create(AllItems.GOGGLES).unlockedBy(I::andesite) + GOGGLES = create(AllItems.GOGGLES).unlockedBy(I::andesiteAlloy) .viaShaped(b -> b.define('G', Tags.Items.GLASS) .define('P', I.goldSheet()) .define('S', Tags.Items.STRING) .pattern(" S ") .pattern("GPG")), - WRENCH = create(AllItems.WRENCH).unlockedBy(I::andesite) + WRENCH = create(AllItems.WRENCH).unlockedBy(I::andesiteAlloy) .viaShaped(b -> b.define('G', I.goldSheet()) .define('P', I.cog()) .define('S', Tags.Items.RODS_WOODEN) @@ -218,7 +218,7 @@ public class StandardRecipeGen extends CreateRecipeProvider { .pattern("GP") .pattern(" S")), - FILTER = create(AllItems.FILTER).unlockedBy(I::andesite) + FILTER = create(AllItems.FILTER).unlockedBy(I::andesiteAlloy) .viaShaped(b -> b.define('S', ItemTags.WOOL) .define('A', Tags.Items.NUGGETS_IRON) .pattern("ASA")), @@ -229,7 +229,7 @@ public class StandardRecipeGen extends CreateRecipeProvider { .pattern("ASA")), BRASS_HAND = create(AllItems.BRASS_HAND).unlockedByTag(I::brass) - .viaShaped(b -> b.define('A', I.andesite()) + .viaShaped(b -> b.define('A', I.andesiteAlloy()) .define('B', I.brassSheet()) .pattern(" A ") .pattern("BBB") @@ -246,21 +246,21 @@ public class StandardRecipeGen extends CreateRecipeProvider { .viaShaped(b -> b.define('A', I.brassNugget()) .pattern("AAA")), - COGWHEEL = create(AllBlocks.COGWHEEL).unlockedBy(I::andesite) + COGWHEEL = create(AllBlocks.COGWHEEL).unlockedBy(I::andesiteAlloy) .viaShapeless(b -> b.requires(I.shaft()) .requires(I.planks())), - LARGE_COGWHEEL = create(AllBlocks.LARGE_COGWHEEL).unlockedBy(I::andesite) + LARGE_COGWHEEL = create(AllBlocks.LARGE_COGWHEEL).unlockedBy(I::andesiteAlloy) .viaShapeless(b -> b.requires(I.shaft()) .requires(I.planks()) .requires(I.planks())), LARGE_COGWHEEL_FROM_LITTLE = create(AllBlocks.LARGE_COGWHEEL).withSuffix("_from_little") - .unlockedBy(I::andesite) + .unlockedBy(I::andesiteAlloy) .viaShapeless(b -> b.requires(I.cog()) .requires(I.planks())), - WATER_WHEEL = create(AllBlocks.WATER_WHEEL).unlockedBy(I::andesite) + WATER_WHEEL = create(AllBlocks.WATER_WHEEL).unlockedBy(I::andesiteAlloy) .viaShaped(b -> b.define('S', I.planks()) .define('C', I.shaft()) .pattern("SSS") @@ -275,8 +275,8 @@ public class StandardRecipeGen extends CreateRecipeProvider { .pattern("SSS")), SHAFT = create(AllBlocks.SHAFT).returns(8) - .unlockedBy(I::andesite) - .viaShaped(b -> b.define('A', I.andesite()) + .unlockedBy(I::andesiteAlloy) + .viaShaped(b -> b.define('A', I.andesiteAlloy()) .pattern("A") .pattern("A")), @@ -304,21 +304,21 @@ public class StandardRecipeGen extends CreateRecipeProvider { .pattern("C") .pattern("I")), - STICKY_MECHANICAL_PISTON = create(AllBlocks.STICKY_MECHANICAL_PISTON).unlockedBy(I::andesite) + STICKY_MECHANICAL_PISTON = create(AllBlocks.STICKY_MECHANICAL_PISTON).unlockedBy(I::andesiteAlloy) .viaShaped(b -> b.define('S', Tags.Items.SLIMEBALLS) .define('P', AllBlocks.MECHANICAL_PISTON.get()) .pattern("S") .pattern("P")), - TURNTABLE = create(AllBlocks.TURNTABLE).unlockedBy(I::andesite) + TURNTABLE = create(AllBlocks.TURNTABLE).unlockedBy(I::andesiteAlloy) .viaShaped(b -> b.define('S', I.shaft()) .define('P', ItemTags.WOODEN_SLABS) .pattern("P") .pattern("S")), PISTON_EXTENSION_POLE = create(AllBlocks.PISTON_EXTENSION_POLE).returns(8) - .unlockedBy(I::andesite) - .viaShaped(b -> b.define('A', I.andesite()) + .unlockedBy(I::andesiteAlloy) + .viaShaped(b -> b.define('A', I.andesiteAlloy()) .define('P', ItemTags.PLANKS) .pattern("P") .pattern("A") @@ -333,8 +333,8 @@ public class StandardRecipeGen extends CreateRecipeProvider { .pattern("I")), GANTRY_SHAFT = create(AllBlocks.GANTRY_SHAFT).returns(8) - .unlockedBy(I::andesite) - .viaShaped(b -> b.define('A', I.andesite()) + .unlockedBy(I::andesiteAlloy) + .viaShaped(b -> b.define('A', I.andesiteAlloy()) .define('R', I.redstone()) .pattern("A") .pattern("R") @@ -380,7 +380,7 @@ public class StandardRecipeGen extends CreateRecipeProvider { .viaShapeless(b -> b.requires(ItemTags.WOODEN_TRAPDOORS) .requires(AllPaletteBlocks.FRAMED_GLASS.get())), - ANALOG_LEVER = create(AllBlocks.ANALOG_LEVER).unlockedBy(I::andesite) + ANALOG_LEVER = create(AllBlocks.ANALOG_LEVER).unlockedBy(I::andesiteAlloy) .viaShaped(b -> b.define('S', I.andesiteCasing()) .define('P', Tags.Items.RODS_WOODEN) .pattern("P") @@ -391,7 +391,7 @@ public class StandardRecipeGen extends CreateRecipeProvider { .requires(I.redstone()) .requires(I.zinc())), - BELT_CONNECTOR = create(AllItems.BELT_CONNECTOR).unlockedBy(I::andesite) + BELT_CONNECTOR = create(AllItems.BELT_CONNECTOR).unlockedBy(I::andesiteAlloy) .viaShaped(b -> b.define('D', Items.DRIED_KELP) .pattern("DDD") .pattern("DDD")), @@ -400,10 +400,10 @@ public class StandardRecipeGen extends CreateRecipeProvider { .viaShapeless(b -> b.requires(AllBlocks.ENCASED_CHAIN_DRIVE.get()) .requires(I.electronTube())), - CART_ASSEMBLER = create(AllBlocks.CART_ASSEMBLER).unlockedBy(I::andesite) + CART_ASSEMBLER = create(AllBlocks.CART_ASSEMBLER).unlockedBy(I::andesiteAlloy) .viaShaped(b -> b.define('L', ItemTags.LOGS) .define('R', I.redstone()) - .define('C', I.andesite()) + .define('C', I.andesiteAlloy()) .pattern("CRC") .pattern("L L")), @@ -416,24 +416,24 @@ public class StandardRecipeGen extends CreateRecipeProvider { .pattern("ASA") .pattern("AEA")), - HAND_CRANK = create(AllBlocks.HAND_CRANK).unlockedBy(I::andesite) - .viaShaped(b -> b.define('A', I.andesite()) + HAND_CRANK = create(AllBlocks.HAND_CRANK).unlockedBy(I::andesiteAlloy) + .viaShaped(b -> b.define('A', I.andesiteAlloy()) .define('C', ItemTags.PLANKS) .pattern("CCC") .pattern(" A")), - COPPER_VALVE_HANDLE = create(AllBlocks.COPPER_VALVE_HANDLE).unlockedBy(I::copper) - .viaShaped(b -> b.define('S', I.andesite()) + COPPER_VALVE_HANDLE = create(AllBlocks.COPPER_VALVE_HANDLE).unlockedByTag(I::copper) + .viaShaped(b -> b.define('S', I.andesiteAlloy()) .define('C', I.copperSheet()) .pattern("CCC") .pattern(" S ")), COPPER_VALVE_HANDLE_FROM_OTHER_HANDLES = create(AllBlocks.COPPER_VALVE_HANDLE).withSuffix("_from_others") - .unlockedBy(I::copper) + .unlockedByTag(I::copper) .viaShapeless(b -> b.requires(AllItemTags.VALVE_HANDLES.tag)), NOZZLE = create(AllBlocks.NOZZLE).unlockedBy(AllBlocks.ENCASED_FAN::get) - .viaShaped(b -> b.define('S', I.andesite()) + .viaShaped(b -> b.define('S', I.andesiteAlloy()) .define('C', ItemTags.WOOL) .pattern(" S ") .pattern(" C ") @@ -441,14 +441,14 @@ public class StandardRecipeGen extends CreateRecipeProvider { PROPELLER = create(AllItems.PROPELLER).unlockedByTag(I::ironSheet) .viaShaped(b -> b.define('S', I.ironSheet()) - .define('C', I.andesite()) + .define('C', I.andesiteAlloy()) .pattern(" S ") .pattern("SCS") .pattern(" S ")), WHISK = create(AllItems.WHISK).unlockedByTag(I::ironSheet) .viaShaped(b -> b.define('S', I.ironSheet()) - .define('C', I.andesite()) + .define('C', I.andesiteAlloy()) .pattern(" C ") .pattern("SCS") .pattern("SSS")), @@ -461,7 +461,7 @@ public class StandardRecipeGen extends CreateRecipeProvider { .pattern("A") .pattern("P")), - CUCKOO_CLOCK = create(AllBlocks.CUCKOO_CLOCK).unlockedBy(I::andesite) + CUCKOO_CLOCK = create(AllBlocks.CUCKOO_CLOCK).unlockedBy(I::andesiteAlloy) .viaShaped(b -> b.define('S', ItemTags.PLANKS) .define('A', Items.CLOCK) .define('C', I.andesiteCasing()) @@ -478,7 +478,7 @@ public class StandardRecipeGen extends CreateRecipeProvider { .pattern("C") .pattern("R")), - WINDMILL_BEARING = create(AllBlocks.WINDMILL_BEARING).unlockedBy(I::andesite) + WINDMILL_BEARING = create(AllBlocks.WINDMILL_BEARING).unlockedBy(I::andesiteAlloy) .viaShaped(b -> b.define('B', ItemTags.WOODEN_SLABS) .define('C', I.stone()) .define('I', I.shaft()) @@ -503,68 +503,68 @@ public class StandardRecipeGen extends CreateRecipeProvider { .pattern("S")), WOODEN_BRACKET = create(AllBlocks.WOODEN_BRACKET).returns(4) - .unlockedBy(I::andesite) + .unlockedBy(I::andesiteAlloy) .viaShaped(b -> b.define('S', Tags.Items.RODS_WOODEN) .define('P', I.planks()) - .define('C', I.andesite()) + .define('C', I.andesiteAlloy()) .pattern("SSS") .pattern("PCP")), METAL_BRACKET = create(AllBlocks.METAL_BRACKET).returns(4) - .unlockedBy(I::andesite) + .unlockedBy(I::andesiteAlloy) .viaShaped(b -> b.define('S', Tags.Items.NUGGETS_IRON) .define('P', I.iron()) - .define('C', I.andesite()) + .define('C', I.andesiteAlloy()) .pattern("SSS") .pattern("PCP")), METAL_GIRDER = create(AllBlocks.METAL_GIRDER).returns(8) - .unlockedBy(I::andesite) + .unlockedBy(I::andesiteAlloy) .viaShaped(b -> b.define('P', I.ironSheet()) - .define('C', I.andesite()) + .define('C', I.andesiteAlloy()) .pattern("PPP") .pattern("CCC")), DISPLAY_BOARD = create(AllBlocks.DISPLAY_BOARD).returns(2) - .unlockedBy(I::andesite) + .unlockedBy(I::andesiteAlloy) .viaShaped(b -> b.define('A', I.electronTube()) - .define('P', I.andesite()) + .define('P', I.andesiteAlloy()) .pattern("PAP")), - STEAM_WHISTLE = create(AllBlocks.STEAM_WHISTLE).unlockedBy(I::copper) + STEAM_WHISTLE = create(AllBlocks.STEAM_WHISTLE).unlockedByTag(I::copper) .viaShaped(b -> b.define('P', I.goldSheet()) .define('C', I.copper()) .pattern("P") .pattern("C")), - STEAM_ENGINE = create(AllBlocks.STEAM_ENGINE).unlockedBy(I::copper) + STEAM_ENGINE = create(AllBlocks.STEAM_ENGINE).unlockedByTag(I::copper) .viaShaped(b -> b.define('P', I.goldSheet()) .define('C', I.copperBlock()) - .define('A', I.andesite()) + .define('A', I.andesiteAlloy()) .pattern("P") .pattern("A") .pattern("C")), FLUID_PIPE = create(AllBlocks.FLUID_PIPE).returns(4) - .unlockedBy(I::copper) + .unlockedByTag(I::copper) .viaShaped(b -> b.define('S', I.copperSheet()) .define('C', I.copper()) .pattern("SCS")), FLUID_PIPE_2 = create(AllBlocks.FLUID_PIPE).withSuffix("_vertical") .returns(4) - .unlockedBy(I::copper) + .unlockedByTag(I::copper) .viaShaped(b -> b.define('S', I.copperSheet()) .define('C', I.copper()) .pattern("S") .pattern("C") .pattern("S")), - MECHANICAL_PUMP = create(AllBlocks.MECHANICAL_PUMP).unlockedBy(I::copper) + MECHANICAL_PUMP = create(AllBlocks.MECHANICAL_PUMP).unlockedByTag(I::copper) .viaShapeless(b -> b.requires(I.cog()) .requires(AllBlocks.FLUID_PIPE.get())), - SMART_FLUID_PIPE = create(AllBlocks.SMART_FLUID_PIPE).unlockedBy(I::copper) + SMART_FLUID_PIPE = create(AllBlocks.SMART_FLUID_PIPE).unlockedByTag(I::copper) .viaShaped(b -> b.define('P', I.electronTube()) .define('S', AllBlocks.FLUID_PIPE.get()) .define('I', I.brassSheet()) @@ -572,7 +572,7 @@ public class StandardRecipeGen extends CreateRecipeProvider { .pattern("S") .pattern("P")), - FLUID_VALVE = create(AllBlocks.FLUID_VALVE).unlockedBy(I::copper) + FLUID_VALVE = create(AllBlocks.FLUID_VALVE).unlockedByTag(I::copper) .viaShapeless(b -> b.requires(I.ironSheet()) .requires(AllBlocks.FLUID_PIPE.get())), @@ -653,7 +653,7 @@ public class StandardRecipeGen extends CreateRecipeProvider { .viaShapeless(b -> b.requires(I.copperCasing()) .requires(AllBlocks.CHUTE.get())), - ROPE_PULLEY = create(AllBlocks.ROPE_PULLEY).unlockedBy(I::andesite) + ROPE_PULLEY = create(AllBlocks.ROPE_PULLEY).unlockedBy(I::andesiteAlloy) .viaShaped(b -> b.define('B', I.andesiteCasing()) .define('C', ItemTags.WOOL) .define('I', I.ironSheet()) @@ -661,7 +661,7 @@ public class StandardRecipeGen extends CreateRecipeProvider { .pattern("C") .pattern("I")), - HOSE_PULLEY = create(AllBlocks.HOSE_PULLEY).unlockedBy(I::copper) + HOSE_PULLEY = create(AllBlocks.HOSE_PULLEY).unlockedByTag(I::copper) .viaShaped(b -> b.define('B', I.copperCasing()) .define('C', Items.DRIED_KELP_BLOCK) .define('I', I.copperSheet()) @@ -677,7 +677,7 @@ public class StandardRecipeGen extends CreateRecipeProvider { .pattern("C") .pattern("I")), - CONTRAPTION_CONTROLS = create(AllBlocks.CONTRAPTION_CONTROLS).unlockedBy(I::andesite) + CONTRAPTION_CONTROLS = create(AllBlocks.CONTRAPTION_CONTROLS).unlockedBy(I::andesiteAlloy) .viaShaped(b -> b.define('B', ItemTags.BUTTONS) .define('C', I.andesiteCasing()) .define('I', I.electronTube()) @@ -692,7 +692,7 @@ public class StandardRecipeGen extends CreateRecipeProvider { .pattern("IAI") .pattern(" I ")), - CHUTE = create(AllBlocks.CHUTE).unlockedBy(I::andesite) + CHUTE = create(AllBlocks.CHUTE).unlockedBy(I::andesiteAlloy) .returns(4) .viaShaped(b -> b.define('A', I.ironSheet()) .define('I', I.iron()) @@ -709,7 +709,7 @@ public class StandardRecipeGen extends CreateRecipeProvider { .pattern("P")), DEPOT = create(AllBlocks.DEPOT).unlockedBy(I::andesiteCasing) - .viaShapeless(b -> b.requires(I.andesite()) + .viaShapeless(b -> b.requires(I.andesiteAlloy()) .requires(I.andesiteCasing())), WEIGHTED_EJECTOR = create(AllBlocks.WEIGHTED_EJECTOR).unlockedBy(I::andesiteCasing) @@ -724,13 +724,13 @@ public class StandardRecipeGen extends CreateRecipeProvider { .returns(1) .viaShaped(b -> b.define('L', I.brassSheet()) .define('I', I.precisionMechanism()) - .define('A', I.andesite()) + .define('A', I.andesiteAlloy()) .define('C', I.brassCasing()) .pattern("LLA") .pattern("L ") .pattern("IC ")), - MECHANICAL_MIXER = create(AllBlocks.MECHANICAL_MIXER).unlockedBy(I::andesite) + MECHANICAL_MIXER = create(AllBlocks.MECHANICAL_MIXER).unlockedBy(I::andesiteAlloy) .viaShaped(b -> b.define('C', I.andesiteCasing()) .define('S', I.cog()) .define('I', AllItems.WHISK.get()) @@ -749,26 +749,26 @@ public class StandardRecipeGen extends CreateRecipeProvider { .requires(I.redstone())), SAIL = create(AllBlocks.SAIL).returns(2) - .unlockedBy(I::andesite) + .unlockedBy(I::andesiteAlloy) .viaShaped(b -> b.define('W', ItemTags.WOOL) .define('S', Tags.Items.RODS_WOODEN) - .define('A', I.andesite()) + .define('A', I.andesiteAlloy()) .pattern("WS") .pattern("SA")), SAIL_CYCLE = conversionCycle(ImmutableList.of(AllBlocks.SAIL_FRAME, AllBlocks.SAIL)), RADIAL_CHASIS = create(AllBlocks.RADIAL_CHASSIS).returns(3) - .unlockedBy(I::andesite) - .viaShaped(b -> b.define('P', I.andesite()) + .unlockedBy(I::andesiteAlloy) + .viaShaped(b -> b.define('P', I.andesiteAlloy()) .define('L', ItemTags.LOGS) .pattern(" L ") .pattern("PLP") .pattern(" L ")), LINEAR_CHASIS = create(AllBlocks.LINEAR_CHASSIS).returns(3) - .unlockedBy(I::andesite) - .viaShaped(b -> b.define('P', I.andesite()) + .unlockedBy(I::andesiteAlloy) + .viaShaped(b -> b.define('P', I.andesiteAlloy()) .define('L', ItemTags.LOGS) .pattern(" P ") .pattern("LLL") @@ -778,8 +778,8 @@ public class StandardRecipeGen extends CreateRecipeProvider { conversionCycle(ImmutableList.of(AllBlocks.LINEAR_CHASSIS, AllBlocks.SECONDARY_LINEAR_CHASSIS)), STICKER = create(AllBlocks.STICKER).returns(1) - .unlockedBy(I::andesite) - .viaShaped(b -> b.define('I', I.andesite()) + .unlockedBy(I::andesiteAlloy) + .viaShaped(b -> b.define('I', I.andesiteAlloy()) .define('C', Tags.Items.COBBLESTONE) .define('R', I.redstone()) .define('S', Tags.Items.SLIMEBALLS) @@ -830,7 +830,7 @@ public class StandardRecipeGen extends CreateRecipeProvider { .pattern("CAC") .pattern("CCC")), - SPEEDOMETER = create(AllBlocks.SPEEDOMETER).unlockedBy(I::andesite) + SPEEDOMETER = create(AllBlocks.SPEEDOMETER).unlockedBy(I::andesiteAlloy) .viaShaped(b -> b.define('C', Items.COMPASS) .define('A', I.andesiteCasing()) .pattern("C") @@ -859,7 +859,7 @@ public class StandardRecipeGen extends CreateRecipeProvider { MECHANICAL_HARVESTER = create(AllBlocks.MECHANICAL_HARVESTER).unlockedBy(I::andesiteCasing) .viaShaped(b -> b.define('C', I.andesiteCasing()) - .define('A', I.andesite()) + .define('A', I.andesiteAlloy()) .define('I', I.ironSheet()) .pattern("AIA") .pattern("AIA") @@ -867,7 +867,7 @@ public class StandardRecipeGen extends CreateRecipeProvider { MECHANICAL_PLOUGH = create(AllBlocks.MECHANICAL_PLOUGH).unlockedBy(I::andesiteCasing) .viaShaped(b -> b.define('C', I.andesiteCasing()) - .define('A', I.andesite()) + .define('A', I.andesiteAlloy()) .define('I', I.ironSheet()) .pattern("III") .pattern("AAA") @@ -883,7 +883,7 @@ public class StandardRecipeGen extends CreateRecipeProvider { MECHANICAL_DRILL = create(AllBlocks.MECHANICAL_DRILL).unlockedBy(I::andesiteCasing) .viaShaped(b -> b.define('C', I.andesiteCasing()) - .define('A', I.andesite()) + .define('A', I.andesiteAlloy()) .define('I', I.iron()) .pattern(" A ") .pattern("AIA") @@ -910,8 +910,8 @@ public class StandardRecipeGen extends CreateRecipeProvider { .pattern("CCC")), ANDESITE_FUNNEL = create(AllBlocks.ANDESITE_FUNNEL).returns(2) - .unlockedBy(I::andesite) - .viaShaped(b -> b.define('A', I.andesite()) + .unlockedBy(I::andesiteAlloy) + .viaShaped(b -> b.define('A', I.andesiteAlloy()) .define('K', Items.DRIED_KELP) .pattern("A") .pattern("K")), @@ -926,8 +926,8 @@ public class StandardRecipeGen extends CreateRecipeProvider { .pattern("K")), ANDESITE_TUNNEL = create(AllBlocks.ANDESITE_TUNNEL).returns(2) - .unlockedBy(I::andesite) - .viaShaped(b -> b.define('A', I.andesite()) + .unlockedBy(I::andesiteAlloy) + .viaShaped(b -> b.define('A', I.andesiteAlloy()) .define('K', Items.DRIED_KELP) .pattern("AA") .pattern("KK")), @@ -1061,10 +1061,10 @@ public class StandardRecipeGen extends CreateRecipeProvider { .viaShapeless(b -> b.requires(I.wheatFlour()) .requires(Items.WATER_BUCKET)), - CLIPBOARD = create(AllBlocks.CLIPBOARD).unlockedBy(I::andesite) + CLIPBOARD = create(AllBlocks.CLIPBOARD).unlockedBy(I::andesiteAlloy) .viaShaped(b -> b.define('G', I.planks()) .define('P', Items.PAPER) - .define('A', I.andesite()) + .define('A', I.andesiteAlloy()) .pattern("A") .pattern("P") .pattern("G")), @@ -1072,23 +1072,23 @@ public class StandardRecipeGen extends CreateRecipeProvider { CLIPBOARD_CLEAR = clearData(AllBlocks.CLIPBOARD), SCHEDULE_CLEAR = clearData(AllItems.SCHEDULE), FILTER_CLEAR = clearData(AllItems.FILTER), ATTRIBUTE_FILTER_CLEAR = clearData(AllItems.ATTRIBUTE_FILTER), - DIVING_HELMET = create(AllItems.COPPER_DIVING_HELMET).unlockedBy(I::copper) + DIVING_HELMET = create(AllItems.COPPER_DIVING_HELMET).unlockedByTag(I::copper) .viaShaped(b -> b.define('G', Tags.Items.GLASS) .define('P', I.copper()) .pattern("PPP") .pattern("PGP")), - COPPER_BACKTANK = create(AllItems.COPPER_BACKTANK).unlockedBy(I::copper) + COPPER_BACKTANK = create(AllItems.COPPER_BACKTANK).unlockedByTag(I::copper) .viaShaped(b -> b.define('G', I.shaft()) - .define('A', I.andesite()) + .define('A', I.andesiteAlloy()) .define('B', I.copperBlock()) .define('P', I.copper()) .pattern("AGA") .pattern("PBP") .pattern(" P ")), - DIVING_BOOTS = create(AllItems.COPPER_DIVING_BOOTS).unlockedBy(I::copper) - .viaShaped(b -> b.define('G', I.andesite()) + DIVING_BOOTS = create(AllItems.COPPER_DIVING_BOOTS).unlockedByTag(I::copper) + .viaShaped(b -> b.define('G', I.andesiteAlloy()) .define('P', I.copper()) .pattern("P P") .pattern("P P") @@ -1172,7 +1172,7 @@ public class StandardRecipeGen extends CreateRecipeProvider { .inBlastFurnace(), RAW_ZINC_ORE = create(AllItems.ZINC_INGOT::get).withSuffix("_from_raw_ore") - .viaCooking(AllItems.RAW_ZINC::get) + .viaCookingTag(() -> AllTags.forgeItemTag("raw_materials/zinc")) .rewardXP(.7f) .inBlastFurnace(), From c267a413d9ae2564bb0dde5890e32de5771bd1c6 Mon Sep 17 00:00:00 2001 From: PepperCode1 <44146161+PepperCode1@users.noreply.github.com> Date: Mon, 2 Sep 2024 08:40:30 -0700 Subject: [PATCH 6/8] Fix #5367 --- .../gui/OpenCreateMenuButton.java | 72 +++++++++---------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/src/main/java/com/simibubi/create/infrastructure/gui/OpenCreateMenuButton.java b/src/main/java/com/simibubi/create/infrastructure/gui/OpenCreateMenuButton.java index b827b2c5e..7eaf1d9b2 100644 --- a/src/main/java/com/simibubi/create/infrastructure/gui/OpenCreateMenuButton.java +++ b/src/main/java/com/simibubi/create/infrastructure/gui/OpenCreateMenuButton.java @@ -43,14 +43,9 @@ public class OpenCreateMenuButton extends Button { ScreenOpener.open(new CreateMainMenuScreen(Minecraft.getInstance().screen)); } - public static class SingleMenuRow { - public final String left, right; - public SingleMenuRow(String left, String right) { - this.left = I18n.get(left); - this.right = I18n.get(right); - } - public SingleMenuRow(String center) { - this(center, center); + public record SingleMenuRow(String leftTextKey, String rightTextKey) { + public SingleMenuRow(String centerTextKey) { + this(centerTextKey, centerTextKey); } } @@ -70,11 +65,11 @@ public class OpenCreateMenuButton extends Button { new SingleMenuRow("menu.returnToMenu") )); - protected final List leftButtons, rightButtons; + protected final List leftTextKeys, rightTextKeys; - public MenuRows(List variants) { - leftButtons = variants.stream().map(r -> r.left).collect(Collectors.toList()); - rightButtons = variants.stream().map(r -> r.right).collect(Collectors.toList()); + public MenuRows(List rows) { + leftTextKeys = rows.stream().map(SingleMenuRow::leftTextKey).collect(Collectors.toList()); + rightTextKeys = rows.stream().map(SingleMenuRow::rightTextKey).collect(Collectors.toList()); } } @@ -82,40 +77,45 @@ public class OpenCreateMenuButton extends Button { public static class OpenConfigButtonHandler { @SubscribeEvent - public static void onGuiInit(ScreenEvent.InitScreenEvent event) { - Screen gui = event.getScreen(); + public static void onInitScreen(ScreenEvent.InitScreenEvent event) { + Screen screen = event.getScreen(); - MenuRows menu = null; - int rowIdx = 0, offsetX = 0; - if (gui instanceof TitleScreen) { + MenuRows menu; + int rowIdx; + int offsetX; + if (screen instanceof TitleScreen) { menu = MenuRows.MAIN_MENU; rowIdx = AllConfigs.client().mainMenuConfigButtonRow.get(); offsetX = AllConfigs.client().mainMenuConfigButtonOffsetX.get(); - } else if (gui instanceof PauseScreen) { + } else if (screen instanceof PauseScreen) { menu = MenuRows.INGAME_MENU; rowIdx = AllConfigs.client().ingameMenuConfigButtonRow.get(); offsetX = AllConfigs.client().ingameMenuConfigButtonOffsetX.get(); + } else { + return; } - if (rowIdx != 0 && menu != null) { - boolean onLeft = offsetX < 0; - String target = (onLeft ? menu.leftButtons : menu.rightButtons).get(rowIdx - 1); - - int offsetX_ = offsetX; - MutableObject toAdd = new MutableObject<>(null); - event.getListenersList() - .stream() - .filter(w -> w instanceof AbstractWidget) - .map(w -> (AbstractWidget) w) - .filter(w -> w.getMessage() - .getString() - .equals(target)) - .findFirst() - .ifPresent(w -> toAdd - .setValue(new OpenCreateMenuButton(w.x + offsetX_ + (onLeft ? -20 : w.getWidth()), w.y))); - if (toAdd.getValue() != null) - event.addListener(toAdd.getValue()); + if (rowIdx == 0) { + return; } + + boolean onLeft = offsetX < 0; + String targetMessage = I18n.get((onLeft ? menu.leftTextKeys : menu.rightTextKeys).get(rowIdx - 1)); + + int offsetX_ = offsetX; + MutableObject toAdd = new MutableObject<>(null); + event.getListenersList() + .stream() + .filter(w -> w instanceof AbstractWidget) + .map(w -> (AbstractWidget) w) + .filter(w -> w.getMessage() + .getString() + .equals(targetMessage)) + .findFirst() + .ifPresent(w -> toAdd + .setValue(new OpenCreateMenuButton(w.x + offsetX_ + (onLeft ? -20 : w.getWidth()), w.y))); + if (toAdd.getValue() != null) + event.addListener(toAdd.getValue()); } } From fa5b71b7eba348fcbd64eabd6c09bfcd9fa49bbe Mon Sep 17 00:00:00 2001 From: simibubi <31564874+simibubi@users.noreply.github.com> Date: Mon, 2 Sep 2024 21:20:17 +0200 Subject: [PATCH 7/8] It takes a special kind of player - Fixed Depot accepting item stacks with invalid amounts - Fixed filter slots containing enchantment and attribute data of filter items --- .../logistics/depot/DepotBehaviour.java | 31 ++++++++++++------- .../logistics/filter/FilterItemStack.java | 4 +++ .../processing/basin/BasinBlockEntity.java | 2 +- .../filtering/FilteringBehaviour.java | 4 +++ 4 files changed, 29 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/simibubi/create/content/logistics/depot/DepotBehaviour.java b/src/main/java/com/simibubi/create/content/logistics/depot/DepotBehaviour.java index 8d0dc3dd4..28190b88f 100644 --- a/src/main/java/com/simibubi/create/content/logistics/depot/DepotBehaviour.java +++ b/src/main/java/com/simibubi/create/content/logistics/depot/DepotBehaviour.java @@ -307,18 +307,27 @@ public class DepotBehaviour extends BlockEntityBehaviour { return returned; } - if (!simulate) { - if (this.isEmpty()) { - if (heldItem.insertedFrom.getAxis() - .isHorizontal()) - AllSoundEvents.DEPOT_SLIDE.playOnServer(getWorld(), getPos()); - else - AllSoundEvents.DEPOT_PLOP.playOnServer(getWorld(), getPos()); - } - this.heldItem = heldItem; - onHeldInserted.accept(heldItem.stack); + ItemStack returned = ItemStack.EMPTY; + int maxCount = heldItem.stack.getMaxStackSize(); + if (maxCount < heldItem.stack.getCount()) + returned = ItemHandlerHelper.copyStackWithSize(heldItem.stack, heldItem.stack.getCount() - maxCount); + + if (simulate) + return returned; + + if (this.isEmpty()) { + if (heldItem.insertedFrom.getAxis() + .isHorizontal()) + AllSoundEvents.DEPOT_SLIDE.playOnServer(getWorld(), getPos()); + else + AllSoundEvents.DEPOT_PLOP.playOnServer(getWorld(), getPos()); } - return ItemStack.EMPTY; + + heldItem = heldItem.copy(); + heldItem.stack.setCount(maxCount); + this.heldItem = heldItem; + onHeldInserted.accept(heldItem.stack); + return returned; } public void setHeldItem(TransportedItemStack heldItem) { diff --git a/src/main/java/com/simibubi/create/content/logistics/filter/FilterItemStack.java b/src/main/java/com/simibubi/create/content/logistics/filter/FilterItemStack.java index 9773e9cf8..8f3c38f87 100644 --- a/src/main/java/com/simibubi/create/content/logistics/filter/FilterItemStack.java +++ b/src/main/java/com/simibubi/create/content/logistics/filter/FilterItemStack.java @@ -23,6 +23,10 @@ public class FilterItemStack { public static FilterItemStack of(ItemStack filter) { if (filter.hasTag()) { + CompoundTag stackTag = filter.getTag(); + stackTag.remove("Enchantments"); + stackTag.remove("AttributeModifiers"); + if (AllItems.FILTER.isIn(filter)) return new ListFilterItemStack(filter); if (AllItems.ATTRIBUTE_FILTER.isIn(filter)) diff --git a/src/main/java/com/simibubi/create/content/processing/basin/BasinBlockEntity.java b/src/main/java/com/simibubi/create/content/processing/basin/BasinBlockEntity.java index ee4292c77..5bc0b5a53 100644 --- a/src/main/java/com/simibubi/create/content/processing/basin/BasinBlockEntity.java +++ b/src/main/java/com/simibubi/create/content/processing/basin/BasinBlockEntity.java @@ -380,7 +380,7 @@ public class BasinBlockEntity extends SmartBlockEntity implements IHaveGoggleInf inserter = BlockEntityBehaviour.get(level, be.getBlockPos(), InvManipulationBehaviour.TYPE); } - if (be instanceof BasinBlockEntity) + if (filter.isRecipeFilter()) filter = null; // Do not test spout outputs against the recipe filter IItemHandler targetInv = be == null ? null diff --git a/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/filtering/FilteringBehaviour.java b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/filtering/FilteringBehaviour.java index 3d800183a..02e751dfa 100644 --- a/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/filtering/FilteringBehaviour.java +++ b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/filtering/FilteringBehaviour.java @@ -387,5 +387,9 @@ public class FilteringBehaviour extends BlockEntityBehaviour implements ValueSet return setFilter(side, copied); } + + public boolean isRecipeFilter() { + return recipeFilter; + } } From 9ce6f6f73f2625b91d788656e85585c925a3770d Mon Sep 17 00:00:00 2001 From: simibubi <31564874+simibubi@users.noreply.github.com> Date: Mon, 2 Sep 2024 21:44:24 +0200 Subject: [PATCH 8/8] Fly++ --- gradle.properties | 2 +- src/main/resources/META-INF/mods.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index d7fae4618..1fbfed306 100644 --- a/gradle.properties +++ b/gradle.properties @@ -23,7 +23,7 @@ use_parchment = true # dependency versions registrate_version = MC1.18.2-1.1.3 flywheel_minecraft_version = 1.18.2 -flywheel_version = 0.6.10-106 +flywheel_version = 0.6.11-107 jei_minecraft_version = 1.18.2 jei_version = 9.7.2.277 curios_minecraft_version = 1.18.2 diff --git a/src/main/resources/META-INF/mods.toml b/src/main/resources/META-INF/mods.toml index dc87682d9..7733fb458 100644 --- a/src/main/resources/META-INF/mods.toml +++ b/src/main/resources/META-INF/mods.toml @@ -33,6 +33,6 @@ Technology that empowers the player.''' [[dependencies.create]] modId="flywheel" mandatory=true - versionRange="[0.6.10,0.6.11)" + versionRange="[0.6.11,0.6.12)" ordering="AFTER" side="CLIENT"