Advertisement
Naitenne

ToolTrackProvider

Jan 20th, 2019
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.25 KB | None | 0 0
  1. package net.railsofwar.row.track.capability;
  2.  
  3. import net.minecraft.nbt.NBTBase;
  4. import net.minecraft.util.EnumFacing;
  5. import net.minecraftforge.common.capabilities.Capability;
  6. import net.minecraftforge.common.capabilities.CapabilityInject;
  7. import net.minecraftforge.common.capabilities.ICapabilitySerializable;
  8.  
  9. public class ToolTrackProvider implements ICapabilitySerializable<NBTBase>{
  10.     @CapabilityInject(CapabilityToolTrack.IToolTrackCapability.class)
  11.     public static Capability<CapabilityToolTrack.IToolTrackCapability> CAP_TOOL_TRACK = null;
  12.     public static CapabilityToolTrack.IToolTrackCapability capToolInstance = new CapabilityToolTrack.DefaultToolTrack();
  13.  
  14.     @Override
  15.     public boolean hasCapability(Capability<?> capability, EnumFacing facing){
  16.         return capability == CAP_TOOL_TRACK;
  17.     }
  18.  
  19.     @Override
  20.     public <T> T getCapability(Capability<T> capability, EnumFacing facing){
  21.         return capability == CAP_TOOL_TRACK ? CAP_TOOL_TRACK.cast(capToolInstance) : null;
  22.     }
  23.  
  24.     @Override
  25.     public NBTBase serializeNBT(){
  26.         return CAP_TOOL_TRACK.getStorage().writeNBT(CAP_TOOL_TRACK, capToolInstance, null);
  27.     }
  28.  
  29.     @Override
  30.     public void deserializeNBT(NBTBase nbt){
  31.         CAP_TOOL_TRACK.getStorage().readNBT(CAP_TOOL_TRACK, capToolInstance, null, nbt);
  32.     }
  33. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement