Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.camellias.voidaicarcania.common.tileentities.altar;
- import javax.annotation.Nullable;
- import net.minecraft.entity.player.EntityPlayer;
- import net.minecraft.nbt.NBTTagCompound;
- import net.minecraft.network.NetworkManager;
- import net.minecraft.network.play.server.SPacketUpdateTileEntity;
- import net.minecraft.tileentity.TileEntity;
- import net.minecraft.util.EnumFacing;
- import net.minecraft.util.math.BlockPos;
- import net.minecraftforge.common.capabilities.Capability;
- import net.minecraftforge.items.CapabilityItemHandler;
- import net.minecraftforge.items.ItemStackHandler;
- public class TileWhitewoodPedestal extends TileEntity
- {
- public static final int SLOTS = 1;
- public ItemStackHandler handler = new ItemStackHandler(SLOTS)
- {
- @Override
- protected void onContentsChanged(int slot)
- {
- TileWhitewoodPedestal.this.markDirty();
- }
- };
- @Override
- @Nullable
- public SPacketUpdateTileEntity getUpdatePacket()
- {
- BlockPos pos1 = getPos();
- return new SPacketUpdateTileEntity(pos1, 0, getUpdateTag());
- }
- @Override
- public NBTTagCompound getUpdateTag()
- {
- NBTTagCompound nbt = super.getUpdateTag();
- writeToNBT(nbt);
- return nbt;
- }
- @Override
- public void onDataPacket(NetworkManager manager, SPacketUpdateTileEntity packet)
- {
- NBTTagCompound tag = packet.getNbtCompound();
- readFromNBT(tag);
- }
- @Override
- public void readFromNBT(NBTTagCompound nbt)
- {
- super.readFromNBT(nbt);
- if(nbt.hasKey("items"))
- {
- handler.deserializeNBT((NBTTagCompound) nbt.getTag("items"));
- }
- }
- @Override
- public NBTTagCompound writeToNBT(NBTTagCompound nbt)
- {
- super.writeToNBT(nbt);
- nbt.setTag("items", handler.serializeNBT());
- return nbt;
- }
- @Override
- public boolean hasCapability(Capability<?> capability, EnumFacing facing)
- {
- if(capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY)
- {
- return true;
- }
- return super.hasCapability(capability, facing);
- }
- @Override
- public <T> T getCapability(Capability<T> capability, EnumFacing facing)
- {
- if(capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY)
- {
- return CapabilityItemHandler.ITEM_HANDLER_CAPABILITY.cast(handler);
- }
- return super.getCapability(capability, facing);
- }
- public boolean canInteractWith(EntityPlayer player)
- {
- return !isInvalid() && player.getDistanceSq(pos.add(0.5D, 0.5D, 0.5D)) <= 64D;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement