[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

    Shadus

    I'm glad to hear it still works, I loved having the lack of clutter. I really need 5-6 bars, not 1... once things can be done like hold shift to open a spell bar or hold alt to open a spell bar the new style will by and far be so superior to the old one that it's unbelievable (easily tell the spell and such and visually switch, etc) but right now losing the extremely limited space in my hotbar kills me where i could have i had several saved wands before and just switched between them with one stick.

    ... besides, its more fun to watch your players scatter every time you pull out a stick because for some reason they're paranoid about what your stick can do... "I challenge the laws of nature and reason by summoning the powers of destruction..." [IMG]
  4. Offline

    NathanWolf

    Heh- I'm glad you can bring terror with your stick wherever you walk ;)

    I hear your concerns- honestly, when I've got my want, I don't use anything else...

    I like the idea of holding shift, but I think I'm already reserving that for alt-fire. I'm hoping I can make it work such that simply switching to and from your wand takes you in and out of your spell inventory- that's the plan, anyway. We'll see how it actually feels in practice, once I get there.
    --- merged: Feb 20, 2011 8:02 AM ---
    I think that's the idea with Fill! ;) It's on it's way....

    What is this MoveCraft of which you speak? To the search bar!
  5. Offline

    Shadus

    Bad Tankfox! Bad! We may not see him for weeks now! hehe... it's pretty slick, it basically lets you move pretty much anything you care to move as a vehicle rather than being limited to the boats. It's still missing some features presently but, its really handy for even things like construction of flying islands and such... and users seem to like it a whole lot (battlecruisers, airships, and spaceships oh my.)

    I think switching to and from the spell inventory would be fine, it's just the way it was last I tested it was pretty hard for me personally (I'll admit it... I'm anal... my inv bar is ALWAYS pick, axe, shovel, hoe, sword, bow, water, food... and usually my entire inventory is full of blocks in 64 stacks) but you're kinda limited by the present hooks (well and hooks bukkit/mc has in general) available. I think the thing I miss most wandmin vs wand is the ability to put arbitrary commands on it and/or (well last time I tried the new wand) the requirement for material components being carried since I'm generally full up on other stuff.

    I'll have to tinker with it on my dev instance again with spells and see whats been changed, its been a while.
  6. Offline

    CuZnDragon

    Just a warning from the latest craftbukkit..

    2011-02-20 12:25:07 [WARNING] Using the stupidly long constructor com.elmakers.mine.bukkit.plugins.wand.WandPlugin(PluginLoader, Server, PluginDescriptionFile, File, File, ClassLoader) is no longer recommended. Go nag the plugin author of Wand to remove it! (Nothing is broken, we just like to keep code clean.)
    2011-02-20 12:25:07 [INFO] Hint! It's probably someone called 'NathanWolf'
  7. Offline

    NathanWolf

    Fixed :) Check the OP- I've already updated to cover the latest build ;)

    You should not still be getting that message with the latest Wand.jar- also, I went lazy on backwards compatibility so the current Wand.jar also required CB#357 or higher (don't go too much higher right at the moment, though... [IMG])
  8. Offline

    CuZnDragon

    I have to be on 361 for another plugin I use.
  9. Offline

    NathanWolf

    361 is higher than 357, so you should be fine ;)

    I only mentioned the "too much higher" because I believe there were problems with the very latest build. That may have been resolved, it was only really an issues whenever I posted that- it seemed transient, so I was being coy.
  10. Offline

    lokiman72

    NOOOOOOOOOOOOOOOOO it broke! da best plugin ever! nooooo

    i am on jenkins build 53 (which is about build 450) i got the latest versions and i did /version Wand

    worked fine

    /version Spells

    worked fine

    tried to cast a spell

    did not work fine

    tried to do /wand

    did not work fine

    tried to do /spells

    did not work fine

    tried to do /wand blink

    did not work fine
  11. Offline

    NathanWolf


    Are you using permissions? Try the "/su" command, see if that helps.
  12. Offline

    lokiman72

    su doesnt work
  13. Offline

    fuzzyhunter0608

    Seems like the latest build broke the material cycling - right clicking only cycles through building materials, as if you were holding shift.
  14. Offline

    NathanWolf

    Yay, forums are back! I'll come in soon and check in on everything, but have a lot OP's to update .. please update ALL my jars for 1.3 support (with CB431)!
    --- merged: Feb 23, 2011 6:22 PM ---
    Yep :( Now that I'm finally up and running again, I was able to test! I had to get a different Maven repo link to even be able to build while bukkit's DNS server was down :(

    Anyway, 0.64 "fixes" this- by turning the new material cycling system off. I did some debugging- Player.isSneaking now points to what looks like the isAlive function... if the Bukkit team doesn't get it fixed up in the next couple days I'll dig more, but right now I think I'd just be getting in the way :)
  15. Offline

    sebastian kim

    Ok, so we are using a race related server, with different abilities per race. The wizards get spells and wand, they can only use like, 4 spells, how do we control what abilities they can cast with wand? so they dont have to use commands
  16. Offline

    NathanWolf

    You don't, really- you control which spells they can use, with permissions via Spells (except that seems to be broken at the moment, according to reports).

    Wand is just a way to cast spells- it doesn't let you do anything you don't already have the right to do, if that makes sense. The only real permissions for Wand are "can you use a wand?"

    Eventually, it will be more like "which wands can you use?", once a "Wand" has been abstracted to mean any collection of spells attached to an arbitrary object.

    This is probably more in line with what you'll want to be able to flesh out the non-wizard classes/races- if you want your warrior guys to be able to use a golden axe for combat spells, that kind of thing.

    I'm hoping to get to this system soon, but it can't happen until after the Spells refactor.

    Hope that answers your questions! Thanks.
  17. Offline

    sebastian kim

    wait... but we can control what spells people can cast... but not the wands
  18. Offline

    sebastian kim

    wait... nvm we cant control it... when will the permissions be fixed?
  19. Offline

    sebastian kim

    Btw the races are shade, the get magic carpet, flashlight, and sneak mod, Humans get movecraft, and mages get spells!
  20. Offline

    NathanWolf

    No idea, I'm super sick of Permissions/permissions/group maangement, honestly, and debugging it is not really a priority for me until bukkit.permissions is here. I'll see if I can get it working this weekend...
  21. Offline

    Goku113456

    neh it wont work i keep getting internal error on the screen when i use eoither spells or wand its not working :K
  22. Offline

    NathanWolf

    Sorry? What versions of Spells, Persistence, and Wand do you see in your log? What version of CB are you running?

    I've got all my plugins up on CB440 without issue- let me know the specifics and maybe I can help.
  23. Offline

    Daemon

    Ehhh for some reason when I use Fill with wand it only does air.
  24. Offline

    NathanWolf

    If you've got a material in your active inventory, spells will use whatever is in the right-most slot, including air.

    I need to lay this out better in the OP somehow, it's been biting a lot of people...
  25. Offline

    fuzzyhunter0608

  26. Offline

    NathanWolf

    +1 [hero] points to @fuzzyhunter0608 for pointing this out!

    @Afforess has basically done exactly what I wanted to do for the Wand inventory- and taken it a step further- I don't have a mouse wheel, so that's probably why I never think to use it :p

    But using that to scroll through inventory pages on shift is brilliant!

    Speaking of... wonder if this is broke now? Did they fix isSneaking?
  27. Offline

    Afforess

    dev.bukkit.org profile:
    Afforess
    My Plugins
    No. I had to manually check it with notch's source.
  28. Offline

    NathanWolf

    Wand 0.66 Released!

    Material cycling is back- update to CB478 or higher for it to work properly.

    Thanks to @Afforess for tracking down the fix for isSneaking, and to @Dinnerbone for pushing it in!
  29. Offline

    RytoEX

    I'm having trouble getting transmute to work in CB440, but I didn't see an error message when I tried to cast it. Advice on how to debug?
  30. Offline

    NathanWolf

    Hm- well, let me try it out when I get a chance (it may be broken), but offhand my guess is it's that targeting/block break bug going on.

    If you try pointing straight up to the sky and casting it, and it works (on your last creation)- then you may have an annoying post-1.3 bug, and you'd have to logout and back in to fix it....

    Otherwise, transmute is now supposed to be targeted- so you aim at something you want to transmute (that you constructed with magic)

    Alternately, check out recurse, which does basically the same thing, but it works on anything, not just something you created with magic.
  31. Offline

    ReapKarmah

    Didn't see anything in the OP (first post) nor in my search.

    Is it possible to block all players from using /spells and /wand and all their sub commands while Admins can use it freely?

    I'm really loving this plugin of yours but don't want my players to be able to use it, for obvious reasons lol.
  32. Offline

    NathanWolf

    Yes indeed! Spells talks about it, at least- not sure about Wand though. Wand is really a Spells add-on, so the OP is a bit loose on actual info... I need to clean that up :)

    Anyway, if you download Groups.jar, it will act as a pass-through for Permissions support. You can then lock down spell use by spell per player (and per world, I guess, too).

    Wand itself is not yet Permissions/Groups integrated- probably will be soon/eventually. If you want to keep someone from using the wand, you have to edit the wand properties file- but, honestly, there isn't really a good reason to do this (that I can think of). The wand does nothing without spells access anyway :)

    Let me know if that works out for you- I think it's actually working, as of Groups 0.15, provided you can set up your Permissions config files correctly (I had some trouble with the new multi-world format myself, setting this up, as an admin!)

Share This Page