made heresy impossible
This commit is contained in:
@@ -1,25 +1,69 @@
|
||||
package dev.zxq5.fantasysmp.events;
|
||||
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.*;
|
||||
import org.bukkit.entity.Chicken;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.entity.Wither;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
||||
import org.bukkit.event.entity.EntityDamageEvent;
|
||||
import org.bukkit.event.entity.ProjectileHitEvent;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
|
||||
import static org.bukkit.Bukkit.getServer;
|
||||
import static org.bukkit.Bukkit.*;
|
||||
|
||||
public class StevenKillCheck implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void onEntityDamageByEntity(EntityDamageByEntityEvent event) {
|
||||
if (event.getEntity() instanceof Chicken && event.getDamager() instanceof Player player) {
|
||||
Location coords = player.getLocation();
|
||||
if (event.getEntity() instanceof Chicken) {
|
||||
event.setCancelled(true);
|
||||
|
||||
// summon lightning at location
|
||||
if (event.getDamager() instanceof Player player) {
|
||||
destroyHeretic(player);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
getServer().getWorlds().getFirst().strikeLightning(coords);
|
||||
@EventHandler
|
||||
public void onEntityDamage(EntityDamageEvent event) {
|
||||
if (event.getEntity() instanceof Chicken) {
|
||||
event.setCancelled(true);
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onProjectileHit(ProjectileHitEvent event) {
|
||||
if (event.getHitEntity() instanceof Chicken && event.getEntity().getShooter() instanceof Player player) {
|
||||
event.setCancelled(true);
|
||||
destroyHeretic(player);
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onEntitySpawn(org.bukkit.event.entity.EntitySpawnEvent event) {
|
||||
if (event.getEntity() instanceof Chicken steven) {
|
||||
steven.setCustomName("Steven");
|
||||
}
|
||||
}
|
||||
|
||||
public void destroyHeretic(Player heretic) {
|
||||
Location coords = heretic.getLocation();
|
||||
World world = getServer().getWorlds().getFirst();
|
||||
Plugin plugin = getPluginManager().getPlugin("fantasysmp");
|
||||
|
||||
broadcastMessage(ChatColor.DARK_RED + "HERESY!!!!");
|
||||
Bukkit.getScheduler().runTaskLater(plugin, () -> world.strikeLightning(coords), 0);
|
||||
Bukkit.getScheduler().runTaskLater(plugin, () -> world.strikeLightning(coords), 1);
|
||||
Bukkit.getScheduler().runTaskLater(plugin, () -> world.strikeLightning(coords), 2);
|
||||
Bukkit.getScheduler().runTaskLater(plugin, () -> world.strikeLightning(coords), 3);
|
||||
Bukkit.getScheduler().runTaskLater(plugin, () -> world.strikeLightning(coords), 4);
|
||||
Bukkit.getScheduler().runTaskLater(plugin, () -> world.strikeLightning(coords), 5);
|
||||
Bukkit.getScheduler().runTaskLater(plugin, () -> world.strikeLightning(coords), 6);
|
||||
Bukkit.getScheduler().runTaskLater(plugin, () -> world.strikeLightning(coords), 7);
|
||||
Bukkit.getScheduler().runTaskLater(plugin, () -> world.strikeLightning(coords), 8);
|
||||
Bukkit.getScheduler().runTaskLater(plugin, () -> world.strikeLightning(coords), 9);
|
||||
Bukkit.getScheduler().runTaskLater(plugin, () -> heretic.setHealth(0), 10);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -95,6 +95,10 @@ public class Witherite extends GenericGearSet implements Listener, CommandExecut
|
||||
@EventHandler
|
||||
public void onEntityPotionEffectEvent(org.bukkit.event.entity.EntityPotionEffectEvent event) {
|
||||
if (event.getEntity() instanceof Player player) {
|
||||
if (event.getNewEffect().getType() != org.bukkit.potion.PotionEffectType.WITHER) {
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
if (player.getInventory().getHelmet().getItemMeta().getLore().toString().contains(this.helmetLore)
|
||||
&& player.getInventory().getChestplate().getItemMeta().getLore().toString().contains(this.chestplateLore)
|
||||
|
||||
Reference in New Issue
Block a user