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

์— ๋งŒ๋“  2018๋…„ 12์›” 22์ผ  ยท  15์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: FabricMC/yarn

์ปจํ…Œ์ด๋„ˆ๋Š” ์ธ๋ฒคํ† ๋ฆฌ๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด ํด๋ž˜์Šค๋ฅผ ์ธ๋ฒคํ† ๋ฆฌ ์ „์šฉ์œผ๋กœ ์ฐฉ๊ฐํ•˜๋Š” ๊ฒƒ์€ ๋งค์šฐ ์‰ฝ์ง€๋งŒ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ์šฉ๊ด‘๋กœ ๋˜๋Š” ๊ธฐ๊ณ„ ์ง„ํ–‰ ์ƒํ™ฉ๊ณผ ๊ฐ™์€ ๋น„์žฌ๊ณ  ์ˆซ์ž ์ •๋ณด๋ฅผ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.
  • ๋น„์ฝ˜ ํšจ๊ณผ์™€ ๊ฐ™์ด ์ˆซ์ž๊ฐ€ ์•„๋‹Œ ์ •๋ณด๋ฅผ ๋™๊ธฐํ™”ํ•˜๋Š” ๋ฐ์—๋„ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
  • ๋งž์ถคํ˜• ํŒจํ‚ท ์ „๋‹ฌ ์ •๋ณด๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” syncId๋ฅผ ๋ณด์œ ํ•ฉ๋‹ˆ๋‹ค.
  • EnchantingTableContainer์™€ ๊ฐ™์€ ๋ฒ„ํŠผ ํด๋ฆญ์„ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
  • ์Šฌ๋กฏ๊ณผ ๋ฒ„ํŠผ์—๋Š” x/y ์œ„์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋˜ํ•œ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ GUI์˜ ๊ตฌ์กฐ์  ์„ค๋ช…์œผ๋กœ ๊ธฐ๋Šฅํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ Container ๋ผ๋Š” ์ด๋ฆ„์€ ์ €์—๊ฒŒ ์ „ํ˜€ ํšจ๊ณผ๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ชจ๋“  ๊ฒƒ์„ ์—ผ๋‘์— ๋‘๊ณ  SharedGuiState๋Š” ์ตœ๊ณ ์˜ ์ด๋ฆ„์ด ์•„๋‹ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ํŠน์ • ์ธ์Šคํ„ด์Šค์˜ ์ด๋ฆ„์„ smurf-name์œผ๋กœ ์ง€์ •ํ•˜๋Š” ๊ฒƒ์€ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ๋” ๋‚˜์€ ํŒจํ‚ค์ง€ ์ด๋ฆ„์œผ๋กœ ๋งŒ๋“ค๋ ค๋ฉด ๋Œ€์‹  net.minecraft.guistate.GuiState๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”. ๊ทธ๋Ÿฌ๋‚˜ ์šฐ๋ฆฌ๊ฐ€ ๊ฐœ์ฒด์˜ ๋ชฉ์ ์— ๋Œ€ํ•ด ์ข‹์€ ํ•ฉ์˜์— ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ํ›จ์”ฌ ๋” ์ ํ•ฉํ•œ ๊ฒƒ์„ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

Container๋Š” ๊ต์ฒด๊ฐ€ ๋ฌด์—‡์ด๋“  ์ƒ๊ด€์—†์ด ๊ฐ€์•ผ ํ•œ๋‹ค๋Š” ๋ฐ ๋™์˜ํ•ฉ๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ๊ทธ๊ฒƒ์ด ์˜๋ฏธ๊ฐ€ ๊ฑฐ์˜ ์—†๊ณ  voldemap์ด ์•„๋‹ˆ์—ˆ๋‹ค๋ฉด ์›์‚ฌ์—์„œ Container๋ผ๋Š” ์ด๋ฆ„์ด ์ง€์ •๋˜์ง€ ์•Š์•˜์„ ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๋ฉ”๋‰ด๋Š” ์ข‹๊ณ  GuiState๋Š” ๋œ ์ข‹์ง€๋งŒ ๊ฒฌ๋”œ ๋งŒํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฆ„์€ ๊ฝค ์ž์ฃผ ์‚ฌ์šฉ๋˜๋ฏ€๋กœ 10์ž๋ฅผ ๋„˜์ง€ ์•Š์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  15 ๋Œ“๊ธ€

๊ทธ๋ž˜์„œ UiData ๋˜๋Š” UserInterfaceData?

SyncedGui ?

@therealfarfetchd ๋Š” ์ผ๋ฐ˜ GUI๊ฐ€ ์•„๋‹Œ ๊ฒƒ์ด ์ค‘์š”ํ•˜๋ฏ€๋กœ SyncedInterface ๋˜๋Š” ๊ธฐํƒ€

19w02a Mojang์ด "createMenu"๋ผ๊ณ  ๋งํ•ฉ๋‹ˆ๋‹ค.

๋””์Šค์ฝ”๋“œ์˜ #yarn ์ฑ„๋„์—์„œ:

  • ์šฐ๋ฆฌ ์ค‘ ์ผ๋ถ€๋Š” ์ด๋ฆ„ ๋ฉ”๋‰ด๋ฅผ ์‹ซ์–ดํ•ฉ๋‹ˆ๋‹ค. ๋…ธ์น˜ ๋ƒ„์ƒˆ๊ฐ€ ๋‚˜๋ฉฐ ๋ชจํ˜ธํ•ฉ๋‹ˆ๋‹ค.
  • ServerUi/ClientUi, Gui/GuiState์™€ ๊ฐ™์€ ํ† ๋ก 
  • asie๋Š” ์šฐ๋ฆฌ๊ฐ€ K-ON์„ ๊ฐ€์ž๊ณ  ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค!

์šฐ๋ฆฌ๊ฐ€ ์•Œ๊ณ  ์žˆ๋Š” Mojang ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜๋Š” ์ •์ฑ… ๋•Œ๋ฌธ์— ๊ถ๊ทน์ ์œผ๋กœ Menu/Screen ๋กœ ์ด๋™ํ•ด์•ผ ํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” ๊ทธ๊ฒƒ์ด Mojang ์ด๋ฆ„์ด๋”๋ผ๋„ "๋‚˜์œ ์ด๋ฆ„์„ ๋” ๋‚˜์œ ์ด๋ฆ„์œผ๋กœ ๋ฐ”๊พธ์ง€ ๋งˆ์‹ญ์‹œ์˜ค"๋ผ๊ณ  ๋งํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

Container ์˜ ์ฃผ์š” ๋ฌธ์ œ๋Š” ๊ทธ๊ฒƒ์ด voldename์ด๋ผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์šฐ๋ฆฌ๋ฅผ ๊ณค๊ฒฝ์— ๋น ๋œจ๋ฆด ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— Mojang ์ด๋ฆ„๋ณด๋‹ค IMO๊ฐ€ ๋” ๋‚˜์ฉ๋‹ˆ๋‹ค.

Container๋Š” ๊ต์ฒด๊ฐ€ ๋ฌด์—‡์ด๋“  ์ƒ๊ด€์—†์ด ๊ฐ€์•ผ ํ•œ๋‹ค๋Š” ๋ฐ ๋™์˜ํ•ฉ๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ๊ทธ๊ฒƒ์ด ์˜๋ฏธ๊ฐ€ ๊ฑฐ์˜ ์—†๊ณ  voldemap์ด ์•„๋‹ˆ์—ˆ๋‹ค๋ฉด ์›์‚ฌ์—์„œ Container๋ผ๋Š” ์ด๋ฆ„์ด ์ง€์ •๋˜์ง€ ์•Š์•˜์„ ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๋ฉ”๋‰ด๋Š” ์ข‹๊ณ  GuiState๋Š” ๋œ ์ข‹์ง€๋งŒ ๊ฒฌ๋”œ ๋งŒํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฆ„์€ ๊ฝค ์ž์ฃผ ์‚ฌ์šฉ๋˜๋ฏ€๋กœ 10์ž๋ฅผ ๋„˜์ง€ ์•Š์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

GuiState๋Š” ๋ณด๊ธฐ์— ๊ฐ€์žฅ ์ข‹์€ ์ด๋ฆ„์€ ์•„๋‹ˆ์ง€๋งŒ ๊ทธ ๊ธฐ๋Šฅ์„ ๊ฐ€์žฅ ์ž˜ ๋ณด์—ฌ์ฃผ๋Š” ์ด๋ฆ„์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋˜ ๋‹ค๋ฅธ ์œ ์‚ฌํ•œ ์˜ต์…˜์€ GuiController์ž…๋‹ˆ๋‹ค. ์ผ์ข…์˜ MVC ํŒจํ„ด(Inventory = model, Gui = View, Container = Controller)์œผ๋กœ ๋ณด๋ฉด ์ดํ•ด๊ฐ€ ๋˜์ง€๋งŒ GuiState๋ณด๋‹ค ์•ฝ๊ฐ„ ๋” ๊น๋‹ˆ๋‹ค.

Gui์˜ ์ด๋ฆ„์ด ๋ฐ”๋€Œ์—ˆ์œผ๋ฏ€๋กœ ์ด์ œ ScreenState ๋˜๋Š” ScreenController์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ธด๊ฑฐ ๋นผ๊ณ ๋Š” ๋‹ค ๋ง˜์— ๋“ค์–ด์š”. CartographyTableScreenController ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ DoubleLockableScreenController ๋ฐ NameableScreenControllerProvider ๋กœ ๋งˆ๋ฌด๋ฆฌ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜๋„ ๋งค์šฐ ๋ช…ํ™• ํ•ฉ๋‹ˆ๋‹ค.

์ปจํŠธ๋กค๋Ÿฌ ์ž์ฒด๊ฐ€ ๊ฒŒ์ž„ ์—”์ง„์— ํฌํ•จ๋˜๊ธฐ์—๋Š” ๋„ˆ๋ฌด ์ผ๋ฐ˜์ ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์ง€๋งŒ ์ด ๊ฒฝ์šฐ์—๋Š” ์•„๋ฌด ๊ฒƒ๊ณผ๋„ ์ถฉ๋Œํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ํŒจํ‚ค์ง€๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณด๋‹ค ๊ตฌ์ฒด์ ์œผ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. net.minecraft.screen.controller ํŒจํ‚ค์ง€์— ํฌํ•จ์‹œํ‚ค๋Š” ๊ฒƒ์€ ์–ด๋–ป์Šต๋‹ˆ๊นŒ?

์ปจํŠธ๋กค๋Ÿฌ ์งฑ์งฑ๐Ÿ‘

์—ฌ์ „ํžˆ Controller๊ฐ€ ๊ฐ€์žฅ ์ •ํ™•ํ•œ ์ด๋ฆ„์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์ง€๋งŒ #846์€ ์ฑ„ํƒํ•ด์•ผ ํ•˜๋Š” ๋งค์šฐ ๊ฐ•๋ ฅํ•œ ์ด์œ ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰