geforkt von Mirrors/Paper
41647af74c
We cannot put blocking network I/O onto the worldgen threads, this will crash the server if it stalls
66 Zeilen
2.9 KiB
Diff
66 Zeilen
2.9 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Jake Potrebic <jake.m.potrebic@gmail.com>
|
|
Date: Fri, 1 Oct 2021 08:04:39 -0700
|
|
Subject: [PATCH] Add missing team sidebar display slots
|
|
|
|
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardTranslations.java b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardTranslations.java
|
|
index f1be7a4f96a556569e4a607959bfd085fa0cb64c..ca58cde37f4e5abeb33e2f583b3d53e80697eba9 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardTranslations.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardTranslations.java
|
|
@@ -7,7 +7,8 @@ import org.bukkit.scoreboard.DisplaySlot;
|
|
import org.bukkit.scoreboard.RenderType;
|
|
|
|
public final class CraftScoreboardTranslations {
|
|
- static final int MAX_DISPLAY_SLOT = 3;
|
|
+ static final int MAX_DISPLAY_SLOT = Scoreboard.getDisplaySlotNames().length; // Paper
|
|
+ @Deprecated // Paper
|
|
static ImmutableBiMap<DisplaySlot, String> SLOTS = ImmutableBiMap.of(
|
|
DisplaySlot.BELOW_NAME, "belowName",
|
|
DisplaySlot.PLAYER_LIST, "list",
|
|
@@ -16,10 +17,12 @@ public final class CraftScoreboardTranslations {
|
|
private CraftScoreboardTranslations() {}
|
|
|
|
public static DisplaySlot toBukkitSlot(int i) {
|
|
+ if (true) return org.bukkit.scoreboard.DisplaySlot.NAMES.value(Scoreboard.getDisplaySlotName(i)); // Paper
|
|
return CraftScoreboardTranslations.SLOTS.inverse().get(Scoreboard.getDisplaySlotName(i));
|
|
}
|
|
|
|
public static int fromBukkitSlot(DisplaySlot slot) {
|
|
+ if (true) return Scoreboard.getDisplaySlotByName(slot.getId()); // Paper
|
|
return Scoreboard.getDisplaySlotByName(CraftScoreboardTranslations.SLOTS.get(slot));
|
|
}
|
|
|
|
diff --git a/src/test/java/io/papermc/paper/scoreboard/DisplaySlotTest.java b/src/test/java/io/papermc/paper/scoreboard/DisplaySlotTest.java
|
|
new file mode 100644
|
|
index 0000000000000000000000000000000000000000..bb41a2f2c0a5e3b4cb3fe1b584e0ceb7a7116afb
|
|
--- /dev/null
|
|
+++ b/src/test/java/io/papermc/paper/scoreboard/DisplaySlotTest.java
|
|
@@ -0,0 +1,26 @@
|
|
+package io.papermc.paper.scoreboard;
|
|
+
|
|
+import net.minecraft.world.scores.Scoreboard;
|
|
+import org.bukkit.craftbukkit.scoreboard.CraftScoreboardTranslations;
|
|
+import org.bukkit.scoreboard.DisplaySlot;
|
|
+import org.junit.Test;
|
|
+
|
|
+import static org.junit.Assert.assertNotEquals;
|
|
+import static org.junit.Assert.assertNotNull;
|
|
+
|
|
+public class DisplaySlotTest {
|
|
+
|
|
+ @Test
|
|
+ public void testBukkitToMinecraftDisplaySlots() {
|
|
+ for (DisplaySlot value : DisplaySlot.values()) {
|
|
+ assertNotEquals(-1, CraftScoreboardTranslations.fromBukkitSlot(value));
|
|
+ }
|
|
+ }
|
|
+
|
|
+ @Test
|
|
+ public void testMinecraftToBukkitDisplaySlots() {
|
|
+ for (String name : Scoreboard.getDisplaySlotNames()) {
|
|
+ assertNotNull(CraftScoreboardTranslations.toBukkitSlot(Scoreboard.getDisplaySlotByName(name)));
|
|
+ }
|
|
+ }
|
|
+}
|