From ef62a528659aec6ace0877c333cec23ebc5b0c2b Mon Sep 17 00:00:00 2001 From: Mary Hopson Date: Tue, 21 Jan 2025 15:54:50 -0500 Subject: [PATCH 1/4] Fix black hole circuits --- .../compressor/MTEBlackHoleCompressor.java | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/compressor/MTEBlackHoleCompressor.java b/src/main/java/gregtech/common/tileentities/machines/multi/compressor/MTEBlackHoleCompressor.java index b1f45e5b552..f0d0ef2a94b 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/compressor/MTEBlackHoleCompressor.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/compressor/MTEBlackHoleCompressor.java @@ -482,7 +482,7 @@ private int getModeFromCircuit(ItemStack[] t) { } } } - return 0; + return -1; } private void searchAndDecrementCatalysts() { @@ -543,10 +543,20 @@ protected void setupProcessingLogic(ProcessingLogic logic) { protected ProcessingLogic createProcessingLogic() { return new ProcessingLogic() { + private int lastMode = -1; + @NotNull @Override protected Stream findRecipeMatches(@Nullable RecipeMap map) { - switch (getModeFromCircuit(inputItems)) { + int mode = getModeFromCircuit(inputItems); + + if (mode == -1) { + return Stream.empty(); + } + if (!(mode == lastMode)) { + lastRecipe = null; + } + switch (mode) { case MACHINEMODE_COMPRESSOR -> { return super.findRecipeMatches(RecipeMaps.compressorRecipes); } @@ -728,11 +738,6 @@ public boolean supportsBatchMode() { return true; } - @Override - public boolean supportsInputSeparation() { - return true; - } - @Override public boolean supportsSingleRecipeLocking() { return true; From e1bca707fdbf1e4afa67271ceaf5ca0edb700231 Mon Sep 17 00:00:00 2001 From: Mary Hopson Date: Tue, 21 Jan 2025 16:31:54 -0500 Subject: [PATCH 2/4] Fix typo --- src/main/java/gregtech/common/items/MetaGeneratedItem01.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/gregtech/common/items/MetaGeneratedItem01.java b/src/main/java/gregtech/common/items/MetaGeneratedItem01.java index 22967eaf7a0..059a8d34769 100644 --- a/src/main/java/gregtech/common/items/MetaGeneratedItem01.java +++ b/src/main/java/gregtech/common/items/MetaGeneratedItem01.java @@ -3260,7 +3260,7 @@ public MetaGeneratedItem01() { addItem( Black_Hole_Stabilizer.ID, "Superstable Black Hole Seed", - "Opens a superstable black hole/nBlack hole will never destabilize and will operate at maximum efficiency", + "Opens a superstable black hole/n Black hole will never destabilize and will operate at maximum efficiency", new TCAspects.TC_AspectStack(TCAspects.ALIENIS, 32), new TCAspects.TC_AspectStack(TCAspects.ORDO, 128))); From e14ef508ed23320463e9b5e52388cd2d5782d5c7 Mon Sep 17 00:00:00 2001 From: Mary Hopson Date: Tue, 21 Jan 2025 16:48:33 -0500 Subject: [PATCH 3/4] Fix input separation lock and mode --- .../machines/multi/compressor/MTEBlackHoleCompressor.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/compressor/MTEBlackHoleCompressor.java b/src/main/java/gregtech/common/tileentities/machines/multi/compressor/MTEBlackHoleCompressor.java index f0d0ef2a94b..f7f7dbd78bb 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/compressor/MTEBlackHoleCompressor.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/compressor/MTEBlackHoleCompressor.java @@ -555,6 +555,7 @@ protected Stream findRecipeMatches(@Nullable RecipeMap map) { } if (!(mode == lastMode)) { lastRecipe = null; + lastMode = mode; } switch (mode) { case MACHINEMODE_COMPRESSOR -> { @@ -601,6 +602,11 @@ protected void setProcessingLogicPower(ProcessingLogic logic) { } else super.setProcessingLogicPower(logic); } + @Override + public boolean isInputSeparationEnabled() { + return true; + } + @Override public boolean onRunningTick(ItemStack aStack) { // Void contents of active recipe without crashing machine if it becomes unstable From d6beb6caf0d1924fae3cb14644d755c505c01b36 Mon Sep 17 00:00:00 2001 From: Mary Hopson Date: Tue, 21 Jan 2025 16:52:25 -0500 Subject: [PATCH 4/4] Set mode in early return --- .../machines/multi/compressor/MTEBlackHoleCompressor.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/compressor/MTEBlackHoleCompressor.java b/src/main/java/gregtech/common/tileentities/machines/multi/compressor/MTEBlackHoleCompressor.java index f7f7dbd78bb..5367af8c7e9 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/compressor/MTEBlackHoleCompressor.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/compressor/MTEBlackHoleCompressor.java @@ -551,6 +551,7 @@ protected Stream findRecipeMatches(@Nullable RecipeMap map) { int mode = getModeFromCircuit(inputItems); if (mode == -1) { + lastMode = -1; return Stream.empty(); } if (!(mode == lastMode)) {