Generazione di Loot Table
PREREQUISITI
Assicurati di aver prima completato il processo di configurazione della datagen.
Ti serviranno fornitori (classi) diversi per blocchi, bauli, ed entità. Ricorda di aggiungerli tutto al tuo pack nella tua DataGeneratorEntrypoint nel metodo onInitializeDataGenerator.
java
No lines matched.1
Loot Table Spiegate
Le loot table definiscono cosa si ottiene dalla rottura di un blocco (esclusi i contenuti, per esempio per i bauli), uccisione di un'entità, o apertura di un contenitore appena generato. Ogni loot table ha dei pool fra cui gli oggetti sono selezionati. Le loot table hanno anche funzioni, che modificano il loot risultante in qualche modo.
Le loot pool hanno voci, condizioni, funzioni, roll e roll bonus. Le voci sono gruppi, sequenze, o possibilità di oggetti, o solo oggetti. Le condizioni sono cose per cui si testa nel mondo, come incantesimi su un'utensile o una probabilità casuale. Il numero minimo di voci scelte da una pool è detto roll, e qualsiasi cosa sopra a ciò è detta una roll bonus.
Blocchi
Perché i blocchi droppino oggetti - inclusi se stessi - dobbiamo creare una loot table. Crea una classe che estenda FabricBlockLootTableProvider:
java
No lines matched.1
Assicurati di aggiungere questo fornitore al tuo pack!
Ci sono parecchi metodi ausiliari per aiutarti a costruire le tue loot table. Non li analizzeremo, per cui assicurati di controllarli nel tuo IDE.
Aggiungiamo alcuni drop nel metodo generate:
java
No lines matched.1
Bauli
Il loot dei bauli è un po' più complesso del loot dei blocchi. Crea una classe che estenda SimpleFabricLootTableProvider come nell'esempio sotto e aggiungila al tuo pack.
java
No lines matched.1
Ci servirà una ResourceKey<LootTable> per la nostra loot table. Mettiamola in una nuova classe chiamata ModLootTables. Assicurati che sia nel tuo insieme di sorgenti main se usi fonti suddivise.
java
No lines matched.1
Poi possiamo generare una loot table nel metodo generate del tuo fornitore.
java
No lines matched.1







