Minecraft Wiki
Advertisement

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

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

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

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

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

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

Для мобов:

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

Таблицы дропа мобов и контейнеров могут быть изменены с помощью команд /entitydata, /blockdata, /execute store и /data merge. Вы также можете предоставить таблицу дропа сущности или сбросить ее в мире с помощью команды /drop

Теги

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

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

  •  The root tag
    •  pools: A list of all pools for this entity. Each pool used will generate items from its list of items based on the number of rolls. Pools are applied in order.
      •  A pool
        •  conditions: Determines conditions for this pool to be used. If multiple conditions are specified, all must pass.
          •  A condition
            •  condition: Name of condition. Valid conditions are described below.
        •  rolls: Specifies the exact number of rolls on the pool.
        •  rolls: Specifies a random number of rolls within a range.
          •  min: Minimum number of rolls. Inclusive.
          •  max: Maximum number of rolls. Inclusive.
        •  bonus_rolls: Specifies the exact number of bonus rolls on the pool per point of luck. Rounded down after multiplying.
        •  bonus_rolls: Specifies a random number of bonus rolls within a range. Rounded down after multiplying.
          •  min: Minimum number of bonus rolls. Inclusive.
          •  max: Maximum number of bonus rolls. Inclusive.
        •  entries: A list of all things that can be produced by this pool. One entry is chosen per roll as a weighted random selection from all entries without failing conditions.
          •  An entry
            •  conditions: Determines conditions for this entry to be used. If multiple conditions are specified, all must pass.
              •  A condition
                •  condition: Name of condition. Valid conditions are described below.
            •  type: Type of entry. Can be item for item entries, loot_table to produce items from another loot table, or empty for an entry that generates nothing.
            •  name:
              • For type 'item', ID name of the item to be produced, e.g. minecraft:diamond. The default, if not changed by functions, is a stack of 1 of the default instance of the item.
              • For type 'loot_table', loot table to be used, e.g. minecraft:gameplay/fishing/junk.
            •  functions: For type 'item', applies functions to the item stack being produced. Functions are applied in order, so for example looting_enchant must be after set_count to work correctly.
              •  A function:
                •  function: Name of the function to apply. Valid functions are described below.
                •  conditions: Determines conditions for this function to be applied. If multiple conditions are specified, all must pass.
                  •  A condition
                    •  condition: Name of condition. Valid conditions are described below.
            •  weight: Determines how often this entry will be chosen out of all the entries in the pool. Entries with higher weights will be used more often (chance is Шаблон:Frac).
            •  quality: Modifies the entry’s weight based on the killing/opening/fishing player’s luck attribute. Formula is floor( weight + (quality * generic.luck)).

Функции

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

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

  • Функция.
    •  function: "enchant_randomly" — Зачаровывает предмет с помощью одного случайно выбранного зачаровывания. Уровень зачаровывания, если применимо, будет случайным.
    •  enchantments: Список измен зачаровываний. Если этот параметр опущен, будут доступны все чары, применимые к предмету.
  • Функция.
    •  function: "enchant_with_levels" — Enchants the item, with the specified enchantment level (roughly equivalent to using an enchantment table at that level).
    •  treasure: Determines whether treasure enchantments are allowed on this item.
    •  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: "looting_enchant" — Регулирует размер стека в зависимости от уровня чар мародёрства killer для сущности.
    •  count: Указывает точное количество дополнительных предметов на уровень дропа.
    •  count: Указывает случайное число (в пределах диапазона) дополнительных предметов на уровень мародёрства. Обратите внимание на случайное число может быть дробным и округляется после умножения на уровень мародёрства.
      •  min: Минимальное увеличение.
      •  max: Максимальное увеличение.
    •  limit: Указывает максимальное количество предметов в стеке после вычисления мародёрства. Если значение равно 0, ограничение не применяется.
  • Функция.
    •  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: Один из перечисленных слотов будет выбран случайным образом.
  • Функция.
    •  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_scores — Проверяет количество очков существа в системе счёта игровых событий.
    •  entity: Определяет сущность для проверки условия. Значение this позволяет использовать сущность, которая умерла, killer для убийцы, или killer_player для убийцы, являющегося игроком.
    •  scores: Количество очков для проверки. Все указанные очки должны пойти для прохождения условия
      •  A score: Имя ключа - это объект. Значение - точная оценка, необходимая для выполнения условия.
      •  A score: Имя ключа - это цель. Значение - диапазон значений очков, необходимых для выполнения условия.
        •  min: Минимальный количество очков.
        •  max: Максимальный количество очков.
  • killed_by_player — Проверяет, существует ли существо killer_player
    •  inverse: Если true, то условие проходит, если killer_player "не" доступен.
  • 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 — Предметы для сундука с дропом
    • 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
      • fishing — Используется для определения дропа от рыбалки, загружая три таблицы из папки рыбалки, применяя удачу каждому из них
    • empty — Не содержит элементов, пустой элемент

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

Основная статья: Команды консоли/datapack

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

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

  • Каталог сохранения мира
    • datapacks
      • data pack
        • data
          • minecraft
            • loot_tables
              • loot table name.json
          • custom directory
            • loot_tables
              • loot table name.json

The JSON files go in this folder. For example, the file for zombies would go in datapacks/pack name/data/minecraft/loot_tables/entities/zombie.json. This will make every zombie in that world use your loot table rather than the default zombie loot table. To add custom loot tables, create a new file in a new directory. Then, summon the mob with the data tag DeathLootTable set to the name of the directory and file (without the .json extension), such as DeathLootTable:"customdirectory:path/to/table".

История

Официальный выпуск Java Edition
1.9October 19, 2015Dinnerbone анонсировал таблицы дропа.
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.1pre1Теперь таблицы дропа работают с раздатчиком и выбрасывателем.
Добавлена таблица по умолчанию chests/jungle_temple_dispenser.
1.1116w32aDonkey, mule, husk and zombie villager now each draw from their own loot tables, rather than drawing from the horse and zombie loot tables, respectively
16w43aVillagers, vexes and ender dragons are now able to draw from their own loot tables
1.1317w43aНастраиваемые таблицы лута были перенесены в набор данных.
Запланированные версии Java Edition
1.1418w43aВыпадение блоков изменено и для таблиц дропа.
18w44aДобавлены таблицы дропа для котов, утренних подарков котов, игроков, Иссушителя.
18w44aДобавлены таблицы дропа для новых блоков.

Проблемы

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

Advertisement