114 lines
2.2 KiB
Java
114 lines
2.2 KiB
Java
package mods.tinker.tconstruct.logic;
|
|
|
|
import mods.tinker.common.InventoryLogic;
|
|
import net.minecraft.entity.player.EntityPlayer;
|
|
import net.minecraft.entity.player.InventoryPlayer;
|
|
import net.minecraft.inventory.Container;
|
|
import net.minecraft.inventory.IInventory;
|
|
import net.minecraft.item.ItemStack;
|
|
import net.minecraft.nbt.NBTTagCompound;
|
|
import net.minecraft.network.INetworkManager;
|
|
import net.minecraft.network.packet.Packet;
|
|
import net.minecraft.network.packet.Packet132TileEntityData;
|
|
import net.minecraft.world.World;
|
|
|
|
public class GolemCoreLogic extends InventoryLogic
|
|
implements IInventory
|
|
{
|
|
|
|
public GolemCoreLogic()
|
|
{
|
|
super(1);
|
|
}
|
|
|
|
public ItemStack getKey()
|
|
{
|
|
return inventory[0];
|
|
}
|
|
|
|
public void setKey(ItemStack itemstack)
|
|
{
|
|
inventory[0] = itemstack;
|
|
onInventoryChanged();
|
|
}
|
|
|
|
public void clear()
|
|
{
|
|
inventory[0] = null;
|
|
}
|
|
|
|
public int getSizeInventory()
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
public ItemStack getStackInSlot(int slot)
|
|
{
|
|
return inventory[0];
|
|
}
|
|
|
|
public int getInventoryStackLimit()
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
public boolean canInteractWith(EntityPlayer entityplayer)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
public void openChest() {}
|
|
public void closeChest() {}
|
|
|
|
public boolean isUseableByPlayer(EntityPlayer entityplayer)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
@Override
|
|
public ItemStack getStackInSlotOnClosing (int i)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
@Override
|
|
public boolean isInvNameLocalized ()
|
|
{
|
|
return false;
|
|
}
|
|
|
|
@Override
|
|
public boolean isStackValidForSlot (int i, ItemStack itemstack)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
@Override
|
|
public Container getGuiContainer (InventoryPlayer inventoryplayer, World world, int x, int y, int z)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
@Override
|
|
protected String getDefaultName ()
|
|
{
|
|
return "golems.core";
|
|
}
|
|
|
|
/* Packets */
|
|
@Override
|
|
public Packet getDescriptionPacket ()
|
|
{
|
|
NBTTagCompound tag = new NBTTagCompound();
|
|
writeToNBT(tag);
|
|
return new Packet132TileEntityData(xCoord, yCoord, zCoord, 1, tag);
|
|
}
|
|
|
|
@Override
|
|
public void onDataPacket (INetworkManager net, Packet132TileEntityData packet)
|
|
{
|
|
readFromNBT(packet.customParam1);
|
|
worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
|
|
}
|
|
}
|