Skip to content
This repository was archived by the owner on Feb 19, 2024. It is now read-only.

Commit bc5299b

Browse files
author
BuildTools
committed
Updated GitHub repository. Added ClassCastException check to ForgeHandshake.sendModList method. Added Bungee component startup message. Added Velocity component startup message. Changed plugin version to 2.5.7.
1 parent 511e6c1 commit bc5299b

5 files changed

Lines changed: 36 additions & 9 deletions

File tree

src/main/java/de/sportkanone123/clientdetector/bungeecord/ClientDetectorBungee.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
package de.sportkanone123.clientdetector.bungeecord;
2020

21+
import net.md_5.bungee.api.ChatColor;
2122
import net.md_5.bungee.api.ProxyServer;
2223
import net.md_5.bungee.api.config.ServerInfo;
2324
import net.md_5.bungee.api.event.PlayerDisconnectEvent;
@@ -43,6 +44,13 @@ public void onEnable() {
4344
ProxyServer.getInstance().registerChannel("cd:bungee");
4445

4546
runQueue();
47+
48+
plugin.getLogger().info(ChatColor.translateAlternateColorCodes('&', "&7-----------------------------------------"));
49+
plugin.getLogger().info(ChatColor.translateAlternateColorCodes('&', "&7[&3ClientDetector&7] (&aVersion&7) &aDetected Version &c" + ProxyServer.getInstance().getVersion()));
50+
plugin.getLogger().info(ChatColor.translateAlternateColorCodes('&', "&7[&3ClientDetector&7] (&aDetection&7) &aLoading Bungee adapter..."));
51+
plugin.getLogger().info(ChatColor.translateAlternateColorCodes('&', "&7[&3ClientDetector&7] (&aDetection&7) &aRegistering plugin messaging channels..."));
52+
plugin.getLogger().info(ChatColor.translateAlternateColorCodes('&', "&7[&3ClientDetector&7] &aStarted!"));
53+
plugin.getLogger().info(ChatColor.translateAlternateColorCodes('&', "&7-----------------------------------------"));
4654
}
4755

4856
public void runQueue() {

src/main/java/de/sportkanone123/clientdetector/spigot/forgemod/legacy/ForgeHandshake.java

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@
2323
import com.github.retrooper.packetevents.manager.server.ServerVersion;
2424
import com.github.retrooper.packetevents.protocol.player.ClientVersion;
2525
import com.github.retrooper.packetevents.wrapper.play.server.WrapperPlayServerPluginMessage;
26+
import org.bukkit.Bukkit;
27+
import org.bukkit.ChatColor;
2628
import org.bukkit.entity.Player;
2729

2830
public class ForgeHandshake {
@@ -69,10 +71,14 @@ public static void sendHandshakeReset(Player player, String channel){
6971
}
7072

7173
public static void sendHandshake(Player player){
72-
if(PacketEvents.getAPI().getServerManager().getVersion().isOlderThanOrEquals(ServerVersion.V_1_12_2) && (PacketEvents.getAPI().getPlayerManager().getClientVersion(player).isNewerThanOrEquals(ClientVersion.V_1_8) && PacketEvents.getAPI().getPlayerManager().getClientVersion(player).isOlderThanOrEquals(ClientVersion.V_1_12_2))){
73-
sendHandshakeReset(player, "FML|HS");
74-
sendServerHello(player, "FML|HS");
75-
sendModList(player, "FML|HS");
74+
try {
75+
if(PacketEvents.getAPI().getServerManager().getVersion().isOlderThanOrEquals(ServerVersion.V_1_12_2) && (PacketEvents.getAPI().getPlayerManager().getClientVersion(player).isNewerThanOrEquals(ClientVersion.V_1_8) && PacketEvents.getAPI().getPlayerManager().getClientVersion(player).isOlderThanOrEquals(ClientVersion.V_1_12_2))){
76+
sendHandshakeReset(player, "FML|HS");
77+
sendServerHello(player, "FML|HS");
78+
sendModList(player, "FML|HS");
79+
}
80+
}catch (ClassCastException e){
81+
Bukkit.getConsoleSender().sendMessage(ChatColor.translateAlternateColorCodes('&', "&7[&3ClientDetector&7] &4(ERROR) &aClassCastException thrown while getting forge mod list from connecting player. This error is harmless and safe to ignore :)"));
7682
}
7783
}
7884
}

src/main/java/de/sportkanone123/clientdetector/spigot/forgemod/newerversion/ForgeHandshake.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,17 @@
2020

2121
import com.github.retrooper.packetevents.PacketEvents;
2222
import com.github.retrooper.packetevents.wrapper.login.server.WrapperLoginServerPluginRequest;
23+
import org.bukkit.Bukkit;
24+
import org.bukkit.ChatColor;
2325

2426
public class ForgeHandshake {
2527
public static void sendModList(Object channel){
2628

27-
WrapperLoginServerPluginRequest wrappedPacketLoginOutCustomPayload = new WrapperLoginServerPluginRequest(/*Random ID*/111111, "fml:handshake", new byte[] { 1, 0, 0, 0 });
28-
PacketEvents.getAPI().getPlayerManager().sendPacket(channel, wrappedPacketLoginOutCustomPayload);
29-
29+
try {
30+
WrapperLoginServerPluginRequest wrappedPacketLoginOutCustomPayload = new WrapperLoginServerPluginRequest(/*Random ID*/111111, "fml:handshake", new byte[] { 1, 0, 0, 0 });
31+
PacketEvents.getAPI().getPlayerManager().sendPacket(channel, wrappedPacketLoginOutCustomPayload);
32+
}catch (ClassCastException e){
33+
Bukkit.getConsoleSender().sendMessage(ChatColor.translateAlternateColorCodes('&', "&7[&3ClientDetector&7] &4(ERROR) &aClassCastException thrown while getting forge mod list from connecting player. This error is harmless and safe to ignore :)"));
34+
}
3035
}
3136
}

src/main/java/de/sportkanone123/clientdetector/velocity/ClientDetectorVelocity.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import com.velocitypowered.api.proxy.messages.LegacyChannelIdentifier;
1111
import com.velocitypowered.api.proxy.messages.MinecraftChannelIdentifier;
1212
import com.velocitypowered.api.proxy.server.RegisteredServer;
13+
import net.md_5.bungee.api.ChatColor;
1314

1415
import java.nio.charset.StandardCharsets;
1516
import java.nio.file.Path;
@@ -51,6 +52,13 @@ public void onProxyInitialization(ProxyInitializeEvent event) {
5152
this.server.getChannelRegistrar().register(LEGACY_BUNGEE_CHANNEL, MODERN_BUNGEE_CHANNEL);
5253

5354
runQueue();
55+
56+
logger.info(ChatColor.translateAlternateColorCodes('&', "&7-----------------------------------------"));
57+
logger.info(ChatColor.translateAlternateColorCodes('&', "&7[&3ClientDetector&7] (&aVersion&7) &aDetected Version &c" + server.getVersion()));
58+
logger.info(ChatColor.translateAlternateColorCodes('&', "&7[&3ClientDetector&7] (&aDetection&7) &aLoading Velocity adapter..."));
59+
logger.info(ChatColor.translateAlternateColorCodes('&', "&7[&3ClientDetector&7] (&aDetection&7) &aRegistering plugin messaging channels..."));
60+
logger.info(ChatColor.translateAlternateColorCodes('&', "&7[&3ClientDetector&7] &aStarted!"));
61+
logger.info(ChatColor.translateAlternateColorCodes('&', "&7-----------------------------------------"));
5462
}
5563

5664
public void runQueue() {
@@ -73,7 +81,7 @@ public void run() {
7381

7482
@Subscribe
7583
public void onPluginMessage(PluginMessageEvent event) {
76-
System.out.println(event.getIdentifier() + " // " + new java.lang.String(event.getData()));
84+
logger.info(event.getIdentifier() + " // " + new java.lang.String(event.getData()));
7785
if (event.getIdentifier().getId().equalsIgnoreCase("cd:bungee")) {
7886
sync(event.getData());
7987
}

src/main/resources/bungee.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: ClientDetector
22
version: 2.5.7
3-
author: Sportkanone123
3+
author: Loving11ish
44
main: de.sportkanone123.clientdetector.bungeecord.ClientDetectorBungee
55
description: A simple plugin to detect and manage a player's client/mods

0 commit comments

Comments
 (0)