-
Notifications
You must be signed in to change notification settings - Fork 0
Particle Configuration
This section of the wiki provides information on how to properly configure particle groups in /plugins/Aurora/particles/
.
NOTE: All particle configs will have different required values in properties
depending on the shape set in particle.particleType
. You should use these configs below as templates if you wish to create new particle groups depending on its shape.
{
"name": "Example Particle",
"enabled": true,
"spawning": {
"biomes": [
"PLAINS",
"PRESENT: SHORE"
],
"spawnDistance": 10.0,
"randMultiplier": 0.5,
"relativePlayerPosition": false,
"minY": 80.0,
"maxY": 100.0,
"shuffleLocations": true
},
"particle": {
"particleName": "FLAME",
"particleType": "CUBE",
"maxCount": 8,
"enableLighting": false
},
"properties": {
(You should set this based on the shape defined in particle.particleType)
(Refer to the templates for each shape below)
}
}
-
name
- Unique string to identify your particle config
-
enabled
- Boolean to toggle whether your particle is enabled
-
spawning.biomes
- Array of Spigot biomes your particle will be shown in
- Biome presents are supported in Aurora 1.2.0 and above
-
ALL
is supported in Aurora 2.3 and above
-
spawning.spawnDistance
- Double for the minimum distance between shapes Aurora will spawn from the same config
-
spawning.randMultiplier
- Double for how far the location calculation ofspawning.spawnDistance
should deviate from its actual value- Should be between
0
(0%) and1.0
(100%)
- Should be between
-
spawning.relativePlayerPosition
- Boolean to toggle whetherspawning.minY
andspawning.maxY
should be heights relative to the current player or fixed values -
spawning.minY
- Double for the minimum y-coordinate the particle will spawn at
-
spawning.maxY
- Double for the maximum y-coordinate the particle will spawn at
-
spawning.shuffleLocations
- Boolean to toggle whether calculated particle-spawn locations in the internal list should be randomised
particle.particleName
- Spigot particle the shape should be made of
-
particle.particleType
- Aurora particle shape- Can be
POINT
LINE
CUBE
RING
CIRCLE
SPHERE
-
WAVE
- Can be
-
particle.maxCount
- Integer for the maximum number of shapes from the same config that can appear at any one time per player
-
particle.enableLighting
- Boolean to toggle whether lighting should be set at particle-spawn locations- It is recommended to disable this as lighting may not update correctly when a chunk is unloaded, leaving "ghost" light sources
- Only enable if your particle cannot be seen in the dark, or if
spawning.minY
is above 100
-
properties
- Configuration section depending onparticle.particleType
"properties": {
"update": 5,
"duration": 20
}
-
properties.update
- Integer for how often the server should update the particle in ticks- It is recommended to set this value above 5 for non-moving shapes to avoid unnecessary server lag and FPS drops for clients as most particles will stay for a few ticks even if not updated
- For moving particles with
LINE
orWAVE
particle types, this value determines how fast the shape travels (smaller = faster)
- You should use the
properties.rate
parameter to change the speed of particles while keepingproperties.update
large for better performance
- You should use the
-
properties.duration
- Long (integer) of the duration each particle in a shape should should stay for
"properties": {
"rate": 0.5,
"update": 1,
"duration": 1
}
-
properties.rate
- Double for the distance between each individual particle inside a shape- It is recommended to set this value between 0.2 and 0.5 for optimal performance and nice-looking shapes
- For larger shapes like
SPHERE
s with a large radius, it is recommended to keep this value large to avoid server lag by spawning fewer particles in the shape - For moving particles with
LINE
orWAVE
particle types, this value determines how fast the shape travels (larger = faster)- You should use the
properties.rate
parameter to change the speed of particles while keepingproperties.update
large for better performance
- You should use the
"properties": {
"length": 3.0,
"rate": 0.5,
"update": 5,
"duration": 200,
"rotationAngle": 50.0,
"rotationAxis": "x"
}
-
properties.length
- Double for length of a cuboid object
-
properties.rotationAngle
- Double for angle the object should be rotated by
-
properties.rotationAxis
- Character for axis the object should be rotated in. Can bex
,y
orz
"properties": {
"radius": 2.0,
"rate": 0.3,
"update": 5,
"duration": 70,
"rotationAngle": -35.0,
"rotationAxis": "x"
}
-
properties.radius
- Double for radius of a circular object
"properties": {
"radius": 1.5,
"rate": 0.3,
"update": 5,
"duration": 100,
"rotationAngle": 35.0,
"rotationAxis": "x"
}
"properties": {
"radius": 1.0,
"rate": 0.2,
"update": 5,
"duration": 150
}
"properties": {
"rate": 0.5,
"update": 1,
"duration": 5,
"waveCycles": 6.0,
"waveAmplitude": 3.0,
"rotationAngle": 50.0,
"rotationAxis": "x"
}
-
properties.waveCycles
- Double for how many complete cycles the wave should consist of
-
properties.waveAmplitude
- Double for the maximum height in blocks of each wave relative to its midpoint
As of Aurora 1.2.0, value randomisation is supported in all subnodes of the properties
node. What this means is that all values under properties
will support the array datatype in addition to their original types. Using the cube particle type as example,
"properties": {
"length": 3.0,
...
can be changed to
"properties": {
"length": [2.0, 5.0]
...
so that all newly spawned cubes will have a random length parameter between 2.0
and 5.0
. Here are a few notes when using the randomise feature:
- Only arrays with the following structure
[min, max]
will be accepted by the plugin - Elements in the array must still obey the original datatype of the variable (see properties)
- For example, if the original datatype is an integer, both array values must be integers as well
- For
properties.rotationAxis
, arrays of any type will not be accepted- Using
["x", "y"]
or["x", "y", "z"]
will result in a parsing error - To randomise this variable, use the character
"r"
instead
- Using
- This feature is only supported in Aurora 1.2.0 and above
If your particle group does not show ingame even after you have reloaded the plugin, check for errors in the console. There should be a debug message before the error letting you know which particle file(s) are faulty and should be modified or removed.
All particle configs are stored as .json
files. It is highly recommended to use a json parser to check for any JSON parsing errors before you load the file.
You may be omitting required parameters for your particle group config. Note that each particle type in particle.particleType
can have differing configuration nodes in properties
. For example, the CUBE
particle type will have the LENGTH
parameter while the SPHERE
particle type will have the RADIUS
parameter instead. For a more detailed breakdown of each particle type, refer to the example configs.
If there are no errors in the console but you still do not see the particle group you have configured, it may be due to either of the following:
- You have not reloaded the particle config with
/aurora reload
- You are using an incorrect biome name in
spawning.biomes
- You are using an incorrect particle name in
particle.particleName
. Names are version-dependent, so make sure to use the correct one for your server version - You have ambient particles disabled server-side. Make sure you have the permission node
aurora.view
and use the command/aurora toggle on
- You have particles disabled client-side. Make sure to enable them in
Options -> Video Settings -> Particles: All