MC Toolkit

Guías / Comandos y datos

Tablas de botín: pools, tiradas y la diferencia entre entradas y funciones

Una tabla de botín que no suelta nada normalmente tiene los pesos o las condiciones en el nivel equivocado. Esto es lo que controla cada nivel de anidamiento, y las funciones que conviene conocer.

El JSON de una tabla de botín tiene cuatro niveles de profundidad y cada nivel significa algo distinto. Casi todos los casos de "mi tabla no suelta nada" son una condición colocada un nivel lejos de donde debí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 es cuántas veces roba ese pool. Un pool con rolls: 3 roba tres veces de la misma lista de entradas.
  • weight en una entrada es relativo dentro de su pool. Los pesos no tienen que sumar nada; una entrada con peso 10 frente a otra con peso 90 aparece una décima parte de las veces.
  • conditions existen en todos los niveles y significan cosas distintas. En un pool controlan toda la tirada. En una entrada controlan esa opción concreta. En una función controlan solo la modificación.

Garantizar un drop requiere su propio pool

Los pesos no pueden garantizar nada, porque un pool elige exactamente una entrada por tirada. 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, así que siempre la produce. El pool dos tira de 2 a 4 veces de la lista ponderada.

Las funciones que conviene 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 — cualquier encantamiento salvo que options lo restrinja
set_componentsnombre personalizado, lore, cualquier componente de datos
enchanted_count_increasebonus por nivel de un encantamiento (Botín); solo tablas de entidades
set_damagedurabilidad como fracción, así que 0.5 es medio desgastado
furnace_smeltla forma fundida cuando el mob 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 a las que la gente recurre

  • random_chance — una probabilidad plana
  • random_chance_with_enchanted_bonus — la probabilidad moderna que tiene en cuenta Botín
  • killed_by_player — la razón por la que tu drop raro nunca aparece por una muerte por caída
  • entity_properties — comprueba el tipo, estado o equipo de la víctima
  • match_tool — comprueba la herramienta usada, 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 colocaciones. Esto es mucho más rápido que colocar cofres y recargar, y es la única forma sensata de comprobar distribuciones de pesos.

Construye tablas multi-pool con las funciones y condiciones colocadas en el nivel correcto en el Advanced Loot Table Builder.

Constructor avanzado de tablas de botín →

Más guías

Ver todas →