WatchBlock icon

WatchBlock -----

Per user automatic block-by-block grief protection.



WatchBlock
Fully compatible w/ Minecraft 1.17 / 1.17.1 / 1.18 / 1.18.1 / 1.18.2

This plugin is the spiritual successor to "Watchblock Refired", a very, very dead, and very, very old block protection plugin. Being that the code was so old and so much of it would've needed to be re-written I decided to remake my own, so here it is, from scratch.

What does it do?
This plugin, once configured correctly w/ your mysql server information will keep track of every single block that any player places, in every world. When someone walks up to a block and tries to break it, the plugin will check if that block is owned by someone, if it is, the plugin will see if you are in that person's friends list, if you're not, then the block will refuse to break, if you are, then you can break it as if it's your own! If the block wasn't placed by another player, then of course it just breaks as normal. The intended effect here is that without having to do anything, when a player joins your server, all their blocks are automatically protected from other players coming up and griefing them by manually breaking them. Note that there is no functionality in this plugin to prevent tnt grief or any other manner of griefing, this plugin is made simply to stop people from hitting and breaking your blocks the regular way. I suggest including in your server a rollback plugin like CoreProtect so any other type of grief can be rolled back.

Features
  • Automatic Block Protection
  • Commands to allow/remove players from friends-list
  • Threaded Insert and Remove of Blocks (Not Blocking Main Thread)
  • Great Performance
  • Multi-world support
  • Permissions to allow administrators to break blocks
  • Easy config, Easy Use
  • Full MySQL support
  • No action needed by players to start getting protected!
  • Automatic plugin disable if MySQL doesn't connect at startup! (until flat-file support comes)
  • Plugin will notify in Console when a new version is available here!
  • Purge players from the database with a simple command!
  • Purge specific blocks by world and coordinate by command!
  • Reset ENTIRE server's friends-lists with one command (restart required)
  • Check block ownership with a simple command
  • Check sql connection and reconnect if connection is lost w/ ingame commands!
  • Disconnect from sql database with ingame command for debugging
  • Block debugging toggle command which gives the player some useful info when breaking/removing blocks
  • /winfo command which is similar to CoreProtect's /co i command, use this to see useful protection info about a block!
  • Turn on and off player notifications in config file
  • If you don't have a permissions plugin, NO PROBLEM! Just go into the config file and set 'Auto-Assign-Normal-Perms' to true!
Requirements
  • None! (permissions plugin of your choice HIGHLY recommended)
Commands
  • /wallow {player}
  • /wremove {player}
  • /wfriends
  • /wpurgeblock
  • /wpurgeplayer
  • /wpurgefriends
  • /wpurgeworld
  • /wlookupblock
  • /wsqlcheck
  • /wsqlconnect
  • /wsqldisconnect
  • /wblockdebugger
  • /winfo
  • /wpurge
Permissions
Please check the documentation page for all permissions information!

What doesn't work?
Currently, there is no support for any material that, when placed, takes up more than one square, but can be broken by clicking on a single square. Example: Doors. There is also no support for blocks that fall or have physics where the location of the block can be changed without breaking the block (pushing a block w/ a piston or breaking a block under sand). These things will be worked into future versions of the plugin, but each item needs to be addressed individually, if you experience any weirdness w/ any blocks please see the note at bottom of this page.

What's coming next?
I will be sure to update this section w/ whatever I am working on for the next version of the plugin with a date so you can see it's still active. Note: Things that are colored red in this list are already coded and WILL be included in the next update, they are already included in the 'dev' builds of this plugin which can be found here. :)
  • Add all blocks that don't work properly to isUnsupported boolean to avoid issues like air getting protected (see below note)
  • Go through all methods, decide which ones are appropriate to use via console, then implement console usage for those.
  • Add support for other languages
  • Figure out and code a solution for golems, withers, snowmen and other 'summoned' entities
  • *HIGH PRIORITY* Fix /wreload command
  • This list of goals was created on 06/02/2022 @ 1347pst
Disclaimer: This plugin tracks and logs certain information that is stored in a publicly accessible database, this data includes server motd, ip, port, current online players, server-version, plugin version, as well as online-mode and whether your server is whitelisted. If you do not want this, do not use the plugin, in the future you will be able to disable this via a config settings.

Gitlab Note: Gitlab is a working space for me, meaning that the build found on the Gitlab page may not be functional, it is not meant to be a page where you download a dev build of the plugin, use things from here at your own risk.

REPORT ISSUES HERE
  • If for any other reason you wish to contact me OTHER than to report a bug, feel free to email me at [email protected]

[​IMG]


*Note that this is a brand new plugin and while everything in it should work without any error, there are potential issues with ongoing implementation of other block materials. Door protection has been disabled for this reason however other blocks that occupy multiple block coordinates but break as 1 block may not be removed from the database correctly when they are broken. The end result of this is the 'protection' of an air block, if a player attempts to place something in that air block they will receive a message telling them to notify a server-administrator. If this happens to you please take note of the block that was deleted from that coordinate and caused the protection of air to occur and let me know in the discussions page so I can add it into the code for exclusion until those materials are implemented properly.*
Resource Information
Author:
----------
Total Downloads: 765
First Release: Sep 29, 2021
Last Update: Jun 2, 2022
Category: ---------------
All-Time Rating:
1 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings