List of usage examples for net.minecraftforge.common.capabilities ICapabilitySerializable ICapabilitySerializable
ICapabilitySerializable
From source file:valkyrienwarfare.mod.event.EventsCommon.java
License:Open Source License
@SubscribeEvent public void onEntityConstruct(AttachCapabilitiesEvent evt) { if (evt.getObject() instanceof EntityPlayer) { evt.addCapability(new ResourceLocation(ValkyrienWarfareMod.MODID, "AirshipCounter"), new ICapabilitySerializable<NBTTagIntArray>() { IAirshipCounterCapability inst = ValkyrienWarfareMod.airshipCounter.getDefaultInstance(); @Override//w w w . j a v a 2 s .c om public boolean hasCapability(Capability<?> capability, EnumFacing facing) { return capability == ValkyrienWarfareMod.airshipCounter; } @Override public <T> T getCapability(Capability<T> capability, EnumFacing facing) { return capability == ValkyrienWarfareMod.airshipCounter ? ValkyrienWarfareMod.airshipCounter.<T>cast(inst) : null; } @Override public NBTTagIntArray serializeNBT() { return (NBTTagIntArray) ValkyrienWarfareMod.airshipCounter.getStorage() .writeNBT(ValkyrienWarfareMod.airshipCounter, inst, null); } @Override public void deserializeNBT(NBTTagIntArray nbt) { //Otherwise its old, then ignore it if (nbt instanceof NBTTagIntArray) { ValkyrienWarfareMod.airshipCounter.getStorage() .readNBT(ValkyrienWarfareMod.airshipCounter, inst, null, nbt); } } }); } }