Mineplex2018-withcommit/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/stats/KillEntityStatTracker.java

58 lines
1.3 KiB
Java
Raw Normal View History

2014-10-11 03:49:03 +02:00
package nautilus.game.arcade.stats;
import org.bukkit.entity.EntityType;
2014-10-11 03:49:03 +02:00
import org.bukkit.entity.Player;
import org.bukkit.entity.Projectile;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.event.entity.EntityDeathEvent;
import mineplex.minecraft.game.core.damage.CustomDamageEvent;
2014-10-11 03:49:03 +02:00
import nautilus.game.arcade.game.Game;
public class KillEntityStatTracker extends StatTracker<Game>
2014-10-11 03:49:03 +02:00
{
private final String _statName;
private EntityType _entityType;
2014-10-11 03:49:03 +02:00
public KillEntityStatTracker(Game game, String statName, EntityType entityType)
2014-10-11 03:49:03 +02:00
{
super(game);
_statName = statName;
setEntityType(entityType);
2014-10-11 03:49:03 +02:00
}
@EventHandler(ignoreCancelled = true, priority = EventPriority.MONITOR)
public void onKillingBlow(CustomDamageEvent event)
2014-10-11 03:49:03 +02:00
{
if (event.GetDamageeEntity().getType() != getEntityType())
2014-10-11 03:49:03 +02:00
return;
if (!event.GetDamageeEntity().isDead())
2014-10-11 03:49:03 +02:00
return;
Player player = event.GetDamagerPlayer(true);
if (player == null)
return;
addStat(player, getStatName(), 1, false, false);
2014-10-11 03:49:03 +02:00
}
public String getStatName()
{
return _statName;
}
public EntityType getEntityType()
{
return _entityType;
}
public void setEntityType(EntityType entityType)
{
_entityType = entityType;
}
2014-10-11 03:49:03 +02:00
}