Skip to content

Changelog

This page lists the recent changes made towards the AdvancedServerListAPI.
They are ordered newest to oldest.

v3.3.0

Added

  • Added PostServerListSetEvent to the different platform APIs.
    • Fired after AdvancedServerList is done with handling the PingEvent.
    • Allows to retrieve the ProfileEntry used for the PingEvent.

v3.2.1

Changed

  • Removed usage of ${api.version} in the different pom.xml for version resolving.

v3.2.0

Added

Changed

  • The API has been moved to Codeberg and is now available under a new repository URL to download. The group and artifact ID remained the same, but version no longer has a v prefix:

    <repositories>
      <repository>
        <id>codeberg</id>
        <url>https://codeberg.org/api/packages/Andre601/maven/</url>
      </repository>
    </repositories>
    
    <dependencies>
      <dependency>
        <groupId>ch.andre601.asl-api</groupId>
        <artifactId>api</artifactId>
        <version>{apiVersion}</version>
        <scope>provided</scope>
      </dependency>
    </dependencies>
    
    repositories {
        maven = { url ="https://codeberg.org/api/packages/Andre601/maven/" }
    }
    
    dependencies {
        compileOnly "ch.andre601.asl-api:api:{apiVersion}"
    }
    

Deprecated

  • Setters in ProfileEntry.Builder deprecated in favour of more consistent method naming.
    • setExtraPlayersCount(Integer)
    • setExtraPlayersEnabled(NullBool)
    • setFavicon(String)
    • setHidePlayersEnabled(NullBool)
    • setMaxPlayersCount(Integer)
    • setMaxPlayersEnabled(NullBool)
    • setMotd(List<String>)
    • setPlayerCountText(String)
    • setPlayers(List<String>)

v3.1.0

Added

Deprecated

  • setExtraPlayerEnabled(Integer) in ProfileEntry.Builder - Typo in method name.

v3.0.0

Breaking Changes

  • Removed platform-spigot API in favour of a more generic sounding platform-bukkit
  • Renamed all platform-specific packages from ch.andre601.advancedserverlist.<platform> to ch.andre601.advancedserverlist.api.<platform>

Added

  • New platform-specific GenericServer instances with their own methods to use.
    • BukkitServer - Contains a getWorlds() method that returns a Map<String, World> of all loaded worlds in the server.
    • BungeeProxy - Contains a getServers() method that returns a Map<String, ServerInfo> of all known Servers for BungeeCord.
    • VelocityProxy - Contains a getServers() method that returns a Map<String, RegisteredServer> of all known Servers for Velocity.

Removed

  • All previously deprecated getX() methods from the ProfileEntry record

v2.1.0

Changed

  • Turned ProfileEntry class into a record
    • Former getX() methods are now deprecated in favour of the record's own x() methods (i.e. getMotd() -> motd())

v2.0.0

Breaking Changes

  • platform-paper has been removed. It used the same code as platform-spigot and was therefore considered duplicate code and useless.
  • core has been removed. The CachedPlayer is no longer needed in the platform-specific APIs.

Added

  • PreServerListSetEvent to the different platform-specific APIs.
    • Called before AdvancedServerList alters the server list.
    • Allows to override the ProfileEntry used or even cancel the event.
  • ProfileEntry
  • Used for setting the different values of the server list.
  • Own instances can be made using the nested Builder class.
  • Has methods to create a Builder instance from itself, or make a copy from another ProfileEntry-instance.

Changed

  • Converted GenericPlayer, GenericServer, BungeePlayer, SpigotPlayer and VelocityPlayer into interfaces.
    • GenericPlayer no longer has getVersion(), hasPlayedBefore(), isBanned() and isWhitelisted(). They have been moved to VelocityPlayer (Only getVersion()) and SpigotPlayer respectively.
  • Converted NullBool from a class to an enum.
    • Contains TRUE, FALSE and NOT_SET.
    • isNull() is now isNotSet().

Removed

  • UnsupportedAPIAccessException as it is no longer used in the API itself.

v1.0.0

Added

  • AdvancedServerListAPI
    • Main class used to add your own PlaceholderProvider instances.
  • PlaceholderProvider
    • Abstract class used to add your own placeholders to parse in AdvancedServerList.