Punishmental
"I... I... I turned him into a Potato? / Did I just troll the entire server?" - ZexyZek.
WARNING: Hi guys. Soooo I kinda accidentally deleted the translation server that Metro and Arab were using. Whilst I put it back online, using those punishments will now make the targeted player be racist and controversial. In English.
Deliver punishments on command, when players enter restricted areas or when players do banned actions! 80 Punishments! Suitable for lax/strict administration, AND/OR messing around with friends. AreaProtect means you can punish players for going places they shouldn't, automatically! THE ONLY PLUGIN THAT LET'S YOU TURN OTHER PLAYERS INTO POTATOES! Bug/Compatibility issue fixed (Will no longer task-crash).
Rated in TechShout's Top 8 Minecraft Plugins!
OVER A MILLION YOUTUBE HITS, WITH A VIRAL SERIES
200,000+ DOWNLOADS, RUNNING ON MORE THAN 2000 MAJOR SERVERS AND COMMUNITY APPROVED!
LATEST STABLE DOWNLOAD (1.7.2): CLICK THE DOWNLOAD BUTTON TO THE RIGHT
or, Click here for other versions (right down to CB 1317!!!!!)
Quote from MrMeola:"The best thing to happen to minecraft since ever"
Quote from Grant1222:"This plugin is amazing! My favorite one to use is the Creeper one because it scares the crap out of them!"
Quote from KevinEssence:"Awesome Plugin"
Quote from ShockBuddy:"This is very funny"
Quote from Patrick1239870 - http://gldesert.com:"Got punishmental on my server - its the best "
Quote from CommodoreAlpha:"It's great for making command-based traps. I use this plugin very often in creating traps for my dungeons... All thanks to the awesome range of options within this plugin!"
Quote from Macklemore:"This is f
king awesome"
Punishmental allows ops/those with the right permissions to punish or kill other players in a variety of ways. Punishments are issued from a command, and there are 80 ways currently. It can also be as simple or complex as you like: One command to do simple things like strike a guy down with lightning to the really complicated stuff, like spawning one creeper every second near him! You can also set up areas that only set players are allowed to enter, whilst all others get exploded, set on fire, thrown off a cliff, hit by lightning, blown up by a creeper, teleported to the nether, teleported somewhere else, stalked by an enderman and even made psychotically unstable (see the 'Paranoia' punishment). And with Autopunish, It's never been easier stopping players from breaking the rules. Nicely or nastily, you decide.
Features
Allows 80 punishments to be issued from a single command: either /p or /punish. The punishments can do various things to the player, like exploding them, making them fall in a nether portal, blinding, punching, or spawning a herd of creepers near them. /punish [username] [punishment] is the base command (and you can swap round the username and punishment) but you can add repeats and other stuff (see the section a bit further down this page). If you want to punish players going to a certain area of your server, check out the AreaPunish section a bit further down.You can also set punishments to happen if a player uses a certain item or places a certain block. Great for stopping people using TNT or trying to use fire/lava/water.
It couldn't be any easier.
Great for large servers wishing for an alternative to banning/kicking or automatically stop greifing, all the way down to small servers that run a few friends who just want to mess about!
Punishments
Punishment | Description |
---|---|
fall | Kills the player by dropping them from block 200 |
explode | Detonates the player in an explosion, 'spontaneous internal human combustion' style |
strike | Hits the player with a lightning bolt |
burn | Sets the player on fire |
hounds | Releases a wolf next to the player |
end | Kills the player with no apparent cause - also ends any infinite punishment |
infall | Makes the player fall constantly without ever touching the ground |
Creeper | Spawns a creeper next to player |
web | Webbing: Surrounds the player with webs, slowing their movement (undo any damage done by this by doing "/punish restore") |
void | Void: Teleports the user to the void |
invoid | Infinite Void: Teleports the user to the void and maintains their health, making them stuck |
lavablock | The next block the player destroys becomes lava |
hole | Digs a 25 block deep hole underneath the player, dropping them to their death |
teleport | Teleports the player to a random location, distance set by config file |
freeze | Freezes the player in place - they can't move or interact until ended |
irongolem | an irongolem is spawned behind the player, set to target them |
fexplode | Same as explode, but with health targets and no environment damage |
fstrike | Same as strike, but with health targets and no environment damage |
hailfire | Throws a fireball from the sky at the player |
blind | Reduces the players view to about 3 blocks, after which it fades to black |
drunk | Makes the player's view turn wobbly and unstable. Very Confusing |
starve | Makes the players hunger bar enter the "Starved" stage |
slow | Halves the players normal moment speed |
poison | Makes the player poisoned |
strip | Removes all the players items |
nether | Teleports the player to a random spot in the nether (note that while this won't teleport them inside a wall etc... this may be above lava) |
floorportal | Turns the ground underneath the player into a portal |
chatroll | Makes the player say the text you put >ADD TEXT TO SAY AFTER DELAY, in [special arguments]< (If this confuses you, see the CHAT punishment) |
Glass | Teleports the player to a glass platform in the sky |
shoot | Fires the player up into the sky (explosion-style) |
babble | Makes the player's speech an incoherent jumble of letters (other chat-reading plugins interfere with this punishment in 2.91) |
Paranoia | Plays various noises to the player at random times and locations - My favorite |
spin | Rotates the player 180 degrees |
Unaware | Makes the player no longer see other players |
Leveldown | Puts the player back to level zero. |
Annoy | Sends out a villager targeted at them. Specify the amount of villagers by adding ... 0 [number of villagers] to the end of the punishment |
Surround | Moves all the entities within 50 blocks to the player |
FlamingArrow | Fires a flaming arrow at the target. Specify the amount of arrows by adding ... 0 [number of arrows] to the end of the punishment |
Night | Sets the players client time to night, and keeps it there. Does not affect server time |
Rewind | Makes time run backwards fro the players client, and at 20x speed. Does not affect server time |
Dragon | Releases the Ender Dragon behind the player (BETA! WARNING!) |
Slap | Makes the player fly backwards into the nearest object |
Lag | Makes the player experience imaginary lag: Does not actually make the server lag noticeably |
Rotate | Turns the player's view up-side-down |
Exblock | Makes the next block the player mines explode |
Hostile | Makes the mobs around the player turn hostile |
Mute | Prevents the player from being able to chat |
Slender | Blinds the player and then spawns an enderman that follows them |
Drop | Makes the player lag out. Server performance is not affected |
Anvil | Drops an anvil on the players head. Set the damage after the command to 20 to freeze them in place so it definitely hits them |
Spam | Fills the players chat window with spam |
Cage | Builds a cage made of anvils around the player |
White | Turns the users world white (downloads a texture pack to their client) |
FakeOp | Sends the player a fake "You are now an Op!" message |
Popup | Makes the player's inventory popup randomly (good with the repeat commands) |
Booty | Opens the players inventory... To every other user on the server. |
Potato | Turns the player into a potato. (For the portal fans out there) |
Popular | Teleports EVERY PLAYER on the server to the player you specify |
Display | Traps the player in an unbreakable glass box |
Pumpkin | Replaces the player's headgear for a pumpkin |
Armour | Replaces all the player's Armour with useless buckets |
Hiss | Plays a creeper hiss to the player |
Tree | Surrounds the player with trees |
Ambiance | Plays ambiance noise to just the player |
Maim | Stops the player from being able to pick up items |
Brittle | Next time the player jumps or falls, they die |
TNTTrick | Surrounds the player with TNT, and makes a hissing noise |
TNT | Surrounds the player with TNT and ignites it |
Fire | Surrounds the player with a ring of fire |
Squid | Drops a squid on the player (Great if you make it re-occuring) |
Crash | Crashes the player's client, requiring a restart of their Minecraft |
Useless | Renames all the player's items to 'Useless' |
IDTheft | Changes the player's name every time they move |
Metro | Makes every single chat the player make, turn in to a different language |
Arabic | Translates all the player's chats in to arabic |
Nuke | Explodes the player with the power of 200 blocks of TNT (WARNING: ANY SERVERS' with less than 1GB of RAM and 3Ghz of processing power WILL crash for 5 mins and MAY require a restart.) (Author's note: See the footnote for why I couldn't scale it to the actual power of a hydrogen bomb) |
Bomb | Progressively carpet bombs the player's location with 1000 blocks of TNT worth of power (Should not crash as each explosion is delayed by 50ms from the next) |
Scream | Plays a max-volume ghast scream to the player |
Trip | Makes the player drop all their items on the floor |
Potate | Not to be confused with Potato |
Punishments with special | syntax, see 'Special Syntax' |
Chat | Same as Chatroll, but put text to say after punishment/username (essentially chatroll, but only once) |
Rename | Changes the players display name. Specify the new name by adding the players new name to the end of the punishment |
Kick | Kicks the player with a custom message. Specify the kick message by adding ... [Msg] to the end of the punishment. |
This is my first plugin, and I never realized it would be so popular. Likewise, it may have bugs in it, so please post a ticket or message me if you find one!
Too shy to complain, or just want to know how developments going? follow ROEStudios on twitter (Its mine)!
Coming Up...
I'm thinking of these as well, but they're not 100% certain:
- ADDING Amnesia punishment - Delays the player's chat messages by one chat, then repeats other things they've said before.
- ADDING universal restore (damage from explosions or fire that came from Punishmental will be able to be restored with /p restore)
- ADDING Jumble punishment - Swaps around who says what in the chatbox on their client only
- ADDING Plynth punishment - gives the player a little plynth to stand on
What the plugin does:
Reviews/praise/criticisms:
Hats off to the guys who independently reviewed this plugin. If you like their work, consider subscribing!
Don't just take if from them! Here's what some other people said about Punishmental:
Quote from Grant1222:"This plugin is amazing! My favorite one to use is the Creeper one because it scares the crap out of them!"
Quote from KevinEssence:"Awesome Plugin"
Quote from ShockBuddy:"This is very funny"
Quote from Patrick1239870 - http://gldesert.com:"Got punishmental on my server - its the best "
Quote from Thecazadorcj2000:"Es Muy Bueno!"
Quote from MrJonan666:"Está muy guapo"
Quote from _TheModerator:If you don't have this on your server, you're dead to me.
Quote from rjsowden:Anyone who doesn't install this on their server is missing a few chromosomes.
Quote from Tom Cruise:"This plugin is absolutely amazing and I wish I'd installed it sooner"
(NB: Comments made by Tom Cruise are fictional)
How to use, Video Tutorial
How to use, Text Tutorial
Normal Command
/Punish [Punishment] [Player] or /Punish [Player] [Punishment]
On the servers console or chatbox, type /Punish followed by the targets username, then the punishment you want to issue (see above table). You can use /p if you want. The punishment and username can be either way round. Thats It! Press enter and whatever punishment you have forced upon your victim will happen. This part of the command is the main block Examples:
- /p Steve explode - Steve will explode
- /Punish infall Steve - Steve will fall forever until you do /Punish end Steve or /Punish Steve End
- /p rename all steve - Renames all the players to steve
Setting Damage/Game Mode
/Punish [Punishment] [Player] [Optional Damage, 'x' or 'y' ]
If you want to set the damage or stop the player going out of creative, you can add the amount of half-hearts to the end of the main block (see normal command) that you want them to be on by the end, or the letter 'y' (no quotes) if you want to leave the player in the game mode they are currently in. Setting the damage delt will only work on punishments involving mobs and a few others where possible, such as fstrike and fexplode. The punishment and player can still be the opposite way round. If you don't want to include the damage, leave this blank or use 'x'. This part is known as the damage block
Example:
- /p fred fstrike 10 - The lightning will strike and leave fred on 5 hearts damage.
- /p hounds fred 7 - The hounds will de-spawn once they have left fred on 3.5 hearts.
Repeating Punishments
/Punish [Punishment] [Player] [Optional Damage or 'x'] [repeat] [delay in seconds]
If you want to make the punishment more than once, type the main block, then the damage block (see above) and then add the amount of times you want to repeat, and the delay in milliseconds between the punishment repeating. This is known as the timing block
Example:
- /p bob fstrike 10 5 500 - send 5 lightning strikes every half a second that leave bob on 5 hearts.
- /p bob creeper x 7 1000 - Spawn a creeper near bob every second for 7 seconds.
PLEASE NOTE: Do not set the amount of times ridiculously high and/or the delay ridiculously small. All servers are different and so it is impossible to add a safeguard to prevent this. If you do I'm not responsible for any servers crashing :)
Special Arguments
/Punish [Punishment] [Player] [Optional Damage or 'x'] [repeat] [delay in seconds] [special arguments]
For punishments that can be repeated but also require text to be added (like chatroll), after the timing block you can add any extra text.
Example:
- /Punish Chatroll bill x 5 2000 i like bob - every 2 seconds, bill will say "I like bob", 5 times (thats 5 times total, not 5 times every 2 seconds)
Special Syntax
/Punish [Punishment] [Player] [Special Arguments]
For punishments that require text and can't be repeated, such as kick or chat (the single-time version of chatroll), the special arguments can be put after the main block. The compatible punishments are listed at the bottom of the main list above. Said punishments use "Special Syntax"
Example:
- /Punish kick luke Because he smells - The player Luke will be kicked from the server, with his client telling him he was kicked "because he smells"
- /Punish luke chat bob isn't awesome - Luke will say "bob isn't awesome"
AreaProtect/AreaPunish
A video tutorial is in the works, but here's a text one until it arrives:
For this to work, you MUST have WorldEdit. I am working on making it independent, but until then, make sure you have WorldEdit on your server. Punishmental will still run if you don't have it, but AreaPunish will not function without it
The Basics
- Define your area in worldguard. You can do this by using the wand command, or the pos1, pos2, expand vert command, but there's a tutorial on how to do that on the WORLDGUARD WIKI (Click Here)
- Once you've done that, type /protect <Area> <Punishment> where <Area> is the name you want to give the area, and <Punishment> is the punishment you want to run (see the table above)
You're done! Your area is now protected from everyone who isn't yourself or an op! Of course, there's also some other stuff that lets other players through, as well as closing the area down for everyone, and some basic permissions
Other Commands
Base Command
/Protect <Area> <Punishment> <Y/N>
For punishments that require text and can't be repeated, such as kick or chat (the single-time version of chatroll), the special arguments can be put after the main block. The compatible punishments are listed at the bottom of the main list above. Said punishments use "Special Syntax"
Example:
- /Protect KeepOutOrDie strike Y - Players who enter the area KeepOutOrDie will get hit with lightning and die instantly.
- /Protect KeepOutOrDie strike N - Players who enter the area KeepOutOrDie will get hit with lightning, but only die when they're struck down enough times
Listing Available Areas
/Protect List
Lists all the areas you can modify, as well as what punishment they have in brackets
/Protect <Area>
Overwrites the pre-existing area boundry of <Area> with the current WorldGuard defined area.
Adding/Removing Players from Area
/Protect Permit <Area> <Player>
The player with name <Player> is allowed to access the area with name <Area>, and will not be punished if they do
Example:
- /Protect Permit KeepOutOrDie rjsowden - rjsowden can enter KeepOutOrDie without being punished
/Protect Deny <Area> <Player>
If <Player> was on the allow list for <Area>, they are removed from it. This can not override any higher-ranking exceptions such as if a player is an OP, or the area owner.
Example:
- /Protect Deny KeepOutOrDie rjsowden - rjsowden will no longer be able to enter KeepOutOrDie without being punished
Locking an Area Down
/Lockdown <Area>
Completely locks down the area <Area>. Absolutely nobody will be able to enter it without being punished, including the area owner. Useful for testing if you got an area defined right
Example:
- /Lockdown KeepOutOrDie - Punishes anyone inside the area, and will continue to punish anyone who attempts to enter it until /reopen KeepOutOrDie is ran
/reopen <Area>
Reverses the effects of a /Lockdown, allowing all allowed players (including those allowed by the permit command, ops, and the area owner).
Example:
- /reopen KeepOutOrDie - Takes KeepOutOrDie out of lockdown
Permissions
punishAreas.* - Gives a player control over all aspects of AreaPunish
punishAreas.admin - Allows a player to modify other players punishment areas (DEFAULT OP)
punishAreas.make - Allows a player to make punishment areas (DEFAULT OP)
punishAreas. - Makes a player unpunishable as a result of going into a restricted area
Automatic Punishments
You don't need this bit for it to work, but boy does it make it awesome:
If you look in the config file (its at /plugins/Punishmental/config.yml), you'll see a little bit saying "Autopunish", and underneath that it says "Enabled". Change the word 'false' to 'true' and Punishmental will make anyone who tries making fire, placing TNT, water or lava be punished automatically, as well as removing the offending blocks. So you can enforce the rules without actually having anyone online.
This can be fine-tuned as well. If you want people to be able to use water buckets, just set the word 'true' after 'WaterBucket' to 'false' (no quotes in any of that). The same works for any other items. The automatic punishment for that will then be switched off.
If you want a punishment to happen when any player places a block, find the blockID (search minecraft wiki) and put that after the punishment name in the Autopunish section of the config file. Whenever a player places that block, they suffer that punishment. Anyone with the Punish.EXEMPT permission can't be punished by this method.
I'll be making a video tutorial to help anyone who's stuck, but in the meantime if you have any problems, message me or post a comment!
Other Commands that are not punishments & Permissions
- /punish Restore [username] : Resets the blocks that were used in the 'hole' punishment back to their original state. NOW WORKS WITH WEBS! AND DIFFERENT COLORED WOOL!
- /punish stop [username] : Stops punishments without killing the player (2.86 and above)
- /SaveUserData [username] : Save a player's data (Inventory, health etc...) to be restored by /RestoreUserData
- /RestoreUserData [Username] : Reverts a players data to the last /saveplayerdata
Punishments can be issued by ops or to those with the right permissions:
- Use Punish.* to allow users to use all the punishments
- or replace * with with the command for the punishment you want to allow
- So if you want to permit someone to use the strip command, you'd use Punish.strip
- If you want to be able to make someone un-punishable, give them the Punish.EXEMPT permission
- You can punish every player on the server by typing all instead of the username
Downloads
Please choose the version for the server you are running, Server versions are on the third column from the right: http://dev.bukkit.org/server-mods/punishmental/files/ Please not that functionality decreases the lower the version.
Install
Just download the jar file and drag-and-drop it into your server's plugins directory
Other Stuff
This plugin utilises Hidendra's plugin metrics system, which means that the following information is collected and sent to mcstats.org:
- A unique identifier
- The server's version of Java
- Whether the server is in offline or online mode
- The plugin's version
- The server's version
- The OS version/name and architecture
- The core count for the CPU
- The number of players online
- The Metrics version Opting out of this service can be done by editing plugins/Plugin Metrics/config.yml and changing opt-out to true. Punishments may be recorded for hilarity purposes.
Change Log
For a full change log please visit the ChangeLog Page
To-Do
- Add permissions Support - DONE IT AGAIN! WHOOT! Version 1.91 & above
- Live Research Web Access - DONE! Version 2.6 or above!
- Access from terminal - DONE! Version 2.6 or above!
- Bug fix: server crashes - DONE! Version 2.75 or above!
- Punishment repeats - DONE! Version 2.75 or above!
- Punishment repair - DONE! Version 2.75 or above!
- Interchangeable commands - DONE! Version 2.8 or above!
- Interchangeable commands - DONE! Version 2.8 or above!
- Punish every player - DONE! Version 4.1 or above!
- Protected Areas - DONE! Version 5 or above!
- Make Even More Creative Punishments
- Herobrine - Waiting on knowledge
Final Word
- Major = Servers with over 50 players. Reported download figure on bukkitdev is lower because several popular versions had to be deleted
- On the nuke-bomb issue: Regular TNT has an explosion strength of 4F (AKA 79) and destroys 6 blocks diameter. A charged creeper has an explosion strength of 159 and destroys 8. In order to replicate that of a hydrogen bomb (20,000 tonnes of TNT in a H-bomb (0.19kg per stick of TNT, 8 sticks in a block, so 1.52 kg of TNT in a block)) 13,157,894 blocks of TNT, or a power level of 1,039,473,684 which would equal an eradication of 13,686,403,506 blocks. This would crash your ordinary 2.8ghz server for more than a week. If you WANT that, PM me, I'll let you know the full risks and THEN give you a version with it on.
https://www.youtube.com/watch?v=DY8LQEz13bo
Looking to privately fund the update for this plugin to the current versions of Minecraft. Does anyone know how I can either find the source code for this project or contact the author?
Thanks!
WARN Plugin Punishmental v5.1 generated an exception while executing task 24
03.03 13:03:17 [Server] INFO java.lang.NoSuchMethodError: org.bukkit.Server.getOnlinePlayers()[Lorg/bukkit/entity/Player;
03.03 13:03:17 [Server] INFO at com.TheModerator.Fall.Metrics.postPlugin(Metrics.java:357) ~[?:?]
03.03 13:03:17 [Server] INFO at com.TheModerator.Fall.Metrics.access$4(Metrics.java:350) ~[?:?]
03.03 13:03:17 [Server] INFO at com.TheModerator.Fall.Metrics$1.run(Metrics.java:245) ~[?:?]
03.03 13:03:17 [Server] INFO at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftTask.run(CraftTask.java:71) ~[spigot-1.12.1.jar:git-Spigot-da42974-8f47214]
03.03 13:03:17 [Server] INFO at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:52) [spigot-1.12.1.jar:git-Spigot-da42974-8f47214]
03.03 13:03:17 [Server] INFO at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_201]
03.03 13:03:17 [Server] INFO at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_201]
03.03 13:03:17 [Server] INFO at java.lang.Thread.run(Thread.java:748) [?:1.8.0_201]
When I do /metro it wont let the player talk at all
Fuckiungfjaslo Turned myself into a potato and crashed my server. thx <3
Punishmental Video Tutorial
If you can't make this plugin anymore, maybe you need encouragement!
There is a type of spigot plugin page that makes people pay for the plugin.
Edit: I would get it
UPDATE: Tested the plugin, works PERFECTLY On 1.9 to 1.11
To use the plugin on 1.8 and below, use the old non-reloaded version.
Managed to fix the plugin, so now it works perfectly* on 1.8 to 1.10(Tested on 1.8.8 and 1.10,should work on other versions, maybe even on 1.11). I also managed to optimize the code a bit and change to a better metrics, as MCStats goes down quite often.Here's the download link:
Link Removed: http://www.mediafire.com/file/t391fm7c4v0e389/PunishmentalReborn.jar
*Actually there are some commands that need fixing, I'll have a look at them later
In reply to Forge_User_50663647:
Hi there, I think that the "Potate" punishment needs fixing or removal as I was messing around with my friends on a private craftbukkit server that I was running on my computer. One of them did "Potate" and the server crashed. I was unable to restart the server or make a new one and connect to it.
Also the stop command couldn't be used ever due to an internal error, same with scream, hiss, and many more.
How do i unfreeze the player ? Btw cool plugin :D
My idea:
Abduct
"Abducts" the target player by spawning a shaft of light (particles) above them and lifting them away! Bye, Bye, haxer!
Someone reply a pun because this plugin is so PUNishmental
I hav no frends
SO MUCH ERRORS
can you fix the "potato" punishment, it just triggers "InVoid" when they move or jump! and you don't even get a potato! =(
Add 1.10 support plz becuse it would be amazing.
No it uses some methods no longer in 1.9+
This need to have 1.10 support