From 4b27696fa1db8f89de97115cb93ffda8c2ad7678 Mon Sep 17 00:00:00 2001 From: John Locke <51202569+J0hnL0cke@users.noreply.github.com> Date: Wed, 17 Feb 2021 10:23:25 -0500 Subject: [PATCH] Fixed egg invulnerability --- .../J0hnL0cke/egghunt/EggHuntListener.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/main/java/io/github/J0hnL0cke/egghunt/EggHuntListener.java b/src/main/java/io/github/J0hnL0cke/egghunt/EggHuntListener.java index d17e03e..d717833 100644 --- a/src/main/java/io/github/J0hnL0cke/egghunt/EggHuntListener.java +++ b/src/main/java/io/github/J0hnL0cke/egghunt/EggHuntListener.java @@ -95,6 +95,7 @@ public class EggHuntListener implements Listener { if(stack.getType().equals(Material.DRAGON_EGG)) { setEggOwner(event.getPlayer()); setEggLocation(item, Egg_Storage_Type.ITEM); + setEggInv(event.getItemDrop()); } } @@ -107,6 +108,7 @@ public class EggHuntListener implements Listener { if (item.getItemStack().getType().equals(Material.DRAGON_EGG)) { setEggLocation(item, Egg_Storage_Type.ITEM); + setEggInv(event.getEntity()); } } @@ -292,9 +294,17 @@ public class EggHuntListener implements Listener { } //when the dragon dies, spawn the egg + //if the egg dies, call egg destroyed @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onEntityDeath(EntityDeathEvent event) { //if the egg should respawn, and it does not exist, and the dragon is killed, and the dragon has already been killed, respawn the egg + if (event.getEntityType().equals(EntityType.DROPPED_ITEM)) { + if (((ItemStack)event.getEntity()).getType().equals(Material.DRAGON_EGG)) { + event.getEntity().remove(); + eggDestroyed(); + } + } + if (resp_egg) { if (stored_as.equals(Egg_Storage_Type.DNE)) { if (event.getEntityType().equals(EntityType.ENDER_DRAGON)) { @@ -423,6 +433,12 @@ public class EggHuntListener implements Listener { config.saveData(); } + public void setEggInv(Entity egg_stack) { + if (egg_inv) { + egg_stack.setInvulnerable(true); + } + } + public void eggDestroyed() { announce("The dragon egg has been destroyed!"); owner=null;