mirror of
https://github.com/PaperMC/Paper.git
synced 2025-01-01 17:01:56 +01:00
358877e2e2
Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: fb23cbb3 Define surefire plugin version d022084a Define ordering for MetadataStoreTest 99a7f6f0 PR-910: Match generic max absorption attribute name style with the rest c7390d71 PR-909: Update tests to JUnit 5 CraftBukkit Changes: f0661c351 PR-1230: Move unstructured PDC NBT serialisation to SNBT 452fcb599 PR-1256: Update tests to JUnit 5
102 lines
5.5 KiB
Diff
102 lines
5.5 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
|
|
|
|
== AT ==
|
|
public org.bukkit.craftbukkit.scoreboard.CraftScoreboardTranslations
|
|
public org.bukkit.craftbukkit.scoreboard.CraftScoreboardTranslations toBukkitSlot(Lnet/minecraft/world/scores/DisplaySlot;)Lorg/bukkit/scoreboard/DisplaySlot;
|
|
public org.bukkit.craftbukkit.scoreboard.CraftScoreboardTranslations fromBukkitSlot(Lorg/bukkit/scoreboard/DisplaySlot;)Lnet/minecraft/world/scores/DisplaySlot;
|
|
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardTranslations.java b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardTranslations.java
|
|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardTranslations.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardTranslations.java
|
|
@@ -0,0 +0,0 @@ import org.bukkit.scoreboard.RenderType;
|
|
|
|
public final class CraftScoreboardTranslations {
|
|
static final int MAX_DISPLAY_SLOT = 19;
|
|
+ @Deprecated // Paper
|
|
static final ImmutableBiMap<DisplaySlot, String> SLOTS = ImmutableBiMap.<DisplaySlot, String>builder()
|
|
.put(DisplaySlot.BELOW_NAME, "below_name")
|
|
.put(DisplaySlot.PLAYER_LIST, "list")
|
|
.put(DisplaySlot.SIDEBAR, "sidebar")
|
|
- .put(DisplaySlot.SIDEBAR_BLACK, "sidebar.team.black")
|
|
- .put(DisplaySlot.SIDEBAR_DARK_BLUE, "sidebar.team.dark_blue")
|
|
- .put(DisplaySlot.SIDEBAR_DARK_GREEN, "sidebar.team.dark_green")
|
|
- .put(DisplaySlot.SIDEBAR_DARK_AQUA, "sidebar.team.dark_aqua")
|
|
- .put(DisplaySlot.SIDEBAR_DARK_RED, "sidebar.team.dark_red")
|
|
- .put(DisplaySlot.SIDEBAR_DARK_PURPLE, "sidebar.team.dark_purple")
|
|
- .put(DisplaySlot.SIDEBAR_GOLD, "sidebar.team.gold")
|
|
- .put(DisplaySlot.SIDEBAR_GRAY, "sidebar.team.gray")
|
|
- .put(DisplaySlot.SIDEBAR_DARK_GRAY, "sidebar.team.dark_gray")
|
|
- .put(DisplaySlot.SIDEBAR_BLUE, "sidebar.team.blue")
|
|
- .put(DisplaySlot.SIDEBAR_GREEN, "sidebar.team.green")
|
|
- .put(DisplaySlot.SIDEBAR_AQUA, "sidebar.team.aqua")
|
|
- .put(DisplaySlot.SIDEBAR_RED, "sidebar.team.red")
|
|
- .put(DisplaySlot.SIDEBAR_LIGHT_PURPLE, "sidebar.team.light_purple")
|
|
- .put(DisplaySlot.SIDEBAR_YELLOW, "sidebar.team.yellow")
|
|
- .put(DisplaySlot.SIDEBAR_WHITE, "sidebar.team.white")
|
|
.buildOrThrow();
|
|
|
|
private CraftScoreboardTranslations() {}
|
|
|
|
public static DisplaySlot toBukkitSlot(net.minecraft.world.scores.DisplaySlot minecraft) {
|
|
+ if (true) return DisplaySlot.NAMES.value(minecraft.getSerializedName()); // Paper
|
|
return CraftScoreboardTranslations.SLOTS.inverse().get(minecraft.getSerializedName());
|
|
}
|
|
|
|
public static net.minecraft.world.scores.DisplaySlot fromBukkitSlot(DisplaySlot slot) {
|
|
+ if (true) return net.minecraft.world.scores.DisplaySlot.CODEC.byName(slot.getId()); // Paper
|
|
return net.minecraft.world.scores.DisplaySlot.CODEC.byName(CraftScoreboardTranslations.SLOTS.get(slot));
|
|
}
|
|
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java
|
|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java
|
|
@@ -0,0 +0,0 @@ public class Commodore
|
|
desc = getOriginalOrRewrite( desc );
|
|
}
|
|
// Paper end
|
|
+ // Paper start - DisplaySlot
|
|
+ if (owner.equals("org/bukkit/scoreboard/DisplaySlot")) {
|
|
+ if (name.startsWith("SIDEBAR_") && !name.startsWith("SIDEBAR_TEAM_")) {
|
|
+ super.visitFieldInsn(opcode, owner, name.replace("SIDEBAR_", "SIDEBAR_TEAM_"), desc);
|
|
+ return;
|
|
+ }
|
|
+ }
|
|
+ // Paper end - DisplaySlot
|
|
|
|
if ( owner.equals( "org/bukkit/block/Biome" ) )
|
|
{
|
|
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..0000000000000000000000000000000000000000
|
|
--- /dev/null
|
|
+++ b/src/test/java/io/papermc/paper/scoreboard/DisplaySlotTest.java
|
|
@@ -0,0 +0,0 @@
|
|
+package io.papermc.paper.scoreboard;
|
|
+
|
|
+import org.bukkit.craftbukkit.scoreboard.CraftScoreboardTranslations;
|
|
+import org.bukkit.scoreboard.DisplaySlot;
|
|
+import org.junit.jupiter.api.Test;
|
|
+
|
|
+import static org.junit.jupiter.api.Assertions.assertNotNull;
|
|
+
|
|
+public class DisplaySlotTest {
|
|
+
|
|
+ @Test
|
|
+ public void testBukkitToMinecraftDisplaySlots() {
|
|
+ for (DisplaySlot bukkitSlot : DisplaySlot.values()) {
|
|
+ assertNotNull(CraftScoreboardTranslations.fromBukkitSlot(bukkitSlot));
|
|
+ }
|
|
+ }
|
|
+
|
|
+ @Test
|
|
+ public void testMinecraftToBukkitDisplaySlots() {
|
|
+ for (net.minecraft.world.scores.DisplaySlot nmsSlot : net.minecraft.world.scores.DisplaySlot.values()) {
|
|
+ assertNotNull(CraftScoreboardTranslations.toBukkitSlot(nmsSlot));
|
|
+ }
|
|
+ }
|
|
+}
|