블록, 아이템, 엔티티 ID: 네임스페이스, 블록 상태, 그리고 다른 것들
ID는 항상 아이템의 이름과 같지 않으며, 블록 ID는 아이템 ID와 다릅니다. 이름 지정 규칙, 이전 명령을 깨뜨리는 이름 변경, 그리고 상태가 적용되는 방식에 대해 알아봅니다.
"알 수 없는 아이템" 또는 "알 수 없는 블록" 오류가 발생하는 모든 명령어는 ID 문제이며, 그 규칙은 "소문자와 밑줄"보다 더 미묘합니다.
데이터에서 네임스페이스는 필수가 아닙니다.
minecraft:diamond_sword
my_pack:custom_sword
명령어는 minecraft:을 생략할 수 있게 해줍니다. 즉, /give @s diamond_sword가 작동합니다. JSON 파일은 그렇지 않습니다. 네임스페이스가 없는 diamond_sword를 사용한 전리품 표나 레시피는 실패하며, 때로는 조용히 실패합니다. 모든 곳에 네임스페이스를 작성하면 문제가 사라집니다.
블록 ID와 아이템 ID는 다른 것입니다.
일부 블록은 아이템이 없고, 일부 아이템은 다른 블록을 배치합니다.
| 아이템 | 배치되는 블록 |
|---|---|
minecraft:wheat_seeds | minecraft:wheat |
minecraft:redstone | minecraft:redstone_wire |
minecraft:string | minecraft:tripwire |
minecraft:flower_pot | minecraft:flower_pot, 하지만 화분 변형은 별도의 블록입니다. |
| — | minecraft:water, minecraft:fire, minecraft:air은 아이템이 없습니다. |
/setblock은 블록 ID를 사용합니다. /give은 아이템 ID를 사용합니다. 명백히 존재하는 것인데도 잘못된 ID를 사용하는 것이 "해당 ID가 존재하지 않습니다"라는 오류의 가장 흔한 원인입니다.
블록 상태는 대괄호 안에 있습니다.
/setblock ~ ~ ~ oak_stairs[facing=east,half=top,waterlogged=true]
상태는 블록의 속성이며 아이템의 속성이 아닙니다. 미리 회전된 계단을 줄 수 없는 이유는 회전이 배치 시 결정되기 때문입니다. 지정되지 않은 속성은 기본값을 사용합니다.
waterlogged는 사람들을 혼란스럽게 합니다. 계단, 반 블록, 울타리 등 수십 가지에 존재하며, 이것 없이 블록을 설정하면 거기에 있던 물이 제거됩니다.
이전 명령을 깨뜨리는 이름 변경
몇몇 ID가 변경되었고 이전 ID는 이제 단순히 알 수 없습니다.
| 이전 | 현재 |
|---|---|
grass | short_grass |
grass_path | dirt_path |
scute | turtle_scute |
sign | oak_sign 및 관련 블록 |
grass은 고통스러운 부분인데, grass_block는 여전히 존재하며 다른 것이기 때문입니다. 식물에 grass을 사용하던 이전 명령어는 이제 조용히 아무것도 대상으로 하지 않습니다.
엔티티 ID
대부분 예측 가능하지만 예외가 있습니다. snowman가 아닌 minecraft:snow_golem, mushroom_cow가 아닌 minecraft:mooshroom, 그리고 모든 발사체는 자체 엔티티입니다. 즉, minecraft:arrow, minecraft:spectral_arrow, minecraft:trident입니다.
기술적으로 블록 엔티티인 엔티티(상자, 호퍼, 표지판)는 엔티티 목록에 나타나지 않으며 /summon할 수 없습니다. 이들은 블록으로 배치되며 /data로 편집됩니다.
태그가 목록보다 낫습니다.
#minecraft:planks #minecraft:logs #minecraft:wool
#minecraft:doors #minecraft:beds #minecraft:swords
명령어나 JSON이 태그를 허용하는 곳에서는 태그를 사용하면 Mojang이 새로운 나무 유형을 추가해도 문제가 없습니다. 여덟 가지 판자 ID를 모두 하드코딩하는 것은 그렇지 않습니다.
블록 상태와 각 태그가 속한 태그를 포함하여 모든 블록, 아이템 및 엔티티 ID를 블록, 아이템 및 엔티티 ID 브라우저에서 검색하세요.