compatibility with PetDragon
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -7,6 +7,7 @@ softdepend:
|
||||
- MMOItems
|
||||
- MythicLib
|
||||
- PlaceholderAPI
|
||||
- PetDragon
|
||||
commands:
|
||||
enderdragon:
|
||||
description: "EnderDragon Command"
|
||||
|
||||
Reference in New Issue
Block a user