[DEAD] Spells v0.996

Discussion in 'Inactive/Unsupported Plugins' started by NathanWolf, Jan 16, 2011.

  1. Offline


    Ok- well, that's how you cast spells :)

    Really, this is all in the Original Post.

    If you're looking for instructions on how to use the Wand, check the thread for that plugin- there is an instructional video and detailed text instructions in the OP.
  2. Offline


    Is there any chance you could post a spells-classes.txt file that has the correct syntax? I can make the spells work, but only if every player is an OP, and I would really prefer to limit some spells (as they're totally game-breaking, like superblast :-P)
    Here's my current file, which does not seem to allow anyone to use spells (I'm the only OP, so I'm the only one that can use spells right now)

    # spell-classes.txt
    # Format:
    # group=groupName:command1,command2,command3
    # user=userName:group1,group2,group3
    # 'admins' is a special group that has access to any command - put yourself in it!
    # 'player'/'class' can be used in place of 'user'/'group'.
  3. Offline


    Hm... I'm hoping the permissions system is not totally broken right now- I think you're the second person to report some issues that sound just like this.

    I'll try and take a quick look today, if there is something broken it should be a quick fix- just a matter of finding the problem :)
  4. Offline


    Seriously do this
  5. Offline


    Can you expand on this? I'm not entirely sure what you mean?

    Are you thinking of a way to make the fireball visible?
  6. Offline


    Look at the quote i said change the fireball into a flaming snowball with the properties of a fireball
  7. Offline


    Ok, well, I think get it.... but I'm not sure it's doable, unfortunately- not yet, anway.

    The fireball is a built-in Bukkit minecraft entity, I don't really have control over how it looks, etc- like how you couldn't make a sheep out of gold blocks or something.

    So is the snowball. I'm not sure that I could light one on fire when you throw it- I know the item as an itemstack can burn, but I'm not sure about the projectile.

    Even if I could toss a flaming snowball, it would follow a gravity-based trajectory, and the fireball does not- so they wouldn't match up visually.

    Good thinking out of the box, though!

    I could maybe see a different spell, like molotov, that would toss a flaming fireball, somehow detect where it lands, and then spawn an explosion there.
  8. Offline


    Btw, if you are interested in the player targeting stuff, I have similar code in my Mana Alias plugin.

    The PlayerPositionLookup.java class creates a 2d hash map containing all the players.

    Each "bucket" is a 32x32 box.

    You can ask for all players within a certain distance of a given x, z block location.

    If returns all players in any bucket that is intercepted by a square of a given "radius".

    You would still need to check if the returned players are actually within range, but it should eliminate the need to check players who are far away. Unless you have a radius of more than 32, it won't ever return more than 4 buckets.

    Ofc, it doesn't take into account the world variable, so needs updating for many worlds support.
  9. Offline


    Thanks! I definitely want to take a look at this code.... I'm not out to re-invent it, but I do want a similar Mana system built-in to spells, I think....

    I know! I need to do that, too for the undo lists. Actually....


    Uh.... don't rewind right now (until I release the next update) in a different world from the spell you're rewinding!
  10. Offline


    Any update on this one? I logged on today to see that one of my friends had created a gold block superblob... LOL. Not what I had in mind for the server, but I dont' want to completely limit the players by taking away all the spells.
  11. Offline


    Sorry! DinnerBone really got the drop on me with multi-world support, and I'm dieing to release NetherGate. It's going to be a little bit before I get a chance to look at this :(

    I guess you'll have to nerf your friends for now, sorry!!
  12. Offline


    Can you at least tell me if this line is correctly written? I'm worried that syntax is my real problem. (An example spells-classes.txt would be super helpful...)
    Sorry to bug you, I know you're super busy, and your plugin rocks in general!
  13. Offline


    That does look right- hm. Let me do some quick testing.

    update: sure enough, seems broken :( Ok, I can probably get that fixed real quick- there's a bug in the onplayerdeath stuff with multiworld anyway, and I may turn off rewind until I can get it multi-world compliant as well.

    update update: OMG, how awesome am I? Looks like UndoableBlock has had a World reference all along (out of necessity, I think, now that I recall- since I didn't want to maintain Block references but I wanted a getBlock() functino...).

    So, yeah, nevermind- there aren't any multi-world specific bugs with rewind, but I do still need to make it fail gracefully when the target chunk is unloaded (which I imagine will often be the case when you switch worlds)

    Anyway, working on a quick fix for permissions... really not sure what could've happened there, but I imagine it was something simple when I made ops be admins by default.
    --- merged: Feb 7, 2011 8:13 PM ---
    I think I see the problem- try moving groups before players.

    I'll have it fixed soon, though...
    --- merged: Feb 7, 2011 8:16 PM ---
    Ok, fixed! It's up, I'll update the OP shortly.
    --- merged: Feb 7, 2011 8:46 PM ---
    By the way, what are you complaining about- now you're RICH!!! :)

    Seriously, though- as soon as I get Persistence integrated into Spells (next on the list after NetherGate is working), the rewind system will actually be an awesome anti-grief tool (for spells, anyway).

    • Persisted undo lists, so you can rewind after a server restart or upgrade
    • Better undo list hashing, so I can search efficiently regardless of player
    That second note is really the key "awesome" feature. Right now, you could use "/cast rewind <playername> to rewind the last action another player made.

    But, unless you can get your Giant Gold ball culprit to fess up, it's going to be pretty hard if you've got a lot of players- especially if whoever did it also did a bunch of stuff and that ball is way down on their undo queue.

    Anyway- what the second bullet point means is that the targeted version of rewind will, optionally, be able to rewind anyones changes, not just your own. I'll probably make this a spell variant so you can safely give it to ops, but they can still use their own rewind without accidentally blowing away someone else's stuff.

    I'm also considering a smaller-queued redo. There are some kinks to work out with targeted rewind, and maybe I just need to get used to it, but I've definitely undone some stuff I didn't mean to, and was a little sad about it, about a couple of times already...

    And, finally, once I've got an entity targeting system, you'll be able to rewind the last targeted player's action- this seems like somewhere between an admin and a pvp spell, not sure- will definitely be a separate variant! Maybe the same one as the above admin rewind.

    So, yeah, look for all that, coming soonish :)
  14. Offline


    You really need a github account*Hint hint* or just release your source please
  15. Offline


    Check the OP, "Downloads" section :)

    I do have a github account, and I always release my source!

    All of it, in fact- NetherGate, Wand and Wandmin are in there, too- as well as Persistence, which you may be interested in if you're a plugin dev.

    Enjoy [​IMG]
  16. Offline


    I've been telling you that forever now hehe. I'm glad to hear you're planning to implement it now :D Essentials has a command to set users to permissions groups. Works fine.

    A few issues. Do you happen to know if your teleport spells are effected by the cooldown provided by the Essentials plugin?

    Also, with your new peek spell, I'm not sure the timer is working. I cast it twice and neither time did the glass revert back to their original material. I just downloaded your newest version last night and tried it. Using craftbukkit 260.
  17. Offline


    Wow, that was a really old post, from back before I decided to go my own way. It was, in fact, that question (which was never answered, there or via the PM I sent, I don't think....) that caused me to break off on my own- being able to programmatically modify permissions is a must for me, for Experience.

    However...... now that there's a new bukkit permissions system on the way, my plans are on hold. I'm assuming they'll do the right thing and let plugins modify the permission tree- if so, there's no need for me to re-invent that wheel.

    It also means that supporting Permissions seems like a moot point now. If I can fit it in easily, I will, since I don't really know how long it's going to be before the bukkit.permissions is ready- but I'm even less worried about it now than I was before.

    And, yes, I do think i can fit it in easily- just saying, if I hit any roadblocks I'll be likely to give up pretty quick and wait for the real deal.

    Dunno- if there's some way to block command dispatching internally in bukkit, then maybe. Basically, if it "works with any plugin", it works will Spells. Otherwise, probably not.

    I noticed that last night with cushion as well- I hadn't tried peek recently, so thanks for the head's up.

    That's two-for-two, so I definitely broke the auto-undo system- I'm sure it was the multi-world safety changes I made. Does rewind even work?

    I need to get a real multi-world fix out soon- sorry, everyone, I've been a little distracted with NetherGate! You can't expect them to drop some tech like that on us and not have me get super excited to use it...
    --- merged: Feb 8, 2011 2:34 PM ---

    I fixed the auto-undo issue- I was checking for a loaded chunk the wrong way, apparently. I imagine rewind was also broken....

    This is all really bad (well, if use peek or cushion, or rely on rewind it's bad), so I pushed an updated jar out- please re-download if you've got 0.79 or higher already!

    I'm going to be making another minor release soon, I have a special little spell I really want to get in right quick.
  18. Offline


    Oh sorry haha. Sometimes the forums are a little goofy on my phone. It looked like that was the last page :p
  19. Offline


    0.81 Released

    This one is a very minor release, but, depending on who you are, you may just love it.

    If you're a NetherGate user, or you're interested in trying it out- keep reading. If not, skip this post and this update- there's nothing here for you :)

    0.81 includes NetherGate integration, in the form of two spells:

    portal : Summon a temporary (now that auto-undo is fixed....) portal. Anyone can use it while it's around (10 seconds), so it's a great way to let friends go to other worlds with you, but not on their own.
    phase : This just TP's you immediately to the next world. It's not quite as stylish, but very effective :)

    Spells uses NetherGate to actually do the work of both tasks. This has a few repercussions:

    • NetherGate is required- Spells doesn't do the work of moving you around. It could, if people really wanted that (if you were using a different portal plugin but still wanted this functionality, for instance).. so let me know how much interest there is in that- I don't really want to do it
    • The TP will use the same logic as NetherGate- so (when it's working), it will respect world scales, super useful for fast travel.
    • Nethergate will find a nice place for you to stand, and make an ice or obsidian block if necessary. (Will probably auto-undo this after a period of several minutes in the future)
    • The portal is a little wonky, since I'm still working on that part of NetherGate. I hoping that once I get the BlockPhysics figured out, I'll be able to create a frame-less portal, which would be awesome. For now, though, I can't even get the default one right! :p There should be at least one portal block in it, though- and that's all you need to TP (you may have to jump! ;)). It'll get fixed soon, since NetherGate really depends on me being able to create portals!
    I think that's all- I really have to get to work now, so I'm going to try not to let this distract me anymore for a while :)
    --- merged: Feb 8, 2011 4:08 PM ---
    OH - BTW, portal, a little pied piper, and then phase is a really evil form of PvP! [creeper]
    --- merged: Feb 8, 2011 5:18 PM ---
    Ok, one more thing - I think phase <worldname> should work, but I haven't really tried. The phase spell passes any parameters on to NetherGate, so it's essentially exactly like issuing /nether go

    Which may make you think "if it's exactly like "nether go", and NetherGate is require to use phase, then what's the point?

    Well, short term:
    • Wand support (big deal for me- fun to phase around with the wand!)
    • Non-ops can be given spells, but can't use /nether
    That second note brings me to long-term, which is that once the SpellVariant system is in place, you'll be able to assign casting costs, cooldowns, and other spelly-properties to phase, while /nether will remain mainly an admin tool.

    That system is coming soon, I promise. If it makes you feel any better, NetherGate was not really the holdup- that only took me two days to put together. Both of these tasks have required a lot of Persistence work to get going, and that's what has been taking up most of my time the past couple of weeks.

    The good news is that NetherGate is released, meaning there is a proof-of-concept Persistence client "in the wild". This goes a long way towards Persistence being ready to support spell variants (and persistable block lists, recall markers, familiars, and a host of other awesome things)

    I still need to implement automatic schema migration before I'll really be comfortable making Spells depend on Persistence, though- I really don't want to deal with the hassle of schema conflicts if I decide to change the way something works. I never want to have to tell you all to delete a db file, or issue a "/persist RESET"- and I definitely never want to have to give out SQL scripts- that's why people hated admining a mysql hMod server, IMO.
    --- merged: Feb 8, 2011 9:36 PM ---
    Update 0.82 brings something I'm shocked I haven't implemented yet, and really shocked no-one has asked for! Too focused on Permissions support, maybe? :)

    Anyway, you can now assign spells to a "default" group in spell-classes.txt. Anyone can use these spells.

    On a very-much-related note:
    I've used NetherGate to set up 4 worlds on my server. It's my original single-player world/nether, and a "grief-tastic" copy of both.

    If you head over to mine.elmakers.com (dynmap here), you can see this in action, as well as the default spells functionality in action. I've pretty much made it a free-for-all in there!

    Note that I do not have command-line Spells enabled- it's Wand-only.

    I'm thinking this is a great way for me to let people come and test out new spells, portal functionality, and whatever else I'm working on, possibly before it's ready for prime time.

    Come visit! Leave me a sign :)

    Or, you know, leave me a giant crater- whatever!

    This should be the last one of these mini-updates for a bit.
  20. Offline


    Love your plugin, casting with wands is super fun too :D

    Just updated to the latest version but absorb and fill both still just produce/use plain white wool, colours are still ignored :(
  21. Offline


    I thought I had fixed absorb, but I know that fill and such won't work with colored wool. As far as I know, there's still no way for me to get the data from an ItemStack- which is what blocks look like when you're holding them, or they're on the ground (broken). I'll definitely get this fixed as soon as I learn how to do it, or as soon as the core functionality is working (whichever is the blocker there).

    Glad you enjoy wand and spells!
    --- merged: Feb 10, 2011 6:29 AM ---
    0.83 is a minor nether-support release, mainly making it so that slowsand and nethrrack are generally destructible.
    --- merged: Feb 10, 2011 2:23 PM ---
    Oh, also, real quick- I changed the material selection system- it now starts on the right-hand side of your inventory, which I think works much better.
  22. Offline


    ItemStack.getData() doesn't work? I haven't needed to try it bu it seems like it would be exactly what you need.
  23. Offline


    Permissions plugin suport would really be apreciated :(
  24. Offline


    Yessir- as soon as NetherGate goes 1.0 (next couple of days, I think), you'll get it.

    NetherGate has actually paved the way for Spells- I'm thinking a couple of hours, tops, for basic->Spells Persistence integration, and once I'm using Persistence, Permissions support is basically "free" (this is the setup I've always wanted, yes, I'm finally there...)

    It was going to be a surprise... :p
    --- merged: Feb 10, 2011 2:43 PM ---
    I know, right?! :(

    You'd certainlly thing that, but it always returns null... I opened an issue for it, but I haven't checked on it lately. :D

    Oh, one more more material-selection-system note- I really want a fast way to "cycle" materials in your inventory, in the same way that spells cycle (currently, the far-right slot is your active material).

    I'm thinking of two mechanics for this, want feedback:
    • Use the "look up/down" mechanic from other spells in material-selection spells. So, look up to cycle materials forward, down to cycle them back. This would limit your ability to use those spells straight down or up, though.
    • Make a spell that cycles materials.
    This is mainly for Wand purposes- right now, once I've chosen a good layout of spells, the only time I have ever had to do any "GUI" stuff (use the inventory) is to swap which material I'm using... I don't like this! ;)

    Hmmm... alternately, and I'm starting to really like this idea- what if I make the look up/down thing some sort of built-in variant functionality, and move it to right-click?

    So, you can still cast any spell fine while looking straight up or down- you just just can't change spells.

    Ok, I know this is Wand stuff- sorry... but, yeah, I'm psyched about that- going to try it when I get a chance.
  25. Offline


  26. Offline


    Today I logged into our server and it seems the absorb spell now works as intended, producing different coloured wools...

    Fill however still only produces white wool.

    Also - What happened to the fillwith spell? I found that useful for filling with air, which cant be done by fill?
  27. Offline


    Ok so NetherGate is out, where's our Permissions support? :p
  28. Offline


    Right you are- I figured out how to do the one, but I think the other is still broken internally.

    Great question! :)

    Yeah, I think I have a nice solution for that (it's a long story, I explain it somewhere in this thread)- I was going to replace it with an "erase" spell, but I think I've found a way to bring air back into the material selection mix, meaning fill could also do fillwith, as long as you're holding at least one building material. If the farthest-right space in your inventory is empty, but you've got a building material somewhere in there, it'll build with air.

    I think I'm going to make that change soon and try it out.
    --- merged: Feb 11, 2011 3:45 AM ---
    Permissions support will be soon, but I'm starting to very much consider putting your name, specifically, on an internal, hard-coded blacklist!

    I'm kidding, of course, but man you're a pain in my arse.

    And, I said when NetherGate went 1.0- I'm still very much working on it.

    If anyone's actually interested in NetherGate in here, I added a "peek world" variant of peek that lets you peek into other worlds. It's pretty cool.
  29. Offline


    I know, i know, I'm a pain. You just have no idea how much my users are bitching at me, lol. Some of that shit has to roll downhill :p
  30. Offline


    Just had a weird moment using the fill spell: "You fill the area with torch!"

    Oh wait I may have clicked on the torch by accident :p

    Interstingly you can not rewind filling with torches!

    Peeking into the nether though? Sweet! :D

Share This Page