Wizardly Magic
Features
Want to be a cool wizard with all kinds of spells? Well now you can! You can build a Spell Altar, craft over 50 unique spells, gain knowledge, and use all kinds of wizardly magic! This plugin is inspired by the Minecraft Forge mod Ars Magica.
Note: This plugin is in early alpha, so expect bugs, if you get any please create a ticket with them here.
Spell Altar:
You build a spell altar by putting redstone around an enchanting table. You don't gold blocks, but the type of blocks the altar is build on effects the altar level. Certain spells require higher level altars.
- Anything: 0
- Iron: 1
- Gold: 2
- Diamond: 3
Knowledge:
Knowledge is needed to make spells, each spell has certain knowledge it requires to be crafted. You can learn different bits knowledge by doing normal Minecraft actions. For example, picking up a Notch apple will teach you "Divine Intervention". Sometimes you can get mana from gaining knowledge. You can see info on how to get knowledge in the "Book of Knowledge".
Mana:
Spells require mana to cast, you start with 10 (Unless your server owner has changed it). When you gain knowledge you can get mana. Also there is a slight chance to gain mana each time you cast a spell.
Spell Book:
When you kill a boss (Wither, Ender Dragon, or Elder Guardian), they have a 50% chance to drop a spell book. You can store up to 9 spells in a Spell Book. Sneak right-click to open the book, then you can put spells in, or take them out. Right-click the cast the spell in slot 1. Sneak left-click to toggle the active spell to the one next to it.
Spells:
To craft a spell, you must put the recipe in a spell altar, then drop a Arcane Scroll on the altar. If you don't have required knowledge, if the recipe is invalid, or if your altar level is to low, you will get a chat message prompt telling you what to do. You can see info on spells and their recipes in the "Book of Spells".
Staffs:
You can craft staffs for better spell manipulation. Once you get a staff your click with it to open the binding menu. You put the spells you want in the slots and close it. Now those spells have been bound to the staff, you can not change these spells ever, its a one time thing. You can right-click to cast and left-click to cycle through the spells. There are three tiers of staffs, they get harder and harder to craft. For crafting recipes see the recipe section.
Special Mob Drops:
This plugin adds special mob drops that are used in spell recipes. For example, there is a 20% chance for a creeper to drop a "creeper heart" when killed. Then you can use the "creeper heart" to craft the TNT spell. You can change, remove, and add these in the config as you wish. You can see all the special drops, how to get them, and the chance they have to drop in the "Book of Drops".
Wizard Robes:
Wizard Robes are just normal leather armour. However, all the armour pieces must be the same colour. If you are wearing full wizard robes your mana will regenerate double.
Mana Potions:
You can make mana potions by throwing a empty glass bottle into a pool of water, then drop a slime ball, magma cream, or eye of ender in with it. Lastly throw in some binding powder. It will form a mana potion. If you drop in more than one of each of these items it will keep generating at one a second till it runs out of ingredients.
Configurability:
This plugin is very configurable. All the spells, recipes, and knowledge are configurable in the config. It does not end there though, you can crate your own spells with all the components the default spells use. Also, for convenience there is a /setSpellRecipe command to make setting a spell's recipe easier.
--------------------------------------------------------------
Recipes
Arcane Scroll recipe:
Spell Recipes:
You can see spell recipes with a command. For a list of spells, info on them, and the command to get each spells recipe, you will need to craft the Book of Spells:
Other Books:
You can craft other books for more info.
Book of Knowledge:
Book of Drops:
Staffs:
To craft staffs or staff caps, you need to put the recipe into a spell altar. But instead of dropping an arcane scroll onto the altar, you have to drop binding powder (Which you can get from killing zombies).
Staff Types:
Note: The staff caps seen here are not the vanilla items, they are ether crafted, or dropped from mobs.
Caps:
Ender Cap:
The ender-pearl in this recipe is just the vanilla one, but the other four items are special orbs dropped by mobs.
Nether Cap:
The nether-star in this recipe is just the vanilla one, but the other four items are special orbs dropped by mobs.
Getting Started Video Tutorial:
Player holding a spell:
--------------------------------------------------------------
Commands
OP Commands:
/wm reload
/wm getSpell <name>
/wm setSpellRecipe <name>
/wm giveSpell <spell> <player>
/wm spellBook
/wm getDrops <mob>
Player Commands:
/mana
/srecipe <spell>
--------------------------------------------------------------
Permissions
Permission to use the OP commands is: wizardly.magic.commands
All players can use the /mana command.
You can specify permissions for certain spells in the config, but none have perms by default.
--------------------------------------------------------------
Installation
1. Copy the plugin and the WizardlyMagic folder into your plugins folder, then reload the server.
2. You can edit any options you want in the config.
3. If you have any problems, read the FAQ before posting.
--------------------------------------------------------------
Creating A Custom Spell
This is for admins, here is a test spell with all the available spell options included:
Remove all things you don't want in the spell.
spells: test: type: <touch/projectile/self> description: "A test spell" spellType: <pvp/build/other> perms: test.spell projectile: <enderpearl/snowball/egg/arrow/fireBall/item/block/beam/witherskull/entity> projectileCount: 1 projectileInterval: 5 projectileSound: BLAZE_BREATH randomRadius: 3 randomDistance: 0.2 homing: false trailParticalEffect: LARGE_SMOKE:0:3 beamRange: 50 speed: 3 drop: false fixedDrop: true height: 25 data: <"particalType"/"id:data/entityType"> cooldown: 3 sound: blaze_beath lifeTime: <ticks> mana: 1 altarLevel: 0 requiredKnowledge: - Start - Dig selfEffects: recall: false potionEffects: - "regeneration:1:5" effects: damage: 2 changeBlock: "20:0:10" recall: false dig: 1 digPower: 1 digReplace: true mount: false potionEffects: - "blindness:1:5" - "weakness:1:5" splash: radius: 3 particalEffect: LARGE_SMOKE:1:50:1 sound: explode gravityBlocks: false changeBlock: "20:0:10" explode: false lightning: false recall: false mark: false knockBack: 0 tp: false fireWork: "255:80:0" fireWorkLife: 0 velocity: "0:1:0" effects: disarm: false damage: 2 potionEffects: - "blindness:1:5" - "weakness:1:5" clearPotionEffects: - "poison:1:5" recipe: 0: item: 3
You do not need to manually define the spell recipe, you can do that in-game with a command.
Spell making video tutorial:
--------------------------------------------------------------
Upcoming Features
- Bug Fixes
- More Spells!
- Charms
--------------------------------------------------------------
MC Stats
This plugin sends info on how many servers and players are using this plugin.
If you wish to disable the usage stats, look at /plugins/PluginMetrics/config.yml.
--------------------------------------------------------------
Donate
If you like my plugins and want to help me out:
--------------------------------------------------------------
YouTube/FaceBook/Twitter
Check out my YouTube for more Minecraft awesomeness:
http://www.youtube.com/user/Jacobvejvoda
Keep up to date with my stuffs at my FB page/Twitter:
https://www.facebook.com/EliminatorProductions
https://twitter.com/Elimnator
--------------------------------------------------------------
@jacob_vejvoda
OK great thanks.
@triarry
Hello, I will look into that, I think my magic damage ignores all armour, but I a mnot sure.
@jacob_vejvoda
Hello!
After talking to Alchemical Arrows dev, I realized our mage class will likely need support for shields too. While you are rewriting for sound...is there a way you can make shields ignore magic damage? Or even a toggle so it is up to the server owner whether shields are affected by magic or not? (for those who want to make a combat triangle where mages > knights > archers).
@jacob_vejvoda
Yeah
Do you have World Guard?
@jacob_vejvoda [00:43:41 ERROR]: Could not pass event PlayerInteractEvent to WizardlyMagic v1.6 org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:310) [spigot-1.8.7-R0.1-SNAPSHOT-latest.jar:git-Spigot-f94fe8f-d27e6d0] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [spigot-1.8.7-R0.1-SNAPSHOT-latest.jar:git-Spigot-f94fe8f-d27e6d0] at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [spigot-1.8.7-R0.1-SNAPSHOT-latest.jar:git-Spigot-f94fe8f-d27e6d0] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [spigot-1.8.7-R0.1-SNAPSHOT-latest.jar:git-Spigot-f94fe8f-d27e6d0] at org.bukkit.craftbukkit.v1_8_R3.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:227) [spigot-1.8.7-R0.1-SNAPSHOT-latest.jar:git-Spigot-f94fe8f-d27e6d0] at org.bukkit.craftbukkit.v1_8_R3.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:194) [spigot-1.8.7-R0.1-SNAPSHOT-latest.jar:git-Spigot-f94fe8f-d27e6d0] at org.bukkit.craftbukkit.v1_8_R3.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:190) [spigot-1.8.7-R0.1-SNAPSHOT-latest.jar:git-Spigot-f94fe8f-d27e6d0] at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:717) [spigot-1.8.7-R0.1-SNAPSHOT-latest.jar:git-Spigot-f94fe8f-d27e6d0] at net.minecraft.server.v1_8_R3.PacketPlayInBlockPlace.a(PacketPlayInBlockPlace.java:52) [spigot-1.8.7-R0.1-SNAPSHOT-latest.jar:git-Spigot-f94fe8f-d27e6d0] at net.minecraft.server.v1_8_R3.PacketPlayInBlockPlace.a(PacketPlayInBlockPlace.java:1) [spigot-1.8.7-R0.1-SNAPSHOT-latest.jar:git-Spigot-f94fe8f-d27e6d0] at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13) [spigot-1.8.7-R0.1-SNAPSHOT-latest.jar:git-Spigot-f94fe8f-d27e6d0] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [?:1.7.0_80] at java.util.concurrent.FutureTask.run(FutureTask.java:262) [?:1.7.0_80] at net.minecraft.server.v1_8_R3.SystemUtils.a(SystemUtils.java:19) [spigot-1.8.7-R0.1-SNAPSHOT-latest.jar:git-Spigot-f94fe8f-d27e6d0] at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:714) [spigot-1.8.7-R0.1-SNAPSHOT-latest.jar:git-Spigot-f94fe8f-d27e6d0] at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:374) [spigot-1.8.7-R0.1-SNAPSHOT-latest.jar:git-Spigot-f94fe8f-d27e6d0] at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:653) [spigot-1.8.7-R0.1-SNAPSHOT-latest.jar:git-Spigot-f94fe8f-d27e6d0] at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:556) [spigot-1.8.7-R0.1-SNAPSHOT-latest.jar:git-Spigot-f94fe8f-d27e6d0] at java.lang.Thread.run(Thread.java:745) [?:1.7.0_80] Caused by: java.lang.IncompatibleClassChangeError: Found class com.sk89q.worldguard.protection.ApplicableRegionSet, but interface was expected at io.hotmail.com.jacob_vejvoda.WizardlyMagic.WizardlyMagic$WorldGuardMethods.canAttack(WizardlyMagic.java:3954) [?:?] at io.hotmail.com.jacob_vejvoda.WizardlyMagic.WizardlyMagic.canAttack(WizardlyMagic.java:3513) [?:?] at io.hotmail.com.jacob_vejvoda.WizardlyMagic.WizardlyMagic.castSpell(WizardlyMagic.java:1064) [?:?] at io.hotmail.com.jacob_vejvoda.WizardlyMagic.WizardlyMagic.interact(WizardlyMagic.java:955) [?:?] at io.hotmail.com.jacob_vejvoda.WizardlyMagic.WizardlyMagic.onPlayerInteract(WizardlyMagic.java:870) [?:?] at sun.reflect.GeneratedMethodAccessor37.invoke(Unknown Source) [?:?] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [?:1.7.0_80] at java.lang.reflect.Method.invoke(Method.java:606) [?:1.7.0_80] at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) [spigot-1.8.7-R0.1-SNAPSHOT-latest.jar:git-Spigot-f94fe8f-d27e6d0] ... 18 more
@LashedBarrel271
What happens when you use them? Any errors in the console?
Hi... I have just started using this plugin and it is over all great! One problem though... I cant use certain spells like Heavenly-Flame and Arrow-Rain... Could you possibly explain why? Thanks!
@jacob_vejvoda
No worries. Do you think the update will be out this week?
@triarry
I fixed it, but more bad news. All the sound names are changed, so I have to go through all the spells and find the new name for all the sounds.
All 1.8 configs will break in 1.9
@jacob_vejvoda
Cool. In this case, since I am running WG 6.1, will I still bug out if it's on softdepend, because WG is not updated? Or is there a way to make it require a certain version or higher.
@triarry
That's how I want it to work, only uses the code if your running WG.
@jacob_vejvoda
With how the plugin is implemented, can you soft depend on WG?
EDIT: Not saying this in a dickish coder way, asking honestly.
@triarry
I think I found the problem, WM requires world guard, but WG is not updated.
I need to make WM not require WG.
@jacob_vejvoda
Updated to the latest version of spigots, spells still do nothing. I'll try a fresh config.
@jacob_vejvoda
Yeah, I last updated it sometime last night. I can run buildtools again and put the newest version on and try again.
@triarry
You're on 1.9?
@jacob_vejvoda
No errors...they just don't do anything. I last updated spigot some time last night, should I try doing that again?
The only spell I get anything out of is Peek, and it gives me slowness. Doesn't make any glass, though. But they all use mana..
EDIT: JUST KIDDING - Sound error.
http://pastie.org/10745551
@triarry
My old config works fine, any errors? No spells work at all?
@jacob_vejvoda
I tried the 1.6 version, and most spells don't seem to work..using my 1.5.1 config file, but added the new spells to it. Do I need to replace my config entirely for the old spells to work..?
Note: /wm listSpells works great, awesome addition.