============================================================
Hxwi1Structures - Guía de uso
============================================================

Este mod genera estructuras definidas mediante configuración
JSON y archivos NBT. No incluye estructuras predefinidas.

============================================================
Ubicación de archivos
============================================================

  Config:   .minecraft/config/hxwi1structures/structure_rules.json
  Ajustes:  .minecraft/config/hxwi1structures/mod_settings.json
  NBT:      .minecraft/config/hxwi1structures/structures/
  Guía:     .minecraft/config/hxwi1structures/readme.txt

En el primer inicio se crean automáticamente:
  - mod_settings.json
  - structure_rules.json (3 reglas de ejemplo)
  - structures/example.nbt (casa de ladrillos de piedra)
  - structures/dock_example.nbt (muelle de madera)
  - structures/forest_cabin.nbt (cabaña de troncos)
  - readme.txt (este archivo)

El idioma del readme sigue al idioma del juego
(detectado desde options.txt).

============================================================
Campos de regla
============================================================

biomes (obligatorio)
  Array de IDs de bioma. Compatible con biomas vanilla y mod.
  Ejemplo: "minecraft:plains", "terralith:highlands"

dimensions (opcional, predeterminado: todas)
  Array de IDs de dimensión.
  Vanilla: "minecraft:overworld", "minecraft:the_nether",
           "minecraft:the_end"

nbt_file (obligatorio)
  Ruta relativa a config/hxwi1structures/ del archivo .nbt.

chance (obligatorio)
  Decimal 0.0–1.0. Probabilidad por chunk.

min_y / max_y (obligatorio)
  Rango de altura de generación (coordenada Y).
  Solo se usa cuando snap_to_surface es false.

snap_to_surface (opcional, predeterminado: false)
  Coloca la estructura sobre la superficie del terreno.

allowed_rotations (opcional, predeterminado: [0,90,180,270])
  Ángulos de rotación permitidos. Solo 0,90,180,270 válidos.
  Valores no válidos se tratan como 0°.

max_conflict_ratio (opcional, predeterminado: 0.2)
  Tolerancia de conflicto al colocar.
  0.0 = sin conflictos, 1.0 = forzar colocación.

place_on_water (opcional, predeterminado: false)
  Permite generar sobre el agua.

dock_mode (opcional, predeterminado: false)
  Detecta automáticamente bordes tierra-agua y orienta.
  Ideal para muelles.

y_offset (opcional, predeterminado: 0)
  Desplazamiento vertical. Negativo = hundir.

underwater_mode (opcional, predeterminado: false)
  Solo genera bajo el agua.

clear_trees (opcional, predeterminado: false)
  Elimina troncos y hojas en la zona antes de colocar.

loot_table (opcional, predeterminado: vacío)
  Tabla de botín para cofres y contenedores.
  Ej: "minecraft:chests/simple_dungeon"

============================================================
Consejos
============================================================

- Construcciones en bosque:
    "clear_trees": true
- Muelles (auto-orientación al agua):
    "dock_mode": true, "place_on_water": true
- Barcos (parcialmente sumergidos):
    "place_on_water": true, "y_offset": -1
- Ruinas submarinas:
    "underwater_mode": true
- Mazmorras subterráneas:
    "snap_to_surface": false, "max_conflict_ratio": 1.0

============================================================
Depuración
============================================================

Active "debug_logging": true en mod_settings.json
y revise la salida [hxwi1structures] en el registro.

============================================================
Crear archivos NBT
============================================================

En modo Creativo con un bloque de estructura:
  1. Coloque un bloque de estructura
  2. Construya dentro de sus límites
  3. Haga clic en "SAVE"
  4. Copie el .nbt de .minecraft/saves/<mundo>/generated/
     <namespace>/structures/ a config/hxwi1structures/structures/

Se aceptan subdirectorios:
  structures/overworld/houses/cottage.nbt

============================================================
Flujo de generación
============================================================

1. Carga del chunk: verificación grid_interval
2. Encolado inmediato (no bloqueante)
3. Procesamiento diferido (máx. 2 por tick)
4. Cada chunk se procesa una sola vez (persistencia SavedData)
5. Reglas en secuencia, primera exitosa = parada
6. Por regla: dimensión→XZ→bioma→azar→Y→rotación
   →tala→colisión→límites→colocación→botín

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

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

grid_interval (predeterminado: 2)
  Densidad de muestreo: 1=100%, 2=~25%, 3=~11%, 4=~6%

debug_logging (predeterminado: false)
  Activar/desactivar registros DEBUG
