Advertisement
Naitenne

Untitled

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