Yarn: "์›”๋“œ" vs "๋””๋ฉ˜์…˜" vs "๋ ˆ๋ฒจ" ๊ทธ๋ฆฌ๊ณ  ์–ด๋””์— ์‚ฌ์šฉํ•˜๋‚˜์š”?

์— ๋งŒ๋“  2016๋…„ 09์›” 21์ผ  ยท  13์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: FabricMC/yarn

ํ˜„์žฌ World ๋Š” World ํด๋ž˜์Šค์˜ ๋‹จ์ผ ์ธ์Šคํ„ด์Šค์™€ ๊ด€๋ จ๋œ ๋ชจ๋“  ๊ฒƒ์„ ์˜๋ฏธํ•˜๋ฉฐ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. Level ๋Š” ๋‹จ์ผ ์ €์žฅ์— ์‚ฌ์šฉ๋˜๋Š” ์šฉ์–ด๋กœ ์ฑ„ํƒ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ˜ผ๋ž€์Šค๋Ÿฝ๊ฒŒ๋„ ๊ฒŒ์ž„์—์„œ "์„ธ๊ณ„"๋ผ๊ณ ๋„ ํ•˜๋ฉฐ(์˜ˆ: "์ƒˆ๋กœ์šด ์„ธ๊ณ„ ๋งŒ๋“ค๊ธฐ"), ๋•Œ๋กœ๋Š” ์ฝ”๋“œ์—์„œ "๋ ˆ๋ฒจ"(์˜ˆ: "๋ ˆ๋ฒจ ์ค€๋น„...").

์ด์ „์—๋Š” ์ผ๋ถ€ ํด๋ž˜์Šค์—์„œ "Dimension"์„ ์‚ฌ์šฉํ•˜์—ฌ ์„ธ๊ณ„ ์ธ์Šคํ„ด์Šค(์ผ๋ฐ˜์ ์œผ๋กœ ID - dimensionId ) ๋˜๋Š” ํ•ด๋‹น ์œ ํ˜•(Overworld / Nether / End - DimensionType )์„ ์„ค๋ช…ํ–ˆ์Šต๋‹ˆ๋‹ค. "์ฐจ์›"์— ๋Œ€ํ•œ ์–ธ๊ธ‰์„ ์™„์ „ํžˆ ์—†์• ๊ธฐ ์œ„ํ•ด ๋ช‡ ๊ฐ€์ง€ ๋ณ€๊ฒฝ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์ด ์˜ฌ๋ฐ”๋ฅธ ๋ฐฉ๋ฒ•์ธ์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์–ด๋–ค ์šฉ๋„๋กœ _๋ฌด์—‡์„_ ์‚ฌ์šฉํ• ์ง€ ํ™•์‹ ํ•  ์ˆ˜ ์—†์ง€๋งŒ, ์šฐ๋ฆฌ๋Š” "Dimension"์ด๋ผ๋Š” ์ด๋ฆ„์„ ์œ ์ง€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

discussion

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

๋‚ด ์„ ํ˜ธ๋„๋Š” WorldSave + World์ด๊ณ  WorldSave๋Š” Worlds ๋ชจ์Œ์ž…๋‹ˆ๋‹ค.

"Dimension" afaik์€ ์˜์–ด POV์—์„œ ์ž˜๋ชป๋˜์—ˆ์œผ๋ฉฐ, ์š”์ฆ˜ ์‹ค์ œ ์˜๋ฏธ/๊ตฌํ˜„ ๋Œ€์‹  ์›๋ž˜ ์˜๋„๋ฅผ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์„ธ๊ณ„๋Š” ์ˆ˜ํ•™์  ์˜๋ฏธ์—์„œ ํŠน๋ณ„ํ•œ ์ฐจ์›์  ์˜๋ฏธ๋ฅผ ๊ฐ–์ง€ ์•Š์œผ๋ฉฐ ๋ชจ๋“œ๋Š” ๋” ๋งŽ์€ ์„ธ๊ณ„๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์— ๋” ๊ฐ€๊นŒ์šด ๋” ๋งŽ์€ "์ฐจ์›"์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

๋ ˆ๋ฒจ์€ ์ผ๋ฐ˜์ ์œผ๋กœ Minecraft์˜ ์„ธ๊ณ„์™€ ๋™์ผํ•œ ์ธ์ ‘ ์ง€์—ญ/์ง€๋„๋ฅผ ์„ค๋ช…ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ œ์•ˆ๋œ ์šฉ๋„๋Š” ์ด์— ์ง๊ตํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” ๊ทธ๊ฒƒ์ด ๋‹ค์†Œ ๋ชจํ˜ธํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋ƒฅ ์ €์žฅํ•˜์ง€ ์•Š์•˜์œผ๋ฏ€๋กœ WorldSave๊ฐ€ ์ข‹์€ ์˜ต์…˜์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. Mojang ์ž์‹ ์˜ ์„ ํƒ์€ ์—ด์•…ํ•˜๊ณ  ๋ณต์‚ฌํ•˜๊ธฐ๊ฐ€ ๋งค์šฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค.

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

๋‚ด๊ฐ€ ์–ป์€ ์ธ์ƒ์€ "๋ ˆ๋ฒจ"์ด ์—ฌ๋Ÿฌ ์ฐจ์›์ด ๊ตฌํ˜„๋˜๊ธฐ ์ „์— ์ด์ „ ๋ฒ„์ „์—์„œ ์‚ฌ์šฉ๋œ ์ด๋ฆ„์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ๋ณธ ๊ธฐ์–ต์ด ๋‚˜๋Š” ์ฃผ์š” ์žฅ์†Œ๋Š” ๊นœ๋ฐ•์ด๋Š” "๋ ˆ๋ฒจ ์ €์žฅ ์ค‘..." ํ…์ŠคํŠธ์˜€๋Š”๋ฐ ๋ฒ ํƒ€์˜ ์–ด๋Š ์‹œ์ ์—์„œ ์ œ๊ฑฐ๋˜์—ˆ์œผ๋ฉฐ ์ด๋Š” ์ผ๋ถ€ ์ดˆ๊ธฐ ์•ŒํŒŒ ๋ฒ„์ „์˜ ์ž”์žฌ์˜€์œผ๋ฉฐ SMP์—์„œ ์•„๋ฌด ์ž‘์—…๋„ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค. (IIRC, Classic๋„ ์„ธ์ด๋ธŒ ๊ฒŒ์ž„์— .mclevel ํ™•์žฅ์ž๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.)

์„œ๋ฒ„์— ์žˆ๋Š” ์ €์žฅ ๊ฒŒ์ž„์˜ ๊ธฐ๋ณธ ์ด๋ฆ„์€ world (๊ทธ๋ฆฌ๊ณ  _long_ ์‹œ๊ฐ„ ๋™์•ˆ ์‚ฌ์šฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค). ์ด๋Š” World๊ฐ€ ์ตœ์ƒ์œ„ ์ปจํ…Œ์ด๋„ˆ์ž„์„ ์•”์‹œํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ํ•˜์œ„ ๋””๋ ‰ํ„ฐ๋ฆฌ๋Š” DIM ๋ผ๊ณ  ํ•˜๋ฉฐ Dimension์ด ๋‹ค์Œ ์ˆ˜์ค€์ž„์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ์ด๋ฆ„์€ ๊ฐ€์žฅ "์˜ฌ๋ฐ”๋ฅธ" ์ด๋ฆ„์ฒ˜๋Ÿผ ๋ณด์ด๋ฉฐ ์‚ฌ๋žŒ๋“ค์ด ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ์ด๋ฆ„์— ๋” ๊ฐ€๊น์Šต๋‹ˆ๋‹ค.

World โ†’ Dimension , Level โ†’ World , ๊ทธ ๋’ค๋ฅผ ๋”ฐ๋ฅด๊ฒ ์ง€๋งŒ ์ข€ ์ด์ƒํ•ฉ๋‹ˆ๋‹ค.

๋ฐ˜๋ฉด์— net.minecraft.world.Dimension์€ ์–ด์ƒ‰ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋‚ด ์„ ํ˜ธ๋„๋Š” WorldSave + World์ด๊ณ  WorldSave๋Š” Worlds ๋ชจ์Œ์ž…๋‹ˆ๋‹ค.

"Dimension" afaik์€ ์˜์–ด POV์—์„œ ์ž˜๋ชป๋˜์—ˆ์œผ๋ฉฐ, ์š”์ฆ˜ ์‹ค์ œ ์˜๋ฏธ/๊ตฌํ˜„ ๋Œ€์‹  ์›๋ž˜ ์˜๋„๋ฅผ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์„ธ๊ณ„๋Š” ์ˆ˜ํ•™์  ์˜๋ฏธ์—์„œ ํŠน๋ณ„ํ•œ ์ฐจ์›์  ์˜๋ฏธ๋ฅผ ๊ฐ–์ง€ ์•Š์œผ๋ฉฐ ๋ชจ๋“œ๋Š” ๋” ๋งŽ์€ ์„ธ๊ณ„๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์— ๋” ๊ฐ€๊นŒ์šด ๋” ๋งŽ์€ "์ฐจ์›"์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

๋ ˆ๋ฒจ์€ ์ผ๋ฐ˜์ ์œผ๋กœ Minecraft์˜ ์„ธ๊ณ„์™€ ๋™์ผํ•œ ์ธ์ ‘ ์ง€์—ญ/์ง€๋„๋ฅผ ์„ค๋ช…ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ œ์•ˆ๋œ ์šฉ๋„๋Š” ์ด์— ์ง๊ตํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” ๊ทธ๊ฒƒ์ด ๋‹ค์†Œ ๋ชจํ˜ธํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋ƒฅ ์ €์žฅํ•˜์ง€ ์•Š์•˜์œผ๋ฏ€๋กœ WorldSave๊ฐ€ ์ข‹์€ ์˜ต์…˜์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. Mojang ์ž์‹ ์˜ ์„ ํƒ์€ ์—ด์•…ํ•˜๊ณ  ๋ณต์‚ฌํ•˜๊ธฐ๊ฐ€ ๋งค์šฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค.

์„ธ๊ณ„ ์ €์žฅ

๊ทธ๊ฒƒ์˜ ์œ ์ผํ•œ ๋ฌธ์ œ๋Š” WorldSaveHandler ์™€ ์ถฉ๋Œํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์›”๋“œ ์ปฌ๋ ‰์…˜์ด ๋˜๋Š”

์›”๋“œ์ปฌ๋ ‰์…˜? :NS

๋˜๋Š” ์ด๋ฆ„์„ WorldSaveHandler โ€” WorldSerializer ? WorldPersistenceManagerEngineFactory

์„ธ๊ณ„ ์ปฌ๋ ‰์…˜์„ ์œ„ํ•œ ๊ธฐํƒ€ ์˜ต์…˜: Universe, WorldStore

๋‚˜๋Š” Universe ์‹ซ์–ดํ•˜์ง€ ์•Š์ง€๋งŒ ๊ทธ ์ด๋ฆ„์€ ๊ทธ๊ฒƒ์ด ์„ธ๊ณ„์˜ ๋ชจ์Œ์ด๋ผ๋Š” ๊ฒƒ์„ ์•ฝํ•˜๊ฒŒ ์•”์‹œํ•  ๋ฟ์ด์ง€๋งŒ ์ €์žฅ ์ฒ˜๋ฆฌ๊ธฐ๋กœ์„œ์˜ ๊ธฐ๋Šฅ์€ ์•„๋‹ˆ์ง€๋งŒ ์„ธ๊ณ„ ๋””๋ ‰ํ† ๋ฆฌ์— ์ƒ๋Œ€์ ์ธ ์ €์žฅ ๋ฐ ๋กœ๋“œ๋ฅผ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์€ ํŠน์ • ์„ธ๊ณ„์™€ ๊ด€๋ จ๋œ ์ €์žฅ์— Dimension์ด๋ผ๋Š” ๋ ˆ์ด๋ธ”์„ ์ง€์ •ํ•˜๊ณ  ์—ฌ๋Ÿฌ ์„ธ๊ณ„์™€ ๊ด€๋ จ๋œ ์ €์žฅ์— GameSave๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ํŽธ์ง‘: ์„œ์‹

์šฐ๋ฆฌ๋Š” ์ง€๊ธˆ ํ”„๋กœ์ ํŠธ์— ๋ช‡ ์‚ฌ๋žŒ์ด ๋” ์žˆ๊ณ  ์ด์ „ ์‚ฌ๋žŒ๋“ค์€ ์ƒ๊ฐํ•  ์‹œ๊ฐ„์ด ์žˆ์—ˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ท€ํ•˜์˜ (ํ˜„์žฌ) ์˜๊ฒฌ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

Dimension์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ๋ฌธ์ œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์ด ๋‹จ์–ด์—๋Š” ์—ฌ๋Ÿฌ ์˜๋ฏธ๊ฐ€ ์žˆ์ง€๋งŒ ์ด ๋ฌธ๋งฅ์—์„œ๋„ ๋งž์Šต๋‹ˆ๋‹ค. ์•„๋งˆ๋„ Universe๋ณด๋‹ค ์กฐ๊ธˆ ๋” ์ •ํ™•ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

"Dimension"์ด Vanilla: Minecraft Wiki - Dimensions ์˜ ๋‹ค์–‘ํ•œ ์„ธ๊ณ„/์ฐจ์› ์œ ํ˜• ์— ๋Œ€ํ•ด ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ด๋ฆ„์ด๋ผ๋Š” ์ ๋„ ์–ธ๊ธ‰ํ•  ๊ฐ€์น˜๊ฐ€

๋ชจ๋“  World ๋ฅผ Dimension ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์ด ๋งค์šฐ ์ด์ƒํ•˜๊ฒŒ ๋Š๊ปด์ง‘๋‹ˆ๋‹ค. ์˜ณ์ง€ ์•Š์€ ๊ฒƒ ๊ฐ™๋‹ค. ๋‚˜๋Š” ์ด๊ฒƒ์ด ๋‚ด๊ฐ€ ์ต์ˆ™ํ•œ ๊ฒƒ๋ณด๋‹ค ๋ฌด๊ฒŒ๊ฐ€ ๋” ๋‚˜๊ฐ€๋Š” ๊ฒฝ์šฐ์ผ ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค ... _์•„๋งˆ๋„_ ๋” ๋‚˜์€ ์ƒ๊ฐ์ด๊ฒ ์ฃ ? ๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ๋Š” ์ด๊ฒƒ์„ ๋ฌด์—‡์— ๊ทผ๊ฑฐํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ? Minecraft๊ฐ€ GUI์—์„œ ์ €์žฅ ํด๋”๋ฅผ "world"๋กœ ์–ธ๊ธ‰ํ•˜๊ณ  ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ์ฐจ๋ณ„ํ™”์˜ ๋ฐฉ๋ฒ•์œผ๋กœ "์ฐจ์›"์„ ์„ ํƒํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ๋‹ค๋Š” ์‚ฌ์‹ค?

์ฐจ์› 0์ด "์„ธ๊ณ„/์ง€์—ญ"์— ๋“ค์–ด๊ฐ€๊ณ  ์ฐจ์› 1์ด "์„ธ๊ณ„/DIM1/์ง€์—ญ"์— ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ "์ฐจ์›"์„ ์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๊ฐœ์ธ์  ๋Œ€ํ•œ ํ•ด์š” WorldSave , World , ๊ทธ๋ฆฌ๊ณ  ์ด๋ฆ„ ๋ณ€๊ฒฝ WorldSaveHandler ๊ฐ™์€์—, WorldSerializer .

์ด์ œ ๋‚˜๋Š” ์ด๊ฒƒ์ด ์ƒ๋‹นํžˆ ๋ถ„๋ช…ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.
๋ ˆ๋ฒจ - ์ €์žฅ ๊ฒŒ์ž„(์˜ค๋ฒ„์›”๋“œ, ๋„ค๋”, ์—”๋“œ, ๋ช‡ ๊ฐ€์ง€ ์‚ฌ์šฉ์ž ์ •์˜ ์ฐจ์›๊ณผ ๊ฐ™์€ ์—ฌ๋Ÿฌ ์„ธ๊ณ„๋ฅผ ํฌํ•จํ•  ์ˆ˜ ์žˆ์Œ)
์„ธ๊ณ„ - ์„ธ๊ณ„(ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๊ด€์ฐฐํ•˜๋Š” ๊ธฐ๋ณธ ๋‹จ์œ„). ๊ฐ ์„ธ๊ณ„๋Š” ํ•˜๋‚˜์˜ ์ฐจ์› ์œ ํ˜•์—๋งŒ ์ƒํ˜ธ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
์ฐจ์› - ์ฐจ์› ์œ ํ˜•์ž…๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ultrawarm, height ๋“ฑ๊ณผ ๊ฐ™์€ ์ผ๋ถ€ ์†์„ฑ์„ ๊ฐ€์ง„ ๋ฐ์ดํ„ฐ ํŒฉ์— ์˜ํ•ด ์ •์˜๋ฉ๋‹ˆ๋‹ค.
์ ์–ด๋„ ์ด๊ฒƒ์ด ํ˜„์žฌ ์›์‚ฌ์— ๋‚˜ํƒ€๋‚˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.

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