Punishmental

Punishmental

361k Downloads

"I... I... I turned him into a Potato? / Did I just troll the entire server?" - ZexyZek.

Punishmental Main Banner

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!

Rated in PlanetMinecraft's Top Ten Badass Minecraft Plugins!

Rated in Minecraft-Online's Top Ten FUN 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 fking 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

PunishmentDescription
fallKills the player by dropping them from block 200
explodeDetonates the player in an explosion, 'spontaneous internal human combustion' style
strikeHits the player with a lightning bolt
burnSets the player on fire
houndsReleases a wolf next to the player
endKills the player with no apparent cause - also ends any infinite punishment
infallMakes the player fall constantly without ever touching the ground
CreeperSpawns a creeper next to player
webWebbing: Surrounds the player with webs, slowing their movement (undo any damage done by this by doing "/punish restore")
voidVoid: Teleports the user to the void
invoidInfinite Void: Teleports the user to the void and maintains their health, making them stuck
lavablockThe next block the player destroys becomes lava
holeDigs a 25 block deep hole underneath the player, dropping them to their death
teleportTeleports the player to a random location, distance set by config file
freezeFreezes the player in place - they can't move or interact until ended
irongoleman irongolem is spawned behind the player, set to target them
fexplodeSame as explode, but with health targets and no environment damage
fstrikeSame as strike, but with health targets and no environment damage
hailfireThrows a fireball from the sky at the player
blindReduces the players view to about 3 blocks, after which it fades to black
drunkMakes the player's view turn wobbly and unstable. Very Confusing
starveMakes the players hunger bar enter the "Starved" stage
slowHalves the players normal moment speed
poisonMakes the player poisoned
stripRemoves all the players items
netherTeleports 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)
floorportalTurns the ground underneath the player into a portal
chatrollMakes the player say the text you put >ADD TEXT TO SAY AFTER DELAY, in [special arguments]< (If this confuses you, see the CHAT punishment)
GlassTeleports the player to a glass platform in the sky
shootFires the player up into the sky (explosion-style)
babbleMakes the player's speech an incoherent jumble of letters (other chat-reading plugins interfere with this punishment in 2.91)
ParanoiaPlays various noises to the player at random times and locations - My favorite
spinRotates the player 180 degrees
UnawareMakes the player no longer see other players
LeveldownPuts the player back to level zero.
AnnoySends out a villager targeted at them. Specify the amount of villagers by adding ... 0 [number of villagers] to the end of the punishment
SurroundMoves all the entities within 50 blocks to the player
FlamingArrowFires a flaming arrow at the target. Specify the amount of arrows by adding ... 0 [number of arrows] to the end of the punishment
NightSets the players client time to night, and keeps it there. Does not affect server time
RewindMakes time run backwards fro the players client, and at 20x speed. Does not affect server time
DragonReleases the Ender Dragon behind the player (BETA! WARNING!)
SlapMakes the player fly backwards into the nearest object
LagMakes the player experience imaginary lag: Does not actually make the server lag noticeably
RotateTurns the player's view up-side-down
ExblockMakes the next block the player mines explode
HostileMakes the mobs around the player turn hostile
MutePrevents the player from being able to chat
SlenderBlinds the player and then spawns an enderman that follows them
DropMakes the player lag out. Server performance is not affected
AnvilDrops an anvil on the players head. Set the damage after the command to 20 to freeze them in place so it definitely hits them
SpamFills the players chat window with spam
CageBuilds a cage made of anvils around the player
WhiteTurns the users world white (downloads a texture pack to their client)
FakeOpSends the player a fake "You are now an Op!" message
PopupMakes the player's inventory popup randomly (good with the repeat commands)
BootyOpens the players inventory... To every other user on the server.
PotatoTurns the player into a potato. (For the portal fans out there)
PopularTeleports EVERY PLAYER on the server to the player you specify
DisplayTraps the player in an unbreakable glass box
PumpkinReplaces the player's headgear for a pumpkin
ArmourReplaces all the player's Armour with useless buckets
HissPlays a creeper hiss to the player
TreeSurrounds the player with trees
AmbiancePlays ambiance noise to just the player
MaimStops the player from being able to pick up items
BrittleNext time the player jumps or falls, they die
TNTTrickSurrounds the player with TNT, and makes a hissing noise
TNTSurrounds the player with TNT and ignites it
FireSurrounds the player with a ring of fire
SquidDrops a squid on the player (Great if you make it re-occuring)
CrashCrashes the player's client, requiring a restart of their Minecraft
UselessRenames all the player's items to 'Useless'
IDTheftChanges the player's name every time they move
MetroMakes every single chat the player make, turn in to a different language
ArabicTranslates all the player's chats in to arabic
NukeExplodes 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)
BombProgressively 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)
ScreamPlays a max-volume ghast scream to the player
TripMakes the player drop all their items on the floor
PotateNot to be confused with Potato
Punishments with specialsyntax, see 'Special Syntax'
ChatSame as Chatroll, but put text to say after punishment/username (essentially chatroll, but only once)
RenameChanges the players display name. Specify the new name by adding the players new name to the end of the punishment
KickKicks 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

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.