Advertisement
Guest User

IGraveCapability

a guest
Jun 29th, 2016
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.65 KB | None | 0 0
  1.  
  2.     public interface IGraveCapability
  3.     {
  4.         Block getGraveBlock();
  5.         void setGraveBlock(Block block);
  6.         NBTTagCompound getGraveTag();
  7.         void setGraveTag(NBTTagCompound tag);
  8.         boolean hasTag();
  9.     }
  10.  
  11.     public static class Storage implements IStorage<IGraveCapability>
  12.     {
  13.         @Override
  14.         public NBTBase writeNBT(Capability<IGraveCapability> capability, IGraveCapability instance, EnumFacing side) {
  15.             NBTTagCompound tagCompound = new NBTTagCompound();
  16.             tagCompound.setString("graveBlock", ForgeRegistries.BLOCKS.getKey(instance.getGraveBlock()).toString());
  17.             if (instance.getGraveTag() != null)
  18.                 tagCompound.setTag("graveTag", instance.getGraveTag());
  19.             return tagCompound;
  20.         }
  21.  
  22.         @Override
  23.         public void readNBT(Capability<IGraveCapability> capability, IGraveCapability instance, EnumFacing side, NBTBase nbt) {
  24.             instance.setGraveBlock(ForgeRegistries.BLOCKS.getValue(new ResourceLocation(((NBTTagCompound)nbt).getString("graveBlock"))));
  25.             if (((NBTTagCompound) nbt).hasKey("graveTag"))
  26.                 instance.setGraveTag(((NBTTagCompound)nbt).getCompoundTag("graveTag"));
  27.         }
  28.     }
  29.  
  30.     public static class DefaultImpl implements IGraveCapability
  31.     {
  32.         NBTTagCompound graveTag;
  33.         Block graveBlock;
  34.  
  35.         @Override
  36.         public NBTTagCompound getGraveTag()
  37.         {
  38.             return graveTag;
  39.         }
  40.  
  41.         @Override
  42.         public void setGraveTag(NBTTagCompound chiselAndBitsGrave)
  43.         {
  44.             this.graveTag = chiselAndBitsGrave;
  45.         }
  46.  
  47.         @Override
  48.         public boolean hasTag()
  49.         {
  50.             return graveTag != null;
  51.         }
  52.  
  53.         @Override
  54.         public Block getGraveBlock()
  55.         {
  56.             return graveBlock;
  57.         }
  58.  
  59.         @Override
  60.         public void setGraveBlock(Block block)
  61.         {
  62.             graveBlock = block;
  63.         }
  64.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement