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
@MutinyCraft
The buyland plugin allows you to have plots you can buy, sell, and rent out in a survival world setting. The only problem is, I want players to be able to build inside the plots, but the AntiBuild plugin is stopping all laying down of blocks, and if I allow it, they'll be able to place blocks anywhere. I want it to be sort of like WoW except with player housing, I'm trying to find an automatic block replacer atm for ore, and I already have an automatic replanter for trees. I'm trying to make it so that's all they can do is mine in my mineshafts, and break trees without breaking grass and stone. So they can't mess up the layout of the map, but still do what they need to do for a fun RPG experience. Not sure how to set that all up.
@Mr_Wired
I will try and add it this weekend. What do you mean "work with your Buyland" plugin? What doesn't work?
Could you do that soon please? My server is going to be completely up and running in 3 weeks, if you could do it in the meantime i'd really really appreciate it :)
Also, could you make this work with the BuyLand plugin? This would make it unbelievably perfect for my server :D
@Mr_Wired
At this time you can't specify the secondary ID. That means you can't block just spruce trees. This will be added in the future.
If you want to use per block permission make sure it is enabled in the config.yml. It is disabled by default and I assume that is where you are having issues.
Per-Block-Permission: true
How do I add like spruce trees and such to the permission files. Would it be like this this?
- antibuild.break.17.1 (or) - antibuild.break.17:1?
Also, not sure what's going on, but when I get the access to antibuild.break, it allows the players to break anything, then when I take it off and use antibuild.break.[id] it says I can't break blocks, even if it's something I exempted. Not sure what the deal is xD
Will this plugin work with the buyland plugin?
Here's the Link: http://dev.bukkit.org/server-mods/buyland/
AntiBuild 2.7 is now released.
v2.7
@InfinityWizard
Check that it actually is in the Plugins folder and that it enabled. It works fine for me.
@Mr_Wired
You can only use item IDs that are just numbers. At this time you are not able to use ":" to specify a certain type of block with the same ID. This may change in the future.
@Minecraftguy521
It isn't hard to setup. Just drop it in your plugins folder, add permissions, and you are done. The easiest way is to give the players you want to be able to build the "antibuild.bypass" permission.
Can someone make a video on how to set it up
How do I do - antibuild.break.17:1, it turns blue and the :1 goes red, because I only want the players to break the tree's and cut into stone. Is there any way to set it up so I can have safe zones? Like a place everyone can go and mine? Is there any way to set that up?
@MutinyCraft
/antibuild or any of the commands
@InfinityWizard
What command are you typing?
@Tealk123
I will add that for the next release.
it just comes up with unknown command
is it possible to add antibuild.lock.bypass.<world>
@zw4nzig
Which permissions plugin are you using? You didn't accidentally lock the world did you? Type /antibuild list and see if there is anything that displays. There is honestly no way that it should block a player from breaking a block if they have antibuild.bypass unless the block is blacklisted or the world is locked.
If none of that helps please private message me your permissions file and your antibuild config.yml so I can try and see what is going on.
Afternoon (At least in my neck of the woods!)
I'm having an interesting issue and I just can't figure it out. I've given every rank (Guest, Member, Moderator, Admin) antibuild.bypass, and only Admin rank (No OP-users are allowed on the server; anything requiring it must come from Console) is able to break blocks.
The setup originally gave antibuild.bypass to Member and inherited it up, but that stopped working after I rebuilt my perms file last night (AntiBuild is the only thing not working); thinking that maybe it was a problem with how I typed antibuild.bypass, I explicitly gave it to each rank and still, only Admin can actually break or place blocks.
If I remove Antibuild (which I -really- don't wanna do), everything works as expected.
Halp me MutinyCraft, you're my only hope.
(Edit 1 :Thought I had old Antibuild, deleted everything and redownloaded 2.6)
(Edit 2: Already had 2.6, already deleted/redownloaded everything. Still not working.)
@evo400
It seems there was a logic error in one of the checks and it wasn't checking the individual permissions like it should have been. This should be fixed in version 2.6. Let me know how it works for you.
@MutinyCraft
Well, I'm trying to do something like this: World1 everything enabled but disable all tnt interactions. World2 everything enabled but disable sand interactions, World3 every interactions enabled. I'm trying to use Blacklist with tnt and sand using id number of course. Then using antibuild.blacklist.[id] on just worlds that I WANT to bypass the blacklist. The blacklist works but the antibuild.blacklist.[id] is not working. All the worlds can't use tnt or sand. Am i doing something wrong? And yes GroupManager creates a separate folder per world depending on the config setup :)
@evo400
It is fairly simple once you get the hang of it. First you need to Per-Block-Permission to true in the config.yml. After you have done that you can start adding your block permissions. I haven't used GroupManager, but I believe that it creates a separate folder/config for each world? If that is true you just need to add your permissions to each world as you would like.
The permissions are very easy to use. The first thing you need is the block ID that you wish to allow. Then you need to decide if you want them to be able to place and/or break the block. Once you have that figured out, for place add antibuild.place.ID and for break add antibuild.break.ID where "ID" is the actual numerical ID of the block you are allowing. For placing stone that would be antibuild.place.1 and for breaking stone that would be antibuild.break.1
Let me know if you need more help.
How do I use this to give different block permissions per world? I'm trying to use this plugin with EssentialsGroupManager and Multiverse.