Enhance combattag hook

This commit is contained in:
Gabriele C
2015-09-15 21:11:56 +02:00
parent 5fb3542cea
commit f63fe5bc37
11 changed files with 59 additions and 141 deletions
@@ -1,49 +0,0 @@
package fr.xephi.authme.plugin.manager;
import org.bukkit.Bukkit;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Player;
import org.bukkit.plugin.Plugin;
import com.trc202.CombatTag.CombatTag;
import com.trc202.CombatTagApi.CombatTagApi;
import fr.xephi.authme.AuthMe;
import net.minelink.ctplus.CombatTagPlus;
public abstract class CombatTagComunicator {
public static CombatTagApi combatApi;
/**
* Returns if the entity is an NPC
*
* @param player
* @return true if the player is an NPC
*/
public static boolean isNPC(Entity player) {
if (!AuthMe.getInstance().combatTag)
return false;
try {
if (Bukkit.getServer().getPluginManager().getPlugin("CombatTag") != null) {
combatApi = new CombatTagApi((CombatTag) Bukkit.getServer().getPluginManager().getPlugin("CombatTag"));
try {
combatApi.getClass().getMethod("isNPC");
} catch (Exception e) {
return false;
}
return combatApi.isNPC(player);
} else {
Plugin plugin = Bukkit.getServer().getPluginManager().getPlugin("CombatTagPlus");
return (plugin != null && plugin instanceof CombatTagPlus && player instanceof Player && ((CombatTagPlus) plugin).getNpcPlayerHelper().isNpc((Player) player));
}
} catch (ClassCastException ex) {
return false;
} catch (NullPointerException npe) {
return false;
} catch (NoClassDefFoundError ncdfe) {
return false;
}
}
}