From a292b90a638a5086530fa8925c7079e321c4c8d6 Mon Sep 17 00:00:00 2001 From: BuildTools Date: Tue, 23 Jan 2024 02:11:01 -0500 Subject: [PATCH] impl velocity RP event. Updated to latest. --- .idea/compiler.xml | 43 +++++++++++++++++++ .idea/misc.xml | 2 +- build.gradle.kts | 5 +-- gradle.properties | 2 +- .../BungeePackLayerVelocityPlugin.java | 7 +-- .../ResourcePackRequestListener.java | 39 +++++++---------- 6 files changed, 64 insertions(+), 34 deletions(-) diff --git a/.idea/compiler.xml b/.idea/compiler.xml index cf641a8..509eb1b 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -37,6 +37,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.idea/misc.xml b/.idea/misc.xml index 4d48501..fae6c8e 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -4,7 +4,7 @@ - + \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index 7a774a7..fe6ed55 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -17,9 +17,8 @@ repositories { dependencies { compileOnly("dev.simplix:protocolize-api:2.3.0") compileOnly("net.md-5:bungeecord-api:1.20-R0.1-SNAPSHOT") - compileOnly("com.velocitypowered:velocity-api:3.2.0-SNAPSHOT") - compileOnly("com.velocitypowered:velocity-proxy:3.0.1") - annotationProcessor("com.velocitypowered:velocity-api:3.2.0-SNAPSHOT") + compileOnly("com.velocitypowered:velocity-api:3.3.0-SNAPSHOT") + annotationProcessor("com.velocitypowered:velocity-api:3.3.0-SNAPSHOT") } diff --git a/gradle.properties b/gradle.properties index 01a32d8..f33a49a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1 +1 @@ -pluginVersion=1.2.1 +pluginVersion=1.2.2 diff --git a/src/main/java/io/th0rgal/packsmanager/velocity/BungeePackLayerVelocityPlugin.java b/src/main/java/io/th0rgal/packsmanager/velocity/BungeePackLayerVelocityPlugin.java index fed9e69..c32a73e 100644 --- a/src/main/java/io/th0rgal/packsmanager/velocity/BungeePackLayerVelocityPlugin.java +++ b/src/main/java/io/th0rgal/packsmanager/velocity/BungeePackLayerVelocityPlugin.java @@ -20,10 +20,7 @@ name = "Bungee Pack Layer", version = "${version}", description = "${description}", - authors = {"th0rgal"}, - dependencies = { - @Dependency(id = "protocolize") - } + authors = {"th0rgal"} ) public class BungeePackLayerVelocityPlugin { @@ -42,7 +39,7 @@ public BungeePackLayerVelocityPlugin(ProxyServer proxyServer, Logger logger) { public void onProxyInitialization(ProxyInitializeEvent event) { INSTANCE = this; this.resourcePackRequestListener = new ResourcePackRequestListener(); - Protocolize.listenerProvider().registerListener(resourcePackRequestListener); + this.proxyServer.getEventManager().register(this, resourcePackRequestListener); this.proxyServer.getEventManager().register(this, new DisconnectListener()); } diff --git a/src/main/java/io/th0rgal/packsmanager/velocity/listeners/ResourcePackRequestListener.java b/src/main/java/io/th0rgal/packsmanager/velocity/listeners/ResourcePackRequestListener.java index 9d3d665..56142a3 100644 --- a/src/main/java/io/th0rgal/packsmanager/velocity/listeners/ResourcePackRequestListener.java +++ b/src/main/java/io/th0rgal/packsmanager/velocity/listeners/ResourcePackRequestListener.java @@ -1,41 +1,32 @@ package io.th0rgal.packsmanager.velocity.listeners; -import com.velocitypowered.proxy.protocol.packet.ResourcePackRequest; - -import dev.simplix.protocolize.api.Direction; -import dev.simplix.protocolize.api.listener.AbstractPacketListener; -import dev.simplix.protocolize.api.listener.PacketReceiveEvent; -import dev.simplix.protocolize.api.listener.PacketSendEvent; +import com.velocitypowered.api.event.PostOrder; +import com.velocitypowered.api.event.ResultedEvent; +import com.velocitypowered.api.event.Subscribe; +import com.velocitypowered.api.event.player.ServerResourcePackSendEvent; +import com.velocitypowered.api.proxy.player.ResourcePackInfo; +import java.util.Arrays; import java.util.HashMap; import java.util.Map; import java.util.UUID; -public class ResourcePackRequestListener extends AbstractPacketListener { - - private final Map map = new HashMap<>(); +public class ResourcePackRequestListener { - public ResourcePackRequestListener() { - super(ResourcePackRequest.class, Direction.DOWNSTREAM, 0); - } + private final Map map = new HashMap<>(); - @Override - public void packetReceive(PacketReceiveEvent event) { - final ResourcePackRequest resourcePackRequest = event.packet(); - final UUID uuid = event.player().uniqueId(); - if (map.containsKey(uuid) && map.get(uuid).equals(resourcePackRequest.getHash())) { - event.cancelled(true); + @Subscribe(order = PostOrder.FIRST) + public void packetReceive(final ServerResourcePackSendEvent event) { + final ResourcePackInfo resourcePackRequest = event.getProvidedResourcePack(); + final UUID uuid = event.getServerConnection().getPlayer().getUniqueId(); + if (map.containsKey(uuid) && Arrays.equals(map.get(uuid), resourcePackRequest.getHash())) { + event.setResult(ResultedEvent.GenericResult.denied()); return; } map.put(uuid, resourcePackRequest.getHash()); } - - @Override - public void packetSend(PacketSendEvent event) { - - } - public void removePlayer(final UUID uuid) { map.remove(uuid); } + }