Content generated with AI — it may contain mistakes.

Configuring

Effects and categories

How effects.yml is written, and the 90 effects that ship in it.

The file

effects.yml has two sections: the categories, and the effects that belong to them.

effects.yml
categories:
  impact:
    material: NETHERITE_SWORD
    name: 'Impact'
    priority: 1
 
hit_effects:
  CRIT_SPARK:
    category: impact
    tier: common
    name: "<gradient:#FFE9A8:#D1A53F><bold>CRIT SPARK</bold></gradient>"
    material: GOLDEN_SWORD
    description: "Eight splinters of gold, {highlight}gone in a third<nl>of a second{neutral}."
    priority: 1
    effects:
      - '[SOUND] ENTITY_PLAYER_ATTACK_CRIT;0.7;1.4'
      - '[SPHERE] GOLD_BLOCK;as:block;radius:0.25;points:8;size:0.14;size_to:0.02;pull:-4;ease:out;life:0.32;spin:1,1,1;vary:0.6;light:15;glow:{highlight}'
      - '[PARTICLE] CRIT;count:12;offset:0.3,0.3,0.3;speed:0.15'
KeyWhat it does
categoryWhich tab it appears under. Must be a key declared under categories.
tierHow rare it is. Must be a key declared under tiers in config.yml. Omit it and the effect is common.
nameWhat menus and placeholders call it. Palette tokens, MiniMessage and gradients all work.
materialThe item the row is drawn with. Defaults to BARRIER.
descriptionA list is one line per entry; a single string breaks on <nl>.
priorityWhere it sits in its tab; lower comes first. Defaults to 999.
effectsThe steps drawn on whoever was hit.
weaponsOptional. What the effect may be bound to. Omit it and it fits anything.

A category takes material, name and priority. A rarity is declared in config.yml rather than here — see The crate.

Broken entries are reported, not guessed

A missing categories section, an effect naming a category that is not declared, an entry with no effects, and a weapons token that is neither an item nor a family are each written to the console with the key that caused them. The rest of the file still loads.

weapons

Only read while behaviour.mode reads weapons. It accepts item names and families:

weapons: [ NETHERITE_SWORD, AXE ]
FamilyMatches
ANYAnything at all.
SWORDEvery _SWORD.
AXEEvery _AXE — a pickaxe is not one.
TRIDENT, MACE, BOW, CROSSBOWJust that item.
MELEESwords, axes, tridents and maces.
RANGEDBows, crossbows and tridents.

Families are matched on the item's name, so a sword added in a future Minecraft version is a sword the day it exists. ANY_SWORD reads the same as SWORD. None of the shipped effects declares weapons, so out of the box every one of them fits every weapon.

The effect id is the permission

CRIT_SPARK is exyliahiteffect.effect.crit_spark. Renaming the key renames the node, and everybody who had the old one loses the effect. Case is not part of it: ids are lowercased on the way in.

The catalogue

Fifteen effects per category, 90 in total.

Impact — NETHERITE_SWORD

Steel, plate and shock.

CRIT_SPARK SHATTER SHOCKWAVE CLEAVE HAMMERFALL RIVET PLATE_CRACK RECOIL SPLINTER CHIP IRON_BURST PULSE GUARD_BREAK PIERCE SLAM

Crimson — REDSTONE

Blood and bone.

SPLATTER ARTERIAL DRIP RUPTURE BONE_SNAP CRIMSON_RING HAEMORRHAGE MEAT_HOOK BLOOD_MOON SCARLET_LACE VISCERAL CRIMSON_NAIL IRON_TASTE RED_HARVEST CLOT

Ember — BLAZE_POWDER

Sparks, scald and soot.

CINDER MAGMA_CRACK FLASHPOINT EMBER_RING SCALD BLAZE_MARK BACKDRAFT SOOT BRAND FIREFLY PYRE QUENCH SEAR ASH_PUFF FORGE

Sculk — SCULK_SHRIEKER

The deep dark.

SHRIEK SONIC_TAP CATALYST SENSOR DEEP_ECHO WARDEN_MARK SOUL_TUG DARKNESS VEIN_CRAWL RESONATE BLIND_SPOT DECAY ANCIENT_CITY SILENCE SCULK_BLOOM

Prism — AMETHYST_SHARD

Crystal, frost and light.

SHARD FROSTBITE PRISM_SPLIT HALO REFRACT STARLET RUNE MIRROR SNAP_FREEZE LUMEN_TAP AURORA_TOUCH FACET ZENITH_TAP GLASSFALL SOLAR_TICK

Goofy — SLIME_BALL

Jokes.

BONK SEEING_STARS RUBBER_DUCK BUBBLE_POP SLAPSTICK OOF CONFETTI BANANA SQUEAK ANGRY_BEE CARTOON_ANVIL PIE SAD_TRUMPET CHICKEN ROLL_CREDITS

Where an effect is drawn

The anchor is a block above the victim, so the effect lands on the body rather than at its feet. (0,0,0) in a step is that point.

Writing your own

Add the entry

A new key under hit_effects, with a category that exists.

Keep it inside the budget

Under six tenths of a second, ten displays at most, quiet, about a block wide. The full syntax is in Sequences.

Reload

/hiteffectsadmin reload.

Look at it

/hiteffect preview <id> plays it against an empty sky, then puts you back.

Grant it

exyliahiteffect.effect.<id in lowercase>, or the whole category.

A hit effect is not a kill effect

The same syntax draws both, and it is tempting to paste a ten-second production in here. On a busy arena that is one of those per blow, per player, on every client in range.

Something missing on this page? Tell us on Discord