Danger

The Adventure docs are currently a work in progress. Some areas may have limited coverage or may not be entirely up to date. Feel free to join our discord at https://discord.gg/MMfhJ8F if you have any questions.

SpongeAPI

Adventure provides a platform for SpongeAPI 7 for Minecraft: Java Edition 1.12. For SpongeAPI 8 and up (targeting Minecraft: Java Edition 1.16.4), Adventure is the native text library, so no platform is needed.

To get started using this platform, add the artifact to your build file:

First, add the repository:

<repositories>
    <!-- ... -->
    <repository> <!-- for development builds -->
      <id>sonatype-oss</id>
      <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
    </repository>
    <!-- ... -->
</repositories>

Declaring the dependency:

<dependency>
<groupId>net.kyori</groupId>
<artifactId>adventure-platform-spongeapi</artifactId>
<version>4.0.0-SNAPSHOT</version>
</dependency>

Usage

The SpongeAPI platform can either be created through Guice dependency injection, or created directly. We recommend using injection, since less boilerplate is requred.

An example plugin is fairly straightforward:

@Plugin(/* [...] */)
public class MyPlugin {
  private final SpongeAudiences adventure;

  @Inject
  MyPlugin(final SpongeAudiences adventure) {
    this.adventure = adventure;
  }

  public @NonNull SpongeAudiences adventure() {
    return this.adventure;
  }
}

This sets up a SpongeAudiences instance that can provide audiences for players, or any MessageReceiver.