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 5, 2012@n33dy1
Actually that fire you see is purely client-side, you'll know it is if you step in it and don't ignite. There's no way to prevent this from the plugin since it's actually caused by the client trying to react to a normal lightning strike.
@Faldonboy
I'll take a look at Geomancer, right now the overhaul is my priority though so it'll be awhile.
@LazarusVec
Hybrid! Heh yeah they're both passive powers so it probably wouldn't work out.
-
View User Profile
-
Send Message
Posted Sep 4, 2012Lol i tried to be a combination werewolf vampire didn't work very well though but thats ok it was trying to switch between the vampirism speed while sprinting and the lycanthropy speed at the same time :)
-
View User Profile
-
Send Message
Posted Sep 4, 2012I'm actually having trouble with geomancer too, two days ago out of nowhere it just stopped working randomly sometimes it works sometimes it doesn't
-
View User Profile
-
Send Message
Posted Sep 4, 2012Can you please make it so the ghost fire (the fire that doesn't hurt you) from the Thunderbow spell goes away after like... 15s? Or a configurable amount? It's kind of annoying seeing everything on fire lol I don't wanna' have to relog and /ex radius won't fix it. Also if you could make the lightning not start immediately with the arrow but maybe 1 or 2 seconds after so when you shoot it doesn't put fire at your feet? Sometimes it looks like I catch myself on fire because the lightning strikes as soon as I shoot it. Especially if I have an angle where I'm pointing more towards the sky.
EDIT: Also I cannot get Geomancer to work. It won't throw dirt or cobblestone anymore.
-
View User Profile
-
Send Message
Posted Sep 4, 2012@sirrus86
Great :P
I like your idea to rewrite. If you want me to help I can (as long as I get some credits :) )
Also I've sent you a pm -Fletch
-
View User Profile
-
Send Message
Posted Sep 4, 2012@fletch_to_99
Thanks for all your help. I took the project being deleted issue as a blessing and tried to get a repository working again using an empty project, and finally succeeded. You can view it here, but please don't commit anything to it yet.
I've also decided to go ahead and begin reworking the backend, meaning it's gonna be awhile before the next release. In the meantime I'll upload the last version I made, which includes fixes for StormChaser and has Lycanthropy finished.
To those who have "bribed" me, if your powers have not been completed I am offering a refund of your donations if you desire, if not your requests well resume as priority once the overhaul is finished.
-
View User Profile
-
Send Message
Posted Sep 4, 2012@sirrus86
If your need some help with MySQL look @ my plugin monsttickets it uses MySQL to save to the db. As for your 'powers' and 'power packs' idea I would suggest that you look into monsterirc's plugin loading system. It would work great for your idea and it would really open up the potential of your plugin. You can view it here: https://github.com/Monstercraft/MonsterIRC/tree/master/src/main/java/org/monstercraft/irc/ircplugin
Again my implementation could have been much better for my plugin loading system but it was never actually used that much so I didn't bother to fix it up.
Hope that helps!
-Fletch
-
View User Profile
-
Send Message
Posted Sep 4, 2012@fletch_to_99
Ah, you seperated each command into its own file, I like that. Lot less messy!
My biggest mistake in trying to get the plugin on GitHub was not having a backup before I attempted it. I'll try it again at some point, as I know there are huge advantages to it.
I agree, saving users to MySQL would probably be more efficient for high-population servers. I've worked with it a little bit, I'll just need to learn how to implement it into the plugin. Which brings me to my next point...
My plan for S86 Powers v4.0 is to overhaul a lot of the backend code, including adding an API. The API can be used by other plugins, but its primary use will be for power developers. I'm going to make it so, if someone who likes the plugin and knows how to code wants to make their own powers, it can interface and be "imported" into my plugin. This will also give server admins the freedom to choose which powers they want simply by adding or removing power packs. Overall this will take a lot of pressure off me, allow other developers to get in on the action, and give admins more freedom and control.
The reason I mention this is because that's probably the point when I'll start fixing up the backend stuff like the command executor and using SQL over YML.
@LazarusVec
Vamprisim - Great minds huh? I was thinking the same thing while making Lycanthropy.
FOV - Another user brought this to my attention earlier, this will be fixed in v3.2.6. Lycanthropy wasn't finished for v3.2.5 but is now complete, the wolf even follows the player exactly now and armor can't be worn. Iron tools and weapons also cause double damage while in wolf form.
-
View User Profile
-
Send Message
Posted Sep 4, 2012also in lycanthropy on full moon you can still wear armour :)
-
View User Profile
-
Send Message
Posted Sep 4, 2012I have noticed with lycanthropy and with storm chaser when at the time (in storm or full moon depending on power) the FOV rapidly changes and makes it almost immposible to play and also the powers like strength and speed turn on and off rapidly to. just a little bug for u to fix :)
-
View User Profile
-
Send Message
Posted Sep 4, 2012I was thinking about something that maybe you might want to add to vampirism. Maybe you could add a strength aspect to it but make it so you can be killed very easily by wooden swords (like stakes :P). Just a suggestion. :)
-
View User Profile
-
Send Message
Posted Sep 4, 2012@sirrus86
Ouch that sucks :s I could set you up on github if you want. I'll send you my changes when I get home from school.What I would also recommend is seperating up your commands like I did in monsterirc. It's easier for adding future commands or making modifications. You can copy how I did it in monsterirc if you want: https://github.com/Monstercraft/MonsterIRC although my implementation could have been a bit better.
Secondly you should offer up the option to save the users to MySQL. The only reason I recommend this is because our ram disk is 96% full lol.
-Fletch
-
View User Profile
-
Send Message
Posted Sep 4, 2012@LazarusVec
To list powers, use the command '/powers power', then use '/powers power <name>' to look up each one.
@n33dy1
Yes well that's gonna be rather difficult. For one I'm a lot more busy than I was before, some powers take hours to create and I don't always have that kind of time. For another, in case you didn't read my reply to fletch, I inadvertantly deleted all the project source files, setting me back a few hours to rebuild it again.
-
View User Profile
-
Send Message
Posted Sep 4, 2012Yeah these updates need to come rollin' out much more frequently. This plugin is too good to be suspenseful. It needs to be like.... omg-wut-is-this-heaven-look-at-all-these-powers-every-other-day-jeez etc.
-
View User Profile
-
Send Message
Posted Sep 4, 2012Thanks cant wait for the next update it gonna be awesome :). Also how do you list powers in game.
-
View User Profile
-
Send Message
Posted Sep 3, 2012@LazarusVec
I just finished Lycanthropy. At level 30+ the user can transform at will during any night by using an item, but is still forced on full moons.
@RandomSomething98
Psychotic - That's harder than it sounds, I'd have to add a check in each power using packets to prevent the update from reaching the user.
@Mantis1993
You can change the trigger item in pConfig, I set it as ender pearl by default because it's an easier material to come by.
@fletch_to_99
I understand and appreciate your intentions, but in an attempt to get my plugin on GitHub the entire project got deleted. Thankfully I have a .jar from earlier this afternoon, but I'll have to decompile it and rebuild the plugin one class at a time. Maybe sometime in the future when I'm feeling more adventurous I'll try it again, but for now I'm sticking to Dropbox.
If you'd be so kind please upload what you have and PM me a link so I can ammend it to the rebuilt plugin.
-
View User Profile
-
Send Message
Posted Sep 3, 2012@sirrus86
Hey man I did a general cleanup of the code and that seemed to fix our lag issue. It was really strange and I could not pinpoint the exact issue. I ended up removing areaapi from it because I didn't have it fully implemented and I don't have the time to implement it right now. If you have that github set up I can commit my changes and you can pull them in.
-
View User Profile
-
Send Message
Posted Sep 3, 2012just tried out Ender Posse. thank you for adding this power its perfect for the server.
but if you get a chance can you update it too be the eye of ender instead of the ender pearl because some of the players using Ender Posse also have soul shatter and it keeps killing their endermen xD
-
View User Profile
-
Send Message
Posted Sep 3, 2012I had an idea for another power! Phsycotic- A passive power, the player is prone to potion effects like confusion and stuff, but also can see players that are using powers involving packets, like Decoy, Pig Fever, etc.
-
View User Profile
-
Send Message
Posted Sep 3, 2012kool that sounds great thanks :). I hope you find a way to make u transform every night at level 30 or willing with command if admin with permissions or something. I don't know much about plugins anyway :P