forked from LogBlock/LogBlock
Moved kill event spam check
This commit is contained in:
@@ -38,8 +38,6 @@ public class Consumer extends TimerTask
|
||||
private final Map<Integer, WorldConfig> worlds;
|
||||
private final Set<Integer> hiddenPlayers, hiddenBlocks;
|
||||
private final Set<String> failedPlayers = new HashSet<String>();
|
||||
private final Map<Integer, Integer> lastAttackedEntity = new HashMap<Integer, Integer>();
|
||||
private final Map<Integer, Long> lastAttackTime = new HashMap<Integer, Long>();
|
||||
private final Logger log;
|
||||
private final LogBlock logblock;
|
||||
private final Map<Integer, Integer> players = new HashMap<Integer, Integer>();
|
||||
@@ -179,13 +177,9 @@ public class Consumer extends TimerTask
|
||||
public void queueKill(Entity killer, Entity victim) {
|
||||
if (killer == null || victim == null)
|
||||
return;
|
||||
if (lastAttackedEntity.containsKey(killer.getEntityId()) && lastAttackedEntity.get(killer.getEntityId()) == victim.getEntityId() && System.currentTimeMillis() - lastAttackTime.get(killer.getEntityId()) < 5000)
|
||||
return;
|
||||
int weapon = 0;
|
||||
if (killer instanceof Player && ((Player)killer).getItemInHand() != null)
|
||||
weapon = ((Player)killer).getItemInHand().getTypeId();
|
||||
lastAttackedEntity.put(killer.getEntityId(), victim.getEntityId());
|
||||
lastAttackTime.put(killer.getEntityId(), System.currentTimeMillis());
|
||||
queueKill(victim.getWorld(), entityName(killer), entityName(victim), weapon);
|
||||
}
|
||||
|
||||
|
@@ -1,5 +1,6 @@
|
||||
package de.diddiz.LogBlock;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import net.minecraft.server.EntityEnderman;
|
||||
import org.bukkit.block.Block;
|
||||
@@ -26,6 +27,8 @@ class LBEntityListener extends EntityListener
|
||||
private final boolean logCreeperExplosionsAsPlayer;
|
||||
private final Config.LogKillsLevel logKillsLevel;
|
||||
private final Map<Integer, WorldConfig> worlds;
|
||||
private final Map<Integer, Integer> lastAttackedEntity = new HashMap<Integer, Integer>();
|
||||
private final Map<Integer, Long> lastAttackTime = new HashMap<Integer, Long>();
|
||||
|
||||
LBEntityListener(LogBlock logblock) {
|
||||
consumer = logblock.getConsumer();
|
||||
@@ -46,7 +49,11 @@ class LBEntityListener extends EntityListener
|
||||
return;
|
||||
else if (logKillsLevel == Config.LogKillsLevel.MONSTERS && !((victim instanceof Player || victim instanceof Monster) && killer instanceof Player || killer instanceof Monster))
|
||||
return;
|
||||
if (lastAttackedEntity.containsKey(killer.getEntityId()) && lastAttackedEntity.get(killer.getEntityId()) == victim.getEntityId() && System.currentTimeMillis() - lastAttackTime.get(killer.getEntityId()) < 5000)
|
||||
return;
|
||||
consumer.queueKill(killer, victim);
|
||||
lastAttackedEntity.put(killer.getEntityId(), victim.getEntityId());
|
||||
lastAttackTime.put(killer.getEntityId(), System.currentTimeMillis());
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user