Эту статью нужно срочно обновить!
Вы можете помочь, обновив содержимое статьи в соответствии с последними версиями 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
- sheep — Овцы с шерстью
- gameplay
- fishing
- fish — Также унаследованный от стража и древнего стража
- junk
- treasure
- fishing — Используется для определения дропа от рыбалки, загружая три таблицы из папки рыбалки, применяя удачу каждому из них
- fishing
- empty — Не содержит элементов, пустой элемент
Пользовательские карты[]
Пользовательские карты могут использовать таблицы дропа, изменить какой дроп будет появляться в контейнерах или дропаться мобов. Авторы пользовательских карт могут либо изменить существующие таблицы добычи, либо создать новые.
Файловая структура:
- Каталог сохранения мира
- datapacks
- data pack
- data
- minecraft
- loot_tables
- имя таблицы дропа.json
- loot_tables
- пользовательский каталог
- loot_tables
- имя таблицы дропа.json
- loot_tables
- minecraft
- data
- data pack
- datapacks
Например, файл для зомби будет в 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. Сообщайте о найденных ошибках там (на английском языке).