Spells / Wand / Magic! Magic is a Work-In-Progress system, the end goal of which is to bring an RPG-like experience, focused on magic spells, items and abilities, to Minecraft. Downloads Magic.jar on MediaFire Source Code / Contributor Group (want to join?) elBukkit on github Currently Implemented: Magic is a configurable system, set up to let admins create their own experience on their servers. It will create a default configuration (spells.yml) with a variety of spells- but you are free to edit, add, remove spells at will. Take a look at the spells.yml file that Magic generates at first run. Documentation coming soon! Spells cooldown - spells can only be cast so often range - How far a spell can target target_through - What a spell can target through (e.g. glass, water) name, description, wand icon, etc - All editable in spells.yml Magic is currently more appropriate for a creative-type server than a serious RPG server, however you can use the Permissions plugin to lock down spell and wand use. I would like to tie into (or create) a leveling system eventually, but for now you can create classes and such using Permissions and various other plugins. Planned: Most of Magic's systems are not yet functional. Before I can call this ready-for-RPG, I will want to have working: Spells Reagents - spells consume items when cast MP - A system to use a pool of "magic points" to cast spells. Automatic regenerative MP, other ways to gain MP (temples, actions, etc) Health-for-MP, Eragon-style life-force casting Permissions-driven per-player statistics, so players can have different casting costs / MP pool sizes, et Wand Data-driven wands, using different items (or no item, for "abilities") Dynamic wand action system, for alt-fire and context-sensitive actions Better spell inventory system- I have a few ideas, I'll be playing around with this eventually Plugin devs: do you want to help? PM me! All of my code is community-sourced on github, you can contribute hassle-free, if you want to. Permissions By default, all players have access to the wand and all spells. If you use the Permissions plugin, you can set up individual permissions using the following pNodes: Code: Magic.wand.use : Player can use a wand Magic.commands.spells : Player can use /spells Magic.commands.wand : Player can use /wand Magic.commands.cast : Player can use /cast Magic.cast.<spellname> : Player can cast a specific spell Admin commands: Code: Magic.commands.magic.reload : Reload spells.yml Magic.commands.magic.reset : Delete spells.yml and re-create it from defaults Default Spells Exploration spells blink: Teleports you to, or through, your target location. peek: Temporarily turn the target surface to glass. elevate: Teleport up or down to the nearest standing place recall: Set a marker and teleport to it later (aim up to return), or to spawn torch: Place a torch at your target location goto: Go to the farthest away player- can target other players fling: Fling yourself in the target direction. (Also, fly) levitate : Fly with controlled thrust, Iron Man style. WIP! portal : Create two connected portals (WIP) Construction spells bridge: Extend the ground under your feet. construct: A powerful spell for constructing, filling, or erasing Alchemy spells rewind: Undo your previous spells, one at a time. alter: Alter certain blocks (stairs, logs, leaves, wool). transmute: Modify the material used in your last construction. absorb: Give yourself some of whatever you're pointing at. recurse: Recursively replace the target material. Mining spells mine: Mines out the targeted ore vein, and drops the ore blocks. Not rewindable. Help spells heal: Heals you to full health. time: Adjust the time of day cushion: Creates a (Final Fantasy-inspired) temporary water bubble, meant for landing on. manifest: Give yourself some material by name. Only gives building material blocks. invincible: Makes you impervious to damage of various types. sign : Give yourself some signs. pull : Pull items (or creatures!) towards you. Aim down for a super-powered version! Combat spells fireball: Cause an instant explosion at your target location arrow: Fire a magical arrow. fire: Start small or large fires. Great for lighting portals from a distance! lava: Fire a very destructive, not-yet-temporary, stream of lava- CAREFUL! wolf: Summon and tame wolves grenade : Toss out a live TNT block Farming spells tree: Grows a tree magically. familiar: Spawn an animal familiar to keep you company. farm : Create a random herd of friendly animals Nature spells frost: Freezes water and snows up other blocks. weather : Summon or dismiss storms lightning : Strike down your foes with lightning Builtin Variants Several variants of the above builtin spells are also builtin: blast, superblast : Destroy large chunks of common materials fill : Click twice to fill a volume monster, mob : Summon monsters ender : Summon an enderman blob, superblob : Create large blobs of any material inferno : Create a large fire tnt, kaboom, nuke : Progressively more powerful and dangerous versions of fireball gills : Stay alive in water, but only while moving around ascend, descend : Take you up or down one level, through solid ground/ceiling spawn : Return you directly to spawn pillar : stalactite : Extend the ground or ceiling up or down paint : Fill a single block shell : Create a hollow sphere around your target box : Create a hollow box around your target sandblast : Create a large blob of sand (aim in the sky!) arrowrain : Create a "splitter" arrow mob : Summon an insane mob of enemies push : The opposite of the default "force", pushes objects instead of pulling them Default Material Icons absorb : bucket ascend : red mushroom alter : redstone torch (lit) arrow : arrow blast : gunpowder blink : feather bridge : gold hoe blob : clay ball boom : red rose box : wooden door cushion : slowsand day : flint descend : brown mushroom disintegrate : bone ender : ender pearl familiar : egg farm : wheat fireball : find and steel fling : iron boots frost : snow ball gills : raw fish goto : glowstone dust grenade : TNT block heal : bread inferno : fire invincible : gold apple kaboom : redstone wire lava : lava levitate : gold boots lightning : cooked fish mob : jack-o-lantern monster : pumpkin night : coal nuke : bed paint : painting peek : sugar cane pillar : gold axe pull : fishing rod push : minecart rails recall : compass shell : bowl sign : sign post (not the item) stalactite : wood axe spawn : wood door (the item?) storm : grilled pork torch : torch tower : ladder transmute : gold ingot tree : sapling tunnel : stone pickaxe recurse : wood spade rewind : gold watch sandblast : sandstone superblast : slime ball superblob : clay brick weather : water wolf : pork Tip Jar If you really love this stuff, and you're feeling generous, I'd more than appreciate a donation. Go here if you're interested! Changelog 2.0.8 - 1.8 Update. (Added ender spell, new buildable materials, fixes) - wand doesn't auto-swing 2.0.7 - First release with casting costs. (See grenade and heal for examples) 2.0.6 - First release with configurable spells (via spells.yml). A little experimental still. 2.0.5 - Some experimental changes (including an awesome perf hack) to fling and levitate, drop leap variant. 2.0.4 - Major refactor (prepping for spells.yml), add force, some fixes/tweaks, fix shell. 2.0.3 - Add cloak and decoy (wip), and fix arrow and arrowrain arrows. 2.0.2 - fling auto-protects you from fall damage, wolf, frost and disintegrate balanced. 2.0.1 - Added kamikazee 2.0 - Removed Persistence, collapsed into a single jar, added Permissions support. 1.18 - 1.7 support (RB953) 1.17 - Add necromancer class, improve monster, magic arrows can't be picked up, portal now works like Portal (!), and improvements to the CTF bases (signs!) 1.16 - leap and tesseract added, low-power variants of fling and blink. Cooldowns added on some spells. CTF support! 1.15 - erase added, targeted version of rewind (ops can use it on other players), tweak levitate and blob 1.14 - tag added, leaves a sign with a timestamp and your name at target 1.13 - levitate improvements, rename goto to gather, change the way it works. 1.12 - levitate, ironskin, leatherskin, map (WIP!) 1.11 - fling, force/push, lots of fixes/improvements (wolf, tree, gills, blink) 1.10 - goto, arrowrain (paging in /spells list) View full changelog on github
What do i type in the wand-commands.txt ? can you give me that file and where do i need to put it? --- merged: Jan 17, 2011 7:34 AM --- What do i type in the wand-commands.txt ? can you give me that file and where do i need to put it?
Sounds interesting, could you please say what the wand does? I don't want to install it to find out ...
Sorry, I should've provided more info! Basically, you bind any command you want to the wand as a "spell". You can then simply wave your wand to use that command instead of having to type on the console. So, used in combination with the Spells plugin, for instance: http://forums.bukkit.org/threads/spells.729/#post-9091 You could use the following commands to set up a wand for exploring: Code: /wand create explore /wand bind cast blink /wand bind cast ascend /wand bind cast descend /wand bind cast torch If you don't have the Spells plugin, but you've got the general plugin, you could use: Code: /wand create explore /wand bind time day /wand is the only command in the plugin. Use it alone to get help on sub-commands, but briefly, they are: Code: create : Create a new wand, give it a name bind : Add a command to your wand unbind : Remove one of the bound commands from your wand list : List all your wands and spells next : Switch to the next wand. Can be bound to a slot on each wand for easy wand-switching. Once spells are bound to your wand, you just left-click with your wand (any old stick) to cast your spell (use the current command). Right-clicking with your wand will switch the currently selected spell. Thanks for your interest! I apologize for not providing more information, this was mainly put up here for the people from the hMod forums that asked for the ported plugin. Unfortunately this plugin isn't working with the current Bukkit! I still haven't gotten my pull request accepted to add PLAYER_ANIMATION event/hook support, which is needed by this plugin. If you're really interested, I'd be happy to share my CraftBukkit.jar, which is current except for a modification to make this hook work. --- merged: Jan 17, 2011 3:21 PM --- Hi! You shouldn't need to modify this file directly- just use the "/wand" commands. (See my longish post below) If you want, you can edit it- it's text. But I make no guarantees about the format not changing, etc The format right now is something like: Code: UserName:currentWand;wandName1:currentSpell:wand1Spell1:wand1Spell2:;wandName2:currentSpell:wand2Spell2:; etc... It's nice to edit the file mainly for copy+pasteing- if you want to give a friend/everyone your wand, right now that's the only way to do it. Otherwise, it's much easier to use the "/wand" commands to add to this file.
Thanks, I'm glad there's interest! I really hope I can officially release it soon. Here is a video of me using it with the Spells plugin and having some fun: There are a couple of bugs shown in the video with /wand list and /wand next that have since been fixed.
Glad there's interest! I really enjoy it. It makes using commands feel much more fun and less like I'm hacking the matrix or whatever. Anyway, updated to 0.18 - now with permissions and the ability to assign a default wand set to new users. --- merged: Jan 18, 2011 1:29 PM --- Thanks- though I would stress that the Wand has no functionality of it's own. That's the "fill" spell from my Spells plugin that you're admiring. The Spells plugin is designed to work with the Wand, so it works especially well, but the idea is that you can bind anything to your wand- any command, from any plugin.
If you right-click, that's what it should say- that's it changing spells. Left-clicking should then cast "blink" (which is a spell from the Spells plugin, you would need to have that installed as well.) Also, make sure you're aware of the big note at the top of the post about hook support
Ha- I know, that's why I made a Wand Just trying to debug a bit.... --- merged: Jan 19, 2011 4:01 PM --- Glad you got it working, and that you love it! I really can't wait for the stock Bukkit to be compatible...
My player_animation hook was accepted into Bukkit- meaning Wand is now officially supported! AWESOME!!
For you dynmap lovers out there, I just bound "map_render" to my wand- it's super handy. No more placing or destroying blocks just to get a tile to show up on your map. Also, it's perfect for those hard-to-get all-water tiles.
I just downloaded Spells.jar from the link and re-launched my server. The startup log says: Code: 2011-01-20 13:30:33 [INFO] SpellsPlugin version 0.27 is enabled I am running CraftBukkit #95.
Are you also using the Wand plugin? It looks like Spells loaded ok, but Wand should say something in the log also.
D'oh, sorry, I posted in the wrong thread! I meant to point out in the Spells thread that the new Spells.jar is reporting 0.27 for me instead of .028.
I can't get the wand and spells plugin to work together, when i right click the next spell just comes up in chat but left click does nothing. I can still create wands and all that i just won't cast it. I followed your tut to make a explore wand too and it didn't work. my problem is probably a conflicting plugin The spell plugin is fine it just doesn't like working with the wand. Time of day also doesn't work with the wand either.
I'm hoping that I fixed this issue with two updated jars- but it has never happened on my server, so I'm not 100% sure.
I have an idea that may or may not be possible, but it would be very useful: If a wand was named "Building", the command /wand Building should jump right to that wand
I was thinking of a "/wand select" spell that would let you pick a wand by name- I like your idea, but then I have to worry about wand names and wand commands overlapping. Not a huge deal, maybe I'll do both. --- merged: Jan 21, 2011 5:11 PM ---