From e8b1439157f4c7578f8f91e326cb4c7a2069b4ab Mon Sep 17 00:00:00 2001 From: Shadowfacts Date: Fri, 17 Jun 2016 12:30:15 -0400 Subject: [PATCH] AutoSerializeNBT and CapHolder --- .../shadowfacts/funnels/TileEntityFunnel.java | 24 +++++-------------- 1 file changed, 6 insertions(+), 18 deletions(-) diff --git a/src/main/java/net/shadowfacts/funnels/TileEntityFunnel.java b/src/main/java/net/shadowfacts/funnels/TileEntityFunnel.java index 5f55279..0ac3927 100644 --- a/src/main/java/net/shadowfacts/funnels/TileEntityFunnel.java +++ b/src/main/java/net/shadowfacts/funnels/TileEntityFunnel.java @@ -6,14 +6,15 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumFacing; import net.minecraft.util.ITickable; import net.minecraft.util.math.BlockPos; -import net.minecraftforge.common.capabilities.Capability; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.fluids.FluidTank; import net.minecraftforge.fluids.capability.CapabilityFluidHandler; import net.minecraftforge.fluids.capability.IFluidHandler; import net.minecraftforge.fml.common.network.NetworkRegistry; import net.shadowfacts.shadowmc.ShadowMC; +import net.shadowfacts.shadowmc.capability.CapHolder; +import net.shadowfacts.shadowmc.fluid.FluidTank; +import net.shadowfacts.shadowmc.nbt.AutoSerializeNBT; import net.shadowfacts.shadowmc.network.PacketUpdateTE; import net.shadowfacts.shadowmc.tileentity.BaseTileEntity; @@ -22,11 +23,13 @@ import net.shadowfacts.shadowmc.tileentity.BaseTileEntity; */ public class TileEntityFunnel extends BaseTileEntity implements ITickable { + @AutoSerializeNBT + @CapHolder(capabilities = IFluidHandler.class) FluidTank tank = new FluidTank(FunnelsConfig.size); private int tick; - private void save() { + void save() { markDirty(); ShadowMC.network.sendToAllAround(new PacketUpdateTE(this), new NetworkRegistry.TargetPoint(worldObj.provider.getDimension(), pos.getX(), pos.getY(), pos.getZ(), 64)); } @@ -107,19 +110,4 @@ public class TileEntityFunnel extends BaseTileEntity implements ITickable { return tag; } - @Override - public boolean hasCapability(Capability capability, EnumFacing facing) { - return capability == CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY || super.hasCapability(capability, facing); - } - - @Override - @SuppressWarnings("unchecked") - public T getCapability(Capability capability, EnumFacing facing) { - if (capability == CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY) { - return (T)tank; - } else { - return super.getCapability(capability, facing); - } - } - }