package toadmess.explosives.events.handlers; import org.bukkit.event.Cancellable; import org.bukkit.event.Event; import org.bukkit.event.Event.Type; import toadmess.explosives.MCNative; import toadmess.explosives.config.entity.EntityConf; import toadmess.explosives.events.HEEvent; import toadmess.explosives.events.Handler; import toadmess.explosives.events.TippingPoint; public class HandlePreventTerrainDamage implements Handler { @Override public void handle(final HEEvent ev) { final EntityConf worldConf = ev.getApplicableConfig(); if(!worldConf.hasPreventTerrainDamageConfig()) { return; } if(!worldConf.getPreventTerrainDamage()) { return; } ((Cancellable) ev.event).setCancelled(true); MCNative.playSoundExplosion(ev.getEventLocation()); } @Override public TippingPoint[] getTippingPointsHandled() { return new TippingPoint[] { TippingPoint.CAN_PREVENT_TERRAIN_DAMAGE }; } @Override public Type[] getBukkitEventsRequired() { return new Type[] { Event.Type.ENTITY_EXPLODE }; } @Override public boolean isNeededBy(final EntityConf thisConfig) { return thisConfig.hasPreventTerrainDamageConfig(); } }