-
Notifications
You must be signed in to change notification settings - Fork 34
Structure Location Section
The structure location section is property section the defines the locations of where a structure is allowed to spawn.
StructureLocation:
Worlds:
- world
WorldBlacklist: []
SpawnY: top
SpawnYHeightMap: 'WORLD_SURFACE'
CalculateSpawnFirst: true
Biome: []
DistanceFromOthers: 200
SpawnDistance:
x: 10
z: 10
You can limit what worlds a structure can spawn in using a whitelist or blacklist.
Note: The global world blacklist and whitelist will take precedence over these settings.
Using the Worlds
property you can limit the worlds that a structure can spawn in. The Worlds
property is a string list. It is not a required property and has a default value of allowing all worlds.
Worlds:
- world
- demo_world
Each entry above denotes the name of the world where the structure can spawn. So in the example above, the structure would only be able to spawn in the world
and demo_world
worlds.
If you want to allow all worlds you can simply omit the property or set it to an empty list as shown below:
Worlds: []
Quick Reference:
Required: False
Value: A list containing world names.
Default Value: All worlds.
Using the WorldBlacklist
property, you can prevent structures from spawning in specific worlds. It is not a required property and has a default value of allowing all worlds.
WorldBlacklist:
- demo_world
Each entry above denotes the name of the world where the structure should not spawn. So in the example above, the structure would be able to spawn in any world other than the world
and demo_world
worlds.
If you want to allow all worlds you can simply omit the property or set it to an empty list as shown below:
WorldBlacklist: []
An AND
operation is used when combined with the Worlds
property. If one disallows the spawning in a world, then it cannot spawn there. So for example is both list demo_world
, then demo_world
won't be able to spawn.
Quick Reference:
Required: False
Value: A list containing world names.
Default Value: No worlds.
The SpawnY
property allows you to configure where the structure should spawn on the y axis. This property takes in what is know as a SpawnY String
by the plugin. A SpawnY String
is a versatile configuration string that defines where the structure spawns on the y axis (including values relative to the terrain height).
Remember: The schematic of a structure will spawn at its origin point. The origin point of a schematic is where you were standing when you created the schematic. If your structure is spawning too low in the ground, consider standing lower when creating your schematic.
Defined below are the different possible inputs allowed in a SpawnY String
.
SpawnY: 'top'
The top
value denotes that the plugin should spawn the structure at the height block in the world (aka being flush with the terrain or on the surface). What the plugin considers to be the top of the world can be configured using the SpawnYHeightMap
property.
SpawnY: 10
Suppling a single integer value will tell the plugin that the structure should spawn at that y-level exactly. So in the example above, the structure will always spawn at a y-level of 10. You can supply any integer value (including negative numbers) as long as it is within the world height constraints.
You can also provide a range of integers that the plugin can spawn the structure on. When a structure is placed, the plugin will pick a random y position in the range (inclusive) to place the structure.
SpawnY: '[20;30]'
In the format above [x;y]
represents a range from the integer value x
to the integer value y
. Note: The following condition must hold true: x < y
.
SpawnY: '+[10]'
Often you might want to spawn a structures some blocks above the surface. You can do this by putting +[x]
where x is the number of blocks you want to spawn above the surface. You can also provide a range so that the plugin can vary the spawning position like with integer spawning.
SpawnY: '+[5;10]'
In the format above +[x;y]
represents a range from the integer value x
to the integer value y
. Note: The following condition must hold true: x < y
.
SpawnY: '-[10]'
Similar to spawning a structure above the surface, you might want to spawn a structures some blocks below the surface. You can do this by putting -[x]
where x is the natural number of blocks you want to spawn below the surface. You can also provide a range so that the plugin can vary the spawning position like with integer spawning.
SpawnY: '-[5;10]'
In the format above -[x;y]
represents a range from the natural number x
to the natural number y
. Note: The following condition must hold true: |x| < |y|
.
Did you know? A natural number is defined as a number ranging from 0 to positive infinity. (0, 1, 2, ..., +inf
)
Quick Reference:
Required: True
Value: SpawnY String
Default Value: None (Required)
You can define the way the plugin determines what the surface is:
SpawnYHeightMap: 'WORLD_SURFACE'
Currently, Spigot provides three options:
-
WORLD_SURFACE
: This is the highest non-air block. -
OCEAN_FLOOR
: The highest non-air, solid block. (The structure will not spawn on top of water). -
MOTION_BLOCKING
: The highest block that blocks motion or contains a fluid.
Quick Reference:
Required: True
Value: Enumeration String
Default Value: None (Required)
This allows you to pick whether the SpawnY
for the structure is picked first or last in the structure picking process. Setting this value to false will allows properties such as SpawnInWater
, SpawnInLaveLakes
, and WhitelistSpawnBlock
to be done first.
CalculateSpawnFirst: true
So if SpawnY
is 60, and this value is false, then the structure would not spawn over water since it checks to see if the spawn block is water before moving the structure up to y = 60.
Quick Reference:
Required: False
Value: Boolean
Default Value: True
You can define a list of biomes where a structure can spawn.
Biome:
- DESERT
- SAVANNA
In the example above, the structure can spawn in two biomes: desert
and savanna
. The plugin uses the Spigot biome names to define biomes. You can find a list of valid biomes here.
If you want a structure to spawn in all biomes, you can simply omit this property or set it to an empty list.
Biome: []
Remember: What you perceive as a single biome can actually be multiple biomes. For example, a savanna biome is defined as SAVANNA
and SAVANNA_PLATEAU
.
Did you know? Structures can support Custom Biomes defined by datapacks or other plugins by using the CSCustomBiomes addon.
Quick Reference:
Required: False
Value: String List
Default Value: Any Biome
The DistanceFromOthers
property is used to define the minimum distance required between the structure being spawned and other structures. This prevents structures from spawning too close together.
DistanceFromOthers: 200
Quick Reference:
Required: False
Value: Positive Integer
Default Value: 200
The DistanceFromSame
property is used to define the minimum distance required between the structure being spawned and another structure of the same type. This prevents two of the same structure from spawning too close together.
DistanceFromSame: 200
Quick Reference:
Required: False
Value: Positive Integer
Default Value: 200
Defines a grid around the origin of the world (0, 0) on the xz-plane where structures cannot spawn. This is used to prevent certain structures from spawning too close to the spawn point of a world.
SpawnDistance:
x: 500
z: 500
In the example above, a 500x500 block grid is marked as off-limits for the structure to spawn in. So any instance of this structure must have an x > 500
and a z > 500
.
Quick Reference:
Required: False
Value: x and z values (in blocks from the origin)
Default Value: 0
Custom Structure WIKI
- Main Page
- Installation
- Commands
- Creating Schematics
-
Structure Configuration
- Structure Configuration File
- Configuration Signs
- Weighted Probability
- Updating The Plugin
- Addons
- Developer API