diff --git a/src/main/java/pers/xanadu/enderdragon/hook/HookManager.java b/src/main/java/pers/xanadu/enderdragon/hook/HookManager.java index b13474f..7f78e62 100644 --- a/src/main/java/pers/xanadu/enderdragon/hook/HookManager.java +++ b/src/main/java/pers/xanadu/enderdragon/hook/HookManager.java @@ -1,5 +1,6 @@ package pers.xanadu.enderdragon.hook; +import lombok.Getter; import me.clip.placeholderapi.PlaceholderAPI; import org.bukkit.OfflinePlayer; import pers.xanadu.enderdragon.config.Lang; @@ -9,12 +10,18 @@ import static pers.xanadu.enderdragon.EnderDragon.*; public class HookManager { private static boolean papi = false; + @Getter + private static boolean petDragonInstalled = false; public static void init(){ if(pm.getPlugin("PlaceholderAPI") != null){ Lang.info("Hooking to PlaceholderAPI..."); new Papi(getInstance()); papi = true; } + if (pm.getPlugin("PetDragon") != null){ + Lang.info("Hooking to PetDragon..."); + petDragonInstalled = true; + } } public static boolean isPlaceholderAPILoaded(){ return papi; diff --git a/src/main/java/pers/xanadu/enderdragon/listener/DragonSpawnListener.java b/src/main/java/pers/xanadu/enderdragon/listener/DragonSpawnListener.java index e16e7ae..2a4c8f0 100644 --- a/src/main/java/pers/xanadu/enderdragon/listener/DragonSpawnListener.java +++ b/src/main/java/pers/xanadu/enderdragon/listener/DragonSpawnListener.java @@ -1,5 +1,6 @@ package pers.xanadu.enderdragon.listener; +import com.ericdebouwer.petdragon.api.PetDragonAPI; import org.bukkit.Bukkit; import org.bukkit.World; import org.bukkit.attribute.Attribute; @@ -15,8 +16,8 @@ import org.bukkit.event.entity.CreatureSpawnEvent; import pers.xanadu.enderdragon.config.Config; import pers.xanadu.enderdragon.config.Lang; import pers.xanadu.enderdragon.event.DragonRespawnPostEvent; +import pers.xanadu.enderdragon.hook.HookManager; import pers.xanadu.enderdragon.manager.DamageManager; -import pers.xanadu.enderdragon.manager.DragonManager; import pers.xanadu.enderdragon.manager.WorldManager; import pers.xanadu.enderdragon.metadata.DragonInfo; import pers.xanadu.enderdragon.metadata.MyDragon; @@ -33,6 +34,10 @@ public class DragonSpawnListener implements Listener { @EventHandler(priority = EventPriority.LOW) public void OnDragonSpawn(final CreatureSpawnEvent e){ if(!(e.getEntity() instanceof EnderDragon)) return; + //compatibility with plugin PetDragon + if (HookManager.isPetDragonInstalled()){ + if (PetDragonAPI.getInstance().isPetDragon(e.getEntity())) return; + } if(!WorldManager.enable_worlds.contains(e.getEntity().getWorld().getName())) return; if(Config.blacklist_spawn_reason.contains(e.getSpawnReason().name())) return; EnderDragon dragon = (EnderDragon) e.getEntity(); diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 7e3f92b..7d6d557 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -7,6 +7,7 @@ softdepend: - MMOItems - MythicLib - PlaceholderAPI + - PetDragon commands: enderdragon: description: "EnderDragon Command"