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;