Spawn Condition: Difference between revisions
(Created page with "A '''spawn condition''' is used during spawn selection to decide whether a specific SpawnDetail is compatible with the given SpawningContext. A spawn condition JSON has many common properties that apply to all contexts, and then there are sub-types that apply to specific contexts. For example, a submerged context has information about depth, and so a SubmergedSpawningCondition is required to make a condition that checks that depth value for a spawn. For all values that...") |
No edit summary |
||
Line 13: | Line 13: | ||
| style="vertical-align:top;" | biomes | | style="vertical-align:top;" | biomes | ||
| A list of biome based conditions. These conditions are all written as text. If the condition starts with a <code>#</code> such as <code>#pokemoncobbled:is_arid</code>, it is understood as a biome tag condition, otherwise checked as a biome ID such as <code>minecraft:forest</code>. | | A list of biome based conditions. These conditions are all written as text. If the condition starts with a <code>#</code> such as <code>#pokemoncobbled:is_arid</code>, it is understood as a biome tag condition, otherwise checked as a biome ID such as <code>minecraft:forest</code>. | ||
|- | |||
| style="vertical-align:top;" | structures | |||
| A list of structure IDs, such as <code>minecraft:stronghold</code> or <code>minecraft:desert_pyramid</code>. Allows Pokémon to spawn in the chunks of the listed structures. | |||
|- | |- | ||
| style="vertical-align:top;" | moonPhase | | style="vertical-align:top;" | moonPhase |
Revision as of 05:52, 4 March 2024
A spawn condition is used during spawn selection to decide whether a specific SpawnDetail is compatible with the given SpawningContext.
A spawn condition JSON has many common properties that apply to all contexts, and then there are sub-types that apply to specific contexts. For example, a submerged context has information about depth, and so a SubmergedSpawningCondition is required to make a condition that checks that depth value for a spawn. For all values that are left blank or empty, that value is not checked by the condition. For example, an empty biome list means the biome won't affect the spawning and an unset moonPhase means the moon won't affect the spawning.
Property Name | Description |
---|---|
dimensions | A list of dimension IDs, such as minecraft:overworld or minecraft:the_nether . This is technically called a dimension effect.
|
biomes | A list of biome based conditions. These conditions are all written as text. If the condition starts with a # such as #pokemoncobbled:is_arid , it is understood as a biome tag condition, otherwise checked as a biome ID such as minecraft:forest .
|
structures | A list of structure IDs, such as minecraft:stronghold or minecraft:desert_pyramid . Allows Pokémon to spawn in the chunks of the listed structures.
|
moonPhase | The phase of the moon required for the spawn. This is an integer between 0 and 7 according to the Minecraft Wiki. |
canSeeSky | Whether or not the spawning context must have a direct route to the sky above it, as a true/false . Fluids do not count as a sky obstruction.
|
minX | The minimum X coordinate that the spawning context may have. |
minY | The minimum Y coordinate that the spawning context may have. |
minZ | The minimum Z coordinate that the spawning context may have. |
maxX | The maximum X coordinate that the spawning context may have. |
maxY | The maximum Y coordinate that the spawning context may have. |
maxZ | The maximum Z coordinate that the spawning context may have. |
minLight | The lowest acceptable light level at the spawning context's location. This is an integer between 0 and 15 inclusive.
|
maxLight | The highest acceptable light level at the spawning context's location. This is an integer between 0 and 15 inclusive.
|
timeRange | The time range that is acceptable. This can either be text for registered time ranges like 'day' , 'night' , 'morning' , or it can be a comma separated list of tick ranges such as '0-1200,2000-3000' . It can also be a combination of both.
|
isRaining | Whether it must be raining or not raining, as a true/false .
|
isThundering | Whether it must be thundering or not thundering, as a true/false . Note that if it's raining regularly, it will not count as thundering. If it is thundering, it will count as both thundering and raining.
|
labels | The required labels on the spawn for it to be acceptable. This can be either a condition that requires all of the specified labels to be met, or just one of them. This is dictated by the labelMode value. |
labelMode | What kind of check will be applied for the labels. This is either ANY , meaning that any matching label from the condition's label list will suffice, or ALL , which requires every label mentioned in the condition to exist in the spawn.
|
Area spawning conditions are a sub-type of spawning condition and adds more properties that will apply to all area based spawning contexts (which is all world spawning).
Property Name | Description |
---|---|
minWidth | The smallest acceptable horizontal space around an area spawning context. Should be used to protect spawns from occurring where they will immediately suffocate and die. |
maxWidth | The largest acceptable horizontal space around an area spawning context. |
minHeight | The smallest acceptable amount of vertical space above an area spawning context. Should be used to protect spawns from occurring where they will immediately suffocate and die. |
maxHeight | The largest acceptable amount of vertical space above an area spawning context. |
neededNearbyBlocks | A list of block identifiers such as minecraft:cobblestone , at least one of which must be nearby. What counts as nearby is dependent on the config option that dictates how far out it should look.
|
Grounded spawning conditions are a sub-type of area spawning condition and adds more properties that will apply to the grounded context.
Property Name | Description |
---|---|
neededBaseBlocks | A list of block identifiers such as minecraft:cobblestone , at least one of which must be the base block that the spawn is occurring on.
|
Submerged spawning conditions are a sub-type of area spawning condition and adds more properties that will apply to the submerged contexts, those being underlava and underwater.
Property Name | Description |
---|---|
minDepth | The minimum number of blocks that may be beneath the submerged spawning context. |
maxDepth | The maximum number of blocks that may be beneath the submerged spawning context. |
fluidIsSource | Whether or not the fluid block the spawn is occurring in must be a source for the fluid. |
fluidBlock | The type of fluid it must be spawning in. This is as a translated name, such as water. |