package cn.academy.core.container; import cn.lambdalib.template.container.CleanContainer; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Slot; import net.minecraft.tileentity.TileEntity; public class TechUIContainer<T extends TileEntity> extends CleanContainer { public final EntityPlayer player; public final T tile; public TechUIContainer(EntityPlayer _player, T _tile) { player = _player; tile = _tile; } protected void mapPlayerInventory() { int STEP = 18; InventoryPlayer inv = player.inventory; for(int i = 0; i < 9; ++i) { addSlotToContainer(new Slot(inv, i, 6 + i * STEP, 163)); } for(int i = 1; i < 4; ++i) { for(int j = 0; j < 9; ++j) { int slot = (4 - i) * 9 + j; addSlotToContainer(new Slot(inv, slot, 6 + j * STEP, 159 - i * STEP)); } } } @Override public final boolean canInteractWith(EntityPlayer player) { return player.getDistanceSq(tile.xCoord, tile.yCoord, tile.zCoord) < 64 && !tile.isInvalid(); } }