Move getInteractSize to ItemHandlerUpgrade
This commit is contained in:
@@ -54,4 +54,8 @@ public class ItemHandlerUpgrade extends ItemHandlerBasic {
|
||||
|
||||
return usage;
|
||||
}
|
||||
|
||||
public int getInteractStackSize() {
|
||||
return hasUpgrade(ItemUpgrade.TYPE_STACK) ? 64 : 1;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -213,10 +213,6 @@ public class TileDiskManipulator extends TileNode implements IComparable, IFilte
|
||||
}
|
||||
}
|
||||
|
||||
private int getInteractStackSize() {
|
||||
return upgrades.hasUpgrade(ItemUpgrade.TYPE_STACK) ? 64 : 1;
|
||||
}
|
||||
|
||||
private void insertIntoNetwork(ItemStorage storage, int slot) {
|
||||
if (storage.getStored() == 0) {
|
||||
moveDriveToOutput(slot);
|
||||
@@ -234,7 +230,7 @@ public class TileDiskManipulator extends TileNode implements IComparable, IFilte
|
||||
}
|
||||
|
||||
if (stack != null) {
|
||||
extracted = storage.extractItem(stack, getInteractStackSize(), compare);
|
||||
extracted = storage.extractItem(stack, upgrades.getInteractStackSize(), compare);
|
||||
}
|
||||
} while (storage.getItems().size() > i && extracted == null);
|
||||
|
||||
@@ -270,7 +266,7 @@ public class TileDiskManipulator extends TileNode implements IComparable, IFilte
|
||||
}
|
||||
|
||||
if (toExtract != null) {
|
||||
extracted = network.extractItem(toExtract, getInteractStackSize(), compare);
|
||||
extracted = network.extractItem(toExtract, upgrades.getInteractStackSize(), compare);
|
||||
}
|
||||
} else {
|
||||
while (itemFilters.getSlots() > i && extracted == null) {
|
||||
@@ -281,7 +277,7 @@ public class TileDiskManipulator extends TileNode implements IComparable, IFilte
|
||||
}
|
||||
|
||||
if (stack != null) {
|
||||
extracted = network.extractItem(stack, getInteractStackSize(), compare);
|
||||
extracted = network.extractItem(stack, upgrades.getInteractStackSize(), compare);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -315,7 +311,7 @@ public class TileDiskManipulator extends TileNode implements IComparable, IFilte
|
||||
}
|
||||
|
||||
if (stack != null) {
|
||||
extracted = storage.extractFluid(stack, getInteractStackSize(), compare);
|
||||
extracted = storage.extractFluid(stack, upgrades.getInteractStackSize(), compare);
|
||||
}
|
||||
} while (extracted == null && storage.getStacks().size() > i);
|
||||
|
||||
@@ -351,7 +347,7 @@ public class TileDiskManipulator extends TileNode implements IComparable, IFilte
|
||||
}
|
||||
|
||||
if (toExtract != null) {
|
||||
extracted = network.extractFluid(toExtract, getInteractStackSize(), compare);
|
||||
extracted = network.extractFluid(toExtract, upgrades.getInteractStackSize(), compare);
|
||||
}
|
||||
} else {
|
||||
while (fluidFilters.getSlots() > i && extracted == null) {
|
||||
@@ -362,7 +358,7 @@ public class TileDiskManipulator extends TileNode implements IComparable, IFilte
|
||||
}
|
||||
|
||||
if (stack != null) {
|
||||
extracted = network.extractFluid(stack, getInteractStackSize(), compare);
|
||||
extracted = network.extractFluid(stack, upgrades.getInteractStackSize(), compare);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -55,8 +55,6 @@ public class TileExporter extends TileMultipartNode implements IComparable, ITyp
|
||||
@Override
|
||||
public void updateNode() {
|
||||
if (ticks % upgrades.getSpeed() == 0) {
|
||||
int size = upgrades.hasUpgrade(ItemUpgrade.TYPE_STACK) ? 64 : 1;
|
||||
|
||||
if (type == IType.ITEMS) {
|
||||
IItemHandler handler = RSUtils.getItemHandler(getFacingTile(), getDirection().getOpposite());
|
||||
|
||||
@@ -65,7 +63,7 @@ public class TileExporter extends TileMultipartNode implements IComparable, ITyp
|
||||
ItemStack slot = itemFilters.getStackInSlot(i);
|
||||
|
||||
if (slot != null) {
|
||||
ItemStack took = network.extractItem(slot, size, compare);
|
||||
ItemStack took = network.extractItem(slot, upgrades.getInteractStackSize(), compare);
|
||||
|
||||
if (took != null) {
|
||||
ItemStack remainder = ItemHandlerHelper.insertItem(handler, took, false);
|
||||
@@ -88,7 +86,7 @@ public class TileExporter extends TileMultipartNode implements IComparable, ITyp
|
||||
FluidStack stackInStorage = network.getFluidStorage().get(stack, compare);
|
||||
|
||||
if (stackInStorage != null) {
|
||||
int toExtract = Math.min(Fluid.BUCKET_VOLUME * size, stackInStorage.amount);
|
||||
int toExtract = Math.min(Fluid.BUCKET_VOLUME * upgrades.getInteractStackSize(), stackInStorage.amount);
|
||||
|
||||
FluidStack took = network.extractFluid(stack, toExtract, compare);
|
||||
|
||||
|
||||
@@ -102,9 +102,7 @@ public class TileFluidInterface extends TileNode implements IComparable {
|
||||
}
|
||||
|
||||
if (ticks % upgrades.getSpeed() == 0) {
|
||||
int size = upgrades.hasUpgrade(ItemUpgrade.TYPE_STACK) ? 64 : 1;
|
||||
|
||||
FluidStack drained = tankIn.drainInternal(Fluid.BUCKET_VOLUME * size, true);
|
||||
FluidStack drained = tankIn.drainInternal(Fluid.BUCKET_VOLUME * upgrades.getInteractStackSize(), true);
|
||||
|
||||
// Drain in tank
|
||||
if (drained != null) {
|
||||
@@ -121,7 +119,7 @@ public class TileFluidInterface extends TileNode implements IComparable {
|
||||
|
||||
// If our out fluid doesn't match the new fluid, empty it first
|
||||
if (tankOut.getFluid() != null && (stack == null || (tankOut.getFluid().getFluid() != stack.getFluid()))) {
|
||||
FluidStack remainder = tankOut.drainInternal(Fluid.BUCKET_VOLUME * size, true);
|
||||
FluidStack remainder = tankOut.drainInternal(Fluid.BUCKET_VOLUME * upgrades.getInteractStackSize(), true);
|
||||
|
||||
if (remainder != null) {
|
||||
network.insertFluid(remainder, remainder.amount, false);
|
||||
@@ -131,7 +129,7 @@ public class TileFluidInterface extends TileNode implements IComparable {
|
||||
FluidStack stackInStorage = network.getFluidStorage().get(stack, compare);
|
||||
|
||||
if (stackInStorage != null) {
|
||||
int toExtract = Math.min(Fluid.BUCKET_VOLUME * size, stackInStorage.amount);
|
||||
int toExtract = Math.min(Fluid.BUCKET_VOLUME * upgrades.getInteractStackSize(), stackInStorage.amount);
|
||||
|
||||
FluidStack took = network.extractFluid(stack, toExtract, compare);
|
||||
|
||||
|
||||
@@ -60,8 +60,6 @@ public class TileImporter extends TileMultipartNode implements IComparable, IFil
|
||||
|
||||
@Override
|
||||
public void updateNode() {
|
||||
int size = upgrades.hasUpgrade(ItemUpgrade.TYPE_STACK) ? 64 : 1;
|
||||
|
||||
if (type == IType.ITEMS) {
|
||||
IItemHandler handler = RSUtils.getItemHandler(getFacingTile(), getDirection().getOpposite());
|
||||
|
||||
@@ -79,12 +77,12 @@ public class TileImporter extends TileMultipartNode implements IComparable, IFil
|
||||
if (stack == null || !IFilterable.canTake(itemFilters, mode, compare, stack)) {
|
||||
currentSlot++;
|
||||
} else if (ticks % upgrades.getSpeed() == 0) {
|
||||
ItemStack result = handler.extractItem(currentSlot, size, true);
|
||||
ItemStack result = handler.extractItem(currentSlot, upgrades.getInteractStackSize(), true);
|
||||
|
||||
if (result != null && network.insertItem(result, result.stackSize, true) == null) {
|
||||
network.insertItem(result, result.stackSize, false);
|
||||
|
||||
handler.extractItem(currentSlot, size, false);
|
||||
handler.extractItem(currentSlot, upgrades.getInteractStackSize(), false);
|
||||
} else {
|
||||
currentSlot++;
|
||||
}
|
||||
@@ -97,7 +95,7 @@ public class TileImporter extends TileMultipartNode implements IComparable, IFil
|
||||
FluidStack stack = handler.drain(Fluid.BUCKET_VOLUME, false);
|
||||
|
||||
if (stack != null && IFilterable.canTakeFluids(fluidFilters, mode, compare, stack) && network.insertFluid(stack, stack.amount, true) == null) {
|
||||
FluidStack drained = handler.drain(Fluid.BUCKET_VOLUME * size, true);
|
||||
FluidStack drained = handler.drain(Fluid.BUCKET_VOLUME * upgrades.getInteractStackSize(), true);
|
||||
|
||||
if (drained != null) {
|
||||
network.insertFluid(drained, drained.amount, false);
|
||||
|
||||
@@ -62,14 +62,12 @@ public class TileInterface extends TileNode implements IComparable {
|
||||
if (slot == null) {
|
||||
currentSlot++;
|
||||
} else if (ticks % upgrades.getSpeed() == 0) {
|
||||
int size = Math.min(slot.stackSize, upgrades.hasUpgrade(ItemUpgrade.TYPE_STACK) ? 64 : 1);
|
||||
|
||||
ItemStack remainder = network.insertItem(slot, size, false);
|
||||
ItemStack remainder = network.insertItem(slot, upgrades.getInteractStackSize(), false);
|
||||
|
||||
if (remainder == null) {
|
||||
importItems.extractItemInternal(currentSlot, size, false);
|
||||
importItems.extractItemInternal(currentSlot, upgrades.getInteractStackSize(), false);
|
||||
} else {
|
||||
importItems.extractItemInternal(currentSlot, size - remainder.stackSize, false);
|
||||
importItems.extractItemInternal(currentSlot, upgrades.getInteractStackSize() - remainder.stackSize, false);
|
||||
currentSlot++;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user