diff --git a/src/main/java/de/ellpeck/prettypipes/misc/FilterSlot.java b/src/main/java/de/ellpeck/prettypipes/misc/FilterSlot.java index 586a80b..c79bcea 100644 --- a/src/main/java/de/ellpeck/prettypipes/misc/FilterSlot.java +++ b/src/main/java/de/ellpeck/prettypipes/misc/FilterSlot.java @@ -16,28 +16,28 @@ public class FilterSlot extends SlotItemHandler { this.onlyOneItem = onlyOneItem; } - public static boolean checkFilter(AbstractContainerMenu container, int slotId, Player player) { - if (slotId >= 0 && slotId < container.slots.size()) { - var slot = container.getSlot(slotId); + public static boolean checkFilter(AbstractContainerMenu menu, int slotId) { + if (slotId >= 0 && slotId < menu.slots.size()) { + var slot = menu.getSlot(slotId); if (slot instanceof FilterSlot) { - ((FilterSlot) slot).slotClick(player); + ((FilterSlot) slot).slotClick(menu); return true; } } return false; } - private void slotClick(Player player) { - var heldStack = player.inventoryMenu.getCarried(); + private void slotClick(AbstractContainerMenu menu) { + var heldStack = menu.getCarried(); var stackInSlot = this.getItem(); if (!stackInSlot.isEmpty() && heldStack.isEmpty()) { - this.safeInsert(ItemStack.EMPTY); + this.set(ItemStack.EMPTY); } else if (!heldStack.isEmpty()) { var s = heldStack.copy(); if (this.onlyOneItem) s.setCount(1); - this.safeInsert(s); + this.set(s); } } @@ -46,11 +46,6 @@ public class FilterSlot extends SlotItemHandler { return false; } - @Override - public ItemStack safeInsert(ItemStack stack) { - return super.safeInsert(stack.copy()); - } - @Override public boolean mayPickup(Player playerIn) { return false; diff --git a/src/main/java/de/ellpeck/prettypipes/pipe/containers/AbstractPipeContainer.java b/src/main/java/de/ellpeck/prettypipes/pipe/containers/AbstractPipeContainer.java index d4eb03d..c5597a2 100644 --- a/src/main/java/de/ellpeck/prettypipes/pipe/containers/AbstractPipeContainer.java +++ b/src/main/java/de/ellpeck/prettypipes/pipe/containers/AbstractPipeContainer.java @@ -52,7 +52,7 @@ public abstract class AbstractPipeContainer extends AbstractC @Override public void clicked(int slotId, int dragType, ClickType clickTypeIn, Player player) { - if (FilterSlot.checkFilter(this, slotId, player)) + if (FilterSlot.checkFilter(this, slotId)) return; super.clicked(slotId, dragType, clickTypeIn, player); }