============================================================
Hxwi1Structures - Guide d'utilisation
============================================================

Ce mod génère des structures définies par configuration
JSON et fichiers NBT. Aucune structure n'est intégrée.

============================================================
Emplacement des fichiers
============================================================

  Config:   .minecraft/config/hxwi1structures/structure_rules.json
  Paramètres: .minecraft/config/hxwi1structures/mod_settings.json
  NBT:      .minecraft/config/hxwi1structures/structures/
  Guide:    .minecraft/config/hxwi1structures/readme.txt

Au premier lancement, sont créés automatiquement :
  - mod_settings.json
  - structure_rules.json (3 règles d'exemple)
  - structures/example.nbt (maison en briques de pierre)
  - structures/dock_example.nbt (ponton en bois)
  - structures/forest_cabin.nbt (cabane en rondins)
  - readme.txt (ce fichier)

La langue du guide suit la langue du jeu
(détectée depuis options.txt).

============================================================
Champs de règle
============================================================

biomes (obligatoire)
  Tableau d'IDs de biome. Biomes vanilla et mod.
  Exemple : "minecraft:plains", "terralith:highlands"

dimensions (optionnel, défaut : toutes)
  Tableau d'IDs de dimension.
  Vanilla : "minecraft:overworld", "minecraft:the_nether",
            "minecraft:the_end"

nbt_file (obligatoire)
  Chemin relatif vers le fichier .nbt depuis config/hxwi1structures/.

chance (obligatoire)
  Décimal 0.0–1.0. Probabilité par chunk.

min_y / max_y (obligatoire)
  Plage de hauteur (coordonnée Y).
  Utilisé seulement si snap_to_surface est false.

snap_to_surface (optionnel, défaut : false)
  Place la structure à la surface du terrain.

allowed_rotations (optionnel, défaut : [0,90,180,270])
  Angles de rotation autorisés. Seuls 0,90,180,270.
  Les valeurs invalides sont traitées comme 0°.

max_conflict_ratio (optionnel, défaut : 0.2)
  Tolérance de conflit lors du placement.
  0.0 = aucun conflit, 1.0 = forcer le placement.

place_on_water (optionnel, défaut : false)
  Autorise la génération sur l'eau.

dock_mode (optionnel, défaut : false)
  Détecte les bordures terre-eau et oriente automatiquement.
  Idéal pour les pontons.

y_offset (optionnel, défaut : 0)
  Décalage vertical. Négatif = enfoncer.

underwater_mode (optionnel, défaut : false)
  Génère uniquement sous l'eau.

clear_trees (optionnel, défaut : false)
  Supprime les troncs et feuilles dans la zone de placement.

loot_table (optionnel, défaut : vide)
  Table de butin pour les coffres et conteneurs.
  Ex : "minecraft:chests/simple_dungeon"

============================================================
Conseils
============================================================

- Bâtiments forestiers (abattage automatique) :
    "clear_trees": true
- Ponton (orientation automatique vers l'eau) :
    "dock_mode": true, "place_on_water": true
- Bateau (partiellement immergé) :
    "place_on_water": true, "y_offset": -1
- Ruines sous-marines :
    "underwater_mode": true
- Donjons souterrains :
    "snap_to_surface": false, "max_conflict_ratio": 1.0

============================================================
Débogage
============================================================

Activez "debug_logging": true dans mod_settings.json
et vérifiez la sortie [hxwi1structures] dans le journal.

============================================================
Création de fichiers NBT
============================================================

En mode Créatif avec un bloc de structure :
  1. Placez un bloc de structure
  2. Construisez dans ses limites
  3. Cliquez sur "SAVE"
  4. Copiez le .nbt depuis .minecraft/saves/<monde>/generated/
     <namespace>/structures/ vers config/hxwi1structures/structures/

Sous-répertoires acceptés :
  structures/overworld/houses/cottage.nbt

============================================================
Flux de génération
============================================================

1. Chargement du chunk : vérification grid_interval
2. Mise en file d'attente immédiate (non bloquante)
3. Traitement différé (max 2 par tick)
4. Chaque chunk traité une seule fois (persistance SavedData)
5. Règles testées en séquence, première réussie = arrêt
6. Par règle : dimension→XZ→biome→chance→Y→rotation
   →abattage→collision→limites→placement→butin

============================================================
mod_settings.json
============================================================

{
  "grid_interval": 2,
  "debug_logging": false
}

grid_interval (défaut : 2)
  Densité d'échantillonnage : 1=100%, 2=~25%, 3=~11%, 4=~6%

debug_logging (défaut : false)
  Activer/désactiver les logs DEBUG
