1. Wiki
  2. /Entidades
  3. /Reglas de aparición

Reglas de aparición

Haz que las criaturas personalizadas aparezcan de forma natural en Minecraft Bedrock con reglas de aparición: filtros de bioma, niveles de luz, tamaño de los grupos, peso, límites de densidad y más.

Sin una regla de aparición, una criatura solo aparece con su huevo generador o con /summon. Una regla de aparición (spawn rule) le dice al juego dónde y cuándo puede aparecer por sí sola: en qué biomas, cuánta oscuridad hace falta, cuántas a la vez y con qué frecuencia en comparación con otras criaturas.

Esta página usa el gólem de rubí de El archivo de entidad. Para la criatura completa, empieza con Tu primera criatura personalizada.

Los archivos

Paquete de comportamiento
BP/
  entities/
    ruby_golem.json
  spawn_rules/
    ruby_golem.json

El nombre del archivo no importa. Lo que une la regla con la criatura es el identifier que lleva dentro.

La criatura debe poder aparecer

Las reglas de aparición solo funcionan si el archivo de comportamiento de la criatura tiene "is_spawnable": true en su description.

Una primera regla de aparición

Los gólems de rubí aparecen en desiertos y en badlands, en grupos pequeños, sobre arena o arena roja, a la luz del día:

BP/spawn_rules/ruby_golem.json
{
  "format_version": "1.8.0",
  "minecraft:spawn_rules": {
    "description": {
      "identifier": "wiki:ruby_golem",
      "population_control": "animal"
    },
    "conditions": [
      {
        "minecraft:spawns_on_surface": {},
        "minecraft:spawns_on_block_filter": ["minecraft:sand", "minecraft:red_sand"],
        "minecraft:brightness_filter": {
          "min": 7,
          "max": 15,
          "adjust_for_weather": false
        },
        "minecraft:weight": { "default": 6 },
        "minecraft:herd": { "min_size": 1, "max_size": 2 },
        "minecraft:biome_filter": {
          "any_of": [
            { "test": "has_biome_tag", "value": "desert" },
            { "test": "has_biome_tag", "value": "mesa" }
          ]
        }
      }
    ]
  }
}

Casi todas las reglas de aparición del juego base siguen usando "format_version": "1.8.0", y tú también puedes.

La descripción

CampoQué hace
identifierEl ID de la criatura. Debe coincidir exactamente con el archivo de entidad.
population_controlEn qué reserva (pool) cuenta la criatura. Cada reserva tiene su propio límite, así que tu criatura no puede llenar el mundo.

Las reservas que más usarás:

ReservaLa usan
animalAnimales terrestres como vacas, cerdos y ovejas
water_animalPeces, calamares, delfines y ajolotes
monsterCriaturas hostiles como zombis y esqueletos
ambientCriaturas pequeñas de ambiente, como los murciélagos

El juego base también tiene algunas reservas especiales, como cat y pillager, para criaturas concretas.

Condiciones

conditions es una lista. Cada entrada es un conjunto completo de reglas. Si el juego encuentra un sitio que coincide con cualquiera de las entradas, la criatura puede aparecer allí.

Dentro de una entrada, todos los componentes deben cumplirse. Así que la regla de arriba significa "en la superficie Y sobre arena Y con luz de día Y en un bioma de desierto o de badlands".

¿Quieres la criatura en dos sitios muy distintos, como cuevas de noche y playas de día? Añade una segunda entrada a la lista en vez de meterlo todo en una.

Dónde: superficie, subsuelo o agua

Hace falta al menos uno de estos, o la criatura no tendrá dónde aparecer. Son objetos vacíos: basta con que estén para activarse.

ComponenteHace aparecer la criatura
minecraft:spawns_on_surfaceEn el suelo, a cielo abierto
minecraft:spawns_undergroundEn cuevas, con bloques encima
minecraft:spawns_underwaterEn el agua
minecraft:spawns_lavaEn la lava, como los lavagantes

Puedes combinarlos. Los ajolotes del juego base usan spawns_underground y spawns_underwater a la vez para aparecer en el agua de las cuevas.

Sobre qué bloques

Dentro de una condición
"minecraft:spawns_on_block_filter": ["minecraft:sand", "minecraft:red_sand"],
"minecraft:spawns_on_block_prevented_filter": ["minecraft:cactus"]
  • spawns_on_block_filter: el bloque bajo la criatura debe ser uno de estos. Un solo bloque puede ir como texto simple.
  • spawns_on_block_prevented_filter: la criatura nunca puede aparecer sobre estos bloques.

En qué biomas

minecraft:biome_filter es un filtro normal, casi siempre con la prueba has_biome_tag. Cada bioma lleva algunas etiquetas, como desert, forest, ocean, frozen, overworld o nether. Comprobar una etiqueta es mejor que nombrar los biomas uno por uno, porque también incluye las variantes de bioma y los biomas de otros complementos.

Dentro de una condición
"minecraft:biome_filter": [
  { "test": "has_biome_tag", "value": "overworld" },
  { "test": "has_biome_tag", "operator": "not", "value": "ocean" }
]

Una lista simple funciona como all_of: aquí, "en el mundo principal, pero no en un océano". Consulta qué etiquetas tiene cada bioma en Biomas del juego base, y mira cómo reciben sus etiquetas los biomas en etiquetas de bioma.

Las etiquetas animal y monster

La mayoría de los biomas terrestres llevan las etiquetas animal y monster. Las vacas del juego base usan has_biome_tag con animal, y los zombis usan monster. Son una forma fácil de decir "en cualquier sitio donde podría vivir una criatura normal".

Nivel de luz

Dentro de una condición
"minecraft:brightness_filter": {
  "min": 0,
  "max": 7,
  "adjust_for_weather": true
}

La luz va de 0 (oscuridad total) a 15 (plena luz del día). Los animales suelen usar de 7 a 15, y los monstruos de 0 a 7. Con adjust_for_weather en true, la lluvia y las tormentas hacen que cuente como más oscuro, así que los monstruos pueden aparecer en un día de tormenta.

Con qué frecuencia: el peso

Dentro de una condición
"minecraft:weight": { "default": 6 }

Cuando el juego elige qué criatura aparece en un sitio, las criaturas con más peso se eligen más a menudo. Para hacerte una idea: las vacas del juego base usan 8, los murciélagos 10 y los zombis 100. Empieza con un valor bajo para una criatura rara y súbelo mientras pruebas.

Cuántas: la manada

Dentro de una condición
"minecraft:herd": {
  "min_size": 2,
  "max_size": 4,
  "event": "minecraft:entity_born",
  "event_skip_count": 2
}
  • min_size y max_size: cuántas aparecen juntas.
  • event (opcional): un evento que se dispara en las criaturas del grupo cuando aparecen.
  • event_skip_count: cuántas criaturas aparecen antes de que el evento empiece a dispararse.

El ejemplo de arriba es el truco del juego base para las familias: las 2 primeras aparecen como adultos normales y el resto recibe minecraft:entity_born. En los archivos de entidad de esas criaturas, ese evento añade el grupo de cría, así que el resto son crías. Los zorros y los ajolotes hacen exactamente esto.

Cuántas como máximo: el límite de densidad

Dentro de una condición
"minecraft:density_limit": {
  "surface": 4,
  "underground": 2
}

Un límite solo para esta criatura, además del límite de la reserva. Cuando ya hay esa cantidad cerca, no aparecen más en la superficie (o en el subsuelo). Útil para criaturas fuertes o raras que nunca deberían llegar en grupos grandes.

Dificultad

Dentro de una condición
"minecraft:difficulty_filter": {
  "min": "easy",
  "max": "hard"
}

Las dificultades son peaceful, easy, normal y hard. Las criaturas hostiles suelen empezar en easy, así que nunca aparecen en Pacífico.

Más condiciones

ComponenteQué comprueba
minecraft:height_filterEl rango de altura (min, max) donde puede aparecer la criatura
minecraft:distance_filterA qué distancia del jugador debe estar (min, max)
minecraft:world_age_filterCuánto tiempo debe tener el mundo antes de que la criatura pueda aparecer (min)
minecraft:disallow_spawns_in_bubbleEvita que aparezca en columnas de burbujas
minecraft:permute_typeA veces hace aparecer una criatura distinta en su lugar, según el peso. Los zombis lo usan para crear algunos aldeanos zombi.

Una versión nocturna

¿Quieres también gólems de rubí enfadados en las cuevas? Añade una segunda condición con reglas distintas:

BP/spawn_rules/ruby_golem.json (conditions)
"conditions": [
  {
    "minecraft:spawns_on_surface": {},
    "minecraft:spawns_on_block_filter": ["minecraft:sand", "minecraft:red_sand"],
    "minecraft:brightness_filter": { "min": 7, "max": 15, "adjust_for_weather": false },
    "minecraft:weight": { "default": 6 },
    "minecraft:herd": { "min_size": 1, "max_size": 2 },
    "minecraft:biome_filter": { "test": "has_biome_tag", "value": "desert" }
  },
  {
    "minecraft:spawns_underground": {},
    "minecraft:brightness_filter": { "min": 0, "max": 4, "adjust_for_weather": false },
    "minecraft:height_filter": { "min": -64, "max": 0 },
    "minecraft:weight": { "default": 2 },
    "minecraft:herd": { "min_size": 1, "max_size": 1, "event": "wiki:become_angry" },
    "minecraft:density_limit": { "underground": 2 },
    "minecraft:biome_filter": { "test": "has_biome_tag", "value": "overworld" }
  }
]

La segunda entrada hace aparecer gólems solitarios en lo más profundo del subsuelo y les dispara wiki:become_angry en ese mismo momento. Ese evento viene de la página Eventos de entidad.

Probar las reglas de aparición

La aparición natural es lenta de probar, así que facilítatelo:

  1. Crea un mundo nuevo en Creativo y pon la dificultad en Fácil o superior si tu criatura es hostil.
  2. Sube mucho el weight (por ejemplo a 100) mientras pruebas, y luego vuelve a bajarlo.
  3. Vuela por el bioma adecuado. Las criaturas solo aparecen a cierta distancia del jugador.
  4. Usa /kill @e[type=wiki:ruby_golem] para eliminarlas y ver cómo aparecen otras nuevas.

Cuando algo sale mal

Lo que vesCausa más probable
Nunca apareceis_spawnable es false, el identifier no coincide, o la condición no tiene un componente de "dónde" como spawns_on_surface
Nunca aparece en un biomaEl bioma no tiene esa etiqueta. Consulta Biomas del juego base.
Aparecen demasiadasBaja weight o max_size, o añade un density_limit
Una criatura hostil nunca aparece en PacíficoEs el difficulty_filter haciendo su trabajo
Monstruos durante el díaadjust_for_weather está activado y está lloviendo

Tienes más ayuda en Solución de problemas. Siguiente: Filtros.

We use cookies to improve your experience and analyse site traffic. Learn more