World Gen (Ores)
Generazione di Minerali
Dalla 1.18+, la generazione del mondo è molto più complessa e data-driven. Non si usa (quasi) più codice Java, ma file JSON.
Tuttavia, con Fabric API possiamo ancora iniettare le nostre feature via codice per semplificare.
1. Configured Feature
Definisce cosa generare (es. un blocco di minerale).
```java private static final RegistryKey<ConfiguredFeature, ?>> ORE_TUTORIAL_OVERWORLD = RegistryKey.of(RegistryKeys.CONFIGURED_FEATURE, new Identifier(“tutorial”, “ore_tutorial”));
// … definizione della feature (spesso complessa da fare in codice, meglio JSON) ```
2. Placed Feature
Definisce dove e quanto spesso generare.
- Altezza (Y level).
- Rarità (quanti per chunk).
Modificare il Bioma
Dobbiamo dire al gioco di aggiungere la nostra feature ai biomi esistenti.
```java BiomeModifications.addFeature( BiomeSelectors.foundInOverworld(), // Dove? Ovunque nell’Overworld GenerationStep.Feature.UNDERGROUND_ORES, // Quando? Durante la fase ORES ORE_TUTORIAL_PLACED_KEY // Cosa? La nostra Placed Feature ); ```
[!TIP] Per modifiche complesse alla generazione, considera l’uso di Data Packs integrati nella mod invece di scrivere tutto in Java. È più pulito e facile da debuggare.