Skip to content

Commit b4185b6

Browse files
committed
feat: Re-added secure chat popup support
1 parent e044dbb commit b4185b6

File tree

3 files changed

+13
-28
lines changed

3 files changed

+13
-28
lines changed

gradle/libs.versions.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ fabric-loader = { group = "net.fabricmc", name = "fabric-loader", version.ref =
3434

3535
bstats = { module = "org.bstats:bstats-velocity", version.ref = "bstats" }
3636

37-
packetevents = { group = "com.github.retrooper.packetevents", name = "velocity", version = "2.3.0" }
37+
packetevents = { group = "com.github.retrooper", name = "packetevents-velocity", version = "2.4.0" }
3838
vpacketevents = { group = "io.github.4drian3d", name = "vpacketevents-api", version = "1.1.0" }
3939

4040
annotations = "org.jetbrains:annotations:24.1.0"

velocity/src/main/java/io/github/_4drian3d/signedvelocity/velocity/packet/PacketEventsAdapter.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import com.github.retrooper.packetevents.event.PacketListenerPriority;
66
import com.github.retrooper.packetevents.event.PacketSendEvent;
77
import com.github.retrooper.packetevents.protocol.packettype.PacketType;
8+
import com.github.retrooper.packetevents.wrapper.play.server.WrapperPlayServerJoinGame;
89
import com.github.retrooper.packetevents.wrapper.play.server.WrapperPlayServerServerData;
910

1011
final class PacketEventsAdapter implements PacketAdapter {
@@ -19,13 +20,14 @@ public void register() {
1920
private static final class DataListener implements PacketListener {
2021
@Override
2122
public void onPacketSend(final PacketSendEvent event) {
22-
if (event.getPacketType() != PacketType.Play.Server.SERVER_DATA) {
23-
return;
24-
}
25-
final WrapperPlayServerServerData packet = new WrapperPlayServerServerData(event);
26-
if (!packet.isEnforceSecureChat()) {
23+
if (event.getPacketType() == PacketType.Play.Server.SERVER_DATA) {
24+
final WrapperPlayServerServerData packet = new WrapperPlayServerServerData(event);
2725
packet.setEnforceSecureChat(true);
2826
}
27+
if (event.getPacketType() == PacketType.Play.Server.JOIN_GAME) {
28+
final WrapperPlayServerJoinGame packet = new WrapperPlayServerJoinGame(event);
29+
packet.setEnforcesSecureChat(true);
30+
}
2931
}
3032
}
3133
}

velocity/src/main/java/io/github/_4drian3d/signedvelocity/velocity/packet/VPacketEventsAdapter.java

Lines changed: 5 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,12 @@
22

33
import com.google.inject.Inject;
44
import com.velocitypowered.api.event.EventManager;
5+
import com.velocitypowered.proxy.protocol.packet.JoinGamePacket;
56
import com.velocitypowered.proxy.protocol.packet.ServerDataPacket;
67
import io.github._4drian3d.signedvelocity.velocity.SignedVelocity;
78
import io.github._4drian3d.vpacketevents.api.event.PacketSendEvent;
89

9-
import java.lang.invoke.MethodHandle;
10-
import java.lang.invoke.MethodHandles;
11-
1210
final class VPacketEventsAdapter implements PacketAdapter {
13-
private static final MethodHandle ENFORCED_SETTER;
14-
15-
static {
16-
try {
17-
final MethodHandles.Lookup lookup = MethodHandles.privateLookupIn(ServerDataPacket.class, MethodHandles.lookup());
18-
ENFORCED_SETTER = lookup.findSetter(ServerDataPacket.class, "secureChatEnforced", Boolean.TYPE);
19-
} catch (Exception e) {
20-
throw new RuntimeException(e);
21-
}
22-
}
2311

2412
@Inject
2513
private EventManager eventManager;
@@ -29,16 +17,11 @@ final class VPacketEventsAdapter implements PacketAdapter {
2917
@Override
3018
public void register() {
3119
eventManager.register(plugin, PacketSendEvent.class, event -> {
32-
if (!(event.getPacket() instanceof final ServerDataPacket serverData)) {
33-
return;
34-
}
35-
if (serverData.isSecureChatEnforced()) {
36-
return;
20+
if (event.getPacket() instanceof final ServerDataPacket serverData) {
21+
serverData.setSecureChatEnforced(true);
3722
}
38-
try {
39-
ENFORCED_SETTER.invoke(serverData, true);
40-
} catch (Throwable e) {
41-
throw new RuntimeException(e);
23+
if (event.getPacket() instanceof final JoinGamePacket joinPacket) {
24+
joinPacket.setEnforcesSecureChat(true);
4225
}
4326
});
4427
}

0 commit comments

Comments
 (0)