Bridge: пинг напрямую зависит от тика
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
group = 'asys'
|
group = 'asys'
|
||||||
version = '0.8.2-SNAPSHOT'
|
version = '0.8.3-SNAPSHOT'
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
maven { url 'https://hub.spigotmc.org/nexus/content/groups/public/' }
|
maven { url 'https://hub.spigotmc.org/nexus/content/groups/public/' }
|
||||||
|
|||||||
@@ -8,14 +8,13 @@ import asys.bridge.client.AbstractBridge;
|
|||||||
import asys.bridge.client.IBridge;
|
import asys.bridge.client.IBridge;
|
||||||
import asys.bridge.client.IConfig;
|
import asys.bridge.client.IConfig;
|
||||||
import asys.bridge.client.ILogger;
|
import asys.bridge.client.ILogger;
|
||||||
import io.netty.channel.Channel;
|
import asys.mcsmanager.packets.CS_Ping;
|
||||||
import org.apache.logging.log4j.LogManager;
|
|
||||||
import org.apache.logging.log4j.core.Logger;
|
|
||||||
|
|
||||||
public class BridgeBukkitImpl extends AbstractBridge implements IBridge {
|
public class BridgeBukkitImpl extends AbstractBridge implements IBridge {
|
||||||
private BridgePlugin plugin;
|
private BridgePlugin plugin;
|
||||||
private LoggerBukkitImpl logger;
|
private LoggerBukkitImpl logger;
|
||||||
private ConfigBukkitImpl configBukkit;
|
private ConfigBukkitImpl configBukkit;
|
||||||
|
private int scheduleId = -1;
|
||||||
|
|
||||||
public BridgeBukkitImpl(BridgePlugin plugin) {
|
public BridgeBukkitImpl(BridgePlugin plugin) {
|
||||||
this.plugin = plugin;
|
this.plugin = plugin;
|
||||||
@@ -45,4 +44,20 @@ public class BridgeBukkitImpl extends AbstractBridge implements IBridge {
|
|||||||
command
|
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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import asys.mcsmanager.packets.CS_CorrectShutdown;
|
|||||||
import asys.mcsmanager.packets.CS_Ping;
|
import asys.mcsmanager.packets.CS_Ping;
|
||||||
|
|
||||||
public abstract class AbstractBridge implements IBridge {
|
public abstract class AbstractBridge implements IBridge {
|
||||||
private Client client;
|
protected Client client;
|
||||||
private TaskTicker connectTicker, pingTicker;
|
private TaskTicker connectTicker, pingTicker;
|
||||||
private int tryConnect = 0;
|
private int tryConnect = 0;
|
||||||
private boolean needReconnect = true;
|
private boolean needReconnect = true;
|
||||||
|
|||||||
Reference in New Issue
Block a user