Removes Paper native support
This commit is contained in:
12 files changed
+24
-259
No files matched your search
+7
-7
@@ -1,4 +1,4 @@
|
||||
package net.tcpshield.tcpshield.bukkit.protocollib;
|
||||
package net.tcpshield.tcpshield.bukkit;
|
||||
|
||||
import com.comphenix.protocol.PacketType;
|
||||
import com.comphenix.protocol.events.ListenerPriority;
|
||||
@@ -7,23 +7,23 @@ import com.comphenix.protocol.events.PacketEvent;
|
||||
import net.tcpshield.tcpshield.HandshakePacketHandler;
|
||||
import net.tcpshield.tcpshield.abstraction.IPacket;
|
||||
import net.tcpshield.tcpshield.abstraction.IPlayer;
|
||||
import net.tcpshield.tcpshield.bukkit.protocollib.impl.ProtocolLibPacketImpl;
|
||||
import net.tcpshield.tcpshield.bukkit.protocollib.impl.ProtocolLibPlayerImpl;
|
||||
import net.tcpshield.tcpshield.bukkit.impl.BukkitPacketImpl;
|
||||
import net.tcpshield.tcpshield.bukkit.impl.BukkitPlayerImpl;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
public class ProtocolLibHandshakePacketHandler extends PacketAdapter {
|
||||
public class BukkitHandshakePacketHandler extends PacketAdapter {
|
||||
|
||||
private final HandshakePacketHandler handshakePacketHandler;
|
||||
|
||||
public ProtocolLibHandshakePacketHandler(JavaPlugin plugin, HandshakePacketHandler handshakePacketHandler) {
|
||||
public BukkitHandshakePacketHandler(JavaPlugin plugin, HandshakePacketHandler handshakePacketHandler) {
|
||||
super(plugin, ListenerPriority.LOWEST, PacketType.Handshake.Client.SET_PROTOCOL);
|
||||
this.handshakePacketHandler = handshakePacketHandler;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPacketReceiving(PacketEvent e) {
|
||||
IPacket packet = new ProtocolLibPacketImpl(e.getPacket());
|
||||
IPlayer player = new ProtocolLibPlayerImpl(e.getPlayer());
|
||||
IPacket packet = new BukkitPacketImpl(e.getPacket());
|
||||
IPlayer player = new BukkitPlayerImpl(e.getPlayer());
|
||||
|
||||
handshakePacketHandler.onHandshake(packet, player);
|
||||
}
|
||||
@@ -1,36 +1,19 @@
|
||||
package net.tcpshield.tcpshield.bukkit;
|
||||
|
||||
import net.tcpshield.tcpshield.bukkit.paper.TCPShieldPaper;
|
||||
import net.tcpshield.tcpshield.bukkit.protocollib.TCPShieldProtocolLib;
|
||||
import org.bukkit.Bukkit;
|
||||
import com.comphenix.protocol.ProtocolLibrary;
|
||||
import net.tcpshield.tcpshield.HandshakePacketHandler;
|
||||
import net.tcpshield.tcpshield.bukkit.impl.BukkitConfigImpl;
|
||||
import net.tcpshield.tcpshield.geyser.GeyserUtils;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
public class TCPShieldBukkit extends JavaPlugin {
|
||||
|
||||
@Override
|
||||
public void onEnable() {
|
||||
System.out.println("enable");
|
||||
|
||||
if (isPaper()) {
|
||||
new TCPShieldPaper(this).load();
|
||||
} else {
|
||||
if (Bukkit.getPluginManager().getPlugin("ProtocolLib") == null) {
|
||||
this.getLogger().warning("TCPShield not loading because ProtocolLib is not installed. Either use Paper to enable native compatibility or install ProtocolLib.");
|
||||
return;
|
||||
}
|
||||
|
||||
new TCPShieldProtocolLib(this).load();
|
||||
}
|
||||
}
|
||||
|
||||
private boolean isPaper() {
|
||||
if (1 == 1) return false;
|
||||
|
||||
try {
|
||||
Class.forName("com.destroystokyo.paper.event.player.PlayerHandshakeEvent");
|
||||
return true;
|
||||
} catch (ClassNotFoundException e) {
|
||||
return false;
|
||||
}
|
||||
HandshakePacketHandler handshakePacketHandler = new HandshakePacketHandler(this.getLogger(), new BukkitConfigImpl(this));
|
||||
GeyserUtils.initGeyserOrDefault(handshakePacketHandler, () -> {
|
||||
BukkitHandshakePacketHandler packetHandler = new BukkitHandshakePacketHandler(this, handshakePacketHandler);
|
||||
ProtocolLibrary.getProtocolManager().addPacketListener(packetHandler);
|
||||
});
|
||||
}
|
||||
}
|
||||
+3
-3
@@ -1,14 +1,14 @@
|
||||
package net.tcpshield.tcpshield.bukkit.protocollib.impl;
|
||||
package net.tcpshield.tcpshield.bukkit.impl;
|
||||
|
||||
import com.comphenix.protocol.events.PacketContainer;
|
||||
import net.tcpshield.tcpshield.abstraction.IPacket;
|
||||
|
||||
public class ProtocolLibPacketImpl implements IPacket {
|
||||
public class BukkitPacketImpl implements IPacket {
|
||||
|
||||
private final PacketContainer packetContainer;
|
||||
private final String rawPayload;
|
||||
|
||||
public ProtocolLibPacketImpl(PacketContainer packetContainer) {
|
||||
public BukkitPacketImpl(PacketContainer packetContainer) {
|
||||
this.packetContainer = packetContainer;
|
||||
this.rawPayload = packetContainer.getStrings().read(0);
|
||||
}
|
||||
+3
-3
@@ -1,4 +1,4 @@
|
||||
package net.tcpshield.tcpshield.bukkit.protocollib.impl;
|
||||
package net.tcpshield.tcpshield.bukkit.impl;
|
||||
|
||||
import com.comphenix.protocol.injector.server.SocketInjector;
|
||||
import com.comphenix.protocol.injector.server.TemporaryPlayerFactory;
|
||||
@@ -11,7 +11,7 @@ import org.bukkit.entity.Player;
|
||||
import java.net.InetSocketAddress;
|
||||
import java.net.SocketAddress;
|
||||
|
||||
public class ProtocolLibPlayerImpl implements IPlayer {
|
||||
public class BukkitPlayerImpl implements IPlayer {
|
||||
|
||||
private static Class<?> abstractChannelClass;
|
||||
private final Player player;
|
||||
@@ -29,7 +29,7 @@ public class ProtocolLibPlayerImpl implements IPlayer {
|
||||
}
|
||||
}
|
||||
|
||||
public ProtocolLibPlayerImpl(Player player) {
|
||||
public BukkitPlayerImpl(Player player) {
|
||||
this.player = player;
|
||||
this.ip = player.getAddress().getAddress().getHostAddress();
|
||||
}
|
||||
@@ -1,43 +0,0 @@
|
||||
package net.tcpshield.tcpshield.bukkit.paper;
|
||||
|
||||
import com.destroystokyo.paper.event.player.PlayerHandshakeEvent;
|
||||
import com.destroystokyo.paper.event.server.PaperServerListPingEvent;
|
||||
import net.tcpshield.tcpshield.HandshakePacketHandler;
|
||||
import net.tcpshield.tcpshield.abstraction.IPacket;
|
||||
import net.tcpshield.tcpshield.abstraction.IPlayer;
|
||||
import net.tcpshield.tcpshield.bukkit.impl.BukkitConfigImpl;
|
||||
import net.tcpshield.tcpshield.bukkit.paper.impl.PaperPacketImpl;
|
||||
import net.tcpshield.tcpshield.bukkit.paper.impl.PaperPlayerImpl;
|
||||
import net.tcpshield.tcpshield.bukkit.paper.impl.PaperServerListPacketImpl;
|
||||
import net.tcpshield.tcpshield.bukkit.paper.impl.PaperServerListPingPlayerImpl;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
public class PaperHandshakePacketHandler implements Listener {
|
||||
|
||||
private final HandshakePacketHandler handshakePacketHandler;
|
||||
|
||||
public PaperHandshakePacketHandler(JavaPlugin plugin) {
|
||||
this.handshakePacketHandler = new HandshakePacketHandler(plugin.getLogger(), new BukkitConfigImpl(plugin));
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.LOWEST)
|
||||
public void onHandshake(PlayerHandshakeEvent e) {
|
||||
IPacket packet = new PaperPacketImpl(e);
|
||||
IPlayer player = new PaperPlayerImpl(e);
|
||||
|
||||
handshakePacketHandler.onHandshake(packet, player);
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.LOWEST)
|
||||
public void onServerPing(PaperServerListPingEvent e) {
|
||||
if (e.getClient().isLegacy()) e.setCancelled(true);
|
||||
|
||||
IPacket packet = new PaperServerListPacketImpl(e);
|
||||
IPlayer player = new PaperServerListPingPlayerImpl(e);
|
||||
|
||||
handshakePacketHandler.onHandshake(packet, player);
|
||||
}
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
package net.tcpshield.tcpshield.bukkit.paper;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
public class TCPShieldPaper {
|
||||
|
||||
private final JavaPlugin plugin;
|
||||
|
||||
public TCPShieldPaper(JavaPlugin plugin) {
|
||||
this.plugin = plugin;
|
||||
}
|
||||
|
||||
public void load() {
|
||||
PaperHandshakePacketHandler packetHandler = new PaperHandshakePacketHandler(plugin);
|
||||
Bukkit.getPluginManager().registerEvents(packetHandler, plugin);
|
||||
}
|
||||
}
|
||||
@@ -1,24 +0,0 @@
|
||||
package net.tcpshield.tcpshield.bukkit.paper.impl;
|
||||
|
||||
import com.destroystokyo.paper.event.player.PlayerHandshakeEvent;
|
||||
import net.tcpshield.tcpshield.abstraction.IPacket;
|
||||
|
||||
public class PaperPacketImpl implements IPacket {
|
||||
|
||||
private final PlayerHandshakeEvent handshakeEvent;
|
||||
|
||||
public PaperPacketImpl(PlayerHandshakeEvent handshakeEvent) {
|
||||
this.handshakeEvent = handshakeEvent;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getRawPayload() {
|
||||
return handshakeEvent.getOriginalHandshake();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void modifyOriginalPacket(String hostname) {
|
||||
handshakeEvent.setCancelled(false);
|
||||
handshakeEvent.setServerHostname(hostname);
|
||||
}
|
||||
}
|
||||
@@ -1,46 +0,0 @@
|
||||
package net.tcpshield.tcpshield.bukkit.paper.impl;
|
||||
|
||||
import com.destroystokyo.paper.event.player.PlayerHandshakeEvent;
|
||||
import net.tcpshield.tcpshield.abstraction.IPlayer;
|
||||
|
||||
import java.net.InetSocketAddress;
|
||||
import java.util.UUID;
|
||||
|
||||
public class PaperPlayerImpl implements IPlayer {
|
||||
|
||||
private final PlayerHandshakeEvent handshakeEvent;
|
||||
|
||||
public PaperPlayerImpl(PlayerHandshakeEvent handshakeEvent) {
|
||||
this.handshakeEvent = handshakeEvent;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUUID() {
|
||||
UUID uuid = handshakeEvent.getUniqueId();
|
||||
if (uuid == null) return "unknown";
|
||||
|
||||
return uuid.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "unknown";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getIP() {
|
||||
return handshakeEvent.getSocketAddressHostname();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setIP(InetSocketAddress ip) {
|
||||
handshakeEvent.setSocketAddressHostname(ip.getAddress().getHostAddress());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void disconnect() {
|
||||
handshakeEvent.setCancelled(false);
|
||||
handshakeEvent.setFailMessage("Connection failed. Please try again or contact an administrator.");
|
||||
handshakeEvent.setFailed(true);
|
||||
}
|
||||
}
|
||||
-23
@@ -1,23 +0,0 @@
|
||||
package net.tcpshield.tcpshield.bukkit.paper.impl;
|
||||
|
||||
import com.destroystokyo.paper.event.server.PaperServerListPingEvent;
|
||||
import net.tcpshield.tcpshield.abstraction.IPacket;
|
||||
|
||||
public class PaperServerListPacketImpl implements IPacket {
|
||||
|
||||
private final PaperServerListPingEvent pingEvent;
|
||||
|
||||
public PaperServerListPacketImpl(PaperServerListPingEvent pingEvent) {
|
||||
this.pingEvent = pingEvent;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getRawPayload() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void modifyOriginalPacket(String hostname) {
|
||||
pingEvent.setCancelled(false);
|
||||
}
|
||||
}
|
||||
-40
@@ -1,40 +0,0 @@
|
||||
package net.tcpshield.tcpshield.bukkit.paper.impl;
|
||||
|
||||
import com.destroystokyo.paper.event.server.PaperServerListPingEvent;
|
||||
import net.tcpshield.tcpshield.abstraction.IPlayer;
|
||||
|
||||
import java.net.InetSocketAddress;
|
||||
|
||||
public class PaperServerListPingPlayerImpl implements IPlayer {
|
||||
|
||||
private final PaperServerListPingEvent pingEvent;
|
||||
|
||||
public PaperServerListPingPlayerImpl(PaperServerListPingEvent pingEvent) {
|
||||
this.pingEvent = pingEvent;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUUID() {
|
||||
return "unknown";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "unknown";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getIP() {
|
||||
return pingEvent.getAddress().getHostAddress();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setIP(InetSocketAddress ip) {
|
||||
// not necessary since this class is only for server list pings
|
||||
}
|
||||
|
||||
@Override
|
||||
public void disconnect() {
|
||||
pingEvent.setCancelled(true);
|
||||
}
|
||||
}
|
||||
@@ -1,24 +0,0 @@
|
||||
package net.tcpshield.tcpshield.bukkit.protocollib;
|
||||
|
||||
import com.comphenix.protocol.ProtocolLibrary;
|
||||
import net.tcpshield.tcpshield.HandshakePacketHandler;
|
||||
import net.tcpshield.tcpshield.bukkit.impl.BukkitConfigImpl;
|
||||
import net.tcpshield.tcpshield.geyser.GeyserUtils;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
public class TCPShieldProtocolLib {
|
||||
|
||||
private final JavaPlugin plugin;
|
||||
|
||||
public TCPShieldProtocolLib(JavaPlugin plugin) {
|
||||
this.plugin = plugin;
|
||||
}
|
||||
|
||||
public void load() {
|
||||
HandshakePacketHandler handshakePacketHandler = new HandshakePacketHandler(plugin.getLogger(), new BukkitConfigImpl(plugin));
|
||||
GeyserUtils.initGeyserOrDefault(handshakePacketHandler, () -> {
|
||||
ProtocolLibHandshakePacketHandler packetHandler = new ProtocolLibHandshakePacketHandler(plugin, handshakePacketHandler);
|
||||
ProtocolLibrary.getProtocolManager().addPacketListener(packetHandler);
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
name: TCPShield
|
||||
version: '2.4'
|
||||
main: net.tcpshield.tcpshield.bukkit.TCPShieldBukkit
|
||||
softdepend:
|
||||
- ProtocolLib
|
||||
depend:
|
||||
- ProtocolLib
|
||||
author: https://tcpshield.com
|
||||
api-version: 1.16
|
||||
Reference in new issue
Block a user