From ca45788040dcaf403fb3f1f02092bed73462af58 Mon Sep 17 00:00:00 2001 From: oop-778 Date: Wed, 16 Nov 2022 14:58:46 +0200 Subject: [PATCH 1/3] Add via-facet to bungee --- platform-bungeecord/build.gradle | 1 + .../adventure/platform/bungeecord/BungeeAudience.java | 9 +++++++++ .../adventure/platform/bungeecord/BungeeFacet.java | 10 ++++++++++ 3 files changed, 20 insertions(+) diff --git a/platform-bungeecord/build.gradle b/platform-bungeecord/build.gradle index aad0af0b..e174f2ce 100644 --- a/platform-bungeecord/build.gradle +++ b/platform-bungeecord/build.gradle @@ -4,6 +4,7 @@ dependencies { api("net.kyori:adventure-text-serializer-gson:${rootProject.adventure}") { exclude group: "com.google.code.gson" } + implementation project(":adventure-platform-viaversion") implementation project(":adventure-platform-facet") api project(":adventure-text-serializer-bungeecord") compileOnly 'net.md-5:bungeecord-api:1.16-R0.4' diff --git a/platform-bungeecord/src/main/java/net/kyori/adventure/platform/bungeecord/BungeeAudience.java b/platform-bungeecord/src/main/java/net/kyori/adventure/platform/bungeecord/BungeeAudience.java index 3b9d2920..8eead308 100644 --- a/platform-bungeecord/src/main/java/net/kyori/adventure/platform/bungeecord/BungeeAudience.java +++ b/platform-bungeecord/src/main/java/net/kyori/adventure/platform/bungeecord/BungeeAudience.java @@ -23,25 +23,34 @@ */ package net.kyori.adventure.platform.bungeecord; +import com.viaversion.viaversion.api.connection.UserConnection; import java.util.Collection; +import java.util.function.Function; import net.kyori.adventure.platform.facet.Facet; import net.kyori.adventure.platform.facet.FacetAudience; +import net.kyori.adventure.platform.viaversion.ViaFacet; import net.md_5.bungee.api.CommandSender; import net.md_5.bungee.api.connection.ProxiedPlayer; import org.jetbrains.annotations.NotNull; final class BungeeAudience extends FacetAudience { + private static final Function VIA = new BungeeFacet.ViaHook(); private static final Collection> CHAT = Facet.of( + () -> new ViaFacet.Chat<>(ProxiedPlayer.class, VIA), BungeeFacet.ChatPlayerSenderId::new, BungeeFacet.ChatPlayer::new, BungeeFacet.ChatConsole::new); private static final Collection> ACTION_BAR = Facet.of( + () -> new ViaFacet.ActionBar<>(ProxiedPlayer.class, VIA), BungeeFacet.ActionBar::new); private static final Collection> TITLE = Facet.of( + () -> new ViaFacet.Title<>(ProxiedPlayer.class, VIA), BungeeFacet.Title::new); private static final Collection>> BOSS_BAR = Facet.of( + () -> new ViaFacet.BossBar.Builder<>(ProxiedPlayer.class, VIA), BungeeFacet.BossBar.Builder::new); private static final Collection> TAB_LIST = Facet.of( + () -> new ViaFacet.TabList<>(ProxiedPlayer.class, VIA), BungeeFacet.TabList::new ); private static final Collection> POINTERS = Facet.of( diff --git a/platform-bungeecord/src/main/java/net/kyori/adventure/platform/bungeecord/BungeeFacet.java b/platform-bungeecord/src/main/java/net/kyori/adventure/platform/bungeecord/BungeeFacet.java index 5324a858..9875c593 100644 --- a/platform-bungeecord/src/main/java/net/kyori/adventure/platform/bungeecord/BungeeFacet.java +++ b/platform-bungeecord/src/main/java/net/kyori/adventure/platform/bungeecord/BungeeFacet.java @@ -23,10 +23,13 @@ */ package net.kyori.adventure.platform.bungeecord; +import com.viaversion.viaversion.api.Via; +import com.viaversion.viaversion.api.connection.UserConnection; import java.util.Collection; import java.util.Set; import java.util.UUID; import java.util.concurrent.CopyOnWriteArraySet; +import java.util.function.Function; import net.kyori.adventure.audience.MessageType; import net.kyori.adventure.identity.Identity; import net.kyori.adventure.permission.PermissionChecker; @@ -399,4 +402,11 @@ public boolean isSupported() { return TranslationRegistry.INSTANCE.translate(key); } } + + static final class ViaHook implements Function { + @Override + public UserConnection apply(final @NotNull ProxiedPlayer player) { + return Via.getManager().getConnectionManager().getConnectedClient(player.getUniqueId()); + } + } } From c398c85e3fa7b0ea8328c9866a03204357cd5092 Mon Sep 17 00:00:00 2001 From: oop-778 Date: Wed, 16 Nov 2022 16:28:11 +0200 Subject: [PATCH 2/3] Fix legacy hover --- platform-bungeecord/build.gradle | 3 +++ .../net/kyori/adventure/platform/bungeecord/BungeeFacet.java | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/platform-bungeecord/build.gradle b/platform-bungeecord/build.gradle index e174f2ce..78f75036 100644 --- a/platform-bungeecord/build.gradle +++ b/platform-bungeecord/build.gradle @@ -4,6 +4,9 @@ dependencies { api("net.kyori:adventure-text-serializer-gson:${rootProject.adventure}") { exclude group: "com.google.code.gson" } + implementation("net.kyori:adventure-text-serializer-gson-legacy-impl:${rootProject.adventure}") { + exclude group: "com.google.code.gson" + } implementation project(":adventure-platform-viaversion") implementation project(":adventure-platform-facet") api project(":adventure-text-serializer-bungeecord") diff --git a/platform-bungeecord/src/main/java/net/kyori/adventure/platform/bungeecord/BungeeFacet.java b/platform-bungeecord/src/main/java/net/kyori/adventure/platform/bungeecord/BungeeFacet.java index 9875c593..1f9b3e7d 100644 --- a/platform-bungeecord/src/main/java/net/kyori/adventure/platform/bungeecord/BungeeFacet.java +++ b/platform-bungeecord/src/main/java/net/kyori/adventure/platform/bungeecord/BungeeFacet.java @@ -41,6 +41,7 @@ import net.kyori.adventure.text.flattener.ComponentFlattener; import net.kyori.adventure.text.serializer.bungeecord.BungeeComponentSerializer; import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer; +import net.kyori.adventure.text.serializer.gson.legacyimpl.NBTLegacyHoverEventSerializer; import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer; import net.kyori.adventure.util.TriState; import net.md_5.bungee.api.ChatMessageType; @@ -72,7 +73,7 @@ class BungeeFacet extends FacetBase { .build() ); static final BungeeComponentSerializer LEGACY = BungeeComponentSerializer.of( - GsonComponentSerializer.builder().downsampleColors().emitLegacyHoverEvent().build(), + GsonComponentSerializer.builder().downsampleColors().legacyHoverEventSerializer(NBTLegacyHoverEventSerializer.get()).emitLegacyHoverEvent().build(), LegacyComponentSerializer.builder().flattener(FLATTENER).build() ); From 3a3ef12397e36d8bb50a5c88ed8d5d003356ea97 Mon Sep 17 00:00:00 2001 From: oop-778 Date: Wed, 16 Nov 2022 16:31:21 +0200 Subject: [PATCH 3/3] Revert "Add via-facet to bungee" This reverts commit ca457880 --- .../adventure/platform/bungeecord/BungeeAudience.java | 9 --------- .../adventure/platform/bungeecord/BungeeFacet.java | 10 ---------- 2 files changed, 19 deletions(-) diff --git a/platform-bungeecord/src/main/java/net/kyori/adventure/platform/bungeecord/BungeeAudience.java b/platform-bungeecord/src/main/java/net/kyori/adventure/platform/bungeecord/BungeeAudience.java index 8eead308..3b9d2920 100644 --- a/platform-bungeecord/src/main/java/net/kyori/adventure/platform/bungeecord/BungeeAudience.java +++ b/platform-bungeecord/src/main/java/net/kyori/adventure/platform/bungeecord/BungeeAudience.java @@ -23,34 +23,25 @@ */ package net.kyori.adventure.platform.bungeecord; -import com.viaversion.viaversion.api.connection.UserConnection; import java.util.Collection; -import java.util.function.Function; import net.kyori.adventure.platform.facet.Facet; import net.kyori.adventure.platform.facet.FacetAudience; -import net.kyori.adventure.platform.viaversion.ViaFacet; import net.md_5.bungee.api.CommandSender; import net.md_5.bungee.api.connection.ProxiedPlayer; import org.jetbrains.annotations.NotNull; final class BungeeAudience extends FacetAudience { - private static final Function VIA = new BungeeFacet.ViaHook(); private static final Collection> CHAT = Facet.of( - () -> new ViaFacet.Chat<>(ProxiedPlayer.class, VIA), BungeeFacet.ChatPlayerSenderId::new, BungeeFacet.ChatPlayer::new, BungeeFacet.ChatConsole::new); private static final Collection> ACTION_BAR = Facet.of( - () -> new ViaFacet.ActionBar<>(ProxiedPlayer.class, VIA), BungeeFacet.ActionBar::new); private static final Collection> TITLE = Facet.of( - () -> new ViaFacet.Title<>(ProxiedPlayer.class, VIA), BungeeFacet.Title::new); private static final Collection>> BOSS_BAR = Facet.of( - () -> new ViaFacet.BossBar.Builder<>(ProxiedPlayer.class, VIA), BungeeFacet.BossBar.Builder::new); private static final Collection> TAB_LIST = Facet.of( - () -> new ViaFacet.TabList<>(ProxiedPlayer.class, VIA), BungeeFacet.TabList::new ); private static final Collection> POINTERS = Facet.of( diff --git a/platform-bungeecord/src/main/java/net/kyori/adventure/platform/bungeecord/BungeeFacet.java b/platform-bungeecord/src/main/java/net/kyori/adventure/platform/bungeecord/BungeeFacet.java index 1f9b3e7d..c747f47f 100644 --- a/platform-bungeecord/src/main/java/net/kyori/adventure/platform/bungeecord/BungeeFacet.java +++ b/platform-bungeecord/src/main/java/net/kyori/adventure/platform/bungeecord/BungeeFacet.java @@ -23,13 +23,10 @@ */ package net.kyori.adventure.platform.bungeecord; -import com.viaversion.viaversion.api.Via; -import com.viaversion.viaversion.api.connection.UserConnection; import java.util.Collection; import java.util.Set; import java.util.UUID; import java.util.concurrent.CopyOnWriteArraySet; -import java.util.function.Function; import net.kyori.adventure.audience.MessageType; import net.kyori.adventure.identity.Identity; import net.kyori.adventure.permission.PermissionChecker; @@ -403,11 +400,4 @@ public boolean isSupported() { return TranslationRegistry.INSTANCE.translate(key); } } - - static final class ViaHook implements Function { - @Override - public UserConnection apply(final @NotNull ProxiedPlayer player) { - return Via.getManager().getConnectionManager().getConnectedClient(player.getUniqueId()); - } - } }