Tabela de itens

De Minecraft Wiki
Ir para: navegação, pesquisa

Tabelas de itens (pt-BR) ou tabelas de espólio (pt-PT) são arquivos JSON técnicos usados ​​para ditar quais itens devem ser gerados em várias situações, como quais itens devem estar em recipientes gerados naturalmente, quais os itens devem ser largados ao quebrar um bloco ou ao matar uma criatura, quais itens podem ser pescados, e mais. Não afeta a experiência largada ou entidades não-itens largadas, como slimes de slimes grandes ou traças de blocos infestados.

Uso

As tabelas de itens são estruturadas como uma tag String que determina a tabela a ser usada e uma tag Long determinando a semente. Recipientes ou criaturas com a mesma semente e tabela largam os mesmos itens. As tabelas de itens não determinam o slot do contêiner a ser usado, que é determinado aleatoriamente com base na semente.

Para baús, baús com armadilha, funis, carrinhos de mina com baú, carrinhos de mina com funil, ejetores, liberadores, caixas de shulker e barris:

    •  LootTable: Tabela de itens a ser usada para encher o recipiente quando ele for aberto novamente, ou os itens são de outra forma interagidos. Quando o recipiente é um baú que faz parte de um baú duplo, apenas a metade correspondente ao baú único marcado é afetada.
    •  LootTableSeed: Semente para gerar a tabela de itens. Funciona de forma semelhante às sementes para mundos. 0 ou omitido usa uma semente aleatória.

Essas tags são removidas uma vez que os itens tenham sido interagidos (abrindo o contêiner, quebrando o contêiner, etc.), e somente então os itens são colocados no contêiner.

Para criaturas:

  • A tag raiz.
    •  DeathLootTable: Tabela de itens a ser usada para os itens que caem quando a entidade é morta.
    •  DeathLootTableSeed: Semente para gerar a tabela de itens. Funciona de forma semelhante às sementes para mundos. 0 ou omitido usa uma semente aleatória.

As tabelas de itens de criaturas e contêineres podem ser alteradas com /execute store e /data merge[inglês]. O jogador também pode conceder uma tabela de itens para uma entidade ou soltá-la no mundo com /loot[inglês].

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 a block drops, chest for a treasure chest, fishing for a fishing loot table, gift for a cat or villager gift, advancement_reward if it's used as a reward for an advancement, barter for loot from bartering with piglins, command for /execute (if|unless) predicate, selector for predicate= in selectors, advancement_entity for entity predicates in advancements or generic if none of the above apply.
    •  functions: Applies functions to all item stacks produced by this table. 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.
    •  pools: A list of all pools for this loot table. Each pool used generates 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.
        •  functions: Applies functions to all item stacks produced by this pool. 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.
        •  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.
        •  rolls: Specifies a random number of rolls from a binomial distribution.
          •  type: Type of uniform int. Set to "minecraft:binomial".
          •  n: Number of tries.
          •  p: Probability of each try to add a roll.
        •  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.
            •  functions: Applies functions to the item stack or item stacks 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.
            •  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 convenience, e.g. if one condition applies for multiple entries.
              • For type 'alternatives' a list of entries of which the first, and only the first, successful 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 are 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 generates one of each of the items in the tag. Required when type is 'tag'.
            •  weight: Determines how often this entry is chosen out of all the entries in the pool. Entries with higher weights are used more often (chance is this entry's weighttotal of all considered entries' weights).
            •  quality: Modifies the entry's weight based on the killing/opening/fishing player's luck attribute. Formula is floor( weight + (quality * generic.luck)).

Funções

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 binomial 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..Level + 2) - 1)+1)).
    •  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.

  • copy_state - Copies state properties from dropped block to the item's BlockStateTag tag.
    •  block: A block ID. Function fails if the block doesn't match.
    •  properties: A list of property names to copy.
      • A block state name to copy.

  • enchant_randomly - Enchants the item with one randomly-selected enchantment. The level of the enchantment, if applicable, is random.
    •  enchantments: List of enchantment IDs to choose from. If omitted, all enchantments applicable to the item are 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 changes 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, 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 is 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 is 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.
      •  type: The distribution type. Arguments lie in the count compound.
        • uniform: Uniform distribution. A random integer is chosen with probability of each number being equal.
          •  min: Minimum stack size.
          •  max: Maximum stack size.
        • binomial: Binomial distribution. Roll a number of times, each having a chance of adding 1 to the stack size.
          •  n: Number of rolls.
          •  p: Chance of each roll.

  • 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_loot_table - Sets the loot table for a container (chest etc.).
    •  name: Specifies the resource location of the loot table to be used.
    •  seed: Optional. Specifies the loot table seed. If absent or set to 0, a random seed will be used.

  • 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 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 (\).

  • set_stew_effect - Sets the status effects for suspicious stew.
    •  effects: The effects to apply.
      • An effect.
        •  type: The effect ID.
        •  duration: The duration of the effect.

Condições

Artigo principal: Predicado

Loot tables use various conditions that 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.

Moreover, the conditions from predicates directory in the <namespace> directory in data packs have the same structure as the loot conditions.

See predicate for the possible conditions.

Lista de tabelas de itens

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. Note that some blocks, such as bedrock, end portals and other blocks unbreakable in survival do not have loot tables, some blocks share loot tables (namely wall and floor variants of blocks) and that certain drops, namely head drops from charged creepers and the wither's nether star, are currently not covered by loot tables.[1]

Pacotes de dados

Artigo principal: Pacotes de dados

Pacotes de dados personalizados usam tabelas de itens para alterar o que o saque pode gerar em contêineres ou cair por criaturas. Eles podem alterar as tabelas de itens existentes ou criar novas. Esta é a estrutura do arquivo:

  • pasta de salvamento do mundo
    • datapacks
      • pacote de dados

The JSON files go in this folder. Vanilla loot tables are grouped into 4 categories: gameplay (fishing), entities, blocks, 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 makes 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".

Histórico

Edição Java
1.9 October 19, 2015Dinnerbone announces loot tables.
15w43a Added loot tables.
15w43b Added condition entity_scores.
15w43c Renamed "villager_golem.json" to "iron_golem.json"
Added fishing loot tables, sheep without wool, and zombie and skeleton horses.
Renamed the tag  item: to  name:, and the tag  items: to  entries:
Added the tag  type: and support to load a loot table instead of an item.
Added the tag  luck: to default files, though it currently does nothing in the code.
Added the function set_damage.
15w44a Added the function enchant_randomly and set_attributes.
15w44b Added the  quality tag.
Removed  luck and  luck_multiplier tags.
Added the  bonus_rolls tag.
15w51a A player in spectator mode no longer triggers a container to use its loot table to generate loot.
1.9.1 pre1 Loot tables now work with dispensers and droppers.
Added default table chests/jungle_temple_dispenser.
1.11 16w32a Donkeys, mules, husks and zombie villagers 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 Custom loot tables have been moved into data packs.
1.14 18w43a Block drops have been changed to use loot tables too.
Loot tables received a bunch of new options.
Setting entity to "this" now refers to the player in chest and block loot tables.
18w44a Added loot tables for cats, cat_morning_gift, players and withers.
Added loot tables for new blocks.
18w46a Added loot table for illusioners.
18w48a Added more loot tables for villages, some of which are currently unused.
Removed loot table: village_blacksmith.
18w49a village_savanna_house and village_snowy_house loot tables are now used.
Added more loot tables for villages.
18w50a village_desert_house and village_taiga_house loot tables are now used, making all previously unused loot tables no longer unused.
?Empty loot table is now hardcoded.
1.15 19w34a Added the function copy_state.
1.16 20w12a Added fishing_hook sub-predicate to check properties of the fishing hook.

Problemas

Problemas relacionados com "Loot table" são mantidos no rastreador de problemas. Reporte problemas lá.

Referências

Predefinição:Data packs