The Best Resource for Minecraft
The Best Resource for Minecraft

Таблиці луту: пули, спроби та різниця між записами й функціями

Таблиці луту: пули, спроби та різниця між записами й функціями

Таблиця луту, з якої нічого не випадає, зазвичай має неправильно розміщені ваги або умови. Ось що контролює кожен рівень вкладеності, а також варті уваги функції.

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 draws

тричі з одного списку записів.

  • weight у записі є відносною всередині свого пулу. Ваги не обов'язково мають додаватися до

будь-якого числа; запис із вагою 10 проти запису з вагою 90 випадає в одній десятій випадків.

  • conditions існують на кожному рівні й означають різні речі. У пулі вони обмежують

весь вибір. У записі вони обмежують цей конкретний варіант. У функції вони обмежують лише модифікацію.

Гарантований випад потребує окремого пулу

Ваги нічого не гарантують, оскільки пул обирає рівно один запис за спробу. Таблиця, яка завжди має скидати мапу плюс випадковий лут, потребує двох пулів:

"pools": [
  { "rolls": 1, "entries": [ { "type": "minecraft:item", "name": "minecraft:filled_map" } ] },
  { "rolls": { "min": 2, "max": 4 }, "entries": [ … weighted list … ] }
]

Пул 1 має один запис, тому завжди генерує його. Пул 2 робить 2–4 спроби зі зваженого списку.

Функції, варті уваги

ФункціяДія
set_countфіксовану кількість або uniform range
enchant_randomlyвипадкові чари, за потреби зі списку
enchant_with_levelsяк чарувальний стіл на N рівнів — включно зі скарбами, якщо вказано
set_componentsвласна назва, опис, будь-який компонент даних
looting_enchantбонус за рівень «Здобичі»; лише для таблиць сутностей
set_damageміцність як частка, тож 0.5 is half-worn
furnace_smeltпереплавлений варіант, якщо моб помирає у вогні

enchant_with_levels and enchant_randomly are not interchangeable. The first mimics an enchanting table and respects level costs; the second picks arbitrarily and can produce combinations the game would never generate.

Умови, якими найчастіше користуються

  • random_chance — a flat probability
  • random_chance_with_enchanted_bonus — the modern Looting-aware chance
  • killed_by_player — the reason your rare drop never appears from a fall death
  • entity_properties — check the victim's type, state or equipment
  • match_tool — check the tool used, for block tables

Тестування без перебудови світу

/loot give @s loot my_pack:chests/treasure

скидає таблицю прямо у ваш інвентар. /loot spawn, /loot insert <pos> and /loot replace cover the other placements. This is far faster than placing chests and reloading, and it is the only sane way to check weight distributions.

Створюйте таблиці з кількома пулами, функціями та умовами, прикріпленими на потрібному рівні, у Розширений конструктор таблиць луту.

Спробувати інструмент: Advanced Loot Table Builder →