AntiBuild

About
Simple, efficient, and lightweight plugin that will prevent interaction with blocks until the proper permission is granted. This plugins stops all types of block interaction and it even stops bucket use and painting interaction. It also sends a customizable message to the player who is denied building rights. Before you say this already exists just look at how lightweight this plugin is compared to some of the others. This is for server owners who need a building prevention plugin that is as lightweight as possible.
What is the advantage of this?
- As a server owner myself I have been looking for a long time to find a plugin that just stops my guests from building until they are promoted to the next rank. The only thing I found for this had so many other options that I did not want or need that it forced me to make my own. For comparison the plugin I was previously using was 400 times larger in file size than AntiBuild. Sure, it did a lot more, but I didn't want any of that other stuff.
Main Features
- Prevents breaking of blocks
- Only allow player to place certain blocks without having to blacklist a bunch of blocks
- Prevents placing of blocks
- Only allow player to break certain blocks without having to blacklist a bunch of blocks
- Prevents the use of flint and steel
- Prevents the use of lava and water buckets
- Prevents all interaction with paintings
- Prevents all interaction with item frames
- Prevents opening chests, furnaces, anvils, beacons, brewing stands, crafting tables, dispensers, enchanting tables, ender chests, and workbenches.
- Blacklist blocks
- Lock/unlock building in worlds with a command
- Simple to use
- Very efficient checks
- Extremely lightweight
Per-Block Permissions
AntiBuild allows you to give permissions to players that only allow them to place or break certain blocks. This is very handy when you only want a player to be able to place/break a few blocks. An example use would be an adventure map where a player is only allowed to break stone, log, coal ore, diamond ore, and iron ore. All you need to do is assign the player the permission node antibuild.break.[ID] and replace the [ID] with the block ID of the block you want them to be able to break. If you want them to be able to place only certain blocks you can give them antibuild.place.[ID] and replace [ID] with the block id of the block you want them to be able to place.
Blacklist
AntiBuild has a built in feature for blacklisting blocks by their Item ID. This is a 100% optional feature and it is disabled by default. To enable it open the config.yml and change the Blacklist-On value from false to true. Once it is enabled any block ID that is listed under Blacklisted-Blocks will be blocked from placing or breaking. If a player has the permission antibuild.blacklist they will be able to bypass the blacklist check completely. If a player has the permission antibuild.blacklist.[Item ID] (example: antibuild.blacklist.7) they will be able to bypass the check for that item ID only.
World Locking
AntiBuild also has a built in feature for locking worlds that you would normally allow players to build in. This is handy for adventure maps, special events, group builds, or any other reason you can think of to temporarily lock a world.
You can lock a world in game by typing /antibuild lock [world name]. Once this is done only people with antibuild.lock.bypass permission will be able to build. All others will be denied building rights. To unlock a world you would type /antibuild unlock [world name] and this will allow everyone to build that would normally have had access to build. To check and see what worlds are currently locked you can type /antibuilt list and this will display the currently locked worlds.
Commands
All commands will work from in game with the proper permission and from the console.
| /antibuild reload | Reload the config. Requires permission: antibuild.reload |
| /antibuild lock [world] | Lock the provided world. Requires permission antibuild.lock |
| /antibuild unlock [world] | Unlock the provided world. Requires permission antibuild.lock |
| /antibuild list | Display currently locked worlds. Requires permission antibuild.lock |
Permissions
Normal Permissions
| Node | Usage |
|---|---|
| antibuild.bypass | Allows the bypass of AntiBuild checks. This is the main permission node that will allow/deny players from interacting. If you don't need any of the other features and just want to allow a player to build/interact give them this permission. |
| antibuild.break | Allows the breaking of blocks |
| antibuild.break.[ID] | Allows the breaking of block with the provided block ID |
| antibuild.break.[ID].[metadata] | Allows the breaking of block with the provided block ID with specific metadata |
| antibuild.place | Allows the placing of blocks |
| antibuild.place.[ID] | Allows the placing of block with the provided block ID |
| antibuild.place.[ID].[metadata] | Allows the placing of block with the provided block ID with specific metadata |
| antibuild.fire | Allows the use of flint and steel |
| antibuild.bucket | Allows the use of all buckets |
| antibuild.bucket.lava | Allows the use of lava buckets ( fill and pour) |
| antibuild.bucket.water | Allows the use of water buckets ( fill and pour) |
| antibuild.painting | Allows interaction with paintings and item frames (break/place) |
| antibuild.interact | Allows interaction with all inventory type blocks. |
| antibuild.anvil | Allows interaction with anvils |
| antibuild.beacon | Allows interaction with beacons |
| antibuild.brewing | Allows interaction with brewing stands |
| antibuild.chest | Allows interaction with chests (including storage minecarts) |
| antibuild.dispenser | Allows interaction with dispensers |
| antibuild.enchanting | Allows interaction with enchanting tables |
| antibuild.enderchest | Allows interaction with ender chests |
| antibuild.furnace | Allows the interaction with furnaces |
| antibuild.hopper | Allows the interaction with hoppers |
| antibuild.workbench | Allows the interaction with crafting benches |
| antibuild.pickupitems | Allows the player to pickup items on the ground |
| antibuild.dropitems | Allows the player to drop items from their inventory |
| antibuild.blacklist.break | Allows the bypass of blacklisted blocks for breaking |
| antibuild.blacklist.break.[ID] | Allows the bypass of blacklisted block with entered Item ID. Example: antibuild.blacklist.break.7 |
| antibuild.blacklist.place | Allows the bypass of blacklisted blocks for placing |
| antibuild.blacklist.place.[ID] | Allows the bypass of blacklisted block with entered Item ID. Example: antibuild.blacklist.place.7 |
Admin Permissions
| Node | Usage |
|---|---|
| antibuild.lock | Allows user access to the lock/unlock/list commands |
| antibuild.lock.bypass | Allows the bypass of locked worlds |
| antibuild.lock.bypass.[world name] | Allows the bypass of locked world with specified name |
| antibuild.reload | Allows access to the reload command |
Configuration
When you first run AntiBuild the plugin will generate a default config.yml and a lockedWorlds.yml. Do not touch the lockedWorlds.yml (lock worlds with in game commands). There are several options in the config.yml. You may not need to change any of them. See the comments in the config.yml file for information on them. The next option is whether or not you want the blacklist to be enabled. If you already have a plugin that blacklists blocks (or you just don't want to use it) leave it set to false and it will not do anything. If you set Blacklist-On to true you can now start to enter item IDs of the blocks you wish to block. This only supports item IDs because it saves a decent amount of time when checking block break/place events with just he ID instead of the name.
See the default config here.
Installation
- Put AntiBuild in your plugin folder
- Start server to generate default config.yml
- Use with the default settings or customize it to your liking and restart or reload the plugin.
Upcoming Features
- Feel free to make a request, but keep in mind this plugin will stay lightweight.
If you have a request please create a ticket here: https://github.com/MutinyCraft/AntiBuild/issues
Need help or just want to chat? Find me on EsperNet on #MutinyDev or #MutinyCraft
-
View User Profile
-
Send Message
Posted Nov 9, 2012How do i? I have permissionsEx
-
View User Profile
-
Send Message
Posted Nov 9, 2012@Charl101
I believe there are other plugins that will blacklist certain blocks.
@Imakify
What do you mean a config file for every world? The only config option is for the message displayed when a player can't build. If you want per-world permissions you can set that up through your permission plugin.
@KHEOTOM
There is no need to make anyone OP in order for them to build. You need to use a permissions plugin to give them antibuild.bypass (or individual nodes) so they can build. There is no reason for me to incorporate something that is already handled by permissions. Do you have a permissions plugin? If not, check into that.
-
View User Profile
-
Send Message
Posted Nov 8, 2012Or a kind of whitelist if you prefer
-
View User Profile
-
Send Message
Posted Nov 8, 2012You should make an ingame option that give permission to build for a certain player whitout make im op :P like /BuildPermOn Moron977 /BuildPermOff Moron977
-
View User Profile
-
Send Message
Posted Nov 6, 2012Can you please make this so it have every config file for every world and so that it lock furnaces,dispensers,doors and prevent use of leaver and plesure plates buttons etc? It would be really cool and helpfull if you would make it for 1.3.2
Thanks and sorry for my bad english
-
View User Profile
-
Send Message
Posted Nov 2, 2012Could you please add a feature that if a player has a certain permission he can't place that block. I am in desperate need of a plugin that can do that. Thanks
-
View User Profile
-
Send Message
Posted Nov 2, 2012@Over_Lord_Bart
It should work just fine with Tekkit. AntiBuild v1.4 would be the one you would want to download.
-
View User Profile
-
Send Message
Posted Nov 2, 2012does it work for tekkit
-
View User Profile
-
Send Message
Posted Nov 1, 2012AntiBuild v1.5 will only work with CraftBukkit 1.4.2 build 2446 or higher!
v1.5
Get it here.
@schmidtbochum
I still plan on adding this when I get a little more time.
-
View User Profile
-
Send Message
Posted Oct 29, 2012@MutinyCraft It doesn't matter for me, I don't use the op role. Disable it for people who don't have the antibuild.lock permission, or add antibuild.lock.bypass
-
View User Profile
-
Send Message
Posted Oct 29, 2012@ThisUsernameIsMine
I will consider that request. Check back soon.
@schmidtbochum
That is an interesting request and it should be rather simple to implement. When you say "lock a world" do you mean that no one (even server OP) is able to build? I know that you said "No one can build", but I am just trying to clarify if you would like OPs to be able to build.
-
View User Profile
-
Send Message
Posted Oct 29, 2012Feature Request: Ability to lock a world (No one can build). Useful for timelapses or other important projects.
Command: /antibuild <lock|unlock> [world]
Permission: antibuild.lock
PS: can you publish a updated version of the source code?
-
View User Profile
-
Send Message
Posted Oct 27, 2012Thanks for the plugin! :-)
edit: Is it possible to add two more permission nodes for item drop and pickup? I'm currently using NodeGuard for that but yours is updated :-)
-
View User Profile
-
Send Message
Posted Oct 24, 2012@LordKainzo
Version 1.4 has a check for chest access. Please use permission node antibuild.bypass or antibuild.chest to bypass this check. Let me know if this isn't what you were requesting.
This version is waiting approval, but I think you can get it directly from here.
-
View User Profile
-
Send Message
Posted Oct 24, 2012@MutinyCraft
Hey there, is it possible to put a permission node for CHEST-ACCESS ?
I have griefers who are logging in under multiple hacked accounts and are dumping chests out on my main world.
-
View User Profile
-
Send Message
Posted Oct 17, 2012@LordKainzo
Thanks. :)
@Beaupedia
I'm not sure if this fits into the idea I had for this plugin. I realize and I am aware that it is unfortunate for players to be killed while they can't do anything on a server, but I am not sure it should be the job of an AntiBuild plugin to stop them from being able to interact via PVP or PVE.
If you are really set on using AntiBuild I could make a custom version very easily that does do what you are asking. For the actual release version I do not feel it would be that beneficial to take it on that route.
-
View User Profile
-
Send Message
Posted Oct 17, 2012Would it be possible to also add the option for newbies to not take damage? Not being able to interact but still take damage kind of sucks for people waiting for staff to show up.
I'm looking for something to replace Modifyworld, which came with PEX.
https://github.com/PEXPlugins/PermissionsEx/wiki/Modifyworld
The only missing piece for us is the damage element.
-
View User Profile
-
Send Message
Posted Oct 9, 2012Great plugin - thanks!
-
View User Profile
-
Send Message
Posted Sep 20, 2012@aroeira
I believe there are already several plugins that handle chat. What exactly would you want the features to be?
@schmidtbochum
If you use PermmissionsBukkit, then it does already have a built in check for building. This plugin doesn't have anything to do with PermissionsBukkit, though. AntiBuild was written from scratch to be lightweight and simple to setup. This plugin can use any of the major permissions plugins (bPermissions, PEX, PermissionsBukkit, etc..).
If you need the source code, feel free to decompile the .jar until I have a chance to add AntiBuild to my GitHub.
-
View User Profile
-
Send Message
Posted Sep 20, 2012I think PermissionsBukkit has an integrated permissions.build permission.
Can you publish the source code?