Fix item dupe bug in interface

This commit is contained in:
Raoul Van den Berge
2016-10-25 18:42:00 +02:00
parent d59afe9758
commit aeeac1cc1e

View File

@@ -21,12 +21,7 @@ public class TileInterface extends TileNode implements IComparable {
private static final String NBT_COMPARE = "Compare"; private static final String NBT_COMPARE = "Compare";
private ItemHandlerBasic importItems = new ItemHandlerBasic(9, this) { private ItemHandlerBasic importItems = new ItemHandlerBasic(9, this);
@Override
public ItemStack extractItem(int slot, int amount, boolean simulate) {
return null;
}
};
private ItemHandlerBasic exportSpecimenItems = new ItemHandlerBasic(9, this); private ItemHandlerBasic exportSpecimenItems = new ItemHandlerBasic(9, this);
private ItemHandlerBasic exportItems = new ItemHandlerBasic(9, this) { private ItemHandlerBasic exportItems = new ItemHandlerBasic(9, this) {
@@ -62,12 +57,14 @@ public class TileInterface extends TileNode implements IComparable {
if (slot == null) { if (slot == null) {
currentSlot++; currentSlot++;
} else if (ticks % upgrades.getSpeed() == 0) { } else if (ticks % upgrades.getSpeed() == 0) {
ItemStack remainder = network.insertItem(slot, upgrades.getInteractStackSize(), false); int size = Math.min(slot.stackSize, upgrades.getInteractStackSize());
ItemStack remainder = network.insertItem(slot, size, false);
if (remainder == null) { if (remainder == null) {
importItems.extractItemInternal(currentSlot, upgrades.getInteractStackSize(), false); importItems.extractItemInternal(currentSlot, size, false);
} else { } else {
importItems.extractItemInternal(currentSlot, upgrades.getInteractStackSize() - remainder.stackSize, false); importItems.extractItemInternal(currentSlot, size - remainder.stackSize, false);
currentSlot++; currentSlot++;
} }
} }