Motivation - TehBrian/RestrictionHelper GitHub Wiki

Protection plugins, such as WorldGuard and PlotSquared, restrict certain actions to only players with sufficient permission. These restricted actions usually include interacting with blocks, placing blocks, breaking blocks, and so on.

When a plugin prevents an event from occurring, it cancels the event. Then, other plugins can choose to ignore cancelled events, thereby allowing them to respect restricted actions without caring which plugin is preventing them or why.

However, commands—or other non-event-based functionality—that modify potentially-restricted blocks must interface directly with the protection plugin. This forces other plugins to either become incompatible with that plugin or use the plugin's API to check building restrictions.

Since there are so many popular protection plugins out there, each with their own API, it became incredibly tedious to program for each one across all of my plugins, and so RestrictionHelper was born.

RestrictionHelper bridges protection plugins and other plugins. It provides an straightforward API to check whether a player should be able to perform an action according to all the protection plugins enabled on the server. Rather than muddying your plugin's code with API checks for other plugins, simply get an instance of RestrictionHelper, register the appropriate restrictions, and check when needed.