<img src="https://goldmedia.top/uploads/gallery/magicspells_desc_0_012d0c95.png" alt="MagicSpells Icon">
<hr>
<h2><i>Magic without writing Java</i></h2>
<a href="https://github.com/TheComputerGeek2/MagicSpells/actions"><img src="https://goldmedia.top/uploads/gallery/magicspells_desc_1_8d10d8ed.svg" alt="Build Status"></a>
<a href="https://discord.magicspells.dev"></a>
<a href="https://github.com/TheComputerGeek2/MagicSpells/releases"><img src="https://goldmedia.top/uploads/gallery/magicspells_desc_2_a85cbadc.svg" alt="GitHub Downloads"></a>
<img src="https://goldmedia.top/uploads/gallery/magicspells_desc_3_e39d4c79.svg" alt="Licence">
<a href="https://bstats.org/plugin/bukkit/MagicSpells/892"><img src="https://goldmedia.top/uploads/gallery/magicspells_desc_4_b44149b9.svg" alt="In MC servers"></a>
MagicSpells is a PaperMC plugin which gives its users the ability to modify their Minecraft servers by configuring existing features without writing Java code. It provides you with the tools for playing with blocks of logic, bringing other plugins together, playing fantastic special effects, making your own new mechanics, and more.
Check out more examples of what this plugin can do in our Discord server (in the resources channel and workshop channel).
Resources 📝
- Plugin Releases (Downloads)
- Community Wiki
- Discord server
- Niblexis' Public Spell Repo
- MagicSpells PAPI Expansion
- JasperLorelai's Soundboard
Classical MagicSpells ⭐
This plugin was originally created by Nisovin, and published on Bukkit. After some time TheComputerGeek2 took over the project and published it on Spigot. Since then, we dropped support for Spigot and moved to PaperMC, and the plugin was published on here and Hangar.
Support 📞
If you need help with the plugin, our Discord server can provide you community support. You can also post suggestions there or find more resources that can be useful for you.

Building 🧱
The move to Gradle has made building much easier. After cloning and navigating to the source's directory, you can simply run this command:
./gradlew build
Simple right?
All Versions
+ Add VersionThis build only supports Paper server version
1.20.6.## Breaking Changes
<ol>
<li id="breaking-1">During the update to <code>1.20.5/6</code>, the identifiers of several data types were renamed to match their vanilla counterparts. For example, the <code>spell_mob</code> and <code>redstone</code> particles were renamed to <code>entity_effect</code> and <code>dust</code>, respectively. In most cases spell options will still accept the legacy names; users are still advised to migrate away from them, however.</li>
<li id="breaking-2">The <code>entity_effect</code> particle now requires a color. For the <code>particles</code>, <code>particlespersonal</code> and <code>particlecloud</code> spell effects, this is done with the new <code>argb-color</code> option.</li>
</ol>
## Bugfixes
- Fixed an issue that prevented
ListSpellandSublistSpellfrom listing temp-granted spells. - Fixed an issue that caused
ListSpellandSublistSpellto list empty spell lists improperly in certain situations. - Fixed an issue that prevented
SummonSpellfrom functioning without a caster when casting at an entity from a location. - Fixed an issue that prevented replacement and certain spell effect options from working when using the
traileffect position in certain situations. - Fixed an issue that prevented
ProjectileSpellfrom checking intermediate entity collisions properly.
## Changes
ListSpellandSublistSpellnow list spells in alphabetical order.SummonSpellnow checkscan-targetandtarget-modifiers, as well as applyingvariable-mods-target.
## Additions
- Added the
argb-coloroption to theparticles,particlespersonalandparticlecloudeffect types. Specifies an [ARGB color](https://github.com/TheComputerGeek2/MagicSpells/wiki/Other-Data-Types#argb-color) to be used for the particle. Applicable to theentity_effectparticle. - Added the
bodyandbody-drop-chanceoptions to theequipmentsection of entity data. Applicable to [mob entities](https://jasperlorelai.eu/paperdocs/org/bukkit/entity/class-use/Mob.html#org.bukkit.entity). - Added the
only-count-on-successoption toLoopSpell. Whentrue, an iteration of the loop only counts towardsiterationsif all of the subspells inspellssucceed. Defaults tofalse. - Added the
pitchandyawangle options to spell effects, entity data, andOffsetLocationSpell. Specifies an angle for pitch and yaw, respectively. Optionally supports starting with a~to specify a relative angle. Both options default to~. - Added the
should-burn-in-dayoption to entity data. Iffalse, the spawned mob will no longer burn in the day. Defaults tofalse.
- Fixed an issue where the
heightoption ofVelocitySpellwas divided by10. - Fixed an issue where the
velocityoption ofVelocitySpellwasn't divided by10. - Fixed an issue with
ExplodeSpellthat caused it to error out in specific circumstances. - Fixed an issue that prevented
change-pitchoption ofParticleProjectileSpellfrom functioning properly. - Fixed an issue that caused self-targeting to error out in specific circumstances.
- Fixed an issue that prevented the
cast-timespell option from functioning. - Fixed an issue that caused the
durationoption of thebossbareffect to not function properly.
## Additions:
- Added the
projectile-horiz-offset,projectile-vert-offset,projectile-horiz-spread, andprojectile-vert-spreadoptions toHomingMissileSpell. - The
removeoption ofCleanseSpellnow supports removing totems spawned byTotemSpell, using the formattotem:<totem spell name>. - The
namespace-keyoption of thebossbareffect now supports replacement.
1.19 only.Minor changes and bugfixes
Changelog:
- Added
alwaysmodifier. - Added
bow-items,ammo-items,disallowed-bow-items,disallowed-ammo-itemsfor BowSpell. - Added
strict-enchantsandstrict-enchant-levelfor MagicItems. - Added
potion-effectslist for PotionEffectSpell (Format:<PotionType> <Duration> <Strength> <Hidden> <Ambient> <Icon>). - Added
iconparameter for PotionEffectSpell. - Subspells will check their target lists when casting at an entity.