mirror of
https://github.com/IrisDimensions/overworld.git
synced 2025-12-30 20:29:10 +00:00
342 lines
21 KiB
JSON
342 lines
21 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"$id": "http://volmit.com/iris-schema/irisspawner.json",
|
|
"description": "Represents an entity spawn during initial chunk generation",
|
|
"type": "object",
|
|
"properties": {
|
|
"preprocessors": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"items": {"$ref": "#/definitions/erzscripts"},
|
|
"description": "preprocessors\nPreprocess this object in-memory when it's loaded, run scripts using the variable 'Iris.getPreprocessorObject()' and modify properties about this object before it's used.\n \nList<Script>\n\n \n* Default Value is an empty list\n* At least one entry must be defined, or just remove this list.\nMust be a valid Script (use ctrl+space for auto complete!)"
|
|
},
|
|
"spawns": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"items": {"$ref": "#/definitions/obj-com-volmit-iris-engine-object-irisentityspawn"},
|
|
"description": "spawns\nThe entity spawns to add\n \nList of EntitySpawns (Objects)\n\n \n* Default Value is an empty list\n* At least one entry must be defined, or just remove this list."
|
|
},
|
|
"initialSpawns": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"items": {"$ref": "#/definitions/obj-com-volmit-iris-engine-object-irisentityspawn"},
|
|
"description": "initialSpawns\nThe entity spawns to add initially. EXECUTES PER CHUNK!\n \nList of EntitySpawns (Objects)\n\n \n* Default Value is an empty list\n* At least one entry must be defined, or just remove this list."
|
|
},
|
|
"energyMultiplier": {
|
|
"type": "number",
|
|
"description": "energyMultiplier\nThe energy multiplier when calculating spawn energy usage\n \nNumber\n\n \n* Default Value is 1.0"
|
|
},
|
|
"maxEntitiesPerChunk": {
|
|
"type": "integer",
|
|
"description": "maxEntitiesPerChunk\nThis spawner will not spawn in a given chunk if that chunk has more than the defined amount of living entities.\n \nInteger\n\n \n* Default Value is 1"
|
|
},
|
|
"timeBlock": {
|
|
"anyOf": [
|
|
{
|
|
"!required": false,
|
|
"type": "object",
|
|
"$ref": "#/definitions/obj-com-volmit-iris-engine-object-iristimeblock",
|
|
"description": "timeBlock\nThe block of 24 hour time to contain this spawn in.\n \nTimeBlock (Object)\nRepresents a time of day (24h time, not 12h am/pm). Set both to the same number for any time. If they are both set to -1, it will always be not allowed.\n \nYou can instead specify \"snippet/time-block/some-name.json\" to use a snippet file instead of specifying it here.\n \n* Default Value is a default object (create this object to see default properties)"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"$ref": "#/definitions/enum-snippet-time-block",
|
|
"description": "timeBlock\nThe block of 24 hour time to contain this spawn in.\n \nTimeBlock (Object)\nRepresents a time of day (24h time, not 12h am/pm). Set both to the same number for any time. If they are both set to -1, it will always be not allowed.\n \nYou can instead specify \"snippet/time-block/some-name.json\" to use a snippet file instead of specifying it here.\n \n* Default Value is a default object (create this object to see default properties)"
|
|
}
|
|
],
|
|
"description": "timeBlock\nThe block of 24 hour time to contain this spawn in.\n \nTimeBlock (Object)\nRepresents a time of day (24h time, not 12h am/pm). Set both to the same number for any time. If they are both set to -1, it will always be not allowed.\n \nYou can instead specify \"snippet/time-block/some-name.json\" to use a snippet file instead of specifying it here.\n \n* Default Value is a default object (create this object to see default properties)"
|
|
},
|
|
"weather": {
|
|
"type": "string",
|
|
"$ref": "#/definitions/oneof-enum-com-volmit-iris-engine-object-irisweather",
|
|
"description": "weather\nThe block of 24 hour time to contain this spawn in.\n \nWeather\nRepresents a weather type\n \n* Default Value is a default object (create this object to see default properties)\nMust be a valid Weather (use ctrl+space for auto complete!)"
|
|
},
|
|
"maximumRate": {
|
|
"anyOf": [
|
|
{
|
|
"!required": false,
|
|
"type": "object",
|
|
"$ref": "#/definitions/obj-com-volmit-iris-engine-object-irisrate",
|
|
"description": "maximumRate\nThe maximum rate this spawner can fire\n \nRate (Object)\nRepresents a count of something per time duration\n \nYou can instead specify \"snippet/rate/some-name.json\" to use a snippet file instead of specifying it here.\n \n* Default Value is a default object (create this object to see default properties)"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"$ref": "#/definitions/enum-snippet-rate",
|
|
"description": "maximumRate\nThe maximum rate this spawner can fire\n \nRate (Object)\nRepresents a count of something per time duration\n \nYou can instead specify \"snippet/rate/some-name.json\" to use a snippet file instead of specifying it here.\n \n* Default Value is a default object (create this object to see default properties)"
|
|
}
|
|
],
|
|
"description": "maximumRate\nThe maximum rate this spawner can fire\n \nRate (Object)\nRepresents a count of something per time duration\n \nYou can instead specify \"snippet/rate/some-name.json\" to use a snippet file instead of specifying it here.\n \n* Default Value is a default object (create this object to see default properties)"
|
|
},
|
|
"maximumRatePerChunk": {
|
|
"anyOf": [
|
|
{
|
|
"!required": false,
|
|
"type": "object",
|
|
"$ref": "#/definitions/obj-com-volmit-iris-engine-object-irisrate",
|
|
"description": "maximumRatePerChunk\nThe maximum rate this spawner can fire on a specific chunk\n \nRate (Object)\nRepresents a count of something per time duration\n \nYou can instead specify \"snippet/rate/some-name.json\" to use a snippet file instead of specifying it here.\n \n* Default Value is a default object (create this object to see default properties)"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"$ref": "#/definitions/enum-snippet-rate",
|
|
"description": "maximumRatePerChunk\nThe maximum rate this spawner can fire on a specific chunk\n \nRate (Object)\nRepresents a count of something per time duration\n \nYou can instead specify \"snippet/rate/some-name.json\" to use a snippet file instead of specifying it here.\n \n* Default Value is a default object (create this object to see default properties)"
|
|
}
|
|
],
|
|
"description": "maximumRatePerChunk\nThe maximum rate this spawner can fire on a specific chunk\n \nRate (Object)\nRepresents a count of something per time duration\n \nYou can instead specify \"snippet/rate/some-name.json\" to use a snippet file instead of specifying it here.\n \n* Default Value is a default object (create this object to see default properties)"
|
|
},
|
|
"allowedLightLevels": {
|
|
"anyOf": [
|
|
{
|
|
"!required": false,
|
|
"type": "object",
|
|
"$ref": "#/definitions/obj-com-volmit-iris-engine-object-irisrange",
|
|
"description": "allowedLightLevels\nThe light levels this spawn is allowed to run in (0-15 inclusive)\n \nRange (Object)\nRepresents a range\n \nYou can instead specify \"snippet/range/some-name.json\" to use a snippet file instead of specifying it here.\n \n* Default Value is a default object (create this object to see default properties)"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"$ref": "#/definitions/enum-snippet-range",
|
|
"description": "allowedLightLevels\nThe light levels this spawn is allowed to run in (0-15 inclusive)\n \nRange (Object)\nRepresents a range\n \nYou can instead specify \"snippet/range/some-name.json\" to use a snippet file instead of specifying it here.\n \n* Default Value is a default object (create this object to see default properties)"
|
|
}
|
|
],
|
|
"description": "allowedLightLevels\nThe light levels this spawn is allowed to run in (0-15 inclusive)\n \nRange (Object)\nRepresents a range\n \nYou can instead specify \"snippet/range/some-name.json\" to use a snippet file instead of specifying it here.\n \n* Default Value is a default object (create this object to see default properties)"
|
|
},
|
|
"group": {
|
|
"type": "string",
|
|
"$ref": "#/definitions/oneof-enum-com-volmit-iris-engine-object-irisspawngroup",
|
|
"description": "group\nWhere should these spawns be placed\n \nSpawnGroup\nTerrain modes are used to decide the generator type currently used\n \n* Default Value is a default object (create this object to see default properties)\nMust be a valid SpawnGroup (use ctrl+space for auto complete!)"
|
|
}
|
|
},
|
|
"definitions": {
|
|
"obj-com-volmit-iris-engine-object-irisrange": {"anyOf": [
|
|
{
|
|
"description": "Represents a range",
|
|
"type": "object",
|
|
"properties": {
|
|
"min": {
|
|
"type": "number",
|
|
"description": "min\nThe minimum value\n \nNumber\n\n \n* Default Value is 16.0"
|
|
},
|
|
"max": {
|
|
"type": "number",
|
|
"description": "max\nThe maximum value\n \nNumber\n\n \n* Default Value is 32.0"
|
|
}
|
|
}
|
|
},
|
|
{"type": "string"}
|
|
]},
|
|
"oneof-enum-com-volmit-iris-engine-object-irisspawngroup": {"oneOf": [
|
|
{
|
|
"const": "NORMAL",
|
|
"description": "Spawns on the terrain surface"
|
|
},
|
|
{
|
|
"const": "CAVE",
|
|
"description": "Spawns in cave-air and low light level areas"
|
|
},
|
|
{
|
|
"const": "UNDERWATER",
|
|
"description": "Spawns underwater"
|
|
},
|
|
{
|
|
"const": "BEACH",
|
|
"description": "Spawns in beaches"
|
|
}
|
|
]},
|
|
"enum-snippet-time-block": {"enum": []},
|
|
"enum-snippet-duration": {"enum": []},
|
|
"obj-com-volmit-iris-engine-object-iristimeblock": {"anyOf": [
|
|
{
|
|
"description": "Represents a time of day (24h time, not 12h am/pm). Set both to the same number for any time. If they are both set to -1, it will always be not allowed.",
|
|
"type": "object",
|
|
"properties": {
|
|
"startHour": {
|
|
"type": "number",
|
|
"description": "startHour\nThe beginning hour. Set both to the same number for any time. If they are both set to -1, it will always be not allowed.\n \nNumber\n\n \n* Default Value is 0.0"
|
|
},
|
|
"endHour": {
|
|
"type": "number",
|
|
"description": "endHour\nThe ending hour. Set both to the same number for any time. If they are both set to -1, it will always be not allowed.\n \nNumber\n\n \n* Default Value is 0.0"
|
|
}
|
|
}
|
|
},
|
|
{"type": "string"}
|
|
]},
|
|
"erzscripts": {"enum": []},
|
|
"erzentities": {"enum": [
|
|
"standard/passive/cow",
|
|
"standard/passive/wolf",
|
|
"standard/passive/dolphin",
|
|
"standard/passive/pig",
|
|
"standard/passive/turtle",
|
|
"standard/passive/wanderingtrader",
|
|
"standard/passive/fox",
|
|
"unique/fred",
|
|
"standard/hostile/spider",
|
|
"standard/passive/sheep",
|
|
"standard/hostile/creeper",
|
|
"unique/aeternum",
|
|
"standard/hostile/shroud",
|
|
"standard/passive/mule",
|
|
"unique/dan",
|
|
"standard/passive/goat",
|
|
"unique/mooshroom",
|
|
"standard/passive/parrot",
|
|
"standard/passive/bee",
|
|
"unique/pandaUwU",
|
|
"unique/glowsquid",
|
|
"unique/village_vex_test",
|
|
"standard/hostile/silverfish",
|
|
"unique/brian",
|
|
"standard/passive/panda",
|
|
"standard/hostile/zombie",
|
|
"standard/passive/chicken",
|
|
"unique/amenhotep",
|
|
"standard/hostile/slime",
|
|
"standard/passive/polar-bear",
|
|
"standard/passive/villager",
|
|
"standard/hostile/slimebab",
|
|
"standard/passive/rabbit",
|
|
"unique/phantomapi",
|
|
"standard/hostile/drowned",
|
|
"unique/golem",
|
|
"standard/passive/horse",
|
|
"standard/passive/llama",
|
|
"standard/hostile/pillager",
|
|
"standard/passive/donkey",
|
|
"standard/passive/ocelot",
|
|
"unique/iron_golem",
|
|
"standard/hostile/skeleton"
|
|
]},
|
|
"enum-snippet-rate": {"enum": []},
|
|
"obj-com-volmit-iris-engine-object-irisrate": {"anyOf": [
|
|
{
|
|
"description": "Represents a count of something per time duration",
|
|
"type": "object",
|
|
"properties": {
|
|
"amount": {
|
|
"type": "integer",
|
|
"description": "amount\nThe amount of things. Leave 0 for infinite (meaning always spawn whenever)\n \nInteger\n\n \n* Default Value is 0"
|
|
},
|
|
"per": {
|
|
"anyOf": [
|
|
{
|
|
"!required": false,
|
|
"type": "object",
|
|
"$ref": "#/definitions/obj-com-volmit-iris-engine-object-irisduration",
|
|
"description": "per\nThe time interval. Leave blank for infinite 0 (meaning always spawn all the time)\n \nDuration (Object)\nRepresents a combined duration. Fill each property to add time into a single duration\n \nYou can instead specify \"snippet/duration/some-name.json\" to use a snippet file instead of specifying it here.\n \n* Default Value is a default object (create this object to see default properties)"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"$ref": "#/definitions/enum-snippet-duration",
|
|
"description": "per\nThe time interval. Leave blank for infinite 0 (meaning always spawn all the time)\n \nDuration (Object)\nRepresents a combined duration. Fill each property to add time into a single duration\n \nYou can instead specify \"snippet/duration/some-name.json\" to use a snippet file instead of specifying it here.\n \n* Default Value is a default object (create this object to see default properties)"
|
|
}
|
|
],
|
|
"description": "per\nThe time interval. Leave blank for infinite 0 (meaning always spawn all the time)\n \nDuration (Object)\nRepresents a combined duration. Fill each property to add time into a single duration\n \nYou can instead specify \"snippet/duration/some-name.json\" to use a snippet file instead of specifying it here.\n \n* Default Value is a default object (create this object to see default properties)"
|
|
}
|
|
}
|
|
},
|
|
{"type": "string"}
|
|
]},
|
|
"obj-com-volmit-iris-engine-object-irisduration": {"anyOf": [
|
|
{
|
|
"description": "Represents a combined duration. Fill each property to add time into a single duration",
|
|
"type": "object",
|
|
"properties": {
|
|
"milliseconds": {
|
|
"type": "integer",
|
|
"description": "milliseconds\nMilliseconds (1000ms = 1 second)\n \nInteger\n\n \n* Default Value is 0"
|
|
},
|
|
"minecraftTicks": {
|
|
"type": "integer",
|
|
"description": "minecraftTicks\nMinecraft Ticks (20 minecraft ticks = 1 second\n \nInteger\n\n \n* Default Value is 0"
|
|
},
|
|
"seconds": {
|
|
"type": "integer",
|
|
"description": "seconds\nSeconds (60 seconds = 1 minute)\n \nInteger\n\n \n* Default Value is 0"
|
|
},
|
|
"minutes": {
|
|
"type": "integer",
|
|
"description": "minutes\nMinutes (60 minutes = 1 hour)\n \nInteger\n\n \n* Default Value is 0"
|
|
},
|
|
"minecraftHours": {
|
|
"type": "integer",
|
|
"description": "minecraftHours\nMinecraft Hours (about 50 real seconds)\n \nInteger\n\n \n* Default Value is 0"
|
|
},
|
|
"hours": {
|
|
"type": "integer",
|
|
"description": "hours\nHours (24 hours = 1 day)\n \nInteger\n\n \n* Default Value is 0"
|
|
},
|
|
"minecraftDays": {
|
|
"type": "integer",
|
|
"description": "minecraftDays\nMinecraft Days (1 minecraft day = 20 real minutes)\n \nInteger\n\n \n* Default Value is 0"
|
|
},
|
|
"minecraftWeeks": {
|
|
"type": "integer",
|
|
"description": "minecraftWeeks\nMinecraft Weeks (1 minecraft week = 2 real hours and 18 real minutes)\n \nInteger\n\n \n* Default Value is 0"
|
|
},
|
|
"minecraftLunarCycles": {
|
|
"type": "integer",
|
|
"description": "minecraftLunarCycles\nMinecraft Lunar Cycles (1 minecraft lunar cycle = 2 real hours and 36 real minutes)\n \nInteger\n\n \n* Default Value is 0"
|
|
},
|
|
"days": {
|
|
"type": "integer",
|
|
"description": "days\nREAL (not minecraft) Days\n \nInteger\n\n \n* Default Value is 0"
|
|
}
|
|
}
|
|
},
|
|
{"type": "string"}
|
|
]},
|
|
"enum-snippet-range": {"enum": []},
|
|
"oneof-enum-com-volmit-iris-engine-object-irisweather": {"oneOf": [
|
|
{
|
|
"const": "NONE",
|
|
"description": "Represents when weather is not causing downfall"
|
|
},
|
|
{
|
|
"const": "DOWNFALL",
|
|
"description": "Represents rain or snow"
|
|
},
|
|
{
|
|
"const": "DOWNFALL_WITH_THUNDER",
|
|
"description": "Represents rain or snow with thunder"
|
|
},
|
|
{
|
|
"const": "ANY",
|
|
"description": "Any weather"
|
|
}
|
|
]},
|
|
"obj-com-volmit-iris-engine-object-irisentityspawn": {"anyOf": [
|
|
{
|
|
"description": "Represents an entity spawn during initial chunk generation",
|
|
"type": "object",
|
|
"properties": {
|
|
"entity": {
|
|
"type": "string",
|
|
"$ref": "#/definitions/erzentities",
|
|
"description": "entity\nThe entity\n \nIris Entity\n\n \n* Default Value is \nMust be a valid entities (use ctrl+space for auto complete!)"
|
|
},
|
|
"energyMultiplier": {
|
|
"type": "number",
|
|
"description": "energyMultiplier\nThe energy multiplier when calculating spawn energy usage\n \nNumber\n\n \n* Default Value is 1.0"
|
|
},
|
|
"rarity": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"description": "rarity\nThe 1 in RARITY chance for this entity to spawn\n \nInteger\n\n \n* Default Value is 1\n* Minimum allowed is 1"
|
|
},
|
|
"minSpawns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"description": "minSpawns\nThe minumum of this entity to spawn\n \nInteger\n\n \n* Default Value is 1\n* Minimum allowed is 1"
|
|
},
|
|
"maxSpawns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"description": "maxSpawns\nThe max of this entity to spawn\n \nInteger\n\n \n* Default Value is 1\n* Minimum allowed is 1"
|
|
}
|
|
}
|
|
},
|
|
{"type": "string"}
|
|
]}
|
|
}
|
|
}
|