Content generated with AI — it may contain mistakes.

Getting started

First steps

Writing a seventh class from an empty file, one piece at a time.

The six that ship are examples, not a fixed roster. This page builds a seventh from nothing so that every piece is introduced where it is used.

1. The file

Create plugins/ExyliaClasses/classes/Medic.yml. The file name is the id: this class is medic.

classes/Medic.yml
display-name: "<#63ff8a><bold>MEDIC</bold>"
permission: "NONE"
 
equipment:
  helmet: DIAMOND_HELMET
  chestplate: DIAMOND_CHESTPLATE
  leggings: DIAMOND_LEGGINGS
  boots: DIAMOND_BOOTS

/classes reload, put a full diamond set on, and after the default five-second warmup the player is a Medic. permission: "NONE" means anyone may use it.

Two classes must not share an armour set

A player is matched against every class until one fits, and the order that check runs in is not defined. If two classes ask for full diamond, which one a player gets is a coin flip.

2. Passives

Effects held for as long as the armour is on. The notation is NAME|LEVEL, and the level is written the way a player reads it — REGENERATION|2 is Regeneration II.

passive-effects:
  - REGENERATION|1
  - SPEED|1

3. A warmup with feedback

Without a warmup block the class still takes five seconds; with one you get sounds and particles at each of the three moments.

warmup:
  time: 4
  sound:
    enabled: true
    type: "BLOCK_NOTE_BLOCK_PLING|1|1"
  particle:
    enabled: true
    type: "HEART|10|0.5|0.5|0.5|0.1"
  sound-completed:
    enabled: true
    type: "ENTITY_PLAYER_LEVELUP|1|1"

4. Energy

Optional. Add it and abilities can cost something; leave it out and they are limited by cooldown alone.

energy:
  enabled: true
  name: "Mana"
  symbol: "❤"
  color: "<#63ff8a>"
  max: 100
  regen-per-tick: 0.1

0.1 per tick is 2 per second, so a full bar takes fifty seconds. The bar itself is drawn from config.yml, not from here.

5. An ability

Right-clicking the item fires it. The item is consumed, so the ability is also a supply the player has to carry.

abilities:
  GOLDEN_APPLE:
    display-name: "<#63ff8a><bold>FIELD HEAL"
    type: TO_CLAN
    radius: 15
    effects:
      - REGENERATION|3|6
      - ABSORPTION|1|20
    cooldown: 20
    energy-cost: 40
    particles:
      enabled: true
      type: "HEART|30|1|1|1|0.5"
    sound:
      enabled: true
      type: "ENTITY_PLAYER_LEVELUP|1|1.4"

REGENERATION|3|6 is Regeneration III for six seconds. TO_CLAN reaches the caster plus every online clan member within fifteen blocks in the same world.

6. A hold effect

The same idea without a cost: while the item sits in the main hand, the effects are kept topped up.

hold-effects:
  GOLDEN_APPLE:
    type: TO_CLAN
    radius: 15
    effects:
      - REGENERATION|1|5

Give the effect a duration comfortably longer than the half-second refresh — five seconds is what the Bard uses — so it never flickers.

7. Reload and check

/classes reload

The reload re-reads everything and re-evaluates every online player, so a player already wearing diamond becomes a Medic without relogging.

Something missing on this page? Tell us on Discord