Guest User

Untitled

a guest
Jul 13th, 2017
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.83 KB | None | 0 0
  1. package halestormxv.eAngelus.capabilities.MoralityCapability;
  2.  
  3. import halestormxv.eAngelus.capabilities.Interfaces.IMorality;
  4. import net.minecraft.nbt.NBTBase;
  5. import net.minecraft.util.EnumFacing;
  6. import net.minecraftforge.common.capabilities.Capability;
  7. import net.minecraftforge.common.capabilities.CapabilityInject;
  8. import net.minecraftforge.common.capabilities.ICapabilitySerializable;
  9.  
  10. import javax.annotation.Nonnull;
  11. import javax.annotation.Nullable;
  12.  
  13. /**
  14.  * Morality provider
  15.  * This class is responsible for providing a capability. Other modders may
  16.  * attach their own provider with implementation that returns another
  17.  * implementation of IMorality to the target's (Entity, TE, ItemStack, etc.) disposal.
  18.  */
  19.  
  20. //You can replace the ICapabilitySerializable with ICapabilityProvider if you don't need persistence and then remove serializeNBT and deserializeNBT methods.
  21. public class moralityProvider implements ICapabilitySerializable<NBTBase>
  22. {
  23.     @CapabilityInject(IMorality.class)
  24.     public static final Capability<IMorality> MORALITY_CAP = null;
  25.     private IMorality instance = MORALITY_CAP.getDefaultInstance();
  26.  
  27.     @Override
  28.     public boolean hasCapability(@Nonnull Capability<?> capability, @Nullable EnumFacing facing)
  29.     {
  30.         return capability == MORALITY_CAP;
  31.     }
  32.  
  33.     @Nullable
  34.     @Override
  35.     public <T> T getCapability(@Nonnull Capability<T> capability, @Nullable EnumFacing facing) {
  36.         return capability == MORALITY_CAP ? MORALITY_CAP.<T> cast(this.instance) : null;
  37.     }
  38.  
  39.     @Override
  40.     public NBTBase serializeNBT()
  41.     {
  42.         return MORALITY_CAP.getStorage().writeNBT(MORALITY_CAP, this.instance, null);
  43.     }
  44.  
  45.     @Override
  46.     public void deserializeNBT(NBTBase nbt)
  47.     {
  48.         MORALITY_CAP.getStorage().readNBT(MORALITY_CAP, this.instance, null, nbt);
  49.     }
  50. }
Advertisement
Add Comment
Please, Sign In to add comment