18 109 bytes añadidos,
19:17 15 nov 2015 {{snapshot}}
Las '''tablas del botín''' (en inglés Loot tables) son las próximas tablas [[wikipedia:JSON|JSON]] técnicas que representan los aspectos que deberían estar en un [[Cofre#Generación natural|cofre generado de manera natural]], lo que [[Objetos otorgados| objetos que deben caer cuando se mata a una criatura]] o [[Pesca|qué objetos se pueden pescar]].
== Uso ==
Las tablas de botín se estructuran como una etiqueta en cadena que determina la tabla que usar, y una etiqueta larga que determinar la semilla. Los cofres o criaturas con la misma semilla y tabla darán los mismos objetos. Las tablas del botín no determinan qué ranura de un cofre se utiliza; eso se determina al azar basado en la semilla.
Para [[cofre]]s, [[cofre trampa|cofres trampa]], [[Vagoneta con cofre|vagonetas con cofre]] y [[vagoneta con tolva|vagonetas con tolva]]:
<div class="treeview">
* {{BlockSprite|chest}} {{BlockSprite|trapped-chest}} {{EntitySprite|minecart-chest}} {{EntitySprite|minecart-with-hopper}}
** {{nbt|string|LootTable}}: tabla del botín que se utiliza para llenar el cofre cuando es abierto, o de otro modo se interactuó con los objetos. Cuando el cofre es parte de un cofre doble, sólo la mitad correspondiente a la etiqueta del cofre seleccionado se verá afectada.
** {{nbt|long|LootTableSeed}}: las semillas para la generación de la tabla del botín. 0 u omisión utilizará una semilla aleatoria.
</div>
Estas etiquetas serán eliminadas una vez que los objetos han interactuado (abriendo el cofre, rompiendo el cofre, etc.), y sólo entonces se pueden poner objetos en el cofre.
Para [[criatura]]s:
<div class="treeview">
* {{nbt|compound}} The root tag.
** {{nbt|string|DeathLootTable}}: Tabla del botín que se utilizará para los objetos que caen cuando se mata a la entidad.
** {{nbt|long|DeathLootTableSeed}}: Semillas para la generación de la tabla del botín. 0 u su omisión utilizará una semilla aleatoria.</div>
Las tablas del botín de criaturas y cofres pueden ser alteradas con los comandos {{cmd|entitydata}} y {{cmd|blockdata}}.
Los mapas personalizados pueden utilizar tablas del botín para cambiar el botín que se genera en el cofre o es otorgado por las criaturas. Se puede modificar cualquiera de las tablas del botín existentes o crear otras nuevas. Esta es la estructura del archivo:
<div class="treeview">
* '''<world save folder>'''
** '''data'''
*** '''loot_tables'''
</div>
Cada carpeta bajo "loot_tables" es un espacio_nombre. Los archivos predeterminados están bajo el espacio_nombre "minecraft", pero los mapas personalizados y mods tienen cada uno sus propios espacio_nombre. Por ejemplo, si se fuera a crear un mapa personalizado llamado "Mapa parkour increible", el espacio_nombre podría ser "mapa_parkour_increible" (no pueden contener espacios). Contendrá cualquier tabla del botín que el mapa utilizará.
Para reemplazar las tablas del botín por defecto, que le colocan en el espacio_nombre "minecraft". Están organizados por entidades, cofres, y la pesca, como se muestra en la sección "[[Tabla del botín#Lista_de_tablas_del_botín|Lista de tablas de botín]]". Para utilizar un espacio de nombres personalizado, se configura la etiqueta de tabla del botín a "espacio_nombre:nombre_tabla", donde "espacio_nombre" es el nombre del espacio de nombres personalizado y "nombre_tabla" es el nombre de archivo de la tabla personalizado, sin la extensión .json.
== Etiquetas (tags) ==
Las tablas del botín se definen mediante el [[wikipedia:JSON|formato JSON]]. A continuación hay una lista de etiquetas utilizadas.
<div class="treeview">
* {{nbt|compound|The root tag}} (La etiqueta raíz)
** {{nbt|list|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.
*** {{nbt|compound|A pool}}
**** {{nbt|list|conditions:}} Determines conditions for this pool to be used. If multiple conditions are specified, all must pass.
***** {{nbt|compound|A condition}}
****** {{nbt|string|condition:}} Name of condition. Valid conditions are described [[#Conditions|below]].
**** {{nbt|int|rolls:}} Specifies the exact number of rolls on the pool.
**** {{nbt|compound|rolls:}} Specifies a random number of rolls within a range.
***** {{nbt|int|min:}} Minimum number of rolls.
***** {{nbt|int|max:}} Maximum number of rolls.
**** {{nbt|float|bonus_rolls:}} Specifies the exact number of bonus rolls on the pool per point of luck. Rounded down after multiplying.
**** {{nbt|compound|bonus_rolls:}} Specifies a random number of bonus rolls within a range. Rounded down after multiplying.
***** {{nbt|float|min:}} Minimum number of bonus rolls.
***** {{nbt|float|max:}} Maximum number of bonus rolls.
**** {{nbt|list|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.
***** {{nbt|compound|An entry}}
****** {{nbt|list|conditions:}} Determines conditions for this entry to be used. If multiple conditions are specified, all must pass.
******* {{nbt|compound|A condition}}
******** {{nbt|string|condition:}} Name of condition. Valid conditions are described [[#Conditions|below]].
****** {{nbt|string|type:}} Type of entry. Can be <code>item</code> for item entries, <code>loot_table</code> to produce items from another loot table, or <code>empty</code> for an entry that generates nothing.
****** {{nbt|string|name:}}
******* For type 'item', ID name of the item to be produced, e.g. <code>minecraft:diamond</code>. The default, if not changed by <code>functions</code>, is a stack of 1 of the default instance of the item.
******* For type 'loot_table', loot table to be used, e.g. <code>minecraft:gameplay/fishing/junk</code>.
****** {{nbt|list|functions:}} For type 'item', applies functions to the item stack being produced. Functions are applied in order, so for example <code>looting_enchant</code> must be after <code>set_count</code> to work correctly.
******* {{nbt|compound|A function:}}
******** {{nbt|string|function:}} Name of the function to apply. Valid functions are described [[#Functions|below]].
******** {{nbt|list|conditions:}} Determines conditions for this function to be applied. If multiple conditions are specified, all must pass.
********* {{nbt|compound|A condition}}
********** {{nbt|string|condition:}} Name of condition. Valid conditions are described [[#Conditions|below]].
****** {{nbt|int|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|this entry's weight|total of all considered entries' weights}}).
****** {{nbt|int|quality:}} Modifies the entry's <code>weight</code> based on the killing/opening/fishing player's luck attribute. Formula is <code>floor( weight + quality * generic.luck)</code>.
</div>
=== Funciones ===
Las tablas del botín utilizan las diferentes funciones para cambiar la pila del objeto que se produce, por ejemplo, ajustar el tamaño de la pila o la adición de encantamientos. A continuación se presentan una lista de funciones válidas, y las etiquetas utilizadas por ellas. Las etiquetas se colocan en la misma función del objeto como {{nbt|string|function:}}.
<div class="treeview">
* '''enchant_randomly''' - Enchants the item with one randomly-selected enchantment. The level of the enchantment, if applicable, will be random.
** {{nbt|list|enchantments:}} List of [[Enchantments#Data values|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 mechanics#How Enchantments Are Chosen|enchantment level]] (roughly equivalent to using an [[enchantment table]] at that level).
** {{nbt|bool|treasure:}} Determines whether treasure enchantments are allowed on this item.
** {{nbt|int|levels:}} Specifies the exact enchantment level to use.
** {{nbt|compound|levels:}} Specifies a random enchantment level within a range.
*** {{nbt|int|min:}} Minimum level to use.
*** {{nbt|int|max:}} Maximum level to use.
* '''furnace_smelt''' - Smelts the item as it would be in a furnace. Used in combination with the <code>entity_properties</code> condition to cook food from animals on death.
* '''looting_enchant''' - Adjusts the stack size based on the level of the [[Looting]] enchantment on the <code>killer</code> entity.
** {{nbt|int|count:}} Specifies an exact number of additional items per level of looting.
** {{nbt|compound|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.
*** {{nbt|int|min:}} Minimum increase.
*** {{nbt|int|max:}} Maximum increase.
* '''set_attributes''' - Add [[attribute]] modifiers to the item.
** {{nbt|list|modifiers}}
*** {{nbt|compound|A modifier}}
**** {{nbt|string|name:}} Name of the modifier.
**** {{nbt|string|attribute:}} The name of the attribute this modifier is to act upon.
**** {{nbt|string|operation:}} Must be either "addition", "multiply_base" or "multiply_total".
**** {{nbt|float|amount:}} Specifies the exact amount of change of the modifier.
**** {{nbt|compound|amount:}} Specifies a random amount within a range.
***** {{nbt|float|min:}} Minimum amount.
***** {{nbt|float|max:}} Maximum amout.
**** {{nbt|string|id:}} Optional : UUID of the modifier following. If non specified, a new UUID will be generated.
**** {{nbt|string|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", "torso", or "head".
**** {{nbt|list|slot:}} One of the listed slots will be chosen randomly.
* '''set_count''' - Sets the stack size.
** {{nbt|int|count:}} Specifies the exact stack size to set.
** {{nbt|compound|count:}} Specifies a random stack size within a range.
*** {{nbt|int|min:}} Minimum stack size.
*** {{nbt|int|max:}} Maximum stack size.
* '''set_damage''' - Sets the item's damage value (durability) for tools.
** {{nbt|float|damage:}} Specifies the damage fraction to set (1.0 is undamaged, 0.0 is zero durability left).
** {{nbt|compound|damage:}} Specifies a random damage fraction within a range.
*** {{nbt|float|min:}} Minimum value.
*** {{nbt|float|max:}} Maximum value.
* '''set_data''' - Sets the item data value of the item.
** {{nbt|int|data:}} Specifies the exact value to set.
** {{nbt|compound|data:}} Specifies a random value within a range.
*** {{nbt|int|min:}} Minimum value.
*** {{nbt|int|max:}} Maximum value.
* '''set_nbt''' - Adds NBT data to an item.
** {{nbt|string|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 (<code>\</code>).
</div>
=== Condiciones ===
Las tablas del botín utilizan diversas condiciones que suman los requisitos paraa una caída de objeto, conjunción, o función. A continuación se presentan una lista de condiciones válidas, y las etiquetas utilizadas por ellos. Las etiquetas se colocan en la misma condición de objeto como {{nbt|string|condition:}}.
<div class="treeview">
* '''entity_properties''' - Test properties of an entity.
** {{nbt|string|entity:}} Specifies the entity to check for the condition. Set to <code>this</code> to use the entity that died, <code>killer</code> for the killer, or <code>killer_player</code> for a killer that is a player.
** {{nbt|compound|properties:}} Properties to be checked.
*** {{nbt|bool|on_fire:}} Test whether the entity is or is not on fire.
* '''entity_scores''' - Test the [[scoreboard]] scores of an entity.
** {{nbt|string|entity:}} Specifies the entity to check for the condition. Set to <code>this</code> to use the entity that died, <code>killer</code> for the killer, or <code>killer_player</code> for a killer that is a player.
** {{nbt|compound|scores:}} Scores to check. All specifies scores must pass for the condition to pass.
*** {{nbt|int|A score:}} Key name is the objective while the value is the exact score value required for the condition to pass.
*** {{nbt|compound|A score:}} Key name is the objective while the value specifies a range of score values required for the condition to pass.
**** {{nbt|int|min:}} Minimum score.
**** {{nbt|int|max:}} Maximum score.
* '''killed_by_player''' - Test if a <code>killer_player</code> entity is available.
** {{nbt|bool|inverse:}} If true, the condition passes if <code>killer_player</code> is ''not'' available.
* '''random_chance''' - Test if a random number 0.0–1.0 is less than a specified value.
** {{nbt|float|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 <code>killer</code> entity.
** {{nbt|float|chance:}} Base success rate.
** {{nbt|float|looting_multiplier:}} Looting adjustment to the base success rate. Formula is <code>chance + looting_level * looting_multiplier</code>.
</div>
== Lista de tablas del botín ==
A continuación se muestra una lista de todas las tablas del botín que existen por defecto. Se pueden añadir más tablas al guardado del mundo para su uso con mapas personalizados.
<div class="treeview">
* '''loot_tables'''
** '''chests''' - Items from [[Chest loot|loot chest]]s
*** '''abandoned_mineshaft''' - [[Minecart with Chest|Minecarts with chests]] found in [[Abandoned mine shaft|abandoned mine shafts]]
*** '''desert_pyramid''' - Chests found in the treasure room inside [[Desert temple|Desert Temples]]
*** '''end_city_treasure''' - Chests found in [[End city|End Cities]]
*** '''igloo_chest''' - The chest that appears in the basements in [[Igloo|igloos]]
*** '''jungle_temple''' - Chests found inside [[Jungle temple|Jungle Temples]]
*** '''nether_bridge''' - Chests found in [[Nether fortress|Nether Fortresses]]
*** '''simple_dungeon''' - [[Dungeon]] chests
*** '''spawn_bonus_chest''' - [[Bonus chests]] that appear in a new [[world]] when bonus chests are enabled
*** '''stronghold_corridor''' - Chests found on [[Stronghold#Slab_altars|slab altars in corridors in strongholds]]
*** '''stronghold_crossing''' - The chest in the upper level of [[Stronghold#Store_rooms|store rooms in strongholds]]
*** '''stronghold_library''' - Chests found in a [[Stronghold#Libraries_2|library in strongholds]]
*** '''village_blacksmith''' - The chest found in the Blacksmith's house in a [[Village]]
** '''entities''' - Items dropped from [[entities]]. May cause issues when applied to chests, due to some items spawning in stacks of 0
*** '''sheep''' - Sheep with wool, also inherited by colored sheep
**** '''black'''
**** '''blue'''
**** '''brown'''
**** '''cyan'''
**** '''gray'''
**** '''green'''
**** '''light_blue'''
**** '''lime'''
**** '''magenta'''
**** '''orange'''
**** '''pink'''
**** '''purple'''
**** '''red'''
**** '''silver'''
**** '''white'''
**** '''yellow'''
*** '''bat'''
*** '''blaze'''
*** '''cave_spider'''
*** '''chicken'''
*** '''cow'''
*** '''creeper'''
*** '''elder_guardian'''
*** '''enderman'''
*** '''endermite'''
*** '''ghast'''
*** '''giant'''
*** '''guardian'''
*** '''horse'''
*** '''iron_golem'''
*** '''magma_cube'''
*** '''mushroom_cow'''
*** '''ocelot'''
*** '''pig'''
*** '''rabbit'''
*** '''sheep''' - Sheep without wool
*** '''shulker'''
*** '''silverfish'''
*** '''skeleton'''
*** '''skeleton_horse'''
*** '''slime'''
*** '''snowman''' - Snow golems
*** '''spider'''
*** '''squid'''
*** '''witch'''
*** '''wolf'''
*** '''zombie'''
*** '''zombie_horse'''
*** '''zombie_pigman'''
** '''gameplay'''
*** '''fishing'''
**** '''fish'''
**** '''junk'''
**** '''treasure'''
*** '''fishing''' - Loads the three tables from the fishing folder, applying luck to each one
** '''empty''' - Contains no items
</div>
== Mapas personalizados ==
Los mapas personalizados pueden utilizar tablas del botín para cambiar el botín que se genera en el cofre o otorgan las criaturas. Ellas pueden cambiar ya sea las tablas del botín existentes o crear otras nuevas. Esta es la estructura de archivo:
<div class="treeview">
* '''<world save folder>'''
** '''data'''
*** '''loot_tables'''
**** '''minecraft'''
</div>
Los archivos JSON van en esta carpeta. Por ejemplo, el archivo para zombis iría en data/loot_tables/minecraft/entities/zombie.json. Esto hará que todos los zombis en ese mundo utilice su tabla del botín en lugar de la tabla por defecto del botín de zombi. Para utilizar las tablas del botín personalizadas, agregar el archivo a la carpeta "minecraft". Entonces, invocar (con {{cmd|summon}}) a la criatura con la etiqueta de datos DeathLootTable para establecerlo en el nombre del archivo (sin la extensión .json).
== Historia ==
{{history|u}}
{{history||1.9|snap=19 de octubre, 2015|rowspan=13|slink={{tweet|Dinnerbone|656102828595920896}}|Dinnerbone anuncia las tablas del botín.}}
{{history|||snap=15w43a|Añadidas las tablas del botín.}}
{{history|||snap=15w43b|Añadida la condición '''entity_scores'''.}}
{{history|||snap=15w43c|Renombrado "villager_golem.json" a "iron_golem.json"
|Añadidas las tablas del botín de pesca, ovejas sin lana y zombis y caballos esqueleto.
|Renombrada la etiqueta {{nbt|string|item:}} a {{nbt|string|name:}}, y la etiqueta {{nbt|compound|items:}} a {{nbt|compound|entries:}}.
|Añadida la etiqueta {{nbt|string|type:}} y soporte para cargar una tabla del botín en lugar de un objeto.
|Añadida la etiqueta {{nbt|int|luck:}} a los archivos por defecto, por el momento no hace nada en el código.
|Añadida la función '''set_damage'''
}}
{{history|||snap=15w44a|Añadidas las funciones '''enchant_randomly''' y '''set_attributes'''.}}
{{history|||snap=15w44b|Añadida la etiqueta {{nbt|int|quality}}.
|Retiradas las etiquetas {{nbt|int|luck}} y {{nbt|float|luck_multiplier}}.
|Añadida la etiqueta {{nbt|compound|bonus_rolls}}.}}
{{history|foot}}
{{minecraft}}