This is a small update making some improvements to the code, while also fixing a few minor things.
Improvements
- Created a
BukkitCore<F>
class to extend theJavaPlugin
class and implement thePluginCore<F>
interface respectively. This allowed me to simply provide the class instance for cases where either a JavaPlugin or a PluginCore instance was needed. - Made
AdvancedServerList
have a Type parameter (So it becameAdvancedServerList<F>
This was made to get rid ofPluginCore<?>
usage, which I wasn't a big fan of. - Unregister PlaceholderAPI expansion when plugin is disabling itself. This should allow support for using
/reload
(Although I do not recommend using that).
Fixes
- PlaceholderAPI expansion not being set as Persistent. It should now no longer be unregistered when using
/papi reload
- JoinEvent class not being registered as a Event listener
This release is the first proper 3.0.0 release of AdvancedServerList.
If you didn't follow the previous releases is here a short summary:
- Support for PaperMC's new
Paper-plugin
system has been implemented. The two jars (Spigot and Paper) have been merged into one now. As of writing this has the Paper module - after being kept for a while - been removed. - Fixes have been made towards Spigot compatability (More precisely with protocollib).
Other changes have recently been made too. In detail, a "HangarUploader" module was made, which houses the code of a Jar file made to upload the jar files to the Hangar Website automatically. Big thanks to all the @hangarmc team members that helped me in getting this to work. If you're reading this on Hangar, does it mean the application worked!
Additionally have dependencies been improved. The Bukkit jar is no longer almost 8MB but instead around 1.15MB. The other jars - to my knowledge - received little to no size reduction.
Funfact (Actually sad fact)
This is the 7th time I make the release
This update fixes #67 on Spigot 1.19.4
The issue was, that The Server List Ping stuff of MC is now a record, which is unmodifiable, meaning that I simply can't get the ping, alter it and then ignore. So this change writes the changed ping back into ProtocolLib to properly update the Server List entry.
It also updates some dependencies including the ASL API, which is now 2.1.0. Please read the API Changelog here.
Note that I still publish this as beta as I still want to be sure to have all bugs removed before making a full update later on.
FOR SPIGOT AND PAPER USERS
This update is a BETA, so expect possible bugs and issues and Make backups of your server and plugin configurations! While I did test the plugin on 1.19.4 and it working will I not guarantee that it won't break, so be careful with it and always report issues to me on GitHub!
What changed?
This update adds support for PaperMC's all new Paper plugin system. This system allows a plugin to define a separate YAML file for different configurations to be loaded and used, making a merged jar a lot easier.
Because of this is AdvancedServerList no longer shipping a separate Paper and Spigot jar but instead a Bukkit jar that works on both platforms. Please note that the Paper plugin feature only exists since the latest 1.19.3 and 1.19.4 releases and is still considered experimental. On older versions will AdvancedServerList load like a Spigot plugin (including the Paper notice banner). This won't be removed nor fixed.
As a final note will I keep the paper
module until the next non-patch release, so if you want to build the old paper plugin can you clone this repository and execute mvn --projects :core,:paper clean install
in the root-directory to build the core and paper module.
Please let me know about any issues you encountered!
FOR SPIGOT AND PAPER USERS
This update is a BETA, so expect possible bugs and issues and Make backups of your server and plugin configurations! While I did test the plugin on 1.19.4 and it working will I not guarantee that it won't break, so be careful with it and always report issues to me on GitHub!
What changed?
This update adds support for PaperMC's all new Paper plugin system. This system allows a plugin to define a separate YAML file for different configurations to be loaded and used, making a merged jar a lot easier.
Because of this is AdvancedServerList no longer shipping a separate Paper and Spigot jar but instead a Bukkit jar that works on both platforms. Please note that the Paper plugin feature only exists since the latest 1.19.3 and 1.19.4 releases and is still considered experimental. On older versions will AdvancedServerList load like a Spigot plugin (including the Paper notice banner). This won't be removed nor fixed.
As a final note will I keep the paper
module until the next non-patch release, so if you want to build the old paper plugin can you clone this repository and execute mvn --projects :core,:paper clean install
in the root-directory to build the core and paper module.
Please let me know about any issues you encountered!
This update adds a new set of Placeholders you can use in PlaceholderAPI. Obviously can they only be used on the Spigot and Paper version, so keep that in mind.
A full list can be found here: https://www.andre601.ch/AdvancedServerList/placeholderapi/
Please note
Despite this being a minor version bump does it contain breaking changes due to the API being updated from v1 to v2 which has its own set of breaking changes (See this Release for details)
Also, while the plugin has been tested using the asl-mockup
plugin could there be bugs and compatability issues. Please report them when you encounter any.
Removed API module
The api
module has been removed. Instead is the separate asl-api
repository used for the actual API stuff, meaning that the plugin will now use the same API as you would when hooking into it.
Added PreServerListSetEvent
This event is fired whenever AdvancedServerList is about to alter the server list for a player. It allows you to modify the used ProfileEntry or even cancel the event to not have the server list changed.
Fixed =
condition not working when surrounded by spaces
If you had a =
(equals) condition and the =
was surrounded by spaces would this break the check, as an expression like value1 = value1
would check "value1 "
with " value1"
which obviously aren't equal.
The plugin now removes any leading and trailing spaces from the left and right side of the expression before evaluating the condition.