From da1ead367a7b44e184ea5f6cbd74813da74ede96 Mon Sep 17 00:00:00 2001 From: William Date: Sun, 12 Mar 2023 18:14:57 +0000 Subject: [PATCH] Better handling for nullable collision rules --- .../velocitab/packet/UpdateTeamsPacket.java | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/src/main/java/net/william278/velocitab/packet/UpdateTeamsPacket.java b/src/main/java/net/william278/velocitab/packet/UpdateTeamsPacket.java index 548c835..6683201 100644 --- a/src/main/java/net/william278/velocitab/packet/UpdateTeamsPacket.java +++ b/src/main/java/net/william278/velocitab/packet/UpdateTeamsPacket.java @@ -10,6 +10,7 @@ import lombok.*; import lombok.experimental.Accessors; import org.apache.commons.text.StringEscapeUtils; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import java.util.ArrayList; import java.util.Arrays; @@ -191,19 +192,21 @@ public class UpdateTeamsPacket extends AbstractPacket { private final String id; - NameTagVisibility(String id) { + NameTagVisibility(@NotNull String id) { this.id = id; } + @NotNull public String id() { return id; } - public static NameTagVisibility byId(String id) { - return Arrays.stream(values()) + @NotNull + public static NameTagVisibility byId(@Nullable String id) { + return id == null ? ALWAYS : Arrays.stream(values()) .filter(visibility -> visibility.id.equals(id)) .findFirst() - .orElse(null); + .orElse(ALWAYS); } } @@ -215,19 +218,21 @@ public class UpdateTeamsPacket extends AbstractPacket { private final String id; - CollisionRule(String id) { + CollisionRule(@NotNull String id) { this.id = id; } + @NotNull public String id() { return id; } - public static CollisionRule byId(String id) { - return Arrays.stream(values()) + @NotNull + public static CollisionRule byId(@Nullable String id) { + return id == null ? ALWAYS : Arrays.stream(values()) .filter(rule -> rule.id.equals(id)) .findFirst() - .orElse(null); + .orElse(ALWAYS); } } }