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 Apr 29, 2013@ThisUsernameIsMine
Sure, do you mind opening a ticket here: https://github.com/MutinyCraft/AntiBuild/issues It helps me track it so I don't forget. :)
-
View User Profile
-
Send Message
Posted Apr 29, 2013Will you add an interact node for (trap)door access?
Thanks :)
-
View User Profile
-
Send Message
Posted Apr 27, 2013@ecianice
Glad to see that he was able to fix it. I was pretty sure it was another plugin causing this. :)
-
View User Profile
-
Send Message
Posted Apr 27, 2013@MutinyCraft
ZariusT nailed it. My guess was 100% correct. He found the bug and I didn't even mention it. Haha
http://dev.bukkit.org/server-mods/otherdrops/?comment=1968
-
View User Profile
-
Send Message
Posted Apr 25, 2013@ecianice
I use bPermissions with AntiBuild on my server and I have never had any issues like you mention. AntiBuild handles events at a very low priority which means that if OtherDrops is either not checking if the event was canceled or is for some reason uncancelling the event that is the issue. All AntiBuild does is check to see if a player has permission, if they do it does absolutely nothing. If they do not have permission it will cancel the event, but if another plugin changes that cancellation there is nothing I can do about it.
-
View User Profile
-
Send Message
Posted Apr 25, 2013I think there is a little bit of strange behavior happening between AntiBuild, OtherDrops, and bPermissions. I've just begun doing the permission testing and on occasion it is allowing the blocks to break, if the player is simply focused on the same block long enough (in this case OD wasnt involved in intercepting it). I will figure it out and make a proper ticket if I can. Just wanted to give a general inquiry request for incompatibilities or caveats you know of.
-
View User Profile
-
Send Message
Posted Apr 22, 2013@EpicDinosaurz
I recommend you use the plugin WorldGuard for protecting areas. AntiBuild doesn't track where a player is and would have no way to block certain areas.
-
View User Profile
-
Send Message
Posted Apr 22, 2013Is there a way I can make it so you can only build in certain areas? I only want to protect the spawn for grief and peoples homes that they want protected.
-
View User Profile
-
Send Message
Posted Apr 22, 2013@MutinyCraft
Done!
-
View User Profile
-
Send Message
Posted Apr 20, 2013@Tallsword
Right now it will only block the full block id. In the future I will add the ability to use block IDs with their sub ID as well.
@GlabbichRulz
Working on it. I didn't the first way I tried it. Give me a bit of time.
Also, just so I can track this a little easier could you create a ticket here: https://github.com/MutinyCraft/AntiBuild/issues
-
View User Profile
-
Send Message
Posted Apr 7, 2013Hy!
I just want to know how the block ID part works... does it work with ids like 1:5 or it can only be used like 1 ? If it works like the first part of the question can I request so it works with ids like 1:2, 10:8 , ... ?
-
View User Profile
-
Send Message
Posted Apr 6, 2013@MutinyCraft
When are you going to release the new Update?
-
View User Profile
-
Send Message
Posted Apr 3, 2013@TheFirstCastlecrafter
That sounds like quite a lot of things you need. There are plugins that handle crafting of certain items and I'm sure a quick search would show those plugins. As for wearing armor, I would imagine there is also a plugin that would do that as well. The checks involved for controlling armor would be a little more than I want to add into AntiBuild.
-
View User Profile
-
Send Message
Posted Apr 2, 2013Hello today I am starting a new server and game mode well known as TheRealCastlecraft there will be ranks soldier farmer wizard assassin vassal and king I need wizards to be able to craft all potions but here is the catch they can't craft diamond swords or diamond armor or any armor but they need to be able to craft items for recipes. Farmer need to not be able to wear armor but be able to farm and craft a hoe. Soldiers need to be able to craft heavy armor but not craft hoes. Assassin needs to be able to wear the armor and use invisiblity potions but not be able to craft them. Vassal I need to be able to use potions but not craft them and they need to he able to use enchanting book but only they can. And king they can use all potions but not craft them and use enchanting books and have good armor and farm but they need to be the one of the only ranks that can do this please help I might be missing a command but pleas help me make this work or if you know another plugin that can do this please do tell
-
View User Profile
-
Send Message
Posted Apr 2, 2013thanks!, I need something like this to avoid doing "Worldguard" to every little thing that I do not want build access too, as my server is just plots & pvp & adventure maps, and it is so much easier just to grant build on plots.
-
View User Profile
-
Send Message
Posted Apr 2, 2013@MutinyCraft
yesh! From now on: This server is powered by AntiBuild =) +1
-
View User Profile
-
Send Message
Posted Apr 1, 2013I wish to allow making of potions but not use and I would like certain people not to be able to wear armor
-
View User Profile
-
Send Message
Posted Apr 1, 2013Please please please make it so that I can control armor and potions this will help me so much I can't even explain I'm releasing a server tomorrow and it will totally fix almost every problem
-
View User Profile
-
Send Message
Posted Apr 1, 2013AntiBuild Version 2.4 is released. It is awaiting approval with the BukkitDev staff, but if you know how to do some url magic you can probably find it. :)
v2.4
Check the main page for permission nodes. If you would like to use the new messages please add the config options to your config. Check the default config for what options you can add. See the default config here.
-
View User Profile
-
Send Message
Posted Mar 31, 2013Hello, thanks for the hint. Yesterday it was definitely too late.