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 Jun 22, 2013@ValeraSTK
perms and groups are still being fixed. Next update.
-
View User Profile
-
Send Message
Posted Jun 21, 2013v4.3.3 - permission based assign of powers still dont work for me. New build will fix it?
Thank you for not stopping your project, Sirrus!
-
View User Profile
-
Send Message
Posted Jun 21, 2013Thank you for fixing it! everything seems to work now! Thank you!
-
View User Profile
-
Send Message
Posted Jun 21, 2013How do you use the orange ones
-
View User Profile
-
Send Message
Posted Jun 21, 2013@sirrus86 Does GitHub also have Jenkins? I didn't know that... (GitHUb and Jenkins are two completely different things).
https://wiki.jenkins-ci.org/display/JENKINS/Meet+Jenkins
Just saying, that when you do your coding and stuff, when you sync it to GitHub or Bitbucket or any Code repository, Jenkins will notice and make a build automatically, so you always have the latest build available and will notice if something broke.
Plus built in changelog.
-
View User Profile
-
Send Message
Posted Jun 21, 2013Awesome then! I'll see if I can get this on my server when I get back.
-
View User Profile
-
Send Message
Posted Jun 21, 2013@spawnstah
I have a GitHub repository, I just suck at keeping it up to date. But I appreciate the offer.
@Makemyday17
Yeah as Chromish said it's in there, I just need to work on it a bit more.
-
View User Profile
-
Send Message
Posted Jun 21, 2013@Makemyday17
Permission-based powers are implemented, but sirrus forgot to include something in the latest update, so they're a bit odd right now. However, I believe it will soon be fixed. The permission node for access to a power is s86powers.use.POWERNAME.
-
View User Profile
-
Send Message
Posted Jun 21, 2013OOoo I've been looking for this for ages! So happy, and this is awesome. However... it was too good to be true, because I noticed you didn't have a permission node for "s86powers.<ability>" which made me dam sad again. Please can you add this? Or is it something I have missed? Is it already added? Thanks in advance, help appreciates.
-
View User Profile
-
Send Message
Posted Jun 21, 2013@SIrrus86: I think I remember you mentioning that you had no Jenkins?
I've just recently setup a Jenkins for the devs on my server and can host your builds too for free, if you want so you always have up to date Developer builds and knows if your code broke something.
If you want one, send me a PM with your e-mail address and I'll set it up for you.
-
View User Profile
-
Send Message
Posted Jun 20, 2013@FSCarver
Yeah the power keeps coming back because it checks when players log in and enables any powers that player has, I can see about implementing a way to permanently disable a power.
@Chromish
Yeah, I seemed to have forgotten to add listeners to group and permission assignments... my bad. I'll see that it gets fixed.
@CharServer
To view what each individual power does, use the command /powers power [power] for info on what it does, how it works, etc.
@xTrainx
This may coincide with the above issue. I'll run some tests.
@n33dy1
The NullPointerException comes from an oversight in coding, I have it fixed for now. The power causing the issue is Aquaphile.
I'll look into Shatter Blade, in fact probably going to use a new method altogether for item spawning.
I also have no idea why you're losing RAM... May require some trial and error testing. Try disabling all powers and see what happens, then enable some and see, rinse and repeat... might narrow down the cause a bit more.
-
View User Profile
-
Send Message
Posted Jun 20, 2013@CharServer
Theres no excat usage, it is applied as it seem fit, for example, im set a power shop with the aid of the Denizen plugin to sell to player, with a history to kick off, for a while i used powers in mob arena by giving specific class permission powers, and also, atm im trying to give free powers each week to a group were you are added by voting, so is really up to you how to use it
-
View User Profile
-
Send Message
Posted Jun 20, 20132013-06-20 08:39:13 [WARNING] [S86 Powers] Task #149 for S86 Powers v4.3.3 generated an exception java.lang.NullPointerException at me.sirrus86.s86powers.powers.passive.Aquaphile$1.run(Aquaphile.java:67) at org.bukkit.craftbukkit.v1_5_R3.scheduler.CraftTask.run(CraftTask.java:53) at org.bukkit.craftbukkit.v1_5_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:345) at net.minecraft.server.v1_5_R3.MinecraftServer.r(MinecraftServer.java:513) at net.minecraft.server.v1_5_R3.DedicatedServer.r(DedicatedServer.java:226) at net.minecraft.server.v1_5_R3.MinecraftServer.q(MinecraftServer.java:477) at net.minecraft.server.v1_5_R3.MinecraftServer.run(MinecraftServer.java:410) at net.minecraft.server.v1_5_R3.ThreadServerApplication.run(SourceFile:573)
EDIT: Also, Shatter Blade gives free diamonds sometimes.
EDIT 2: I have 8GB of RAM and when using this plugin it eventually consumes all of it. I see no errors about the plugin in my server.log though so I have no clue what is causing it.
-
View User Profile
-
Send Message
Posted Jun 20, 2013@xTrainx I meant the exact usage of the powers.
-
View User Profile
-
Send Message
Posted Jun 20, 2013Hey sirrus, thanks for updating, but it doesnt seem to work, or maybe im doing something wrong with the groups? i mean the errors dont show any more and add people accordingly but powers still wont work and what i check the powers wiht [/powers player playername] it only show the assigned one and no the one it gets by the group
@CharServer
http://dev.bukkit.org/server-mods/s86-powers/pages/commands-permissions/
-
View User Profile
-
Send Message
Posted Jun 20, 2013This is probably just going to be another really stupid question because I can't find the documentation, but how am I expected to use the plugin? There is no record or link that shows me how to use this. - I apologize, english is not my first language.
-
View User Profile
-
Send Message
Posted Jun 20, 2013@Makemyday17
http://dev.bukkit.org/bukkit-plugins/s86-powers/pages/powers-db/
-
View User Profile
-
Send Message
Posted Jun 20, 2013Where can I see the powers and features this brings? Seems cool.
-
View User Profile
-
Send Message
Posted Jun 20, 2013Hey, thanks for updating and fixing the permissions problem. I seem to be having a problem with it on my server: when I look up a player's abilities that they get from their subgroup's permissions, it lists them under "permission powers", but they're italic and don't work unless I remove the user's subgroup, add their abilities manually, then re-add them to the subgroup. Any reason for this?
-
View User Profile
-
Send Message
Posted Jun 20, 2013@sirrus86
If I read that correctly, there are blocks that don't need XP to be picked up? I only tried it on wool, snow, stone and endstone so far.
Also whenever I remove OanAlteration, it's back after I relog.