EngineHub / CraftBook

🔧 Machines, ICs, PLCs, and more!
https://enginehub.org/craftbook/
GNU General Public License v3.0
301 stars 160 forks source link

Custom Crafting does not save NBT properly #1260

Open ArcticRaven opened 3 years ago

ArcticRaven commented 3 years ago

Versions

CraftBook version: 3.10.3;4680-f1ee2df AND 5.0.0;4696-73809ea Bukkit version: PurPur-1022

Describe the bug Item NBT data is not being saved properly when using custom crafting. It CAN store that information before the server restarts, however after restarting, it only saves name and lore. This prevents items from retaining custommodeldata, and custom NBT attributes on items.

To Reproduce

  1. Create recipe with the resulting item having custom NBT flags
  2. Restart the server
  3. Attempt to craft that custom item and the data is gone.

Expected behavior I would expect that this information would continue to be applicable for items - this makes Craftbook much more integral and compatible with other resources and custom items, so its a very important feature (at least, to me)

Screenshots image This is the item as it should be: image And this is the resulting item after restarting the server: image

Additional context The custom item in the example is using MMOItems - however all of that item data is attached to the item itself, which shouldn't cause issues like this. There was an issue with this before back in 2014 - however with ProtocolLib and many other updates and resources coming to fruition since that last report - I feel that this should really be revisited.

me4502 commented 3 years ago

As discussed in Discord, this is due to limitations in the Spigot API, and cannot be resolved until CB5 where we will drop Spigot support and require Paper. This still is waiting on multiple Paper and WorldEdit changes, however.