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 Sep 3, 2012@PsychoFad
I know right! And glad to see the other author is adding a fix to prevent infinite loops in the future; mine probably isn't the only plugin to create recipes like that.
@n33dy1
Lol dude I work in retail, I don't get Labor Day off! Well, actually, this does happen to be one of my days off... I'll see what I can throw together.
@LazarusVec
My plan is to make it so a user at level 30+ can transform into a wolf at will on non-full moon nights (it'll still be automatic on full moons), though even with this I know it seems a bit underwhelming.
-
View User Profile
-
Send Message
Posted Sep 3, 2012Kool thanks for making the lycanthropy power but right now i think it seems a little under powered if it is only on full moons. Just sayin :P
-
View User Profile
-
Send Message
Posted Sep 2, 2012Go into The End with Diversion on, gather up some Endermen, then hit one. They will still go after you and not the clone. Also, hope to see another release tomorrow or the day after. Tomorrow is Labor Day so no excuses slave. =o lol dude this plugin is the bestest ever. Need tons of more powers... it makes awesome variety in PvP. People mine and mine and sell stuff to get monies to buy the powers from me at different prices and it gives them something to do and makes them feel cooler.
-
View User Profile
-
Send Message
Posted Sep 2, 2012@sirrus86
That fixed it!
THANK YOU!
I would have never guessed that would be it! You're Awesome!
-
View User Profile
-
Send Message
Posted Sep 2, 2012@PsychoFad
After reading over the description of the Value plugin I think I know what's causing the error.
The power you need to disable is Polar Blade, and after disabling it you'll probably need to stop and restart the server. Polar Blade introduces two recipes to the server's recipe database that uses a gold sword for both an ingredient AND the result. With the Value plugin this will probably cause an infinite loop; the resulting gold sword is worth more than the ingredient sword, inflating the value of the ingredient sword and thus the resulting sword, etc.
Unfortunately the only way I can think to fix this would be to disable the power. I'll leave a comment on the other plugin's page to notify the author of the conflict.
-
View User Profile
-
Send Message
Posted Sep 2, 2012I'm having a problem. This plugin effectively breaks the Value plugin:
http://dev.bukkit.org/server-mods/value/ for selling or checking the value on GOLDEN_SWORD. I noticed that just one of the powers uses it but locking it doesn't fix the issue I'm having. Any way you can make a fix for this? I am trying to make an RPG type server with a robust economy and this is a game breaker. I really want to keep this plugin in the mix but I need Value for the economy. Please HELP!
-
View User Profile
-
Send Message
Posted Sep 2, 2012@breezeyboy
Well if all is working properly, a reload shouldn't be necessary too often... I only recommend them when there's some kind of persisting bug (e.g. Thunder Bow's infinite lightning arrows or Cookie Stars' "kill spots"), and that's only until I can get it fixed.
The person below wanted to disable certain powers, if his server's already running he can either reload it now or restart it later, but the power locks don't update until one of those two occurs.
-
View User Profile
-
Send Message
Posted Sep 2, 2012<<reply 925233>>
lovey plugin, using on my server and NO don't reload, causes menory leak
-
View User Profile
-
Send Message
Posted Sep 2, 2012@NarwalNinja
In plugins/S86 Powers/pConfig.yml under 'powers' there should be 'NeutralizerBeacon' and 'NeutralizerGrenade', each of which should have an entry that says '-lock'. Just set each of these true, save, and reload the server.
-
View User Profile
-
Send Message
Posted Sep 2, 2012How do you turn off beacons and grenades?
-
View User Profile
-
Send Message
Posted Sep 2, 2012@n33dy1
I saw your message before uploading v3.2.5 and it should now be fixed.
@Faldonboy
Zombify - There's always something... The best way I know of to force a mob to attack a specific target is to simulate it being damaged by the target (for those who know the code, before you even think "use setTarget", that doesn't work with zombies and skeletons due to the new mob AI). I'll look into it.
StormChaser - The FOV change is due to the speed boost. I forgot to make the power force the effects every tick, so it's only adding them when they're not already there. Should be fixed for v3.2.6.
Lycanthropy - Release notes: "Note: This power is unfinished, but can be tested at your own risk." Part of the reason why this release took so long was because of this power. It's still in a testing phase, hence why you can see the wolf you're supposed to turn into. I have no idea why the wolf won't mimic the user perfectly, as I'm basically using the same code plugins like DisguiseCraft and MobDisguise use, which in my experience have worked much better. Interacting and armor don't work because I was trying to get movement to work before adding anything else.
-
View User Profile
-
Send Message
Posted Sep 2, 2012k, so the new version did fix zombify mobs from dying right away but now they just walk around doing nothing, they won't attack anything and also take damage whenever you do. They also don't disappear after their lifespan is over.
Stormchaser is...unstable? During a storm my FOV changes rapidly and the strength and speed boosts flash in and out ever second
I'm not sure how lycanthropy is supposed to work but for the player under it's effect you can see a summoned wolf that stays 10 blocks away that mimics your movements, the power does the same thing as stormchaser too, the FOV rapidly changes and the effects flash in and out every second the power also isn't preventing armor equipping or using doors/levers
As a side note, enderposse and webwall work perfectly
-
View User Profile
-
Send Message
Posted Aug 31, 2012Geomancer kills people randomly when they walk by and makes them lose their stuff. This happens without even moving... they just walk by and they die like 3x somehow and lose their stuff.
-
View User Profile
-
Send Message
Posted Aug 31, 2012@fletch_to_99
Hey if you've already gotten AreaAPI to work in place of WG for neutral regions that'd be awesome!
I'll try the git stuff tomorrow after work, not so worried about the source being out anymore.
-
View User Profile
-
Send Message
Posted Aug 31, 2012@sirrus86
To make the use of github easier you could use the gui found here: http://code.google.com/p/msysgit/downloads/list
http://nathanj.github.com/gitguide/tour.html <- Is a pretty good starter guide.
Edit: Refering to your other comment about reload I don't think there would be a way to unload your plugin from memory without requiring a restart or /reload. Once you unload your classes from memory there will be no way for you to reload them unless you had a second plugin which would do that. Not sure if thats even possible as I havent messed around with classloading that much.
-
View User Profile
-
Send Message
Posted Aug 31, 2012@sirrus86
I could implement AreaAPI right into powers much like metrics. Then powers would have no depends. I'll leave that up to you before I completely rip out wg.
-
View User Profile
-
Send Message
Posted Aug 31, 2012@n33dy1
'/powers reload' simply disables and re-enables the plugin, so it doesn't always fix stuff. What I WANT it to do it unload then reload it, but I've yet to find a way to unload a plugin without reloading the server.
@fletch_to_99
Well I guess that's good and bad news lol. I can add some code to have my plugin prefer AreaAPI over WorldGuard if it's available, but I know a LOT of servers use WG so I don't wanna drop support for it.
I actually already have a github account, I just need to get the hang of using it heh. BukkitDev seems to support Git repositories, and I'm using it, but it doesn't seem directly accessible from the web. I'll make a point to get it on github at some point.
-
View User Profile
-
Send Message
Posted Aug 31, 2012@sirrus86
I've been unable to find what is causing the server to lag. The funny thing is I can't replicate it on any of my test servers using only powers alone so there may be a conflict with another plugin. I'm going to make a copy my production server and see if I can resolve the lag issue. I've also dropped the need for worldguard and implemented my area api (its more light weight and easier to use).
If you wish to revert back to requiring worldguard/world edit just let me know. The dev api I'm using now can be found here: http://dev.bukkit.org/server-mods/areaapi/
Edit: It would be great if you could set up a github so I'm not missing out on any changes that you do. It will make merging our two final versions much easier.
I've been busy working on another project (http:jurregb7.seven.axc.nl/Fletch/) so I haven't had much time to look at powers but I hope to look at it more in depth this weekend before school starts next Tuesday!
-Fletch
-
View User Profile
-
Send Message
Posted Aug 31, 2012@sirrus86
Lol. Great minds think alike :P
-
View User Profile
-
Send Message
Posted Aug 31, 2012I did a /powers reload but I didn't try a /reload
Almost 10 days since the last release. =( This is the best plugin I know of so far.