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!
Ok kool i think the name should be lycanthropy though :)
@LazarusVec
Actually a Werewolf power has already been requested, and should be in one of the next few updates. But good idea, and by all means keep em coming!
@kursedkid
Heh no problem, glad you're enjoying the plugin.
@JtPv
Sounds fairly simple yet effective. I'll add it to the list.
@Mantis1993
Heh wondered where that donation came from... I'm currently in the middle of about 20 donator requests, but with it only being one power I'm sure I can sneak it in the upcoming or following update.
Hi there, if you could, could you add in a power that would be most likely a defensive power.
you right click the break the enderpearl (much like in the Soul Shatter power) but instead of it sucking the light out of the area and causing damage it summons three or so Endermen to your side to be sort of like body guards and have them follow the player and attack for him and call it something like Ender Posse?
and to help you out, i have donated to you under the paypal account: [email protected]
ive used this plugin since it was first released and loved it. everyone on my server does so i hope you keep it up and keep making it better.
Best of luck, -Mantis
Hi I was wondering if I could suggest a power. It would be called soul trap. The way it would work is when your holding a diamond an shiftclick a player, their powers would be disabled for a configurable amount of seconds.
You are some kind of wizard lol. yeah you predicted my permissions setup correctly. Thanks so much for the quick reply, and the answers. I will probably just manually do my permissions seeing as how i don't want to switch permissions plugins and i really like the idea of this plugin and don't want to wait. but if all it is is the fact i have '*' permission than that's fine. Thanks again for your help and keep up the good work with the plugin. :)
Hello i was wondering if i could suggest a power: Werewolf increase jump height speed and damage at night regen on full moon can be killed quickly by iron or gold weapons
thanks :) feel free to make it whatever you want
@kursedkid
I'm glad you asked. This has been a commonly reported problem, and thankfully I've learned the cause as well as some solutions. Behold as I accurately predict your server's permissions setup!
Awhile back it was requested that powers be assignable via permissions. The easiest way to do this was to have the power checking function check to see if the player has permission "s86powers.use.<power>" assigned and set true. Since I didn't add every power permission to the plugin.yml file, every one of them defaults to true, but my code requires that it be set. For PermissionsBukkit and bPermissions this is fine. PermissionsEx however is sort of unique.
When you give yourself the * permission, PermissionsEx seeks out all potential permission nodes it can find and sets them all true, even if they aren't set in plugin.yml. Because of this it will find all of the "s86powers.use.<power>" nodes and set all of them true, giving you all powers.
I've only determined three ways to fix this:
i got this plugin and put it on my server but i'm having a small problem thta is probably easily fixed. As the owner of the server i automatically get all the powers and i can't remove them, is there anything to be done about this??
@RandomSomething98
Goodbye to every natural forrest on your server XD
I had an idea for another power: Fire Filled: A defensive power, basically, over time, the player seems to "store" fire in himself. But, when attacked, the fire will "burst" out and burn nearby mobs and light nearby blocks on fire. The longer the time from the last burst, the more fire that is thrown. Also, when the player has the max amount of fire filled in him, sometimes, fire might spawn around him, as if fire is "leaking out" of him. You can force fire into yourself by walking into fire.
@predawnia
I've never tried it with Citizens, but yes almost all commands can be done using the console.
Can the /powers command be executed by console or Quester NPC (example: Citizens 1.2)?
@Raytaza
Should work fine with 1.3.1-R2.0. The next version on will be for 1.3.1-R2.0.
i need it for R2
@kodama6
You have some good ideas...
Bleeding Axe - Doable, added to the list.
Charged Plants - So like right-click a flower and make it blow up or something? Sounds cool.
Seeds - Sure thing.
Exploding Chests - Awesome! I love it.
Climb Up Walls - Common request, gonna try it at some point.
Now for what's broken...
AeroBlade - I've tried to fix this like five times now lol. Try v3.2.4 and see if it continues, if so let me know.
Zombify - Check pConfig and see what you have set for Zombify: undead-lifespan. This must be in XXdXXhXXmXXsXXt format (days, hours, minutes, seconds, ticks).
Attacks with an axe cause the target to bleed for so many seconds..?
Set charged flowers/mushrooms/fern...each do something different? lightning, explode. HEAL
Eat different kinds of seeds for different effects
ability to set charged chests that explode when opened?
climb up walls?
lol, I cant come up with good ideas...idk if any of these are even possible. I AM however, having issues with 2 powers already made. Aeroblade still causes lingering effects, even after 3.2.3... and zombify doesnt work for me. Everytime I kill somthing a zombie DOES show up, but dies immediately after he appears. Am I using these powers wrong?
@sirrus86
lololol my bad and thanks!
@Kabyl
Some powers will be prevented by protections. There's actually a bypass code in the plugin I use for powers that get blocked by anticheat plugins like NoCheat (for example, without the bypass code, El'druin does no damage to enemies if NoCheat is active).
Most powers however are fairly indiscriminant, usually not keeping track of the user and retaining minimal info on the target so as to use as little memory as possible. Powers like Martyr do not attribute a kill to the power's user, however powers like El'druin do. Master Sword creates a fireball and sets the fireball's shooter as the power's user, so it should handle a kill the same way it does as though the player killed something with a bow.
@n33dy1
...Are you serious? Someone JUST asked that question below XD
You can use '/powers player <name> <power> -o' to override the three-power limit. This is an admin command however; the person using the command must either be an Op or have node 's86powers.admin' set to true.
Please make it so you can enable in the config to allow players to have numerous powers of each type.
Do these skills work with other plugins protections? More specifically, would a player using Volatility be able to break through a perfectly secure faction-protected wall?
Also, are players killed by others any of the more indirect skills (Blast Blade, Martyr, Master Sword, etc...) counted as kills by that player? Basically, if i use the Master Sword's fireball and kill another player with it, will it count the kill for me, or the fireball? I'm using PVPReward and I'm trying to see if there could be a conflict there.