mirror of
https://github.com/AtlasMediaGroup/TotalFreedomMod.git
synced 2024-11-27 01:05:38 +00:00
More tweaks to nonuke and spam prevention.
This commit is contained in:
parent
b94efb525f
commit
b0090a5412
@ -62,8 +62,7 @@ public class TFM_BlockListener implements Listener
|
||||
|
||||
if (out_of_range)
|
||||
{
|
||||
playerdata.incrementFreecamDestroyCount();
|
||||
if (playerdata.getFreecamDestroyCount() > TotalFreedomMod.freecamTriggerCount)
|
||||
if (playerdata.incrementAndGetFreecamDestroyCount() > TotalFreedomMod.freecamTriggerCount)
|
||||
{
|
||||
TFM_Util.bcastMsg(p.getName() + " has been flagged for possible freecam nuking.", ChatColor.RED);
|
||||
TFM_Util.autoEject(p, "Freecam (extended range) block breaking is not permitted on this server.");
|
||||
@ -82,8 +81,7 @@ public class TFM_BlockListener implements Listener
|
||||
}
|
||||
else
|
||||
{
|
||||
playerdata.incrementBlockDestroyCount();
|
||||
if (playerdata.getBlockDestroyCount() > TotalFreedomMod.nukeMonitorCountBreak)
|
||||
if (playerdata.incrementAndGetBlockDestroyCount() > TotalFreedomMod.nukeMonitorCountBreak)
|
||||
{
|
||||
TFM_Util.bcastMsg(p.getName() + " is breaking blocks too fast!", ChatColor.RED);
|
||||
TFM_Util.autoEject(p, "You are breaking blocks too fast. Nukers are not permitted on this server.");
|
||||
@ -138,8 +136,7 @@ public class TFM_BlockListener implements Listener
|
||||
|
||||
if (out_of_range)
|
||||
{
|
||||
playerdata.incrementFreecamPlaceCount();
|
||||
if (playerdata.getFreecamPlaceCount() > TotalFreedomMod.freecamTriggerCount)
|
||||
if (playerdata.incrementAndGetFreecamPlaceCount() > TotalFreedomMod.freecamTriggerCount)
|
||||
{
|
||||
TFM_Util.bcastMsg(p.getName() + " has been flagged for possible freecam building.", ChatColor.RED);
|
||||
TFM_Util.autoEject(p, "Freecam (extended range) block building is not permitted on this server.");
|
||||
@ -158,8 +155,7 @@ public class TFM_BlockListener implements Listener
|
||||
}
|
||||
else
|
||||
{
|
||||
playerdata.incrementBlockPlaceCount();
|
||||
if (playerdata.getBlockPlaceCount() > TotalFreedomMod.nukeMonitorCountPlace)
|
||||
if (playerdata.incrementAndGetBlockPlaceCount() > TotalFreedomMod.nukeMonitorCountPlace)
|
||||
{
|
||||
TFM_Util.bcastMsg(p.getName() + " is placing blocks too fast!", ChatColor.RED);
|
||||
TFM_Util.autoEject(p, "You are placing blocks too fast.");
|
||||
|
@ -30,6 +30,7 @@ import org.bukkit.util.Vector;
|
||||
public class TFM_PlayerListener implements Listener
|
||||
{
|
||||
private static final List<String> BLOCKED_MUTED_CMDS = Arrays.asList(StringUtils.split("say,me,msg,m,tell,r,reply,mail,email", ","));
|
||||
private static final int MSG_PER_HEARTBEAT = 10;
|
||||
|
||||
@EventHandler(priority = EventPriority.HIGH)
|
||||
public void onPlayerInteract(PlayerInteractEvent event)
|
||||
@ -395,18 +396,25 @@ public class TFM_PlayerListener implements Listener
|
||||
String message = event.getMessage().trim();
|
||||
|
||||
TFM_PlayerData playerdata = TFM_PlayerData.getPlayerData(p);
|
||||
playerdata.incrementMsgCount();
|
||||
|
||||
// Check for spam
|
||||
if (playerdata.getMsgCount() > 10)
|
||||
Long lastRan = TFM_Heartbeat.getLastRan();
|
||||
if (lastRan == null || lastRan + TotalFreedomMod.HEARTBEAT_RATE * 1000L < System.currentTimeMillis())
|
||||
{
|
||||
TFM_Util.bcastMsg(p.getName() + " was automatically kicked for spamming chat.", ChatColor.RED);
|
||||
TFM_Util.autoEject(p, "Kicked for spamming chat.");
|
||||
TFM_Log.warning("Heartbeat service timeout - can't check block place/break rates.");
|
||||
}
|
||||
else
|
||||
{
|
||||
if (playerdata.incrementAndGetMsgCount() > MSG_PER_HEARTBEAT)
|
||||
{
|
||||
TFM_Util.bcastMsg(p.getName() + " was automatically kicked for spamming chat.", ChatColor.RED);
|
||||
TFM_Util.autoEject(p, "Kicked for spamming chat.");
|
||||
|
||||
playerdata.resetMsgCount();
|
||||
playerdata.resetMsgCount();
|
||||
|
||||
event.setCancelled(true);
|
||||
return;
|
||||
event.setCancelled(true);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Check for message repeat
|
||||
@ -491,10 +499,9 @@ public class TFM_PlayerListener implements Listener
|
||||
Player p = event.getPlayer();
|
||||
|
||||
TFM_PlayerData playerdata = TFM_PlayerData.getPlayerData(p);
|
||||
playerdata.incrementMsgCount();
|
||||
playerdata.setLastCommand(command);
|
||||
|
||||
if (playerdata.getMsgCount() > 10)
|
||||
if (playerdata.incrementAndGetMsgCount() > MSG_PER_HEARTBEAT)
|
||||
{
|
||||
TFM_Util.bcastMsg(p.getName() + " was automatically kicked for spamming commands.", ChatColor.RED);
|
||||
TFM_Util.autoEject(p, "Kicked for spamming commands.");
|
||||
|
@ -219,24 +219,14 @@ public class TFM_PlayerData
|
||||
this.msg_count = 0;
|
||||
}
|
||||
|
||||
public void incrementMsgCount()
|
||||
public int incrementAndGetMsgCount()
|
||||
{
|
||||
this.msg_count++;
|
||||
return this.msg_count++;
|
||||
}
|
||||
|
||||
public int getMsgCount()
|
||||
public int incrementAndGetBlockDestroyCount()
|
||||
{
|
||||
return msg_count;
|
||||
}
|
||||
|
||||
public void incrementBlockDestroyCount()
|
||||
{
|
||||
this.block_destroy_total++;
|
||||
}
|
||||
|
||||
public int getBlockDestroyCount()
|
||||
{
|
||||
return block_destroy_total;
|
||||
return this.block_destroy_total++;
|
||||
}
|
||||
|
||||
public void resetBlockDestroyCount()
|
||||
@ -244,14 +234,9 @@ public class TFM_PlayerData
|
||||
this.block_destroy_total = 0;
|
||||
}
|
||||
|
||||
public void incrementBlockPlaceCount()
|
||||
public int incrementAndGetBlockPlaceCount()
|
||||
{
|
||||
this.block_place_total++;
|
||||
}
|
||||
|
||||
public int getBlockPlaceCount()
|
||||
{
|
||||
return block_place_total;
|
||||
return this.block_place_total++;
|
||||
}
|
||||
|
||||
public void resetBlockPlaceCount()
|
||||
@ -259,14 +244,9 @@ public class TFM_PlayerData
|
||||
this.block_place_total = 0;
|
||||
}
|
||||
|
||||
public void incrementFreecamDestroyCount()
|
||||
public int incrementAndGetFreecamDestroyCount()
|
||||
{
|
||||
this.freecam_destroy_count++;
|
||||
}
|
||||
|
||||
public int getFreecamDestroyCount()
|
||||
{
|
||||
return freecam_destroy_count;
|
||||
return this.freecam_destroy_count++;
|
||||
}
|
||||
|
||||
public void resetFreecamDestroyCount()
|
||||
@ -274,14 +254,9 @@ public class TFM_PlayerData
|
||||
this.freecam_destroy_count = 0;
|
||||
}
|
||||
|
||||
public void incrementFreecamPlaceCount()
|
||||
public int incrementAndGetFreecamPlaceCount()
|
||||
{
|
||||
this.freecam_place_count++;
|
||||
}
|
||||
|
||||
public int getFreecamPlaceCount()
|
||||
{
|
||||
return freecam_place_count;
|
||||
return this.freecam_place_count++;
|
||||
}
|
||||
|
||||
public void resetFreecamPlaceCount()
|
||||
|
Loading…
Reference in New Issue
Block a user