Таблицы добычи

Эту статью нужно срочно обновить!
Вы можете помочь, обновив содержимое статьи в соответствии с последними версиями
Minecraft. |


**Таблицы добычи** (англ. *Loot tables*) — это технические таблицы JSON, которые отражают, какие предметы должны быть в естественно генерируемых контейнерах, какие предметы должны упасть при убийстве моба, или какие предметы можно выловить или что произойдет, когда блок сломан.

## Использование

Таблицы добычи структурированы как строковый тег, который определяет используемую таблицу, и длинный тег, определяющий сид. Контейнеры или мобы с одинаковыми сидами и таблицами будут иметь одни и те же предметы. Таблицы добычи не определяют, какой слот контейнера используется; это определяется случайным образом на основе сида.

Для Сундуков, Сундуков-ловушек, Загрузочных воронок, Вагонеток с сундуком, Вагонеток с воронкой, Раздатчиков, Выбрасывателей,Шалкеровых ящиков и Бочек:

-
- LootTable:Таблица добычи, которая будет использоваться для заполнения контейнера при его следующем открытии или при взаимодействии с элементами. Когда контейнер представляет собой сундук, который является частью двойного сундука, будет затронута только половина, соответствующая помеченному одиночному сундуку.
- LootTableSeed: Сид для генерации таблицы дропа. Работает аналогично сидам для миров. 0 или пропуск будет использовать случайное начальное число.


Эти теги будут удалены после взаимодействия с предметами (путем открытия контейнера, прерывания контейнера и т. д.), и только после этого предметы будут помещены в контейнер.

Для мобов:

- Корневой тег.
- DeathLootTable: Таблица дропа, которая будет использоваться для предметов, которые выпадают при убийстве сущности.
- DeathLootTableSeed: Сид для генерации таблицы дропа. Работает аналогично сидам для миров. 0 или пропуск будет использовать случайное начальное число.


Таблицы дропа мобов и контейнеров могут быть изменены с помощью команд `/entitydata`

, `/blockdata`

, `/execute store`

и `/data merge`

.
Вы также можете предоставить таблицу дропа сущности или сбросить ее в мире с помощью команды `/drop`


## Теги

Таблицы дропа используют JSON формат.

Ниже приведен список используемых тегов:

- Корневой каталог
- pools: Список всех пулов для этой сущности. Каждый используемый пул будет генерировать предмет из своего списка предметов в зависимости от количества списков. Пулы применяются по порядку.
- Пул
- conditions: Определяет условия для использования этого пула. Если задано несколько условий, то должны выполнятся все условия.
- Условие
- condition: Название условия. Действующие условия описаны ниже.


- Условие
- rolls: Определяет точное количество списков в пуле.
- rolls: Определяет случайное число списков в пределах диапазона.
- min: Минимальное количество списков. Включительно.
- max: Максимальное количество списков. Включительно.

- bonus_rolls: Определяет точное количество бонусных списков в пуле за каждое очко удачи. После умножения округляется.
- bonus_rolls: Определяет случайное число бонусных списков в диапазоне. После умножения округляется.
- min: Минимальное количество бонусных списков. Включительно.
- max: Максимальное количество бонусных списков. Включительно.

- entries: Список всего, что может быть создано этим пулом. Одна запись выбирается в списке как взвешенный случайный выбор из всех записей без сбоев.
- Ввод
- conditions: Определяет условия для этой записи, которые будут использоваться. Если задано несколько условий, то должны выполнятся все условия.
- Условие
- condition: Название условия. Действующие условия описаны ниже.


- Условие
- type: Тип ввода. Может быть
`item`

для записей предметов,`loot_table`

для представления предметов из другой таблицы дропа или`empty`

для записи, которая ничего не генерирует. - name:
- Для типа 'item', ID предмета, который будет производиться, например,
`minecraft:diamond`

. Значение по умолчанию, если оно не изменено`functions`

, представляет собой стек одного экземпляра предмета по умолчанию. - Для типа 'loot_table', таблицы дропа, которая будет использоваться, например:
`minecraft:gameplay/fishing/junk`

.

- Для типа 'item', ID предмета, который будет производиться, например,
- functions: Для типа 'item', применяет функции к создаваемому стеку предметов. Функции применяются для того, чтобы например
`looting_enchant`

должен быть после`set_count`

, чтобы работать правильно. - weight: Определяет, как часто эта запись будет выбираться из всех записей в пуле. Записи с более высоким весом будут использоваться чаще:
`шанс - это вес записи/сумма всех рассматриваемых все записей`

. - quality: Модифицирует
`weight`

, базируясь на аттрибуте удачи игрока. Формула:`округл_вниз( weight + (quality * удача))`

.

- conditions: Определяет условия для этой записи, которые будут использоваться. Если задано несколько условий, то должны выполнятся все условия.

- Ввод

- conditions: Определяет условия для использования этого пула. Если задано несколько условий, то должны выполнятся все условия.

- Пул

- pools: Список всех пулов для этой сущности. Каждый используемый пул будет генерировать предмет из своего списка предметов в зависимости от количества списков. Пулы применяются по порядку.

### Функции

Таблицы дропа используют различные функции для изменения создаваемого стека предметов, такие как регулировка размера стека или добавление чар.

Ниже приведен список допустимых функций и используемые ими теги. Теги размещаются в том же объекте функции, что и function:

- Функция.
- function: "enchant_randomly" — Зачаровывает предмет с помощью одного случайно выбранного зачаровывания. Уровень зачаровывания, если применимо, будет случайным.
- enchantments: Список измен зачаровываний. Если этот параметр опущен, будут доступны все чары, применимые к предмету.

- Функция.
- function: "enchant_with_levels" — Зачаровывает предмет, с указанным уровнем зачаровывания.
- treasure: Определяет, разрешено ли зачаровывание для этого элемента.
- levels: Определяет точный уровень чар для применения.
- levels: Определяет случайный уровень чар в пределах диапазона.
- min: Минимальный уровень для применения.
- max: Максимальный уровень для применения.



- Функция.
- function: "exploration_map" — Преобразует пустую карту в карту сокровищ, ведущую к ближайшей сгенерированной структуре.
- destination: Тип создаваемой структуры для размещения. Принимает любой тип структуры
`StructureType`

, используемый командой`/locate`

(без учета регистра). - decoration: Внешний вид маркера для обозначения места назначения на карте. Принимает любой внешний вид маркера (без учета регистра). Если используется
`mansion`

или`monument`

, цвет линий на текстуре предмета изменится в соответствии с соответствующей картой сокровищ. - zoom: Уровень масштаба полученной карты. По умолчанию 2.
- search_radius: Размер области для поиска структур в чанках. Проверяемая область квадратная, а не круглая. Радиус 0 вызывает только текущий блок для поиска, а радиус 1 вызывает текущий чанк и восемь смежных чанков для поиска и так далее. По умолчанию 50.
- skip_existing_chunks: Не выполняет поиск в уже созданных чанках. По умолчанию
`true`

.




- Функция.
- function: "furnace_smelt" — Переплавляет предметы, как это было в печи. Используется с условием
`entity_properties`

для приготовления пищи убитых животных.

- function: "furnace_smelt" — Переплавляет предметы, как это было в печи. Используется с условием
- Функция.
- function: "looting_enchant" — Регулирует размер стека в зависимости от уровня чар мародёрства
`killer`

для сущности. - count: Указывает точное количество дополнительных предметов на уровень дропа.
- count: Указывает случайное число (в пределах диапазона) дополнительных предметов на уровень мародёрства. Обратите внимание на случайное число может быть дробным и округляется после умножения на уровень мародёрства.
- min: Минимальное увеличение.
- max: Максимальное увеличение.

- limit: Указывает максимальное количество предметов в стеке после вычисления мародёрства. Если значение равно 0, ограничение не применяется.

- function: "looting_enchant" — Регулирует размер стека в зависимости от уровня чар мародёрства

- Функция.
- function: "set_attributes" — Добавляет атрибут модификации к предмету.
- modifiers
- A modifier
- name: Имя модификатора.
- attribute: Имя атрибута, на который должен действовать модификатор.
- operation: Должно быть любой из
`addition`

,`multiply_base`

или`multiply_total`

. - amount: Определяет точный размер изменения модификатора.
- amount: Определяет случайное значение в пределах диапазона.
- min: Минимальное значение.
- max: Максимальное значение.

- id: Необязательно: UUID модификатора. Если значение не определено, будет создан новый UUID.
- slot: Слоты, на которые должен действовать предмет, для модификатора, могут принимать одно из следующих значений:
`mainhand`

,`offhand`

,`feet`

,`legs`

,`chest`

, или`head`

. - slot: Один из перечисленных слотов будет выбран случайным образом.


- A modifier


- Функция.
- function: "set_count" — Устанавливает размер стека.
- count: Определяет точный размер стека.
- count: Определяет случайное значение размера стека в диапазоне.
- min: Минимальный размер стека.
- max: Максимальный размер стека.



- Функция.
- function: "set_damage" — Определяет значение урона оружия или прочность для инструментов.
- damage: Определяет долю повреждения инструмента или оружия (1.0 не поврежден, 0.0 — нулевая долговечность).
- damage: Определяет случайное значение доли повреждения в диапазоне.
- min: Минимальное значение.
- max: Максимальное значение.



- Функция.
- function: "set_name" — Добавляет отображаемое имя предмета.
- name: Простое имя, например, с наковальней.
- name: Имя текстового компонента JSON, доступные цвета, перевод и т. д.


- Функция.
- function: "set_nbt" — Добавляет данные NBT для предмета.
- tag: Добавляет строку тега, аналогичную используемым командам. Обратите внимание, что первая скобка является обязательной и кавычки должны быть экранированы с помощью обратной косой черты (
`\`

).


### Условия

Таблицы дропа используют различные условия, которые добавляют требования к выпадению, пулу или функции.

Ниже приведен список допустимых условий и используемые ими теги. Теги размещаются в том же объекте условия, что и condition:

**entity_properties**— Тестируемые свойства сущности.- entity: Определяет сущность для проверки условия. Значение
`this`

позволяет использовать сущность, которая умерла,`killer`

для убийцы, или`killer_player`

для убийцы, являющегося игроком. - properties: Проверяемые свойства.
- on_fire: Проверяет горит сущность или нет.


- entity: Определяет сущность для проверки условия. Значение
**entity_scores**— Проверяет количество очков сущности в системе счёта игровых событий.- entity: Определяет сущность для проверки условия. Значение
`this`

позволяет использовать сущность, которая умерла,`killer`

для убийцы, или`killer_player`

для убийцы, являющегося игроком. - scores: Количество очков для проверки. Все указанные очки должны пойти для прохождения условия
- A score: Имя ключа — это объект. Значение — точная оценка, необходимая для выполнения условия.
- A score: Имя ключа — это цель. Значение — диапазон значений очков, необходимых для выполнения условия.
- min: Минимальный количество очков.
- max: Максимальный количество очков.



- entity: Определяет сущность для проверки условия. Значение
**killed_by_player**— Проверяет, существует ли сущность`killer_player`

- inverse: Если
`true`

, то условие проходит, если`killer_player`

«не» доступен.

- inverse: Если
**random_chance**— Проверяет, если случайное число 0.0-1.0 меньше заданного значения.- chance: Показатель успешности как число 0.0-1.0.

**random_chance_with_looting**— Проверяет, если случайное число 0.0-1.0 меньше заданного значения, на которое влияет уровень добычи сущности`killer`

.- chance: Базовый уровень добычи.
- looting_multiplier: Регулировка базового коэффициента добычи. Формула:
`шанс + (уровень добычи * множитель добычи)`

.


## Список таблиц дропа

Ниже приведен список всех таблиц дропа, которые существуют по умолчанию.

Дополнительные таблицы могут быть добавлены в сохраненном мире для использования с пользовательскими картами.

**loot_tables****blocks****chests**— Предметы для сундука с дропом**abandoned_mineshaft**— Вагонетка с сундуком найденная в шахте**buried_treasure**— Сундуки сокровищниц найденные при помощи карты сокровищницы**desert_pyramid**— Сундуки найденные внутри сокровищницы храма в пустыне**end_city_treasure**— Сундук найденный в городе Края**igloo_chest**— Сундуки, которые появляются в подвале иглу**jungle_temple**— Сундуки найденные внутри храма джунглей**jungle_temple_dispenser**— Выбрасыватель найденные внутри храме джунглей**nether_bridge**— Сундук найденный в адской крепости**shipwreck_map**— Сундуки найденные в затонувших кораблях, которые могут содержать внутри сокровищницы карту сокровищниц**shipwreck_supply**— Сундуки найденные в затонувших кораблях**shipwreck_treasure**— Сундуки с сокровищами найденные в затонувших кораблях**simple_dungeon**— Сундуки найденные в сокровищнице**spawn_bonus_chest**— Бонусный сундук, который появляется в новом мире, если появление бонусного сундука включено**stronghold_corridor**— Сундуки найденные на алтаре из плит в коридорах крепости**stronghold_crossing**— Сундуки найденные на вернем уровне комнаты хранения крепости**stronghold_library**— Сундуки найденные в библиотеке крепости**underwater_ruin_big**— Сундуки найденные в большом варианте подводных руин**underwater_ruin_small**— Сундуки найденные в малом варианте подводных руин**village_blacksmith**— Сундуки найденные в кузнеце деревни**woodland_mansion**— сундуки найденные в лесном особняке.

**entities**— Предметы, выпавшие из сущности. Может вызвать проблемы при применении к сундукам, из-за некоторых предметов появляющихся в нулевых стеках**sheep**— Овцы с шерстью**black****blue****brown****cyan****gray****green****light_blue****light_gray****lime****magenta****orange****pink****purple****red****white****yellow**

**armor_stand****bat****blaze****cat****cat_morning_gift****cave_spider****chicken****cod****cow****creeper****donkey****dolphin****drowned****elder_guardian****ender_dragon****enderman****endermite****evoker****ghast****giant****guardian****horse****husk****iron_golem****llama****magma_cube****mule****mushroom_cow****ocelot****panda****parrot****phantom****player****pig****polar bear****pufferfish****rabbit****salmon****sheep**— Овцы без шерсти, также унаследованные овцами с шерстью**shulker****silverfish****skeleton****skeleton_horse****slime****snow_golem****spider****squid****tropical_fish****vex****villager****vindicator****witch****wither****wither_skeleton****wolf****zombie****zombie_horse****zombie_pigman****zombie_villager**

**gameplay****fishing****fish**— Также унаследованный от стража и древнего стража**junk****treasure**

**fishing**— Используется для определения дропа от рыбалки, загружая три таблицы из папки рыбалки, применяя удачу каждому из них

**empty**— Не содержит элементов, пустой элемент


## Пользовательские карты

Пользовательские карты могут использовать таблицы дропа, изменить какой дроп будет появляться в контейнерах или дропаться мобов. Авторы пользовательских карт могут либо изменить существующие таблицы добычи, либо создать новые.

Файловая структура:

**Каталог сохранения мира****datapacks****data pack****data****minecraft****loot_tables***имя таблицы дропа*.json


**пользовательский каталог****loot_tables***имя таблицы дропа*.json







Например, файл для зомби будет в `datapacks/`

. Это заставит каждого зомби в этом мире использовать вашу таблицу добычи, а не таблицу добычи зомби по умолчанию.
Чтобы добавить пользовательские таблицы дропа, создайте новый файл в новом каталоге, например, *набор данных*/data/minecraft/loot_tables/entities/zombie.json`loot_tables`

. Затем вызовите моба с тегом данных `DeathLootTable`

, задайте имя каталога и файла (без .json расширения),
например, `DeathLootTable:"customdirectory:path/to/table"`

.

## История

Официальный выпуск Java Edition | |||||
---|---|---|---|---|---|

19 октября 2015 | Dinnerbone анонсировал таблицы дропа. | ||||

1.9 | 15w43a | Были добавлены таблицы дропа. | |||

15w43b | Добавлено состояние entity_scores. | ||||

15w43c | Переименование "villager_golem.json" в "iron_golem.json" | ||||

Добавлены таблицы дропа для рыболовли, овец без шерсти, зомби и лошади-скелета. | |||||

Переименован тег item: в name:, а тег items: в entries: | |||||

Добавлен тег type: и поддержка загрузки таблиц дропа вместо предметов. | |||||

Добавлен тег luck: к файлам по умолчанию, хотя он ничего не делает в коде. | |||||

Добавлена функция set_damage.
| |||||

15w44a | Добавлена функция enchant_randomly и set_attributes. | ||||

15w44b | Добавлен тег quality. | ||||

Удален тег luck и luck_multiplier. | |||||

Добавлен тег bonus_rolls. | |||||

15w51a | Игрок в режиме наблюдения больше не может инициировать контейнер используя свою таблицу дропа для генерации дропа. | ||||

1.9.1 | pre1 | Теперь таблицы дропа работают с раздатчиком и выбрасывателем. | |||

Добавлена таблица по умолчанию `chests/jungle_temple_dispenser` . | |||||

1.11 | 16w32a | Donkey, mule, husk and zombie villager now each draw from their own loot tables, rather than drawing from the horse and zombie loot tables, respectively | |||

16w43a | Villagers, vexes and ender dragons are now able to draw from their own loot tables | ||||

1.13 | 17w43a | Настраиваемые таблицы добычи были перенесены в набор данных. | |||

1.14 | 18w43a | Выпадение блоков изменено и для таблиц дропа. | |||

18w44a | Добавлены таблицы дропа для котов, утренних подарков котов, игроков, Иссушителя. | ||||

18w44a | Добавлены таблицы дропа для новых блоков. | ||||

18w49a | Новая функция: `copy_nbt` . | ||||

1.15 | 19w34a | Новая функция: `copy_state` . | |||

Новые параметры: `block` и `properties` . | |||||

19w35a | Теперь сущности устанавливаются в таблицы добычи, если этого не было сделано ранее. | ||||

19w38a | Добавлены новые параметры в условие `location_check` : `offsetX` , `offsetY` , `offsetZ` . | ||||

Добавлено условие `time_check` , проверяющее время дня. | |||||

1.16 | 20w12a | Добавлен новый суб-предикат сущности: `fishing_hook` , проверяющий свойства рыболовного крючка. | |||

Добавлен параметр `in_open_water` , определяющий соответствие: является ли место ловли рыбы открытым водным пространством или нет. | |||||

1.16 Pre-release 3 | Добавлена таблица добычи для блока портала в Нижний мир. |


## Проблемы

Отчёты об ошибках, связанных с «Таблицы добычи», поддерживаются в системе отслеживания ошибок Mojira. Сообщайте о найденных ошибках там (на английском языке).