-
Bug
-
Resolution: Fixed
-
Major
-
None
-
None
-
OS: macOS 13.4.1 Ventura and Linux
openjdk 17.0.4.1 2022-08-12 LTS
OpenJDK Runtime Environment Zulu17.36+17-CA (build 17.0.4.1+1-LTS)
OpenJDK 64-Bit Server VM Zulu17.36+17-CA (build 17.0.4.1+1-LTS, mixed mode, sharing)
-
This server is running CraftBukkit version 3815-Spigot-64b565e-9f64f0d (MC: 1.20.1) (Implementing API version 1.20.1-R0.1-SNAPSHOT)
-
Yes
When listening to a SmithItemEvent in Spigot, nothing happens, the code in the event handler does not run:
public class SmithItemListener implements Listener { Plugin plugin; public SmithItemListener(Plugin plugin) { this.plugin = plugin; plugin.getServer().getPluginManager().registerEvents(this, plugin); } /** * Does not get fired. * @param e */ @EventHandler public void onSmith(SmithItemEvent e) { plugin.getLogger().info("Smith"); } /** * Works as normal, proves that this class is in fact a registered Listener. * @param e */ @EventHandler public void onPrepareSmith(PrepareSmithingEvent e) { plugin.getLogger().info("Prepare"); } }
In this case "Prepare" would be outputted to the console like normal, but when taking the finished item out of the result slot, "Smith" is not logged to console.
Steps to reproduce:
- Use sample plugin or create basic SmithItemEvent Listener.
- Open a Smithing Table in Minecraft.
- Craft a Netherite Sword like in the appended screenshot and take it out of the result slot.
- Look in the console, whether "Smith" (from the example code in the SmithEvent Listener) is logged.
The sample plugin is attached as well as the crafting ingredients/step in the Smithing Table.
I should note that this worked like expected in Spigot 1.19, probably has something to do with the updated Smithing Table behavior in 1.20.
Console Output with test/sample plugin:
[16:14:21] [Server thread/INFO]: [SmithItem] Prepare[16:14:21] [Server thread/INFO]: [SmithItem] Prepare[16:14:21] [Server thread/INFO]: [SmithItem] Prepare[16:14:21] [Server thread/INFO]: [SmithItem] Prepare[16:14:21] [Server thread/INFO]: [SmithItem] Prepare[16:14:21] [Server thread/INFO]: [SmithItem] Prepare[16:14:22] [Server thread/INFO]: [SmithItem] Prepare[16:14:22] [Server thread/INFO]: [SmithItem] Prepare[16:14:22] [Server thread/INFO]: [SmithItem] Prepare[16:14:23] [Server thread/INFO]: [SmithItem] Prepare[16:14:23] [Server thread/INFO]: [SmithItem] Prepare[16:14:23] [Server thread/INFO]: [SmithItem] Prepare