diff options
author | Glease <4586901+Glease@users.noreply.github.com> | 2023-07-24 20:47:07 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-24 14:47:07 +0200 |
commit | c8ab8e2ba4442f75ad192c33e61b73650bd1592b (patch) | |
tree | bcf0b47918487bcb7a31fa6d9491f0137cd56ab0 /src/main/java/gregtech/api/util | |
parent | 1d7e1b39f20378c0a84d9740b6f314f99c713f98 (diff) | |
download | GT5-Unofficial-c8ab8e2ba4442f75ad192c33e61b73650bd1592b.tar.gz GT5-Unofficial-c8ab8e2ba4442f75ad192c33e61b73650bd1592b.tar.bz2 GT5-Unofficial-c8ab8e2ba4442f75ad192c33e61b73650bd1592b.zip |
fix implosion compressor requiring wrong amount of output (#2168)
Diffstat (limited to 'src/main/java/gregtech/api/util')
-rw-r--r-- | src/main/java/gregtech/api/util/GT_Recipe.java | 2 | ||||
-rw-r--r-- | src/main/java/gregtech/api/util/GT_RecipeBuilder.java | 22 |
2 files changed, 21 insertions, 3 deletions
diff --git a/src/main/java/gregtech/api/util/GT_Recipe.java b/src/main/java/gregtech/api/util/GT_Recipe.java index 37a0dcd3c9..e2975c3e8a 100644 --- a/src/main/java/gregtech/api/util/GT_Recipe.java +++ b/src/main/java/gregtech/api/util/GT_Recipe.java @@ -2268,7 +2268,7 @@ public class GT_Recipe implements Comparable<GT_Recipe> { .duration(20) .eut(30) .validateInputCount(1, 1) - .validateOutputCount(1, 1) + .validateOutputCount(1, 2) .build(); if (!t.isPresent()) return Collections.emptyList(); ItemStack input = b.getItemInputBasic(0); diff --git a/src/main/java/gregtech/api/util/GT_RecipeBuilder.java b/src/main/java/gregtech/api/util/GT_RecipeBuilder.java index 4366109fce..db01347f10 100644 --- a/src/main/java/gregtech/api/util/GT_RecipeBuilder.java +++ b/src/main/java/gregtech/api/util/GT_RecipeBuilder.java @@ -137,6 +137,18 @@ public class GT_RecipeBuilder { } } + private static void handleInvalidRecipe() { + if (!PANIC_MODE && !DEBUG_MODE) { + return; + } + // place a breakpoint here to catch all these issues + GT_Log.err.print("invalid recipe"); + new IllegalArgumentException().printStackTrace(GT_Log.err); + if (PANIC_MODE) { + throw new IllegalArgumentException("invalid recipe"); + } + } + public static void handleRecipeCollision(String details) { if (!PANIC_MODE && !DEBUG_MODE) { return; @@ -608,7 +620,10 @@ public class GT_RecipeBuilder { } public Optional<GT_Recipe> build() { - if (!valid) return Optional.empty(); + if (!valid) { + if (DEBUG_MODE) handleInvalidRecipe(); + return Optional.empty(); + } preBuildChecks(); optimize(); return Optional.of( @@ -640,7 +655,10 @@ public class GT_RecipeBuilder { if (inputsOreDict == null) { throw new UnsupportedOperationException(); } - if (!valid) return Optional.empty(); + if (!valid) { + if (DEBUG_MODE) handleInvalidRecipe(); + return Optional.empty(); + } preBuildChecks(); // no optimize. return Optional.of( |