Tagrepresents a key, and a way to read/write a specific type of data. Generally exposed as a constant, you can use it to apply or read data from any
ItemStack, and soon
Block). They are implemented using NBT, meaning that applying a tag to an
ItemStackwill modify its NBT, same for
Block, and can therefore be sent to the client.
TagWritable, ideal for immutable classes.
Tagmethods should be pure, and allow to specify additional information to handle the data.
TagSerializeris similar to the
#mapmethod, except that you can interact with multiple tags.