I was working on creating a trident that warps you to it's location when it hits the ground, but it takes damage over time when held and even more when thrown.
I was using `warp.json` for the enchantment and `warp.mcfunction` for the function it calls.
I enchanted a trident with "Warp", and threw it until it broke. It seemed to both break and throw at the same time when it was at 0 durability. When I went to go pick it up, nothing happened, couldn't pick it up, even in creative. I tried to make a new trident with the same enchantment and throw that next. The trident was able to be thrown but instead of applying the damage or running the function the game crashed.
I have attached the enchantment file, `warp.json`, the function file, `warp.mcfunction`, and the crash report. Also, just in case I attached `warp_trident.json` which is the recipe function I was using to obtain the item.
Oh and I know in the crash report it says "(incompatible)" for the datapacks, I think it's because I haven't changed the version number yet. They worked just fine up until this point.
I think this is a duplicate of MC-272585; your weapon stack broke, and that incorrectly affected the weapon stack of the projectile entity. In this case, the weapon and projectile are the trident.On further investigation, tridents use a different code path than bows and crossbows, so this is a related but separate issue from MC-272585. The trident stack is damaged, then a copy of the damaged stack (which can be empty if the trident breaks) becomes the trident entity's weapon stack. Like MC-272585, the crash occurs when the projectile entity attempts to serialize an empty stack, which is not allowed by the
ItemStack#encodemethod (this serialization uses the same code path as the bow issue).