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>
repositories {
// for development builds
maven {
name = "sonatype-oss-snapshots"
url = "https://oss.sonatype.org/content/repositories/snapshots/"
}
// for releases
mavenCentral()
}
repositories {
// for development builds
maven(url = "https://oss.sonatype.org/content/repositories/snapshots/") {
name = "sonatype-oss-snapshots"
}
// for releases
mavenCentral()
}
Declaring the dependency:
<dependency>
<groupId>net.kyori</groupId>
<artifactId>adventure-platform-spongeapi</artifactId>
<version>4.0.0-SNAPSHOT</version>
</dependency>
dependencies {
implementation "net.kyori:adventure-platform-spongeapi:4.0.0-SNAPSHOT"
}
dependencies {
implementation("net.kyori:adventure-platform-spongeapi:4.0.0-SNAPSHOT")
}
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
.