Guides / Commands & Data

Tablas de botín: pools, rolls y la diferencia entre entries y functions

Una tabla de botín que no suelta nada suele tener sus pesos o sus condiciones en la capa equivocada. Aquí te explicamos qué controla cada nivel de anidamiento y las funciones que vale la pena conocer.

El JSON de las tablas de botín tiene cuatro niveles de profundidad y cada nivel significa algo diferente. Casi todos los casos de "mi tabla no suelta nada" se deben a una condición adjunta un nivel más allá de donde debería ir.

Los cuatro niveles

table
└── pools[]          how many independent draws
    └── entries[]    what can come out of this draw
        └── functions[]   modify the item that came out
  • rolls en un pool indica cuántas veces ese pool realiza una extracción. Un pool con rolls: 3 extrae tres veces de la misma lista de entradas (entries).
  • weight en una entrada es relativo dentro de su pool. Los pesos no necesitan sumar un total específico; una entrada con peso 10 frente a una con peso 90 aparecerá una décima parte de las veces.
  • Las conditions existen en cada nivel y significan cosas diferentes. En un pool, controlan toda la extracción. En una entrada, controlan esa opción específica. En una función, controlan solo la modificación.

Garantizar un objeto requiere su propio pool

Los pesos no pueden garantizar nada, porque un pool elige exactamente una entrada por cada tirada (roll). Una tabla que siempre debe soltar un Mapa más botín aleatorio necesita dos pools:

"pools": [
  { "rolls": 1, "entries": [ { "type": "minecraft:item", "name": "minecraft:filled_map" } ] },
  { "rolls": { "min": 2, "max": 4 }, "entries": [ … weighted list … ] }
]

El pool uno tiene una sola entrada, por lo que siempre la produce. El pool dos realiza de 2 a 4 tiradas de la lista ponderada.

Las funciones que vale la pena conocer

FunciónHace
set_countun número fijo o un rango uniform
enchant_randomlyencantamientos aleatorios, opcionalmente de una lista
enchant_with_levelscomo una Mesa de encantamientos a N niveles — incluye tesoros si se solicita
set_componentsnombre personalizado, lore, cualquier componente de datos
looting_enchantbonificación por nivel de Botín; solo tablas de entidades
set_damagedurabilidad como una fracción, por lo que 0.5 está a medio uso
furnace_smeltla forma fundida cuando la criatura muere en Fuego

enchant_with_levels y enchant_randomly no son intercambiables. La primera imita una Mesa de encantamientos y respeta los costes de nivel; la segunda elige arbitrariamente y puede producir combinaciones que el juego nunca generaría.

Condiciones que la gente suele buscar

  • random_chance — una probabilidad fija
  • random_chance_with_enchanted_bonus — la probabilidad moderna que tiene en cuenta Botín
  • killed_by_player — la razón por la que tu objeto raro nunca aparece tras una muerte por caída
  • entity_properties — comprueba el tipo, estado o equipamiento de la víctima
  • match_tool — comprueba la herramienta utilizada, para tablas de bloques

Probar sin reconstruir el mundo

/loot give @s loot my_pack:chests/treasure

suelta la tabla directamente en tu inventario. /loot spawn, /loot insert <pos> y /loot replace cubren las otras ubicaciones. Esto es mucho más rápido que colocar cofres y recargar, y es la única forma sensata de comprobar las distribuciones de peso.

Crea tablas con múltiples pools con las funciones y condiciones adjuntas en el nivel correcto en el Advanced Loot Table Builder.

Constructor avanzado de tablas de botín →

More guides

Browse all →

¿Buscas más herramientas de Minecraft?

Un conjunto de generadores, visores y conversores que funcionan en el navegador — todos gratis.