From 02e734ff28753667824a4e184cb533d5ed9db95d Mon Sep 17 00:00:00 2001 From: DmitriyMX Date: Mon, 24 Jul 2017 22:51:35 +0300 Subject: [PATCH] =?UTF-8?q?Bridge:=20=D0=BF=D0=B8=D0=BD=D0=B3=20=D0=BD?= =?UTF-8?q?=D0=B0=D0=BF=D1=80=D1=8F=D0=BC=D1=83=D1=8E=20=D0=B7=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D1=81=D0=B8=D1=82=20=D0=BE=D1=82=20=D1=82=D0=B8=D0=BA?= =?UTF-8?q?=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bridge/build.gradle | 2 +- .../asys/bridge/bukkit/BridgeBukkitImpl.java | 21 ++++++++++++++++--- .../asys/bridge/client/AbstractBridge.java | 2 +- 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/bridge/build.gradle b/bridge/build.gradle index e6ffc35..adad88e 100644 --- a/bridge/build.gradle +++ b/bridge/build.gradle @@ -1,5 +1,5 @@ group = 'asys' -version = '0.8.2-SNAPSHOT' +version = '0.8.3-SNAPSHOT' repositories { maven { url 'https://hub.spigotmc.org/nexus/content/groups/public/' } diff --git a/bridge/src/main/java/asys/bridge/bukkit/BridgeBukkitImpl.java b/bridge/src/main/java/asys/bridge/bukkit/BridgeBukkitImpl.java index be399a3..00b4188 100644 --- a/bridge/src/main/java/asys/bridge/bukkit/BridgeBukkitImpl.java +++ b/bridge/src/main/java/asys/bridge/bukkit/BridgeBukkitImpl.java @@ -8,14 +8,13 @@ import asys.bridge.client.AbstractBridge; import asys.bridge.client.IBridge; import asys.bridge.client.IConfig; import asys.bridge.client.ILogger; -import io.netty.channel.Channel; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.core.Logger; +import asys.mcsmanager.packets.CS_Ping; public class BridgeBukkitImpl extends AbstractBridge implements IBridge { private BridgePlugin plugin; private LoggerBukkitImpl logger; private ConfigBukkitImpl configBukkit; + private int scheduleId = -1; public BridgeBukkitImpl(BridgePlugin plugin) { this.plugin = plugin; @@ -45,4 +44,20 @@ public class BridgeBukkitImpl extends AbstractBridge implements IBridge { command ); } + + @Override + public void startPing() { + scheduleId = plugin.getServer().getScheduler().scheduleSyncRepeatingTask(plugin,() -> { + plugin.getLogger().info("[D] send ping..."); + this.client.sendPacket(new CS_Ping( + System.currentTimeMillis(), + 20.0D, //FIXME fake tps + getCountOnlinePlayers())); + }, 0, 20L*5); + } + + @Override + public void stopPing() { + plugin.getServer().getScheduler().cancelTask(scheduleId); + } } diff --git a/bridge/src/main/java/asys/bridge/client/AbstractBridge.java b/bridge/src/main/java/asys/bridge/client/AbstractBridge.java index 21a4f28..ecbee7d 100644 --- a/bridge/src/main/java/asys/bridge/client/AbstractBridge.java +++ b/bridge/src/main/java/asys/bridge/client/AbstractBridge.java @@ -9,7 +9,7 @@ import asys.mcsmanager.packets.CS_CorrectShutdown; import asys.mcsmanager.packets.CS_Ping; public abstract class AbstractBridge implements IBridge { - private Client client; + protected Client client; private TaskTicker connectTicker, pingTicker; private int tryConnect = 0; private boolean needReconnect = true;