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!
I think that along with having support for economy plugins, there should be a way for powers to cost xp, for servers that don't have a economy plugin. It could be default, until a economy plugin is found, or maybe an option in one of the configs.
@aaomidi
If you want a certain class or permissions group to have the same powers, you can just give them the s86powers.use.[power] permissions. These won't show up with the "/powers player [name]" command but will otherwise work just the same.
Is there any possibility of making it so that one class in group manager will have access to the spells we pick? Instead of adding the players one by one?
I don't know if anyone mentioned this yet or not, but it'd be great if you could add some sort of economy support where players could BUY powers listed on signs or something...
EDIT: I see a few posts below RandomSomething98 mentioned the idea for economy support. Still a good idea!
@RandomSomething98
I like it, I'll add it to the list.
@aaomidi
An API? Like for other plugins to tap into? Ugh, I wouldn't even know where to begin XD
@sirrus86
I wish you include an API sonner or later xD
I was thinking of another power idea.
Sacrificer-
So, as the player makes kills, his max health is lowered (his hearts can't go above a certain level). But in return, speed and attack power increase. Making him powerful but vulnerable, like, maybe after 30 kills on mobs, he has 4 hearts max but has super high attack and speed. But not jump, due to fall damage...
Or maybe it could be the opposite, doing lower damage for more health and speed. I dunno.
@RandomSomething98
Conflict - Heh yeah Bloodbend currently works on all "living" entities, but I see what you mean about using it on undead (hell skeletons don't even have blood). I can change this.
Economy - This has been requested before. I eventually plan to add an interface where players can purchase powers if a plugin like iConomy is loaded. Temporary powers are already coded for v3.2.2, which was the first step towards this.
Ramhead - I love this idea! I'll definitely add it.
@AdmiralPWN
I don't think my plugin caused this, as there's no code in my plugin that really deals with player sessions (except some powers which detect if a player logs off, in which case it's only to remove them from a list). I'm assuming you've tried /stop and trying again after it comes back up? Also does your server work in offline mode? Are there any errors?
I had an idea for another power. Ramhead-
Basically, people who have this power have faster sprint, and if they sprint into a mob or player, it does major damage to them and knocks them back. Maybe if their level is 30+, if they sprint into a wall, it makes a small explosion. As a way to control this, constant use of it will slow the player and confuse it (potion effect). This effect worsens with overuse. Especially when you run into a wall.
Well i went to try it on my server and now when ever some try to log in it says someone with the name is already in the session so now not even i can log and even after removing the plugin GREAT. anyone know how to fix this? ive removed all of my plugins and still cant get back in.
Is it possible you can also have the powers cost xp, or money (an economy plugin)?
I've found another conflict of powers. For some reason, I can use Blood Bend on my clone when I use Diversion. Maybe you could fix it by making blood bend not work on undead mobs (zombies, skeletons, clone aka zombie pigman, etc).
@RandomSomething98
I can add an option somewhere to lock powers, maybe in the pConfig.yml file.
Okay thanks, also, could there be a way to disable a power for everyone? Or at least, a group? I don't want people spamming Power Theft on my server.
@Craft_Like_A_Pro
You want to make it so certain groups can't use three powers? Do you mean groups in powers or like permission groups?
Currently there's no way to limit the number of powers a player or group can have below three. They are however limited from having more than three, which requires an admin override.
@RandomSomething98
I like the mining barehanded idea, I'll add it to the list.
Ender Soul and Diversion are probably conflicting powers. Ender Soul works around detecting damage caused by an ender pearl (normally when you use one, the pearl itself is responsible for damaging the player). Diversion looks for any damage caused by an entity. What it sounds like is happening is, when you use an ender pearl, Diversion kicks in thinking you were just damaged by something. This may be overriding or cancelling some of the detection methods used by Ender Soul, which in turn make it stop functioning as intended.
I can take a closer look at the two, but until then I'd consider them incompatible.
I found a problem. For some reason, Ender Soul won't teleport you or make an enderman when you are also equipped with Diversion. Is this my problem, or is it something to do with the plugin itself?
I have an idea for a power.
If you are barehanded, you can mine some ores and blocks without a pick. It could be as effective as a stone pick, to not make it overpowering.
I also love the plugin!
Love this plugin! Makes everything easier! Dont need to install 2 Magic plugins to get the magic's i want, Just use S86 Powers! FTW Love it!
I have a question, how do i make so 1 group can use 3 skills but not all of them? Like permissions? Is it possible? Or did I miss something?
@LazarusVec
@UrNowKoed
I'm glad you guys are enjoying the plugin so far! I already have about 30 power requests and several new features planned; whatever you guys want to do with this plugin I intend to make possible.
I absolutely LOVE this plugin. Great work! Awesome plugin for RPG servers, and a great plugin for other types as well :)
Me and my admins had a really fun time playing around with all the abilities xD Looking forward to future updates, keep up the great work!