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!
@timothypolis
I'll update "The List" when I get some time. The list is constantly growing however, and I've made it available more to give people an idea of my workload rather than a documentation of requests.
@Humanfiend
1. Tamer - I can do this, but I'd need a way to specify which cat/dog to teleport to, as a given player can have multiple pets of each type.
2. Jesus - To avoid upsetting any users of the plugin I can't have a power reference something religious. With that in mind, I can do my best to make a power where the user can walk on water.
3. Cleric - There used to be a power called Sanctify where the user could right-click glowstone to heal all nearby players, I may bring this back. A direct heal could also be another power.
4. So basically make the player act like they always have Fortune? I can do that.
5. Unique drops would be a cool idea, I can add that.
6. Saint's Cross - I like this idea! You got it.
7. No Guts, No Glory - Martyr offers a similar effect where the user's resistance increases as they lose health. I could add another effect to make up for the "explode when you die".
8. Photosynthesis - Update to v3.2.4 lol.
Human-Landfill - So... like you're eating blocks are you dig them? Lol okay you got it.
9. The Griefer - Too similar to Human-Landfill, I'm trying to avoid doing too many similar powers.
10. Potion Siphon - I like this! Power Theft with a twist, you got it.
11. Five-Star General - This would work MUCH better after I get Factions (and similar plugins) integration, but I like the idea.
@Fettdamn
You can override the 3-power limit using the command '/powers player <name> <power> -o'. This adds the power regardless of what they already have assigned.
@fletch_to_99
WeakHashMaps... why didn't I think of that lol. Thanks for that, I was in the process of creating a Map-cleaning function.
I'll get on IRC when I can.
@Humanfiend
Is it? That's the command for deleting a player from the database, I thought players could only have 1 offense, 1 defense, and 1 passive.
@Fettdamn That's already done. Believe the command is ./powers player <name> -d <power> I could be wrong.
@sirrus86
You could always use a weakhashmap which will automatically remove null elements. You can read more about them here: http://onjava.com/pub/a/onjava/2001/07/09/optimization.html
However I know this isn't the issue. I look forward to chatting with you and hopefully figuring this out. I'm usually on irc from 1:00 pm to 1:00 am GTM -4
Hello sirrus, I was wondering if you could remove the 3 power limit. It would be awesome if you could do this, thanks!
Dear sirrus86,
I thank you with working with fletch on this lag issue. I do plan on "bribing" you for all your hard work ^-^ (i'll just dangel $ infront of ya to...motivate? >:D) Hoping on using this plugin to offer "truly unique pvp" to our server here.
Some power suggestions from most my server, add/or not add to your leisure:
1:Tamer: Allows the player to teleport to their cat/dog. one cat and one dog. Useful in pvp due to the dog/cat being killed. Commands could be /pte dog and /pte cat (player to entity) or use an item leftclick. Passive by: Iceyshrooms
2: "Jesus?": Walk on water with item being consumed every so often. passive or defensive By: Shermdog
3:Cleric: Heal nearby allies by seting a temporary field or using an item/rightclick to use on ally you want to heal. (perfer the item) defensive by:Shermdog
4. When you mine any ore such as Diamond, or Coal Ect. It sometimes acts like you have a fortune pick, and will drop multiple ores. (If you have a fortune pick, this will not effect it) Similar to Jackpot but just dropes the ore you find. Passive By: Paulrocks39
5. (That we're not spawned from a spawner. To avoid exploits. Similar to how in MCMMO you don't gain skill from killing things from a spawner) They have modified drops! Imagine, killing a creeper, and it popping like a pinata with cookies! It would modify the drops so Creepers have a certain % of dropping Cookies or something, Spiders could drop webs, Zombies could have a 1/100 chance to drop a golden apple or something. Passive (I think, hard to define) By: Paulrocks39
6:Saint's Cross: Something along the lines of having lightning strike down on four sides of you with a cooldown of 30 seconds or a minute. Could consume a blaze rod too ...or 4 hah. would be offensive.
7:No Guts, No Glory: When you are down below half health you have damage resistance (15-20%?) and maybe another effect? have a slight knockback boost. passive perhaps?
8:Photosynthesis: your hunger refills faster in sunlight and maybe health too. Could maybe also move faster while having decreased stats in the same areas at night.
Human-landfill: Whenever you dig (or maybe consume) dirt (or another common block like stone or leaves) you regenerate health for a short time but you will get 'full' after a set number of blocks (and hearts regenerated) and have to digest it for a bit (in other words, cooldown)
9:The Griefer: a spin-off the above power except make the blocks cobble and wooden planks and such consumeable for health. Gain health while griefing.
10:Potion Siphon: Copy whatever potion effects someone has when they hit you. Also maybe copy their offensive power. This would be offensive power.
11:Five-Star-General: I liked the leader power on the list (cant remember the name) so I thought some clan leader powers could be nice. This one would have you use a piece of wool as a so called "banner" to inspire your men. whatever color of wool would decide what buff your team gets in a certain radius around you. For example red wool could be used as a health buff that either heals clan-members only (so you dont heal the enemy in the thick of it) or gives a health boost before the fight. can use whatever you want for the different colors (and that's a lot of colors x.x) of course would consume the wool and probably need a cooldown (either for a specific color or, more likely, the power in general)
6-11 by: BrassKnucklehead
Could you update the "list"?
@fletch_to_99
I did determine one possible memory leak in my coding, some HashMaps don't remove offline players or dead/despawned entities. I'm fixing this for v3.2.5 but that alone can't be causing lag that quickly. Jackpot doesn't use HashMaps or the scheduler...
What's worse is I can't replicate the problem. I use my computer as a test server and it has 16GB of RAM as well.
I'll come on IRC later today and we'll discuss this, I really want to get to the bottom of this. Thanks for helping me figure this out!
@sirrus86
Hey I just ran 3.2.4 with only jackpot enabled and the server still started to lag massively after 5 mins. I know its not our specs, were running on an i7 with 16gb ram. This makes no sense considering everything else is running smoothly. If you need me to test more stuff you can catch me on IRC as always :)
Thanks,
Fletch
@ChaosGamerNick
Polar Blades can be crafted using snowballs or snow blocks, and a gold sword.
SN = Snowball SB = Snow Block GS = Gold Sword
Normal Polar Blade SN SN SN SN GS SN SN SN SN
Strong Polar Blade SB SB SB SB GS SB SB SB SB
Note there have been some reports that Polar Blade crafting occassionally doesn't work, but it's supposed to give you a gold sword with sharpness.
How do you craft a Polar Blade?
Thank you!!!
@fletch_to_99
I can when I get a chance.
@timothypolis
Chakra Heal - Sounds good, you got it.
Gentle Fist - Sure thing.
Byakugan - So... one of the powers is xray? Dunno how well this would turn out, but... I could give it a shot.
@TRR1994
Heh yeah I will probably after the next update, I know I'm slacking.
Hey, if you wouldn't mind would you update your Powers database? Thanks alot!
I have some power requests: Name:Chakra heal Tag:chakraheal Function: If the wielder is within 5 blocks of active redstone wire, they will start being healed. If they are poisoned, the huger and health will stay in the same place until milk is drunk. Name:Gentle Fist Tag:gentlefist Function: If the wielder hits an opponent with redstone, it deals twice as much damage as fist. It takes 1/2 a hunger mark every 3 attacks. Name:Byakugan Tag:byakugan Function: When holding a configurable item (default would be a redstone torch), the user can see through any wall within 10 blocks and will only see things that have a function (chests, enchantment tables, crafting tables, redstone, tnt, etc.) Reason: I have a server, and I want to make a clan that has the 2 latter abilities. I also have a room in a temple that has redstone that is supposed to be use for people who are almost dead, or are dying from poison. This would be EXTREMELY appreciated.
@sirrus86
Hey, could you possibly hop on irc.esper.net #MonsterIRC I would rather not give out specifics here.
I'm usually on there, if you see me just pm me or highlight me in #monsterirc and I should respond. I also know it isn't metrics causing the lag because 30 of our plugins use metrics, along with 6 of mine.
Thanks
@fletch_to_99
My only guess is mcStats. I did some quick research and it apparently can cause lag on some servers. Fortunately it's easy to disable, just go to plugins/PluginMetrics/config.yml and set opt-out to true.
If this doesn't work... well, guess I'll need more info on the server, number of players, etc.
@sirrus86
Hey I locked all of the powers except the ones we were using. I also switched from cookie stars to gunblade but it still caused the terrible lag.
@RandomSomething98
Grenade - Ah gotcha, yeah I can add an option for that.
pConfig - Ooh so the file itself is called "S86 Powers/pConfig/yml"... Thought I'd fixed this >_< What operating system does your server use? In any case you can delete that file, the plugin only works with the one in the folder.
Webslinger- Thanks for clearing that up.
Neutralizer- I mean that I'd like a way to still use the neutralizer grenades when hit by one.
pConfig- It seems to make an extra file in the plugins folder called S86 Powers/pConfig.yml, and yet I still get the pConfig.yml file in the folder.