@Override public String getPlatformVersion() { return getProxy().getVersion(); }
@Override public String getPlatformName() { return getProxy().getName(); }
@Override public void run() { for (final Map.Entry<String, ServerInfo> lists : plugin.getProxy().getServers().entrySet()) { probeServer(lists.getValue()); } }
@Override public void sendMessage(UUID uuid, String message) { getProxy().getPlayer(uuid).sendMessage(TextComponent.fromLegacyText(message)); }
@Override public TaskId runRepeatingSync(Runnable runnable, Long ticks) { return new BungeeTaskId(getProxy().getScheduler().schedule(this, runnable, 0, ticks * 50, TimeUnit.MILLISECONDS).getId()); }
@Override public void cancelTask(TaskId taskId) { if (taskId == null) return; if (taskId.getObject() == null) return; if (taskId instanceof BungeeTaskId) { getProxy().getScheduler().cancel((Integer) taskId.getObject()); } }
@Override public TaskId runAsync(Runnable runnable) { return new BungeeTaskId(getProxy().getScheduler().runAsync(this, runnable).getId()); }
@Override public TaskId runSync(Runnable runnable, Long ticks) { return new BungeeTaskId(getProxy().getScheduler().schedule(this, runnable, ticks * 50, TimeUnit.MILLISECONDS).getId()); }
@Override public void load() { // Listeners registerListener(plugin); registerListener(new UpdateListener()); registerListener(new BungeeServerHandler()); registerListener(new MainHandPatch()); registerListener(new ElytraPatch()); // Providers Via.getManager().getProviders().use(MovementTransmitterProvider.class, new BungeeMovementTransmitter()); Via.getManager().getProviders().use(VersionProvider.class, new BungeeVersionProvider()); Via.getManager().getProviders().use(EntityIdProvider.class, new BungeeEntityIdProvider()); Via.getManager().getProviders().use(BossBarProvider.class, new BungeeBossBarProvider()); if (plugin.getConf().getBungeePingInterval() > 0) { tasks.add(plugin.getProxy().getScheduler().schedule( plugin, new ProtocolDetectorService(plugin), 0, plugin.getConf().getBungeePingInterval(), TimeUnit.SECONDS )); } }