diff --git a/build.gradle b/build.gradle index baa2522..a2b30d2 100644 --- a/build.gradle +++ b/build.gradle @@ -95,7 +95,7 @@ repositories { dependencies { // Bukkit compileOnly group: 'org.spigotmc', name: 'spigot-api', version: '1.11-R0.1-SNAPSHOT' - compileOnly group: 'com.comphenix.protocol', name: 'ProtocolLib', version: '4.4.0' + compileOnly group: 'com.comphenix.protocol', name: 'ProtocolLib', version: '5.0.0-SNAPSHOT' // Paper compileOnly group: 'com.destroystokyo.paper', name: 'paper-api', version: '1.15.2-R0.1-SNAPSHOT' diff --git a/src/main/java/net/tcpshield/tcpshield/bukkit/protocollib/handler/ProtocolLibPlayer.java b/src/main/java/net/tcpshield/tcpshield/bukkit/protocollib/handler/ProtocolLibPlayer.java index 79e89fd..7a1e52f 100644 --- a/src/main/java/net/tcpshield/tcpshield/bukkit/protocollib/handler/ProtocolLibPlayer.java +++ b/src/main/java/net/tcpshield/tcpshield/bukkit/protocollib/handler/ProtocolLibPlayer.java @@ -1,7 +1,7 @@ package net.tcpshield.tcpshield.bukkit.protocollib.handler; -import com.comphenix.protocol.injector.server.SocketInjector; -import com.comphenix.protocol.injector.server.TemporaryPlayerFactory; +import com.comphenix.protocol.injector.temporary.MinimalInjector; +import com.comphenix.protocol.injector.temporary.TemporaryPlayerFactory; import net.tcpshield.tcpshield.provider.PlayerProvider; import net.tcpshield.tcpshield.util.ReflectionUtil; import net.tcpshield.tcpshield.util.exception.manipulate.PlayerManipulationException; @@ -72,13 +72,15 @@ public void setIP(InetSocketAddress ip) throws PlayerManipulationException { try { this.ip = ip.getAddress().getHostAddress(); - SocketInjector ignored = TemporaryPlayerFactory.getInjectorFromPlayer(player); + MinimalInjector ignored = TemporaryPlayerFactory.getInjectorFromPlayer(player); + + System.out.println(ignored); Object injector = ReflectionUtil.getObjectInPrivateField(ignored, "injector"); Object networkManager = ReflectionUtil.getObjectInPrivateField(injector, "networkManager"); ReflectionUtil.setFinalField(networkManager, ReflectionUtil.searchFieldByClass(networkManager.getClass(), SocketAddress.class), ip); - Object channel = ReflectionUtil.getObjectInPrivateField(injector, "originalChannel"); + Object channel = ReflectionUtil.getObjectInPrivateField(injector, "wrappedChannel"); ReflectionUtil.setFinalField(channel, ReflectionUtil.getDeclaredField(abstractChannelClass, "remoteAddress"), ip); } catch (Exception e) { throw new PlayerManipulationException(e); diff --git a/src/main/resources/velocity-plugin.json b/src/main/resources/velocity-plugin.json index 18f8bb7..25e559e 100644 --- a/src/main/resources/velocity-plugin.json +++ b/src/main/resources/velocity-plugin.json @@ -1,16 +1 @@ -{ - "id": "tcpshield", - "name": "TCPShield", - "version": "2.5.6", - "description": "TCPShield IP parsing capabilities for Velocity", - "authors": [ - "TCPShield" - ], - "dependencies": [ - { - "id": "floodgate", - "optional": true - } - ], - "main": "net.tcpshield.tcpshield.velocity.TCPShieldVelocity" -} \ No newline at end of file +{"id":"tcpshield","name":"TCPShield","version":"2.5.6","description":"TCPShield IP parsing capabilities for Velocity","authors":["TCPShield"],"dependencies":[{"id":"floodgate","optional":true}],"main":"net.tcpshield.tcpshield.velocity.TCPShieldVelocity"} \ No newline at end of file