Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public interface IGraveCapability
- {
- Block getGraveBlock();
- void setGraveBlock(Block block);
- NBTTagCompound getGraveTag();
- void setGraveTag(NBTTagCompound tag);
- boolean hasTag();
- }
- public static class Storage implements IStorage<IGraveCapability>
- {
- @Override
- public NBTBase writeNBT(Capability<IGraveCapability> capability, IGraveCapability instance, EnumFacing side) {
- NBTTagCompound tagCompound = new NBTTagCompound();
- tagCompound.setString("graveBlock", ForgeRegistries.BLOCKS.getKey(instance.getGraveBlock()).toString());
- if (instance.getGraveTag() != null)
- tagCompound.setTag("graveTag", instance.getGraveTag());
- return tagCompound;
- }
- @Override
- public void readNBT(Capability<IGraveCapability> capability, IGraveCapability instance, EnumFacing side, NBTBase nbt) {
- instance.setGraveBlock(ForgeRegistries.BLOCKS.getValue(new ResourceLocation(((NBTTagCompound)nbt).getString("graveBlock"))));
- if (((NBTTagCompound) nbt).hasKey("graveTag"))
- instance.setGraveTag(((NBTTagCompound)nbt).getCompoundTag("graveTag"));
- }
- }
- public static class DefaultImpl implements IGraveCapability
- {
- NBTTagCompound graveTag;
- Block graveBlock;
- @Override
- public NBTTagCompound getGraveTag()
- {
- return graveTag;
- }
- @Override
- public void setGraveTag(NBTTagCompound chiselAndBitsGrave)
- {
- this.graveTag = chiselAndBitsGrave;
- }
- @Override
- public boolean hasTag()
- {
- return graveTag != null;
- }
- @Override
- public Block getGraveBlock()
- {
- return graveBlock;
- }
- @Override
- public void setGraveBlock(Block block)
- {
- graveBlock = block;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement