diff --git a/SpongeAPI b/SpongeAPI index 0b67e0f9b9a..cbf8f6fa5d6 160000 --- a/SpongeAPI +++ b/SpongeAPI @@ -1 +1 @@ -Subproject commit 0b67e0f9b9a867d3550daa5122bdc958d8c6365e +Subproject commit cbf8f6fa5d6b874dfaa8998f4f1abc41c5fee6f8 diff --git a/src/main/java/org/spongepowered/common/SpongeCommon.java b/src/main/java/org/spongepowered/common/SpongeCommon.java index 8443fac93ca..b6e35653291 100644 --- a/src/main/java/org/spongepowered/common/SpongeCommon.java +++ b/src/main/java/org/spongepowered/common/SpongeCommon.java @@ -53,6 +53,7 @@ public final class SpongeCommon { private static final Logger LOGGER = LogManager.getLogger(Launch.instance().id()); private static final SpongeMinecraftVersion MINECRAFT_VERSION = new SpongeMinecraftVersion( SharedConstants.getCurrentVersion().getName(), + SharedConstants.getCurrentVersion().getId(), SharedConstants.getCurrentVersion().getProtocolVersion() ); diff --git a/src/main/java/org/spongepowered/common/SpongeMinecraftVersion.java b/src/main/java/org/spongepowered/common/SpongeMinecraftVersion.java index 7c85fd6941e..af6d2454179 100644 --- a/src/main/java/org/spongepowered/common/SpongeMinecraftVersion.java +++ b/src/main/java/org/spongepowered/common/SpongeMinecraftVersion.java @@ -25,18 +25,26 @@ package org.spongepowered.common; import net.minecraft.SharedConstants; +import org.checkerframework.checker.nullness.qual.Nullable; import org.spongepowered.api.MinecraftVersion; +import java.util.Optional; import java.util.OptionalInt; import java.util.StringJoiner; public final class SpongeMinecraftVersion implements MinecraftVersion { private final String name; + private final @Nullable String id; private final int protocol; public SpongeMinecraftVersion(String name, int protocol) { + this(name, null, protocol); + } + + public SpongeMinecraftVersion(String name, @Nullable String id, int protocol) { this.name = name; + this.id = id; this.protocol = protocol; } @@ -45,6 +53,11 @@ public String name() { return this.name; } + @Override + public Optional id() { + return Optional.ofNullable(this.id); + } + @Override public int protocolVersion() { return this.protocol; diff --git a/src/main/java/org/spongepowered/common/network/status/SpongeLegacyMinecraftVersion.java b/src/main/java/org/spongepowered/common/network/status/SpongeLegacyMinecraftVersion.java index 4f97a309478..0e066b96771 100644 --- a/src/main/java/org/spongepowered/common/network/status/SpongeLegacyMinecraftVersion.java +++ b/src/main/java/org/spongepowered/common/network/status/SpongeLegacyMinecraftVersion.java @@ -26,6 +26,7 @@ import org.spongepowered.api.MinecraftVersion; +import java.util.Optional; import java.util.OptionalInt; public class SpongeLegacyMinecraftVersion implements MinecraftVersion { @@ -52,6 +53,11 @@ public String name() { return this.name; } + @Override + public Optional id() { + return Optional.empty(); + } + @Override public int protocolVersion() { return this.latestVersion; diff --git a/src/main/java/org/spongepowered/common/network/status/SpongeStatusResponse.java b/src/main/java/org/spongepowered/common/network/status/SpongeStatusResponse.java index 043383b8615..b3f4f3e2497 100644 --- a/src/main/java/org/spongepowered/common/network/status/SpongeStatusResponse.java +++ b/src/main/java/org/spongepowered/common/network/status/SpongeStatusResponse.java @@ -145,6 +145,11 @@ public String name() { return this.name; } + @Override + public Optional id() { + return Optional.empty(); + } + @Override public void setName(String name) { this.name = Objects.requireNonNull(name, "name"); diff --git a/src/mixins/java/org/spongepowered/common/mixin/api/minecraft/network/protocol/status/ServerStatus_VersionMixin_API.java b/src/mixins/java/org/spongepowered/common/mixin/api/minecraft/network/protocol/status/ServerStatus_VersionMixin_API.java index abd90033cf8..22bec80faa8 100644 --- a/src/mixins/java/org/spongepowered/common/mixin/api/minecraft/network/protocol/status/ServerStatus_VersionMixin_API.java +++ b/src/mixins/java/org/spongepowered/common/mixin/api/minecraft/network/protocol/status/ServerStatus_VersionMixin_API.java @@ -30,6 +30,7 @@ import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; +import java.util.Optional; import java.util.OptionalInt; @Mixin(ServerStatus.Version.class) @@ -45,6 +46,11 @@ public String name() { return this.name; } + @Override + public Optional id() { + return Optional.empty(); + } + @Override public int protocolVersion() { return this.protocol;