diff --git a/settings.gradle b/settings.gradle index e91c6d2..01c7397 100644 --- a/settings.gradle +++ b/settings.gradle @@ -39,7 +39,7 @@ dependencyResolutionManagement { def configurationVersion = "2.2.0" def ldLibVersion = "1.0.25.p" def mixinextrasVersion = "0.3.2" - def monomorphismLibVersion = "1.1.1-build.24" + def monomorphismLibVersion = "1.1.1-build.25" def spotlessVersion = "7.0.0.BETA1" forge { diff --git a/src/main/java/com/epimorphismmc/gregiceng/api/misc/RecipeLock.java b/src/main/java/com/epimorphismmc/gregiceng/api/misc/RecipeLock.java deleted file mode 100644 index 8d2afb7..0000000 --- a/src/main/java/com/epimorphismmc/gregiceng/api/misc/RecipeLock.java +++ /dev/null @@ -1,3 +0,0 @@ -package com.epimorphismmc.gregiceng.api.misc; - -public class RecipeLock {} diff --git a/src/main/java/com/epimorphismmc/gregiceng/api/misc/UnlimitedItemStackTransfer.java b/src/main/java/com/epimorphismmc/gregiceng/api/misc/UnlimitedItemStackTransfer.java deleted file mode 100644 index 7766a67..0000000 --- a/src/main/java/com/epimorphismmc/gregiceng/api/misc/UnlimitedItemStackTransfer.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.epimorphismmc.gregiceng.api.misc; - -import com.lowdragmc.lowdraglib.misc.ItemStackTransfer; -import com.lowdragmc.lowdraglib.side.item.ItemTransferHelper; - -import net.minecraft.core.NonNullList; -import net.minecraft.world.item.ItemStack; - -import org.jetbrains.annotations.NotNull; - -public class UnlimitedItemStackTransfer extends ItemStackTransfer { - - public UnlimitedItemStackTransfer() {} - - public UnlimitedItemStackTransfer(int size) { - super(size); - } - - public UnlimitedItemStackTransfer(NonNullList stacks) { - super(stacks); - } - - public UnlimitedItemStackTransfer(ItemStack stack) { - super(stack); - } - - @Override - @NotNull public ItemStack extractItem(int slot, int amount, boolean simulate, boolean notifyChanges) { - if (amount == 0) return ItemStack.EMPTY; - - validateSlotIndex(slot); - - ItemStack existing = this.stacks.get(slot); - - if (existing.isEmpty()) return ItemStack.EMPTY; - - if (existing.getCount() <= amount) { - if (!simulate) { - this.stacks.set(slot, ItemStack.EMPTY); - if (notifyChanges) { - onContentsChanged(slot); - } - return existing; - } else { - return existing.copy(); - } - } else { - if (!simulate) { - this.stacks.set( - slot, ItemTransferHelper.copyStackWithSize(existing, existing.getCount() - amount)); - if (notifyChanges) { - onContentsChanged(slot); - } - } - - return ItemTransferHelper.copyStackWithSize(existing, amount); - } - } - - @Override - public int getSlotLimit(int slot) { - return Integer.MAX_VALUE; - } - - @Override - protected int getStackLimit(int slot, @NotNull ItemStack stack) { - return Integer.MAX_VALUE; - } -} diff --git a/src/main/java/com/epimorphismmc/gregiceng/common/machine/multiblock/part/appeng/StockingBusPartMachine.java b/src/main/java/com/epimorphismmc/gregiceng/common/machine/multiblock/part/appeng/StockingBusPartMachine.java index e4d23c9..1063175 100644 --- a/src/main/java/com/epimorphismmc/gregiceng/common/machine/multiblock/part/appeng/StockingBusPartMachine.java +++ b/src/main/java/com/epimorphismmc/gregiceng/common/machine/multiblock/part/appeng/StockingBusPartMachine.java @@ -3,10 +3,10 @@ import com.epimorphismmc.gregiceng.api.machine.feature.multiblock.IMEStockingBus; import com.epimorphismmc.gregiceng.api.misc.ConfigurableAESlot; import com.epimorphismmc.gregiceng.api.misc.IConfigurableAESlotList; -import com.epimorphismmc.gregiceng.api.misc.UnlimitedItemStackTransfer; import com.epimorphismmc.monomorphism.ae2.MEPartMachine; import com.epimorphismmc.monomorphism.machine.fancyconfigurator.InventoryFancyConfigurator; +import com.epimorphismmc.monomorphism.transfer.item.BigItemStackTransfer; import appeng.api.networking.IStackWatcher; import appeng.api.networking.security.IActionSource; @@ -355,7 +355,7 @@ public boolean isItemValid(int slot, ItemStack stack) { @Override public ItemStackTransfer copy() { - var copy = new UnlimitedItemStackTransfer(getSlots()); + var copy = new BigItemStackTransfer(getSlots(), true, Integer.MAX_VALUE); for (int i = 0; i < inventory.length; i++) { copy.setStackInSlot(i, getStackInSlot(i)); } diff --git a/src/main/java/com/epimorphismmc/gregiceng/common/machine/trait/IOBufferRecipeHandler.java b/src/main/java/com/epimorphismmc/gregiceng/common/machine/trait/IOBufferRecipeHandler.java index 5a98e95..50c0869 100644 --- a/src/main/java/com/epimorphismmc/gregiceng/common/machine/trait/IOBufferRecipeHandler.java +++ b/src/main/java/com/epimorphismmc/gregiceng/common/machine/trait/IOBufferRecipeHandler.java @@ -75,21 +75,21 @@ public List handleItemInner( GTRecipe recipe, List left, boolean simulate) { var internalInv = getMachine().getInternalInventory(); if (recipe.id.equals(lockedRecipeId) && lockedSlot >= 0) { - left = internalInv[lockedSlot].handleItemInternal(left, simulate); - } else { - this.lockedRecipeId = recipe.id; - List contents = copyIngredients(left); - for (int i = 0; i < internalInv.length; i++) { - if (internalInv[i].isItemEmpty()) continue; - contents = internalInv[i].handleItemInternal(contents, simulate); - if (contents == null) { - this.lockedSlot = i; - return contents; - } - contents = copyIngredients(left); + return internalInv[lockedSlot].handleItemInternal(left, simulate); + } + + this.lockedRecipeId = recipe.id; + List contents = left; + for (int i = 0; i < internalInv.length; i++) { + if (internalInv[i].isItemEmpty()) continue; + contents = internalInv[i].handleItemInternal(contents, simulate); + if (contents == null) { + this.lockedSlot = i; + return contents; } - this.lockedSlot = -1; + contents = copyIngredients(left); } + this.lockedSlot = -1; return left; } @@ -97,21 +97,22 @@ public List handleFluidInner( GTRecipe recipe, List left, boolean simulate) { var internalInv = getMachine().getInternalInventory(); if (recipe.id.equals(lockedRecipeId) && lockedSlot >= 0) { - left = internalInv[lockedSlot].handleFluidInternal(left, simulate); - } else { - this.lockedRecipeId = recipe.id; - List contents = copyFluidIngredients(left); - for (int i = 0; i < internalInv.length; i++) { - if (internalInv[i].isFluidEmpty()) continue; - contents = internalInv[i].handleFluidInternal(contents, simulate); - if (contents == null) { - this.lockedSlot = i; - return contents; - } - contents = copyFluidIngredients(left); + return internalInv[lockedSlot].handleFluidInternal(left, simulate); + } + + this.lockedRecipeId = recipe.id; + List contents = left; + for (int i = 0; i < internalInv.length; i++) { + if (internalInv[i].isFluidEmpty()) continue; + contents = internalInv[i].handleFluidInternal(contents, simulate); + + if (contents == null) { + this.lockedSlot = i; + return contents; } - this.lockedSlot = -1; + contents = copyFluidIngredients(left); } + this.lockedSlot = -1; return left; } @@ -147,10 +148,8 @@ public List handleRecipeInner( if (io != IO.IN) return left; var machine = getMachine(); machine.getCircuitInventory().handleRecipeInner(io, recipe, left, slotName, simulate); - left = handleItemInner(recipe, left, simulate); - return left != null - ? machine.getShareInventory().handleRecipeInner(io, recipe, left, slotName, simulate) - : null; + machine.getShareInventory().handleRecipeInner(io, recipe, left, slotName, simulate); + return handleItemInner(recipe, left, simulate); } @Override @@ -212,10 +211,8 @@ public List handleRecipeInner( @Nullable String slotName, boolean simulate) { if (io != IO.IN) return left; - left = handleFluidInner(recipe, left, simulate); - return left != null - ? getMachine().getShareTank().handleRecipeInner(io, recipe, left, slotName, simulate) - : null; + getMachine().getShareTank().handleRecipeInner(io, recipe, left, slotName, simulate); + return handleFluidInner(recipe, left, simulate); } @Override