RPG items for Minecraft · 1.21 – 26.x

ElementalArms

Turn your server's weapons and armor into real RPG gear: elemental damage with weaknesses, abilities on items, tiers with random rolls, upgrades, gems and reforging, sets, accessories, crafting stations and health bars above mobs. Everything is set up with a visual in-game editor, and it needs no other plugin.

1.4.1Version
1.21 – 26.xMinecraft
Spigot · PaperServer
NothingRequires
89Stats
20Abilities

What it is, in one sentence

ElementalArms adds an RPG layer on top of Minecraft items: every weapon or armor piece can carry stats (damage, crit, dodge, lifesteal…), damage from one or more elements, abilities cast on click or on hit, and a quality (tier) that decides how good each copy turns out. Players get them by crafting, at stations, from mobs or from ores, and improve them with stones and gems.

Everything it brings

🔥
12 elementsFire, ice, lightning, holy… with weaknesses and resistances on mobs and on players.
📊
89 statsCrit, dodge, lifesteal, thorns, execute, combo, tenacity, magnet, auto-smelt and many more.
✨
20 abilitiesFireball, lightning, heal, teleport, poison, leap… or any MythicMobs skill.
🎲
Tiers and rollsFrom Common to Mythic. Every copy rolls its own numbers: two identical swords are not identical.
💎
Upgrades, gems, reforgeTake an item up to +10, socket gems into it or re-roll its stats.
🎒
Equipment and accessoriesEquipment menu with 5 extra slots (rings, amulet, necklace, talisman), armor sets and a character sheet.
🔨
Crafting stationsForges and altars with their own recipes, hologram and particles, placed on the block you choose.
💚
Health barsAbove mobs, with their elemental weaknesses shown. No hologram plugin needed.
🧰
In-game editorCreate and edit items, abilities and elements from menus, without touching a single file.

How it all fits together

If this is your first time, this is the journey of an item from the moment you define it until a player fights with it:

  1. You define itIn a file under items/ or with /ea editor: material, name, tier, stats, elements and abilities.
  2. Players get itBy crafting the vanilla recipe, at a station, from a mob or an ore (drops.yml), from MythicMobs or with /ea give. When it is generated it rolls its stats from its tier.
  3. They equip itIn the hand, in the armor slots or in the accessory slots of /ea inventory. Its stats start counting.
  4. They fightEvery hit adds the weapon damage, the crit, the elements against the mob's weaknesses and every multiplier. Abilities fire by themselves according to their trigger.
  5. They improve itWith upgrade stones (+1), gems in its sockets, reforge stones or identification scrolls.

Where do I start?

One licence, one server. ElementalArms is premium: the licence covers one server at a time. You can keep a test server, but not two servers running with the same licence at the same time.

Installation

Five minutes. ElementalArms needs no other plugin: MythicMobs, MMOCore and PlaceholderAPI are optional.

Requirements

WhatYou need
ServerSpigot or Paper (or forks: Purpur, Pufferfish…)
Minecraft1.21 or newer (tested up to 26.2)
Java21 or newer
InternetOutgoing internet access to validate the licence (see below)
OptionalMythicMobs · MMOCore · PlaceholderAPI

Step by step

  1. Put the jar in plugins/Download it from your panel on the website and drop it in the server's plugins folder.
  2. Start the server onceIt creates plugins/ElementalArms/ with the config, the example items and the languages. The console will say it disables itself because there is no licence yet: that is normal.
  3. Paste your licenceOpen config.yml and put the licence from your panel in license: "...".
  4. Choose the languageIn the same file: language: en (English) or language: es (Spanish).
  5. RestartRestart the server (do not use Bukkit's /reload). Type /ea help: if you see the command list, you are done.

What is in the folder

plugins/ElementalArms/ config.yml # licence, language and every system stations.yml # crafting stations and their recipes MythicMobs-Example.yml # reference only, it is not loaded lang/en.yml lang/es.yml # every text items/ # your items: one file per category sword.yml axe.yml bow.yml crossbow.yml spear.yml shield.yml armor.yml legendary.yml misc/ # stones, gems, consumables, accessories configurations/ # the rules of the system tiers.yml # qualities and rolls stats.yml # which stats exist elements.yml # the 12 elements sets.yml # armor sets drops.yml # what mobs and blocks drop vanilla-recipes.yml # replaced vanilla recipes lore-formats.yml # order and look of the lore

The licence

The plugin checks the licence against the website every 3 minutes. If the website does not answer, it keeps working for 48 hours (grace period) and warns you in the console; it only disables itself if the outage lasts longer. If the licence is revoked or used on two servers at once, it disables itself right away.

If your host blocks outgoing connections, the licence cannot be checked and the plugin will shut down after 48 hours. Ask your host to allow access to infinity3113.mc-paradise.com.

Updating to a new version

Replace the jar and restart. Your files are never overwritten: new options are added by themselves to config.yml and to the language files, with their explanation, and whatever you changed stays as it was. The details of each version are in

Updating from older versions.

Your first 10 minutes

A guided tour to see everything working before you configure anything. Do it as an operator (op) on your test server.

1 · Get a weapon and look at it

/ea give <you> EXCALIBUR

Hover over it in your inventory. The text under the name (the lore) is drawn by the plugin: stats, elemental damage, abilities with their trigger, gem sockets, requirements, durability and the tier at the end. Excalibur is an example that uses almost every system at once.

Excalibur
Stats:
Attack Damage: 12.60
Crit Chance: 15.75%
Elemental Damage:
- ■ Light: 5.0
Abilities:
▸ Fireball (right-click, 5s)
Requirements:
- Level 10
Durability: 1200/1200
✦ Legendary
The numbers change from one copy to another: that is the tier roll. Give yourself another one with the same command and compare them. If you are not experience level 10, Excalibur will not let you attack: use /xp add <you> 10 levels.

2 · Hit a mob

Hit any mob. You will see floating numbers (white for normal damage, gold for a crit, the element's colour for elemental damage) and a health bar above the mob for 6 seconds. Right-click the air: Excalibur casts a fireball where you aim.

3 · Open your equipment and character sheet

/ea give <you> RING_OF_POWER /ea inventory /ea stats

In /ea inventory drag the ring into one of the ring slots on the right. Close it and open /ea stats: its damage and crit are now added up, with a breakdown of where every point comes from (gear, set or accessories).

4 · Upgrade the weapon

/ea give <you> UPGRADE_STONE 3 /ea give <you> PRECISION_GEM

In your inventory, pick up the stone with the mouse and click on Excalibur. It goes to +1 and all its stats grow by 8%. Do the same with the gem: it goes into one of its sockets and adds crit. It is the same gesture for stones, gems, reforging and identification.

5 · Create your own item

  1. Open the editor/ea editor and choose the Swords category.
  2. Create a new oneClick the Create New Item star and type an ID in chat, for example FROST_BLADE.
  3. Shape itSet id to DIAMOND_SWORD, set Attack Damage to 8, open Elemental Damage and give it 6 ice. In Item Abilities add freeze with the on hit trigger.
  4. SaveClick Save Changes (the green dye). If you do not save, the changes are lost on restart.
  5. Try it/ea give <you> FROST_BLADE and hit a mob: it slows it down and the ice damage shows in blue.

6 · Place a station

Place a smithing table, look at it and type /ea station place FORGE. The Blacksmith's Forge hologram appears with particles. Right-click: it opens with its recipes. Only that table opens the station; every other table in the world stays normal.

You have seen the essentials. From here on, every section explains one system in depth. If you are in a hurry, continue with Items · Stats · Abilities.

Items

An ElementalArms item is an entry in a YAML file. Here is every field it can have, and what it really does.

Where they live

The plugin reads every .yml in items/ and in items/misc/. You can create new files with any name (for example items/boss-loot.yml). Each top-level key is one item, and that key is its ID: what you type in /ea give, in recipes and in drops.

IDs are not case-sensitive (frost_blade and FROST_BLADE are the same) and must be unique across all files: if one is repeated, the second one is ignored and the console says so. Subfolders other than misc/ are not read.

A complete item, commented

FROST_BLADE: # the ID id: DIAMOND_SWORD # Minecraft material display-name: '&bFrost Blade' # name, with & colours type: SWORD # category (see table) tier: RARE # or RANDOM, or use tier-pool revision-id: 1 # raise it to update copies stats: damage: 8.0 # hit damage attack-speed: 1.6 # final speed, like vanilla crit-chance: 10 # 10% crit-damage: 50 # +50% on a crit elemental-damage: ice: 6.0 # added to every hit abilities: - ability: freeze trigger: ON_HIT chance: 25 # 25% of hits cooldown: 4 duration: 3 max-sockets: 2 # gem sockets max-upgrade: 10 # max upgrade (+N) durability: 1500 # uses before breaking soulbound: true # binds to one player hand-style: ONE_HANDED # or TWO_HANDED set: GUARDIAN # a set from sets.yml requirements: level: 20 permission: 'myserver.frostblade' class: Mage # needs MMOCore custom-model-data: 1001 # resource pack texture lore: - '&7Forged in eternal winter.'

Every field

FieldWhat it does
idThe Minecraft material (DIAMOND_SWORD, BLAZE_ROD…). If it does not exist, it becomes stone.
display-nameVisible name. Supports & colours. The tier colour goes in front and the (+N) after.
typeCategory: decides where it is equipped and how its stats count. See the types table.
tierFixed quality (COMMON…MYTHIC) or RANDOM to roll it among all of them.
tier-poolList of tiers to roll from, for example [RARE, EPIC, LEGENDARY].
statsThe stats. Any of the 89 in the Stats section.
elemental-damageExtra damage of each element on every hit (fire: 5, ice: 3…).
abilitiesList of abilities with their trigger and settings. See Abilities.
loreYour own description lines (added to the lore the plugin generates).
setThe set it belongs to (from sets.yml). Only counts on worn armor pieces.
max-socketsGem sockets. Inserted gems cannot be taken out.
max-upgradeMaximum upgrade level of this item. If missing, upgrade.max-level (10) is used.
durabilityCustom durability: 1 point per melee hit. The item becomes unbreakable in vanilla terms.
soulboundtrue: binds to the first player who picks it up (or uses it) and nobody else can use it.
consumabletrue: one unit is used up when it casts a right-click ability (potions, scrolls).
requirementslevel, permission and/or class needed to attack with it, use it or cast its abilities.
hand-styleTWO_HANDED: while you hold it, the off hand empties itself.
colorLeather only: dye colour ('#A06540', '160,101,64' or RED). If the player dyes it, their colour is kept. In the editor, the Leather Colour button.
custom-model-dataModel number from your resource pack (ItemsAdder, Oraxen, Nexo or your own pack).
revision-idVersion number of the item. Raise it and the copies players already have update when they join.
skill-modifiersBonus for skills of other plugins that hook in through the API (it does not affect ElementalArms abilities).
gem-statsOnly on type: GEM items: the stats it gives to the item it is socketed into.
smithing-upgradeID of the item it turns into at the smithing table with a netherite ingot.

The types

TypeWhere it countsNotes
SWORD · AXE · SPEAR · WANDIn the main handattack-speed is the final speed (1.6 = vanilla sword).
BOW · CROSSBOWThe arrow carries the bow's statsDamage depends on how far you draw the bow. In melee they barely hurt.
SHIELDIn either handIn the off hand it also adds its stats (defense, block…).
ARMORIn its armor slotThe slot comes from the material (_HELMET, _CHESTPLATE, _LEGGINGS, _BOOTS). It adds nothing in the hand.
RING · AMULET · NECKLACE · TALISMANIn its /ea inventory slot2 rings, 1 amulet, 1 necklace, 1 talisman. In the hand they give nothing.
ACCESSORYIn any accessory slotThe wildcard.
GEMInside another itemUses gem-stats.
MISCNowhereMaterials, stones, scrolls and consumables.

Translated names

The name and lore from the YAML can be overridden per language in lang/<language>.yml, in the items section. That way the same item is called Frost Blade in English and Hoja de Escarcha in Spanish without duplicating it:

items: # in lang/es.yml FROST_BLADE: name: '&bHoja de Escarcha' lore: - '&7Forjada en el invierno eterno.'

Changing an item players already have

Every copy stores its stats inside. If you change the YAML, new copies get the new values, but old ones do not change by themselves. To update them, raise revision-id (for example from 1 to 2): when each player joins, their copies are rebuilt from the new YAML keeping their roll, upgrade, gems, durability and owner. In config.yml → item-revision.keep-data you decide whether enchantments, an anvil name and lore lines are kept too.

Items in the player's inventory (including worn armor) are updated, not the ones in chests or the ender chest: those update once the player carries them and joins again.

Included items

A fresh install ships 58 items ready to use or to copy as templates:

GroupID
Swords and axesWOODEN_ · STONE_ · IRON_ · GOLDEN_ · DIAMOND_ · NETHERITE_ + SWORD / AXE
ArmorLEATHER_ · CHAINMAIL_ · IRON_ · GOLDEN_ · DIAMOND_ · NETHERITE_ + HELMET / CHESTPLATE / LEGGINGS / BOOTS
Ranged and shieldBOW · CROSSBOW · TRIDENT · SHIELD
LegendariesEXCALIBUR · STORM_STAFF · VOID_CHESTPLATE
UpgradingUPGRADE_STONE · REFORGE_STONE · IDENTIFY_SCROLL
GemsFIRE_GEM · VITALITY_GEM · GUARD_GEM · PRECISION_GEM
ConsumablesHEALTH_POTION · FURY_ELIXIR · METEOR_SCROLL · ESCAPE_SCROLL
AccessoriesRING_OF_POWER · RING_OF_VITALITY · SHADOW_AMULET · DRAGON_TALISMAN
The diamond armor pieces form the DRAGON set. The swords, axes, bow, shield and armor replace their vanilla recipes: crafting a normal iron sword gives the ElementalArms one (this can be turned off).

Tiers and rolls

The tier is the quality of a copy: it gives it a colour, a name and, above all, how good its numbers turn out.

The tiers it ships with

TierWeightRollGlows on the ground
COMMON50×0.95 – ×1.05No
UNCOMMON25×0.95 – ×1.10Green
RARE14×0.95 – ×1.15Blue
EPIC7×1.00 – ×1.25Purple
LEGENDARY3×1.05 – ×1.40Gold
MYTHIC1×1.15 – ×1.60Pink

How a roll works

When a copy is generated, every stat is multiplied by a random number between its tier's min and max. Each stat rolls separately: a sword can come out with high damage and low crit. The result is rounded to two decimals and stored in the item forever.

RollsDoes not roll
The plugin's own stats (crit, dodge, lifesteal…) and damage, armor, armor-toughness, max-health, max-absorption.Attack and movement speed, size, gravity, reach and the other movement attributes; elemental damage and gem stats.

Fixed, random or from a list

# always RARE tier: RARE # any of them, by weight: COMMON shows up 50 times more than MYTHIC tier: RANDOM # only among these three, also by weight tier-pool: [RARE, EPIC, LEGENDARY]

When it rolls

  • With /ea give, when crafting a replaced vanilla recipe, at a station, in a drop from drops.yml or MythicMobs.
  • When using a reforge stone: it re-rolls the stats within the same tier (the tier does not change).
  • At the smithing table (diamond → netherite) the roll comes from the original copy, so removing and re-adding the ingot does not give a new one.
The editor's Get the item! button gives the template: the base stats, without a roll. An item with tier: RANDOM comes out without a tier. To test rolls, use /ea give.

Creating or editing a tier

ANCIENT: # the tier ID weight: 2 # relative chance in RANDOM display-name: 'Ancient' color: '&3' # colour of the name and the glow glow: true # false, a colour (AQUA) or a code (&b) stat-roll: min: 1.10 max: 1.50

Save items/configurations/tiers.yml and use /ea reload. The tier name can also be translated in lang/<language>.yml → tier.

The 89 stats

Everything an item can give a player, with what it really does and its cap. You write them on the item under stats:.

How to write them

stats: damage: 8 # plain number crit-chance: 25 # percentage: 25 = 25% max-health: 3 # hearts: 3 = 6 health points movement-speed: 0.01 # vanilla attribute: added to its base (0.1)
  • Percentages: chance, bonus and resistance stats are written as whole numbers. 25 is 25%, not 2500%.
  • Negatives: allowed. movement-speed: -0.02 on heavy armor makes you slower.
  • Caps: the plugin clamps the stats that would break the game (dodge at 80%, resistances at 90%…). You can go over on the item, but the effect stops there.

Where they count

Every stat is added up from everything the player has equipped. Having the same thing twice counts twice.

PlaceWhat counts
Main handWeapons, shields, tools and consumables. Not armor, accessories or gems: holding a ring gives nothing.
Worn armorThe 4 pieces.
Off handOnly a SHIELD type item.
AccessoriesThe 5 slots of /ea inventory.
SetsThe set bonuses for the pieces you wear.
GemsInside the item they are socketed into: they count wherever that item counts.
An unidentified item gives no stats until it is identified. Check your totals in /ea stats.

Two kinds of stats

🟩
Vanilla attributes (29)Minecraft itself applies them (health, armor, speed, reach…). They work exactly like in the base game, everywhere.
🟪
Plugin stats (60)ElementalArms computes them on every hit, ability or event: crit, dodge, lifesteal, elemental resistances, mana…

With an upgrade (+N) or the tier roll, every plugin stat grows; among attributes only damage, armor, armor-toughness, max-health and max-absorption grow.

⚔️ Offense (21)

StatWhat it doesCap
damage
Attack Damage
Hit damage. On a weapon it is its base damage; on armor, accessories or sets it is added to all your hits.vanilla
attack-speed
Attack Speed
On a weapon it is the final speed, as vanilla shows it (1.6 = sword). On other gear it is added.vanilla
crit-chance
Crit Chance
Chance to crit on hits with ElementalArms weapons (melee and arrows).100 %
crit-damage
Crit Damage
Extra damage on a crit: 50 = ×1.5. Without this stat a crit does not hit harder (you only see the gold number).—
armor-penetration
Armor Penetration
You ignore that % of the defense of the player you hit.100 %
execute
Execute
+% damage to targets on low health (30% or less by default, stats.execute-threshold).—
lifesteal
Lifesteal
Heals you for that % of the final damage of your melee hits. Not with abilities (that is spell-vamp).—
attack-knockback
Attack Knockback
How far your hits push.vanilla
sweeping-damage
Sweeping Damage
Sword sweep damage (0–1 of the hit damage).vanilla
accuracy
Accuracy
Takes points off the dodge-chance of the player you attack. The antidote to dodge.—
backstab
Backstab
+% when hitting the target from behind.—
first-strike
First Strike
+% on your first hit on a target (it counts again after 30 s without hitting it).—
combo-damage
Combo Damage
+% for each hit in a row. The combo is lost after 4 s without hitting.10 hits
double-strike
Double Strike
Chance to hit twice in melee; the second hit deals half.100 %
damage-vs-players
Damage vs Players
+% against players (PvP).—
damage-vs-mobs
Damage vs Mobs
+% against mobs (PvE).—
damage-vs-undead
Damage vs Undead
+% against zombies, skeletons, phantoms, the wither…—
ranged-damage
Ranged Damage
+% with projectiles.—
melee-damage
Melee Damage
+% in melee.—
berserk
Berserk
+% that grows with your missing health: at half health it gives half; at full health, nothing.—
elemental-power
Elemental Power
+% to all the elemental damage you deal.—

🛡️ Defense (20)

StatWhat it doesCap
max-health
Bonus Health
Extra hearts (1 = 2 health points).vanilla
defense
Defense
Takes that much damage off every hit or projectile you receive, before armor. It does not protect from falls, fire or the void.—
armor
Armor
Armor points.vanilla
armor-toughness
Armor Toughness
Armor holds up better against big hits.vanilla
knockback-resistance
Knockback Resistance
You get pushed less (1 = not at all).vanilla
max-absorption
Absorption Shield
Maximum absorption you can have, in health points.vanilla
explosion-resistance
Explosion Resistance
Explosions push you less.vanilla
burning-time
Burning Time
Multiplies how long you burn (below 1, shorter).vanilla
dodge-chance
Dodge Chance
Chance to dodge a whole hit or projectile. The attacker's accuracy lowers it.80 %
thorns
Thorns
Returns that % of the damage taken to whoever hits you in melee.—
crit-resistance
Crit Resistance
Cuts that % of the extra damage of crits against you.100 %
block-chance
Block Chance
With your shield raised, chance to block the whole hit.80 %
counter-damage
Counter Damage
When you block, returns that % of the blocked hit.—
damage-cap
Damage Cap
The most damage a single hit from any source can deal to you.—
ranged-resistance
Ranged Resistance
−% projectile damage. 100 = immune.100 %
melee-resistance
Melee Resistance
−% melee damage. 100 = immune.100 %
magic-resistance
Magic Resistance
−% damage from ElementalArms abilities.80 %
tenacity
Tenacity
Negative effects (poison, slowness, blindness, wither…) last less on you. Infinite ones do not.80 %
second-wind
Second Wind
Chance to survive a lethal hit with 1 health and 2 s of invulnerability. Once every 120 s.100 %
health-regen
Health Regen
Health points recovered every second (1 = half a heart).—
The second-wind cooldown is changed by adding second-wind-cooldown-seconds: 120 inside stats: in config.yml.

🔥 Elemental resistances (12)

One per element: resist-fire, resist-water, resist-earth, resist-wind, resist-light, resist-dark, resist-poison, resist-holy, resist-lightning, resist-ice, resist-nature and resist-arcane. Each one removes that % of the damage of that element dealt to you, capped at 90%. In the editor they have their own menu (Elemental Resistances).

✨ Abilities and mana (10)

StatWhat it doesCap
ability-damage
Ability Damage
+% to the damage of your native abilities.—
ability-crit-chance
Ability Crit Chance
Chance for an ability to crit: it uses your crit-damage, or +50% if you have none.100 %
ability-range
Ability Range
+% to how far click abilities can aim.—
aoe-radius
AoE Radius
+% to the radius of all your area abilities.24 blocks
cooldown-reduction
Cooldown Reduction
−% waiting time between abilities.80 %
spell-vamp
Spell Vamp
Heals you for that % of your ability damage. The mage's lifesteal.—
max-mana
Max Mana
Your own mana pool. Without max-mana you have no mana and abilities with a cost are free.—
mana-regen
Mana Regen
Mana recovered every second.—
mana-steal
Mana Steal
Mana recovered on every hit you land (not with abilities).—
mana-cost-reduction
Mana Cost Reduction
−% mana cost of abilities.90 %

🧰 Utility (9)

StatWhat it doesCap
xp-boost
XP Boost
+% to the experience you pick up.—
loot-luck
Loot Luck
Multiplies the chance of drops.yml drops: 5% with 50 luck becomes 7.5%.—
keep-item-chance
Keep Item Chance
When you die, each item stack has that chance not to drop; it is given back when you respawn.100 %
hunger-saving
Hunger Saving
Chance not to lose hunger.90 %
durability-saving
Durability Saving
Chance not to spend vanilla durability (not the plugin's custom durability).90 %
repair-rate
Repair Rate
Repairs that many vanilla durability points every 5 s on your hand and armor.—
magnet-range
Magnet Range
Dropped items within that distance fly to you.12 blocks
smelt-touch
Smelt Touch
Chance that what you mine drops smelted (iron, gold, copper, sand, stone, clay…). It respects Fortune and protected regions.100 %
taming-luck
Taming Luck
When you tame an animal, chance to get the item you used back.90 %

🏃 Movement and exploration (17, vanilla)

All of them are Minecraft attributes: the number is added to the player's base. In brackets, the vanilla base so you know how much is a lot.

StatWhat it does
movement-speedWalking speed (0.1: +0.01 = +10%).
jump-strengthJump height (0.42).
safe-fallBlocks you can fall without damage (3).
fall-damageFall damage multiplier (1): negative means less.
step-heightHeight you step up without jumping (0.6).
gravityGravity (0.08): negative makes you floatier.
sneak-speedSneaking speed (0.3).
movement-efficiencySpeed on soul sand, honey and the like (0).
flying-speedFlying attribute of flying mobs; it does not change a player's flight.
scaleBody size (1).
mining-speedMining efficiency with the right tool (0).
block-break-speedBlock breaking speed (1).
submerged-miningMining speed underwater (0.2).
swim-speedMovement in water (0).
oxygenExtra air underwater (0).
entity-reachReach to hit entities (3).
block-reachReach to place and break blocks (4.5).
The names players see are translated in lang/<language>.yml → stat-name. How they all combine in a hit: Combat.

How a hit is calculated

The exact order in which ElementalArms decides how much damage a hit deals. If a number does not add up, this is where to look.

Melee hit with an ElementalArms weapon

  1. Can they use it?If the player does not meet the requirements, the weapon is bound to another soul or its durability is 0 in UNUSABLE mode, the hit is cancelled.
  2. Base damageThe weapon's damage (with its roll, upgrade and gems) + the damage from the rest of your gear (armor, accessories, set). All of it is scaled by the attack charge: spam-clicking hits less, and vanilla's falling crit, Sharpness and Strength still count.
  3. Critcrit-chance (from all your gear) is rolled. If it hits, the physical part is multiplied by 1 + crit-damage/100. If the target is a player, their crit-resistance cuts the extra.
  4. ElementsEach element from the weapon and the rest of your gear is added separately: damage × target weakness × charge × (1 + elemental-power) × (1 − the victim's resistance to that element).
  5. MultipliersAll of the above is multiplied by 1 + the sum of: vs players/mobs, ranged/melee, undead, berserk, backstab, first strike and combo. Then execute multiplies separately if the target is low on health.
  6. Victim's defenseIf the victim is a player: dodge-chance (minus your accuracy) and block-chance can cancel the hit; ranged/melee-resistance reduce it; defense (minus your armor-penetration) subtracts.
  7. MinecraftVanilla armor, toughness, Protection and the Resistance effect apply on top of that number, as always.
  8. Last safeguardsdamage-cap limits the hit and second-wind can save from death.
  9. After the hitLifesteal, thorns, mana steal, double strike, ON_HIT / WHEN_DAMAGED abilities and durability use.

An example with numbers

A sword with damage: 8, crit-chance: 25, crit-damage: 50 and fire: 5. The player wears a ring with damage-vs-mobs: 20. They hit a mob weak to fire (fire=1.5) at full charge:

StepNo critWith a crit
Physical88 × 1.5 = 12
Fire5 × 1.5 = 7.55 × 1.5 = 7.5
Sum15.519.5
× 1.20 vs mobs18.623.4
The crit only multiplies the physical part, not the elemental one. The floating numbers show each part separately: the white one (gold on a crit) and one in the colour of each element.

Other kinds of damage

DamageWhat changes
Arrow from an ElementalArms bowUses the bow's stats as they were when it was shot (upgrade and gems included), scaled by how far you drew it. Counts as ranged. Hitting with the bow in hand deals 0.1.
Fist or vanilla weaponMinecraft sets the damage. There is no ElementalArms crit, but gear elemental damage, multipliers, defense and lifesteal still apply.
AbilityIts damage × ability-damage, ability crit, magic-resistance and spell-vamp. From the multipliers it only uses the "against whom" ones (players, mobs, undead), berserk and execute. It does not trigger double strike, combo, lifesteal or mana steal.
Thorns, counter, double strikeThey arrive already calculated: they are not multiplied again, they do not raise the combo or use durability, and they do not bounce again.
Fall, fire, lava, void, drowningdefense, dodge and block do not touch them. damage-cap and second-wind do.

The floating numbers

8.0 ✷ 12.0 CRIT! ✦ 7.5 ▲ ✦ 3.0 ▼ ✦ x2
  • White: weapon damage. Gold with CRIT!: a crit.
  • Element colour: elemental damage. ▲ the target is weak to it, ▼ it resists it.
  • Blue with ✦: ability damage. You will also see Dodge!, Block!, x2 and Second Wind!.

Turn them off with damage-indicators.enabled: false. With show-all: false they only show on hits with ElementalArms weapons. The texts are in lang/<language>.yml → indicator.

Elemental damage

Twelve elements that are added to hits. Mobs can be weak or resistant to each one, and players protect themselves with resistances.

KeyNameKeyName
fire■ Firelight■ Light
water■ Waterdark■ Darkness
earth■ Earthpoison■ Poison
wind■ Windholy■ Holy
lightning■ Lightningnature■ Nature
ice■ Icearcane■ Arcane

1 · Giving an item elemental damage

FLAME_SWORD: id: DIAMOND_SWORD type: SWORD stats: damage: 7 elemental-damage: fire: 5 # added to every hit lightning: 2 # it can have several

In game: /ea editor → the item → Elemental Damage → click the element and type the number (0 removes it). It grows with upgrades (+8% per level).

Not only weapons. Elemental damage on armor, a shield in the off hand or an accessory is also added to your melee hits (with any weapon or bare hands) and to arrows from ElementalArms bows.

2 · Making a mob weak or resistant

Weaknesses are set on MythicMobs mobs with the elementalWeakness mechanic. One number per element decides what it is:

NumberThe mob takesMark
2.0double of that element▲ weak
1.5+50 %▲ weak
1.0the normal amount—
0.5half▼ resists
0nothing: immune▼ resists
# plugins/MythicMobs/Mobs/IceGoblin.yml IceGoblin: Type: ZOMBIE Display: '&bIce Goblin' Health: 40 Skills: - elementalWeakness{fire=1.75;ice=0.25} @self ~onSpawn # the @self ~onSpawn is required!
The weakness only multiplies elemental damage, never physical. If you hit that goblin with a weapon without elemental-damage, the weakness does nothing. With the sword above: 7 physical + 5 × 1.75 fire = 15.75.

The mechanic also answers to setWeakness and eaWeakness. The ▲ / ▼ marks show in the mob's health bar if health-bars.show-elements is on. Vanilla mobs have no weaknesses.

3 · Protecting players

Players do not use the mechanic: they use the resist-<element> stats on their gear (capped at 90%). And elemental-power raises all the elemental damage they deal.

stats: resist-fire: 25 # takes 25% less fire elemental-power: 20 # +20% to all their elemental damage

Adding or renaming elements

Elements live in items/configurations/elements.yml (key: name with colour). If you add one (blood: '&4■ Blood'), it works in the editor, the MythicMobs mechanic and the health bar. Its player resistance would be resist-blood; add it to stats.yml too so it shows in the editor. The name per language is translated in lang/<language>.yml → elements.

Abilities

Effects an item casts by itself: on click, on hit, when damaged or on kill. There are 20 native ones, and you can use any MythicMobs skill.

Step by step: your first ability

  1. Open the item/ea editor → category → the item → Item Abilities button (the fire charge).
  2. Add itAdd Ability (the star) and pick one from the list. It is added with example values and its settings open.
  3. Choose when it firesThe Triggered by lever cycles: right-click → left-click → on hit → when damaged → on kill.
  4. Tune the numbersClick each setting (cooldown, chance, mana, damage…) and type the value in chat. remove puts it back to default.
  5. SaveGo back to the editor and click Save Changes. If you do not save, it is lost on restart.

In the file

abilities: - ability: fireball trigger: RIGHT_CLICK # when cooldown: 5 # seconds to wait (0 by default) chance: 100 # chance in % (100 by default) mana: 10 # mana cost (0 = free) damage: 8 # the ability's own settings speed: 1.5 - ability: lifesteal trigger: ON_HIT chance: 30 percent: 25

The 5 triggers

TriggerWhenWhich items fire itTarget
RIGHT_CLICKRight-click in the air or on a blockThe one in the main handWhat you aim at
LEFT_CLICKLeft-click in the air or on a blockThe one in the main handWhat you aim at
ON_HITWhen you hit or land a projectileMain hand + accessoriesThe one you hit
WHEN_DAMAGEDWhen you take a hit or projectileMain hand + armor + accessoriesThe attacker (you, if it was a projectile)
ON_KILLWhen you kill somethingMain hand + accessoriesWhere it died

How clicks aim: the entity in your crosshair; if there is none, the block you look at; if you look at the air, the end of the ray. The reach is the largest range of the item's click abilities (30 by default) × ability-range.

The 20 native abilities

In brackets, the value used if you do not set it. radius: with a focused target only that target is affected; aiming at the air or a block, everything alive within that radius is affected.

IDWhat it doesSettings
fireballLaunches a fireball where you look. It damages what it hits, or within a radius if it hits a block.damage (6) · speed (1) · max-range (0 = sin límite) · radius (2) · yield (0) · incendiary (0)
healHeals you instantly.amount (4)
lifestealHeals you for a % of the damage of the hit that fired it. Use it with ON_HIT.percent (25)
explosionExplosion at the aimed point.power (2) · break-blocks (0)
lightningLightning where you aim; it damages the target or everything around.damage (5) · radius (2.5)
aoe_damageArea damage around the target or the aimed point.damage (5) · radius (4)
poisonPoisons.duration (5) · level (1) · radius (2)
witherWither effect.duration (5) · level (1) · radius (2)
blindBlinds.duration (4) · level (1) · radius (2)
freezeSlowness (freezes).duration (4) · level (2) · radius (2)
igniteSets on fire.duration (4) · radius (2)
shieldGives you absorption.duration (10) · level (2)
speedGives you speed.duration (10) · level (1)
strengthGives you strength.duration (10) · level (1)
regenerationGives you regeneration.duration (8) · level (1)
resistanceGives you damage resistance.duration (8) · level (1)
knockbackKnocks the target far away.power (1.5) · height (0.4) · radius (2)
pullPulls the target towards you.power (1) · radius (2)
leapLaunches you forward.power (1.2) · height (0.5)
teleportTeleports you to the last free spot in the direction you look (never inside a wall).range (10)
duration is in seconds and level 1 = level I. aoe-radius makes the radius bigger (24-block cap) and ability-damage the damage. When you add one from the editor, example values are written (trigger RIGHT_CLICK, cooldown 5…) that you can change.

MythicMobs skills

abilities: - ability: mythic:IceNova # the name of your skill trigger: RIGHT_CLICK cooldown: 12 mana: 30

It is cast from the player, with the target if there is one. Trigger, cooldown, chance and mana work the same; damage settings go inside the MythicMobs skill. Without MythicMobs installed, the console warns and nothing happens.

Cooldowns, mana and consumables

  • Cooldown: every ability on every item has its own. On clicks, the action bar says how long is left. cooldown-reduction shortens it (80% cap).
  • Mana: with MMOCore, its mana is spent. Without MMOCore, ElementalArms' own mana: the maximum comes from your gear's max-mana and refills with mana-regen. A player without max-mana casts for free.
  • If it fails: if the ability does not actually cast (for example a teleport with no free spot), it spends no mana and starts no cooldown.
  • Consumables: with consumable: true, the item uses up one unit each time it casts a right-click ability (potions, scrolls).
  • Vanilla use: if an item casts an ability on right-click, its normal use is cancelled (a pearl is not thrown, a potion is not drunk). Change it in abilities.cancel-vanilla-use.
  • Requirements: if the player does not meet the item's requirements, it is bound to someone else or unidentified, nothing fires with any trigger.
Not firing and you do not know why? Type /ea debug and click: chat tells you what happens (on cooldown, chance failed, no mana, requirements…).

Improving items

Four ways to improve an item you already have, all with the same gesture: pick up the stone with the mouse and click on the item in your inventory.

⬆️
Upgrade Stone+1 level. Each level raises base stats by 8%.
♻️
Reforge StoneRe-rolls the stats within the same tier.
◆
GemsThey go into a free socket and add their stats.
📜
Identification ScrollReveals an item that dropped unidentified.
It is done on a single item, not on a stack. It does not work inside menus (yours or another plugin's), so stones are never wasted on icons.

⬆️ Upgrade (+N)

  • Each level adds 8% of the base stats (not compounding): +10 = +80%. Plugin stats, elemental damage and damage, armor, armor-toughness, max-health, max-absorption grow. Gems do not.
  • The maximum is upgrade.max-level (10) or the item's max-upgrade. The level shows in the name: Excalibur (+3).
  • upgrade.success-chance (100 by default) lets it fail: on failure the stone is used up and the level does not rise (it never drops).
  • It works on everything except materials (MISC) and gems.

♻️ Reforge

Rolls every stat again with the range of its tier (the tier does not change). It can come out better… or worse. It only works on items with a tier. With reforge.keep-upgrade-level: true it keeps the +N.

◆ Gems and sockets

  1. Give the item socketsmax-sockets: 2 in its file (or Gem Sockets in the editor). They show in the lore as empty ◇.
  2. Create the gemAn item with type: GEM and its stats in gem-stats.
  3. Socket itPick up the gem and click on the item. It fills one socket and its stats are added for good.
FROST_GEM: id: PRISMARINE_CRYSTALS display-name: '&b◆ Frost Gem' type: GEM # required gem-stats: resist-ice: 10 crit-chance: 3
A socketed gem cannot be taken out. Gems keep their stats when the item is upgraded, reforged or taken to netherite.

📜 Unidentified items

A drop with unidentified: true (in drops.yml) drops hidden: named ✦ Unidentified item, only its quality shows and it gives no stats, does not hit with them and casts no abilities. Click a scroll on it to reveal it, keeping the roll it already had.

Which item is which

All four are normal ElementalArms items (in items/misc/stones.yml and gems.yml). You can change how they look or use others: the ID that is consumed is set in config.yml (upgrade.stone-item, reforge.stone-item, identify.scroll-item). Any type: GEM item is a gem.

Durability, binding and requirements

The rules you can put on an item so it is not for anyone and does not last forever.

🔧 Custom durability

durability: 800 # uses before breaking
  • It spends 1 point per melee hit with the item in hand. Abilities and bounces do not spend it.
  • The item becomes unbreakable in vanilla terms and the lore shows Durability: 640/800. Below 15% (custom-durability.warn-below-percent) it warns.
  • At 0, depending on custom-durability.on-zero: BREAK breaks and disappears; UNUSABLE stays but cannot hit, shoot or cast abilities.
durability-saving and repair-rate act on vanilla durability, not on this one.

🔒 Soulbound

soulbound: true
  • It binds to the first player who picks it up (soulbound.bind-mode: PICKUP) or uses it (USE). The lore says 🔒 Bound to Steve.
  • Nobody else can pick it up, hit with it, wear it or cast its abilities (prevent-use-by-others), and its owner cannot drop it (prevent-drop).
  • If the owner dies it drops like any item, but only they can pick it up again.

📋 Requirements

requirements: level: 20 # experience level (or MMOCore level) permission: 'rank.knight' # a permission class: Warrior # MMOCore class

If they are not met, the player cannot attack with the item, use it or cast its abilities, and gets a warning. The lore lists them under Requirements:.

RequirementWhere it comes from
levelMMOCore level if installed; otherwise vanilla experience level. requirements.level-source: NONE turns it off.
permissionYour permissions plugin (LuckPerms…).
classMMOCore (or another plugin hooked through the API). With none, it does not block.
Requirements stop the item from being used, but worn armor or an equipped accessory still gives its stats even if they are not met. If you want an item for one rank only, combine it with soulbound or only give it to that rank.

✋ Two-handed

hand-style: TWO_HANDED: while you hold it, whatever is in your off hand goes back to your inventory (or the ground if it does not fit), and /ea inventory locks the off hand and the shield.

Equipment, accessories and sets

/ea inventory puts everything you wear in one menu and adds 5 accessory slots. /ea stats adds it all up and tells you where each point comes from.

The equipment menu

Equipment of Steve
🙂🗡️⛑️💍✋🦺💍🛡️👖📿🪽🥾🔗📊🐉🎒❌
Hover over each slot to see what it is.
  • Drag your gear into its slot: each slot only accepts its own kind and tells you why if something does not fit.
  • Minecraft limits: the elytra and the chestplate use the same real slot, as do the shield and the off hand. Only one of each pair can be filled; the other shows as locked with the reason.
  • With a two-handed weapon, the off hand and the shield are locked.
  • Accessories are saved with the player: they stay equipped after leaving and joining. Their stats and abilities (ON_HIT, WHEN_DAMAGED, ON_KILL) work while they are in their slot.
SlotAccepts
Ring 1 and 2RING · ACCESSORY
AmuletAMULET · ACCESSORY
NecklaceNECKLACE · ACCESSORY
TalismanTALISMAN · ACCESSORY
Do your players have the ElementalArms resource pack? Set texture-pack.enabled: true and the menu is drawn with a leather-and-gold RPG frame. Without the pack it works the same on the normal grey background. Turn it all off with accessories.enabled: false.

The character sheet

/ea stats (or the button in the equipment menu) shows your health, damage and protection at the top, and below that offense, defense and mobility with the gear / accessories / set breakdown of each stat. On the side, an icon with your total elemental damage, another with the rest of your plugin stats and another with the active set bonuses.

Armor sets

A set gives extra stats depending on how many of its pieces you wear. Bonuses stack: with 4 pieces you get the 2-piece and the 4-piece bonus.

  1. Define the setIn items/configurations/sets.yml, with its piece thresholds.
  2. Mark the piecesPut set: FROST on each armor piece (or Armor Set in the editor).
  3. Reload/ea reload. When the pieces are put on, chat says ✦ Set active: Frost Guard (2).
FROST: display-name: '&bFrost Guard' bonuses: 2: # with 2 pieces stats: defense: 4 resist-ice: 20 4: # with 4 (added to the 2-piece one) stats: max-health: 5 movement-speed: 0.01 elemental-power: 15
A set accepts any of the 89 stats. Only worn armor pieces count, not what you hold or have in accessory slots. Turn the chat notice off with sets.notify: false. The plugin ships DRAGON (the diamond armor) and GUARDIAN as examples.

How items are obtained

Three ways to make them: stations with their own recipes, the usual crafting table recipes and the smithing table.

🔨 Crafting stations

A station is a recipe menu placed on one exact block in the world, with a hologram and particles. Three come included: FORGE, ALTAR (arcane altar) and JEWELER.

  1. Place the blockAny block works (a smithing table looks good for the forge).
  2. Turn it into a stationLook at it (6 blocks or less) and type /ea station place FORGE.
  3. Use itRight-click opens the recipes. While sneaking, the block works as normal. Each recipe shows the ingredients you have (green) and those missing (red).
  4. Remove itLook at it and /ea station remove. They are saved in stations-placed.yml.

Creating a station

# stations.yml RUNE_TABLE: display-name: '&dRune Table' block: LODESTONE # only for block-mode: ANY permission: 'server.runes' # empty = everyone hologram: enabled: true lines: - '&d✦ {name}' - '&7Right-click to open' particles: enabled: true type: ENCHANT # see the list in stations.yml recipes: - result: FROST_BLADE # ElementalArms ID amount: 1 ingredients: - item: DIAMOND_SWORD # an ElementalArms item amount: 1 - material: BLUE_ICE # a vanilla material amount: 16
  • The result comes with its tier roll: every craft is different.
  • Ingredients are taken from the backpack and hotbar, never from worn armor or the off hand. A vanilla material does not accept an ElementalArms item of the same material.
  • Up to 45 recipes per station. A recipe with an item that does not exist is skipped and the console warns.
stations.block-modeWhere right-click opens it
PLACEDOnly on blocks placed with /ea station place (recommended).
ANYOn any block of its block type (every smithing table in the world).
NONENever: only with /ea station <id>.
/ea station <id> opens a station without walking to its block, so it needs the elementalarms.station.command permission (op only by default). Give it to whoever should open stations from anywhere.

🧱 Replaced vanilla recipes

With vanilla-crafting.replace-recipes: true, crafting a normal sword, axe, bow, shield or armor piece at the crafting table gives the ElementalArms version, with its roll. Netherite recipes are removed: netherite is obtained at the smithing table. Everything is decided in items/configurations/vanilla-recipes.yml:

recipes: iron_sword: # Minecraft recipe name item: IRON_SWORD # your item shape: ["P", "P", "S"] ingredients: { P: IRON_INGOT, S: STICK } # or a group: wood, stone remove: # recipes that are only removed - netherite_sword
If the item does not exist or the recipe is wrong, the console warns and the vanilla recipe stays untouched: nothing is ever left uncraftable. After editing, /ea reload; a recipe you took out of remove only comes back after a restart.

⚒️ Smithing table

Netherite upgrade template + an ElementalArms diamond item + netherite ingot = its netherite version. It keeps the upgrade (+N), gems, owner, enchantments and an anvil name. The new roll is fixed for that item: removing and re-adding the ingot does not give another one.

MY_DIAMOND_BLADE: id: DIAMOND_SWORD smithing-upgrade: MY_NETHERITE_BLADE # what it turns into

The included diamond swords, axes and armor already know what to become. An ElementalArms item with no netherite version cannot be upgraded (so you do not lose the ingot on something that would stay diamond).

Mob and block drops

Make vanilla mobs and blocks drop ElementalArms items, with their roll, in items/configurations/drops.yml.

mobs: ZOMBIE: # Minecraft entity type - item: IRON_SWORD chance: 3 # % (0-100) WITHER_SKELETON: - item: DIAMOND_SWORD chance: 4 unidentified: true # drops unidentified worlds: [world_nether] # only in these worlds blocks: DIAMOND_ORE: # block material - item: PRECISION_GEM chance: 5 amount: 1 # amount (1 by default)
FieldWhat it does
itemItem ID (/ea list).
chanceChance in %. The player's loot-luck multiplies it.
amountHow many drop.
unidentifiedtrue = a scroll is needed to see and use its stats.
worldsList of worlds. Without it, all of them.
player-onlytrue (default) = only if a player kills it.

Anti-farming rules

  • A block placed by a player drops nothing when broken (drops.ignore-placed-blocks), so an ore mined with Silk Touch cannot be placed and broken forever.
  • If the block drops nothing with that tool (a diamond ore by hand), it does not drop the item either. Never in creative.
  • Protected regions (WorldGuard and the like) are respected: if the break is cancelled, nothing drops.

MythicMobs drops

For MythicMobs mobs use their own drop table with the elementalarms drop (also eaItem or ea). It comes with tier and roll, just like from drops.yml:

Drops: - elementalarms{item=EXCALIBUR} 1 0.05 # 5% - elementalarms UPGRADE_STONE 2 0.25 # short form: 2 stones, 25%

The in-game editor

/ea editor creates and changes items with menus, without opening a single file. Everything you do here ends up written in items/.

How you type in the editor: click a slot, the menu closes and chat asks for the value. Type it and the menu opens again. cancel leaves without changing anything.

1 · Categories

Item Editor - Types
🗡️🪓🏹🎯🔱🪄🛡️🦺💍📿🔗🐉💠◆💚🔍

Inside a category, items are sorted by tier (COMMON to MYTHIC) and by ID, 45 per page. The Create New Item star (bottom right) creates a new one in that category.

2 · Creating an item

  1. Type its IDNo spaces and not already taken (FROST_BLADE). It is created right away as stone, tier COMMON, in its category's file (items/sword.yml, items/misc/accessories.yml…).
  2. Change the materialClick id and type a Minecraft material (DIAMOND_SWORD).
  3. Fill in the restName, tier, stats, elements, abilities, lore… (see the menu below).
  4. SaveSave Changes. Until you save, changes only exist in memory.

3 · An item's menu

Editing: FROST_BLADE
📦🎨👁️⚙️⚙️⚙️⚙️⚙️⚙️⚙️⚙️⚙️⚙️⚙️⚙️🔥📖✋📚✨🛡️📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊⬅️◀📄▶💾
First page. On the following pages the whole middle area is stats.
WhatHow to change it
PropertiesAlways in the same order: id, display-name, type, tier, set, durability, max-sockets, max-upgrade, soulbound, consumable, custom-model-data, requirements and revision-id. soulbound and consumable toggle with one click; the rest are typed.
StatsFirst the ones the item already has (green), then the rest (grey). Each one explains what it does. Type the number; 0 removes it.
AbilitiesList: click to configure, right-click to remove. See Abilities.
LoreAdd Line and type the line (with & colours). Clicking a line deletes it.
Elements and resistancesA menu with the 12 elements: click and type the value.
Leather colourOnly on leather pieces: 16 dyes, a colour typed by hand (#A06540, 160,101,64), a random one or washing it off, with a preview.
Saving changes the file, but items players already have do not change by themselves: raise revision-id and they update when players join. And Get the item! gives the template without a roll; to test rolls use /ea give.

4 · Configuring an ability

Ability settings
🔥🎚️⏱️⏱️🔷⚙️⚙️⚙️⚙️⚙️⚙️⚙️⚙️⚙️⚙️⚙️⚙️⚙️⬅️🗑️

For each setting type a number, or remove so it uses its default. The list of settings of each ability is in Abilities.

Skill amplifiers

Skill Amplifiers has nothing to do with the item's abilities: it stores a bonus for skills of other plugins that read it through the API (ElementalArmsAPI.getSkillModifier). If no plugin uses it, it does nothing and the menu says so.

Health bars and visual effects

Everything you see without opening a menu: the bar above mobs, damage numbers, the glow of items on the ground and station holograms. None of it needs another plugin or is saved into your world.

💚 Health bar above mobs

Ice Goblin
▉▉▉▉▉▉▉▉▉▉ 28/40
■ Fire ▲x1.75 · ■ Ice ▼

It appears when you hit a mob and hides itself after 6 seconds. Below it shows the mob's elemental weaknesses (▲ and how much) and resistances (▼).

Option (health-bars.)What it does
modeon-hit when hit (recommended) or always always visible near players.
hide-after-secondsSeconds visible after the last hit (6).
stylesolid ▉▉▉ · hearts ❤❤❤ · framed [▮▮▯] · thin ━━━ · pips ■■□ · numbers ❤ 14/20
segmentsBar segments (3–20).
show-name · show-numbers · show-elementsName on top, 14/20 beside it, element line below.
color-by-healthGreen → yellow → red with health (false = always red).
background · scale · height-offsetDark panel behind, text size (0.2–3) and extra height.
view-distance · max-barsDistance it is seen from (32) and max bars at once (60), against lag.
ignore-players · only-hostile · min-max-health · blacklistFilters: no bar for players, hostile only, only mobs with at least this max health, and excluded types.
avoid-duplicate-nameHides the mob's own name tag while the bar is up (including the one you see when aiming at it).
respect-mythicmobs-healthbarIf a MythicMobs mob draws its own bar, the ElementalArms one only shows name and elements.
Is a MythicMobs mob's name shown twice? If it has its own Nameplate, turn it off in the mob's file, at the root (not inside Options): Nameplate: Enabled: false. Or set show-name: false so MythicMobs draws the name.

✨ Damage numbers

The numbers that pop up on hits. What each colour means: Combat.

🌟 Glow on the ground

An ElementalArms item lying on the ground glows with its tier's colour, so you can spot a legendary from afar. COMMON does not glow by default. Change it per tier with glow in tiers.yml (false, a colour like GOLD or a code '&6'; only the 16 Minecraft colours) and turn it all off with ground-glow.enabled: false.

🏷️ Station holograms

Every placed station has its floating text and particles, set in stations.yml (hologram and particles). See Crafting.

🖼️ Custom textures

custom-model-data: 1001 on an item uses model 1001 from your resource pack (ItemsAdder, Oraxen, Nexo or your own pack). Leather pieces are dyed with color. The ElementalArms resource pack (in your downloads panel) only adds the RPG frame of the equipment menu (texture-pack.enabled).

Commands and permissions

A single command, /ea (also /elementalarms and /earms). /ea help only shows what each player can use.

CommandPermissionWhat it does
/ea helpEveryoneThe command list.
/ea inventoryEveryoneYour equipment and accessories menu. Aliases: inv, equipo, accessories, acc.
/ea statsEveryoneYour character sheet.
/ea station <id>elementalarms.station.commandOpens a station without walking to its block (and respects the station's permission).
/ea station place <id>elementalarms.adminTurns the block you look at into a station.
/ea station removeelementalarms.adminRemoves the station from the block you look at.
/ea editorelementalarms.adminOpens the item editor.
/ea give <jugador> <ítem> [cantidad]elementalarms.adminGives an item with its roll. What does not fit drops on the ground. Works from the console.
/ea listelementalarms.adminThe IDs of every loaded item.
/ea fix [jugador] [force]elementalarms.adminCleans stuck attributes (health that does not go back to normal). force removes every health modifier and restores the base.
/ea debugelementalarms.adminShows in chat what happens with abilities on each click.
/ea reloadelementalarms.adminReloads config, items, stations, languages, bars, holograms and recipes.

Permissions

PermissionDefaultGrants
elementalarms.adminopAll admin commands. Includes elementalarms.station.command.
elementalarms.station.commandopOpening stations by command, without walking to the block.
Each station's own—The permission in stations.yml: who can use that station.
Each item's own—requirements.permission: who can use that item.
/ea reload is not needed after saving in the editor. After editing by hand: yes. Three things only change with a restart: turning drops, stations or ground glow on or off, and bringing back a vanilla recipe you had removed.

Placeholders

With PlaceholderAPI installed they register by themselves. Use them in scoreboards, TAB, holograms or menus.

PlaceholderReturns
%elementalarms_stat_<stat>%The total of that stat across all gear, same as in combat. E.g. %elementalarms_stat_crit-chance% → 25.
%elementalarms_set%Name of the worn armor's set, or None.
%elementalarms_tier%Tier of the item in hand.
%elementalarms_upgrade%Upgrade level of the item in hand (0 if none).
%elementalarms_durability%Custom durability of the item in hand (empty if none).
%elementalarms_item%ID of the item in hand (empty if it is not an ElementalArms item).

Integrations

ElementalArms works on its own. If you have any of these plugins, it detects them on startup and adds what they bring; there is nothing to turn on.

PluginWhat it enables
MythicMobsElemental weaknesses and resistances on your mobs, ElementalArms item drops in their tables, mythic:Skill abilities on items and respect for their health bar.
MMOCoreMMOCore level and class for requirements, and its mana for ability costs.
PlaceholderAPIThe %elementalarms_…% placeholders. See Placeholders.
ItemsAdder · Oraxen · NexoCustom textures with custom-model-data.
WorldGuard (y similares)Its regions are respected: auto-smelt and block drops give nothing if the break is cancelled, and teleport counts as an ender pearl.

MythicMobs step by step

The file plugins/ElementalArms/MythicMobs-Example.yml has all of this commented. Summary:

# plugins/MythicMobs/Mobs/FireImp.yml FireImp: Type: BLAZE Display: '&6Fire Imp' Health: 60 Skills: - elementalWeakness{water=2;ice=1.5;fire=0} @self ~onSpawn # weak to water, immune to fire Drops: - elementalarms{item=FIRE_GEM} 1 0.3 # 30% to drop the gem Nameplate: # at the mob's ROOT, not in Options Enabled: false

More about weaknesses in Elements; about skills on items, in Abilities.

MMOCore

  • requirements.level uses the MMOCore level instead of the experience level.
  • requirements.class compares with the MMOCore class (its ID or name).
  • Ability mana is taken from MMOCore mana; ElementalArms' own mana (max-mana) is no longer used.
  • MMOCore does not give abilities to items: native abilities or MythicMobs do that.

config.yml, option by option

Every option with its default value. New options in each version are added to your file by themselves without touching what you changed.

General

OptionDefaultWhat it does
license""Your licence from the panel.
languageenLanguage: the lang/<code>.yml file.
damage-indicators.enabledtrueFloating damage numbers.
damage-indicators.show-alltrueAlso for fists, vanilla weapons, mobs, falls and abilities. false = ElementalArms weapons only.
health-bars.*…Health bar above mobs (see Bars and effects).
vanilla-crafting.replace-recipestrueThe recipes in vanilla-recipes.yml give ElementalArms items.
ground-glow.enabledtrueTier-coloured glow on the ground.
texture-pack.enabledfalseRPG frame for the equipment menu (only if players have the pack).
accessories.enabledtrueEquipment menu and accessory slots.

Items

OptionDefaultWhat it does
item-revision.keep-data.enchantmentstrueWhen revision-id goes up, keep enchantments.
item-revision.keep-data.display-nametrue…and a name the player set on an anvil.
item-revision.keep-data.lorefalse…and added lore lines starting with kept-lore-prefix (&7).
requirements.enabledtrueUse requirements.
requirements.level-sourceVANILLAVANILLA (experience) or NONE. With MMOCore its level is used.
soulbound.enabledtrueSoulbound items.
soulbound.bind-modePICKUPPICKUP on pickup or USE on use.
soulbound.prevent-droptrueThe owner cannot drop it.
soulbound.prevent-use-by-otherstrueNobody else can use, wear or pick it up.
custom-durability.enabledtrueCustom durability (durability:).
custom-durability.warn-below-percent15Low durability warning.
custom-durability.on-zeroBREAKBREAK breaks, UNUSABLE becomes useless.

Systems

OptionDefaultWhat it does
abilities.enabledtrueItem abilities.
abilities.cancel-vanilla-usetrueA right-click ability cancels the item's normal use.
sets.enabledtrueArmor sets.
sets.notifytrueChat notice when a set turns on or off.
upgrade.enabledtrueUpgrade stones.
upgrade.stat-increase-per-level0.08Increase per level (0.08 = +8% of the base).
upgrade.max-level10Max level unless the item says otherwise.
upgrade.stone-itemUPGRADE_STONEID of the item used as the stone.
upgrade.success-chance100.0Success chance.
reforge.enabledtrueReforge stones.
reforge.stone-itemREFORGE_STONEReforge stone ID.
reforge.keep-upgrade-leveltrueKeep the +N when reforging.
identify.enabledtrueUnidentified items.
identify.scroll-itemIDENTIFY_SCROLLScroll ID.
gems.enabledtrueGems and sockets.
drops.enabledtruedrops.yml tables (restart).
drops.ignore-placed-blockstrueBlocks placed by players drop nothing.
stats.execute-threshold30% health below which execute counts.
stats.second-wind-cooldown-seconds120second-wind cooldown (not written by default; add it to change it).
stations.enabledtrueCrafting stations (restart).
stations.block-modePLACEDPLACED, ANY or NONE.

The other files

FileWhat forSection
items/*.ymlYour itemsItems
tiers.ymlQualities and rollsTiers
stats.ymlWhich stats exist and their default nameStats
elements.ymlThe elementsElements
sets.ymlArmor setsEquipment
drops.ymlMob and block dropsDrops
stations.yml · vanilla-recipes.ymlStations and recipesCrafting
lore-formats.ymlOrder and look of the lorebelow
lang/*.ymlEvery textbelow

How the lore looks

In lore-formats.yml, the format list decides the order of the lore blocks: move the lines and the item is drawn in that order (a block you delete from the list is drawn at the end). entries decides how they look: titles, the format of each stat (stat_entry.crit-chance…), which stats show % (percent-stats) and the separator bar. Existing items are redrawn when their revision-id goes up.

#stats# · #elements# · #skill_modifiers# · #abilities# · #sockets# · #set# · #requirements# · #hand_style# · #durability# · #lore# · #soulbound# · #tier#

Languages

Everything the player sees is in lang/en.yml and lang/es.yml: messages, menus, stat names, elements, tiers, abilities, and even each item's name and lore (items). Your changes are kept when updating and new keys are added by themselves. Another language? Copy en.yml as fr.yml, translate it and set language: fr; anything missing shows in English.

Updating from older versions

Replace the jar and restart. You do not need to delete anything or touch your files.

  1. BackupSave the plugins/ElementalArms folder, just in case.
  2. Replace the jarDelete the old jar from plugins/, put the new one and restart (not /reload).
  3. DoneNew options appear in config.yml and in the language files. Players' items are rebuilt when they join if needed, keeping roll, upgrade, gems, durability, owner and enchantments.

1.2.0: IDs switch to English

Since 1.2.0 the items and stations that come with the plugin have English IDs. If you already had the plugin, it does not affect you: ElementalArms never overwrites your items/*.yml, stations.yml or drops.yml, so you keep the old IDs and everything works the same (the smithing table recognises both). Only a new install gets the new ones.

Do not rename IDs by hand on a server that is already running: items players already own store the old ID and would stop updating.
BeforeSince 1.2.0
ESPADAMADERA · ESPADAPIEDRA · ESPADAOROWOODEN_SWORD · STONE_SWORD · GOLDEN_SWORD
ESPADAHIERRO · ESPADADIAMANTE · ESPADANETHERITEIRON_SWORD · DIAMOND_SWORD · NETHERITE_SWORD
HACHA + MADERA/PIEDRA/ORO/HIERRO/DIAMANTE/NETHERITEWOODEN_ / STONE_ / GOLDEN_ / IRON_ / DIAMOND_ / NETHERITE_AXE
CASCO · PECHERA · PANTALON · BOTAS + CUERO/MALLA/HIERRO/ORO/DIAMANTE/NETHERITELEATHER_ / CHAINMAIL_ / IRON_ / GOLDEN_ / DIAMOND_ / NETHERITE_ + HELMET / CHESTPLATE / LEGGINGS / BOOTS
ARCO · BALLESTA · TRIDENTE · ESCUDOBOW · CROSSBOW · TRIDENT · SHIELD
BASTONTORMENTA · ARMADURAVACIOSTORM_STAFF · VOID_CHESTPLATE
PIEDRAMEJORA · PIEDRAREFORJA · PERGAMINOIDENTUPGRADE_STONE · REFORGE_STONE · IDENTIFY_SCROLL
GEMAFUEGO · GEMAVIDA · GEMAGUARDIA · GEMAPRECISIONFIRE_GEM · VITALITY_GEM · GUARD_GEM · PRECISION_GEM
POCIONVIDA · POCIONFURIA · PERGAMINOFUEGO · PERGAMINOESCAPEHEALTH_POTION · FURY_ELIXIR · METEOR_SCROLL · ESCAPE_SCROLL
ANILLOPODER · ANILLOVIDA · AMULETOSOMBRA · TALISMANDRAGONRING_OF_POWER · RING_OF_VITALITY · SHADOW_AMULET · DRAGON_TALISMAN
FORJA · JOYEROFORGE · JEWELER
EXCALIBUR and ALTAR do not change. If you want the new items on an old server, the safe way is to create a clean test folder, copy the items you like from it and give them an ID you do not have yet.

Developer API

To hook another plugin into ElementalArms. Add the jar as a compileOnly dependency and softdepend: [ElementalArms] in your plugin.yml. Everything is in com.infinity3113.elementalarms.api.ElementalArmsAPI.

MethodWhat for
isCustomItem(ItemStack) · getItemId(ItemStack)Know whether an item is an ElementalArms item and its ID.
setManaProvider(ManaProvider)Let your RPG plugin charge (consume) and refund (refund) ability mana.
setPlayerLevelProvider(…) · setPlayerClassProvider(…)Provide the player's level and class for requirements.
consumeMana · refundMana · resolvePlayerLevel · resolvePlayerClassUse the same thing ElementalArms uses.
getSkillModifiers(ItemStack) · getSkillModifier(ItemStack, skillId)Read an item's Skill Amplifiers to apply them to your skills.
setSkillNameProvider(SkillNameProvider)Nice names and the skill list for the amplifiers editor.

Example: mana from your plugin

ElementalArmsAPI.setManaProvider(new ElementalArmsAPI.ManaProvider() { @Override public boolean consume(Player p, double amount) { if (MyRpg.getMana(p) < amount) return false; MyRpg.setMana(p, MyRpg.getMana(p) - amount); return true; } @Override public void refund(Player p, double amount) { MyRpg.setMana(p, MyRpg.getMana(p) + amount); } });

Damage from your skills

If your plugin deals damage on behalf of a player holding an ElementalArms weapon, mark the player with the ea:skill_damage metadata while you apply the damage. That way ElementalArms does not recalculate it as a weapon hit and treats it as ability damage.

player.setMetadata("ea:skill_damage", new FixedMetadataValue(myPlugin, true)); try { target.damage(12.0, player); } finally { player.removeMetadata("ea:skill_damage", myPlugin); }

Frequently asked questions

The most common questions, with a straight answer.

I changed an item and players still have the old one

Raise its revision-id (1 → 2). When players join, their copies are rebuilt keeping roll, upgrade and gems. Copies in chests update once the player carries them and joins again.

My MythicMobs mob's weakness does nothing

Two causes: the weapon has no elemental-damage (the weakness only multiplies elemental damage), or the mechanic is missing @self ~onSpawn.

An ability does not fire

Use /ea debug and try again: it tells you if it is on cooldown, the chance failed, mana is missing or the player does not meet the requirements. Remember that an unidentified item casts nothing and that ON_HIT comes from the weapon in hand or accessories, not armor.

CRIT! shows but the damage is the same

crit-damage is missing. crit-chance decides whether there is a crit; crit-damage decides how much harder it hits (50 = ×1.5).

A player has too many or too few hearts

/ea fix <player> clears set and accessory bonuses and applies them again. If it is still wrong, /ea fix <player> force removes every health modifier (including other plugins') and restores the base.

A mob's name shows twice

The normal name tag already hides itself. If it is a MythicMobs mob with its own Nameplate, turn it off at the mob's root (not inside Options), or set health-bars.show-name: false.

I do not want the crafting table to give ElementalArms items

vanilla-crafting.replace-recipes: false and restart. Or remove only the recipes you do not want from vanilla-recipes.yml.

Every smithing table opens the forge

You have stations.block-mode: ANY. With PLACED (the default) only blocks placed with /ea station place open it.

I hold a ring in my hand and it gives nothing

That is on purpose: accessories count in their /ea inventory slot, and armor when worn. In the hand they add nothing.

Get the item! gives me the item without a tier

That button gives the template, without a roll. An item with tier: RANDOM has no tier until it is generated: use /ea give.

The plugin disables itself

Check the console: empty or badly copied licence, licence used on two servers at once, or your host blocks the connection to infinity3113.mc-paradise.com for more than 48 hours.

My two-handed weapon removes my shield

That is what hand-style: TWO_HANDED does: it empties the off hand while you hold it. Change it to ONE_HANDED if you do not want that.

ElementalArms / Changelog

Version history

Every release and what changed in it.

v1.4.1 2026-09-29 Latest
  • ✨No licence key needed any more: install the jar and it works. The licence terms stay the same: one purchase covers one server (or one network under the same owner).
v1.3.1 2026-09-23
  • 🐛Armour pieces cancelled each other out: with a chestplate on, putting the helmet on left you with LESS armour, and taking any piece off could leave you at zero with the full set equipped.
  • 🐛The same bug hit every vanilla attribute an item gives (armour toughness, max health, speed, knockback resistance...) and the shield in the off hand, which fought with the armour over the same value.
  • ✨Repair kits for custom durability: 30%, 50% and 100%. Drag one onto the item, or use them in a forge. They are never wasted on an item that does not need them.
  • ✨Repair Forge: a station with 'type: REPAIR' in stations.yml. Put the item in, the payment in, click. It only takes custom-durability items, and each forge sets what it accepts and how much it repairs.
  • ✨Not every item has to accept the Upgrade Stone any more: 'Accepts Upgrade Stone' and 'Max Upgrade (+N)' are switches in /ea editor, per item. Max Upgrade 0 also blocks it.
  • 🔧The Upgrade Stone is no longer consumed when the item cannot be upgraded: it tells you and stays in your hand.
  • 🔧/ea inventory counts Protection the same way /ea stats does (defense + armour), so both menus no longer show different numbers, and armour from an RPG class now shows there too.
  • 🔧Just replace the jar. Your items are rebuilt on their own the next time each player joins, and that is what fixes the armour on gear that already exists.
  • ✨Every stat in the lore now has its own icon and colour, grouped by family (attack, crits, abilities, mana, health, defence, world). Plain characters: no resource pack needed.
  • 🔧Stat values lost their padding zeros: 12 instead of 12.00, 1.6 instead of 1.60. Set bonuses too, where +0.02 speed used to read as +0.0.
  • 🔧Lore sections got a proper header (STATS, ELEMENTAL, ABILITIES, SOCKETS, REQUIREMENTS) and a cleaner separator line.
  • 🔧The look of a stat set in lore-formats.yml now wins over the language file, so all the looks live in one place. The NAMES are still translated per language.
v1.2.0 2026-09-14
  • ✨Dye leather gear from the editor: 16 dyes, any colour (#hex or R,G,B) or a random one, with live preview. Saved as 'color:' in the item file; colours players dye themselves are kept.
  • ✨config.yml: drops.ignore-placed-blocks and health-bars.respect-mythicmobs-healthbar (both on by default).
  • 🔧English is now the main language: built-in item and station IDs (DIAMOND_SWORD, UPGRADE_STONE, FORGE...) and every console message. Existing servers keep their files and old IDs.
  • 🔧Upgrades and tier rolls no longer scale attack speed, movement speed, size or gravity.
  • 🔧/ea stats shows every set bonus. Equipment menu, character sheet and stations are fully translated.
  • 🔧Brand-new step-by-step wiki in 4 languages.
  • 🔧Updating: just replace the jar. New options are added by themselves and players' items are rebuilt keeping rolls, upgrades, gems and enchantments.
  • 🐛Item duplication in /ea inventory (taking the weapon from your hand and closing the menu).
  • 🐛/ea inventory deleted a chestplate placed while wearing an elytra (same with the shield and the off hand).
  • 🐛Tenacity froze the whole server and made players immune to negative effects.
  • 🐛Smelt Touch dropped ingots inside protected regions (WorldGuard...) without breaking the block.
  • 🐛Block drops could be farmed forever by placing the block again (Silk Touch ores).
  • 🐛Custom weapons ignored every damage multiplier: vs mobs/players, berserk, backstab, combo, first strike, execute, resistances, Sharpness and Strength.
  • 🐛Spam-clicking dealt full damage: the attack cooldown now counts with custom weapons too.
  • 🐛Weapon attack speed was added on top of the player's base (swords were at 5.6).
  • 🐛Defense and Dodge also worked against void, fall, fire and drowning damage. Both now only apply to attacks and projectiles.
  • 🐛Defense, crit and damage from sets, accessories and shields were never applied.
  • 🐛22 attribute stats (jump strength, scale, reach, mining speed...) did nothing on weapons and armor.
  • 🐛Double Strike showed "x2" but dealt no damage, and thorns/counter damage was recalculated as a full weapon hit.
  • 🐛Damage Cap and Second Wind were checked before the damage was fully calculated.
  • 🐛Unidentified items already used their stats, and shield stats only worked in the main hand.
  • 🐛Rings, amulets and armor gave their stats just by holding them in your hand (and /ea stats counted them).
  • 🐛Elemental damage on armor, shields and accessories did nothing (the Dragon Talisman's fire). It now adds to melee hits and ElementalArms bow shots.
  • 🐛Abilities on accessories never triggered (the Shadow Amulet and the Dragon Talisman now work).
  • 🐛Ability damage was treated as a melee hit: it triggered Double Strike, Combo, Lifesteal and mana steal on every mob it caught.
  • 🐛The netherite smithing upgrade never worked on 1.20+. It now also keeps upgrades, gems and soulbound.
  • 🐛on-zero: UNUSABLE items kept working at 0 durability.
  • 🐛Crafting stations crafted the wrong recipe after an invalid one, and used worn armor as an ingredient.
  • 🐛Upgrading or identifying a stack of items deleted all but one.
  • 🐛MythicMobs drops came out without tier or stat roll, and changing an item's name in its YML never reached items already given.
  • 🐛Keep Item Chance could lose items on disconnect, teleport could put you inside walls, and a 500/502 on the licence site disabled the plugin.
  • 🐛Mob names were shown twice (above the health bar and below it), also on MythicMobs mobs and with their own HealthBar.
v1.1.6 2026-08-30
  • 🐛ElementalArms 1.1.5 never got as far as starting up: it died during enable and the server disabled the whole plugin, so no command worked. It starts properly now.
  • 🐛The cause was the order in which the internal stat data was prepared. Rewritten so that order can no longer break startup.
  • 🔧New pre-release check: all 61 plugin classes are loaded the way the server would load them, so a startup failure cannot leave the workshop again.
  • 🔧Straight update: nothing changes in the config or the items. Swap the .jar and you are done - your items, sets and abilities stay as they were.
v1.1.5 2026-08-19
  • 🐛Gem sockets did nothing when you took the item out of the editor. "Get the item!" handed you a template that never read max-sockets, so you received an item with zero sockets and inserting a gem answe
  • 🐛Items your players already own could never gain sockets or durability. Rebuilding an item preserves its data, so adding max-sockets to the YML and bumping revision-id changed nothing. They now adopt w
  • 🐛The smithing table handed out a stripped item: upgrading to netherite produced no sockets, no durability and no tier roll.
  • 🐛Bows fired with template stats. The arrow only carried the bow's ID, so damage was recalculated from scratch: a +10 bow full of gems hit for exactly the same as a fresh one.
  • 🐛The format: block in lore-formats.yml was never read. The file documents it as the lore's running order, but the order was hard-coded, so reordering that list changed nothing in game. It works now, an
  • 🐛The explosion ability had its two options backwards: the editor offered radius, which no code read, and hid break-blocks, which does work.
  • 🐛Nine texts were hard-coded in Spanish on an English plugin. Four were seen by ordinary players: the durability line on every item, Dos Manos on two-handed weapons, the set-equipped message, and the la
  • 🔧break-blocks is now offered in the ability editor, with its own icon and help. It defaults to 0, so an explosion does not wreck the terrain unless you say so.
  • ✨21 more texts became translatable, including the combat indicators (✦ Block!, ✦ x2, ✦ Second Wind!, ✷ CRIT!). They worked before, but there was no way to translate them or recolour them.
v1.1.4 2026-08-19
  • 🐛The editor did nothing when you typed a value in chat. The text arrived off the server thread, so the save was dropped without even an error in console.
  • 🐛Logging out with an editor question still open left that question stored, and it was then applied to the first thing you typed on your next login.
  • 🐛Abilities did not fire on hits from arrows, tridents or thrown potions: the plugin looked at the projectile instead of whoever threw it, so the hit did not count as yours.
  • 🐛Items stuck to the cursor or appeared duplicated when upgrading gear. The client was out of sync with the server; the inventory is now refreshed after every change.
  • 🐛Coloured names showed raw in the editor (&eLight Damage instead of Light Damage in yellow).
  • 🐛Crit Resistance did nothing. It was in stats.yml, translated and with its own icon, but no code ever read it: you could put it on an item and it was decoration. It now cuts the extra damage from a cri
  • 🐛Stats in the editor looked like the same option over and over. Only 57 of the 89 had an icon and the other 32 all fell back to the same blank paper. Several also clashed with a button's material (Defe
  • 🐛The submenu buttons (abilities, lore, hand style, amplifiers, damage and resistances) were drawn on every page of the editor, so they looked like they repeated page after page. They are now only on th
  • 🔧From the second page on, the six slots the buttons used go back to the list, so a page holds 36 stats instead of 30.
  • 🔧Item properties come out in a fixed order, and stats that are already set come before the empty ones.
  • ✨Every stat now carries a short description of what it does, with the plugin's real caps: dodge says "max 80%", ability area says "hard cap 24 blocks", passive repair says "every 5s". The 28 that are n
  • ✨The 12 elemental resistances have their own submenu, the same way elemental damage already worked. They used to sit loose among the 89 stats, so every element appeared twice in the list and finding th
v1.1.3 2026-08-18
  • 🐛Items could look stuck to the cursor, or vanish from a slot, in the equipment menu. The server had it right the whole time — what went wrong is that the menu cancels each click and moves the pieces it
v1.1.2 2026-08-12
  • ✨✨ New — Dropped items now glow with the colour of their tier
  • 🐛🐛 Fix — Elemental damage numbers always showed up white instead of their element's colour
v1.1.1 2026-08-06
  • 🐛Elemental damage indicators always showed up white. The element colour was looked up after it had already been converted, so every element fell back to white - only Wind looked right, by coincidence.
v1.1.0 2026-08-06
  • ✨Floating health bars above mobs, showing their elemental weakness at a glance.
  • ✨32 new stats (89 in total): ability crit, magic resistance, spell vamp, area radius, reduced mana cost, accuracy, item magnet and more.
  • ✨Search by ID in the item editor: type part of an ID and it looks through every category at once. Built for servers with hundreds of items.
  • ✨/ea help with the full command list, showing each player only the commands they can actually use.
  • 🔧Items in the editor are now sorted by tier and name. The order used to be random and changed on every server start.
  • 🔧Tab completion for /ea only suggests the commands you have permission for.
  • 🐛Any player could open stations with /ea station <id> from anywhere, skipping the block entirely. It now requires elementalarms.station.command (op by default).
  • 🐛The item editor showed a raw "Abilities" field that did nothing.
  • 🐛Removed the texts in the skill amplifier menu that mentioned a plugin that does not exist yet.
v1.0.0 2026-08-05

No notes for this version.

ElementalArms / Discussion

Discussion

Comment and share your experience on each plugin version.

Log in to comment on this version.Log in

No comments on this version yet — be the first!

ElementalArms / Reviews

Player reviews

What server owners think of this plugin.

5.0
★★★★★
2 reviews
Log in to leave a review.Log in
KU
Kubson 👤 Usuario⚔️ ElementalArms 22 Aug 2026
★★★★★

Has pretty much all you need for your semi- or full rpg server.

IN
infinity3113 ⭐ Staff🎰 SlotMachine⚔️ ElementalArms🛡️ GuardianStones🎯 RouletteMachine⚒️ ContractRPG: Professions 05 Aug 2026
★★★★★

buen plugin!