package me.km.capabilities; import net.minecraft.nbt.NBTBase; import net.minecraft.util.EnumFacing; import net.minecraftforge.common.capabilities.Capability; import net.minecraftforge.common.capabilities.CapabilityInject; import net.minecraftforge.common.capabilities.ICapabilitySerializable; public class DefenseProvider implements ICapabilitySerializable { @CapabilityInject(IDefense.class) public static final Capability DEFENSE_CAP = null; private final IDefense instance = DEFENSE_CAP.getDefaultInstance(); @Override public boolean hasCapability(Capability capability, EnumFacing facing) { return capability == DEFENSE_CAP; } @Override public T getCapability(Capability capability, EnumFacing facing) { return capability == DEFENSE_CAP ? DEFENSE_CAP.cast(this.instance) : null; } @Override public NBTBase serializeNBT() { return DEFENSE_CAP.getStorage().writeNBT(DEFENSE_CAP, this.instance, null); } @Override public void deserializeNBT(NBTBase nbt) { DEFENSE_CAP.getStorage().readNBT(DEFENSE_CAP, this.instance, null, nbt); } }