A new protection hook, LWCXProtection, has been introduced to the YardWatch system, and the respective hook has been registered. Changes have been made to the service manager to facilitate this. Additionally, a relevant repository and corresponding dependency have been added to the pom.xml file for this purpose.
A 'folia-supported' flag is added to the plugin.yml file of the YardWatch project. This flag will provide compatibility with any Folia-powered systems, improving the plugin's functionality and coverage.
Refactored the plugin enablement checks in `YardWatch.java` to use a new method `shouldRegisterService`. This method determines if a plugin is enabled and if it provides an implementation for the Protection service, therefore enhancing plugin setup accuracy.
Introduced a class variable `dummyId` to replace the previously hardcoded UUID in the `isProtected` method of the GriefPreventionProtection class. This change improves code maintainability and readability.
Refactored the permission checks in GriefPreventionProtection.java to use the Inventory permission rather than the Access permission. This change is in the methods canInteract and canDamage, and as a result enhances their functionalities under GriefPrevention's claim-based protection system.
Refactored the YardWatch.java file to check if the GriefPrevention plugin is enabled. If enabled, GriefPrevention Protection is registered. Additionally, a new class GriefPreventionProtection.java was added which checks if a location is protected, if a player can break/place a block, interact with a block or entity, or damage an entity based on GriefPrevention's claims. Moreover, added a new dependency for GriefPrevention in pom.xml.
The plugin.yml and pom.xml files were refactored to utilize Maven variables for elements including project name, version, description, and URL. This simplifies the process of updating these values, as they now only need to be modified in one location. This change enhances maintainability and code readability.
The Java version in pom.xml has been updated from 1.8 to 17. Also, the WorldGuardProtection.java class has been refactored for cleaner code. Specifically, a condition check and player definition are now combined into a single line to improve readability and efficiency.
Introduced a new plugin, YardWatch, implemented with WorldGuard for protection. The plugin checks if WorldGuard is enabled and regulates breaking blocks, placing blocks, and interactions based on WorldGuard's build and interact flags. Also included are updated .gitignore and pom.xml files to manage the project setup.