Advertisement
Naitenne

CapabilityToolTrack

Jan 20th, 2019
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.40 KB | None | 0 0
  1. package net.railsofwar.row.track.capability;
  2.  
  3. import net.minecraft.nbt.NBTBase;
  4. import net.minecraft.nbt.NBTTagCompound;
  5. import net.minecraft.util.EnumFacing;
  6. import net.minecraft.util.math.BlockPos;
  7. import net.minecraftforge.common.capabilities.Capability;
  8.  
  9. public class CapabilityToolTrack{
  10.  
  11.     public interface IToolTrackCapability{
  12.         boolean doneFirst();
  13.  
  14.         boolean invert();
  15.  
  16.         int scalarB();
  17.  
  18.         BlockPos getOrigin();
  19.  
  20.         void setDone(boolean flag);
  21.  
  22.         void setInvert(boolean flag);
  23.  
  24.         void setScalarB(int s);
  25.  
  26.         void setPos(BlockPos pos);
  27.     }
  28.  
  29.  
  30.     public static class Storage implements Capability.IStorage<IToolTrackCapability>{
  31.         @Override
  32.         public NBTBase writeNBT(Capability<IToolTrackCapability> capability, IToolTrackCapability instance, EnumFacing side){
  33.             NBTTagCompound tag = new NBTTagCompound();
  34. //          tag.setBoolean("doneFirst", instance.doneFirst());
  35. //          tag.setBoolean("invert", instance.invert());
  36. //          tag.setInteger("scalarB", instance.scalarB());
  37. //          tag.setInteger("x", instance.getOrigin().getX());
  38. //          tag.setInteger("y", instance.getOrigin().getY());
  39. //          tag.setInteger("z", instance.getOrigin().getZ());
  40.             return tag;
  41.         }
  42.  
  43.         @Override
  44.         public void readNBT(Capability<IToolTrackCapability> capability, IToolTrackCapability instance, EnumFacing side, NBTBase nbt){
  45.             NBTTagCompound tag = (NBTTagCompound) nbt;
  46. //          instance.setDone(tag.getBoolean("doneFirst"));
  47. //          instance.setInvert(tag.getBoolean("invert"));
  48. //          instance.setScalarB(tag.getInteger("scalarB"));
  49. //          instance.setPos(new BlockPos(tag.getInteger("x"), tag.getInteger("y"), tag.getInteger("z")));
  50.         }
  51.     }
  52.  
  53.     public static class DefaultToolTrack implements IToolTrackCapability{
  54.         private BlockPos pos = new BlockPos(0, 0, 0);
  55.         private boolean doneFirst = false;
  56.         private boolean inverse = false;
  57.         private int scalarB = 0;
  58.  
  59.         @Override
  60.         public void setDone(boolean flag){
  61.             doneFirst = flag;
  62.         }
  63.  
  64.         @Override
  65.         public void setInvert(boolean flag){
  66.             inverse = flag;
  67.         }
  68.  
  69.         @Override
  70.         public void setScalarB(int s){
  71.             scalarB = s;
  72.         }
  73.  
  74.         @Override
  75.         public void setPos(BlockPos p){
  76.             pos = p;
  77.         }
  78.  
  79.         @Override
  80.         public boolean doneFirst(){
  81.             return doneFirst;
  82.         }
  83.  
  84.         @Override
  85.         public boolean invert(){
  86.             return inverse;
  87.         }
  88.  
  89.         @Override
  90.         public int scalarB(){
  91.             return scalarB;
  92.         }
  93.  
  94.         @Override
  95.         public BlockPos getOrigin(){
  96.             return pos;
  97.         }
  98.     }
  99. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement