mirror of
https://github.com/AtlasMediaGroup/TotalFreedomMod.git
synced 2024-11-27 01:05:38 +00:00
Added timeout check to nonuke, so lag doesn't ban people.
This commit is contained in:
parent
5c8f98089e
commit
b94efb525f
@ -1,5 +1,6 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Listener;
|
package me.StevenLawson.TotalFreedomMod.Listener;
|
||||||
|
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TFM_Heartbeat;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_Log;
|
import me.StevenLawson.TotalFreedomMod.TFM_Log;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_PlayerData;
|
import me.StevenLawson.TotalFreedomMod.TFM_PlayerData;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_ProtectedArea;
|
import me.StevenLawson.TotalFreedomMod.TFM_ProtectedArea;
|
||||||
@ -74,6 +75,13 @@ public class TFM_BlockListener implements Listener
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Long lastRan = TFM_Heartbeat.getLastRan();
|
||||||
|
if (lastRan == null || lastRan + TotalFreedomMod.HEARTBEAT_RATE * 1000L < System.currentTimeMillis())
|
||||||
|
{
|
||||||
|
TFM_Log.warning("Heartbeat service timeout - can't check block place/break rates.");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
playerdata.incrementBlockDestroyCount();
|
playerdata.incrementBlockDestroyCount();
|
||||||
if (playerdata.getBlockDestroyCount() > TotalFreedomMod.nukeMonitorCountBreak)
|
if (playerdata.getBlockDestroyCount() > TotalFreedomMod.nukeMonitorCountBreak)
|
||||||
{
|
{
|
||||||
@ -86,6 +94,7 @@ public class TFM_BlockListener implements Listener
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (TotalFreedomMod.protectedAreasEnabled)
|
if (TotalFreedomMod.protectedAreasEnabled)
|
||||||
{
|
{
|
||||||
@ -142,6 +151,13 @@ public class TFM_BlockListener implements Listener
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Long lastRan = TFM_Heartbeat.getLastRan();
|
||||||
|
if (lastRan == null || lastRan + TotalFreedomMod.HEARTBEAT_RATE * 1000L < System.currentTimeMillis())
|
||||||
|
{
|
||||||
|
TFM_Log.warning("Heartbeat service timeout - can't check block place/break rates.");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
playerdata.incrementBlockPlaceCount();
|
playerdata.incrementBlockPlaceCount();
|
||||||
if (playerdata.getBlockPlaceCount() > TotalFreedomMod.nukeMonitorCountPlace)
|
if (playerdata.getBlockPlaceCount() > TotalFreedomMod.nukeMonitorCountPlace)
|
||||||
{
|
{
|
||||||
@ -154,6 +170,7 @@ public class TFM_BlockListener implements Listener
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (TotalFreedomMod.protectedAreasEnabled)
|
if (TotalFreedomMod.protectedAreasEnabled)
|
||||||
{
|
{
|
||||||
|
@ -9,6 +9,7 @@ public class TFM_Heartbeat extends BukkitRunnable
|
|||||||
{
|
{
|
||||||
private final TotalFreedomMod plugin;
|
private final TotalFreedomMod plugin;
|
||||||
private final Server server;
|
private final Server server;
|
||||||
|
private static Long lastRan = null;
|
||||||
|
|
||||||
public TFM_Heartbeat(TotalFreedomMod instance)
|
public TFM_Heartbeat(TotalFreedomMod instance)
|
||||||
{
|
{
|
||||||
@ -16,9 +17,16 @@ public class TFM_Heartbeat extends BukkitRunnable
|
|||||||
this.server = plugin.getServer();
|
this.server = plugin.getServer();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static Long getLastRan()
|
||||||
|
{
|
||||||
|
return lastRan;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void run()
|
public void run()
|
||||||
{
|
{
|
||||||
|
lastRan = System.currentTimeMillis();
|
||||||
|
|
||||||
for (Player p : server.getOnlinePlayers())
|
for (Player p : server.getOnlinePlayers())
|
||||||
{
|
{
|
||||||
TFM_PlayerData playerdata = TFM_PlayerData.getPlayerData(p);
|
TFM_PlayerData playerdata = TFM_PlayerData.getPlayerData(p);
|
||||||
|
Loading…
Reference in New Issue
Block a user