Rewrite inventory transaction system to an instruction-based model (like ItemStackRequest) instead of slot-change model (legacy) #6505
Labels
BC break
Breaks API compatibility
Category: API
Related to the plugin API
Type: Enhancement
Contributes features or other improvements to PocketMine-MP
Description
ItemStackRequest was implemented as a shim on top of our existing InventoryTransaction API to get the benefits of the new protocol without BC breaks for plugins.
However, since the ItemStackRequest protocol includes a ton of information that the old system didn't, we can build a new API that exposes this information to plugins.
Since the old system focused on slot changes (old/new), it didn't provide any way to track movements of an item, which is something plugin devs want to know about frequently. The new system is instruction-based rather than just "change this slot to this thing".
Make no mistake: This is a big project that will likely take a lot of time and effort to complete. The concept is fundamentally different from the legacy system.
Justification
Improve plugins' ability to understand what players are doing to inventories
The text was updated successfully, but these errors were encountered: