S86 Powers
Introduction
Minecraft is a great game on its own, but chances are if you're here and you're a server admin then you're looking for more to offer your clients. As you may know by now, when it comes to the extras every player wants something unique. Some want new mechanics, others want better weapons. Some want to help their friends, others want to dominate them. The problem is most plugins often offer a blanket solution. While it may fulfill the needs of a few, the remaining may not want to participate. Sure you can mess with permissions to exclude some people, but why not just cut to the chase and give every player EXACTLY what they want?
For the server that wants its players to each have individual benefits and abilities, S86 Powers is the plugin for you.
How It Works
S86 Powers is a plugin that allows users to have powers assigned to them. The core plugin comes with internal powers, but is also capable of importing powers made by others (more info to come).
To get started, simply place the S86Powers.jar file where you put your other plugins. Note that ProtocolLib is required for S86 Powers to function. On first run, several configuration files are created with default values. It is recommended that you not edit these files directly unless the server is off, as entered values may be overwritten the next time the server shuts down or restarts.
Next, you'll want to review permissions and configuration options. Operators by default get permission to everything, otherwise assigning the permission s86powers.admin will accomplish the same thing. To view configuration options, use the command /p config list [page#] (for example, /p config list 2 shows you page 2). For more information on what an option does, use the command /p config info [config], and to change config options use the command /p config set [config] [value].
Finally, for players to use powers they must first have them assigned, and before they can do that they'll want to know what's available. Use the command /p power list to get a list of loaded powers, then /p power [power] for more info on a specific power. If you don't like how a power is setup, you can check and set its configurable options with /p power [power] option. Note that changes to power options affect all users, and may require a server reload/restart for changes to take effect.
Players can be assigned powers in several ways, the two most prominent being admin-assigned or self-assigned. Admin-assigned requires a user with the s86powers.manage.user permission to use the command /p user [player] add [power]. Note that the above permission allows the user to set anyone's powers and shouldn't be given to most players. Self-assigned requires a user to have the s86powers.manage.self permission, and use the command /p add [power]. This method is safer, as the user can only modify their own powers.
What Are Powers?
Most powers come in three categories: offensive, defensive, and passive. Offensive and defensive powers operate similarly: the player does something with a specified item, and it causes an effect. Offensive powers usually do something that causes damage to others, while defensive powers usually do something to protect the player in some way. Passive powers tend to work automatically and provide some kind of bonus that neither hurts others nor protects the player (though there are exceptions).
An example of an offensive power is Laser. In its default configuration, left-clicking while holding a dispenser will fire a laser in the direction that the player is looking. This laser steadily does damage to anything it hits but uses redstone dust as fuel. The laser turns off when either the player left-clicks while holding a dispenser again, or when the player runs out of redstone dust. After using Laser, the player has to wait for a 10 second cooldown before using it again.
An example of a defensive power is Celestial Pillars. Left-clicking the ground while holding a sea lantern will create pillars of light around you. While these pillars stand, nothing can pass between the pillars except for the player. Pillars last for 45 seconds, however the player can't create new ones until the old ones expire.
An example of a passive power is Lumberjack. With Lumberjack assigned, breaking one log block of a tree with an axe will cause all adjacent tree blocks to break as well, essentially harvesting the entire tree at once. By default, a threshold is put in place so players can't level entire jungles.
Some powers have additional effects when they're used a lot. For example, after creating 60 pillars with the Celestial Pillars power, you gain the ability to create a second set of pillars by left-clicking the same block with a sea lantern again.
By default, players can only have one of each of the above power types assigned to them, though this limit can be removed with config options.
The last power type is utility. Utility powers can be used by anyone, including players with no assigned powers. Neutralizer Grenade allows players to throw lapis lazuli like a grenade, temporarily disabling the powers of any players nearby when it hits. Neutralizer Beacon allows players to create a block that constantly disables the powers of players who go near it.
Commands / Permissions
All commands can be viewed by simply using the /powers help command. You can view additional pages using /powers help [page], or view help on specific topics like /powers help player.
Donate
Creating and maintaining a plugin this size can be a full-time job on its own. I enjoy working on this plugin and don't mind doing it for free, but the fact remains that I must commit a majority of my free time to do this. If you like my work and would like to support it, please consider donating.
Need support? Have an idea for a power? Join my Discord server!
@n33dy1
Good catch, though I'm sure just doing a /reload would fix it too... I'll have this fixed for v3.2.5.
@aaomidi
I appreciate the offer but I prefer to do a lot of this myself. However in the future I plan to make it so people who know how to code can code their own power packs as a sort of addon to the plugin.
@Mantis1993
Yeah I can change it to Eye of Ender. You freaked me out for a second there though, I hadn't read the part where you named your request, and EnderPosse is actually what I came up with too... thought you were spying on me for a sec there lol.
Hey Sirrus86, when you do the power idea i suggested, instead of enderpearls, can you use Eye of Ender? that way players on my server can still use the Soul Shatter power and use the new EnderPosse power
@sirrus86
I meant 1.4 its gonna change how the API works fundamentally :P BTW would you like a helper in coding all this :P
When using ThunderBow and shooting arrows off the sides to where they fall, they apparently will fall forever and there will be a constant Thunder effect going on and you'll have to delete The End and recreate it to fix it.
@Faldonboy
Currently WG is implemented, but only for the neutral regions feature. Powers that attribute damage to the user (such as El'druin) should be blocked if PvP is disabled, however many powers (like the two you listed) don't attribute the damage to the user, so it's just considered custom damage.
@n33dy1
Yes but that's like 80 powers I'd be changing XD
And believe it or not, my plan IS to release updates with 3-5 new powers at a time, I just haven't had a lot of free time. v3.2.5 currently has 4 new powers, the fourth being unfinished.
@aaomidi
Wasn't aware of this. Do you mean the new API for MC 1.4 or CB 1.3.2-R1.0? In either case I've had to overhaul the whole plugin a couple times already anyway, so long as the JavaDocs are updated I think I'll be okay.
@Faldonboy
You're the second person to report this. After looking at the code I found the error and have corrected it. Should be fixed for v3.2.5.
When using the zombify power the mobs the come back to life die instantly, basically you see their corpse along with whatever mob you just killed and both the mob you killed and the corpse that's supposed to fight for you drop loot.
@sirrus86
Well the events for all of these are gonna change
Well not all but a few, updating that is gonna be a pain :P
What you might do is add an if statement like...
Also feel free to make numerous releases. I don't mind updating to try out 4 new powers and then updating a few days later to get another 4.
@sirrus86
It's mainly just Geomancer and Diversion I'm having pvp problems with atm, if you do implement other plugins definitely consider worldguard and mobarena, neither of their pvp flags stop powers from hurting other players, would be a great help if they did.
@n33dy1
Hey first come first serve! *bumps to the back of the line* lol jk, but like I said I gotta finish one batch before starting another.
@Faldonboy
I intend to implement other plugins like Factions so players won't damage allies, but turning off all player damage would require a full overhaul... Maybe in a future update.
@fletch_to_99
I just PM'd you a link, forgot I made a DropBox for this stuff lol. Let me know what you find.
@sirrus86
Sure that would work, or you could upload them to uppit in a zip file?
Any chance you could add config options to prevent powers from hurting other players?
Work faster slave. ;d
@Humanfiend
[lvl 30+] means your normal in-game level, same one used by enchanting.
@fletch_to_99
Shit man I'm sorry, I haven't had a lot of free time lately... I don't have the source online but I can email the .java files if that'll help.
@sirrus86
Can you link me to the source so I can try and solve the lag problem that is occuring on my server?
Thanks, Fletch
Noob question of the year: Some of the powers say at [lvl 30] bla bla bla Is this another plugin or built in xp system? (tried looking around on this post, didd'nt find anything T.T)
@Faldonboy
First, have you made any changes to pConfig for these two powers, and if so what changes have you made? Otherwise:
NetherCloak - I'll look into this.
HolyShield - After quickly scanning the code I think I found the error. This should be fixed for v3.2.5.
@aaomidi
I intend to update the list at some point, but it's not my top priority as it has little impact on the plugin itself. Other than being WAY backed up I don't know what you mean by a bad time when CraftBukkit updates...
@sirrus86
Are you gonna keep updating the list?
When CB updates your gonna have a very very bad time.
Two small problems though neither produce any kind of error. The NetherCloak power doesn't work for me, I get the messages that tell me when I turn invisible/visible again but I never actually go invisible(players/mobs still see me) the hunger restoration at 30+ still works HolyShield doesn't work for me either. Whenever I click with the glowstone I get the deactivation message every time(I've tried this at lvl1 and lvl100 to see if it was a duration/cooldown problem but no luck)
Also I just want to say this plugin is WONDERFUL if used with MobArena,You can make some really fun classes with it.
@sirrus86
Alright, Cool, thanks. i know my girlfriend will appreciate that power :P
if me, her, or the other players on my server can think up any ideas ill pitch them to you.
good luck on the plugin