[FUN] Magic v2.0.8- Spells and Wands [1317]

Discussion in 'Plugin Releases' started by NathanWolf, Jan 15, 2011.

     
  1. Offline

    NathanWolf

    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

    This post has been edited 5 times. It was last edited by NathanWolf Dec 12, 2011.
  2.  
  3. Offline

    monotonehell

    Yes but, what does it do? :p
    LogieHogie likes this.
  4. Offline

    Nezu69

    Cast Spells i hope..
  5. Offline

    Carro

    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?
  6. Offline

    Reterg

    What spells?
  7. Offline

    Miome

    Sounds interesting, could you please say what the wand does? I don't want to install it to find out ...
  8. Offline

    NathanWolf

    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.
  9. Offline

    Octane

    i think this mod will be a interesting mod to have!
    NathanWolf likes this.
  10. Offline

    NathanWolf

    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.
  11. Offline

    monotonehell

    Ah now that I know what it does, I might try it. Looks useful.
    NathanWolf likes this.
  12. Offline

    Octane

    i like that you can fill in stuff with, thats useful,
    NathanWolf likes this.
  13. Offline

    NathanWolf

    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.
  14. Offline

    slein789

    Can you help when i write /wand bind cast blink it says (wandname) : blink
  15. Offline

    NathanWolf

    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 :)
  16. Offline

    slein789

    well i have spells i did how you did and nothing pls help i relly want this D:
  17. Offline

    NathanWolf

    What happens if you just type "/cast"? Or "/cast blink"? Or "/wand"?
  18. Offline

    slein789

    then it works but thats boring every second writing /cast fill :(
  19. Offline

    slein789

    finnaly it works with wand best plugin EVER [IMG] ssssshhhhhhsssssss
    NathanWolf likes this.
  20. Offline

    NathanWolf

    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...
  21. Offline

    NathanWolf

    My player_animation hook was accepted into Bukkit- meaning Wand is now officially supported! AWESOME!!
  22. Offline

    NathanWolf

    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.
  23. Offline

    NathanWolf

    More wand fun- mining with magic:

  24. Offline

    Miome

    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.
  25. Offline

    NathanWolf

    Are you also using the Wand plugin? It looks like Spells loaded ok, but Wand should say something in the log also.
  26. Offline

    Miome

    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.
  27. Offline

    NathanWolf

    Ah- gotcha, no problem :) I responded to you there as well.
  28. Offline

    CraftaMine

    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.
  29. Offline

    NathanWolf

    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.
  30. Offline

    fuzzyhunter0608

    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
    NathanWolf likes this.
  31. Offline

    NathanWolf

    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 ---

Share This Page