# 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 %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://shimado.gitbook.io/relics-plugin/effects-constructor.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
