I have begun learning the bukkit/spigot API for the sole reason of making a simple plugin to modify nbt tags on items, and have run into a major issue: there are absolutely no tutorials, documentation, or any sort of information about how to do this, just threads with lots of people saying to use APIs from 1.4, or saying "why would you want to modify NBT?". Getting an item or entity nbt data as a 3-dimensional array, or even a string as it appears in vanilla command block usage, and setting a similar string back to the entity seems very basic, vanilla already includes commands that do this (/entitydata, /blockdata). For anyone wondering what NBT data tags are, they are the save data format for everything in minecraft not covered by the region files (player health, hunger, potion effects, movespeed, armor, inventory, item durability, enchantments, attributes (damage, health, speed, special mob parameters), chest and mob inventory, slime size, creeper fuse length, arrow velocity, horse jump height.. I hope this turns into a megathread with useful information for the large number of people who seem to be seeking exactly this, since getting/setting these commands is very easy for new items in vanilla, but modifying single tags in existing items is impossible. Bukkit/Spigot api can fix this. TL;DR: Are there any functional APIs for 1.8+ for modifying entity/item nbt data in its entirety? Is a way to edit NTB data build into spigot already, well-hidden? i have found multiply references to tag.set, which is (as far as i can tell) not included in spigot javadocs anywhere. Edited to add the actual post, because the "spam" filter seems to have gone berserk.