Yarn: net.minecraft.container.Container -> SharedGuiState?

Erstellt am 22. Dez. 2018  ·  15Kommentare  ·  Quelle: FabricMC/yarn

Container impliziert Inventar. Es ist ziemlich einfach, diese Klasse mit einer reinen Inventarsache zu verwechseln, aber:

  • es enthält numerische Informationen, die nicht zum Inventar gehören, wie z. B. Ofen- oder Maschinenfortschritt
  • Es wird sogar verwendet, um nicht wirklich numerische Informationen wie Beacon-Effekte zu synchronisieren
  • Es enthält die syncId, die verwendet wird, um die von benutzerdefinierten Paketen übermittelten Informationen zu verwalten
  • es verwaltet Schaltflächenklicks wie in EnchantingTableContainer
  • Steckplätze und Tasten haben x/y-Positionen. Dadurch fungiert Container auch als strukturelle Beschreibung der GUI.

Also hat der Name Container nie wirklich für mich funktioniert. In Anbetracht dessen ist SharedGuiState hier möglicherweise nicht der beste Name. Es ist schwer, alle spezifischen Instanzen zu benennen. Um es zu einem besseren Paketnamen zu machen, vielleicht stattdessen net.minecraft.guistate.GuiState. Aber ich denke, wenn wir zu einem guten Konsens über den Zweck des Objekts kommen, können wir eine viel bessere Passform finden.

Hilfreichster Kommentar

Ich stimme zu, dass Container gehen sollte, egal was der Ersatz ist, weil es so wenig Sinn macht und es sicherlich nicht Container in Garn heißen würde, wenn es nicht Voldemap gäbe.

Ich finde Menu gut und GuiState weniger gut aber erträglich. Ich würde sagen, der Name sollte nicht länger als 10 Zeichen sein, da er ziemlich oft verwendet wird

Alle 15 Kommentare

Also UiData oder UserInterfaceData?

SyncedGui ?

@therealfarfetchd sagte, dass es wichtig ist, dass es keine normale GUI ist, also vielleicht SyncedInterface oder so

19w02a Mojang sagt "Menü erstellen"

Aus dem #Garnkanal im Discord:

  • Einige von uns hassen das Namensmenü, es stinkt nach Kerbe und ist vage
  • Dinge wie ServerUi/ClientUi, Gui/GuiState debattieren
  • asie schlägt vor, wir gehen K-ON!

Ich habe das Gefühl, dass wir letztendlich zu Menu/Screen gehen müssen, wegen der Richtlinie, Mojang-Namen zu verwenden, wo wir sie kennen.

Ich würde sagen "ändere keinen schlechten Namen in einen schlechteren Namen", selbst wenn es ein Mojang-Name ist.

Das Hauptproblem bei Container ist, dass es ein Voldename ist, also meiner Meinung nach schlimmer als der Mojang-Name, da er uns in Schwierigkeiten bringen könnte.

Ich stimme zu, dass Container gehen sollte, egal was der Ersatz ist, weil es so wenig Sinn macht und es sicherlich nicht Container in Garn heißen würde, wenn es nicht Voldemap gäbe.

Ich finde Menu gut und GuiState weniger gut aber erträglich. Ich würde sagen, der Name sollte nicht länger als 10 Zeichen sein, da er ziemlich oft verwendet wird

Ich denke, GuiState ist nicht der schönste Name, aber er zeigt seine Funktion am besten. Eine andere ähnliche Option ist GuiController, macht Sinn, wenn Sie es als eine Art MVC-Muster betrachten (Inventory = Model, Gui = View, Container = Controller), aber es ist etwas länger als GuiState.

Sollte ScreenState oder ScreenController sein, nachdem Gui umbenannt wurde.

Ich liebe alles daran, außer dass es lang ist. Wir würden nicht nur bei CartographyTableScreenController landen, sondern auch DoubleLockableScreenController und NameableScreenControllerProvider . Es ist jedoch außergewöhnlich klar .

Ich finde, dass der Controller zu generisch ist, um ihn allein in einer Spiel-Engine zu haben, aber in diesem Fall kollidiert er mit nichts. Außerdem könnte das Paket verwendet werden, um es spezifischer zu machen. Wie wäre es, es im net.minecraft.screen.controller-Paket zu haben?

Controller ist super 👍

Während ich immer noch denke, dass Controller der genaueste Name ist, hat #846 sehr überzeugende Gründe für die Annahme.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

altrisi picture altrisi  ·  4Kommentare

quat1024 picture quat1024  ·  6Kommentare

ChloeDawn picture ChloeDawn  ·  5Kommentare

liach picture liach  ·  4Kommentare

asiekierka picture asiekierka  ·  4Kommentare