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!
@sirrus86
with or without brackets?
@sirrus86
thanks :)
@sirrus, I'm currently running a dev version for 1.6.4 CraftBukkit. Is there a particular aspect of S86Powers that I can disable to fix this error, or do I simply need to wait for the v5 update?
@DARNIC92
Just set the s86powers.enable permission to false for that world.
@kiruga1
You can use powers in kits by using their permission nodes, such as s86powers.power.[power]. I'm not familiar with any kit plugins however.
@Comp52
It sounds like your server may be running an earlier version of Bukkit; Packet 41 was added for MC 1.5 or 1.6 I believe, and would be present for those versions. If you're using an older version of Bukkit, try using an older version of my plugin for the time being. Version 5.0 will have this resolved.
For some reason, my console is getting spammed with "Packet41MobEffect not found!" Errors. I nearly got my service terminated with my host because my server.log file went up to 40GB because of all the spam. Any idea as to why on earth this would be happening? I need a response as soon as possible, because my server had to be taken down temporarily due to this issue.
sirrius one question: i want to link your powers with kits so people who chose a kit automatically get a power for example : miner get haste or rogue get dodge .. sth like that ...
and i dont know how i should do Or which plugin i should use for this
thanks for help and sorry for my bad english :D
Ok thank you, i'm waiting for your solution.
Otherwise does anyone know how to disable powers in certain worlds? I don't want players to be able to use powers in my spawn world.
@DARNIC92
This is an issue I'm going to look into, I'm not really sure about the cause at the moment.
Hi i have a bug report : i'm trying powers with another admin on my server, but i'm in trouble with Laser and Livingflame. When only one of us is owning the power it works perfectly. But once we both get the same power we are unable to use it (even if we are in different worlds). Chat displays a cooldown message "laser is still in cooldown for ..." going from '4' to 'less than 1 sec' then going again on 4sec cooldown. So the power is always in cooldown and unusuable. same thing for living flame.
How can we correct this bug?
@Chromish
Just sent you a PM. Not all powers are loaded, the main intent is to see if the memory leak and lag issues are fixed.
Where might I find this alpha?
@RenKyoKrishna
To my knowledge no, and that's mostly my fault. I've yet to completely document how to create power packs for this plugin (again, not a lot of free time).
@sirrus86
Thanks for the quick response and for all the work you're putting into this great plugin. Another question, a bit off topic. Has anyone made a power pack besides your internal set?
@RenKyoKrishna
Yeah the system I used for packets was heavily flawed, this caused transformations to kick anyone who could view the user. Version 5.0 will make use of ProtocolLib instead, as it's vastly superior and most servers use it already.
@Makemyday17
As you may have seen, I've put out the first alpha privately to those who requested to test it. Updates will follow as I can complete them.
Can anyone help me with this problem. So I've updated to the latest version (4.3.6), which is supposed to fix transformation powers. However, whenever I use the Lycanthropy ability, I gain the potion effects but fail to transform into a wolf. Also, the Identity power only works on other players. If I try to transform into a mob, it kicks all players and fails to transform me. I've tested this plugin on a clean server with no other plugins and the problem persist. Also, other disguise plugins work perfectly; so it definitely seems like a problem with s86 powers.
Also wondering, I've been waiting for like 10 weeks My server depends on it..
Hi Sirrus! Any progress with 5.0 beta so far?
@RenKyoKrishna
There is a way, but I forgot, :P sirrus, is it also possible to set perm's per group?
Hi! Great plugin. Would it be possible to set permissions for each power instead of add them to groups in game? I'm using the Races plugin ( http://dev.bukkit.org/bukkit-plugins/races/ ) in which I can assign permissions to races. This way I could make power sets for races. Thanks in advance.
EDIT: My question seemed to be already addressed in the tickets. Going to test both individual power permissions as well as group permission. This feature should probably me mentioned on the main page. I noticed it mentioned permission based powers in the FAQ but didn't say how to actually set them.
Please release the v.5 soon, I'm so excited for it!