Skip to content

The Addon System Debut

Compare
Choose a tag to compare
@A248 A248 released this 17 Aug 15:50
· 86 commits to master since this release
457b6d8

In this release, we formally introduce the new addon system for extending LibertyBans. With the addon system, we can boldly engage ambitious feature requests. Addons require absolutely no performance overhead -- they interface directly with LibertyBans, exactly as if the addons were written into the main plugin.

I understand some users are not enthusiastic about having to install addons rather than configure features. We implemented an addon system to make the core plugin more approachable for beginners and more maintainable for developers. New users ought not to be confronted with a dizzying array of everything we have to offer. Also, the separation of additional features into addons significantly improves code quality through its imposition of clean organization. I have sung the benefits of code quality numerous times, and it is part of our development philosophy.

Velocity users: It is a known issue that LibertyBans cannot enforce mutes. Chat sent by 1.19.1 clients cannot be cancelled, and this is enforced by Velocity. See this Velocity issue for more information: PaperMC/Velocity#804. For a workaround, install LibertyBans on the backend servers and configure multi-instance synchronization as documented on the wiki.

Bugs fixed:

  • Fix message prefix failing to display in some circumstances. Reported by Notro over Discord (ad90605)
  • Detect Slf4j properly when LibertyBans runs on Spigot 1.16.5+. Does not include Paper (a3bd2e7)
  • Deadlock when tab completion is requested asynchronously, in rare scenarios, on recent Spigot/Paper (a045c93)

Improvements:

  • Hide tab completion if player does not have permission to execute the command (#155)
  • Add additional constraints to the database layer for IP address length; the application layer has checked these constraints since 1.0.0 (d519c84)
  • Eliminate some inefficiencies to hasten startup and database tasks (bead0e8 and 7f373df)
  • Various improvements to usability, documentation, and ecosystem friendliness, with contributions from @ahdg6 and @D3adhkwen (#156, #163, 946b96d, d93c23c, 10a7a00, fb285f1, a045c93, and 5b879e5)
  • Internal changes

Feature additions:

  • The tremendous addon system. The addon installation process is documented on the wiki. (#46)
  • Allow showing all punishments in /blame (#110)

Addons released:

  • The CheckPunish addon provides the /libertybans checkpunish <id> command (#93)
  • StaffRollback enables /libertybans staffrollback which rolls back punishments made by a staff member. Includes a confirmation message if configured (#86)
  • Warn Actions allows defining commands to be executed or automatic punishments to be levied when a player reaches a certain number of active warnings (#62)

The significance of the release date: I originally intended this release for yesterday, August the 16th, a famous birthday. Also, there are two existing LibertyBans releases on 16th's of other months.