9
0
mirror of https://github.com/IrisDimensions/overworld.git synced 2025-12-30 20:29:10 +00:00
Files
Iris-Pack-Overworld/.iris/schema/spawners-schema.json
2021-08-30 12:19:31 -07:00

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"}
]}
}
}