1.7
Compatibility
Changes
Update Log: Security Patches & Economy Overhaul
This update focuses on critical security exploits involving hoppers and minecarts, introduces a new Discord Webhook system, and refactors the internal code for better performance.
** Critical Security & Exploit Fixes**
- Hopper Minecart Patch: Fixed a major exploit where Hopper Minecarts could suck items from locked chests through blocks. InventoryMoveItemEvent now strictly checks minecart interactions.
- Hopper Pushing Loophole: Fixed an oversight where unlocked hoppers could push items into locked chests. The system now validates the security of the Destination inventory to prevent griefers from filling players' chests with junk.
- Entity Glitch Protection: Added safeguards against using entities (Item Frames, Armor Stands) to glitch block interactions and bypass locks.
✨ New Features
- Discord Integration (Webhooks): You can now connect the plugin to a Discord channel!
- Alerts: Get notified when a chest is being lockpicked (" Alert: Your chest at X... is being lockpicked!").
- Tax Warnings: Automatic notifications when a lock expires due to unpaid tax.
- Active "Foreclosure" System: Moved from passive tax checking to an active schedule. The server now runs a task every hour to identify and unlock chests with expired tax immediately, keeping the economy moving.
GUI & Quality of Life
- GUI Pagination: Added "Next" and "Previous" page support for the Friend Selector and Nearby Player menus. No more missing names when you have more than 27 friends/players online!
- Visual Economy Feedback: The GUI now provides visual cues (e.g., Red Glass Pane) if a player has insufficient funds to pay tax or fees.
- Full Localization: Removed hardcoded strings (e.g., "§b§lStatus & Info") from MenuManager. All GUI item names and lores are now fully editable in messages.yml.
⚙️ Technical & Internal Changes
- Major Refactor: Addressed the "God Class" issue in LockLogic.java. Logic has been split into dedicated listeners (BlockBreakListener, InventoryMoveListener, ExplosionListener) for cleaner, more maintainable code.
- Optimization: Improved event handling efficiency for block breaking and interactions.
⚠️ Important Notes for Admins
Config Reset Recommended: Because of the new updates, your config.yml has changed. Please backup your old config and regenerate a new one to access these features.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:jRewrdhN:xgkvXv44"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:jRewrdhN:xgkvXv44"
}

