DefenseProvider.java 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. package me.km.capabilities;
  2. import net.minecraft.nbt.NBTBase;
  3. import net.minecraft.util.EnumFacing;
  4. import net.minecraftforge.common.capabilities.Capability;
  5. import net.minecraftforge.common.capabilities.CapabilityInject;
  6. import net.minecraftforge.common.capabilities.ICapabilitySerializable;
  7. public class DefenseProvider implements ICapabilitySerializable<NBTBase>
  8. {
  9. @CapabilityInject(IDefense.class)
  10. public static final Capability<IDefense> DEFENSE_CAP = null;
  11. private final IDefense instance = DEFENSE_CAP.getDefaultInstance();
  12. @Override
  13. public boolean hasCapability(Capability<?> capability, EnumFacing facing)
  14. {
  15. return capability == DEFENSE_CAP;
  16. }
  17. @Override
  18. public <T> T getCapability(Capability<T> capability, EnumFacing facing)
  19. {
  20. return capability == DEFENSE_CAP ? DEFENSE_CAP.<T>cast(this.instance) : null;
  21. }
  22. @Override
  23. public NBTBase serializeNBT()
  24. {
  25. return DEFENSE_CAP.getStorage().writeNBT(DEFENSE_CAP, this.instance, null);
  26. }
  27. @Override
  28. public void deserializeNBT(NBTBase nbt)
  29. {
  30. DEFENSE_CAP.getStorage().readNBT(DEFENSE_CAP, this.instance, null, nbt);
  31. }
  32. }