mojira.dev
MC-271627

Specific enchantment predicate will match with any enchantment

I've included a minimal datapack that will cook fish caught by a fishing rod when the fishing rod has flame. This datapack will work in 1.20.6 but stopped working in 24w18a. It will now also cook the fish if the rod is enchanted with lure (or any other enchantment).

Steps to verify the datapack is working:

  1. Install the datapack

  2. Give yourself an unenchanted fishing rod and catch a fish

  3. Do the same with a fishing rod with lure 3

/give @s minecraft:fishing_rod[minecraft:enchantments={"minecraft:flame":1}
  1. Catch a fish and see that it is indeed cooked this time

Steps to reproduce the bug:

  1. Upgrade the world to 24w18a

  2. Catch an uncooked fish with the unenchanted rod

  3. Catch a cooked fish with the flame fishing rod

  4. Catch a cooked fish with the lure fishing rod

Step 4 is the bug, it should have worked just like 1.20.6

 

This may be only the case for fishing. Enderchests still drop correctly with and without silk touch

Attachments

Comments 2

Not a bug; the enchantment sub-predicate format changed in 24w18a. The enchantment field is now called enchantment{*}s{*}.

Thanks, I've gotten too used to seeing warnings in the log when something goes wrong

tholleman

(Unassigned)

Unconfirmed

(Unassigned)

24w18a

Retrieved