This is a major plugin release, meaning it has breaking changes due to API changes, making it incompatible with plugins using the v3 API of ASL.
Breaking Changes
- API was bumped to v4 due to major breaking changes:
ProfileEntry#extraPlayersCount()
andProfileEntry#maxPlayersCount()
now return a String instead of an Integer.- Methods in
ProfileEntry.Builder
to set max and extra players count also have changed to accept Strings instead of Integers. - Deprecated methods in
ProfileEntry.Builder
have been removed.
Additions
- New Server List Profile Option
OnlinePlayers
- It allows to modify the online player count to any number value you like.
- It has the same structure as the
ExtraPlayers
andMaxPlayers
option, meaning it's underPlayerCount
and has the optionsEnabled: <boolean>
andAmount: <String>
- Should an invalid number be provided will it default to the current online player counts.
- IMPORTANT: Similar to
ExtraPlayers
andMaxPlayers
influencing${server playersMax}
does using this option modify${server playersOnline}
(Except when used inCondition
). It also alters the output ofExtraPlayers
due to it addingx
number to online players.
- New
${proxy ...}
placeholders were added for the BungeeCord and Velocity version of the plugin.- These allow you to retrieve the motd, online players, max players, etc. of a Server connected to the proxy.
- This system uses pinging servers every 10 seconds, so it may take a while for values to update properly.
Changes
ExtraPlayers
andMaxPlayers
options now accept a String instead of an Integer.- This allows the usage of placeholders that return a number.
- All
${server ...}
placeholders now return an empty String instead ofnull
.- This should avoid random situations of some placeholders being treated as "invalid" despite being a supported placeholder. See #317 for such a case.
- Actually unknown placeholder values (i.e.
${server invalidValue}
) will still returnnull
and be therefore treated as invalid.
This update fixes an issue, where the FaviconHandler stores local favicons using their non-lowercased file-names, while checking for an all-lowercased filename when getting it.
This means, if you had a file named Example.png
would the FaviconHandler save it as such but always check for example.png
, which results in it failing. This has now been fixed.
A new Placeholder called ${maintenance maintenanceEnabled}
was added to the plugin. It gets registered when the Maintenance Plugin by KennyTV is present on the server/proxy and allows you to return true or false based on if the global maintenance mode is active or not.
Other than that have there mostly been some smaller code improvements to the plugin. You should (hopefully) not notice a difference.
The UpdateChecker has received some improvements to hopefully help in fixing lag and slowdowns in case the Modrinth API is down or struggling.
The HTTPClient used now times out after 5 seconds of no response. In addition is the message players receive on join (if they have permissions) done inside a CompletableFuture's whenComplete(...)
method, meaning the sending of the message is done outside the main thread itself, which should help reducing the load on the main thread.
This update fixes an issue, where the hover did not work when using the plugin on a 1.21 Paper Server. The reason was breaking changes within Paper's code (Which afaik go even back to the latest 1.20.6 builds) that made AdvancedServerList's way of updating the hover no longer functional.
I've implemented a fix for this now. The plugin should also still work on older Server versions, but I want to emphasize that I do not guarantee this and should this old API be removed in the future, will I not implement a hacky backwards aproach but instead simply remove this old code. With that said will I still try to fix smaller issues with this hover, if they are within my skillset to do so.
This is a small update that only updates some dependencies which also adds proper support for 1.20.6 in BungeeCord (Which wasn't the case before, because apparently adventure platform bungeecord wasn't supporting it.)
This update reworks the command handling a bit while also adding a new sub-command called profiles
.
Command overhaul
The command system has been tweaked to add some quality of life changes.
Namely, the help command now contains hover and click actions for the listed commands, to show usage of command, permission required and description respectively, while also putting the sub-command into your chat-bar when clicking it.
Profiles sub-command
A new profiles
sub-command has been added. It allows you an easier creation of new profiles.
There are the following options available:
/asl profiles add <profile>
- Create a new Profile with file name<profile>
/asl profiles copy <profile> <name>
- Make a copy of<profile>
and save it as file<name>
/asl profiles list
- Show all loaded profiles. This list has hover text showing priority, condition and whether the profile is considered valid.
Screenshots
Here are some screenshots showing all the changes.