Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package iitest.capability;
- import net.minecraft.item.ItemStack;
- import net.minecraft.nbt.NBTBase;
- import net.minecraft.nbt.NBTTagCompound;
- import net.minecraft.nbt.NBTTagList;
- import net.minecraft.util.EnumFacing;
- import net.minecraftforge.common.capabilities.Capability;
- import net.minecraftforge.common.util.Constants;
- import javax.annotation.Nullable;
- public class ITestStorage implements Capability.IStorage<ITest> {
- @Nullable
- @Override
- public NBTBase writeNBT(Capability<ITest> capability, ITest instance, EnumFacing side) {
- NBTTagCompound nbt = new NBTTagCompound();
- NBTTagList slot = new NBTTagList();
- if (instance.getStackInSlot(0) != ItemStack.EMPTY) {
- NBTTagCompound item = new NBTTagCompound();
- item.setByte("__slot__", (byte)0);
- item.setTag("__item__", instance.getStackInSlot(0).serializeNBT());
- slot.appendTag(item);
- nbt.setTag("__slot__", slot);
- }
- nbt.setInteger("__value__", instance.getValue());
- // nbt.setTag("__stack__", instance.getStackInSlot(0).serializeNBT());
- return nbt;
- }
- @Override
- public void readNBT(Capability<ITest> capability, ITest instance, EnumFacing side, NBTBase nbt_tmp) {
- NBTTagCompound nbt = (NBTTagCompound) nbt_tmp;
- NBTTagList slot = nbt.getTagList("__slot__", Constants.NBT.TAG_COMPOUND);
- if (!slot.hasNoTags()) {
- NBTTagCompound item = slot.getCompoundTagAt(0);
- instance.setInventorySlotContents(0, new ItemStack(item));
- }
- instance.setValue(nbt.getInteger("__value__"));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement