BukkitProtect
Overview
Welcome to BukkitProtect, protecting your worlds since it was made!
BukkitProtect is unique as it focuses on usability by the average server user, and features that are helpful while playing.
This plugin is intended to be used by servers that don't want to have admins or mods handle protection of land, preferring to use an automated plugin that manages itself and is easy to use by anyone joining the server.
News
- This plugin now officially supports 1.7.4!
- Now contains an A-Class anti-spam to prevent players griefing your chat
Links
Internal
- Commands
- Configuration
- Permissions
- Plugins
- Protections & Rods
- How To's
- Donators (Make sure to check these awesome guys out!)
External
Features
Present Features
Protections
- Protect areas using rods crafted in-game
- Protections can be re-sized using rods
- Protections cover all blocks, containers and entities within the zone
- Sub-protections can be made within protections
- Sub-protections count the Y level
- Allows for near-infinite amounts of sub-protections within sub-protections
- Several different rods available with different amount of uses
- Add tags to protections
- The letter "*" counts as everyone within protections, for example, "/addusers * *" will allow everyone to use everything there
- Other players cannot interact with Tameable Entities that are owned by someone else, even in their protection
- Protections are created around chests players place if they have no protections
- Protections have a minimum size to prevent protection griefing
- Liquids cannot flow into protections unless the owner of the protection it flows from can build in the protection
- Pistons cannot pull or push blocks into protections unless the owner of the protection it comes from can build in the protection
- Players stuck in a protection can use a simple command to get out
Anti-Spam
- Players have spam warnings, which when enough are collected result in a kick
- If a player sends too many messages in a short amount of time the messages are blocked and they are given warnings
- If a word in a message sent by a player contains over a certain percentage of caps it is changed to lower case
- If a player drags/repeats a letter more then a certain amount of times it is blocked
- If an IP logs into the server within a short amount of time after last logging in then the player is blocked
- Words are limited to a certain length to prevent letter/number/special characters spam
- If a player sends the same message twice in a row the message is blocked and they are given warnings
- A list of banned words can be added to the config to prevent players from saying certain harmful or annoying words/phrases even if the message contains random capitals
- If a message has more then a certain percentage of it censored it is blocked
Land
- Land per player used to limit protections
- Land gained over time
- Land can be given, taken or set for any player
PVP
- Wolves can be attacked during PVP with it's owner
- Players running into non-PVP protections during PVP can still be killed by the player attacking them
- Prevents PVP-logging by killing the player when it occurs
- Prevents teleporting via commands or plugins during PVP
Plugins
- Extensive API for plugins
- User types, rods and tags can be added by plugins
- Plugins can check if a player is in a protection and if they have specific user types
Misc
- Automatic updates keep you up to date
- Lengthy configuration to allow you to choose how the plugin runs
- No databases so setup is hastle free
- No world backups are required
- Commands are compatible with the tab key
- Can be used without any configuration
- Minimal CPU and RAM usage
- Relatively small file sizes
Planned Features
- Teleport to selected locations within areas (Configurable)
- World tags to allow certain worlds to have special features
- World users to allow certain players rights in specific worlds
- New tags and tag system to support world tags and to support sub-protections properly
@EliteJynx
Haha, no I think I get it. Crenelation on castle walls is basically the same idea.
@steelsky25
It displays every other blocks. I was going to make it every 3 but if I did that I would have to change it depending on the length (Every 3 would only work if the length was dividable by 3, etc) so instead it just does every other block from each corner, meaning there is between a gap of 0 - 2 at the centre of each side. (If you don't understand you'll see soon so don't worry!)
@EliteJynx
Thanks for the update on your progress! Can't wait to get that save fix. Also, displaying the sides of the protections and not just the corners is a really good idea.
I realise I haven't posted or uploaded any files in a while so I want to make sure you all know I'm still here!
At the moment I am working on a very large update to improve the reliability of save files. I wasn't satisfied with the way the current data is saved so I've had to completely remake it.
The new system automatically handles corrupted protections, allows for me to (finally) finish off world protections and uses a lot less CPU because it only loads data for players that are online.
I'll be uploading the latest version shortly once it is tested for nasty bugs, until then here is a complete changelog to keep you all up to date:
On top of all this I am working on adding these to the update:
@EliteJynx
ok, tks for the reply
@sando021
There is in the latest version which is pending approval.
is there a command for checking who the owner of an area is? if not, plz add one
@lipe124
I was just making sure you were using the latest version, I'll be uploading a new version shortly with a large update.
@EliteJynx FYI There has been no file updates, maybe bukkit is reviewing it? The ver 1.7 listed here is exactly the same file I downloaded weeks ago.
@steelsky25
Okay I'll check again! Sorry for the problems.
@EliteJynx
Thank you very much! Just started it up, looks good so far. EDIT - yeah it still looks like I'm getting that same error. I can double check it's the exact same if you'd like. And I did just re-download and install the latest version.
@steelsky25
Make sure you are running the latest version, it should be fixed.
@steelsky25
I'll fix it ASAP!
Haha, yeah so that actually was doing something really bad . . . as far as I can tell it wipes all our protections everytime it runs that? Well anyways we keep losing our protections, so that might be why. Yeah so that'd be great if there was a fix for that :) kind've important if it's gonna keep any functionality whatsoever.
Getting the below error in the logs constantly, really annoying as it takes up a ton of space. And this isn't even half of it, I have this message at least 10 times every half an hour or so, dunno exactly how often. Haven't noticed any real errors, but makes looking at the chat logs a real pain. Any idea what to do about it? Thanks :)
13:35:44] [Server thread/ERROR]: Could not pass event WorldSaveEvent to BukkitProtect vB-1.7 org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:427) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-9-g68d0e57-b2930jnks] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-9-g68d0e57-b2930jnks] at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-9-g68d0e57-b2930jnks] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-9-g68d0e57-b2930jnks] at net.minecraft.server.v1_7_R1.MinecraftServer.saveChunks(MinecraftServer.java:353) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-9-g68d0e57-b2930jnks] at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:553) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-9-g68d0e57-b2930jnks] at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:447) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-9-g68d0e57-b2930jnks] at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-9-g68d0e57-b2930jnks] Caused by: java.lang.NullPointerException at io.github.elitejynx.BukkitProtect.Util.loc2str(Util.java:66) [?:?] at io.github.elitejynx.BukkitProtect.Region.toString(Region.java:21) [?:?] at io.github.elitejynx.BukkitProtect.ProtectionZone.toString(ProtectionZone.java:33) [?:?] at io.github.elitejynx.BukkitProtect.BukkitProtect.WorldSave(BukkitProtect.java:1537) [?:?] at sun.reflect.GeneratedMethodAccessor22.invoke(Unknown Source) [?:?] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [?:1.7.0_45] at java.lang.reflect.Method.invoke(Unknown Source) [?:1.7.0_45] at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:425) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-9-g68d0e57-b2930jnks] ... 7 more
@lipe124
I'll look into it, thanks!
@EliteJynx
Not sure if you have seen this plugin: http://dev.bukkit.org/bukkit-plugins/safe/
Thats what I used until 1.7 came out and broke it, it seems to be abandoned but it had the features people are asking for. Namely purchasing blocks and seeing messages when you enter and leave protected zones. teleporting to zones etc etc.
Maybe the code for that can help?
@piritacraft
I know, but then every time someone clicks with a stick they would be sent a message, which would result in many messages and many people would get messages sent when just walking around with a stick in there hand not purposely trying to find the protection.
@EliteJynx
It do not spam, Is just a message to the player that click.
@piritacraft
Sorry but I'm not gonna add that because it would end up being spammy, although I will add other ways.