BlockProtection Reloaded
BlockProtection
This is a continuation of the BlockProtection plugin by Kanlaki101. A block protection plugin based off of OwnBlocks by cvenomz. BlockProtection will save any block you place down, to prevent other players from breaking it. Only the player who placed the block, anyone on his friends list, or an admin can break the block.
Developers, have suggestions, or would like to help? I welcome any and all help. Join me in IRC, or PM me!
Dependencies
Vault: Vault is required for BlockProtection to work on your server. Vault is used as an API so that BlockProtection can hook into almost every permissions system.
You can get Vault Link.
WorldEdit is Soft Dependencie. Needed for selected region block protection transfer.
You can get WorldEdit Link.
Features:
Block Protection
Every block your players place will be protected in the database.
Block Exclude List
Prevent certain blocks from being protected.
Admin Bypass
Your admins can bypass BlockProtection and break any player's blocks.
Friends System
Allow your players to build with friends! They can add/remove them as needed.
Where do I begin?
Installation:
- Make sure you have Vault installed.
- Drop BlockProtection.jar into your /plugins folder.
- On first load, config.yml, friendslist.yml, and the Database.db will be created.
- Open config.yml and edit it to your liking, then use the /bpreload command.
Permissions:
- bp.admin (Defaults to op) Allows players bypass BlockProtection, add blocks manually, and get the utility tool
- bp.friend (Defaults to true) Allows access to all of the Friends List features
- bp.reload (Defaults to op) Allows admins to reload all settings from the configuration file
- bp.user (Defaults to true) Allow players to use BlockProtection, and view the owner of blocks
- bp.giveblock (Defaults to op) Allows to give block (by Tool (stick by default))
- bp.transfer (Defaults to op) Allows to transfer blocks from WorldEdit selected region
Commands
- /bp [on/off] Toggle BlockProtection on/off, adding on/off is optional.
- /bpadd [playername] Add a player to your friends list
- /bpadmin Toggle BlockProtection bypass on/off
- /bpclear Clears your entire friends list
- /bplist List all players from your friends list
- /bpreload (Will not reload changes to "save-interval". Restart required!) Reloads settings from config.yml
- /bpremove [playername] Remove a player from friends list
- /bptool Gives the player 1 of the "utility tool"
- /bpgive [playername] All blocks will be given to Name player, by using Tool. To disable write /bpgive.
- /bptransfer [playername] After region selected by World edit. This command will transfer protection of selected blocks to [playername]. When no arguments are given the protection of the selected blocks will be removed. You need bp.transfer or bp.admin to do this.
- /bpimport [world] Import's blocks from WatchBlock MySQL. Check config for MySQL connection settings. If there are many blocks in the database please wait.
Suggestions/Help:
Very important: If you want something added or fixed, reply to questions I will ask!
To submit a ticket for help or a suggestion, click the ticket tab on the top of the page. Create a new ticket, and add the appropriate label.
@blackwolf12333
Actually, I've found the solution!
I can replace all the specific block-ids using WorldEdit. The newly replaced blocks will register under my name as the owner, thereby protecting it.
The only flaw to this is that i've tested it with your plugin. Even though Coreprotect says i've placed the block, BlockProtection doesn't recognize that i did because it was through WorldEdit.
If you can patch this, it'd be eternally grateful!!
@blackwolf12333
I need to scan the world for a certain block id throughout the entire map and protect it (one time thing) ...Then allow players the ability to mine or break new spawns of the same block-ID.
Worldedit's and other plugin protection methods are too fixed. I could also manually go around protecting every block, but that would take a lifetime.
@sandal25
Why not use worldguard for that? I think it would be easier with that than using BlockProtection.
Hey blackwolf and lenivets!
I have a question for you two.
I'm starting a new server map and need just One block type protected on the surface of the very large map.
Can the following commands: bp.giveblock or bp.transfer Help me with this request? Or can you guys implement this feature sometimes soon? Thanks
@lenivets09
On large servers(20 players all the time) MySQL would be usefull, but I don't think many large servers will use this plugin:P
@hyperkungen
Ill test that. Thx.
No MySQL will be added. It's not needed o_O All data is stored in Memory , only in Time Interval it saves data to file. So MySQL will make it slower , or same.
@lenivets09
i like the sound of that =) @hyperkungen.If you type "/bpadd player" and then type "/bplist".What do you see? Edit: and make sure you have "- bp.friend" & "- bp.user" in your permissions.
@tiwar
Ohh, im sorry didn't notice that but i have another prob. When my Members adds a friend to the friend list they still can't breake each others blocks, why can't they do that?
50% of MySQL support is ready. After all done New version will be relised.
@hyperkungen
did you type /bpadmin ?
Why can't i brake my player block when i am op?
@tiwar
I dont think it's needed . It's just Per Block protection. There is many Region protection plugins.
WE block protection is - "we could do a selection,and then add it to BP database" :)
@tiwar
@lenivets09
Sorry for the late response guys, internet stopped working 3 days ago:(
You are right, piston movement protection is needed, so I'll add that, also paintings and itemframes can be protected too, so I'll add that too:)
@lenivets09
WE block transfer? does that mean we could do a selection,and then add it to BP database?
also would be great if paintings & itemframes were protected,if possible Edit: "place-near-others-blocks" would be nice if we could define,how many blocks away,that it should prevent.
80% of NEW BlockProtection is ready.
Need
@tiwar
Good one, I'll look into that, but...school has started:( so I have less time to program:(
Another suggestion,make so that admins can bind a user with the tool. eg. /bptool [user] - so that admins can protect blocks that was put there before using the plugin,and make them owned by the user of choice..Cheers
@tiwar
Ok, I'll add that to disable broadcast, MySQL I guess I'll have to do that, although I have no idea how MySQL works, but I'll find that out:P