Fix NPE on proxies in ViaIdleThread

Fixes #1878
This commit is contained in:
KennyTV 2020-07-04 13:22:32 +02:00
parent a613edcb42
commit 58e7455cd9
No known key found for this signature in database
GPG Key ID: 6BE3B555EBC5982B

View File

@ -7,17 +7,19 @@ import us.myles.ViaVersion.protocols.protocol1_9to1_8.providers.MovementTransmit
import us.myles.ViaVersion.protocols.protocol1_9to1_8.storage.MovementTracker;
public class ViaIdleThread implements Runnable {
@Override
public void run() {
for (UserConnection info : Via.getManager().getConnections()) {
ProtocolInfo protocolInfo = info.getProtocolInfo();
if (protocolInfo != null && protocolInfo.getPipeline().contains(Protocol1_9To1_8.class)) {
long nextIdleUpdate = info.get(MovementTracker.class).getNextIdlePacket();
if (nextIdleUpdate <= System.currentTimeMillis()) {
if (info.getChannel().isOpen()) {
Via.getManager().getProviders().get(MovementTransmitterProvider.class).sendPlayer(info);
}
}
if (protocolInfo == null || !protocolInfo.getPipeline().contains(Protocol1_9To1_8.class)) continue;
MovementTracker movementTracker = info.get(MovementTracker.class);
if (movementTracker == null) continue;
long nextIdleUpdate = movementTracker.getNextIdlePacket();
if (nextIdleUpdate <= System.currentTimeMillis() && info.getChannel().isOpen()) {
Via.getManager().getProviders().get(MovementTransmitterProvider.class).sendPlayer(info);
}
}
}