Yarn: ํด๋ž˜์Šค ๋ช…๋ช…์˜ ์ ‘๋‘์‚ฌ ๋Œ€ ์ ‘๋ฏธ์‚ฌ

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

"BiomeDesert" ๋Œ€ "DesertBiome" ๋“ฑ ๋˜๋Š” "ComponentTranslatable" ๋Œ€ "TranslatableComponent".

์ „์ž๋Š” ํŽธ์ง‘๊ธฐ์—์„œ ์ด๋ฆ„์„ ์ •๋ ฌํ•  ๋•Œ ์žฅ์ ์ด ์žˆ์œผ๋ฉฐ ๋‚ด ๊ฐœ์ธ์  ์„ ํ˜ธ๋„์ž…๋‹ˆ๋‹ค. ํ›„์ž๋Š” Java ๊ฐœ๋ฐœ์—์„œ ๋” ์ผ๋ฐ˜์ ์ด๋ฉฐ ๋Œ€๋ถ€๋ถ„์˜ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด ์„ ํ˜ธํ•ฉ๋‹ˆ๋‹ค.

discussion

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

์˜ˆ. ๋‚˜๋Š” ์ด๋ฏธ ๊ทธ๊ฒƒ์„ ํ•˜๊ณ  ์‹ถ์–ดํ•˜๋Š”๋ฐ, ์•‰์•„์„œ ํ•˜๋Š” ๊ฒƒ๋งŒ์œผ๋กœ๋„ ์ƒ๋‹นํ•œ ๋…ธ๋ ฅ์ด ํ•„์š” ํ•ฉ๋‹ˆ๋‹ค.

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

์š” ์ „์— @asiekierka ์™€์˜ ๋น„๊ณต๊ฐœ ํ† ๋ก ์—์„œ:

22:34 <kasheek> I have a 'block' package with:
22:34 <kasheek> 'BedBlock'
22:34 <kasheek> 'CactusBlock'
22:34 <kasheek> 'MagmaBlock'
22:34 <kasheek> and I import them all into one of my classes. I can:
22:34 <kasheek> - look at the imports, in alphabetical order, without reading "Block" before each word
22:34 <kasheek> - search for ".BedBlock" and get results for BedBlock *and* BedBlockEntity *and* BedBlockEntityRenderer
22:34 <asie> that last one
22:34 <asie> that's a good argument

๋‚˜๋Š” ๋Œ€๋ถ€๋ถ„์˜ ์ตœ์‹  Java IDE์—์„œ ๊ฒ€์ƒ‰์ด BlockBed/BedBlock์˜ ์ˆœ์„œ์— ๊ด€๊ณ„์—†์ด ๊ฒฐ๊ณผ๊ฐ€ ํ‘œ์‹œ๋  ๋งŒํผ ์ถฉ๋ถ„ํžˆ ๋ชจํ˜ธํ•  ๊ฒƒ์ด๋ผ๊ณ  ์ฃผ์žฅํ•ฉ๋‹ˆ๋‹ค.

Mojang์€ ์ ‘๋ฏธ์‚ฌ(BedBlock) ๋˜๋Š” ์ด๋ฆ„(Bed)๋งŒ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

[ํ•œ์กฐ๊ฐ!]

์ด๋Ÿฌํ•œ ํด๋ž˜์Šค๋Š” ์•„๋งˆ๋„ ๋™์ผํ•œ ํŒจํ‚ค์ง€์— ์žˆ์œผ๋ฉฐ ์ด๋ฆ„์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

RenderType
RepeaterBlock
RotatedPillarBlock
Rotation
SandBlock

Mojang ์ด๋ฆ„์— ์ธํ„ฐํŽ˜์ด์Šค์— ๋Œ€ํ•œ I ์ ‘๋‘์‚ฌ๊ฐ€ ์—†์Œ์„ ๋ณด์—ฌ์ฃผ๋Š” ๋˜ ๋‹ค๋ฅธ ์˜ˆ:

[ํ•œ์กฐ๊ฐ!]

์ „์ž๋Š” ํŽธ์ง‘๊ธฐ์—์„œ ์ด๋ฆ„์„ ์ •๋ ฌํ•  ๋•Œ ์ด์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ๋ชจ๋“  ๊ฒƒ์ด ํ•˜๋‚˜์˜ ํฐ "์‹ฑํฌ" ํŒจํ‚ค์ง€(์˜ˆ: net.minecraft.src )์— ๋งคํ•‘๋˜๋Š” ๊ฒฝ์šฐ ์‚ฌ์‹ค์ด์ง€๋งŒ ํŒจํ‚ค์ง€๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๋งคํ•‘ํ•˜๋Š” ๋ฐ๋Š” ์ข‹์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  blocks , items , entities ์™€ ๊ฐ™์€ ํŒจํ‚ค์ง€์— ํด๋ž˜์Šค๋ฅผ ๋„ฃ์œผ๋ฉด ์ ‘๋‘์‚ฌ๊ฐ€ ์ค‘๋ณต๋ฉ๋‹ˆ๋‹ค.

๋‹น์‹ ์˜ ๋…ธ๋ ฅ์€ ์นญ์ฐฌํ•  ๋งŒํ•˜์ง€๋งŒ ์—ฌ๊ธฐ์— MCP ์ฝ˜ํ…์ธ ๋ฅผ ๊ฒŒ์‹œํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค. pomf์˜ Enigma ๋งคํ•‘ ๋˜๋Š” Tiny ๋งคํ•‘์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์Œ ๋ฒˆ์— ์š”์ ์„ ์‹œ์—ฐํ•˜๊ฑฐ๋‚˜ ์ด๋ฆ„์„ ์ง์ ‘ ๊ฒŒ์‹œํ•˜์ง€ ์•Š๊ณ  ํžŒํŠธ๋ฅผ ์ฃผ์„ธ์š”.

๊ทธ๋Ÿฌ๋‚˜ ์—ฐ๊ตฌ์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค! ์šฐ๋ฆฌ๋Š” Brigadier ๋•๋ถ„์— Mojang์ด I-์ ‘๋‘์‚ฌ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์„ ์ด๋ฏธ ์•Œ๊ณ  ์žˆ์—ˆ์ง€๋งŒ ๋‹ค๋ฅธ ํžŒํŠธ๋Š” ๊ฝค ํฅ๋ฏธ๋กญ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์–ด๋Š ์‹œ์ ์—์„œ ์Šค์Šค๋กœ ์•ŒํŒŒ๋ฒณ ์ˆœ์„œ๋ฅผ ๋ณผ ๊ณ„ํš์ด์—ˆ์ง€๋งŒ, Minecraft์˜ "๋‚ด๋ถ€ ์ด๋ฆ„"์ด ์™„๋ฒฝํ•˜๊ฑฐ๋‚˜ ๋ณด๋‹ค ์ˆ˜์ •๋œ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์— ์ ํ•ฉํ•˜๋‹ค๊ณ  ๊ฐ€์ •ํ•  ํ•„์š”๋„ ์—†์Šต๋‹ˆ๋‹ค.

์ €๋Š” ๊ฐœ์ธ์ ์œผ๋กœ ์ ‘๋‘์‚ฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ์ข‹์•„ํ•ฉ๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ๊ทธ๊ฒƒ์€ ๋ชจ๋“  ํ•ญ๋ชฉ์ด ํ•จ๊ป˜ ๊ทธ๋ฃนํ™”๋˜๊ณ  ๋ชจ๋“  ์ƒ๋ฌผ ๊ตฐ๊ณ„๊ฐ€ ํ•จ๊ป˜ ๊ทธ๋ฃนํ™”๋œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋ฌผ๋ก  ๋ฐ˜๋Œ€ ์ฃผ์žฅ์€ ์ ‘๋ฏธ์‚ฌ๊ฐ€ IronIngot, IronSword, IronBlock, IronChestplate ๋“ฑ

@Boundarybreaker ์‚ฌ์‹ค, ์–ด์จŒ๋“  ํŒจํ‚ค์ง€์— ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ .block์—์„œ๋Š” ์ด๋ฏธ ๊ทธ๋ฃนํ™”๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์ด BlockBed์™€ BlockChest์ธ์ง€ BedBlock๊ณผ ChestBlock์ธ์ง€๋Š” ์ค‘์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์•„, ๊ทธ๋ž˜. ์ข‹์€ ์ง€์ ์ž…๋‹ˆ๋‹ค. ๋‚˜๋Š” mod-dev ์ธก๋ฉด์—์„œ ๋” ๋งŽ์ด ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค. ์ ‘๋ฏธ์‚ฌ๋Š” ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค.

๊ฐœ์ธ์ ์œผ๋กœ ๋ชจ๋“  ์ฝ”๋“œ์—์„œ ํด๋ž˜์Šค ์ด๋ฆ„์— ์ ‘๋ฏธ์‚ฌ ๋Œ€์‹  ์ ‘๋‘์‚ฌ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ ‘๋‘์‚ฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋Š” ๊ฑฐ์˜ ๋ชจ๋“  ์ƒํ™ฉ์— ๋Œ€ํ•ด ํ•ด๋‹น ๊ทœ์น™์— ๋Œ€ํ•œ ๋ช‡ ๊ฐ€์ง€ ์˜ˆ์™ธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚ด IDE์—์„œ ๊ฐœ์ฒด ์œ ํ˜•์„ ๊ฒ€์ƒ‰ํ•  ๋•Œ ๋” ์ž˜ ์ž‘๋™ํ•˜๊ณ  ์†”์งํžˆ ๋” ์ข‹์•„ ๋ณด์ž…๋‹ˆ๋‹ค.

์ด ์ค‘ ๋งŽ์€ ๋ถ€๋ถ„์ด ์˜๊ฒฌ ๊ธฐ๋ฐ˜์ด๋ฉฐ github์˜ ๋‹ค๋ฅธ ๋ชจ๋“œ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๋ณด๋ฉด ๋Œ€๋ถ€๋ถ„์˜ ์‚ฌ๋žŒ๋“ค์ด ์ ‘๋ฏธ์‚ฌ ๋Œ€์‹  ์ ‘๋‘์‚ฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํด๋ž˜์Šค ์ด๋ฆ„์— ๋งŒ์กฑํ•œ๋‹ค๋Š” ๊ฒƒ์ด ๋ถ„๋ช…ํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋ชจ๋“  ๋ชจ๋“œ๊ฐ€ MCP ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ ‘๋‘์‚ฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  MCP ์ด๋ฆ„์€ ๋Œ€๋ถ€๋ถ„ ์ ‘๋‘์‚ฌ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ์˜ค๋ž˜ ์ „์— ๋ชจ๋“  ๋งˆ์ธํฌ๋ž˜ํ”„ํŠธ๊ฐ€ ๋‹จ์ผ net.minecraft.src ํŒจํ‚ค์ง€๋กœ ๋‚œ๋…ํ™”๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํŠนํžˆ ์ƒˆ ์ฝ”๋“œ์—๋Š” ์ ‘๋ฏธ์‚ฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋งŽ์€ ์˜ˆ์ œ๊ฐ€ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ: ILightEngine , ChunkTask , SurfaceBuilder , IWorldCarver , IChunkGenSettings ๊ตฌํ˜„, ๊ตฌ์กฐ์šฉ Config/Pieces/Structure ํด๋ž˜์Šค. ๋ ˆ์‹œํ”ผ ๋ฐ ์ „๋ฆฌํ’ˆ ์ƒ์„ฑ์šฉ ์ฝ”๋“œ์—๋Š” ๊ธฐ๋ณธ ํด๋ž˜์Šค์˜ ์ด๋ฆ„์„ ํฌํ•จํ•˜์ง€ ์•Š๋Š” ํŒŒ์ƒ ํด๋ž˜์Šค๊ฐ€ ๋งŽ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

โœ“ ํŒŒ์ƒ ํด๋ž˜์Šค์˜ ์ด๋ฆ„์„ ๊ธฐ๋ณธ ํด๋ž˜์Šค์˜ ์ด๋ฆ„์œผ๋กœ ๋๋‚ด๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ•˜์‹ญ์‹œ์˜ค.

์ด๊ฒƒ์€ ๋งค์šฐ ์ฝ๊ธฐ ์‰ฝ๊ณ  ๊ด€๊ณ„๋ฅผ ๋ช…ํ™•ํ•˜๊ฒŒ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์ฝ”๋“œ์—์„œ ์ด์— ๋Œ€ํ•œ ๋ช‡ ๊ฐ€์ง€ ์˜ˆ๋Š” Exception์˜ ์ผ์ข…์ธ ArgumentOutOfRangeException๊ณผ Attribute์˜ ์ผ์ข…์ธ SerializableAttribute์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด ์ง€์นจ์„ ์ ์šฉํ•  ๋•Œ๋Š” ํ•ฉ๋ฆฌ์ ์ธ ํŒ๋‹จ์„ ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด Button ํด๋ž˜์Šค๋Š” ์ด๋ฆ„์— Control์ด ๋‚˜ํƒ€๋‚˜์ง€ ์•Š์ง€๋งŒ ์ผ์ข…์˜ Control ์ด๋ฒคํŠธ์ž…๋‹ˆ๋‹ค.

C# ๋””์ž์ธ ์ง€์นจ์—์„œ

์ ‘๋‘์‚ฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ•ด๋‹น ์ฒด๊ณ„์— ๊ณ ์ •๋˜๊ณ  "ํŒ๋‹จ"์ด ํ—ˆ์šฉ๋˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ Block ๋˜๋Š” Item ์™€ ๊ฐ™์€ ๊ด‘๋ฒ”์œ„ํ•œ ์ƒ์† ๊ณ„์ธต์—๋Š” ์‹ค์ œ๋กœ ํ•„์š”ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐฉ๊ธˆ JEI ๊ตฌํ˜„์„ ์‚ดํŽด๋ณด์•˜์Šต๋‹ˆ๋‹ค. api์—๋Š” ์ ‘๋‘์‚ฌ ์„ ๋ก€๊ฐ€ ์—†์œผ๋ฏ€๋กœ ๋ชจ๋“  ๋ชจ๋”ฉ ์ปค๋ฎค๋‹ˆํ‹ฐ JEI ์ง€์› ํด๋ž˜์Šค๋Š” Machine+Category/Wrapper/etc์ž…๋‹ˆ๋‹ค.

MCP์—๋Š” ๊ธฐ์กด ๋ชจ๋“œ์˜ ๋Œ€๊ทœ๋ชจ ์ข…์†์„ฑ์œผ๋กœ ์ธํ•ด ์ ‘๋ฏธ์‚ฌ ์ด๋™์ด ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ํŒจ๋ธŒ๋ฆญ์˜ ๊ฒฝ์šฐ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.

์˜ˆ. ๋‚˜๋Š” ์ด๋ฏธ ๊ทธ๊ฒƒ์„ ํ•˜๊ณ  ์‹ถ์–ดํ•˜๋Š”๋ฐ, ์•‰์•„์„œ ํ•˜๋Š” ๊ฒƒ๋งŒ์œผ๋กœ๋„ ์ƒ๋‹นํ•œ ๋…ธ๋ ฅ์ด ํ•„์š” ํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋ฐฉ๊ธˆ ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค: ์ ‘๋‘์‚ฌ != ์ฒ ์ž๋ฅผ ๊ฑฐ๊พธ๋กœ ํ•˜๊ณ , ๋‹ค๋ฅธ ๋ง›๋„ ๋ƒ…๋‹ˆ๋‹ค.

MCP์˜ ์˜ˆ: [์ž˜๋ผ์š”!]

์ด๋ฆ„์˜ ๋ถˆ์ผ์น˜๊ฐ€ ๋‚˜์˜๊ณ  [snip!] ๊ฐ™์€ ์ด๋ฆ„์ด ๋”์ฐํ•˜๋‹ค๋Š” ๋ฐ ๋™์˜ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ์ด๊ฑธ๋กœ ๋„ˆ๋ฌด ๋Šฆ์—ˆ๋‚˜๋ด...

pomf ํ†ต์‹  ์ฑ„๋„์— MCP ์˜ˆ์ œ ๊ฒŒ์‹œ๋ฅผ ์ค‘๋‹จํ•˜์‹ญ์‹œ์˜ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด GitHub ์ €์žฅ์†Œ์—์„œ ๊ฐ•์ œ๋กœ ์ฐจ๋‹จํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

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

๊ด€๋ จ ๋ฌธ์ œ

enbrain picture enbrain  ยท  4์ฝ”๋ฉ˜ํŠธ

ChloeDawn picture ChloeDawn  ยท  5์ฝ”๋ฉ˜ํŠธ

quat1024 picture quat1024  ยท  3์ฝ”๋ฉ˜ํŠธ

ChloeDawn picture ChloeDawn  ยท  6์ฝ”๋ฉ˜ํŠธ

asiekierka picture asiekierka  ยท  3์ฝ”๋ฉ˜ํŠธ