JExElements The Elemental Netherite Blade with Fire, Water and Lightning
Paper, Spigot and Folia | Minecraft 1.21.4
What it does
JExElements adds one weapon, the Elemental Blade. Right-click switches it between Fire, Water and Lightning. Shift and right-click uses the current element's ability. Hitting a target also applies that element's passive.
Each ability has its own cooldown, so you can switch to a ready element while another one recharges. The same jar runs on Paper, Spigot and Folia, and all text is configurable with MiniMessage gradients.
The elements
Element
Passive (on hit)
Ability (shift + right-click)
Fire
Sets the target on fire
Launches a fireball. Does not break blocks by default.
Water
Applies Slowness IV
Knockback splash that pushes nearby players away
Lightning
Shocks the target back
Strikes lightning where you aim and deals bonus damage
Features
Independent cooldown per element
Action bar shows the current element, the cooldown timer, and a ready cue with sound
Particles and sounds on every passive and ability, all configurable
Fireball does not grief terrain by default (you can turn it on)
Works on Paper, Spigot and Folia from one jar
All names, lore and messages use MiniMessage gradients
Ships with English and German, add your own language
Chests, doors and buttons still work while holding the blade
Developer API to read a blade's element and a player's cooldowns
Controls
Right-click (air or ground): cycle Fire, Water, Lightning
Shift + right-click: use the current element's ability
Hit an entity: apply the current element's passive
Commands
/elements give [player] : get an Elemental Blade, or give one to someone
/elements reload : reload the configuration
/elements help : clickable help menu
Aliases: /elem, /eb
Permissions
jexelements.command : base access. Default: everyone
jexelements.command.give : give blades. Default: op
jexelements.command.reload : reload config. Default: op
jexelements.cooldown.bypass : use abilities with no cooldown. Default: op
Configuration
Everything is configurable. The command tree in
commands/elements.yml is editable too.
JExElementsAPI api
= JExElementsAPI.
get(); if(api.
isElementalSword(item
)){ Element element
= api.
getElement(item
); long left
= api.
getCooldownRemainingSeconds(player, element
); }
By JExcellence. jexcellence.de Licensed under Apache 2.0