public ContainerPlayerExtended( InventoryPlayer playerInv, InventoryPlayerExtended eInvo, EntityPlayer player) { this.thePlayer = player; inventory = eInvo; // new InventoryPlayerExtended(player); inventory.setEventHandler(this); if (!player.worldObj.isRemote) { UtilPlayerInventoryFilestorage.putDataIntoInventory(inventory, player); // inventory.stackList = // UtilPlayerInventoryFilestorage.getPlayerInventory(player).stackList; } for (int k = 0; k < ARMOR.length; k++) { final EntityEquipmentSlot slot = ARMOR[k]; this.addSlotToContainer( new Slot(playerInv, 4 * VCOL + (VROW - k), pad, pad + k * SQ) { @Override public int getSlotStackLimit() { return 1; } @Override public boolean isItemValid(ItemStack stack) { if (stack == null) { return false; } else { return stack.getItem().isValidArmor(stack, slot, thePlayer); } } @Override @SideOnly(Side.CLIENT) public String getSlotTexture() { return ItemArmor.EMPTY_SLOT_NAMES[slot.getIndex()]; } }); } int xPos, yPos, sl; for (int i = 0; i < InventoryPlayerExtended.IROW; ++i) { for (int j = 0; j < InventoryPlayerExtended.ICOL; ++j) { xPos = pad + (j + 1) * SQ; yPos = pad + i * SQ; sl = j + (i + 1) * InventoryPlayerExtended.ICOL; this.addSlotToContainer(new Slot(inventory, sl, xPos, yPos)); } } for (int i = 0; i < VROW; ++i) { for (int j = 0; j < VCOL; ++j) { xPos = pad + j * SQ; yPos = 84 + i * SQ; sl = j + (i + 1) * HOTBAR_SIZE; this.addSlotToContainer(new Slot(playerInv, sl, xPos, yPos)); } } yPos = 142; for (int i = 0; i < HOTBAR_SIZE; ++i) { xPos = pad + i * SQ; sl = i; this.addSlotToContainer(new Slot(playerInv, sl, xPos, yPos)); } }
@Override public void putStacksInSlots(ItemStack[] s) { inventory.blockEvents = true; super.putStacksInSlots(s); }