MyBlock
MyBlock
Protecting what's yours
MyBlock is a state-of-the-art individual block protection system. Built off the powerful AsyncBlockEvents and WatchFox systems, MyBlock can protect millions of individuals blocks with custom permissions for each.
Links: Home | Downloads | Changelog | How to use | Configuration | Permission nodes | How it works | Report a bug
MyBlock requires WatchFox and AsyncBlockEvents to function.
MyBlock was initially developed as part of a plugin request for a simple, powerful, lag-free block protection system. Building off the WatchFox database, MyBlock eventually split to form AsyncBlockEvents, a library for managing certain block events asynchronously, and MyBlock as it is now.
Feature-wise, MyBlock supports per-block permission levels including notions for friends, guests, and allowing public access (for things like furnaces and chests).
At the highest level, MyBlock allows users to specify whether the blocks they place / break be marked as private, public-access, or no-protection. Private works as expected, allowing only the user (+others as you'll see) to manipulate the block or immediately adjacent to it. Public-access allows blocks to be interacted with by anyone, but not broken. Doors, buttons, chests, even cake can be selectively specified. Lastly, no-protection works just as you'd expect, giving everyone the ability to change your blocks. By default, blocks default to private.
MyBlock also allows defining 'guests'. Upon adding a 'guest', each following block place / break gets tagged with the guest, giving him full rights to the block and adjacent. Simply, this allows for any scenario where a user wants only certain blocks to be accessible to a select few. A group could work collaboratively on a building, adding each other as guests, while still ensuring their own home remains safe by clearing the guest list when they return home.
And of course, MyBlock allows users to define 'friends'. Friends are retroactively given permission to all of a users blocks. Welcoming a friend to a server, and the comfort of your home, is as simple as adding him to your friend list. All blocks you have and will place will authenticate.
For mods and admins, there is naturally the ability to ignore any pertinent permission setting. There is also the ability to change protection flags for someone else. Help users by configuring their friends list. Use command blocks or an area plugin to force users into building with the no-protection flag. All of MyBlock's commands support overriding (even the overriding command...)
Lastly, MyBlock includes a clean-up tool. The mark command will take a WorldEdit region and mark all protected blocks to your specification. Something as simple as an abandoned house can be marked as 'no-protection', relinquishing it back to the players at large. Using the override command, buildings can be marked as the one-less-friend owner.
@Marium0505
Update to 1.6.2 please! GREAAAAT plugin!
Update for 1.5.2?
Planning to update to 1.5.2 and further? Was hoping to build a server around this plugin.
Does this work on 1.5.2?
@Muzixs
...I figured it out. It's the result of a rather iffy hackjob I did in AsyncBlockEvents to get placing of blocks by shift-clicking to work reliably.
(If you're mildly aware of how AsyncBlockEvents works, the gist is that I pass some interaction events to the native engine instead emulating them myself. This allows me to capture the attempted block place instead of deducing what block the player would have placed from the item in his hand)
HOWEVER, it seems I forgot to test against the empty hand state, so I need an exception for that...
So, there's a new version of AsyncBlockEvents in the BukkitDev pipe. I've had my posts edited in the past for linking to unapproved jars, so I guess I'll just PM you.
@supertycoon0
So with the chest issue, i removed all but asyncblockevents, myblock, pex, protocolLib, vault, watchfox, and worldedit. Yet im still able to open chests when shift right clicking. I was using spigot at the time so i tested to see if that was the issue, but it wasnt. I even tried it without pex or vault, but still no luck. Do you think it would be something you could identify if you saw it yourself?
As for the region case, thanks for explaining the /mb override tactic, didnt think of using it that way to simply convert ownership to the afflicted.
@Muzixs
That would be a bug (or compatibility problem), though I have to say I can't reproduce it. I would be happy to look into it, it sounds like maybe another plugin is overriding how opening chests works when sneaking?
Griefing by encasing is a known tactic. Unfortunately, even something like a player claiming a region isn't really a solution, the griefer could always build a bigger box. (Or, there's also the case of griefing by region claiming) As good as I'd like to think MyBlock is at preventing griefing, human moderators/admins are still necessary. In practice, I haven't seen it to be a serious problem, banning the asshat and using
/mb override "owner" mark
to give the building owner rights over all the blocks in the worldedit region is quick and sends an effective message.Firstly i wanna say i've been waiting for a plugin like this, thanks so much for being the one to deliver it, an so elegantly to.
Second, i was doing some tinkering with it and noticed that when i place a private chest down and have another player shift right click it, they can open it. Is this a bug or is there something im missing? Also the protection system is great, its alot less messy in its own way compared to other chuck protection plugins. But i was wondering if you would be able to add a worldedit feature for players to select two corners and have them set it them selves for a set price/permission. I say this because being a greifer i would just build a box around the victim and trap them within it.
One more thing, wheres youre donate button. =3
http://dev.bukkit.org/server-mods/myblock/files/4-myblock-v0-4-0/
New update for 1.5.1 shenanigans
Oh, and with WatchFox logging WorldEdit, MyBlock honors the the WorldEdit block changes
And another detail I forgot, pressure pads and tripwires are also protected now as well. So button button doors can finally go away.
@EvilSkuba
Sounds like a good feature. I'll get that rolled in the near future.
The current 0.4.0 build doesn't have this, and was just an ASAP 1.5.1 release to coincide with the new asyncblockevents.
Hey, I would LOVE to use this plugin, but there is one issue... No multiworld support. I want to make it so my players can go to the designated creative world and have individual blocks protected. But I don't want that to happen in the survival world.
Mind updating please?
Thanks!
Update in the tubes. Added properties so you can disable protection of placing / breaking certain block ids. (Grow / b. empty is a place, b. fill is a break)
http://dev.bukkit.org/server-mods/myblock/files/3-myblock-v0-3-0/
@1337minecrafer
No other logging plugin I'm aware of support custom events (as defined by other plugins like MyBlock).
Until such support is added, MyBlock with the feature set is has now is impossible to implement. At best, it would be limited to private protections and friends only.
@bubbasmack
The /mb mark command (as documented here: https://bitbucket.org/super_tycoon/myblock/wiki/use) allows an admin with WorldEdit to change the block permissions and owner of any block in the WorldEdit selection.
do admin have the ability to set protection on large amounts of blocks at once? (ex: blocks in a radius and all blocks below the protected block down to bedrock?)
Add support for other block logging plugins such as CoreProtect, or else I have no use for this plugin.