mirror of
https://github.com/CivMC/Civ.git
synced 2026-07-15 23:20:44 +00:00
make bleeze immute to water damage
This commit is contained in:
@@ -29,6 +29,7 @@ import com.github.maxopoly.finale.listeners.VelocityFixListener;
|
||||
import com.github.maxopoly.finale.listeners.WarpFruitListener;
|
||||
import com.github.maxopoly.finale.listeners.WeaponModificationListener;
|
||||
import com.github.maxopoly.finale.mob.BleezeAI;
|
||||
import com.github.maxopoly.finale.mob.BleezeDamageListener;
|
||||
import com.github.maxopoly.finale.overlay.ScoreboardHUD;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.event.HandlerList;
|
||||
@@ -136,6 +137,7 @@ public class Finale extends ACivMod {
|
||||
getServer().getPluginManager().registerEvents(new MaceListener(config.getMaceCooldown(), config.getMaceMaxDamage(), config.getWindCooldown()), this);
|
||||
|
||||
if (getServer().getPluginManager().isPluginEnabled("MythicMobs")) {
|
||||
Bukkit.getPluginManager().registerEvents(new BleezeDamageListener(), this);
|
||||
new BleezeAI().start();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
package com.github.maxopoly.finale.mob;
|
||||
|
||||
import io.lumine.mythic.bukkit.MythicBukkit;
|
||||
import io.lumine.mythic.core.mobs.ActiveMob;
|
||||
import org.bukkit.damage.DamageType;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.entity.EntityDamageEvent;
|
||||
|
||||
public class BleezeDamageListener implements Listener {
|
||||
|
||||
private static final String BLEEZE = "Bleeze";
|
||||
private static final String BLEEZE_MINION = "BleezeMinion";
|
||||
|
||||
@SuppressWarnings("UnstableApiUsage")
|
||||
@EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
|
||||
public void onDamage(final EntityDamageEvent event) {
|
||||
if (!isBleeze(event.getEntity())) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (event.getDamageSource().getDamageType() == DamageType.DROWN) {
|
||||
event.setCancelled(true);
|
||||
}
|
||||
}
|
||||
|
||||
private boolean isBleeze(final Entity entity) {
|
||||
for (final ActiveMob mob : MythicBukkit.inst().getMobManager().getActiveMobs()) {
|
||||
if (!mob.getEntity().getBukkitEntity().getUniqueId().equals(entity.getUniqueId())) {
|
||||
continue;
|
||||
}
|
||||
final String internalName = mob.getType().getInternalName();
|
||||
return BLEEZE.equals(internalName) || BLEEZE_MINION.equals(internalName);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user