Entity
์ ๋ฏธ์ฌ๋ฅผ ์ฌ์ฉํ์ง ์์ต๋๋ค.์ด๊ฒ์ BlockEntities๊ฐ ์๋ ์ผ๋ฐ ์ํฐํฐ์ ๋ํด Entity
๋ฅผ ์ญ์ ํ๋ ๊ฒ์
๋๋ค.
์.
Sponge๋ Entity
์ ๋ฏธ์ฌ๋ ์ฌ์ฉํ์ง ์์ต๋๋ค.
+1ํ์ง๋ง ๊ทธ ์ธ์๋ ๋ธ๋ก๊ณผ ๊ฐ์ ๊ฒ์๋ ์ฌ์ฉํ ์ ์์ต๋๊น? ๊ฑฐ์ ์ถฉ๋ํ์ง ์์ต๋๋ค. ๋๋ ๋ธ๋ก์ ์์ด๋์ด๋ฅผ ์ข์ํ๋ค. ๊ฐ์ดํ์ง๋ง ์๊ฒฉํ๊ฒ ๋ธ๋ก๊ณผ ๊ด๋ จ๋์ง ์์ ๊ฒ์ ๋ง๋ค๊ณ ์๋ค๋ฉด ์ด์ํ ๊ฒ์ ๋๋ค.
์ผ๊ด์ฑ์ ์ํด ๋์ํ์ง ์์ต๋๋ค
์ ๊ฐ์ง ๊ฒ์ Block
์ ๋ฏธ์ฌ, IMO, ๊ทธ๊ฒ์ ๋ธ๋ก,ํ์ง๋ง ๋ธ๋ก ๋จ์ง๋ฅผ ๋ํ๋ธ๋ค๋ ๊ฒ์ด๋ค. (A)์ ์ค์ง ํ๋์ ์ธ์คํด์ค์๋ค, ์๋ฅผ ๋ค์ด ์๋๋ฅผ ํ๊ณ GrassBlock
๊ทธ๊ฒ "์ด ์๋ ๋ธ๋ก์ด๋ค"๋ผ๊ณ ํ๋ ๊ฒ์ด ์์ ํ๋ฏ๋ก, ์ฃผ์ด์ง ์๊ฐ์. ์ํฐํฐ๋ ์ค์ ๋ก ์ด์ ๊ฐ์ด ์๋ํ์ง ์์ต๋๋ค. ์๋ํ๋ฉด ์ธ๊ณ์ ๊ฐ ์ํฐํฐ์ ๋ํ ์ํฐํฐ ์ธ์คํด์ค๊ฐ ์๊ธฐ ๋๋ฌธ์
๋๋ค. ๋ค๋ฅธ ์๋ก ์ข๋น์ ๊ฒฝ์ฐ "์ด๊ฒ ์ข๋น๋ค"๋ผ๊ณ ๋งํ ์ ์์ต๋๋ค . ์ข๋น๊ฐ ์ข๋น์
๋๋ค"๋ผ๊ณ ๋งํ๊ณ ์ถ์ง๋ง.
๋ฐ๋ฉด์ ์ผ๊ด์ฑ ์ธ์๋ ์ข์ ๊ฒฝ์ฐ์ ๋๋ค. ์ผ๋ถ ํญ๋ชฉ์๋ ํด๋น ์ ํ์ ์ ๋ฏธ์ฌํ๊ณ ๋๋จธ์ง ํญ๋ชฉ์๋ ์ ๋ฏธ์ฌ ์์ด ๋๋ ๊ฒ์ ์ฝ๊ฐ ์ผ๊ด์ฑ์ด ์์ต๋๋ค.
ํ , ๋จ์ด์ง๋ ๋ธ๋ก์ ์ด๋ป์ต๋๊น?
@Sorixelle ์ ์ ๋ง ์ข์ ์ง์ ์ ํฉ๋๋ค. ๊ทธ๋ฌ๋ ๋๋ ์ฐ๋ฆฌ๊ฐ ์ ๋ฏธ์ฌ์ ๋ํ ์ด์ ๋ฅผ ์ฐพ์์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ์, ์ด๋ฆ์ ์๋ ๊ฒ์ด ๋ฉ์ง์ง๋ง ์ผ๊ด์ฑ์ด ์์ต๋๋ค.
๊ทธ๋์ ZombieEntity๋ ์ข๋น์ Entity ์ ํ์ ์๋ฏธํฉ๋๊น?
๊ทธ ์ธ์๋ ๋ธ๋ก๊ณผ ๊ฐ์ ๊ฒ์๋ ์ฌ์ฉํ ์ ์์ต๋๊น?
์ผ๊ด์ฑ์ ์ํด ๋์ํ์ง ์์ต๋๋ค
์ฐจ์ด์ ์ "๋๋ 5๊ฐ์ ๋ ๋ธ๋ก์ด ์์ต๋๋ค"("5๊ฐ์ ๋"์ด ์๋)๋ผ๊ณ ๋งํ๊ณ "๋๋ 5๊ฐ์ ์์ด ์์ต๋๋ค"("์ ๊ฐ์ฒด"๊ฐ ์๋)๋ผ๊ณ ๋งํฉ๋๋ค.
"๋๋ 5๊ฐ์ ๋์ ๊ฐ์ง๊ณ ์์ต๋๋ค"๋ผ๊ณ ๋งํ๋ ๊ฒฝ์ฐ:+1: ์ด ๋ฌธ์
ํด๋์ค ์ด๋ฆ์ SheepThing
๋ฐ ItemThing
๋ผ๊ณ ์์ํด ๋ณด์ธ์.
"entity"๋ "thing"๊ณผ "object"์ ๋์์ด์ผ ๋ฟ์ ๋๋ค .
"entity"๋ "thing"๊ณผ "object"์ ๋์์ด์ธ๊ฐ์? ์.
๊ทธ๊ฒ์ ์ํฐํฐ๊ฐ Minecraft์์ ๋ ๊ตฌ์ฒด์ ์ผ ์ ์๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๊น?
์ํฐํฐ๋ Minecraft ์ธ๊ณ์ ๋ชจ๋ ๋์ ์ด๊ณ ์์ง์ด๋ ๋ฌผ์ฒด๋ฅผ ํฌํจํฉ๋๋ค.
SheepDynamicObject
๋๋ SheepGameObject
์ด๋ฆ์ผ๋ก ๊ด์ฐฎ์ต๋๊น?
"article", "object" ๋ฐ "thing"์ "item"์ ๋์์ด์
๋๋ค . SwordItem
์ SwordArticle
, SwordObject
๋๋ SwordThing
ํด์ผ ํฉ๋๊น?
์์ ์ SheepThing
๋ฐ ItemThing
๋ "์ํฐํฐ"์ ๊ฐ๋
์ด Minecraft์ "์ฌ๋ฌผ" ๋๋ "๊ฐ์ฒด"๋ณด๋ค ๋ ๊ตฌ์ฒด์ ์ธ ๊ฒ์ผ๋ก ์ ์ ์๋ ๋ ์๋ฏธ ์๋ ๋ณํ์ด๋ผ๋ ๊ฒ์
๋๋ค. "์๊ฑด".
Entity๊ฐ ๋ฌด์๋ฏธํ๋ค๊ณ ๋งํ๋ ๊ฒ์ด ์๋๋๋ค. java.lang.Object
, StringObject
, IntegerObject
๋ฑ์ด ์๋ ๋ชจ๋ ๋์ ์ฌ๋ฌผ์ ์ฌ์ฉ๋๋ ์ผ๋ฐ์ ์ธ ์ฉ์ด์
๋๋ค.
๊ทธ ๋น๊ต๋ฅผ ํตํด ๋ด๊ฐ ๋งํ๋ ค๊ณ ํ๋ ์์ ์ Mojang์ด Entity
Thing
๋์ SheepThing
, ItemThing
์ ์ฌ์ฉํ๋ ๊ฒ์ ๋ํด ์ด๋ฆ์ ์ง์๋ค ๋ฉด ?
"article", "object" ๋ฐ "thing"์ "item"์ ๋์์ด์ ๋๋ค .
SwordItem
์SwordArticle
,SwordObject
๋๋SwordThing
ํด์ผ ํฉ๋๊น?์์ ์
SheepThing
๋ฐItemThing
๋ "์ํฐํฐ"์ ๊ฐ๋ ์ด Minecraft์ "์ฌ๋ฌผ" ๋๋ "๊ฐ์ฒด"๋ณด๋ค ๋ ๊ตฌ์ฒด์ ์ธ ๊ฒ์ผ๋ก ์ ์ ์๋ ๋ ์๋ฏธ ์๋ ๋ณํ์ด๋ผ๋ ๊ฒ์ ๋๋ค. "์๊ฑด".
ํญ๋ชฉ ์ด๋ฆ์ ๊ธฐ์ฌ๋ ๋ฌผ๊ฑด์ผ๋ก ๋ณต์กํ๊ฒ ๋ง๋ค ์ด์ ๊ฐ ์์ต๋๋ค.
Shulkers๋ ๊ฐ์ฒด ํ์๋ฅผ ์ ๊ฑฐํ๋ฉด ์ ์ฌํ ๋ช ๋ช ์๋๋ฆฌ์ค์ ๋์ผํ ์ด๋ฆ์ ๋ธ๋ก ๊ฐ์ฒด, ๋ธ๋ก ๋ฐ ๊ฐ์ฒด ์ ์๋ก ์ธํด ํผ๋์ ์ผ์ผํฌ ์ ์๋ ์ข์ ์์ ๋๋ค.
Entity๊ฐ ๋ฌด์๋ฏธํ๋ค๊ณ ๋งํ๋ ๊ฒ์ด ์๋๋๋ค.
java.lang.Object
,StringObject
,IntegerObject
๋ฑ์ด ์๋ ๋ชจ๋ ๋์ ์ฌ๋ฌผ์ ์ฌ์ฉ๋๋ ์ผ๋ฐ์ ์ธ ์ฉ์ด์ ๋๋ค.
java.lang.Object
๋ ๋ชจ๋ ํด๋์ค์ ์ํผํด๋์ค์ด๋ฉฐ ์ํฐํฐ ํด๋์ค๋ ๊ทธ ์ผ๋ถ๋ฅผ ๊ตฌ์ฑํฉ๋๋ค.
์๋ฅผ ๋ค์ด Item์์ ItemEntity๋ฅผ ๋ถ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๋ฌด์์
๋๊น?
๋ํ Java ํ์ค์ EnumSet, EnumMap ๋ฑ์ ๋ณด์ฌ์ฃผ๋ฏ๋ก ๊ธฐ๋ณธ ํด๋์ค๋ Extender์ ์ผ๋ถ์
๋๋ค.
CompoundTag, ListTag, StringTag...
์ํผ ์ ํ์ ์ถ๊ฐํ๋ ๊ฒ์ ์ผ๋ฐ์ ์ธ ๊ดํ์ ๋๋ค.
๋ ์ง์คํธ๋ฆฌ ์์์ ๋ํ ItemType
๋ํ ์ํฐํฐ์ ๋ํ Drop
minecraft:item
๋ ์ง์คํธ๋ฆฌ๋ Registry
์ด ์๋๋ผ Item
ItemType
์ด๊ณ ํญ๋ชฉ ์ ํ ID๋ minecraft:item
์ด๋ฏ๋ก ItemEntity
.
๋ฌผ๋ก Entity
์ ๋ฏธ์ฌ๋ฅผ ์ ์งํ๋ ๊ฒ์ ํฐ ๋ฌธ์ ๊ฐ ์๋๋๋ค. ์ฐ๋ฆฌ๋ ๊ทธ๊ฒ์ผ๋ก ์ด ์ ์์ต๋๋ค.
์, ์ํฐํฐ ์ ๋ฏธ์ฌ๋ฅผ ์ญ์ ํ์ง ๋ง์ญ์์ค. ํผ๋๋ง ๊ฐ์ค์ํฌ ๊ฒ์ด๊ณ , ์ ํํ ์ด๋ฆ์ ์ง๊ธฐ ๋ณด๋ค๋ ์ ๋ฏธ์ฌ๊ฐ ์๋ ๊ฐ์ฒด์ ํผ๋ํ์ง ์๋๋ก ์ด๋ฆ์ ์ง๋๋ก ํ๊ฒ ์ต๋๋ค.
๊ทธ ๋น๊ต๋ฅผ ํตํด ๋ด๊ฐ ๋งํ๋ ค๊ณ ํ๋ ์์ ์ Mojang์ด
Entity
Thing
๋์SheepThing
,ItemThing
์ ์ฌ์ฉํ๋ ๊ฒ์ ๋ํด ์ด๋ฆ์ ์ง์๋ค๋ฉด?
์, Thing
๋ ์ด ๊ฒฝ์ฐ์ ํน์ ํ ์๋ฏธ๋ฅผ ๊ฐ๊ธฐ ๋๋ฌธ์
๋๋ค.
Yanis๊ฐ ๋งํ๋ฏ์ด ์ ๋ฏธ์ฌ๋ฅผ ์ญ์ ํ๋ฉด ํผ๋๋ง ๊ฐ์ค๋ฉ๋๋ค. ์ด๋ฆ์ "์์๊น"์ด ์๋๋ผ ๋ช ํ์ฑ์ ์ํ ๊ฒ์ ๋๋ค.
์ด๋ฆ์ "์์๊น"์ด ์๋๋ผ ๋ช ํ์ฑ์ ์ํ ๊ฒ์ ๋๋ค.
์์ฐ์ค๋ฝ๊ฒ ๋ค๋ฆฌ๋ ์ด๋ฆ์ ๋ช ํ์ฑ ๋ชป์ง์๊ฒ ์ค์ํฉ๋๋ค.
Minecraft๋ฅผ ํ๋ ์ดํ๋ ๋์ "๋๋ ์ ์ ๊ณ ๊ธฐ ํญ๋ชฉ์ ์ป๊ธฐ ์ํด ์ผ๋ถ ์ ๊ฐ์ฒด๋ฅผ ์ฃฝ์ธ ๋ค์ ํ๋ก ๋ธ๋ก์ ์ฌ์ฉํ์ฌ ์๋ฆฌ๋ ์ ๊ณ ๊ธฐ ํญ๋ชฉ์ผ๋ก ๋ฐ๊ฟ ๊ฒ์ ๋๋ค"๋ผ๊ณ ๋งํ ๊ฒ์ ์์ํด ๋ณด์ญ์์ค.
์ฐ๋ฆฌ๊ฐ ์๊ฐํ๊ณ ๋งํ๋ ๋ฐฉ์๊ณผ ์ผ์นํ๋ ์ฝ๋๋ ๋งค์ฐ ์ข์ ๊ฒ์ ๋๋ค.
์ฒ์ฐ ๊ธฐ๋ฐ(์, ์์ ๊ณ ๊ธฐ, ํ๋ก)๊ณผ ๋ช ํํ ์ ๋ฏธ์ฌ(๊ฐ์ฒด, ์์ดํ , ๋ธ๋ก)๋ฅผ ๋์์ ๊ฐ์ง ์ ์์ต๋๋ค.
์์ ์ ์ ๋ฏธ์ฌ๊ฐ ํ์ ์๋ค๋ ๊ฒ์ ๋๋ค. ์ฐ๋ฆฌ๋ ์๊ฐ ์ค์ฒด์ด๊ณ ์ ๊ณ ๊ธฐ๊ฐ ํ๋ชฉ์ด๋ผ๋ ๊ฒ์ ์๋๋ค. ์๋ฌด๋ "์ ๊ฐ์ฒด" ๋๋ "์ ๊ณ ๊ธฐ ํญ๋ชฉ"์ด๋ผ๊ณ ๋งํ์ง ์๋๋ฐ ์ฝ๋๋ฅผ ์์ฑ/์ฝ์ ๋ ์ ๊ทธ๋ ๊ฒ ๋งํ๊ณ /์ฝ์ด์ผ ํฉ๋๊น?
์ฌ์ ํ ItemEntity
๋ฌธ์ ๊ฐ ์์ต๋๋ค.
์, Item
์ด ์๋ํ์ง ์๋ ์ ์ผํ ์ด์ ์
๋๋ค. ์ฐ๋ฆฌ๊ฐ Item
-> ItemType
ํ์ง ์๋ ํ ๋๋ ๊ทธ๊ฒ์ ๋์ํ์ง ์์ ๊ฒ์
๋๋ค. ๊ทธ๋ฌ๋ ๊ทธ๊ฒ์ ๊ฒ์์ ์๋ ์์ดํ
์ ์ ๋จ ์์ผ๋ก ์ธํด ํจ์ฌ โโ๋ ํฐ ์ด๋ฆ์
๋๋ค.
๋ค๋ฅธ ์ต์ ์ ์ด๋ฆ์ด ๋ชจํธํ์ง๋ง ์ด๋ฆ์ด ์ผ์นํ์ง ์๋ ๊ฒฝ์ฐ๋ฅผ ๋ช ํํ ํ๋ ๊ฒ์ ๋๋ค.
ItemEntity
-> DroppedItem
, ThrownSnowballEntity
๊ฐ ์๋ ๋ฐฉ์๊ณผ ์ ์ฌํฉ๋๋ค.
์ฐ๋ฆฌ๋ ์๊ฐ ์ค์ฒด์ด๊ณ ์ ๊ณ ๊ธฐ๊ฐ ํ๋ชฉ์ด๋ผ๋ ๊ฒ์ ์๋๋ค. ์๋ฌด๋ "์ ๊ฐ์ฒด" ๋๋ "์ ๊ณ ๊ธฐ ํญ๋ชฉ"์ด๋ผ๊ณ ๋งํ์ง ์๋๋ฐ ์ฝ๋๋ฅผ ์์ฑ/์ฝ์ ๋ ์ ๊ทธ๋ ๊ฒ ๋งํ๊ณ /์ฝ์ด์ผ ํฉ๋๊น?
์ ์ผํ ๋ค๋ฅธ ์ต์ ์ ์๋ฃจ์ ์ ๊ด๊ณ์์ด ์ผ๊ด์ฑ์ด ์๋ ๊ฒ์ ๋๋ค.
์ ๋ฏธ์ฌ๋ฅผ ์ญ์ ํ๋ฉด ๋ค๋ฅธ ๋ ์ง์คํธ๋ฆฌ์ ์ฝํ
์ธ ์ ๋ํ ํด๋์ค์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. Item
๊ธฐ๋ณธ ํด๋์ค์ ์ด๋ฆ์ minecraft:item
์๋ณ์๋ฅผ ์ฌ์ฉํ๋ ์ ์ฒด ๋ ์ง์คํธ๋ฆฌ(๋๋ ํด๋น ํ์ ํด๋์ค)๊ฐ ์๊ธฐ ๋๋ฌธ์ ํ์คํ ๊ทธ๋ ๊ฒ ๋ช
๋ช
๋์์ต๋๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก ItemEntity
์ํฐํฐ ํด๋์ค๋ ํด๋น ์ํฐํฐ ์ ํ์ด minecraft:entity_type
๋ ์ง์คํธ๋ฆฌ์ minecraft:item
๋ก ๋ฑ๋ก๋์ด ์๊ธฐ ๋๋ฌธ์ ํ์คํ ๊ทธ๋ ๊ฒ ๋ช
๋ช
๋ฉ๋๋ค. ํ์ฌ Item
ํด๋์ค๋ Item
๋ก ์ ์ง๋์ง๋ง ItemEntity
ํด๋์ค๋ Item
๋ฉ๋๋ค.
์ด ํน์ ๋ฌธ์ ๊ฐ ํ์์ ํด๋์ค ์ด๋ฆ์ DroppedItem
๋๋ ์ด์ ์ ์ฌํ ๊ฒ์ผ๋ก ๋ณ๊ฒฝํ์ฌ ํด๊ฒฐ๋ ๊ฒฝ์ฐ ๋ ์ด์ ์๋ณ์์ ์ผ์นํ์ง ์์ต๋๋ค. ์ด๊ฒ์ ์ฐ๋ฆฌ๊ฐ ํ์ฌ ๋ ์ง์คํธ๋ฆฌ ์ฝํ
์ธ ํด๋์ค์ ํ๋ ์ด๋ฆ์ ์ง์ ํ๊ณ ํด๋์ค ์ด๋ฆ์ ๋ ์ง์คํธ๋ฆฌ ์ ๋ฏธ์ฌ๋ฅผ ์ถ๊ฐํ๋ ์๋ ์์คํ
์ด ์๋ค๋ ์ ์์ ์๋ณ์๊ฐ ํด๋์ค ์ด๋ฆ์ ๋ํ ์ข์ ํํ์ด๋ผ๋ ์ถฉ๋ถํ ๋ฏฟ์์ด ์๊ธฐ ๋๋ฌธ์ ๋ฌธ์ ์
๋๋ค.
์ ๋ฏธ์ฌ๋ฅผ ์ญ์ ํ๋ค๋ ์ ์ฒด ์์ด๋์ด๋ ์ด์ ์ ์ธ๊ธํ ๊ฒ์ฒ๋ผ Java ํ์ค๊ณผ๋ ์ผ์นํ์ง ์์ต๋๋ค(List ๋๋ Map ๊ตฌํ ์ฐธ์กฐ).
์ฐ๋ฆฌ๊ฐ
Item
->ItemType
ํ์ง ์๋ ํ ๋๋ ๊ทธ๊ฒ์ ๋์ํ์ง ์์ ๊ฒ์ ๋๋ค. ๊ทธ๋ฌ๋ ๊ทธ๊ฒ์ ๊ฒ์์ ์๋ ์์ดํ ์ ์ ๋จ ์์ผ๋ก ์ธํด ํจ์ฌ โโ๋ ํฐ ์ด๋ฆ์ ๋๋ค.
Mojang์ด ํญ๋ชฉ์ ๋ฐ์ดํฐ ๊ธฐ๋ฐ์ผ๋ก ๋ง๋๋ ์ฆ์ ItemType
๊ฐ ์์ ๊ฒ์ด๋ผ๊ณ ํ์ ํ๋ฏ๋ก ์ง๊ธ์ ๋ณด๋ฅํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ข์ต๋๋ค. ๋ํ ์ด๋ minecraft:x_type
๋ ์ง์คํธ๋ฆฌ์ ๊ดํ ์๋ณ์ ๋ฐ ํ์ฌ ๊ท์น๊ณผ ์ฌ์ ํ ์ผ์นํ์ง ์์ต๋๋ค.
ItemEntity
->DroppedItem
,ThrownSnowballEntity
๊ฐ ์๋ ๋ฐฉ์๊ณผ ์ ์ฌํฉ๋๋ค.
๋ค์ ํ ๋ฒ ์ด๊ฒ์ Java ํ์ค ๋ฐ Yarn ํ์ค๊ณผ ์ผ์นํ์ง ์์ต๋๋ค. ์๋ณ์๊ฐ minecraft:snowball
์์ ๊ณ ๋ คํ๋๋ผ๋ ThrownSnowballEntity
์ ๋ํ ํ ๋ก ์ ๋ํด ๊ถ๊ธํฉ๋๋ค.
์ ๋ฏธ์ฌ๋ฅผ ์ญ์ ํ๋ค๋ ์ ์ฒด ์์ด๋์ด๋ Java ํ์ค๊ณผ๋ ์ผ์นํ์ง ์์ต๋๋ค(List ๋๋ Map ๊ตฌํ ์ฐธ์กฐ).
HashMap
๋ ํด์๊ฐ ์๋๋ผ ํด์[๊ธฐ๋ฐ] ๋งต์ด๊ณ ArrayList
๋ ๋ฐฐ์ด์ด ์๋๋ผ ๋ฐฐ์ด[๊ธฐ๋ฐ] ๋ชฉ๋ก์
๋๋ค. CowEntity
๋ ์์
๋๋ค. '์ฐํ'์ด ์๋ '์ฐํ ๊น์ด'๋ผ๊ณ ํ๊ธฐ ๋๋ฌธ์ '์'๊ฐ ์๋ '์ ๋๋ฌผ'์ด๋ผ๊ณ ํด์ผ ํ๋ ๊ฒ๊ณผ ๋น์ทํฉ๋๋ค.
Java AWT๋ฅผ ๋ณด์ญ์์ค. ๋ชจ๋ ๊ฒ์ด Component
ํ์ฅ๋์ง๋ง Button
๋์ ButtonComponent
, Scrollbar
๋์ ScrollbarComponent
๋ฑ์ด ์์ต๋๋ค. ๋ฐ๋ผ์ ๋ค์์ ๋ฐ๋ฅด๋ฉด Java ํ์ค์์๋ ์ ๋ฏธ์ฌ๋ฅผ ์ ๊ฑฐํด์ผ ํฉ๋๋ค.
์ด ํน์ ๋ฌธ์ ๊ฐ ํ์์ ํด๋์ค ์ด๋ฆ์
DroppedItem
๋๋ ์ด์ ์ ์ฌํ ๊ฒ์ผ๋ก ๋ณ๊ฒฝํ์ฌ ํด๊ฒฐ๋ ๊ฒฝ์ฐ ๋ ์ด์ ์๋ณ์์ ์ผ์นํ์ง ์์ต๋๋ค.
์๋ณ์๋ฅผ ์ผ์น์ํค๋ ๊ฒ์ด ํด๋์ค๋ฅผ ์ฝ๊ฒ ์ฐพ์ ์ ์๋๋ก ํ๋ ๊ฒ์ด ์ค์ํ๋ค๋ ๋ฐ ๋์ํ์ง๋ง ์ ์์ ํ ์ผ์น์์ผ์ผ ํ๋์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. Dropped
์ ๊ฐ์ ๋ช
ํํ ๋จ์ด๋ฅผ ์ถ๊ฐํ๋ ๊ฒ์ ๊ด์ฐฎ์ต๋๋ค.
"๋ด OCD๋ฅผ ๋ง์กฑ์ํค๊ธฐ ์ํด ๋ชจ๋ ์๋ณ์๋ฅผ ์๋ฒฝํ๊ฒ ์ผ์น"์ "์ฌ์ฉํ๊ธฐ ์ข์ ์ด๋ฆ์ ๊ฐ์ง" ์ค์์ ๋ ๋ฒ์งธ๋ฅผ ์ ํํ๊ฒ ์ต๋๋ค.
Mojang์ด ํญ๋ชฉ์ ๋ฐ์ดํฐ ๊ธฐ๋ฐ์ผ๋ก ๋ง๋๋ ์ฆ์
ItemType
๊ฐ ์์ ๊ฑฐ๋ผ ํ์ ํ๋ฏ๋ก ์ง๊ธ์ ๋ณด๋ฅํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ข์ต๋๋ค.
Item
-> ItemType
( ๋ฟ๋ง ์๋๋ผ Block
-> BlockType
)๊ฐ ๋งค์ฐ ์ค์ํ๋ฉฐ ๊ฐ๋ฅํ ํ ๋นจ๋ฆฌ ์๋ฃ๋์ด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. Item
๋ ๋ชจ๋ ํญ๋ชฉ์ ๋ํ ํด๋์ค์ ์ธ์คํด์ค๊ฐ ์๊ธฐ ๋๋ฌธ์ ์๋ชป๋ ๊ฒ์
๋๋ค. ๊ทธ๊ฒ์ ์ฌ์ง์ด ๋ชจ๋ฉ์ ์ฒ์ ์ ํ๋ ์ฌ๋๋ค์ด ์์ดํ
ํด๋์ค์ ํ๋์ ์์ดํ
์ ์ํ๋ฅผ ์ ์ฅํ๋ ์ค์๋ฅผ ํ๊ฒ ๋ง๋ญ๋๋ค.
minecraft:x_type
๋ ์ง์คํธ๋ฆฌ์ ๊ดํ ์๋ณ์ ๋ฐ ํ์ฌ ๊ท์น๊ณผ ์ผ์นํ์ง ์์ต๋๋ค.
๊ทธ ํ์ฝ์ ์๋ฏธ๊ฐ ์์ต๋๋ค. ๋ ์ง์คํธ๋ฆฌ๋ ๊ฐ ๊ฐ๋ณ ํญ๋ชฉ ๋ฐ ๋ธ๋ก์ ์ธ์คํด์ค๊ฐ ์๋๋ผ ํญ๋ชฉ ์ ํ ๋ฐ ๋ธ๋ก ์ ํ์ ์ ์ฅํฉ๋๋ค. _type
์ ๋ฏธ์ฌ์ ๋ณํ์ Mojang์ ๋ถ์ผ์น์ด๋ฉฐ ์๋ณ์์ ์คํ๋ฅผ ๋ณต์ฌํ์ง ์๋ ๊ฒ์ฒ๋ผ ๋ณต์ฌํ์ง ์์์ผ ํฉ๋๋ค.
์์งํ Rune์ ๊ธฐ์ ์ปค๋ฎค๋ํฐ์์ ๋์ค๋ "๋๋ ์ ๊ฐ์ฒด๋ฅผ ์ฃฝ์ด๋ฌ ๊ฐ๊ฒ ๋ค"๋ ๋ง์ด ์์ฐ์ค๋ฝ๊ฒ ๋ค๋ฆฝ๋๋ค.
Minecraft๋ฅผ ์์ฐ์ด์ฒ๋ผ ์ฝ๊ฒ ๋ง๋ค๊ณ ์ถ๋ค๋ฉด ํ ์ ์๋ ๋ค๋ฅธ ์ด๋ฆ ๋ฐ๊พธ๊ธฐ๊ฐ ๋ง์ด ์์ต๋๋ค. "๋๋ ์ผ๋ถ ๋๋ฌด ํน์ง์ ์๋ผ๋ผ ๊ฒ์
๋๋ค"๋ ๋๊ตฌ์๊ฒ๋ ์ ์ฝํ์ง ์์ต๋๋ค. TreeFeature
์ Tree
ํด์ผ ํฉ๋๊น? ์๋! ๊ทธ๋ฌ๋ "์์ ๊ฐ์ฒด"๋ ์ค์ ๋ก ์ ์ฝ์ต๋๋ค. ํนํ "ํ ์ฅ์์ ๋ง์ ์ ์ ์ํฐํฐ๊ฐ ์๊ธฐ ๋๋ฌธ์ ์๋ฒ๊ฐ ์ง์ฐ๋๊ณ ์์ต๋๋ค"์ ๊ฐ์ ์ปจํ
์คํธ์์.
TreeFeature
์Tree
ํด์ผ ํฉ๋๊น?
์, ์ฌ๊ธฐ์ Feature
๋ผ๋ ๋จ์ด๋ ์ค๋ณต๋ฉ๋๋ค. ๋ํ ๊ธฐ๋ฅ ํด๋์ค์ ๋์ Generator
๋ฅผ ์ถ๊ฐํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ด๋ ์ค์ ๋ก ๊ธฐ๋ฅ ์์ฒด๊ฐ ์๋๋ผ ๊ธฐ๋ฅ์ ๋ํ ์์ฑ๊ธฐ์ด๊ธฐ ๋๋ฌธ์
๋๋ค. TreeGenerator extends FeatureGenerator
์ ๊ฐ์ ๊ฒ์ด ์์ต๋๋ค.
ํ ์ฅ์์ ๋ง์ ์ ๊ฐ์ฒด๊ฐ ์๊ธฐ ๋๋ฌธ์ ์๋ฒ๊ฐ ์ง์ฐ๋ฉ๋๋ค.
์ด๋ ๊ฒ ๋งํ๋ ์ด์ ๋ ์๋ฒ์ ๋ค์ฒ์ง๋ ๊ฐ์ฒด๊ฐ ์๋ผ๋ ์ฌ์ค์ ๊ฐ์กฐํ๊ธฐ ์ํ ๊ฒ์ ๋๋ค.
๊ทธ๋ฌ๋ ์ผ๋ฐ์ ์ผ๋ก ์ด๋ฌํ ๊ฐ์กฐ๋ ํ์ํ์ง ์์ต๋๋ค. ์ฝํ ์ธ ๋ฅผ ์ถ๊ฐํ๋ ์ผ๋ฐ ๋ชจ๋(์ฑ๋ฅ ํฅ์ ๋ชจ๋๊ฐ ์๋)์์ ์์ ํ๋ ๊ฒฝ์ฐ "์ ์ ํ์ ๊ฐ์ฒด ์์ฑ"์ด ์๋๋ผ "์ผ๋ถ ์ ์์ฑ"์ ๋ํด ์๊ฐํ๊ณ ๋ค์์ ์์ฑํ๊ณ ์ถ์ต๋๋ค. ๊ทธ๋ฐ ์์ผ๋ก ๋ด ์ฝ๋.
๊ทธ๋ฌ๋ ๊ทธ๋ค์ ์๊ฐ ์๋๋ผ ์ ๊ฐ์ฒด์ ๋๋ค. ์์ ๊ฐ๋ ์ ์์ฐ์ด์๋ง ์กด์ฌํฉ๋๋ค. CowEntity๋ ์์ ์ ์ฒด ๊ฐ๋ ์ด ์๋๋ผ ๊ตฌ์ฒด์ ์ผ๋ก ์ _entity_๋ฅผ ๋ํ๋ ๋๋ค. ์ ์์ ๋ค๋ฅธ ๋ถ๋ถ(์: ์ ์)๊ณผ ๊ด๋ จ๋ ์ฝ๋๋ ํด๋น ํด๋์ค์ ๋ฃ์ง ์์ต๋๋ค.
์ด ์์ ๊ฑฐ๋ ๊ทธ๋ฅ ์ธ๋ชจ๊ฐ ์์ต๋๋ค ...
Entity
์ ๋ฏธ์ฌ๋ "์ด ํด๋์ค๊ฐ ๋ฌด์์
๋๊น?"์ ๋ํด ์์ฌํ์ง ์๋๋ก ๋ช
ํ ํฉ๋๋ค. Minecraft์ ๋งฅ๋ฝ์์ Entity
๋ ๋ถ๋ช
ํ Thing ์ ๋์์ด๊ฐ ์๋๋๋ค.
๋ํ ๋น์ด๋จน์ ๋ชจ๋๋ฅผ ์ํด ์ด๋ ๊ฒ ํฐ ๋ณ๊ฒฝ ์ฌํญ์ ๋์
ํ์ง ๋ง์ญ์์ค. ์
๋ฐ์ดํธ๊ฐ ์ฌ ๋ ์ด๋ฏธ ์ถฉ๋ถํ ๋ณต์กํฉ๋๋ค. ๋๊ตฐ๊ฐ Entity
์ ๋ฏธ์ฌ๋ฅผ ์ซ์ดํ๊ธฐ ๋๋ฌธ์ ์์
๊ณต๊ฐ์ ๋ง์ณ ๋ชจ๋๋ฅผ ๋ ์ด๋ ต๊ฒ ๋ง๋ค ํ์๊ฐ ์์ต๋๋ค.
ํ์คํ, ๋ณ๊ฒฝํ๊ณ ์ ์ธ๊ณ๊ฐ ๋ถํ๋ ๊ฒ์ ์ง์ผ๋ณด์ญ์์ค. ์ด์ 500 ์ค๋ฅ๋ก ์ธํด ๋ชจ๋๊ฐ ์ปดํ์ผ๋์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ฌผ๋ก migrateMappings๊ฐ ์์ง๋ง ์ ๊ทธ๋ ๊ฒ ์๋ฏธ ์๋ ๋ณ๊ฒฝ์ ์ํด ์คํํด์ผ ํฉ๋๊น?
์ด ๋ฌธ์ ๋ 1๋
๋์ ๊ณต๊ฐ๋์์ผ๋ฉฐ ์ ์ฉ๋์ง ์์์ต๋๋ค. ํํธ ์ฌ๋๋ค์ Entity
์ ๋ฏธ์ฌ๋ฅผ ์ฌ์ฉํ์ต๋๋ค. ๊ฐ์ธ์ ์ผ๋ก ๋๋ ๊ทธ๋ฌํ ๋ณ๊ฒฝ ์ฌํญ์ด ๋ณํฉ๋์ด ํ์ฌ์ ๋ชจ๋ ๋ชจ๋ ์์
๊ณต๊ฐ์ ํญ๋ฐ์ํค๋ ๊ฒ์ ๋ณด๊ณ ๋งค์ฐ ํ๊ฐ ๋ฌ์ ๊ฒ์
๋๋ค.
๋ํ ok ์์ฐ์ด๋ ๋ฉ์ง๊ณ ๋ชจ๋ ๊ฒ์ด์ง๋ง ์ด๊ฒ์ ๊ฒ์ ์์ง์๋ง ํด๋นํ๋ฏ๋ก ์์ค์ฒ๋ผ ์ฝ๋๋ฅผ ์ฝ์ผ๋ ค๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํฉ๋๋ค.
๋๋ ์๋๋ผ๊ณ ๋งํด์ผ๊ฒ ๋ค. ๋ชจํธํ ๊ฒฝ์ฐ๊ฐ ๋ง์ด ์์ต๋๋ค(์์ ์ธ๊ธํ ItemEntity
๋ฟ๋ง ์๋๋ผ ArrowEntity
๋๋ TridentEntity
).
๋๋ ์ด ์์ด๋์ด์ ํฌ์ด ์๋๋๋ค. ๋๋ ๊ทธ๊ฒ์ด ์ค์ ๋ก ๊ทธ๊ฒ์ด ๊ตฌ์ด์ฒด๋ก ์ด๋ป๊ฒ ๋งํ๋์ง์ ๋ฌ๋ ค ์๋ค๊ณ ์๊ฐํ์ง ์์ต๋๋ค. ์์ฌ ์ ์ฒด์์ ์ผ๊ด์ฑ์ ์ ์งํด์ผ ํ๋ฉฐ ์ํฐํฐ์์๋ง ์ ๊ฑฐํ๋ ๊ฒ์ด ์ด์ํด ๋ณด์ด๋ฉฐ ๋ชจ๋ ๊ณณ(๋ธ๋ก ๋ฐ ํญ๋ชฉ)์์ ์ ๊ฑฐํ๋ ๊ฒ์ ์ ํ ์๋ฏธ๊ฐ ์์ต๋๋ค.
ํฌํ๋ฅผ ๋ณด๋ฉด ๋ช ํํด ๋ณด์ด์ฃ ?
LivingEntity
: Living
๋๋ Entity
: ์์, ์ ๋ฏธ์ฌ๋ ๋ค๋ฅธ ์ด๋ฆ๊ณผ ์ผ๊ด์ฑ์ ์ ๊ณตํฉ๋๋ค. CowEntity
๊ฐ ์๋ @l-Luna๋ ๋ค์์ ๋ํ๋ด์ง ์๋๋ค๋ ๋ฐ ๋์ํฉ๋๋ค. a Cow๋ CowEntity
, Cow
๋ ์ํฐํฐ, ํด๋น ๋ฐฉ์ธ ๋ฐ ๋ชจ๋ธ/๋ ๋๋ฌ๋ฅผ ๋ํ๋
๋๋ค. Entity
์ ๋ฏธ์ฌ๋ ๋๊ตฌ์๊ฒ๋ ํผํด๋ฅผ ์ฃผ์ง ์์ผ๋ฉฐ BlockEntity
๋ ์ฌ์ฉ๋ ์ ๋ฏธ์ฌ๋ผ๋ ์ฌ์ค๊ณผ ํจ๊ป ๋ง์ผ์ ๊ฒฝ์ฐ์ ๋๋นํ์ฌ ์ค๋ช
์ ์ถ๊ฐํ๋ ๋ฐ ๋์์ด ๋๋ค๊ณ ์๊ฐํฉ๋๋ค. ๊ทธ๋ฅ ๋ด 2 ์ผํธ.
LivingEntity: Living ๋๋ Entity:
๋๋ LivingEntity
๋ฅผ "์ด์ ์๋ ์กด์ฌ"๋ผ๊ณ ๋ถ๋ฅด๋ฏ๋ก ๊ทธ ์ด๋ฆ์ ๊ทธ๋๋ก ์์ด์ผ ํฉ๋๋ค. ๋๋ CowEntity
๋ฅผ "์"๋ผ๊ณ ๋ถ๋ฅด๋ฏ๋ก ๊ทธ ์ด๋ฆ์ ๋ฐ๊ฟ์ผ ํฉ๋๋ค.
๋ด ๋ฌธ์ ๋ ์๋ฒ ์ธก ์ ์ฉ์ธ ๊ฒ์ฒ๋ผ ์ด๋ฆ์ ์ง์ ํ๋ ค๊ณ ํ๋ค๋ ๊ฒ์
๋๋ค. ์๋ฒ ์ธก ์ ์ฉ API์์ CowEntity
Cow
๋ผ๋ ์ด๋ฆ์ ์ง์ ํ๋ ๊ฒ์ ๋ง ๊ทธ๋๋ก ์์์ ์ ์ฒด ๊ฐ๋
์ด๋ฏ๋ก ์๋ฏธ๊ฐ ์์ต๋๋ค. ์๋ฒ.
๊ทธ๋ฌ๋ ์ฌ๊ธฐ์๋ ํด๋ผ์ด์ธํธ๊ฐ ์์ต๋๋ค. CowEntity
Cow
๋ผ๋ ์ด๋ฆ์ ์์ ์์ฑ์ ์ฒ๋ฆฌํ๋ ๊ฐ์ฒด์ธ Entity
์ํด ์๊ฐ ์ ์๋๊ธฐ ๋๋ฌธ์ ๋ช
๋ฐฑํ ์๋ชป๋ ๊ฒ์
๋๋ค. ์ธ๊ณ ๋ฐ ๊ทธ ๋ชฉํ์ ์ํธ ์์ฉํฉ๋๋ค. ๋ฟ๋ง ์๋๋ผ ๋ชจ๋ธ๊ณผ ๋ ๋๋ฌ์
CowEntity
Cow
์ด๋ฆ์ ์ง์ ํ๋ฉด ํด๋์ค ์๋ฏธ์ ํฐ ๋ถ๋ถ์ ์ ๊ฑฐํ๊ณ ์คํด์ ์์ง๊ฐ ์์ต๋๋ค.
์์ด ์๋ฒ์ธก ์ ์ฉ์ด๋ฉด ๊ด์ฐฎ์ ํ ๋ฐ ๊ทธ๋ ์ง ์์ต๋๋ค.
์๋ฒ์์๋ CowEntity
๋ ๋ฐ์ดํฐ ํฉ์ ๋ณ๋๋ก ์ ์ฅ๋ ์ ๋ฆฌํ ํ
์ด๋ธ์ด ์๊ธฐ ๋๋ฌธ์ ์ ์๋ฅผ ์์ ํ ๋ํ๋ด์ง ์์ต๋๋ค. ๊ธฐ์ ์ ์ผ๋ก ์ด์ผ๊ธฐ ํ ๋ ๊ทธ๋ฆฌ๊ณ ๋ด๊ฐ ๋งํ ์์ต๋๋ค CowEntity
๋์ Cow
. ์ฐ๋ฆฌ๋ ๊ฒ์ํ๋ ์ด ํํ ๋ฆฌ์ผ์ ๋ง๋๋ ๊ฒ์ด ์๋๋ผ ๊ธฐ์ ์ ์ธ ๋งคํ ์ธํธ๋ฅผ ๋ง๋ค๊ณ ์์ต๋๋ค. ์, ์ผ๋ฐ์ ์ธ ๊ฒ์ ํ๋ ์ด์์ ChestBlockEntity
๋ฅผ ์์๋ผ๊ณ ๋ถ๋ฅผ ์ ์์ง๋ง ์ด๊ฒ์ ์ผ๋ฐ์ ์ธ ๊ฒ์ ํ๋ ์ด๊ฐ ์๋๋๋ค. ์ด๊ฒ์ ChestBlock
๋ฅผ ํผ๋ํ๊ณ ์ถ์ง ์์ ๋ชจ๋ ์ ์์
๋๋ค. ChestBlockEntity
๋ฐ ์์ ์ ๋ฆฌํ ํ
์ด๋ธ. ์, ๋ค๋ฅธ ํญ๋ชฉ์ ๊ฒฝ์ฐ ์ ๋ฏธ์ฌ๊ฐ ์ค๋ณต๋์ง ์์ผ๋ฏ๋ก( LivingEntity
, Entity
, ItemEntity
), IMO์ ๋ํด ์ค๋ณต๋๋ ๊ฒฝ์ฐ์๋ ์ ๋ฏธ์ฌ๋ฅผ ์ ์งํด์ผ ํฉ๋๋ค LivingEntity
๋ฌธ๋ฒ์ ์ผ๋ก ์ ํํ ๊ฒ๋ณด๋ค ๊ธฐ์ ์ ์ธ ์ ๋ณด์์ ์ผ๊ด์ฑ์ ์ ์งํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋๋ถ๋ถ์ ์ฌ๋๋ค์ด ๋ฐ๋ํ๋ฏ๋ก ์ด๊ฒ์ ๋ซ์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
"๋๋ 5๊ฐ์ ๋์ ๊ฐ์ง๊ณ ์์ต๋๋ค"๋ผ๊ณ ๋งํ๋ ๊ฒฝ์ฐ:+1: ์ด ๋ฌธ์