Add Adventure API to ServerLinks (#10891)

This commit is contained in:
Jakub Zacek 2024-06-16 13:54:38 +02:00 committed by GitHub
parent c84a3b541c
commit d8c298007f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 94 additions and 0 deletions

View file

@ -3492,6 +3492,44 @@ index 9babfd8e6c847ea26863be6243f17fc252dc9e1d..0e3ff653211b0210f8679b475d5f62ee
+ }
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServerLinks.java b/src/main/java/org/bukkit/craftbukkit/CraftServerLinks.java
index cbdb1a56a97150c164515a4ce6d3ba06428bf321..b214e7b302abbfe1641485a05f1371ac65ffb517 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServerLinks.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServerLinks.java
@@ -61,6 +61,19 @@ public class CraftServerLinks implements ServerLinks {
return link;
}
+ // Paper start - Adventure
+ @Override
+ public ServerLink addLink(net.kyori.adventure.text.Component displayName, URI url) {
+ Preconditions.checkArgument(displayName != null, "displayName cannot be null");
+ Preconditions.checkArgument(url != null, "url cannot be null");
+
+ CraftServerLink link = new CraftServerLink(net.minecraft.server.ServerLinks.Entry.custom(io.papermc.paper.adventure.PaperAdventure.asVanilla(displayName), url));
+ this.addLink(link);
+
+ return link;
+ }
+ // Paper end - Adventure
+
@Override
public ServerLink addLink(String displayName, URI url) {
Preconditions.checkArgument(displayName != null, "displayName cannot be null");
@@ -134,6 +147,13 @@ public class CraftServerLinks implements ServerLinks {
return CraftChatMessage.fromComponent(this.handle.displayName());
}
+ // Paper start - Adventure
+ @Override
+ public net.kyori.adventure.text.Component displayName() {
+ return io.papermc.paper.adventure.PaperAdventure.asAdventure(this.handle.displayName());
+ }
+ // Paper end - Adventure
+
@Override
public URI getUrl() {
return this.handle.link();
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index a59eebb89d11788b999d1e5cb4fd2f4e55e023ab..1e8d93d81b7a391bbd1e9926ff35a68d4c563f0f 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java