Flattened particles

This commit is contained in:
DaanV2
2021-11-16 13:40:11 +01:00
parent f077e8a418
commit f6fc8ab689
39 changed files with 915 additions and 966 deletions

View File

@@ -2,10 +2,10 @@
"$id": "blockception.minecraft.resource.particle",
"examples": [
{
"format_version": "1.10.0",
"format_version": "1.17.0",
"particle_effect": {
"description": {
"identifier": "blockception:particle",
"identifier": "example:particle",
"basic_render_parameters": { "material": "particles_alpha", "texture": "textures/particle/particle" }
},
"curves": {},
@@ -13,9 +13,151 @@
}
}
],
"allOf": [
{ "if": { "properties": { "format_version": { "type": "string", "const": "1.8.0" } } }, "then": { "$ref": "./1.8.0/particle.json" } },
{ "if": { "properties": { "format_version": { "type": "string", "const": "1.10.0" } } }, "then": { "$ref": "./1.10.0/particle.json" } },
{ "properties": { "format_version": { "$ref": "../../general/format_version.json" } } }
]
"type": "object",
"additionalProperties": false,
"description": "A particle definition file",
"title": "Particle",
"properties": {
"format_version": { "$ref": "../../general/format_version.json" },
"particle_effect": {
"type": "object",
"additionalProperties": false,
"description": "UNDOCUMENTED: particle effect",
"title": "Particle Effect",
"properties": {
"description": {
"additionalProperties": false,
"type": "object",
"required": ["identifier", "basic_render_parameters"],
"properties": {
"identifier": {
"type": "string",
"description": "UNDOCUMENTED: identifier",
"title": "Identifier",
"$ref": "../../../general/particle/identifier.json"
},
"basic_render_parameters": {
"additionalProperties": false,
"type": "object",
"properties": {
"material": {
"type": "string",
"examples": ["particles_alpha", "particles_blend"],
"description": " Minecraft material to use for emitter",
"title": "Material"
},
"texture": { "type": "string", "pattern": "^.+$", "description": "Minecraft texture to use for emitter", "title": "Texture" }
},
"description": "UNDOCUMENTED: basic render parameters",
"title": "Basic Render Parameters"
}
},
"description": "UNDOCUMENTED: description",
"title": "Description"
},
"curves": {
"title": "Curves",
"description": "Curves are interpolation values, with inputs from 0 to 1, and outputs based on the curve. The result of the curve is a Molang variable of the same name that can be referenced in Molang in components. For each rendering frame for each particle, the curves are evaluated and the result is placed in a Molang variable of the name of the curve.",
"type": "object",
"propertyNames": { "pattern": "^(v|variable)\\.[a-zA-z0-9]+$" },
"additionalProperties": {
"type": "object",
"additionalProperties": false,
"title": "Curve",
"description": "UNDOCUMENTED",
"$comment": "UNDOCUMENTED",
"properties": {
"input": { "$ref": "../../../molang/number.json", "title": "Input", "description": "What is the input value to use" },
"nodes": {
"description": "Control nodes for curve. These are assumed to be equally, used Object for bezier_chain",
"title": "Nodes",
"oneOf": [
{ "minItems": 1, "type": "array", "items": { "$ref": "../../../molang/number.json" } },
{
"type": "object",
"propertyNames": { "pattern": "(^[\\-0-9]+$|^[\\-0-9]+\\.[\\-0-9]+$)" },
"additionalProperties": { "type": "object", "properties": {} }
}
]
},
"type": {
"type": "string",
"title": "Type",
"description": "The type of curve",
"enum": ["linear", "bezier", "bezier_chain", "catmull_rom"]
},
"horizontal_range": { "type": "string", "title": "Horizontal Range", "description": "What is the range the input is mapped onto" }
}
}
},
"components": {
"additionalProperties": false,
"type": "object",
"description": "The particle components.",
"title": "Components",
"properties": {
"minecraft:emitter_initialization": { "$ref": "./components/minecraft.emitter_initialization.json" },
"minecraft:emitter_lifetime_events": { "$ref": "./components/minecraft.emitter_lifetime_events.json" },
"minecraft:emitter_lifetime_expression": { "$ref": "./components/minecraft.emitter_lifetime_expression.json" },
"minecraft:emitter_lifetime_once": { "$ref": "./components/minecraft.emitter_lifetime_once.json" },
"minecraft:emitter_lifetime_looping": { "$ref": "./components/minecraft.emitter_lifetime_looping.json" },
"minecraft:emitter_local_space": { "$ref": "./components/minecraft.emitter_local_space.json" },
"minecraft:emitter_rate_instant": { "$ref": "./components/minecraft.emitter_rate_instant.json" },
"minecraft:emitter_rate_manual": { "$ref": "./components/minecraft.emitter_rate_manual.json" },
"minecraft:emitter_rate_steady": { "$ref": "./components/minecraft.emitter_rate_steady.json" },
"minecraft:emitter_shape_box": { "$ref": "./components/minecraft.emitter_shape_box.json" },
"minecraft:emitter_shape_custom": { "$ref": "./components/minecraft.emitter_shape_custom.json" },
"minecraft:emitter_shape_disc": { "$ref": "./components/minecraft.emitter_shape_disc.json" },
"minecraft:emitter_shape_entity_aabb": { "$ref": "./components/minecraft.emitter_shape_entity_aabb.json" },
"minecraft:emitter_shape_point": { "$ref": "./components/minecraft.emitter_shape_point.json" },
"minecraft:emitter_shape_sphere": { "$ref": "./components/minecraft.emitter_shape_sphere.json" },
"minecraft:particle_appearance_billboard": { "$ref": "./components/minecraft.particle_appearance_billboard.json" },
"minecraft:particle_appearance_tinting": { "$ref": "./components/minecraft.particle_appearance_tinting.json" },
"minecraft:particle_appearance_lighting": { "$ref": "./components/minecraft.particle_appearance_lighting.json" },
"minecraft:particle_expire_if_not_in_blocks": { "$ref": "./components/minecraft.particle_expire_if_not_in_blocks.json" },
"minecraft:particle_initialization": { "$ref": "./components/minecraft.particle_initialization.json" },
"minecraft:particle_initial_speed": { "$ref": "./components/minecraft.particle_initial_speed.json" },
"minecraft:particle_initial_spin": { "$ref": "./components/minecraft.particle_initial_spin.json" },
"minecraft:particle_lifetime_expression": { "$ref": "./components/minecraft.particle_lifetime_expression.json" },
"minecraft:particle_lifetime_events": { "$ref": "./components/minecraft.particle_lifetime_events.json" },
"minecraft:particle_kill_plane": { "$ref": "./components/minecraft.particle_kill_plane.json" },
"minecraft:particle_motion_collision": { "$ref": "./components/minecraft.particle_motion_collision.json" },
"minecraft:particle_motion_dynamic": { "$ref": "./components/minecraft.particle_motion_dynamic.json" },
"minecraft:particle_motion_parametric": { "$ref": "./components/minecraft.particle_motion_parametric.json" }
}
},
"events": {
"type": "object",
"description": "UNDOCUMENTED: events",
"title": "Events",
"additionalProperties": {
"description": "UNDOCUMENTED",
"$comment": "UNDOCUMENTED",
"title": "Event",
"type": "object",
"additionalProperties": false,
"properties": {
"particle_effect": {
"title": "Particle Effect",
"description": "UNDOCUMENTED",
"$comment": "UNDOCUMENTED",
"properties": {
"effect": { "type": "string", "description": "UNDOCUMENTED: effect", "title": "Effect" },
"type": { "type": "string", "description": "UNDOCUMENTED: type", "title": "Type" }
}
},
"sound_effect": {
"title": "Sound Effect",
"description": "UNDOCUMENTED",
"$comment": "UNDOCUMENTED",
"properties": {
"event_name": { "type": "string", "description": "UNDOCUMENTED: effect", "title": "Event Name" }
}
}
}
}
}
}
}
}
}