2011-10-19 00:37:00 +00:00
|
|
|
package me.StevenLawson.TotalFreedomMod.Listener;
|
2011-09-23 03:22:10 +00:00
|
|
|
|
2011-10-19 00:37:00 +00:00
|
|
|
import me.StevenLawson.TotalFreedomMod.TFM_UserInfo;
|
|
|
|
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
2011-10-14 05:31:21 +00:00
|
|
|
import org.bukkit.entity.Player;
|
2011-10-13 23:07:52 +00:00
|
|
|
import org.bukkit.event.entity.*;
|
2011-09-23 15:45:34 +00:00
|
|
|
import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
|
2011-09-23 03:22:10 +00:00
|
|
|
|
2011-10-02 04:23:22 +00:00
|
|
|
public class TFM_EntityListener extends EntityListener
|
2011-09-23 03:22:10 +00:00
|
|
|
{
|
2011-10-10 12:09:19 +00:00
|
|
|
private TotalFreedomMod plugin;
|
2011-09-28 17:42:21 +00:00
|
|
|
|
2011-10-19 00:37:00 +00:00
|
|
|
public TFM_EntityListener(TotalFreedomMod instance)
|
2011-09-23 03:22:10 +00:00
|
|
|
{
|
2011-10-10 12:09:19 +00:00
|
|
|
this.plugin = instance;
|
2011-09-23 03:22:10 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void onEntityExplode(EntityExplodeEvent event)
|
2011-09-26 15:26:52 +00:00
|
|
|
{
|
2011-11-08 00:29:33 +00:00
|
|
|
if (!TotalFreedomMod.allowExplosions)
|
2011-09-26 15:26:52 +00:00
|
|
|
{
|
|
|
|
event.setCancelled(true);
|
|
|
|
return;
|
|
|
|
}
|
2011-10-21 17:02:07 +00:00
|
|
|
|
|
|
|
event.setYield(0.0f);
|
2011-09-26 15:26:52 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void onExplosionPrime(ExplosionPrimeEvent event)
|
2011-09-23 03:22:10 +00:00
|
|
|
{
|
2011-11-08 00:29:33 +00:00
|
|
|
if (!TotalFreedomMod.allowExplosions)
|
2011-09-23 15:45:34 +00:00
|
|
|
{
|
|
|
|
event.setCancelled(true);
|
|
|
|
return;
|
|
|
|
}
|
2011-09-28 17:42:21 +00:00
|
|
|
|
2011-11-08 00:29:33 +00:00
|
|
|
event.setRadius((float) TotalFreedomMod.explosiveRadius);
|
2011-09-23 15:45:34 +00:00
|
|
|
}
|
2011-09-28 17:42:21 +00:00
|
|
|
|
2011-09-23 15:45:34 +00:00
|
|
|
@Override
|
|
|
|
public void onEntityCombust(EntityCombustEvent event)
|
|
|
|
{
|
2011-11-08 00:29:33 +00:00
|
|
|
if (!TotalFreedomMod.allowFireSpread)
|
2011-09-23 15:45:34 +00:00
|
|
|
{
|
|
|
|
event.setCancelled(true);
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void onEntityDamage(EntityDamageEvent event)
|
|
|
|
{
|
2011-10-14 05:31:21 +00:00
|
|
|
if (event.getEntity() instanceof Player)
|
|
|
|
{
|
|
|
|
Player p = (Player) event.getEntity();
|
|
|
|
if (p != null)
|
|
|
|
{
|
2011-11-08 00:29:33 +00:00
|
|
|
TFM_UserInfo playerdata = TFM_UserInfo.getPlayerData(p);
|
2011-10-16 06:00:37 +00:00
|
|
|
if (playerdata.getForcedDeath())
|
2011-10-14 05:31:21 +00:00
|
|
|
{
|
2011-10-16 06:00:37 +00:00
|
|
|
event.setCancelled(false);
|
|
|
|
p.setFoodLevel(0);
|
|
|
|
p.setHealth(0);
|
|
|
|
event.setDamage(100);
|
|
|
|
playerdata.setForcedDeath(false);
|
|
|
|
return;
|
2011-10-14 05:31:21 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2011-11-08 00:29:33 +00:00
|
|
|
if (event.getCause() == DamageCause.LAVA && !TotalFreedomMod.allowLavaDamage)
|
2011-09-23 15:45:34 +00:00
|
|
|
{
|
|
|
|
event.setCancelled(true);
|
|
|
|
return;
|
|
|
|
}
|
2011-09-23 03:22:10 +00:00
|
|
|
}
|
|
|
|
}
|