Stop VillagerUI villagers from being damaged

This commit is contained in:
Teriuihi 2022-01-12 02:10:03 +01:00
parent a5a019d1e6
commit 83cd1b2744

View File

@ -11,9 +11,12 @@ import org.bukkit.entity.EntityType;
import org.bukkit.entity.Villager;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityDamageByBlockEvent;
import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.event.entity.EntityDeathEvent;
import org.bukkit.event.entity.EntityPotionEffectEvent;
import org.bukkit.event.player.PlayerInteractEntityEvent;
import org.bukkit.event.weather.LightningStrikeEvent;
import org.bukkit.scheduler.BukkitRunnable;
import java.util.UUID;
@ -69,4 +72,28 @@ public class VillagerEvents implements Listener {
event.setCancelled(true);
}
@EventHandler
public void onVillagerEntityDamage(EntityDamageByEntityEvent event) {
if (!(event.getEntity() instanceof Villager villager))
return;
VillagerType loadedVillager = LoadedVillagers.getLoadedVillager(villager.getUniqueId());
if (loadedVillager == null)
return;
event.setCancelled(true);
}
@EventHandler
public void onVillagerBlockDamage(EntityDamageByBlockEvent event) {
if (!(event.getEntity() instanceof Villager villager))
return;
VillagerType loadedVillager = LoadedVillagers.getLoadedVillager(villager.getUniqueId());
if (loadedVillager == null)
return;
event.setCancelled(true);
}
}