From 026d84427b23352beab72f052438a36868bb9637 Mon Sep 17 00:00:00 2001 From: Gabriele C Date: Tue, 15 Sep 2015 16:33:32 +0200 Subject: [PATCH] General npc support, fixes and enhancements --- pom.xml | 24 ----------------- src/main/java/fr/xephi/authme/AuthMe.java | 17 +----------- .../java/fr/xephi/authme/ConsoleLogger.java | 5 ++-- src/main/java/fr/xephi/authme/Utils.java | 9 +++++++ src/main/java/fr/xephi/authme/api/API.java | 5 ++-- src/main/java/fr/xephi/authme/api/NewAPI.java | 3 ++- .../xephi/authme/cache/backup/JsonCache.java | 1 - .../fr/xephi/authme/datasource/MySQL.java | 1 + .../authme/listener/AuthMeEntityListener.java | 13 ++++----- .../authme/listener/AuthMePlayerListener.java | 25 ++++++++--------- .../authme/listener/AuthMeServerListener.java | 6 ----- .../plugin/manager/CitizensCommunicator.java | 27 ------------------- .../authme/process/join/AsyncronousJoin.java | 2 +- .../authme/process/quit/AsyncronousQuit.java | 2 +- .../fr/xephi/authme/settings/Messages.java | 2 -- 15 files changed, 40 insertions(+), 102 deletions(-) delete mode 100644 src/main/java/fr/xephi/authme/plugin/manager/CitizensCommunicator.java diff --git a/pom.xml b/pom.xml index ce943cac..56c33e60 100644 --- a/pom.xml +++ b/pom.xml @@ -129,12 +129,6 @@ https://ci.drtshock.net/plugin/repository/everything - - - citizensapi-repo - http://ci.citizensnpcs.co/plugin/repository/project/CitizensAPI/LastSuccessful/repository - - minelink-thirdparty @@ -299,24 +293,6 @@ - - - net.citizensnpcs - citizensapi - 2.0.16-SNAPSHOT - provided - - - org.bukkit - bukkit - - - org.bukkit - craftbukkit - - - - com.onarandombox.multiversecore diff --git a/src/main/java/fr/xephi/authme/AuthMe.java b/src/main/java/fr/xephi/authme/AuthMe.java index e7fa120d..672df357 100644 --- a/src/main/java/fr/xephi/authme/AuthMe.java +++ b/src/main/java/fr/xephi/authme/AuthMe.java @@ -16,7 +16,6 @@ import fr.xephi.authme.converter.ForceFlatToSqlite; import fr.xephi.authme.datasource.*; import fr.xephi.authme.listener.*; import fr.xephi.authme.plugin.manager.BungeeCordMessage; -import fr.xephi.authme.plugin.manager.CitizensCommunicator; import fr.xephi.authme.plugin.manager.CombatTagComunicator; import fr.xephi.authme.plugin.manager.EssSpawn; import fr.xephi.authme.process.Management; @@ -71,8 +70,6 @@ public class AuthMe extends JavaPlugin { public Location essentialsSpawn; public MultiverseCore multiverse; public LookupService lookupService; - public CitizensCommunicator citizens; - public boolean isCitizensActive = false; public boolean CombatTag = false; public boolean legacyChestShop = false; public boolean antibotMod = false; @@ -98,9 +95,6 @@ public class AuthMe extends JavaPlugin { return m; } - public CitizensCommunicator getCitizensCommunicator() { - return citizens; - } @Override public void onEnable() { @@ -182,10 +176,6 @@ public class AuthMe extends JavaPlugin { // Find Permissions checkVault(); - // Check Citizens Version - citizens = new CitizensCommunicator(this); - checkCitizens(); - // Check Combat Tag Version checkCombatTag(); @@ -515,11 +505,6 @@ public class AuthMe extends JavaPlugin { this.CombatTag = server.getPluginManager().isPluginEnabled("CombatTag"); } - // Check if Citizens is active - public void checkCitizens() { - this.isCitizensActive = server.getPluginManager().isPluginEnabled("Citizens"); - } - // Check if a player/command sender have a permission public boolean authmePermissible(Player player, String perm) { if (player.hasPermission(perm)) { @@ -541,7 +526,7 @@ public class AuthMe extends JavaPlugin { // Save Player Data public void savePlayer(Player player) { - if ((citizens.isNPC(player)) || (Utils.getInstance().isUnrestricted(player)) || (CombatTagComunicator.isNPC(player))) { + if ((utils.isNPC(player)) || (Utils.getInstance().isUnrestricted(player)) || (CombatTagComunicator.isNPC(player))) { return; } String name = player.getName().toLowerCase(); diff --git a/src/main/java/fr/xephi/authme/ConsoleLogger.java b/src/main/java/fr/xephi/authme/ConsoleLogger.java index a632282a..f33ff152 100644 --- a/src/main/java/fr/xephi/authme/ConsoleLogger.java +++ b/src/main/java/fr/xephi/authme/ConsoleLogger.java @@ -14,14 +14,13 @@ import java.util.logging.Logger; public class ConsoleLogger { private static final Logger log = AuthMe.getInstance().getLogger(); - private static final DateFormat format = DateFormat.getDateTimeInstance(); public static void info(String message) { if (AuthMe.getInstance().isEnabled()) { log.info("[AuthMe] " + message); if (Settings.useLogging) { - writeLog("[" + format.format(new Date()) + "] " + message); + writeLog("[" + DateFormat.getDateTimeInstance().format(new Date()) + "] " + message); } } } @@ -30,7 +29,7 @@ public class ConsoleLogger { if (AuthMe.getInstance().isEnabled()) { log.warning("[AuthMe] " + message); if (Settings.useLogging) { - writeLog("[" + format.format(new Date()) + "] ERROR: " + message); + writeLog("[" + DateFormat.getDateTimeInstance().format(new Date()) + "] ERROR: " + message); } } } diff --git a/src/main/java/fr/xephi/authme/Utils.java b/src/main/java/fr/xephi/authme/Utils.java index 563a76f6..eb794b48 100644 --- a/src/main/java/fr/xephi/authme/Utils.java +++ b/src/main/java/fr/xephi/authme/Utils.java @@ -8,6 +8,7 @@ import org.bukkit.Bukkit; import org.bukkit.GameMode; import org.bukkit.Location; import org.bukkit.World; +import org.bukkit.entity.Entity; import org.bukkit.entity.Player; import java.io.File; @@ -211,4 +212,12 @@ public class Utils { } return Collections.emptyList(); } + + public boolean isNPC(final Entity player) { + try { + return player.hasMetadata("NPC"); + } catch (Exception e) { + return false; + } + } } diff --git a/src/main/java/fr/xephi/authme/api/API.java b/src/main/java/fr/xephi/authme/api/API.java index 477494a2..eb9cf3ff 100644 --- a/src/main/java/fr/xephi/authme/api/API.java +++ b/src/main/java/fr/xephi/authme/api/API.java @@ -20,6 +20,7 @@ public class API { public static final String newline = System.getProperty("line.separator"); public static AuthMe instance; + private Utils utils = Utils.getInstance(); @Deprecated public API(AuthMe instance) { @@ -65,7 +66,7 @@ public class API { */ @Deprecated public boolean isaNPC(Player player) { - if (instance.getCitizensCommunicator().isNPC(player)) + if (utils.isNPC(player)) return true; return CombatTagComunicator.isNPC(player); } @@ -77,7 +78,7 @@ public class API { */ @Deprecated public boolean isNPC(Player player) { - if (instance.getCitizensCommunicator().isNPC(player)) + if (utils.isNPC(player)) return true; return CombatTagComunicator.isNPC(player); } diff --git a/src/main/java/fr/xephi/authme/api/NewAPI.java b/src/main/java/fr/xephi/authme/api/NewAPI.java index 48ce0705..41b955e6 100644 --- a/src/main/java/fr/xephi/authme/api/NewAPI.java +++ b/src/main/java/fr/xephi/authme/api/NewAPI.java @@ -23,6 +23,7 @@ public class NewAPI { public static final String newline = System.getProperty("line.separator"); public static NewAPI singleton; public AuthMe plugin; + private Utils utils = Utils.getInstance(); public NewAPI(AuthMe plugin) { this.plugin = plugin; @@ -70,7 +71,7 @@ public class NewAPI { * @return true if player is a npc */ public boolean isNPC(Player player) { - return plugin.getCitizensCommunicator().isNPC(player) || CombatTagComunicator.isNPC(player); + return utils.isNPC(player) || CombatTagComunicator.isNPC(player); } /** diff --git a/src/main/java/fr/xephi/authme/cache/backup/JsonCache.java b/src/main/java/fr/xephi/authme/cache/backup/JsonCache.java index dce5a672..912a1509 100644 --- a/src/main/java/fr/xephi/authme/cache/backup/JsonCache.java +++ b/src/main/java/fr/xephi/authme/cache/backup/JsonCache.java @@ -19,7 +19,6 @@ import java.io.File; import java.io.IOException; import java.lang.reflect.Type; import java.nio.file.Files; -import java.nio.file.Paths; public class JsonCache { diff --git a/src/main/java/fr/xephi/authme/datasource/MySQL.java b/src/main/java/fr/xephi/authme/datasource/MySQL.java index 289e5dc0..555ccf89 100644 --- a/src/main/java/fr/xephi/authme/datasource/MySQL.java +++ b/src/main/java/fr/xephi/authme/datasource/MySQL.java @@ -263,6 +263,7 @@ public class MySQL implements DataSource { } if (Settings.getPasswordHash == HashAlgorithm.XENFORO) { rs.close(); + pst.close(); pst = con.prepareStatement("SELECT * FROM xf_user_authenticate WHERE " + columnID + "=?;"); pst.setInt(1, id); rs = pst.executeQuery(); diff --git a/src/main/java/fr/xephi/authme/listener/AuthMeEntityListener.java b/src/main/java/fr/xephi/authme/listener/AuthMeEntityListener.java index 16238133..90d5bd6e 100644 --- a/src/main/java/fr/xephi/authme/listener/AuthMeEntityListener.java +++ b/src/main/java/fr/xephi/authme/listener/AuthMeEntityListener.java @@ -15,6 +15,7 @@ import org.bukkit.event.entity.*; public class AuthMeEntityListener implements Listener { public AuthMe instance; + private Utils utils = Utils.getInstance(); public AuthMeEntityListener(AuthMe instance) { this.instance = instance; @@ -32,7 +33,7 @@ public class AuthMeEntityListener implements Listener { return; } - if (instance.citizens.isNPC(entity)) + if (utils.isNPC(entity)) return; Player player = (Player) entity; @@ -64,7 +65,7 @@ public class AuthMeEntityListener implements Listener { return; } - if (instance.citizens.isNPC(entity)) + if (utils.isNPC(entity)) return; Player player = (Player) entity; @@ -114,7 +115,7 @@ public class AuthMeEntityListener implements Listener { return; } - if (instance.citizens.isNPC(entity)) + if (utils.isNPC(entity)) return; Player player = (Player) entity; @@ -141,7 +142,7 @@ public class AuthMeEntityListener implements Listener { return; } - if (instance.citizens.isNPC(entity)) + if (utils.isNPC(entity)) return; Player player = (Player) entity; @@ -174,7 +175,7 @@ public class AuthMeEntityListener implements Listener { return; } - if (instance.citizens.isNPC(player)) + if (utils.isNPC(player)) return; if (PlayerCache.getInstance().isAuthenticated(player.getName())) { @@ -202,7 +203,7 @@ public class AuthMeEntityListener implements Listener { return; } - if (instance.citizens.isNPC(player)) + if (utils.isNPC(player)) return; if (PlayerCache.getInstance().isAuthenticated(player.getName())) { diff --git a/src/main/java/fr/xephi/authme/listener/AuthMePlayerListener.java b/src/main/java/fr/xephi/authme/listener/AuthMePlayerListener.java index 349112fb..4386664e 100644 --- a/src/main/java/fr/xephi/authme/listener/AuthMePlayerListener.java +++ b/src/main/java/fr/xephi/authme/listener/AuthMePlayerListener.java @@ -40,6 +40,7 @@ public class AuthMePlayerListener implements Listener { public static ConcurrentHashMap joinMessage = new ConcurrentHashMap<>(); private Messages m = Messages.getInstance(); public AuthMe plugin; + private Utils utils = Utils.getInstance(); public static ConcurrentHashMap causeByAuthMe = new ConcurrentHashMap<>(); private List antibot = new ArrayList<>(); @@ -305,7 +306,7 @@ public class AuthMePlayerListener implements Listener { Player player = event.getPlayer(); String name = player.getName().toLowerCase(); - if (plugin.getCitizensCommunicator().isNPC(player) || Utils.getInstance().isUnrestricted(player) || CombatTagComunicator.isNPC(player)) { + if (utils.isNPC(player) || Utils.getInstance().isUnrestricted(player) || CombatTagComunicator.isNPC(player)) { return; } @@ -440,7 +441,7 @@ public class AuthMePlayerListener implements Listener { final String name = player.getName().toLowerCase(); boolean isAuthAvailable = plugin.database.isAuthAvailable(name); - if (plugin.getCitizensCommunicator().isNPC(player) || Utils.getInstance().isUnrestricted(player) || CombatTagComunicator.isNPC(player)) { + if (utils.isNPC(player) || Utils.getInstance().isUnrestricted(player) || CombatTagComunicator.isNPC(player)) { return; } @@ -608,7 +609,7 @@ public class AuthMePlayerListener implements Listener { return; } - if (plugin.getCitizensCommunicator().isNPC(player)) + if (utils.isNPC(player)) return; if (PlayerCache.getInstance().isAuthenticated(name)) { @@ -636,7 +637,7 @@ public class AuthMePlayerListener implements Listener { return; } - if (plugin.getCitizensCommunicator().isNPC(player)) + if (utils.isNPC(player)) return; if (PlayerCache.getInstance().isAuthenticated(player.getName().toLowerCase())) { @@ -667,7 +668,7 @@ public class AuthMePlayerListener implements Listener { return; } - if (plugin.getCitizensCommunicator().isNPC(player)) { + if (utils.isNPC(player)) { return; } @@ -693,7 +694,7 @@ public class AuthMePlayerListener implements Listener { if (Utils.getInstance().isUnrestricted(player)) { return; } - if (plugin.getCitizensCommunicator().isNPC(player)) + if (utils.isNPC(player)) return; if (PlayerCache.getInstance().isAuthenticated(player.getName().toLowerCase())) { return; @@ -732,7 +733,7 @@ public class AuthMePlayerListener implements Listener { return; } - if (plugin.getCitizensCommunicator().isNPC(player)) + if (utils.isNPC(player)) return; if (PlayerCache.getInstance().isAuthenticated(player.getName().toLowerCase())) { @@ -762,7 +763,7 @@ public class AuthMePlayerListener implements Listener { return; } - if (plugin.getCitizensCommunicator().isNPC(player)) { + if (utils.isNPC(player)) { return; } @@ -786,7 +787,7 @@ public class AuthMePlayerListener implements Listener { Player player = event.getPlayer(); String name = player.getName().toLowerCase(); - if (plugin.getCitizensCommunicator().isNPC(player) || Utils.getInstance().isUnrestricted(player) || CombatTagComunicator.isNPC(player)) { + if (utils.isNPC(player) || Utils.getInstance().isUnrestricted(player) || CombatTagComunicator.isNPC(player)) { return; } @@ -814,7 +815,7 @@ public class AuthMePlayerListener implements Listener { return; } - if (plugin.getCitizensCommunicator().isNPC(player)) + if (utils.isNPC(player)) return; if (PlayerCache.getInstance().isAuthenticated(player.getName().toLowerCase())) { @@ -886,7 +887,7 @@ public class AuthMePlayerListener implements Listener { if (Utils.getInstance().isUnrestricted(player) || CombatTagComunicator.isNPC(player)) return; - if (plugin.getCitizensCommunicator().isNPC(player)) + if (utils.isNPC(player)) return; if (PlayerCache.getInstance().isAuthenticated(name)) @@ -921,7 +922,7 @@ public class AuthMePlayerListener implements Listener { if (Utils.getInstance().isUnrestricted(player) || CombatTagComunicator.isNPC(player)) return; - if (plugin.getCitizensCommunicator().isNPC(player)) + if (utils.isNPC(player)) return; if (PlayerCache.getInstance().isAuthenticated(name)) diff --git a/src/main/java/fr/xephi/authme/listener/AuthMeServerListener.java b/src/main/java/fr/xephi/authme/listener/AuthMeServerListener.java index f493af63..6ee60baa 100644 --- a/src/main/java/fr/xephi/authme/listener/AuthMeServerListener.java +++ b/src/main/java/fr/xephi/authme/listener/AuthMeServerListener.java @@ -63,10 +63,6 @@ public class AuthMeServerListener implements Listener { plugin.CombatTag = false; ConsoleLogger.info("CombatTag has been disabled, unhook!"); } - if (pluginName.equalsIgnoreCase("Citizens")) { - plugin.isCitizensActive = false; - ConsoleLogger.info("Citizens has been disabled, unhook!"); - } if (pluginName.equalsIgnoreCase("Vault")) { plugin.permission = null; ConsoleLogger.showError("Vault has been disabled, unhook permissions!"); @@ -84,8 +80,6 @@ public class AuthMeServerListener implements Listener { plugin.checkChestShop(); if (pluginName.equalsIgnoreCase("CombatTag")) plugin.checkCombatTag(); - if (pluginName.equalsIgnoreCase("Citizens")) - plugin.checkCitizens(); if (pluginName.equalsIgnoreCase("Vault")) plugin.checkVault(); } diff --git a/src/main/java/fr/xephi/authme/plugin/manager/CitizensCommunicator.java b/src/main/java/fr/xephi/authme/plugin/manager/CitizensCommunicator.java deleted file mode 100644 index d09a5fcd..00000000 --- a/src/main/java/fr/xephi/authme/plugin/manager/CitizensCommunicator.java +++ /dev/null @@ -1,27 +0,0 @@ -package fr.xephi.authme.plugin.manager; - -import org.bukkit.entity.Entity; - -import fr.xephi.authme.AuthMe; -import net.citizensnpcs.api.CitizensAPI; - -public class CitizensCommunicator { - - public AuthMe instance; - - public CitizensCommunicator(AuthMe instance) { - this.instance = instance; - } - - public boolean isNPC(final Entity player) { - if (!this.instance.isCitizensActive) - return false; - try { - return CitizensAPI.getNPCRegistry().isNPC(player); - } catch (NoClassDefFoundError ncdfe) { - return false; - } catch (Exception npe) { - return false; - } - } -} diff --git a/src/main/java/fr/xephi/authme/process/join/AsyncronousJoin.java b/src/main/java/fr/xephi/authme/process/join/AsyncronousJoin.java index b1db6afe..455a937f 100644 --- a/src/main/java/fr/xephi/authme/process/join/AsyncronousJoin.java +++ b/src/main/java/fr/xephi/authme/process/join/AsyncronousJoin.java @@ -58,7 +58,7 @@ public class AsyncronousJoin { AuthMePlayerListener.gameMode.putIfAbsent(name, player.getGameMode()); BukkitScheduler sched = plugin.getServer().getScheduler(); - if (plugin.getCitizensCommunicator().isNPC(player) || Utils.getInstance().isUnrestricted(player) || CombatTagComunicator.isNPC(player)) { + if (utils.isNPC(player) || Utils.getInstance().isUnrestricted(player) || CombatTagComunicator.isNPC(player)) { return; } diff --git a/src/main/java/fr/xephi/authme/process/quit/AsyncronousQuit.java b/src/main/java/fr/xephi/authme/process/quit/AsyncronousQuit.java index dd84fdc8..b6cca430 100644 --- a/src/main/java/fr/xephi/authme/process/quit/AsyncronousQuit.java +++ b/src/main/java/fr/xephi/authme/process/quit/AsyncronousQuit.java @@ -44,7 +44,7 @@ public class AsyncronousQuit { public void process() { if (player == null) return; - if (plugin.getCitizensCommunicator().isNPC(player) || Utils.getInstance().isUnrestricted(player) || CombatTagComunicator.isNPC(player)) { + if (utils.isNPC(player) || Utils.getInstance().isUnrestricted(player) || CombatTagComunicator.isNPC(player)) { return; } diff --git a/src/main/java/fr/xephi/authme/settings/Messages.java b/src/main/java/fr/xephi/authme/settings/Messages.java index f9c7272a..81c6a038 100644 --- a/src/main/java/fr/xephi/authme/settings/Messages.java +++ b/src/main/java/fr/xephi/authme/settings/Messages.java @@ -2,8 +2,6 @@ package fr.xephi.authme.settings; import fr.xephi.authme.ConsoleLogger; import org.bukkit.command.CommandSender; -import org.bukkit.configuration.file.YamlConfiguration; - import java.io.File; public class Messages extends CustomConfiguration {