Mods / Additional Spawn Constraints
Author: Zach2039
Side: Both
Created: May 21st at 11:17 PM
Last modified: May 23rd at 8:05 PM
Downloads: 603
Follow Unfollow 11
Latest file for Various v1.19.x:
additionalspawnconstraints_1.0.1.zip
1-click install
Additional Spawn Constraints
A server-side dependency mod that allows JSON mods and patching to control various spawn conditions; does nothing on its own!
Overview
AdditionalSpawnConstraints will look for an additionalSpawnConstraints
object inside an entity's /attributes
object. This can be included on new entity JSON files, or patched in via JSON.
An example for some properties is below, applied via a patch to drifter.json
:
[
{
"side": "Server",
"file": "game:entities/land/drifter.json",
"op": "addmerge",
"path": "/attributes/additionalSpawnConstraints",
"value": {
"changeTemporalStormSpawnMechanics": true,
"canSpawnOn":[
"game:sand-*",
"game:gravel-*",
"game:dirtygravel",
"game:sludgygravel",
"game:muddygravel",
"game:soil-*",
"game:forestfloor-*",
"game:peat-*",
"game:rock-*",
"game:crackedrock-*",
"game:regolith-*",
"game:ore-gem-*",
"game:ore-graded-*",
"game:ore-ungraded-*"
]
}
}
]
The properties that can be set within additionalSpawnConstraints
are:
-
"minRegionStability"
: The minimum region stablity required when spawning the entity; does not take into account rifts nor rift proximity. -
"maxRegionStability"
: The maximum region stablity required when spawning the entity; does not take into account rifts nor rift proximity. -
"canSpawnOn"
: A list of block codes that are valid for spawning the entity on; supports globs and regex to handle variants. -
"cannotSpawnOn"
: A list of block codes that are not valid for spawning the entity on; supports globs and regex to handle variants. -
"changeTemporalStormSpawnMechanics"
: Determines if other properties can affect temporal storm spawning, where applicable; default isfalse
if unspecified. Does not apply to"minRegionStability"
or"maxRegionStability"
. Only affects entities that are spawned during storms.
Future Plans
- Properties related to health scaling on spawn.
Known Issues
- None, atm.
Mods That Use This
- Natural Spawns : Limits drifters to spawning on soil and other natural blocks, even during storms.
Extras
- Thanks to Thalius for testing help.
Version | For Game version | Downloads | Release date | Changelog | Download | 1-click mod install* |
---|---|---|---|---|---|---|
v1.0.1 | 364 | May 23rd at 8:05 PM | Show | additionalspawnconstraints_1.0.1.zip | Install now | |
v1.0.0 | 238 | May 22nd at 1:15 AM | Show | additionalspawnconstraints_1.0.0.zip | Install now |
Maamessu
That should be possible with vanilla's RuntimeSpawnConditions and WorldGenSpawnConditions, I think. The reason these are attributes on the entities class is I did not know how to extend SpawnConditions in an easy way.
For min/max stability properties, it is based on the vanilla's region stability. There is a heatmap of world stability that is queried with an x, y, and z coordinate. Player stability has no effect on these spawn constraint properties.
Would it be possible to add a y value for spawn conditions, so that we can set spawns to be underground only, or sea level only, or mountain only, etc?
I'm also not entirely sure how min/max stability works. Is it calculating based on chunk stability or player stability?
Just wanted to say I think this is super cool. Thanks for working on it!