diff --git a/SpigotCore/SpigotCore_Main/src/de/steamwar/network/CoreNetworkHandler.java b/SpigotCore/SpigotCore_Main/src/de/steamwar/network/CoreNetworkHandler.java index 50ee9fcb..8edf5fc0 100644 --- a/SpigotCore/SpigotCore_Main/src/de/steamwar/network/CoreNetworkHandler.java +++ b/SpigotCore/SpigotCore_Main/src/de/steamwar/network/CoreNetworkHandler.java @@ -74,8 +74,7 @@ public class CoreNetworkHandler extends PacketHandler { @Handler public void handlePlayerSkinResponse(PlayerSkinResponsePacket packet) { - Property property = RPlayer.SKIN_DATA_PROMISES.get(packet.getUuid()); - if (property == null) return; + if (!RPlayer.SKIN_DATA_PROMISES.containsKey(packet.getUuid())) return; RPlayer.SKIN_DATA_PROMISES.put(packet.getUuid(), new Property("textures", packet.getSkin(), packet.getSignature())); } } diff --git a/VelocityCore/src/de/steamwar/velocitycore/listeners/VersionAnnouncer.java b/VelocityCore/src/de/steamwar/velocitycore/listeners/VersionAnnouncer.java index cf39f843..5204d258 100644 --- a/VelocityCore/src/de/steamwar/velocitycore/listeners/VersionAnnouncer.java +++ b/VelocityCore/src/de/steamwar/velocitycore/listeners/VersionAnnouncer.java @@ -44,11 +44,14 @@ public class VersionAnnouncer extends BasicListener { int serverVersion = ((VelocityViaConfig) Via.getConfig()).getVelocityServerProtocols().get(server.getName()); int playerVersion = Via.getAPI().getPlayerVersion(player); - String version = ProtocolVersion.getProtocolVersion(playerVersion).getVersionIntroducedIn(); - // PluginChannel 'vv:proxy_details' from ViaVersion apparently does not work any longer! - VelocityCore.schedule(() -> { - NetworkSender.send(player, new ClientVersionPacket(player.getUniqueId(), Integer.parseInt(version.split("-")[0].split("\\.")[1]))); - }).delay(Duration.of(100, ChronoUnit.MILLIS)).schedule(); + ProtocolVersion protocolVersion = ProtocolVersion.getProtocolVersion(serverVersion); + if (protocolVersion.isSupported()) { + // PluginChannel 'vv:proxy_details' from ViaVersion apparently does not work any longer! + VelocityCore.schedule(() -> { + String[] strings = protocolVersion.getVersionIntroducedIn().split("\\."); + NetworkSender.send(player, new ClientVersionPacket(player.getUniqueId(), Integer.parseInt(strings[1]))); + }).delay(Duration.of(100, ChronoUnit.MILLIS)).schedule(); + } if(playerVersion == serverVersion) return;