diff --git a/src/main/java/com/github/vfyjxf/nee/processor/GregTechRecipeProcessor.java b/src/main/java/com/github/vfyjxf/nee/processor/GregTechRecipeProcessor.java index 12038f1..016f0f5 100644 --- a/src/main/java/com/github/vfyjxf/nee/processor/GregTechRecipeProcessor.java +++ b/src/main/java/com/github/vfyjxf/nee/processor/GregTechRecipeProcessor.java @@ -55,6 +55,11 @@ public class GregTechRecipeProcessor implements IRecipeProcessor { if (gtDefaultClz.isInstance(recipe) || gtAssLineClz.isInstance(recipe)) { List recipeInputs = new ArrayList<>(recipe.getIngredientStacks(recipeIndex)); recipeInputs.removeIf(positionedStack -> getFluidFromDisplayStack(positionedStack.items[0]) != null || positionedStack.item.stackSize == 0); + if (!recipeInputs.isEmpty()) { + ItemStack specialItem = recipeInputs.get(recipeInputs.size() - 1).items[0]; + if ((specialItem.isItemEqual(ItemList.Tool_DataStick.get(1)) || specialItem.isItemEqual(ItemList.Tool_DataOrb.get(1)) && (recipe.getRecipeName().equals("gt.recipe.scanner") || recipe.getRecipeName().equals("gt.recipe.fakeAssemblylineProcess")))) + recipeInputs.remove(recipeInputs.size() - 1); + } return recipeInputs; } return null; @@ -66,7 +71,7 @@ public class GregTechRecipeProcessor implements IRecipeProcessor { if (gtDefaultClz.isInstance(recipe) || gtAssLineClz.isInstance(recipe)) { List recipeOutputs = new ArrayList<>(recipe.getOtherStacks(recipeIndex)); recipeOutputs.removeIf(positionedStack -> getFluidFromDisplayStack(positionedStack.items[0]) != null); - //remove output if it's chance != 1 + //remove output if it's chance != 10000 recipeOutputs.removeIf(stack -> stack instanceof FixedPositionedStack && !(((FixedPositionedStack) stack).mChance == 10000 || ((FixedPositionedStack) stack).mChance <= 0)); return recipeOutputs; }