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
Hi ,
I put antibuild.bypass and antibuild.pickupitems for all
then i put blacklist to true , and put antibuild.blacklist.theitemid to players
I want to do that players can't break a type of block but can take it on the ground and be able to place it even if he cant brake that block .
So i put antibuild.place.theitemid but it don't work
Can you do something that players can place a block that is blacklisted but just cannot break it?
How can I permit use of the compass? I'm using "CompassNavigation" for players to use a compass to warp to different portal types and I get the message "You are not allowed to interact with this", I thought adding "antibuild.interact" would do the trick but now I receive the message "This world is currently locked and cannot be built in."
Thanks, superzyr
i just tested most of the perms with permissionsEX it doesn't work any ideas.
i use permissionsEX the perms chest perms don't work for me
@einer2002
Check that you have setup the permissions correctly. I just tested it and it works fine for me.
Hey umm Im using group manager and I gave antibuild.bypass to my builder rank so that higher ranks would inherit the building but now none of my ranks can build at all!
HELP
@kodiacbear93
You need to use a period ( . ) instead of ( : ) for metadata.
@EpicDaCow
I will look into it. No promises as I have been super busy lately.
@geekyservers
bPermissions is supported. People will be unable to build unless they have been given permission to do so. antibuild.bypass will allow them to build, break, etc. and if that isn't working for you then double check you gave the proper permissions.
So, I couldn't get this to work. I installed the plugin, added the appropriate perms via bpermissions (is it supported?) and rebooted
I gave antibuild.bypass to one of my builder ranks.
Made sure no world were locked in the config... yet, everyone was being blocked from building anything. Technically, since I didn't lock any worlds, normal build rules would apply right? Well, one would think, but this was not the case.
So, what am I doing wrong? I haven't locked any worlds down, but people still were blocked from building...
Could you guys make it so that you can let people do certain things in a locked world???? because i have locked the end on my server for minigames and I want them to be able to drop things and interact with things. So as a sugestion could you guys add some extra nodes for that something like antibuild.locked.interact to let people interact with things in locked worlds.
Thanks in advance!
The black list doesn't support meta data, that or I am configuring it incorrectly. I put in 17:1 and I couldn't break 17 or 17:2 when I should only not be able to break 17:1, in case your thinking I don't have perms to break blocks in general I can break all other blocks fine.
@Faithwins
Okay, here is what I would recommend.
Give all players antibuild.bypass (this allows them to bypass all antibuild checks, but the blacklist will still work).
Get the item id of the block you want to blacklist. In my example I will pretend I am blacklisting stone (item id = 1).
In the AntiBuild config.yml set Blacklist-On: false to Blacklist-On: true and then add the item id you want to blacklist. In my case I would replace the 7 that is in the config with 1 since I only want to blacklist stone.
Now, I would either do /antibuild reload or restart the server for the changes to take place.
If I want to allow a group/user to place stone, even though it is blacklisted, I simply give that player antibuild.blacklist.1 and you would replace 1 with the item ID of the blacklisted black you are giving permission for.
Let me know if that helps.
What exact config settings/permissions would I have to set up to allow people to break every single block except certain ones, but then allow them to break those blocks if I give them permissions to do so.
When I enabled the blacklist feature people were still unable to break blocks, open chests etc. so I think I'm missing something like a permission I have to give or something.
@Faithwins
Just use the blacklist feature.
Is there a way to invert this plugin meaning, have no blocks blocked and then add a list of blocks, I want to add certain blocks that cannot be placed or broken unless given a certain permission not have every single block blocked and have to give permissions to everything BUT the blocks I don't want people to break?
Thank you, great plugin :)
thank you guys SOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO much i have been looking 4 a plugin like this for so long
thanks!
oh nvm i got it!
I keep trying to lock the end but it will never work........ I do /antibuild lock end but it always says it is not a world...... Is there different world ids?
@MutinyCraft
Yes, thank you for the version 2.9!
@crore
I just tested this and I couldn't get it to work. It doesn't matter what the player is holding the plugin only checks that they have permission to open that specific inventory (anvil in your case). The held item is really irrelevant. I'm not sure what is causing you this issue. If you want me to look into it more please private message me your AntiBuild config and your permissions that you are using for antibuild.
@WUMBO123
Ensure that the blacklist is enabled in the config. It is working fine for me.
@Blabla72
Fixed. :)