Skip to content

Latest commit

 

History

History
45 lines (30 loc) · 2.36 KB

File metadata and controls

45 lines (30 loc) · 2.36 KB

PermCleaner

Seasonal permission resets for TF-Minecraft.

PermCleaner clears selected permissions assigned directly to players in LuckPerms when a new season begins. It keeps permissions that match the server's preservation rules, while retaining group membership and other non-permission data.

Players are processed as they join or enter the relevant world. A saved season record prevents the same player from being automatically cleaned again during that season.

Features

  • Season-based cleanup — returning players receive the permission reset for the current season.
  • Preserved permissions — exact names and permission families can be kept through the reset.
  • Focused changes — removes direct permission nodes while preserving groups, prefixes, suffixes, and other LuckPerms node types.
  • World-aware processing — automatic cleanup can be limited to players entering a particular world.
  • Staff inspection — preview which nodes would be removed or kept before applying an individual cleanup.
  • Persistent season tracking — completed cleanup records survive server restarts.

The plugin supports seasonal progression resets while keeping the permissions and account metadata that should carry forward.

Documentation

Project documentation

Technical documentation is maintained in TF-Minecraft/Docs.

Tests and coverage

Run mvn clean verify with Java 21 after installing the pinned dependencies using the build guide. JUnit 5 and Mockito cover permission filtering, season stamps, commands, listeners, lifecycle, and asynchronous cleanup. Surefire test results are in target/surefire-reports/.

JaCoCo enforces 100% executable runtime line coverage with no production-code exclusions. Instruction and branch coverage are reported separately in target/site/jacoco/; build and release CI upload generated coverage reports. Mocks do not verify a live LuckPerms server or its shared storage.

License

Copyright (c) 2026 TF-Minecraft contributors.

TF-Minecraft-authored material in this repository is licensed under the Artistic License 2.0. Third-party dependencies and bundled material retain their own licenses.