diff --git a/api/base/build.gradle.kts b/api/base/build.gradle.kts index a6fa608cc..c6cebe0ba 100644 --- a/api/base/build.gradle.kts +++ b/api/base/build.gradle.kts @@ -4,4 +4,5 @@ dependencies { exclude(group = "com.google.guava", module = "guava") exclude(group = "org.lanternpowered", module = "lmbda") } + compileOnlyApi("org.jetbrains", "annotations", "23.0.0") } \ No newline at end of file diff --git a/api/geyser/src/main/java/org/geysermc/geyser/api/command/CommandExecutor.java b/api/geyser/src/main/java/org/geysermc/geyser/api/command/CommandExecutor.java index d384d097c..12a54ee90 100644 --- a/api/geyser/src/main/java/org/geysermc/geyser/api/command/CommandExecutor.java +++ b/api/geyser/src/main/java/org/geysermc/geyser/api/command/CommandExecutor.java @@ -25,13 +25,14 @@ package org.geysermc.geyser.api.command; +import org.checkerframework.checker.nullness.qual.NonNull; + /** * Handles executing a command. * * @param the command source */ public interface CommandExecutor { - /** * Executes the given {@link Command} with the given * {@link CommandSource}. @@ -40,5 +41,5 @@ public interface CommandExecutor { * @param command the command * @param args the arguments */ - void execute(T source, Command command, String[] args); + void execute(@NonNull T source, @NonNull Command command, @NonNull String[] args); } diff --git a/api/geyser/src/main/java/org/geysermc/geyser/api/command/CommandSource.java b/api/geyser/src/main/java/org/geysermc/geyser/api/command/CommandSource.java index aabf0c4e8..45276e2c4 100644 --- a/api/geyser/src/main/java/org/geysermc/geyser/api/command/CommandSource.java +++ b/api/geyser/src/main/java/org/geysermc/geyser/api/command/CommandSource.java @@ -25,6 +25,8 @@ package org.geysermc.geyser.api.command; +import org.checkerframework.checker.nullness.qual.NonNull; + /** * Represents an instance capable of sending commands. */ @@ -42,7 +44,7 @@ public interface CommandSource { * * @param message the message to send */ - void sendMessage(String message); + void sendMessage(@NonNull String message); /** * Sends the given messages to the command source @@ -58,7 +60,7 @@ public interface CommandSource { /** * If this source is the console. * - * @return true if this source is the console + * @return true if this source is the console */ boolean isConsole(); diff --git a/api/geyser/src/main/java/org/geysermc/geyser/api/event/EventRegistrar.java b/api/geyser/src/main/java/org/geysermc/geyser/api/event/EventRegistrar.java index 7a2cc0071..064dd55f6 100644 --- a/api/geyser/src/main/java/org/geysermc/geyser/api/event/EventRegistrar.java +++ b/api/geyser/src/main/java/org/geysermc/geyser/api/event/EventRegistrar.java @@ -25,6 +25,7 @@ package org.geysermc.geyser.api.event; +import org.checkerframework.checker.nullness.qual.NonNull; import org.geysermc.geyser.api.GeyserApi; /** @@ -39,7 +40,8 @@ public interface EventRegistrar { * @param object the object to wrap around * @return an event registrar instance */ - static EventRegistrar of(Object object) { + @NonNull + static EventRegistrar of(@NonNull Object object) { return GeyserApi.api().provider(EventRegistrar.class, object); } } diff --git a/api/geyser/src/main/java/org/geysermc/geyser/api/network/BedrockListener.java b/api/geyser/src/main/java/org/geysermc/geyser/api/network/BedrockListener.java index 58a597eb6..61fe286aa 100644 --- a/api/geyser/src/main/java/org/geysermc/geyser/api/network/BedrockListener.java +++ b/api/geyser/src/main/java/org/geysermc/geyser/api/network/BedrockListener.java @@ -25,6 +25,8 @@ package org.geysermc.geyser.api.network; +import org.checkerframework.checker.nullness.qual.NonNull; + /** * The listener that handles connections from Minecraft: * Bedrock Edition. @@ -37,6 +39,7 @@ public interface BedrockListener { * * @return the listening address */ + @NonNull String address(); /** diff --git a/api/geyser/src/main/java/org/geysermc/geyser/api/network/RemoteServer.java b/api/geyser/src/main/java/org/geysermc/geyser/api/network/RemoteServer.java index b13ae5930..d0ac6ee7e 100644 --- a/api/geyser/src/main/java/org/geysermc/geyser/api/network/RemoteServer.java +++ b/api/geyser/src/main/java/org/geysermc/geyser/api/network/RemoteServer.java @@ -25,6 +25,8 @@ package org.geysermc.geyser.api.network; +import org.jetbrains.annotations.NotNull; + /** * Represents the Java server that Geyser is connecting to. */ @@ -63,5 +65,6 @@ public interface RemoteServer { * * @return the auth type required by the remote server */ + @NotNull AuthType authType(); } diff --git a/core/build.gradle.kts b/core/build.gradle.kts index d5f1c7a72..98ddd99b8 100644 --- a/core/build.gradle.kts +++ b/core/build.gradle.kts @@ -84,7 +84,7 @@ configure { val mainFile = "src/main/java/org/geysermc/geyser/GeyserImpl.java" // On Jenkins, a detached head is checked out, so indra cannot determine the branch. Fortunately, this environment variable is available. - val branchName = indra.branchName() ?: System.getenv("GIT_BRANCH") ?: "DEV" + val branchName = indra.branchName() ?: System.getenv("BRANCH") ?: "DEV" val commit = indra.commit() val git = indra.git() val gitVersion = "git-${branchName}-${commit?.name?.substring(0, 7) ?: "0000000"}"