compatibility with PetDragon
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
package pers.xanadu.enderdragon.hook;
|
package pers.xanadu.enderdragon.hook;
|
||||||
|
|
||||||
|
import lombok.Getter;
|
||||||
import me.clip.placeholderapi.PlaceholderAPI;
|
import me.clip.placeholderapi.PlaceholderAPI;
|
||||||
import org.bukkit.OfflinePlayer;
|
import org.bukkit.OfflinePlayer;
|
||||||
import pers.xanadu.enderdragon.config.Lang;
|
import pers.xanadu.enderdragon.config.Lang;
|
||||||
@@ -9,12 +10,18 @@ import static pers.xanadu.enderdragon.EnderDragon.*;
|
|||||||
|
|
||||||
public class HookManager {
|
public class HookManager {
|
||||||
private static boolean papi = false;
|
private static boolean papi = false;
|
||||||
|
@Getter
|
||||||
|
private static boolean petDragonInstalled = false;
|
||||||
public static void init(){
|
public static void init(){
|
||||||
if(pm.getPlugin("PlaceholderAPI") != null){
|
if(pm.getPlugin("PlaceholderAPI") != null){
|
||||||
Lang.info("Hooking to PlaceholderAPI...");
|
Lang.info("Hooking to PlaceholderAPI...");
|
||||||
new Papi(getInstance());
|
new Papi(getInstance());
|
||||||
papi = true;
|
papi = true;
|
||||||
}
|
}
|
||||||
|
if (pm.getPlugin("PetDragon") != null){
|
||||||
|
Lang.info("Hooking to PetDragon...");
|
||||||
|
petDragonInstalled = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
public static boolean isPlaceholderAPILoaded(){
|
public static boolean isPlaceholderAPILoaded(){
|
||||||
return papi;
|
return papi;
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package pers.xanadu.enderdragon.listener;
|
package pers.xanadu.enderdragon.listener;
|
||||||
|
|
||||||
|
import com.ericdebouwer.petdragon.api.PetDragonAPI;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
import org.bukkit.attribute.Attribute;
|
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.Config;
|
||||||
import pers.xanadu.enderdragon.config.Lang;
|
import pers.xanadu.enderdragon.config.Lang;
|
||||||
import pers.xanadu.enderdragon.event.DragonRespawnPostEvent;
|
import pers.xanadu.enderdragon.event.DragonRespawnPostEvent;
|
||||||
|
import pers.xanadu.enderdragon.hook.HookManager;
|
||||||
import pers.xanadu.enderdragon.manager.DamageManager;
|
import pers.xanadu.enderdragon.manager.DamageManager;
|
||||||
import pers.xanadu.enderdragon.manager.DragonManager;
|
|
||||||
import pers.xanadu.enderdragon.manager.WorldManager;
|
import pers.xanadu.enderdragon.manager.WorldManager;
|
||||||
import pers.xanadu.enderdragon.metadata.DragonInfo;
|
import pers.xanadu.enderdragon.metadata.DragonInfo;
|
||||||
import pers.xanadu.enderdragon.metadata.MyDragon;
|
import pers.xanadu.enderdragon.metadata.MyDragon;
|
||||||
@@ -33,6 +34,10 @@ public class DragonSpawnListener implements Listener {
|
|||||||
@EventHandler(priority = EventPriority.LOW)
|
@EventHandler(priority = EventPriority.LOW)
|
||||||
public void OnDragonSpawn(final CreatureSpawnEvent e){
|
public void OnDragonSpawn(final CreatureSpawnEvent e){
|
||||||
if(!(e.getEntity() instanceof EnderDragon)) return;
|
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(!WorldManager.enable_worlds.contains(e.getEntity().getWorld().getName())) return;
|
||||||
if(Config.blacklist_spawn_reason.contains(e.getSpawnReason().name())) return;
|
if(Config.blacklist_spawn_reason.contains(e.getSpawnReason().name())) return;
|
||||||
EnderDragon dragon = (EnderDragon) e.getEntity();
|
EnderDragon dragon = (EnderDragon) e.getEntity();
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ softdepend:
|
|||||||
- MMOItems
|
- MMOItems
|
||||||
- MythicLib
|
- MythicLib
|
||||||
- PlaceholderAPI
|
- PlaceholderAPI
|
||||||
|
- PetDragon
|
||||||
commands:
|
commands:
|
||||||
enderdragon:
|
enderdragon:
|
||||||
description: "EnderDragon Command"
|
description: "EnderDragon Command"
|
||||||
|
|||||||
Reference in New Issue
Block a user