Jump to content

Dexter12

Members
  • Posts

    1
  • Joined

  • Last visited

Dexter12's Achievements

Tree Puncher

Tree Puncher (2/8)

0

Reputation

  1. I am trying to store data through my ItemStack capability storage, but I stumbled upon a roadblock. My ItemStack Capability Storage: public class WandItemStorage implements Capability.IStorage<IWandCap> { @Nullable @Override public INBT writeNBT(Capability<IWandCap> capability, IWandCap instance, Direction side) { CompoundNBT tag = new CompoundNBT(); tag.put("spells", instance.getSpells()); return tag; } @Override public void readNBT(Capability<IWandCap> capability, IWandCap instance, Direction side, INBT nbt) { } } My ItemStack Capability: public class WandCap implements IWandCap { private List<Spell> spells; public WandCap () { spells = new ArrayList<>(); } @Override public List<Spell> getSpells() { return this.spells; } @Override public void addSpells(Spell... spells) { this.spells.addAll(Arrays.asList(spells)); } @Override public void addSpell(Spell spell) { this.spells.add(spell); } @Override public void removeSpells(Spell... spells) { this.spells.removeAll(Arrays.asList(spells)); } @Override public void removeSpell(Spell spell) { this.spells.remove(spell); } @Override public boolean containsSpell(Spell spell) { return this.spells.contains(spell); } } I'm currently trying to put a List of Spells (my custom object) to the Write and Read NBT methods of my ItemStack cap storage, but CompoundNBT doesn't have a method for putting a custom object into a tag. All it has is the put() method from what I'm seeing, however the put() method requires an INBT for the second parameter, which I do not have. Would I need to convert my List of Spells to an INBT, and how would I go about doing that?
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.