Container implies inventory. It's pretty easy to mistake this class for an inventory-only thing, but:
So the name Container never really worked for me. Keeping all this in mind, SharedGuiState may not be the best name here. It's hard to smurf-name all the specific instances. To make it a better package name, perhaps net.minecraft.guistate.GuiState instead. But I think if we can come to a good consensus on the purpose of the object we can find a much better fit.
so UiData or UserInterfaceData?
SyncedGui?
@therealfarfetchd said that it's important that it's not a regular gui, so maybe SyncedInterface or something
19w02a Mojang says "createMenu"
From the #yarn channel in the discord:
I feel like we might need ultimately need to go to Menu/Screen, because of the policy of using Mojang names where we know them.
I'd say "don't change a bad name to a worse name", even if it's a Mojang one.
The primary issue with Container is that it's voldename, so it's IMO worse than the Mojang name since it could get us in trouble.
I agree that Container should go no matter what the replacement is because it makes so little sense and it would certainly not be named Container in yarn if it was not for voldemap.
I think Menu is good and GuiState is less good but bearable. I would say the name should be no longer than 10 characters though as it will be used quite often
I think GuiState is not the nicest name to look at, but it's the one that best displays its function. Another similar option is GuiController, makes sense if you look it as a sort of MVC pattern (Inventory = model, Gui = View, Container = Controller), but it's a bit longer than GuiState.
Should be ScreenState or ScreenController now that Gui has been renamed.
I love everything about that except that it's long. We'd wind up not just with CartographyTableScreenController, but also DoubleLockableScreenController and NameableScreenControllerProvider. It's exceptionally clear though.
I feel that Controller is too generic to have in a game engine by itself, but in this case it doesn't clash with anything. Also, the package could be used to make it more specific. How about having it in the net.minecraft.screen.controller package?
Controller is great 馃憤
While I still think Controller is the most accurate name, #846 has very compelling reasons for adoption.
Most helpful comment
I agree that Container should go no matter what the replacement is because it makes so little sense and it would certainly not be named Container in yarn if it was not for voldemap.
I think Menu is good and GuiState is less good but bearable. I would say the name should be no longer than 10 characters though as it will be used quite often