> For the complete documentation index, see [llms.txt](https://shimado.gitbook.io/relics-plugin/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://shimado.gitbook.io/relics-plugin/effects-constructor.md).

# Effects constructor

Here you can configure the particles that will appear when wearing a relic, impact, or hit.

First, indicate the ID that will be used further. For example -> LIGHTNING\_BOLT

Now let's start setting up the fields. There are required fields and optional ones.

**Required fields:**

<mark style="color:purple;">**Type**</mark>. You need to set 1 from 4 possible animations.

❖ <mark style="color:red;">HORIZONTAL\_CIRCLE</mark> - Horizontal circle. You need set radius and amount of particles to set circle correctly. Using this type you can create: full circle; circle that will go clockwise along 1 particle; spiral; funnel and other types.

❖ <mark style="color:red;">VERTICAL\_OVAL</mark> - Vertical oval. You need to specify 2 radiuses and the number of particles. Using this type you can create: full circle or oval; circle or oval that will go clockwise along 1 particle; spiral; funnel and other types.

❖ <mark style="color:red;">RANDOM\_IN\_BLOCK</mark> - The particle will spawn in a random location within the radius. Using this type you can create: A chaotic mass of particles around the creature.

❖ <mark style="color:red;">POINT</mark> - A particle without a specific type. Using this type you can create: 1 point; line and other types.

<mark style="color:purple;">**Particle**</mark>. In UPPER\_CASE. List -> EXPLOSION\_NORMAL, EXPLOSION\_LARGE, EXPLOSION\_HUGE, FIREWORKS\_SPARK, WATER\_BUBBLE, WATER\_SPLASH, WATER\_WAKE, SUSPENDED, SUSPENDED\_DEPTH, CRIT, CRIT\_MAGIC, SMOKE\_NORMAL, SMOKE\_LARGE, SPELL, SPELL\_INSTANT, SPELL\_MOB, SPELL\_MOB\_AMBIENT, SPELL\_WITCH, DRIP\_WATER, DRIP\_LAVA, VILLAGER\_ANGRY, VILLAGER\_HAPPY, TOWN\_AURA, NOTE, PORTAL, ENCHANTMENT\_TABLE, FLAME, LAVA, CLOUD, REDSTONE, SNOWBALL, SNOW\_SHOVEL, SLIME, HEART, ITEM\_CRACK, BLOCK\_CRACK, BLOCK\_DUST, WATER\_DROP, MOB\_APPEARANCE, DRAGON\_BREATH, END\_ROD, DAMAGE\_INDICATOR, SWEEP\_ATTACK, FALLING\_DUST, TOTEM, SPIT, SQUID\_INK, BUBBLE\_POP, CURRENT\_DOWN, BUBBLE\_COLUMN\_UP, NAUTILUS, DOLPHIN, SNEEZE, CAMPFIRE\_COSY\_SMOKE, CAMPFIRE\_SIGNAL\_SMOKE, COMPOSTER, FLASH, FALLING\_LAVA, LANDING\_LAVA, FALLING\_WATER, DRIPPING\_HONEY, FALLING\_HONEY, LANDING\_HONEY, FALLING\_NECTAR, SOUL\_FIRE\_FLAME, ASH, CRIMSON\_SPORE, WARPED\_SPORE, SOUL, DRIPPING\_OBSIDIAN\_TEAR, FALLING\_OBSIDIAN\_TEAR, LANDING\_OBSIDIAN\_TEAR, REVERSE\_PORTAL, WHITE\_ASH, DUST\_COLOR\_TRANSITION, VIBRATION, FALLING\_SPORE\_BLOSSOM, SPORE\_BLOSSOM\_AIR, SMALL\_FLAME, SNOWFLAKE, DRIPPING\_DRIPSTONE\_LAVA, FALLING\_DRIPSTONE\_LAVA, DRIPPING\_DRIPSTONE\_WATER, FALLING\_DRIPSTONE\_WATER, GLOW\_SQUID\_INK, GLOW, WAX\_ON, WAX\_OFF, ELECTRIC\_SPARK, SCRAPE, SONIC\_BOOM, SCULK\_SOUL, SCULK\_CHARGE, SCULK\_CHARGE\_POP, SHRIEK, CHERRY\_LEAVES, EGG\_CRACK, BLOCK\_MARKER, LEGACY\_BLOCK\_CRACK, LEGACY\_BLOCK\_DUST, LEGACY\_FALLING\_DUST.

<mark style="color:purple;">**Amount of particles**</mark>. How many particles will there be at one time?

<mark style="color:purple;">**Repeat**</mark>. How much times this animation will be played. -1 for loop.

**Not required fields.** They are needed to make a straight line, spiral and so on.

<mark style="color:purple;">**Color (dust, spell)**</mark>. Works only for dust and spell.  RGB format. \[0-255, 0-255, 0-255]. Example: \[0, 144, 127]

<mark style="color:purple;">**Color (notes)**</mark>. Works only for notes. From 0 for 24. Integer value.

<mark style="color:purple;">**Block dust (crack)**</mark>. Set a material in UPPER\_CASE. Works only with block crack particle.

<mark style="color:purple;">**Radius**</mark>. Radius for circle, random spawn and etc. Number with a dot.

<mark style="color:purple;">**Number of particles in the beam**</mark>. Density of one particle. The higher the number, the more particles in one place. Integer value.

<mark style="color:purple;">**Interval between particles (in ticks)**</mark>. If you put 12 particles and 0 here, then all these particles will appear at once. If you set a delay, they will appear one by one. You can make an advancing line or a loading wheel. Integer value.

<mark style="color:purple;">**Show particles one by one**</mark>. Show each particle in turn. Boolean value.

<mark style="color:purple;">**Add X (to the starting position)**</mark>. Add value to spawn point. Number with a dot.

<mark style="color:purple;">**Add Y (to the starting position)**</mark>. Add value to spawn point. Number with a dot.

<mark style="color:purple;">**Add Z (to the starting position)**</mark>. Add value to spawn point. Number with a dot.

<mark style="color:purple;">**Add value to the viewing direction**</mark>. Add value to spawn point along the line where the player is looking. Number with a dot.

<mark style="color:purple;">**Add X to each particle by step**</mark>. Adds a value for each new particle. Number with a dot.

<mark style="color:purple;">**Add Y to each particle by step**</mark>. Adds a value for each new particle. Number with a dot.

<mark style="color:purple;">**Add Z to each particle by step**</mark>. Adds a value for each new particle. Number with a dot.

<mark style="color:purple;">**Add Radius to each particle by step**</mark>. Adds a value for each new particle. Number with a dot.

<mark style="color:purple;">**Moving in the opposite direction after every X steps**</mark>. After a certain number of particles, the direction of movement changes. For example, if you want to make a spiral that moves up and down. Integer value.

<mark style="color:purple;">**Add value to the viewing direction by step**</mark>. Adds a value for each new particle. Number with a dot.

{% code fullWidth="true" %}

```yaml
LIGHTNING_BOLT:
  Type: 'RANDOM_IN_BLOCK'
  Particle: 'BLOCK_DUST'
  Color (notes): 12
  Block dust (crack): 'DIAMOND_BLOCK'
  Radius: 2.0
  Amount of particles: 3
  Number of particles in the beam: 1
  Repeat: 1
  Interval between particles (in ticks): 0
  Show particles one by one: true
  Add X (to the starting position): 0.0
  Add Y (to the starting position): 0.0
  Add Z (to the starting position): 0.0
  Add value to the viewing direction: 0.0
  Add X to each particle by step: 0.0
  Add Y to each particle by step: 0.0
  Add Z to each particle by step: 0.0
  Add value to the viewing direction by step: 0.0

THOR_HAMMER_PASSIVE_ANIMATION_1:
  Type: 'RANDOM_IN_BLOCK'
  Particle: 'CRIT_MAGIC'
  Radius: 1.0
  Amount of particles: 3
  Number of particles in the beam: 1
  Repeat: -1
  Interval between particles (in ticks): 7
  Show particles one by one: false
  Add Y (to the starting position): 1.0

THOR_HAMMER_PASSIVE_ANIMATION_2:
  Type: 'HORIZONTAL_CIRCLE'
  Particle: 'FIREWORKS_SPARK'
  Radius: 1.2
  Amount of particles: 20
  Number of particles in the beam: 3
  Repeat: -1
  Interval between particles (in ticks): 3
  Show particles one by one: true
  Add Y to each particle by step: 0.1
  Moving in the opposite direction after every X steps: 20

THOR_HAMMER_HIT_ANIMATION:
  Type: 'RANDOM_IN_BLOCK'
  Particle: 'FIREWORKS_SPARK'
  Radius: 0.6
  Amount of particles: 6
  Number of particles in the beam: 1
  Repeat: 1
  Interval between particles (in ticks): 0
  Show particles one by one: false
  Add Y (to the starting position): 1.0

ICARUS_WINGS_PASSIVE_ANIMATION_1:
  Type: 'HORIZONTAL_CIRCLE'
  Particle: 'CLOUD'
  Radius: 0.8
  Amount of particles: 6
  Number of particles in the beam: 1
  Repeat: -1
  Interval between particles (in ticks): 5
  Show particles one by one: false
  Add Y (to the starting position): 0.2

ICARUS_WINGS_PASSIVE_ANIMATION_2:
  Type: 'HORIZONTAL_CIRCLE'
  Particle: 'DRAGON_BREATH'
  Radius: 0.5
  Amount of particles: 3
  Number of particles in the beam: 1
  Repeat: -1
  Interval between particles (in ticks): 5
  Show particles one by one: false
  Add Y (to the starting position): 0.2

ZEUT_BOLT_PASSIVE_ANIMATION_1:
  Type: 'RANDOM_IN_BLOCK'
  Particle: 'CLOUD'
  Radius: 0.4
  Amount of particles: 10
  Number of particles in the beam: 1
  Repeat: -1
  Interval between particles (in ticks): 4
  Show particles one by one: false
  Add Y (to the starting position): 0.2

ZEUT_BOLT_PASSIVE_ANIMATION_2:
  Type: 'RANDOM_IN_BLOCK'
  Particle: 'FIREWORKS_SPARK'
  Radius: 0.4
  Amount of particles: 3
  Number of particles in the beam: 1
  Repeat: -1
  Interval between particles (in ticks): 4
  Show particles one by one: false
  Add Y (to the starting position): 0.2

ZEUT_BOLT_HIT_ANIMATION:
  Type: 'RANDOM_IN_BLOCK'
  Particle: 'EXPLOSION_LARGE'
  Radius: 0.5
  Amount of particles: 3
  Number of particles in the beam: 1
  Repeat: -1
  Interval between particles (in ticks): 4
  Show particles one by one: false
  Add Y (to the starting position): 0.2

RADIANCE_PASSIVE_ANIMATION_0:
  Type: 'HORIZONTAL_CIRCLE'
  Particle: 'FLAME'
  Radius: 1.0
  Amount of particles: 8
  Number of particles in the beam: 1
  Repeat: -1
  Interval between particles (in ticks): 4
  Show particles one by one: false
  Add Y (to the starting position): 0.1

RADIANCE_PASSIVE_ANIMATION_1:
  Type: 'HORIZONTAL_CIRCLE'
  Particle: 'FLAME'
  Radius: 1.2
  Amount of particles: 10
  Number of particles in the beam: 1
  Repeat: -1
  Interval between particles (in ticks): 4
  Show particles one by one: false
  Add Y (to the starting position): 0.1

RADIANCE_PASSIVE_ANIMATION_2:
  Type: 'HORIZONTAL_CIRCLE'
  Particle: 'FLAME'
  Radius: 1.4
  Amount of particles: 12
  Number of particles in the beam: 1
  Repeat: -1
  Interval between particles (in ticks): 4
  Show particles one by one: false
  Add Y (to the starting position): 0.1

RADIANCE_PASSIVE_ANIMATION_3:
  Type: 'HORIZONTAL_CIRCLE'
  Particle: 'FLAME'
  Radius: 1.6
  Amount of particles: 12
  Number of particles in the beam: 1
  Repeat: -1
  Interval between particles (in ticks): 4
  Show particles one by one: false
  Add Y (to the starting position): 0.1

RADIANCE_PASSIVE_ANIMATION_4:
  Type: 'HORIZONTAL_CIRCLE'
  Particle: 'FLAME'
  Radius: 1.8
  Amount of particles: 14
  Number of particles in the beam: 1
  Repeat: -1
  Interval between particles (in ticks): 4
  Show particles one by one: false
  Add Y (to the starting position): 0.1

RADIANCE_PASSIVE_ANIMATION_5:
  Type: 'HORIZONTAL_CIRCLE'
  Particle: 'FLAME'
  Radius: 2.0
  Amount of particles: 14
  Number of particles in the beam: 1
  Repeat: -1
  Interval between particles (in ticks): 4
  Show particles one by one: false
  Add Y (to the starting position): 0.1

RADIANCE_PASSIVE_ANIMATION_6:
  Type: 'HORIZONTAL_CIRCLE'
  Particle: 'FLAME'
  Radius: 2.2
  Amount of particles: 16
  Number of particles in the beam: 1
  Repeat: -1
  Interval between particles (in ticks): 4
  Show particles one by one: false
  Add Y (to the starting position): 0.1

RADIANCE_PASSIVE_ANIMATION_7:
  Type: 'HORIZONTAL_CIRCLE'
  Particle: 'FLAME'
  Radius: 2.4
  Amount of particles: 16
  Number of particles in the beam: 1
  Repeat: -1
  Interval between particles (in ticks): 4
  Show particles one by one: false
  Add Y (to the starting position): 0.1

RADIANCE_PASSIVE_ANIMATION_8:
  Type: 'HORIZONTAL_CIRCLE'
  Particle: 'FLAME'
  Radius: 2.6
  Amount of particles: 18
  Number of particles in the beam: 1
  Repeat: -1
  Interval between particles (in ticks): 4
  Show particles one by one: false
  Add Y (to the starting position): 0.1


RADIANCE_PASSIVE_ANIMATION_9:
  Type: 'HORIZONTAL_CIRCLE'
  Particle: 'FLAME'
  Radius: 2.8
  Amount of particles: 18
  Number of particles in the beam: 1
  Repeat: -1
  Interval between particles (in ticks): 4
  Show particles one by one: false
  Add Y (to the starting position): 0.1

RADIANCE_PASSIVE_ANIMATION_10:
  Type: 'HORIZONTAL_CIRCLE'
  Particle: 'FLAME'
  Radius: 3.0
  Amount of particles: 20
  Number of particles in the beam: 1
  Repeat: -1
  Interval between particles (in ticks): 4
  Show particles one by one: false
  Add Y (to the starting position): 0.1

RADIANCE_HIT_ANIMATION:
  Type: 'RANDOM_IN_BLOCK'
  Particle: 'CAMPFIRE_COSY_SMOKE'
  Radius: 1.0
  Amount of particles: 3
  Number of particles in the beam: 1
  Repeat: 1
  Interval between particles (in ticks): 4
  Show particles one by one: false
  Add Y (to the starting position): 1.0

MEHRUNES_RAZOR_HIT_ANIMATION:
  Type: 'RANDOM_IN_BLOCK'
  Particle: 'BLOCK_DUST'
  Color (dust, spell): [255, 0, 0]
  Radius: 0.8
  Amount of particles: 5
  Repeat: 1
  Add Y (to the starting position): 1.0

MEHRUNES_RAZOR_ATTACK_ANIMATION:
  Type: 'RANDOM_IN_BLOCK'
  Particle: 'SWEEP_ATTACK'
  Radius: 0.9
  Amount of particles: 3
  Repeat: 1
  Add Y (to the starting position): 1.0

DAEDALUS_BOW_PASSIVE_ANIMATION:
  Type: 'RANDOM_IN_BLOCK'
  Particle: 'CAMPFIRE_COSY_SMOKE'
  Radius: 1.0
  Amount of particles: 3
  Number of particles in the beam: 1
  Repeat: 1
  Interval between particles (in ticks): 4
  Show particles one by one: false
  Add Y (to the starting position): 1.0

DAEDALUS_BOW_ATTACK:
  Type: 'POINT'
  Particle: 'FLAME'
  Amount of particles: 7
  Repeat: 1
  Add Y (to the starting position): 1.3
  Add value to the viewing direction by step: 0.6

DAEDALUS_BOW_HIT:
  Type: 'RANDOM_IN_BLOCK'
  Particle: 'TOTEM'
  Radius: 1.0
  Amount of particles: 7
  Repeat: 1
  Interval between particles (in ticks): 4
  Add Y (to the starting position): 1.2

FISHRON_ROD_PASSIVE_ANIMATION:
  Type: 'HORIZONTAL_CIRCLE'
  Particle: 'DRIP_WATER'
  Radius: 1.2
  Amount of particles: 10
  Repeat: -1
  Interval between particles (in ticks): 3
  Show particles one by one: true
  Add Y to each particle by step: 0.1
  Moving in the opposite direction after every X steps: 10

DWARF_PICKAXE_BREAK_ANIMATION_1:
  Type: 'POINT'
  Particle: 'FLAME'
  Amount of particles: 1
  Repeat: 1
DWARF_PICKAXE_BREAK_ANIMATION_2:
  Type: 'POINT'
  Particle: 'FLAME'
  Amount of particles: 1
  Repeat: 1
  Add X (to the starting position): 1.0
DWARF_PICKAXE_BREAK_ANIMATION_3:
  Type: 'POINT'
  Particle: 'FLAME'
  Amount of particles: 1
  Repeat: 1
  Add Z (to the starting position): 1.0
DWARF_PICKAXE_BREAK_ANIMATION_4:
  Type: 'POINT'
  Particle: 'FLAME'
  Amount of particles: 1
  Repeat: 1
  Add Z (to the starting position): 1.0
  Add X (to the starting position): 1.0
DWARF_PICKAXE_BREAK_ANIMATION_5:
  Type: 'POINT'
  Particle: 'FLAME'
  Amount of particles: 1
  Repeat: 1
  Add Y (to the starting position): 1.0
DWARF_PICKAXE_BREAK_ANIMATION_6:
  Type: 'POINT'
  Particle: 'FLAME'
  Amount of particles: 1
  Repeat: 1
  Add X (to the starting position): 1.0
  Add Y (to the starting position): 1.0
DWARF_PICKAXE_BREAK_ANIMATION_7:
  Type: 'POINT'
  Particle: 'FLAME'
  Amount of particles: 1
  Repeat: 1
  Add Z (to the starting position): 1.0
  Add Y (to the starting position): 1.0
DWARF_PICKAXE_BREAK_ANIMATION_8:
  Type: 'POINT'
  Particle: 'FLAME'
  Amount of particles: 1
  Repeat: 1
  Add Z (to the starting position): 1.0
  Add X (to the starting position): 1.0
  Add Y (to the starting position): 1.0

MOLE_PICKAXE_BREAK_ANIMATION:
  Type: 'RANDOM_IN_BLOCK'
  Particle: 'CAMPFIRE_COSY_SMOKE'
  Amount of particles: 1
  Repeat: 1
  Radius: 0.5

LESHY_AXE_PASSIVE_ANIMATION_1:
  Type: 'RANDOM_IN_BLOCK'
  Particle: 'VILLAGER_HAPPY'
  Radius: 1.2
  Amount of particles: 20
  Number of particles in the beam: 3
  Repeat: -1
  Interval between particles (in ticks): 8
  Show particles one by one: true
  Add Y to each particle by step: 0.1
  Moving in the opposite direction after every X steps: 20

LESHY_AXE_PASSIVE_ANIMATION_2:
  Type: 'RANDOM_IN_BLOCK'
  Particle: 'BLOCK_CRACK'
  Radius: 1.0
  Amount of particles: 6
  Repeat: -1
  Interval between particles (in ticks): 3
  Block dust (crack): 'OAK_LEAVES'
  Add Y (to the starting position): 1.0

LESHY_AXE_HIT_ANIMATION:
  Type: 'RANDOM_IN_BLOCK'
  Particle: 'BLOCK_CRACK'
  Radius: 1.0
  Amount of particles: 6
  Repeat: 1
  Block dust (crack): 'ROSE_BUSH'
  Add Y (to the starting position): 1.0

LESHY_AXE_BREAK_ANIMATION_1:
  Type: 'POINT'
  Particle: 'VILLAGER_HAPPY'
  Amount of particles: 1
  Repeat: 1
LESHY_AXE_BREAK_ANIMATION_2:
  Type: 'POINT'
  Particle: 'VILLAGER_HAPPY'
  Amount of particles: 1
  Repeat: 1
  Add X (to the starting position): 1.0
LESHY_AXE_BREAK_ANIMATION_3:
  Type: 'POINT'
  Particle: 'VILLAGER_HAPPY'
  Amount of particles: 1
  Repeat: 1
  Add Z (to the starting position): 1.0
LESHY_AXE_BREAK_ANIMATION_4:
  Type: 'POINT'
  Particle: 'VILLAGER_HAPPY'
  Amount of particles: 1
  Repeat: 1
  Add Z (to the starting position): 1.0
  Add X (to the starting position): 1.0
LESHY_AXE_BREAK_ANIMATION_5:
  Type: 'POINT'
  Particle: 'VILLAGER_HAPPY'
  Amount of particles: 1
  Repeat: 1
  Add Y (to the starting position): 1.0
LESHY_AXE_BREAK_ANIMATION_6:
  Type: 'POINT'
  Particle: 'VILLAGER_HAPPY'
  Amount of particles: 1
  Repeat: 1
  Add X (to the starting position): 1.0
  Add Y (to the starting position): 1.0
LESHY_AXE_BREAK_ANIMATION_7:
  Type: 'POINT'
  Particle: 'VILLAGER_HAPPY'
  Amount of particles: 1
  Repeat: 1
  Add Z (to the starting position): 1.0
  Add Y (to the starting position): 1.0
LESHY_AXE_BREAK_ANIMATION_8:
  Type: 'POINT'
  Particle: 'VILLAGER_HAPPY'
  Amount of particles: 1
  Repeat: 1
  Add Z (to the starting position): 1.0
  Add X (to the starting position): 1.0
  Add Y (to the starting position): 1.0

GOLBIN_STAFF_PASSIVE_ANIMATION_1:
  Type: 'HORIZONTAL_CIRCLE'
  Particle: 'COMPOSTER'
  Radius: 2.0
  Amount of particles: 14
  Repeat: -1
  Interval between particles (in ticks): 4
  Show particles one by one: false
  Add Y (to the starting position): 0.1

GOLBIN_STAFF_HIT_ANIMATION:
  Type: 'RANDOM_IN_BLOCK'
  Particle: 'VILLAGER_ANGRY'
  Radius: 1.0
  Amount of particles: 3
  Repeat: 1
  Interval between particles (in ticks): 4
  Show particles one by one: false
  Add Y (to the starting position): 1.0



```

{% endcode %}
