PaperMC / Paper

The most widely used, high performance Minecraft server that aims to fix gameplay and mechanics inconsistencies
https://papermc.io/
Other
10.04k stars 2.34k forks source link

PlayerStonecutterRecipeSelectEvent not firing on API-created inventories #5825

Open webcrawls opened 3 years ago

webcrawls commented 3 years ago

Expected behavior

When creating a Stonecutter inventory like so:

Inventory inventory = Bukkit.createInventory(null, InventoryType.STONECUTTER);

PlayerStonecutterRecipeSelectEvent is never fired for API-created inventories.

Observed/Actual behavior

The event is not fired.

Steps/models to reproduce

  1. Create a listener that listens on PlayerStonecutterRecipeSelectEvent.
  2. Create a Stonecutter inventory using Bukkit#createInventory
  3. Recipes selected within this inventory will not fire the event.

Plugin list

Just a basic test plugin.

Paper version

This server is running Paper version git-Paper-777 (MC: 1.16.5) (Implementing API version 1.16.5-R0.1-SNAPSHOT) You are running the latest version Previous version: git-Paper-775 (MC: 1.16.5)

Agreements

Other

No response

Trigary commented 3 years ago

What if you use HumanEntity#openStoneCutter instead? The Bukkit.createInventory API has many flaws at the moment due to how some of the inventories are implemented in NMS. Some of these flaws are documented in the method's JavaDocs, some possibly aren't.

webcrawls commented 3 years ago

What if you use HumanEntity#openStoneCutter instead? The Bukkit.createInventory API has many flaws at the moment due to how some of the inventories are implemented in NMS. Some of these flaws are documented in the method's JavaDocs, some possibly aren't.

Yea, I see that method now - guess that means I can't create a stonecutter using custom titles and stuff. Thanks for the heads up. I can create what I need to with packet listeners, anyways.

Not sure if this issue should be closed, or remain open to track this bug if its intended to be fixed?

Machine-Maker commented 2 years ago

Fixed by https://github.com/PaperMC/Paper/pull/7265