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 Mar 6, 2013@sirrus86
I understand how frustrating it can be when things don't turn out how they should its just I want to see this plugin reach its full potential so far you've done a brilliant job at ensuring its easy to use and has a range of powers and you've managed to keep bugs ect to a minimum. I know alot of other moders and plugin makers barely put in any effort compared to that of others like yourself which test constantly striving to improve.
-
View User Profile
-
Send Message
Posted Mar 6, 2013@TeamCataract
Ah you give me too much credit :P
I do want to reiterate however that I want people to feel they can report ANY issue they find with this plugin to me. I do sincerely apologize if I come across aggressive with some reports, this is NOT meant as anger towards the person reporting, but more as frustration in my own shortcomings.
-
View User Profile
-
Send Message
Posted Mar 6, 2013Y'know, if I wanted to make my character do some awesome thing outside of the bounds of normal minecraft, I wouldn't even know where to begin. What I'm trying to say is Sirrus does some really tough work. Coding is confusing and time consuming and there's always bound to be bugs and limitations. All I ask is that you give him some credit and tons of patience. ^-^
If something's not working right, find an alternative until the fix comes around.
Not saying anyone here has been rude or impatient, I just felt the need to put that out there ._.
Thank you.
-
View User Profile
-
Send Message
Posted Mar 5, 2013@TotalPotato
I apologize for my previous comment, I get frustrated when I can't get things to work right. It's not your fault and I shouldn't have taken it out on you. I'll take another look at Celestial Pillars and see if I can improve on it for you.
-
View User Profile
-
Send Message
Posted Mar 5, 2013@TotalPotato
Let me start by saying the power I am the most disappointed with is SnowMiser. Everything about it works fine, EXCEPT for freezing players. Sure, to everyone else it looks like they're frozen, but have someone use it on you then try to move. That jittering you see, to me, is a failure on my part to make that power work correctly.
To test the effectiveness of the current version of Celestial Pillars, from inside I threw two full stacks of snowballs at the invisible walls. Granted they bounced fast enough to hit the opposite walls on and on (they bouncing velocity is based on the entity's previous velocity), with the exception of some that bounced their way over the top none of them made it out until the effect ended.
Next I spawned about twenty skeletons, then created the pillars near them. None of them could pass the pillars, and their arrows were reflected away. Nothing got in, with the exception of one skeleton that somehow got wedged between a block and the barrier and stuttered awhile before being bounced in.
For my final test I stood near a corrupted chunk (I use this to simulate lag, as it never stops trying to load), spawned a few zombies and made pillars. Between a few short lag spikes some of them DID manage to get in.
Before using the bouncing method, I tried several others to simulate a solid barrier rather than a reflective one. Below are some of the methods I tried:
The point I'm trying to make is, if you request a power and it doesn't come out exactly as you imagined it, it's probably because I couldn't get it to work that way. While powers like Nightcloak come out perfectly after only maybe an hour of coding, powers like Celestial Pillars can take as long as several days where I'm pounding my head on my desk in frustration because I can't get it to work as intended. In the end, I pick the most polished method I can and go with it.
I'm not mad at you, if anything I appreciate you trying to help me improve a request. But realize there's only so much I can do to make things work a certain way. And if you think this is bad, imagine this: I started work on a power back before v3.2.6 (that was September) that I've had to rework and rebuild countless times because of limitations. In the end it'll be nothing like what I imagined, so trust me I understand.
-
View User Profile
-
Send Message
Posted Mar 5, 2013@sirrus86
If the jittering effect stops after the power deactivates that sounds like the best way to do it as currently like i said mobs can push their way in and i presume players could if mobs can
-
View User Profile
-
Send Message
Posted Mar 5, 2013@Palkia1208
I've actually identified the errors in Kunai, HolyShield, and LivingFlame. Unfortunately until v4.1.6 is done Kunai won't work, however until then you can fix the chat spam of the other two powers by resetting them with /powers power [power] -r. Note the spam will come back when the cooldown expires. I'll keep an eye out on the other powers to see if any others have this oversight.
@TotalPotato
Moving too quickly through webs while not in creative mode causes a "Player moved too quickly" error in Bukkit, which then tries to teleport the player back to where they came from. This also wouldn't have any effect on spiders.
-
View User Profile
-
Send Message
Posted Mar 5, 2013@sirrus86
How about if its cobweb? It'd stop mobs attacking since the power would wear off before a mob could walk through it and it isnt a solid object for players to get trapped in
-
View User Profile
-
Send Message
Posted Mar 5, 2013@Faldonboy
@sirrus86
It's also doing that for Living Flame. It just spams "Living Flame has deactivated"
-
View User Profile
-
Send Message
Posted Mar 5, 2013@TotalPotato
In a roundabout way, yes. You can create real blocks then send packets telling players they're air, in essence making them invisible. Mobs will still know they're normal blocks though, and any player who tries to walk through them will get a jittering effect similar to when you walk into an unloaded chunk.
-
View User Profile
-
Send Message
Posted Mar 5, 2013@sirrus86
Is it possible to make a dome of invisible blocks? That could be useful for alot of powers
-
View User Profile
-
Send Message
Posted Mar 5, 2013@Faldonboy
I've received similar reports about both of these powers in the past, I'll take a look at them.
-
View User Profile
-
Send Message
Posted Mar 4, 2013Kunai - doesn't work at all for me, I can throw the flint but if it hits a mob it just bounces off and drops to the ground and doesn't do damage.
Holyshield - if you deactivate it manually by left clicking with glowstone again the message "holy shield has deactivated" spams until the power is reloaded.
-
View User Profile
-
Send Message
Posted Mar 4, 2013@spawnstah
Glad I could help! Hope your players enjoy it!
@TotalPotato
Star Strike requires you have the actual cursor over the entity you want to attack. There can't be any non-air blocks in the way either I don't think.
Celestial Pillars makes mobs bounce because there's no good way to stop them. Unlike players, mobs don't have an event that tracks their movement, so it's difficult to track where a mob is coming from and where it's going, and even if you stop a mob from moving past a certain point, if it decides to move in that direction again it isn't registered (trust me, I TRIED to make it work that way). If entities are bouncing too much you can turn it down with the option "reflect-multiplier", but if it's too low entities will probably still be able to move through them. As for the blocks, I'll see what I can do.
-
View User Profile
-
Send Message
Posted Mar 4, 2013Most of the new powers are working pretty good, the start strike isn't working for me at all though and the celestial pillars once the time is up only the center glowstone disappears and it seems mobs can get though the barrier because they bounce around instead of been stopped. Nightclock and linchborn are working great for me though!
-
View User Profile
-
Send Message
Posted Mar 4, 2013Wonderful, thanks for the explanation. It all makes sense and answered all my (current) questions. You should copy & paste that text to the main page ;)
Will install this plugin, I'm confident the players will love it.
-
View User Profile
-
Send Message
Posted Mar 4, 2013@n33dy1
Whyyyy I haven't changed anything in it since it last worked... Alright, I'll look at it.
@spawnstah
I know, I'm terrible at documenting stuff... I put most of my attention into programming, so TeamCataract's been helping me lately. I do intend to add a FAQs section on the main page, but in the meantime...
By default a player can have a total of three powers: one offense, one defense, and one passive. Should they add a fourth power, it will replace the previous power of the same type. This can be overcome using the override command, /powers player [player] [power] -o, which will add the power regardless of what's currently assigned and without replacing any previous powers. Note that the override command can only be used by players with the s86powers.admin permission, the console, and ops.
All powers must be assigned individually, though I'm in the process of adding a feature that'll let you apply all powers that follow a certain trend (for example, giving a player all fire-based powers, etc).
There is a seperate feature in S86 Powers called groups, where you can assign a group of powers to a group of players at the same time.
For example: You create group "FireUsers" and give it FireAura and PyroBow. Then you add player "Player1" to the group who already has FireAura and Eldruin. Player1 will now have FireAura, Eldruin, and PyroBow (notice he has two offensive powers yet an override was never needed). Next add "Player2" to the group who has DarkRegen, Adaptability, and EnderBlade. Player2 will now have DarkRegen, Adaptability, EnderBlade, FireAura, and PyroBow. Should you remove FireAura from the "FireUsers" group, Player2 will lose the power since they didn't previously have it assigned, but Player1 won't be affected since they did.
If you have anymore questions let me know!
-
View User Profile
-
Send Message
Posted Mar 4, 2013I find the concept of this plugin very interesting, but the documentation is a bit thin...
How many powers can a player have at the same time? Is that possible to configure, so some players can have more powers than others?
Do you guys apply powers to individual players, or do you combine the powers into groups that can be assigned to players? Is it possible to use a mix? Individual and Group Powers, how does that work?
What's the best approach?
Thanks for answering.
-
View User Profile
-
Send Message
Posted Mar 3, 2013Aquaphile seems to have quit working in 4.1.5
-
View User Profile
-
Send Message
Posted Feb 28, 2013@No1Griffster
No one's mentioned it not working, so my guess is it'll work fine. If not let me know.
@DuffstersATL
Actually Spout support was one of the first feature requests when this plugin went live. The problem is between the power requests and bug fixes it's hard to make time to add a feature like that, but should I ever get caught up I'd be all for checking into it.
As for effects, unfortunately Bukkit only lets you do so much, and from research my understanding is many particle effects (such as beacon beams and ender crystal beams) are purely client-side, so creating them is impossible at this point. I am however always improving on using various effects, and when I figure one out that'd work good for another power I try to go back and apply it.