전리품 표: 풀, 굴림, 그리고 엔트리와 함수의 차이점
아무것도 드롭하지 않는 전리품 표는 보통 가중치나 조건이 잘못된 계층에 있습니다. 각 중첩 레벨이 제어하는 것과 알아두면 좋은 함수들을 소개합니다.
전리품 표 JSON은 네 단계 깊이로 구성되어 있으며 각 단계는 서로 다른 의미를 가집니다. "내 표는 아무것도 드롭하지 않아"라는 문제의 거의 대부분은 조건이 의도했던 곳에서 한 단계 떨어져 붙어 있기 때문입니다.
네 가지 레벨
table
└── pools[] how many independent draws
└── entries[] what can come out of this draw
└── functions[] modify the item that came out
- 풀에 있는
rolls는 해당 풀이 몇 번 뽑히는지를 나타냅니다.rolls: 3가 있는 하나의 풀은 동일한 엔트리 목록에서 세 번 뽑습니다. - 엔트리에 있는
weight는 해당 풀 내에서 상대적인 값입니다. 가중치는 합계가 특정 값이 될 필요가 없습니다. 가중치 10인 엔트리와 가중치 90인 엔트리는 10분의 1의 확률로 나타납니다. conditions는 모든 레벨에 존재하며 서로 다른 의미를 가집니다. 풀에서는 전체 뽑기를 제어합니다. 엔트리에서는 해당 옵션 하나를 제어합니다. 함수에서는 수정만 제어합니다.
드롭 보장을 위한 별도의 풀
가중치는 아무것도 보장할 수 없습니다. 왜냐하면 풀은 굴림당 정확히 하나의 엔트리를 선택하기 때문입니다. 항상 지도와 무작위 전리품을 드롭해야 하는 표는 두 개의 풀이 필요합니다.
"pools": [
{ "rolls": 1, "entries": [ { "type": "minecraft:item", "name": "minecraft:filled_map" } ] },
{ "rolls": { "min": 2, "max": 4 }, "entries": [ … weighted list … ] }
]
첫 번째 풀은 단일 엔트리를 가지므로 항상 해당 엔트리를 생성합니다. 두 번째 풀은 가중치 목록에서 2~4번 굴립니다.
알아두면 좋은 함수들
| 함수 | 기능 |
|---|---|
set_count | 고정된 숫자 또는 uniform 범위 |
enchant_randomly | 무작위 마법 부여, 선택적으로 목록에서 |
enchant_with_levels | N 레벨의 마법 부여대 (Enchanting Table)와 동일 — 요청 시 보물 마법 부여 포함 |
set_components | 사용자 지정 이름, 설명, 모든 데이터 구성 요소 |
looting_enchant | 약탈 (Looting) 레벨당 보너스; 엔티티 표에만 해당 |
set_damage | 내구도를 비율로, 따라서 0.5는 절반 마모된 상태 |
furnace_smelt | 몹이 불에 타 죽었을 때 제련된 형태 |
enchant_with_levels과 enchant_randomly은 서로 바꿔 사용할 수 없습니다. 전자는 마법 부여대 (Enchanting Table)를 모방하고 레벨 비용을 따릅니다. 후자는 임의로 선택하며 게임에서 절대 생성되지 않는 조합을 만들 수 있습니다.
사람들이 자주 찾는 조건
random_chance— 고정 확률random_chance_with_enchanted_bonus— 약탈 (Looting)을 고려한 현대적인 확률killed_by_player— 희귀 드롭이 낙사로 인해 나타나지 않는 이유entity_properties— 피해자의 유형, 상태 또는 장비 확인match_tool— 블록 표에 사용된 도구 확인
월드를 재구축하지 않고 테스트하기
/loot give @s loot my_pack:chests/treasure
는 표를 인벤토리에 직접 드롭합니다. /loot spawn, /loot insert <pos> 및 /loot replace는 다른 배치 방법을 다룹니다. 이는 상자를 배치하고 다시 로드하는 것보다 훨씬 빠르며, 가중치 분포를 확인하는 유일한 합리적인 방법입니다.
고급 전리품 표 빌더에서 함수와 조건을 올바른 레벨에 연결하여 다중 풀 표를 만드세요.