Jump to content

[1.12] capability question


The_SlayerMC

Recommended Posts

How do you go about adding more then one value to each player?

 

Mana value is the main one

then you got regen value

 

see below, how it adds one value only, how would i go about adding a regen value without a new storage?

	public class EssenceStorage implements IStorage<IEssence> {
	    @Override
    public NBTBase writeNBT(Capability<IEssence> capability, IEssence instance, EnumFacing side) {
        return new NBTTagInt(instance.getEssenceValue());
    }
	    @Override
    public void readNBT(Capability<IEssence> capability, IEssence instance, EnumFacing side, NBTBase nbt) {
        instance.setEssence(((NBTTagInt)nbt).getInt());
    }
}
	

Former developer for DivineRPG, Pixelmon and now the maker of Essence of the Gods

Link to comment
Share on other sites

Create a writeNbt and readNbt method in your capability interface and then call them like this:

 

public class EssenceStorage implements IStorage<IEssence> {
	    @Override
    public NBTBase writeNBT(Capability<IEssence> capability, IEssence instance, EnumFacing side) {
        return instance.writeNBT();
    }
	    @Override
    public void readNBT(Capability<IEssence> capability, IEssence instance, EnumFacing side, NBTBase nbt) {
        instance.readNBT((NBTTagCompound) nbt);
    }
}

 

instead of

 

instance.setEssence(((NBTTagInt)nbt).getInt());

 

return new NBTTagInt(instance.getEssenceValue());
Edited by SubDivide
Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

Announcements



×
×
  • Create New...

Important Information

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