Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class CelestialPowerPedestalTileEntity extends TileEntity {
- public static final int slots = 1;
- private static Capability <IItemHandler> capability = CapabilityItemHandler.ITEM_HANDLER_CAPABILITY;
- public IItemHandler inv = capability.getDefaultInstance();
- private final LazyOptional <IItemHandler> capabilityLazyOptional = LazyOptional.of(() -> inv);
- public CelestialPowerPedestalTileEntity() {
- super(ModTileEntities.CELESTIAL_POWER_PEDESTAL_TILE_ENTITY.get());
- }
- public boolean isFillable() {
- return inv.getStackInSlot(0)
- .getItem() != ModItems.CELESTIAL_POWER_EYE.get();
- }
- public void read(
- BlockState state,
- CompoundNBT nbt) {
- super.read(state, nbt);
- capability.readNBT(inv, null, nbt);
- }
- @Nonnull
- @Override
- public CompoundNBT write(
- CompoundNBT compound) {
- super.write(compound);
- capability.writeNBT(inv, null);
- return compound;
- }
- @Nonnull
- @Override
- public <T> LazyOptional <T> getCapability(
- Capability <T> cap,
- Direction side) {
- if (cap == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) {
- return capabilityLazyOptional.cast();
- }
- return super.getCapability(cap, side);
- }
- @Override
- protected void invalidateCaps() {
- super.invalidateCaps();
- capabilityLazyOptional.invalidate();
- }
- @Nullable
- @Override
- public SUpdateTileEntityPacket getUpdatePacket() {
- CompoundNBT nbt = new CompoundNBT();
- this.write(nbt);
- return new SUpdateTileEntityPacket(this.pos, -1, nbt);
- }
- @Override
- public void onDataPacket(
- NetworkManager net,
- SUpdateTileEntityPacket pkt) {
- this.read(world.getBlockState(pkt.getPos()), pkt.getNbtCompound());
- }
- @Override
- public CompoundNBT getUpdateTag() {
- return this.write(new CompoundNBT());
- }
- @Override
- public void handleUpdateTag(
- BlockState state,
- CompoundNBT tag) {
- this.read(state, tag);
- }
- }
Add Comment
Please, Sign In to add comment