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!
-
View User Profile
-
Send Message
Posted Jul 4, 2013@Makemyday17
Well, while I'm sorry that I've yet to be able to resolve the issue, I understand. I'm still going to keep working on it though, so I recommend you check back in the future.
@n33dy1
How is it not working? Are you getting any errors or anything? I haven't received any email errors since v4.3.4 went live.
By ghost bug do you mean human entities that just sit there and can't be interacted with? No, sadly I haven't been able to fix that issue, but I'll keep working on it.
@ValeraSTK
Permissions should be working, though you may need to update powers once in awhile with the /powers power [power] -u command.
-
View User Profile
-
Send Message
Posted Jul 4, 2013Thank you for update @sirrus86 ! Any progress with permissions?
-
View User Profile
-
Send Message
Posted Jul 4, 2013@sirrus86
K because I couldn't get the 1.6 release to work on 1.5.2
Also, did you ever fix the ghost bug with Decoy or Diversion?
Those are really epic powers.
-
View User Profile
-
Send Message
Posted Jul 4, 2013Not working, insane lags again. I may have to forget this plugin after all. sadly.
-
View User Profile
-
Send Message
Posted Jul 4, 2013@n33dy1
Future versions will still work with MC 1.5.2, since around v4.3.0 I've been coding each update to be backwards compatible as far as MC 1.4.2 (and possibly older).
@Makemyday17
A full list of all commands can be found here as well, it even gives examples of each command. I'm glad to hear you got it working (mostly)!
-
View User Profile
-
Send Message
Posted Jul 4, 2013@Makemyday17
theres a number of ways, try /powers power player powername -u... soooo /powers power x2dot gunblade -u.
Just use /powers help 1-6 and view those pages, everything you need is there.
-
View User Profile
-
Send Message
Posted Jul 4, 2013And how do you remove a power from a player?
-
View User Profile
-
Send Message
Posted Jul 4, 2013Ok I got the hang of power assigning, my bad. However aeroblade don't seem to work tho.
-
View User Profile
-
Send Message
Posted Jul 4, 2013Hmmm I started to lag again like crazy, checked console, and removed "MobDisguisePvPcontrol" that spammed errors.
-
View User Profile
-
Send Message
Posted Jul 4, 2013Seems like it's working fine now, update several things, however, how Do I assign power to anyone. This is.. wtf? /powers player [player] [power] how do the command goes for adding "Aero Blade" to BoB12?
-
View User Profile
-
Send Message
Posted Jul 4, 2013@sirrus86 does the plugin not work with 1.5.2?
I'm using that until 1.6 Recommended Build. Thanks.
-
View User Profile
-
Send Message
Posted Jul 3, 2013@Makemyday17
That's strange that my plugin actually made changes to player's permission groups; it's not supposed to change that at all. I'll do some testing and see if I can figure out the cause.
-
View User Profile
-
Send Message
Posted Jul 3, 2013@sirrus86 Thank you for answering. appreciates. Okey so first, Seems like you're not that new to java with all this features and stuffs you've added. Impressive if you are tho. However, I understand this is a heavy plugin and each power has its own java class which runs a lot of memory, in theory you could say that i'm a lag expert because I'm dealing with a really heavy plugin on my main server, which I've month from then tried to solve, it's impossible to solve it compltely due to how heavy it really is and java complications itself, but it's possible to reduce the lag using different stuffs that reduce other things for example. That plugin is called "Bending" or the last airbender, it's really heavy and it has its own abilities. If all those abilities is used by different players around on the server (60 - 100) then some of these abilties is also saved in a temporarily memory, likely to the RAM memory in our computers and the "short time memory" in our brains. All this creates insane lag, but it's possible to reduce it, and you can run 20 tps at a decently high amount of players anyways. So with this knowledge in mind, it was very suprising to me it started to lag like insane with this plugin enabled and no one was even using it. Because I understand things lag if a lot of java classes is running at the same time, a lot of abilities is used at the same time is taking up a lot of memory obviously. But mine was just enabled and it started to lag, so in theory it must be a conflict with something, either the build (bukkit, spigot / version of these) or either another plugin that conflicts with this. A really strange thing as well as I noticed was, after I removed it, people started to get reset to the default group in groupmanager, which was VERY annoying, and since my server second RPG server is fully based on ranks and groups the impact was huge. However because it affected groupmanager a conflict with just groupmanager might be the case, so I'll try update groupmanager and essentials, and the spigot build i'm currently using and remove some plugins and try again. Because this plugin is just so brilliant.
-
View User Profile
-
Send Message
Posted Jul 3, 2013@CyberCannibully
Yeah, you can use the node s86powers.use.[power] to assign powers via permissions.
-
View User Profile
-
Send Message
Posted Jul 2, 2013Is there now or is there any possibility that in the future there will be permissions nodes for each individual power with the permission nodes allowing players to use the powers. The reason I ask is because I have asknselfpromote and groupmanager and I would love to add these permissions to the groups, so that I won't have to manually.
@CyberCannibully
Like something like this: s86powers.toggle.self.cookierain or s86powers.toggle.self.eldruin
-
View User Profile
-
Send Message
Posted Jul 2, 2013For those having issues with memory and/or lag:
First I want to apologize for any issues this plugin may be causing you and your players. Over its course of development, the plugin has grown substantially (version 1.0 was about 29 KB). It's become more powerful, more complex, and sadly more prone to error. But there are plugins that exist that are just as large which do not create the same issues, so I cannot use this as an excuse. The fact is, I'm still very new to Java programming, and these issues are a direct result of that.
That said, I'm exploring as many options as I can to determine the cause and solution to the memory and lag issues. The biggest hurdle before me, however, is that I can't replicate the issues.
I test the plugin using my own computer as a server. Until recently I'd allocated 16GB to the server application (it's now set to 1GB in hopes that I can more easily replicate the memory issue).
I used NoLagg to determine tick lag. As of version 4.3.4 the result is S86 Powers causes about 75% less tick lag than NoLagg itself, and this is with all powers enabled.
I used VisualVM to determine memory usage. As of version 4.3.4 S86 Powers is monitored to have used contributed to about 10% of my server's used memory, the other 90% being Multiverse, PermissionsBukkit, and Bukkit itself. Again, this is with all powers enabled.
At this point all I can recommend to everyone is if you're continuing to have issues, send me your NoLagg .exam files, VisualVM snapshots, or other comparably useful information.
Regardless, I can assure all of you I will always continue to pursue a more efficient plugin. So long as even one person is unhappy, there's work to be done.
-
View User Profile
-
Send Message
Posted Jul 2, 2013@Lotus1000
Nah you aren't missing anything. Somehow neutralized regions and beacons stopped working properly, but I'll be putting some attention in getting them to work again in v4.3.5.
@Makemyday17
I'm sorry to hear you had problems with my plugin. I'm currently investigating reported memory and lag issues, but have so far been unable to replicate or pinpoint the cause (more info in the post to follow this).
@CyberCannibully
This has (hopefully) been fixed for v4.3.4, which I'll be uploading soon.
-
View User Profile
-
Send Message
Posted Jul 2, 2013This is my problem , when I type /powers player <player> -g <group> to add myself to a group It does not add me to the group. OR when I type /powers group <group> -a <player> it does not add me to the group. I type my name in where it says <player> and my group name where it says <group>. It says successfully added but then when I check with /powers player <player> -g, It says I am in no group. +I don't get the powers that are from that group so I know I am not in the group.
-
View User Profile
-
Send Message
Posted Jul 2, 2013Does it work with craftbukkit then? I really want to use it now
-
View User Profile
-
Send Message
Posted Jun 30, 2013@Makemyday17
It's not 100% guaranteed to work with spigot, I, or anyone else, have yet to actually do a controlled test. HOWEVER..You are not alone on the lag issues. It seems multiple servers are suffering from lag when using this plugin. I'm sure with this much feedback he is working on a fix, till then, keep checking in! This plugin is amazing, you wont be disappointed if you can get it operational. Just give him some time. With 1.6 tomorrow, he has a lot on his hands.