Tabelle del bottino: pool, estrazioni e differenza tra voci e funzioni
Una tabella del bottino che non rilascia nulla di solito ha i pesi o le condizioni nel livello sbagliato. Ecco cosa controlla ogni livello di nidificazione e le funzioni da conoscere.
Il JSON delle tabelle del bottino ha quattro livelli di profondità e ogni livello ha un significato diverso. Quasi ogni "la mia tabella non rilascia nulla" è una condizione associata a un livello di distanza da dove doveva essere.
I quattro livelli
table
└── pools[] how many independent draws
└── entries[] what can come out of this draw
└── functions[] modify the item that came out
rollsin un pool indica quante volte quel pool effettua l'estrazione. Un pool conrolls: 3draws
tre volte dallo stesso elenco di voci.
weightin una voce è relativo all'interno del proprio pool. I pesi non devono necessariamente sommare a
nulla; una voce con peso 10 rispetto a una con peso 90 compare un decimo delle volte.
conditionsesistono a ogni livello e hanno significati diversi. In un pool condizionano
l'intera estrazione. In una voce condizionano quella singola opzione. In una funzione condizionano solo la modifica.
Garantire un rilascio richiede un pool dedicato
I pesi non possono garantire nulla, poiché un pool sceglie esattamente una voce per estrazione. Una tabella che deve rilasciare sempre una mappa più bottino casuale richiede due pool:
"pools": [
{ "rolls": 1, "entries": [ { "type": "minecraft:item", "name": "minecraft:filled_map" } ] },
{ "rolls": { "min": 2, "max": 4 }, "entries": [ … weighted list … ] }
]
Il pool uno ha una sola voce, quindi la produce sempre. Il pool due effettua 2–4 estrazioni dall'elenco ponderato.
Le funzioni da conoscere
| Funzione | Cosa fa |
|---|---|
set_count | un numero fisso o un uniform range |
enchant_randomly | incantamenti casuali, facoltativamente da un elenco |
enchant_with_levels | come un tavolo per incantesimi a N livelli — include tesori se richiesto |
set_components | nome personalizzato, lore, qualsiasi data component |
looting_enchant | bonus per livello di Saccheggio; solo tabelle delle entità |
set_damage | durabilità come frazione, quindi 0.5 is half-worn |
furnace_smelt | la forma cotta quando il mob muore a fuoco |
enchant_with_levels and enchant_randomly are not interchangeable. The first mimics an enchanting table and respects level costs; the second picks arbitrarily and can produce combinations the game would never generate.
Condizioni più utilizzate
random_chance— a flat probabilityrandom_chance_with_enchanted_bonus— the modern Looting-aware chancekilled_by_player— the reason your rare drop never appears from a fall deathentity_properties— check the victim's type, state or equipmentmatch_tool— check the tool used, for block tables
Testare senza rigenerare il mondo
/loot give @s loot my_pack:chests/treasure
rilascia la tabella direttamente nel tuo inventario. /loot spawn, /loot insert <pos> and /loot replace cover the other placements. This is far faster than placing chests and reloading, and it is the only sane way to check weight distributions.
Crea tabelle multi-pool con funzioni e condizioni associate al livello corretto nel Generatore avanzato di tabelle del bottino.