2021-06-06 10:07:19 +00:00
{
2021-11-20 11:26:35 +01:00
"$schema" : "http://json-schema.org/draft-07/schema" ,
2021-06-06 10:07:19 +00:00
"$id" : "blockception.minecraft.resource.particle" ,
"examples" : [
{
2023-11-28 19:49:09 +01:00
"format_version" : "1.20.41" ,
2021-06-06 10:07:19 +00:00
"particle_effect" : {
"description" : {
2021-11-16 13:40:11 +01:00
"identifier" : "example:particle" ,
2021-06-06 10:07:19 +00:00
"basic_render_parameters" : { "material" : "particles_alpha" , "texture" : "textures/particle/particle" }
} ,
"curves" : { } ,
"components" : { }
}
}
] ,
2021-11-16 13:40:11 +01:00
"type" : "object" ,
"additionalProperties" : false ,
2022-07-22 19:41:04 +02:00
"description" : "A particle definition file." ,
2021-11-16 13:40:11 +01:00
"title" : "Particle" ,
"properties" : {
"format_version" : { "$ref" : "../../general/format_version.json" } ,
"particle_effect" : {
"type" : "object" ,
"additionalProperties" : false ,
2022-07-22 19:41:04 +02:00
"description" : "UNDOCUMENTED: particle effect." ,
2021-11-16 13:40:11 +01:00
"title" : "Particle Effect" ,
"properties" : {
"description" : {
"additionalProperties" : false ,
"type" : "object" ,
"required" : [ "identifier" , "basic_render_parameters" ] ,
"properties" : {
"identifier" : {
"type" : "string" ,
2022-07-22 19:41:04 +02:00
"description" : "UNDOCUMENTED: identifier." ,
2021-11-16 13:40:11 +01:00
"title" : "Identifier" ,
2021-11-16 13:45:57 +01:00
"$ref" : "../../general/particle/identifier.json"
2021-11-16 13:40:11 +01:00
} ,
"basic_render_parameters" : {
"additionalProperties" : false ,
"type" : "object" ,
2022-07-22 19:41:04 +02:00
"description" : "UNDOCUMENTED: basic render parameters." ,
2021-11-16 14:11:08 +01:00
"title" : "Basic Render Parameters" ,
2021-11-16 13:40:11 +01:00
"properties" : {
"material" : {
"type" : "string" ,
"examples" : [ "particles_alpha" , "particles_blend" ] ,
2022-07-22 19:41:04 +02:00
"description" : " Minecraft material to use for emitter." ,
2021-11-16 13:40:11 +01:00
"title" : "Material"
} ,
2022-07-22 19:41:04 +02:00
"texture" : { "type" : "string" , "pattern" : "^.+$" , "description" : "Minecraft texture to use for emitter." , "title" : "Texture" }
2021-11-16 14:11:08 +01:00
}
2021-11-16 13:40:11 +01:00
}
} ,
2022-07-22 19:41:04 +02:00
"description" : "UNDOCUMENTED: description." ,
2021-11-16 13:40:11 +01:00
"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" ,
2022-07-22 19:41:04 +02:00
"description" : "The curve definitions, conists out of a couple of nodes." ,
2021-11-16 13:40:11 +01:00
"$comment" : "UNDOCUMENTED" ,
"properties" : {
2022-07-22 19:41:04 +02:00
"input" : { "$ref" : "../../molang/number.json" , "title" : "Input" , "description" : "What is the input value to use." } ,
2021-11-16 13:40:11 +01:00
"nodes" : {
"description" : "Control nodes for curve. These are assumed to be equally, used Object for bezier_chain" ,
"title" : "Nodes" ,
"oneOf" : [
2021-11-20 11:27:59 +01:00
{ "minItems" : 1 , "type" : "array" , "items" : { "$ref" : "../../molang/number.json" } } ,
2021-11-16 13:40:11 +01:00
{
"type" : "object" ,
"propertyNames" : { "pattern" : "(^[\\-0-9]+$|^[\\-0-9]+\\.[\\-0-9]+$)" } ,
"additionalProperties" : { "type" : "object" , "properties" : { } }
}
]
} ,
"type" : {
"type" : "string" ,
"title" : "Type" ,
2022-07-22 19:41:04 +02:00
"description" : "The type of curve." ,
2021-11-16 13:40:11 +01:00
"enum" : [ "linear" , "bezier" , "bezier_chain" , "catmull_rom" ]
} ,
2022-01-19 17:13:08 +01:00
"horizontal_range" : {
"title" : "Horizontal Range" ,
2022-07-22 19:41:04 +02:00
"description" : "What is the range the input is mapped onto." ,
2022-01-19 17:13:08 +01:00
"$ref" : "../../molang/number.json"
}
2021-11-16 13:40:11 +01:00
}
}
} ,
"components" : {
"additionalProperties" : false ,
"type" : "object" ,
"description" : "The particle components." ,
"title" : "Components" ,
"properties" : {
2022-03-27 14:12:24 +02:00
"minecraft:emitter_initialization" : { "$ref" : "./components/emitter_initialization.json" } ,
"minecraft:emitter_lifetime_events" : { "$ref" : "./components/emitter_lifetime_events.json" } ,
"minecraft:emitter_lifetime_expression" : { "$ref" : "./components/emitter_lifetime_expression.json" } ,
"minecraft:emitter_lifetime_once" : { "$ref" : "./components/emitter_lifetime_once.json" } ,
"minecraft:emitter_lifetime_looping" : { "$ref" : "./components/emitter_lifetime_looping.json" } ,
"minecraft:emitter_local_space" : { "$ref" : "./components/emitter_local_space.json" } ,
"minecraft:emitter_rate_instant" : { "$ref" : "./components/emitter_rate_instant.json" } ,
"minecraft:emitter_rate_manual" : { "$ref" : "./components/emitter_rate_manual.json" } ,
"minecraft:emitter_rate_steady" : { "$ref" : "./components/emitter_rate_steady.json" } ,
"minecraft:emitter_shape_box" : { "$ref" : "./components/emitter_shape_box.json" } ,
"minecraft:emitter_shape_custom" : { "$ref" : "./components/emitter_shape_custom.json" } ,
"minecraft:emitter_shape_disc" : { "$ref" : "./components/emitter_shape_disc.json" } ,
"minecraft:emitter_shape_entity_aabb" : { "$ref" : "./components/emitter_shape_entity_aabb.json" } ,
"minecraft:emitter_shape_point" : { "$ref" : "./components/emitter_shape_point.json" } ,
"minecraft:emitter_shape_sphere" : { "$ref" : "./components/emitter_shape_sphere.json" } ,
"minecraft:particle_appearance_billboard" : { "$ref" : "./components/particle_appearance_billboard.json" } ,
"minecraft:particle_appearance_tinting" : { "$ref" : "./components/particle_appearance_tinting.json" } ,
"minecraft:particle_appearance_lighting" : { "$ref" : "./components/particle_appearance_lighting.json" } ,
"minecraft:particle_expire_if_not_in_blocks" : { "$ref" : "./components/particle_expire_if_not_in_blocks.json" } ,
"minecraft:particle_expire_if_in_blocks" : { "$ref" : "./components/particle_expire_if_in_blocks.json" } ,
"minecraft:particle_initialization" : { "$ref" : "./components/particle_initialization.json" } ,
"minecraft:particle_initial_speed" : { "$ref" : "./components/particle_initial_speed.json" } ,
"minecraft:particle_initial_spin" : { "$ref" : "./components/particle_initial_spin.json" } ,
"minecraft:particle_lifetime_expression" : { "$ref" : "./components/particle_lifetime_expression.json" } ,
"minecraft:particle_lifetime_events" : { "$ref" : "./components/particle_lifetime_events.json" } ,
"minecraft:particle_kill_plane" : { "$ref" : "./components/particle_kill_plane.json" } ,
"minecraft:particle_motion_collision" : { "$ref" : "./components/particle_motion_collision.json" } ,
"minecraft:particle_motion_dynamic" : { "$ref" : "./components/particle_motion_dynamic.json" } ,
"minecraft:particle_motion_parametric" : { "$ref" : "./components/particle_motion_parametric.json" }
2021-11-16 13:40:11 +01:00
}
} ,
"events" : {
"type" : "object" ,
2022-07-22 19:41:04 +02:00
"description" : "UNDOCUMENTED: events." ,
2021-11-16 13:40:11 +01:00
"title" : "Events" ,
"additionalProperties" : {
2022-07-22 19:41:04 +02:00
"description" : "UNDOCUMENTED." ,
2021-11-16 13:40:11 +01:00
"$comment" : "UNDOCUMENTED" ,
"title" : "Event" ,
"type" : "object" ,
"additionalProperties" : false ,
"properties" : {
"particle_effect" : {
"title" : "Particle Effect" ,
2022-07-22 19:41:04 +02:00
"description" : "UNDOCUMENTED." ,
2021-11-16 13:40:11 +01:00
"$comment" : "UNDOCUMENTED" ,
"properties" : {
2022-07-22 19:41:04 +02:00
"effect" : { "type" : "string" , "description" : "UNDOCUMENTED: effect." , "title" : "Effect" } ,
"type" : { "type" : "string" , "description" : "UNDOCUMENTED: type." , "title" : "Type" }
2021-11-16 13:40:11 +01:00
}
} ,
"sound_effect" : {
"title" : "Sound Effect" ,
2022-07-22 19:41:04 +02:00
"description" : "UNDOCUMENTED." ,
2021-11-16 13:40:11 +01:00
"$comment" : "UNDOCUMENTED" ,
"properties" : {
2022-07-22 19:41:04 +02:00
"event_name" : { "type" : "string" , "description" : "UNDOCUMENTED: effect." , "title" : "Event Name" }
2021-11-16 13:40:11 +01:00
}
}
}
}
}
}
}
}
2021-06-06 10:07:19 +00:00
}