DecoyBlocks
DecoyBlocks ALPHA is a plugin designed to catch and appropriately deal with griefers automatically.
Originally conceived of by FlamingArmour in a request thread; this plugin allows you to specify certain blocks called "decoys" that, when broken, trigger a logging system for automatically catching and dealing with griefers.
Code was written from scratch by me, with some help from the community on file serialization.
Features!
Quote:
- Persistant storage of specified decoy blocks.
- Full logging of who broke which decoy, and when.
- Fully configureable automatic detention and / or punishment of people who have broken decoys.
- 3 Punishment thresholds, completely configureable.
- Punishments currently comprise of:
- Kill - Instantly deals the offender 9001 damage.
- Jail - Teleports the offender to the specified location. (Set via coordinates in config.)
- Kick - Instantly kicks the offender from the server.
- Ban - Instantly bans the offender from the server.
- IPBan - Instantly bans the offender and associated IP-Address.
- CraftBukkitUpToDate compatibility.
- Anonymous statistic reporting to mcstats.org!
Commands & Permissions
Decoys are set and removed by right-clicking the block with a stick.
- /db decoys - Gives you a list of all the decoys on this server.
- decoyblocks.decoy - Required to use /db decoys and to set or remove decoys.
- /db log - Enables you to see a block's log by placing a log block. Use again to disable.
- /db log all - Displays all log entries, in chronological order.
- decoyblocks.log - Required to use /db log.
- /db teleport <player> - Teleports you to the nearest open space by the last broken decoy (by the player, if specified).
- decoyblocks.teleport - Required to use /db teleport.
- /db <search / lookup> <player> - Gives you a list of all decoys broken by the specified player.
- decoyblocks.search - Required to use /db search or /db lookup.
- /db restore - Restores all decoys to their original state.
- decoyblocks.restore - Required to use /db restore.
- /db clear <log / decoys> - Completely clears out either the log or the decoys.
- decoyblocks.clear - Required to use /db clear. This is a dangerous command, and should be highly restricted.
- decoyblocks.clear.log - only allows access to /db clear log.
- /db save - Saves the decoys and log to their respective .dat files.
- decoyblocks.save - Required to use /db save.
- /db reload - Saves everything and reloads the config.
- decoyblocks.reload - Required to use /db reload.
Upcoming Features
- Ability to search an area for broken decoys.
- Ability to freeze players.
-
View User Profile
-
Send Message
Posted Jan 21, 2012To anyone else having the error I experienced, let your config regenerate. Also, the variables in the command punishment, like {player}, aren't working, so don't try them for now. Just thought I'd point that out to anyone who updates to v0.4.
-
View User Profile
-
Send Message
Posted Jan 21, 2012Unforuntately I'm now getting errors when attempting to use any commands from this plugin. Here's the error:
21:04:01 [SEVERE] null
org.bukkit.command.CommandException: Unhandled exception executing command 'db' in plugin DecoyBlocks v0.4 ALPHA (1C3)
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:42)
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:165)
at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:378)
at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:757)
at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:722)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:715)
at org.getspout.spout.SpoutNetServerHandler.a(SpoutNetServerHandler.java:180)
at net.minecraft.server.Packet3Chat.a(Packet3Chat.java:33)
at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:93)
at org.getspout.spout.SpoutNetServerHandler.a(SpoutNetServerHandler.java:550)
at net.minecraft.server.NetworkListenThread.a(SourceFile:108)
at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:527)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:425)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:457)
Caused by: java.lang.NullPointerException
at Fishrock123.DecoyBlocks.DecoyBlocks.onCommand(DecoyBlocks.java:86)
at org.bukkit.co
In-game it displays the standard:
An internal error occurred while attempting to perform this command
-
View User Profile
-
Send Message
Posted Jan 21, 2012<reply 504754="">
Okay, thanks.
-
View User Profile
-
Send Message
Posted Jan 21, 2012@Hoot215
http://dev.bukkit.org/server-mods/decoyblocks/pages/main/configuration/
(I need to find a good way to auto-update the config header.)
Also: All changes: https://github.com/Fishrock123/DecoyBlocks/commit/c0753945e313c882910bcb4ca7286e9f32497b52
-
View User Profile
-
Send Message
Posted Jan 21, 2012<<reply 499601="">>
Would you mind explaining the new changes in v0.4 and how to use them please? I've downloaded the new version, but nothing seems to have changed.
-
View User Profile
-
Send Message
Posted Jan 17, 2012@Junrall
All that should be coming in v0.4! :)
(Except the groups part, you will have to program it what command to execute.)
-
View User Profile
-
Send Message
Posted Jan 16, 2012I like this plugin!
A few things that would push DecoyBlocks over the top is:
Thanks!
-
View User Profile
-
Send Message
Posted Jan 14, 2012<<reply 495742="">>
Ah I guess I misread. I thought I saw you say something like "Left click to remove". My mistake.
-
View User Profile
-
Send Message
Posted Jan 14, 2012@Hoot215
You right click to remove it too. Remove and place are both right click.
I should make it so Admins don't accidentally ban themselves. :s
-
View User Profile
-
Send Message
Posted Jan 14, 2012<<reply 495651="">>
I suppose so, but it'd be a nice feature. Also, there seems to be a conflict with Creative mode. For example, I go to protect a building and accidentally click the wrong block. I then left click to remove it, however that bans me for griefing. This lead to a funny story about how one of my Admins had to un-ban me after I accidentally banned myself.
EDIT: I suppose one good thing came out of that though. The banning works perfectly! LOL
-
View User Profile
-
Send Message
Posted Jan 14, 2012@Hoot215
Uh, no. Right-clicking with a stick doesn't normally do anything anyways?
-
View User Profile
-
Send Message
Posted Jan 14, 2012<<reply 495566="">>
Right, thanks! So is there a command to toggle this?
-
View User Profile
-
Send Message
Posted Jan 14, 2012@Hoot215
Right-Click the block with a stick to add it to the decoys, click again to remove it. That simple.
-
View User Profile
-
Send Message
Posted Jan 14, 2012<<reply 493327="">>
So then how do you set decoys then? I can't seem to figure that out.
-
View User Profile
-
Send Message
Posted Jan 12, 2012@Hoot215
Because of how the config reads stuff; but that is a silly excuse. I may'swell make it read a config section (map of practically infinite values).
Thanks for testing it! :D
AutoRestore is a tad tricky to implement well, that's why it wasn't in 0.3.
@Hoot215
-
View User Profile
-
Send Message
Posted Jan 12, 2012Not sure if I should post a ticket for this, but is it just me, or do some of the commands not work at all? I use /db decoys, and I'm sure I have the permissions node decoyblocks.decoy, but nothing happens. I don't get any message at all.
Here's a list of commands that don't seem to work:
All of the other commands work fine, though, however I can't really do much with this plugin with the above commands not working.
-
View User Profile
-
Send Message
Posted Jan 12, 2012Just wondering, why make the punishment limit 3? Why not infinite? Also, I'm about to test this plugin out. I'm probably going to make a house of diamond blocks near the spawn, with a sign saying "Don't grief". And, I've set my only punishment to 1,Ban. I'll report any bugs I find.
Also, can't wait for the custom command feature! That will be incredibly useful. I hope the AuotRestore feature gets implemented sometime soon, too.
-
View User Profile
-
Send Message
Posted Jan 9, 2012@seanmrice
Will be added in v0.4, thanks for the suggestion!
-
View User Profile
-
Send Message
Posted Jan 9, 2012it would be cool if you could configure punishments to run a command as if from the server console, so we could /lb rollback {player} world {world} ....I would seriously love that
-
View User Profile
-
Send Message
Posted Jan 8, 2012@Tauryuu
Possibly. Unknown at this time.