actually also do it all here

This commit is contained in:
Ell 2022-01-24 23:08:46 +01:00
parent 87ecc7f74e
commit 0eb5047de9

View file

@ -2,8 +2,6 @@ package de.ellpeck.prettypipes.terminal.containers;
import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.inventory.CraftingInventory; import net.minecraft.inventory.CraftingInventory;
import net.minecraft.inventory.ItemStackHelper;
import net.minecraft.inventory.container.Container;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.RecipeItemHelper; import net.minecraft.item.crafting.RecipeItemHelper;
import net.minecraftforge.items.ItemStackHandler; import net.minecraftforge.items.ItemStackHandler;
@ -11,9 +9,9 @@ import net.minecraftforge.items.ItemStackHandler;
public class WrappedCraftingInventory extends CraftingInventory { public class WrappedCraftingInventory extends CraftingInventory {
private final ItemStackHandler items; private final ItemStackHandler items;
private final Container eventHandler; private final CraftingTerminalContainer eventHandler;
public WrappedCraftingInventory(ItemStackHandler items, Container eventHandlerIn, int width, int height) { public WrappedCraftingInventory(ItemStackHandler items, CraftingTerminalContainer eventHandlerIn, int width, int height) {
super(eventHandlerIn, width, height); super(eventHandlerIn, width, height);
this.eventHandler = eventHandlerIn; this.eventHandler = eventHandlerIn;
this.items = items; this.items = items;
@ -49,15 +47,18 @@ public class WrappedCraftingInventory extends CraftingInventory {
public ItemStack decrStackSize(int index, int count) { public ItemStack decrStackSize(int index, int count) {
ItemStack slotStack = this.items.getStackInSlot(index); ItemStack slotStack = this.items.getStackInSlot(index);
ItemStack ret = !slotStack.isEmpty() && count > 0 ? slotStack.split(count) : ItemStack.EMPTY; ItemStack ret = !slotStack.isEmpty() && count > 0 ? slotStack.split(count) : ItemStack.EMPTY;
if (!ret.isEmpty()) if (!ret.isEmpty()) {
this.eventHandler.onCraftMatrixChanged(this); for (PlayerEntity player : this.eventHandler.getTile().getLookingPlayers())
player.openContainer.onCraftMatrixChanged(this);
}
return ret; return ret;
} }
@Override @Override
public void setInventorySlotContents(int index, ItemStack stack) { public void setInventorySlotContents(int index, ItemStack stack) {
this.items.setStackInSlot(index, stack); this.items.setStackInSlot(index, stack);
this.eventHandler.onCraftMatrixChanged(this); for (PlayerEntity player : this.eventHandler.getTile().getLookingPlayers())
player.openContainer.onCraftMatrixChanged(this);
} }
@Override @Override