The previous GUIInventory was created dynamically via code generation, but that is bound to fail at some point and requires maintenance. In-fact this way of creating the GUIInventory is already broken on paper.
This PR replaces the old system with Spigots InventoryHolder API.
While Spigot seems to discourage the use of InventoryHolders, it also does not provide an alternative. So I am going to use the API to keep track of the GUI anyway.
The previous GUIInventory was created dynamically via code generation, but that is bound to fail at some point and requires maintenance. In-fact this way of creating the GUIInventory is already broken on paper.
This PR replaces the old system with Spigots InventoryHolder API. While Spigot seems to discourage the use of InventoryHolders, it also does not provide an alternative. So I am going to use the API to keep track of the GUI anyway.