public Map<UUID, UserConnection> getPortedPlayers() { return Via.getManager().getPortedPlayers(); } }
public Map<UUID, UserConnection> getPortedPlayers() { return Via.getManager().getPortedPlayers(); } }
public Map<UUID, UserConnection> getPortedPlayers() { return Via.getManager().getPortedPlayers(); } }
public Map<UUID, UserConnection> getPortedPlayers() { return Via.getManager().getPortedPlayers(); }
public static void init() { if (init) return; synchronized (Ticker.class) { if (init) return; init = true; } Via.getPlatform().runRepeatingSync(() -> { Via.getManager().getPortedPlayers().values().forEach(user -> { user.getStoredObjects().values().stream().filter(Tickable.class::isInstance).map(Tickable.class::cast).forEach(Tickable::tick); }); }, 1L); } }
@EventHandler public void onQuit(PlayerDisconnectEvent e) { UserConnection userConnection = Via.getManager().getPortedPlayers().get(e.getPlayer().getUniqueId()); if (userConnection != null) { // Only remove if the connection is disconnected (eg. relogin) if (userConnection.getChannel() == null || !userConnection.getChannel().isOpen()) { Via.getManager().removePortedClient(e.getPlayer().getUniqueId()); } } } }
@Subscribe public void onQuit(DisconnectEvent e) { UserConnection userConnection = Via.getManager().getPortedPlayers().get(e.getPlayer().getUniqueId()); if (userConnection != null) { // Only remove if the connection is disconnected (eg. relogin) if (userConnection.getChannel() == null || !userConnection.getChannel().isOpen()) { Via.getManager().removePortedClient(e.getPlayer().getUniqueId()); } } }
@Override public void run() { for (UserConnection info : Via.getManager().getPortedPlayers().values()) { if (info.has(ProtocolInfo.class) && info.get(ProtocolInfo.class).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); } } } } } }