The mapmaking community currently has a problem very difficult to work around: creating effective GUI interactions for players. Currently, we have a few options including tellraw, books, chests, and dispensers, but the problem with all of these workarounds is that they are all clunky in some way. Either they are complex to implement and require an in-depth knowledge of things like Unicode and json, or they are clunky and hard to use on the player end. A key common theme is that they do not place the player of a map in an intuitive, cursor-based GUI like the rest of Minecraft, where players can add and remove items to and from their inventory, and control with normal keys like Esc to close.
What I propose is this:
A simple command that allows mapmakers to open any Minecraft block or entity GUI, including inventory, enderchest, villager, lectern, etc. The implementation for this would be the command
/gui (open|close) <target> (block|entity)
The block parameter would cause the command to take a loaded position, the entity parameter would take a UUID. This means that even blocks which do not store data (anvils, crafting tables, etc.) would still need to be loaded in the world for the command to work, an alternative to that would be adding an additional parameter that can open any GUI, but that might cause issues with chests etc. The close parameter would close any GUI the targeted player currently has open if left blank, or a specific GUI could be chosen (just like /effect clear).
Please sign in to leave a comment.
5 Comments