Участник:INFSCI/Черновики/Таблица добычи

Материал из Minecraft Wiki
Перейти к: навигация, поиск

Оригинал:

Loot tables are technical JSON files that represent what items should be in naturally generated containers, what items should drop when breaking a block or killing a mob, or what items can be fished. It does not affect dropped experience, or dropped non-item entities such as slimes from larger slimes or silverfish from infested blocks.

Usage[править | править код]

The loot tables are structured as a String tag which determines the table to use, and a Long tag determining the seed. Containers or mobs with the same seed and table will drop the same items. Loot tables do not determine which slot of a container is used; that is randomly determined based on the seed.

For chests, trapped chests, hoppers, storage minecarts, minecarts with hoppers, dispensers, droppers, and shulker boxes:

These tags will be removed once the items have been interacted with (by opening the container, breaking the container, etc.), and only then will items be put in the container.

For mobs:

  • The root tag.
    •  DeathLootTable: Loot table to be used for the items that drop when the entity is killed.
    •  DeathLootTableSeed: Seed for generating the loot table. Works similarly to the seeds for worlds. 0 or omitted will use a random seed.

The loot tables of mobs and containers can be altered with /entitydata, /blockdata, /execute store and /data merge. The player could also grant a loot table to an entity or drop it in the world with /loot.

Tags[править | править код]

Loot tables are defined using the JSON format. Below are a list of tags used.

  •  The root tag
    •  type: Optional type of the loot table. Must be one of empty if the loot table does not generate any loot, entity for loot an entity drops, block for loot an block drops, chest for a treasure chest, fishing for a fishing loot table, advancement_reward if it's used as a reward for an advancement or generic if none of the above apply.
    •  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.
        •  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.
            •  type: Namespaced ID type of entry. Can be item for item entries, tag for item tags, loot_table to produce items from another loot table, group for child entries, alternatives to select one sub-entry from a list, sequence to select sub-entries until one entry cannot be granted, dynamic to generate block specific drops, or empty for an entry that generates nothing.
            •  name:
              • For type 'item', ID name of the item to be produced, e.g. diamond. The default, if not changed by functions, is a stack of 1 of the default instance of the item.
              • For type 'tag' item tag to be used, e.g. arrows.
              • For type 'loot_table', loot table to be used, e.g. gameplay/fishing/junk.
              • For type 'dynamic', can be contents for block entity contents or self for banners and player skulls.
            •  children:
              • For type 'group' a list of entries that are used to generate loot. Can be used for convinience, e.g. if one condition applies for multiple entries.
              • For type 'alternatives' a list of entries of which the first, and only the first, succesful entry gets generated.
              • For type 'sequence' a list of entries that are used until the first entry fails. After an entry fails, no more entries of this list will be generated
            •  expand: For type 'tag', if set to true, it chooses one item of the tag, each with the same weight and quality. If false, it uses all the items in the tag.
            •  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: Namespaced ID 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.
            •  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)).

Functions[править | править код]

Loot tables use various functions to change the item stack being produced, such as adjusting the stack size or adding enchantments. Below are a list of valid functions, and the tags used by them. The tags are placed in the same function object as  function:.

  • apply_bonus - Applies a predefined bonus formula.
    •  enchantment: Enchantment ID used for level calculation.
    •  formula: Can be binomial_with_bonus_count for a biominal distribution (with n=level + extra, p=probability), uniform_bonus_count for uniform distribution (from 0 to level * bonusMultiplier), or ore_drops for a special function used for ore drops in the vanilla game (count * (max(0, random(0..1) - 1) + 1)).Шаблон:More info
    •  parameters: Values required for the formula.
      •  extra: For formula 'binomial_with_bonus_count', the extra value.
      •  probability : For formula 'binomial_with_bonus_count', the probability.
      •  bonusMultiplier : For formula 'uniform_bonus_count', the bonus multiplier.
  • copy_name - For loot table type 'block', copies a block entity's CustomName tag into the item's display.Name tag.
    •  source: "block_entity" - Needs to be set to 'block_entity'.
  • copy_nbt - Copies nbt to the item's tag tag.
    •  source: Specifies the source. Set to block_entity for the block entity of the destroyed block, this to use the entity that died or the player that gained the advancement, opened the container or broke the block, killer for the killer, or killer_player for a killer that is a player.
    •  ops: A list of copy operations.
      • An operation
        •  source: The nbt path to copy from.
        •  target: The nbt path to copy to, starting from the item's tag tag.
        •  op: Can be replace to replace any existing contents of the target, append to append to a list, or merge to merge into a compound tag.
  • enchant_randomly - Enchants the item with one randomly-selected enchantment. The level of the enchantment, if applicable, will be random.
    •  enchantments: List of enchantment names to choose from. If omitted, all enchantments applicable to the item will be possible.
  • 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: Specifies the exact enchantment level to use.
    •  levels: Specifies a random enchantment level within a range.
      •  min: Minimum level to use.
      •  max: Maximum level to use.
  • exploration_map - Converts an empty map into an explorer map leading to a nearby generated structure.
    •  destination: The type of generated structure to locate. Accepts any of the StructureTypes used by the /locate command (case insensitive).
    •  decoration: The icon used to mark the destination on the map. Accepts any of the map icon text IDs (case insensitive). If mansion or monument is used, the color of the lines on the item texture will change to match the corresponding explorer map.
    •  zoom: The zoom level of the resulting map. Defaults to 2.
    •  search_radius: The size, in chunks, of the area to search for structures. The area checked is square, not circular. Radius 0 causes only the current chunk to be searched, radius 1 causes the current chunk and eight adjacent chunks to be searched, and so on. Defaults to 50.
    •  skip_existing_chunks: Don't search in chunks that have already been generated. Defaults to true.
  • explosion_decay - For loot tables of type 'block', removes some items from a stack, if there was an explosion. Each item has a chance of 1/explosion radius to be lost.
  • furnace_smelt - Smelts the item as it would be in a furnace. Used in combination with the entity_properties condition to cook food from animals on death.
  • fill_player_head - Adds required item tags of a player head
    •  entity: Specifies an entity to be used for the player head. Set to this to use the entity that died or the player that gained the advancement, opened the container or broke the block, killer for the killer, or killer_player for a killer that is a player.
  • limit_count - Limits the count of every item stack.
    •  limit: Specifies the exact limit to use.
    •  limit: Specifies a random limit within a range.
      •  min: Minimum limit to use.
      •  max: Maximum limit to use.
  • looting_enchant - Adjusts the stack size based on the level of the Looting enchantment on the killer entity.
    •  count: Specifies an exact number of additional items per level of looting.
    •  count: Specifies a random number (within a range) of additional items per level of looting. Note the random number generated may be fractional, and will be rounded after multiplying by the looting level.
      •  min: Minimum increase.
      •  max: Maximum increase.
    •  limit: Specifies the maximum amount of items in the stack after the looting calculation. If the value is 0, no limit is applied.
  • set_attributes - Add attribute modifiers to the item.
    •  modifiers
      •  A modifier
        •  name: Name of the modifier.
        •  attribute: The name of the attribute this modifier is to act upon.
        •  operation: Must be either "addition", "multiply_base" or "multiply_total".
        •  amount: Specifies the exact amount of change of the modifier.
        •  amount: Specifies a random amount within a range.
          •  min: Minimum amount.
          •  max: Maximum amount.
        •  id: Optional : UUID of the modifier following. If none specified, a new UUID will be generated.
        •  slot: Slots the item must be in for the modifier to take effect, this value can be one of the following : "mainhand", "offhand", "feet", "legs", "chest", or "head".
        •  slot: One of the listed slots will be chosen randomly.
  • set_contents - For loot tables of type 'block', sets the contents of a container block item to a list of entries.
    •  entries: The entries to use as contents.
  • set_count - Sets the stack size.
    •  count: Specifies the exact stack size to set.
    •  count: Specifies a random stack size within a range.
      •  min: Minimum stack size.
      •  max: Maximum stack size.
  • set_damage - Sets the item's damage value (durability) for tools.
    •  damage: Specifies the damage fraction to set (1.0 is undamaged, 0.0 is zero durability left).
    •  damage: Specifies a random damage fraction within a range.
      •  min: Minimum value.
      •  max: Maximum value.
  • set_lore - Adds lore to the item
    •  lore: List of JSON text components. Each list entry represents one line of the lore.
    •  entity: Specifies the entity to act as the source @s in the JSON text component. Set to this to use the entity that died or the player that gained the advancement, opened the container or broke the block, killer for the killer, or killer_player for a killer that is a player.
    •  replace: If true, replaces all existing lines of lore, if false appends the list.
  • set_name - Adds display name of the item.
    •  name: A simple name like with an anvil.
    •  name: A JSON text component name, allowing color, translations, etc.
    •  entity: Specifies an entity to act as source @s in the JSON text component. Set to this to use the entity that died or the player that gained the advancement, opened the container or broke the block, killer for the killer, or killer_player for a killer that is a player.
  • set_nbt - Adds NBT data to the item.
    •  tag: Tag string to add, similar to those used by commands. Note that the first bracket is required and quotation marks need to be escaped using a backslash (\).

Conditions[править | править код]

Loot tables use various conditions which add requirements to a drop, pool, or function. Below are a list of valid conditions, and the tags used by them. The tags are placed in the same condition object as  condition:.

  • alternative - Joins conditions from parameter terms with "or".
    •  terms: A list of conditions to join using 'or'.
  • block_state_property - Check properties of a block state.
    •  block: A block ID. Test will fail if the block doesn't match.
    •  properties: (Optional) A map of block property names to values. All values are strings. Test will fail if the block doesn't match.
  • damage_source_properties - Check properties of damage source.
    •  properties: map of property:value pairs.
  • entity_present - Returns true if entity is set.
  • entity_properties - Test properties of an entity.
    •  entity: Specifies the entity to check for the condition. Set to this to use the entity that died or the player that gained the advancement, opened the container or broke the block, killer for the killer, or killer_player for a killer that is a player.
    •  predicate: Predicate applied to location, uses same structure as advancements.
      •  flags: Predicate Flags to be checked.
        •  is_on_fire: Test whether the entity is or is not on fire.
        •  is_sneaking: Test whether the entity is or is not sneaking.
        •  is_sprinting: Test whether the entity is or is not sprinting.
        •  is_swimming: Test whether the entity is or is not swimming.
        •  is_baby: Test whether the entity is or is not a baby variant.
  • entity_scores - Test the scoreboard scores of an entity.
    •  entity: Specifies the entity to check for the condition. Set to this to use the entity that died or the player that gained the advancement, opened the container or broke the block, killer for the killer, or killer_player for a killer that is a player.
    •  scores: Scores to check. All specified scores must pass for the condition to pass.
      •  A score: Key name is the objective while the value is the exact score value required for the condition to pass.
      •  A score: Key name is the objective while the value specifies a range of score values required for the condition to pass.
        •  min: Minimum score.
        •  max: Maximum score.
  • inverted - Inverts condition from parameter term.
    •  term: The condition to be negated.
  • killed_by_player - Test if a killer_player entity is available.
    •  inverse: If true, the condition passes if killer_player is not available.
  • match_tool - Checks tool.
    •  predicate: Predicate applied to item, uses same structure as advancements.
  • random_chance - Test if a random number 0.0–1.0 is less than a specified value.
    •  chance: Success rate as a number 0.0–1.0.
  • random_chance_with_looting - Test if a random number 0.0–1.0 is less than a specified value, affected by the level of Looting on the killer entity.
    •  chance: Base success rate.
    •  looting_multiplier: Looting adjustment to the base success rate. Formula is chance + (looting_level * looting_multiplier).
  • survives_explosion - Returns true with 1/explosion radius probability.
  • table_bonus - Passes with probability picked from table, indexed by enchantment level.
    •  enchantment: Id of enchantment.
    •  chances: List of probabilities for enchantment level, indexed from 0.
  • tool_enchantment - Test the tool's enchantments.
    •  enchantments: List of enchantments the tool must have.
      • An enchantment.
        •  enchantment: The enchantment name ID.
        •  levels: The level this enchantment has to be.
          •  min: The minimum level.
          •  max: The maximum level.
  • weather_check - Checks for a current wheather state
    •  raining: If true, the condition evaluates to true only if it's raining.
    •  thundering: If true, the condition evaluates to false only if it's thundering.

List of loot tables[править | править код]

Below is a list of all loot tables that exist by default. More tables can be added in the world save for use with custom maps.

Шаблон:Collapse

Data packs[править | править код]

Custom data packs use loot tables to change what loot will spawn in containers or drop by mobs. They can either change existing loot tables or create new ones. This is the file structure:

  • world save folder
    • datapacks
      • data pack
        • data
          • minecraft
          • custom_namespace
            • loot_tables
              • loot table name.json

The JSON files go in this folder. Vanilla loot tables are grouped into 3 categories (along with empty): gameplay (fishing), entities, and chests, with some tables being in subfolders of those. 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 the datapack's loot table rather than the default zombie loot table.

Loot tables are namespaced. To create a custom loot table, first create a new folder for the custom namespace, and then create loot tables within following a similar structure. 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:"custom_namespace:path/to/table".

History[править | править код]

Шаблон:History Шаблон:History Шаблон:History Шаблон:History Шаблон:History Шаблон:History Шаблон:History Шаблон:History Шаблон:History Шаблон:History Шаблон:History Шаблон:History Шаблон:History Шаблон:History Шаблон:History Шаблон:History Шаблон:History Шаблон:History Шаблон:History Шаблон:History

Issues[править | править код]

Шаблон:Issue list

Шаблон:Data packs ru:Таблицы добычи

Текущая версия:

Таблицы добычи (англ. 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.
            •  functions: Для типа 'item', применяет функции к создаваемому стеку предметов. Функции применяются для того, чтобы например looting_enchant должен быть после set_count, чтобы работать правильно.
              •  Функция:
                •  function: Имя применяемой функции. Действующие функции описаны ниже.
                •  conditions: Определяет условия для применения функции. Если задано несколько условий, то должны выполнятся все условия.
                  •  Условие
                    •  condition: Название условия. Действующие условия описаны ниже.
            •  weight: Определяет, как часто эта запись будет выбираться из всех записей в пуле. Записи с более высоким весом будут использоваться чаще: шанс - это вес записи/сумма всех рассматриваемых все записей.
            •  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" — Зачаровывает предмет, с указанным уровнем зачаровывания.
    •  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: "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 — Не содержит элементов, пустой элемент

Пользовательские карты[править | править код]

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

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

  • Каталог сохранения мира
    • 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 октября 2015Dinnerbone анонсировал таблицы дропа.
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.