Π’Π°ΡΠ° ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅Ρ ΠΈΠ½Π²Π΅Π½ΡΠ°ΡΡ. ΠΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΏΡΠΈΠ½ΡΡΡ ΡΡΠΎΡ ΠΊΠ»Π°ΡΡ Π·Π° ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠΉ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΈΠ½Π²Π΅Π½ΡΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ, Π½ΠΎ:
Π’Π°ΠΊ ΡΡΠΎ ΠΈΠΌΡ Container
Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ Π½Π° ΠΌΠ΅Π½Ρ. ΠΠΌΠ΅Ρ Π²ΡΠ΅ ΡΡΠΎ Π² Π²ΠΈΠ΄Ρ, SharedGuiState ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ Π»ΡΡΡΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π·Π΄Π΅ΡΡ. Π’ΡΡΠ΄Π½ΠΎ Π½Π°Π·Π²Π°ΡΡ smurf-ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Π²ΡΠ΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ. Π§ΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π΅Π³ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡΠΈΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠ°ΠΊΠ΅ΡΠ°, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ net.minecraft.guistate.GuiState. ΠΠΎ Ρ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ Π΅ΡΠ»ΠΈ ΠΌΡ ΡΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΈΠΉΡΠΈ ΠΊ Π΅Π΄ΠΈΠ½ΠΎΠΌΡ ΠΌΠ½Π΅Π½ΠΈΡ ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΌΡ ΡΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΠΉΡΠΈ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π»ΡΡΡΠ΅Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅.
ΡΠ°ΠΊ UiData ΠΈΠ»ΠΈ UserInterfaceData?
SyncedGui
?
@therealfarfetchd ΡΠΊΠ°Π·Π°Π», ΡΡΠΎ Π²Π°ΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΡΡΠΎ Π±ΡΠ» Π½Π΅ ΠΎΠ±ΡΡΠ½ΡΠΉ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΠΏΠΎΡΡΠΎΠΌΡ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ, SyncedInterface
ΠΈΠ»ΠΈ ΡΡΠΎ-ΡΠΎ Π² ΡΡΠΎΠΌ ΡΠΎΠ΄Π΅.
19w02a Mojang Π³ΠΎΠ²ΠΎΡΠΈΡ "createMenu"
Π‘ ΠΊΠ°Π½Π°Π»Π° #yarn Π² Π΄ΠΈΡΠΊΠΎΡΠ΄Π΅:
Π― ΡΡΠ²ΡΡΠ²ΡΡ, ΡΡΠΎ Π² ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΠΈΡΠΎΠ³Π΅ Π½Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡΡ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ Menu/Screen
ΠΈΠ·-Π·Π° ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠΌΠ΅Π½ Mojang ΡΠ°ΠΌ, Π³Π΄Π΅ ΠΌΡ ΠΈΡ
Π·Π½Π°Π΅ΠΌ.
Π― Π±Ρ ΡΠΊΠ°Π·Π°Π»: Β«ΠΠ΅ ΠΌΠ΅Π½ΡΠΉΡΠ΅ ΠΏΠ»ΠΎΡ ΠΎΠ΅ ΠΈΠΌΡ Π½Π° Ρ ΡΠ΄ΡΠ΅Π΅Β», Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΡΠΎ ΠΈΠΌΡ Mojang.
ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ Container
Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΡΠΎ ΠΈΠΌΡ voldename, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½ΠΎ, ΠΏΠΎ-ΠΌΠΎΠ΅ΠΌΡ, Ρ
ΡΠΆΠ΅, ΡΠ΅ΠΌ ΠΈΠΌΡ Mojang, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΌΠΎΠΆΠ΅Ρ Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ Π½Π°ΠΌ Π½Π΅ΠΏΡΠΈΡΡΠ½ΠΎΡΡΠΈ.
Π― ΡΠΎΠ³Π»Π°ΡΠ΅Π½ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ Container Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΉΡΠΈ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ Π·Π°ΠΌΠ΅Π½Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π² Π½Π΅ΠΌ ΡΠ°ΠΊ ΠΌΠ°Π»ΠΎ ΡΠΌΡΡΠ»Π°, ΠΈ ΠΎΠ½, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Π½Π΅ Π±ΡΠ» Π±Ρ Π½Π°Π·Π²Π°Π½ Container Π² ΠΏΡΡΠΆΠ΅, Π΅ΡΠ»ΠΈ Π±Ρ Π½Π΅ Π²ΠΎΠ»Π΄Π΅ΠΌΠ°ΠΏ.
Π― Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ Menu Ρ ΠΎΡΠΎΡ, Π° GuiState ΠΌΠ΅Π½Π΅Π΅ Ρ ΠΎΡΠΎΡ, Π½ΠΎ ΡΠ΅ΡΠΏΠΈΠΌ. Π― Π±Ρ ΡΠΊΠ°Π·Π°Π», ΡΡΠΎ ΠΈΠΌΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π½Π΅ Π΄Π»ΠΈΠ½Π½Π΅Π΅ 10 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ°ΡΡΠΎ.
Π― Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ GuiState β Π½Π΅ ΡΠ°ΠΌΠΎΠ΅ ΠΊΡΠ°ΡΠΈΠ²ΠΎΠ΅ ΠΈΠΌΡ, Π½ΠΎ ΠΎΠ½ΠΎ Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ Π΅Π³ΠΎ ΡΡΠ½ΠΊΡΠΈΡ. ΠΡΡΠ³ΠΎΠΉ ΠΏΠΎΡ ΠΎΠΆΠΈΠΉ Π²Π°ΡΠΈΠ°Π½Ρ β GuiController, ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ», Π΅ΡΠ»ΠΈ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ Π΅Π³ΠΎ ΠΊΠ°ΠΊ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠΎΠ΄Π° ΡΠ°Π±Π»ΠΎΠ½ MVC (Inventory = model, Gui = View, Container = Controller), Π½ΠΎ ΠΎΠ½ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π»ΠΈΠ½Π½Π΅Π΅, ΡΠ΅ΠΌ GuiState.
ΠΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ScreenState ΠΈΠ»ΠΈ ScreenController ΡΠ΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Gui Π±ΡΠ» ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½.
ΠΠ½Π΅ Π² Π½Π΅ΠΉ Π½ΡΠ°Π²ΠΈΡΡΡ Π²ΡΠ΅, ΠΊΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΎΠ½Π° Π΄Π»ΠΈΠ½Π½Π°Ρ. ΠΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ CartographyTableScreenController
, Π½ΠΎ ΠΈ DoubleLockableScreenController
ΠΈ NameableScreenControllerProvider
. Π₯ΠΎΡΡ ΡΡΠΎ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠ½ΠΎ .
ΠΠ½Π΅ ΠΊΠ°ΠΆΠ΅ΡΡΡ, ΡΡΠΎ Controller ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»Π΅Π½, ΡΡΠΎΠ±Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π΅Π³ΠΎ Π² ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ ΡΠ°ΠΌ ΠΏΠΎ ΡΠ΅Π±Π΅, Π½ΠΎ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΠ½ Π½ΠΈ Ρ ΡΠ΅ΠΌ Π½Π΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡΠ΅Ρ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΏΠ°ΠΊΠ΅Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π΅Π³ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌ. ΠΠ°ΠΊ Π½Π°ΡΡΠ΅Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΈΠΌΠ΅ΡΡ Π΅Π³ΠΎ Π² ΠΏΠ°ΠΊΠ΅ΡΠ΅ net.minecraft.screen.controller?
ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΎΡΠ»ΠΈΡΠ½ΡΠΉ π
Π₯ΠΎΡΡ Ρ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΡΡΠΈΡΠ°Ρ, ΡΡΠΎ Controller ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠΎΡΠ½ΡΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ, Ρ #846 Π΅ΡΡΡ ΠΎΡΠ΅Π½Ρ Π²Π΅ΡΠΊΠΈΠ΅ ΠΏΡΠΈΡΠΈΠ½Ρ Π΄Π»Ρ ΠΏΡΠΈΠ½ΡΡΠΈΡ.
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
Π― ΡΠΎΠ³Π»Π°ΡΠ΅Π½ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ Container Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΉΡΠΈ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ Π·Π°ΠΌΠ΅Π½Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π² Π½Π΅ΠΌ ΡΠ°ΠΊ ΠΌΠ°Π»ΠΎ ΡΠΌΡΡΠ»Π°, ΠΈ ΠΎΠ½, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Π½Π΅ Π±ΡΠ» Π±Ρ Π½Π°Π·Π²Π°Π½ Container Π² ΠΏΡΡΠΆΠ΅, Π΅ΡΠ»ΠΈ Π±Ρ Π½Π΅ Π²ΠΎΠ»Π΄Π΅ΠΌΠ°ΠΏ.
Π― Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ Menu Ρ ΠΎΡΠΎΡ, Π° GuiState ΠΌΠ΅Π½Π΅Π΅ Ρ ΠΎΡΠΎΡ, Π½ΠΎ ΡΠ΅ΡΠΏΠΈΠΌ. Π― Π±Ρ ΡΠΊΠ°Π·Π°Π», ΡΡΠΎ ΠΈΠΌΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π½Π΅ Π΄Π»ΠΈΠ½Π½Π΅Π΅ 10 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ°ΡΡΠΎ.