Skip to content

Changes

Started 1 day 21 hr ago
Took 1 min 46 sec on Builder

Summary

  1. Drop the interact-time bone meal placed-block reset (commit: 56ca96c) (details)
Commit 56ca96cd501b240bbdf2b50da59b48bfffc34100 by nossr50
Drop the interact-time bone meal placed-block reset

Right-clicking a crop with bone meal cleared its placed-block marker
during PlayerInteractEvent, before knowing whether the fertilize
actually happened. The listeners that watch real outcomes already
cover every legitimate case: crop stage growth fires BlockGrowEvent
(BlockListener#onBlockGrow) and propagule-to-tree growth fires
StructureGrowEvent (WorldListener#onStructureGrow), both of which
mark the affected blocks eligible again.

That left the interact-time reset only mattering when bone meal was
not consumed, which is exactly the shape of the free Herbalism XP
exploit reported in #5312; the nether wart block case was removed in
237890cf5, and any future non-fertilizable addition to the material
set would have reintroduced it. Removing the path entirely closes the
exploit class and resolves the old TODO questioning whether the code
was needed.
(commit: 56ca96c)
The file was modifiedsrc/main/java/com/gmail/nossr50/listeners/PlayerListener.java (diff)