Hey all, I basically have a plugin where it stores NBT on the ItemStack to prevent stacking. This is how I store the ItemStack; Code (Java): public ItemStack getItems(String name, List<String> lore) { for (String items : ColeniaPlanets.getInstance().getConfig().getConfigurationSection("tiers").getKeys(false)) { // Material ItemStack item = new ItemStack(Material.valueOf(ColeniaPlanets.getInstance().getConfig().getString("tiers." + items + ".Item.Material"))); return new ItemStackBuilder(item) .setName(name) .setLore(lore) .nbt() .build(); } return null; } My issue is that I have a recipe crafter which takes the shape + inredients from the config (works perfect) but the result has the same NBT. The "nbtItem.SetString("id", getUuid().tostring());" returns a random UUID; Code (Java): this.uuid = UUID.randomUUID(); I'm unsure of why it decides not to update? Recipe code; Code (Java): private void load(String recipeName, ItemStack item) { NBTItem nbtItem = new NBTItem(item); nbtItem.setString("TieredItem", recipeName); nbtItem.setString("DoNotStack", UUID.randomUUID().toString()); ItemStack copy = nbtItem.getItem(); ShapedRecipe recipe = new ShapedRecipe(new NamespacedKey(ColeniaPlanets.getInstance(), recipeName), copy); As you see, I'm applying the NBT, and I add the recipe at the bottom after the whole config checking for ingredients. Note: I also use a command to give the itemStack, the NBT data changes perfect, but when crafting it, it doesn't seem to change?
instead of using a random UUID, try pasting in the "System.currentMillis()" (not sure what the method is called excactly)