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 Feb 13, 2013@sirrus86
No.
-
View User Profile
-
Send Message
Posted Feb 13, 2013@n33dy1
Does Power Ring even show up as a power in the database? For example /powers power.
-
View User Profile
-
Send Message
Posted Feb 13, 2013@sirrus86
Using /powers player n33dy1 powerring -o does not work.
It's not working with any of the new powers...
It also isn't adding them to my powers.yml
-
View User Profile
-
Send Message
Posted Feb 13, 2013Version 4.1.4 has been completed and is now awaiting approval, but with its completion I noticed a significant milestone has been achieved.
Back in May when I made S86 Powers v1.0 for MerpCraft, it came with three powers: Dark Regen, Fire Aura, and Pyro Bow. The powers were hard-coded to work with the players they were made for. There were no commands, no pConfig or options, and no way to disable powers.
Now, nearly a year later, S86 Powers is a much more robust, customizable plugin thanks to the contributions and feedbacks of users and admins like you! To top it off, version 4.1.4 marks the 100th power added to S86 Powers!
Thank you everyone for your encouragement, suggestions, and ideas! Heres to 100 more!
-
View User Profile
-
Send Message
Posted Feb 13, 2013@TeamCataract
lol no need to be sorry!
How the beacons work is when they're created, they're saved to the power's pConfig file and tracked. If the torch of one is on, it's considered active, and vice versa. It then does a check of all power users to see if any of them are within the needed distance (50 meters by default) of the lapis block. If so, their powers are disabled and they're added to a list. This list is then checked with each tick to see if the user has moved outside the range of all active beacons. Once they do, they get the message and are removed from the list with their powers re-enabled.
For whatever reason it sounds like the beacon is initially recorded when it activates, and is then "forgotten" somehow. If you don't mind I'd like to come onto your server and take a closer look, I'm actually surprised you can refresh it with a redstone clock as it isn't coded to work that way XD
-
View User Profile
-
Send Message
Posted Feb 12, 2013I hate to keep bearing bad news like this but I have another problem.
Neutralizer beacons just like to stop working. The switch isn't flipped, the torch is still on, and suddenly "Your powers return to you." It's almost random and will happen even if I haven't moved an inch away from the block. If I flip the switch twice it's working again, but will fail again shortly.
Maybe it's my end? I have a mess of plugins so there may be conflicts, or maybe it's just lag.
My temporary fix is attaching a redstone clock to it so the torch gets refreshed every few seconds, though the constant messages are ...distracting. p:
I'm so sorry. -.-
-
View User Profile
-
Send Message
Posted Feb 12, 2013@TeamCataract
Oh, yeah I think I made a mistake in the description coding on that one, it's already fixed for v4.1.4 I just forgot about it. Just ignore it for now, shouldn't cause any serious issues.
-
View User Profile
-
Send Message
Posted Feb 12, 2013Sorry for the late reply.
2013-02-09 23:12:39 [WARNING] Unexpected exception while parsing console command "powers power laser"
org.bukkit.command.CommandException Unhandled exception executing command 'powers' in plugin S86 Powers v4.1.3
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46)
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:186)
at org.bukkit.craftbukkit.v1_4_R1.CraftServer.dispatchCommand(CraftServer.java:514)
at org.bukkit.craftbukkit.v1_4_R1.CraftServer.dispatchServerCommand(CraftServer.java:506)
at net.minecraft.server.v1_4_R1.DedicatedServer.al(DedicatedServer.java:260)
at net.minecraft.server.v1_4_R1.DedicatedServer.r(DedicatedServer.java:225)
at net.minecraft.server.v1_4_R1.MinecraftServer.q(MinecraftServer.java:494)
at net.minecraft.server.v1_4_R1.MinecraftServer.run(MinecraftServer.java:427)
at net.minecraft.server.v1_4_R1.ThreadServerApplication.run(SourceFile:849)
Caused by: java.lang.NullPointerException
at me.sirrus86.s86powers.powers.utils.ItemHelper.getDefaultName(ItemHelper.java:183)
at me.sirrus86.s86powers.commands.ComPower.createDesc(ComPower.java:217)
at me.sirrus86.s86powers.commands.ComPower.<init>(ComPower.java:113)
at me.sirrus86.s86powers.S86Powers.onCommand(S86Powers.java:122)
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44)
... 8 more
-
View User Profile
-
Send Message
Posted Feb 11, 2013@TeamCataract
What was the message exactly?
In any case it's safe to delete the S86_PowerPack.jar file, the plugin automatically export the embedded pack the next time you run it.
-
View User Profile
-
Send Message
Posted Feb 11, 2013I haven't touched the settings for Laser, as far as I know. But here's what my options look like.
cooldown: 5s0t
player-laser-sound: true
item:
==: org.bukkit.inventory.ItemStack
type: DISPENSER
maximum-duration: 5s0t
maximum-length: 15.0
penetrate-blocks: true
restrict-duration: false
I have a feeling I didn't upgrade from 4.1.2 to .3 properly.
-
View User Profile
-
Send Message
Posted Feb 11, 2013@Amagous
I'll be sure to get it fixed for v4.1.4.
@TeamCataract
Power descriptions now change depending on the options set for them. To replicate the issue, what options do you have set for Laser? I just tried it with default options and it worked fine.
@Mitobea
All you have to do is add permissions like s86powers.use.[power] to the group, then everyone in that group will have those powers. Keep in mind since these are permission-based powers, they won't show up in the user database.
@AbstractV
This error is caused by CraftBukkit having difficulty loading the custom recipes from Polar Blade. As a temporary fix you can go into plugins\S86 Powers\powers.yml, fine PolarBlade and set it false, then restart the server. If this doesn't work, just look for the PolarBlade class in the jar and delete it. EnderBlade does the same thing, so keep an eye out.
-
View User Profile
-
Send Message
Posted Feb 11, 2013I'm the user Carambaz, was logging in previously with bugmenot addon for firefox. Finally made a curse account though since I'm here all the time now. Anyway got a new problem, appeared out of nowhere when this mod was working fine after we did the hack job deleting entities and autogun. Here it is..
09:48:47 [SEVERE] Error occurred while enabling S86 Powers v4.1.3 (Is it up to d ate?) java.lang.IllegalArgumentException: Comparison method violates its general contr act! at java.util.TimSort.mergeLo(Unknown Source) at java.util.TimSort.mergeAt(Unknown Source) at java.util.TimSort.mergeCollapse(Unknown Source) at java.util.TimSort.sort(Unknown Source) at java.util.TimSort.sort(Unknown Source) at java.util.Arrays.sort(Unknown Source) at java.util.Collections.sort(Unknown Source) at wn.sort(CraftingManager.java:148) at org.bukkit.craftbukkit.v1_4_R1.CraftServer.addRecipe(CraftServer.java :937) at powers.offense.PolarBlade.createRecipes(PolarBlade.java:76) at powers.offense.PolarBlade.loadOptions(PolarBlade.java:48) at me.sirrus86.s86powers.powers.Power.initialize(Unknown Source) at me.sirrus86.s86powers.powers.PowersHandler.initPower(Unknown Source) at me.sirrus86.s86powers.powers.PowersHandler.<init>(Unknown Source) at me.sirrus86.s86powers.S86Powers.loadClasses(Unknown Source) at me.sirrus86.s86powers.S86Powers.onEnable(Unknown Source) at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217) at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader .java:427) at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManage r.java:381) at org.bukkit.craftbukkit.v1_4_R1.CraftServer.loadPlugin(CraftServer.jav a:300) at org.bukkit.craftbukkit.v1_4_R1.CraftServer.enablePlugins(CraftServer. java:282) at net.minecraft.server.MinecraftServer.j(MinecraftServer.java:600) at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:566) at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:445) at ho.c(DedicatedServer.java:195) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:722) at fy.run(ThreadMinecraftServer.java:16)
-
View User Profile
-
Send Message
Posted Feb 10, 2013Hey sirrus86 this is one of my favorite plugins of all time but is it possible to make it so that when people join my group manager group they get specific powers? checkout my server its amedoina.servequake.com i need the powers combined with the group manager that would be awesome! Thanks
-
View User Profile
-
Send Message
Posted Feb 10, 2013Just a heads up, Laser doesn't wanna give a description. Trying /powers power laser starts to give you the proper info, then right at description a lengthy error pops up.
You probably already know of this.
-
View User Profile
-
Send Message
Posted Feb 9, 2013Hey sirrus. We tested your reset, and it works as a temporary fix. Tried twice but it spammed again both times after using the power and it expiring, even after the previous -r reset. So, yea, that's a bug that needs to be fixed for the next update. Thanks for the help though.
-
View User Profile
-
Send Message
Posted Feb 9, 2013@Amagous
First, thanks for reporting this. Second, if it happens again have an admin try reloading the power with the command /powers power HolyAura -r, which may fix it. If not, just refrain from using the power for now and I'll work on a fix for the next version.
-
View User Profile
-
Send Message
Posted Feb 9, 2013Hey sirrus86,
There appears to be some bugs with HolyShield. When I used it the first time, it consumed my glowstone, but nothing happened. No message, no flaming aura, nothing. When I used it the second time, it worked fine, except that when it ran out, it began spamming my chat with "Holy Shield has deactivated." at a rate of about 20 messages a second. After the 5 minute cool down, it also spammed "Holy Shield's cooldown has ended." at the same rate, alongside the first message as well. Relogging did not fix the issue. Attempting to use glowstone before the cooldown ended did not solve the Holy Shield has deactivated spam. Any help you can offer to this issue would be much appreciated.
Edit: Just had one of the admins remove the power from me, and it's still spamming me with the messages >.<
Edit 2: The admin reloaded the server/plugins/whatever that means when they "reload it". The error messages stopped. Still, the original problem still exists.
-
View User Profile
-
Send Message
Posted Feb 9, 2013@UrNowKoed
Yeah I checked, I missed a null check. Try /powers power Bulwark -r and see if it stops the error for now, I'll have it fixed for v4.1.4.
-
View User Profile
-
Send Message
Posted Feb 9, 2013Great, thanks! I love this plugin so much, thank you for making/maintaining it!
One more thing, the console keeps spamming this line sometimes, and I'm not sure why. Any ideas?
-
View User Profile
-
Send Message
Posted Feb 9, 2013*PLEASE HELP*
I'm still trying to figure out how to craft the enderblade,i don't know what pattern you put the items in to make it. can you please clear this up.. i know that it takes a diamond sword, eye of ender, obsidian, and end stone
thank you.