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!
Thank you for the buff Sirrus i am happy you didn't add strength in fact adding a non burning effect is the best thing i can think of :) keep working on this plugin. Its only Gonna get Better
@LazarusVec
When Clown came up with the power that was actually his intention. Where several powers gave players benefits, he wanted one that presented a challenge. He didn't even request the speed effect, I added it for balance. Ironically he's since said the power makes gameplay TOO challenging, so I've added a way to prevent the user from igniting in daylight. It'll be in the next update.
@sirrus86 this is an amazing plugin but i was wondering if there was any chance of in the next update you making vampirism give you maybe strength 2 or something because right now no offense to you or TheClownOfCrime for the idea but right now its pretty much more of a hindrance than a power. :P
Thnx
@sirrus86
Awesome! Thanks so much. :-)
Great Job on this spectacular plugin. It may be exactly what i'm needing to give my server that added bit of fun we need. :-D
@Kabyl
This is a feature that's been requested before. I can add a time parameter to the command. Awesome idea btw!
Would it be possible to add some sort of timer to these abilities? An example would be similar to Essentials Jail or Mute "datediff" parameter. I'd like to add these skills to my economy to where players can join. I could set up signs to allow them to purchase "buffs" but I don't want it to be a permanent enhancement.
Lets say i have a player "Bob" who wants to buy AeroBlade. He goes up to a sign, and clicks to purchase the buff. The command on the server (if i'm not mistaken) would be...
/powers player Bob AeroBlade
...which would give him the skill permanently. Would it be possible to have the plugin take the time parameter? So, if Bob purchases the buff via the sign, the command to the server could be...
/powers player Bob AeroBlade 10m
...which would give him the skill for the next 10 minutes.
If this is too much to ask, I'd understand. Also... if there's another plugin that does that, could you point me in that direction?
@Pat1196
That sounds like the exact opposite of Decoy, I like it. I've had little success with packets so far but I'll see about getting this added.
Thanks for the update, it runs much better now with 1.3.1. Keep working on new powers, each one so far is unique and very creative. I suggest adding a power that lets you disguise yourself as any entity that you use a blaze rod on :D
@Woelfi2008
Got it, added to the ever-growing requests list.
I created a new enchancement-ticket for this plugin:
http:dev.bukkit.org/server-mods/s86-powers/tickets/1-new-powers/
@sirrus86
You are really fast with adding new features :D Even before I downloaded it was already in there^^
Thank you :)
@Woelfi2008
Actually the option exists with v3.2. When adding powers to a player or group, just add "-o" to the end of the command and it'll ignore the 3-power or same-power limit. For example: "/powers player sirrus86 DarkRegen -o"
Please add an option that we can have more than 3 powers.
@Pat1196
Strange, I play on a server that uses v3.0 and it works fine... In any case v3.2 is currently pending approval, and it was tested with 1.2.5 and 1.3.1.
I love this plugin, but it is not compatable with 1.3.1. May you work on updating this? I really like it and it would help myself and many more if you continue working on this. :)
[The plugins loads, but using powers crashes my server. This did not happen while running 1.2.5]
@sirrus86
K, thanks for the info on the update. I don't really know where I got it, was just kinda perusing Google and found it via the internet :D
@grimm294
The timeframe is more dependant on when Bukkit updates to 1.3, but trust me once it does updating this will be my main focus.
...And where'd you get the pre-release? I heard it got moved back a day.
How long will it take to update this plugin to 1.3? The pre-release is out now (I have it) and I wanted to have this be one of my first plugins on my server when I put it back up.
@sirrus86
I thought it would be awesome, but like you said, this makes it awesome - er! :D
@Tsunami4
I agree! It's really interesting to see what kind of powers people come up with. I was so excited about Pickpocket that I've already started coding it in, so far it's turning out pretty good!
Just to give everyone else an idea of how I handle requests, I'll use this as an example:
Request: "Maybe a pickpocket power, so that when you right-click on a person while you have a bare hand, you steal the item they're holding?"
Result (so far): Holding the sneak button makes you invisible (mobs will not attack you during this time). While invisible, right-clicking on any entity opens their inventory. If the target is a player, it opens their inventory. If the target is some other kind of living entity, it creates a custom inventory including items that entity normally drops (including mob eggs, rarely). Moving items from the target's inventory alerts them (players get a message, hostile mobs have a chance to start attacking you, other mobs run away). A given entity's inventory can only be accessed by the player once per 30 seconds. Being attacked or un-sneaking before opening an entity's inventory makes you visible again with a 30 second cooldown before you can sneak again.
Using the upcoming powers config, you can set whether an item is required to begin sneaking, what item is required, how long the power's cooldown is, how long an entity's inventory becomes inaccessible after being accessed, whether entities should be alerted when items are being taken from them, and what item (if any) must be used to steal from other entities.
In short: If you want something awesome, my goal's to give you something awesome-er.