From 20f34d9b452fe6eb43eb07338f374e45ead883b6 Mon Sep 17 00:00:00 2001 From: Luck Date: Fri, 17 Jun 2016 20:06:45 +0100 Subject: [PATCH] Slight cleanup and better support for server reloads --- .../main/java/me/lucko/luckperms/BukkitConfig.java | 12 ++++++------ .../main/java/me/lucko/luckperms/LPBukkitPlugin.java | 9 ++++++++- .../main/java/me/lucko/luckperms/BungeeConfig.java | 12 ++++++------ .../main/java/me/lucko/luckperms/LPBungeePlugin.java | 5 +++++ .../main/java/me/lucko/luckperms/data/Datastore.java | 1 + .../me/lucko/luckperms/data/HikariDatastore.java | 7 +++++++ 6 files changed, 33 insertions(+), 13 deletions(-) diff --git a/bukkit/src/main/java/me/lucko/luckperms/BukkitConfig.java b/bukkit/src/main/java/me/lucko/luckperms/BukkitConfig.java index 15596940..24a93689 100644 --- a/bukkit/src/main/java/me/lucko/luckperms/BukkitConfig.java +++ b/bukkit/src/main/java/me/lucko/luckperms/BukkitConfig.java @@ -36,32 +36,32 @@ public class BukkitConfig implements LPConfiguration { @Override public String getServer() { - return configuration.getString("server"); + return configuration.getString("server", "global"); } @Override public String getPrefix() { - return configuration.getString("prefix"); + return configuration.getString("prefix", "&7&l[&b&lL&a&lP&7&l] &c"); } @Override public int getSyncTime() { - return configuration.getInt("sql.sync-minutes"); + return configuration.getInt("sql.sync-minutes", 3); } @Override public String getDefaultGroupNode() { - return "luckperms.group." + configuration.getString("default-group"); + return "luckperms.group." + configuration.getString("default-group", "default"); } @Override public String getDefaultGroupName() { - return configuration.getString("default-group"); + return configuration.getString("default-group", "default"); } @Override public boolean getIncludeGlobalPerms() { - return configuration.getBoolean("include-global"); + return configuration.getBoolean("include-global", true); } @Override diff --git a/bukkit/src/main/java/me/lucko/luckperms/LPBukkitPlugin.java b/bukkit/src/main/java/me/lucko/luckperms/LPBukkitPlugin.java index 9833fb07..b7d804c5 100644 --- a/bukkit/src/main/java/me/lucko/luckperms/LPBukkitPlugin.java +++ b/bukkit/src/main/java/me/lucko/luckperms/LPBukkitPlugin.java @@ -14,7 +14,6 @@ import net.milkbowl.vault.permission.Permission; import org.bukkit.Bukkit; import org.bukkit.command.PluginCommand; import org.bukkit.plugin.PluginManager; -import org.bukkit.plugin.RegisteredServiceProvider; import org.bukkit.plugin.ServicePriority; import org.bukkit.plugin.java.JavaPlugin; @@ -55,6 +54,9 @@ public class LPBukkitPlugin extends JavaPlugin implements LuckPermsPlugin { userManager = new BukkitUserManager(this); groupManager = new GroupManager(this); + // Run update task to refresh any online users + new UpdateTask(this).run(); + int mins = getConfiguration().getSyncTime(); if (mins > 0) { long ticks = mins * 60 * 20; @@ -76,6 +78,11 @@ public class LPBukkitPlugin extends JavaPlugin implements LuckPermsPlugin { } + @Override + public void onDisable() { + datastore.shutdown(); + } + @Override public void doAsync(Runnable r) { Bukkit.getScheduler().runTaskAsynchronously(this, r); diff --git a/bungee/src/main/java/me/lucko/luckperms/BungeeConfig.java b/bungee/src/main/java/me/lucko/luckperms/BungeeConfig.java index 63f6c1a5..69e0e65b 100644 --- a/bungee/src/main/java/me/lucko/luckperms/BungeeConfig.java +++ b/bungee/src/main/java/me/lucko/luckperms/BungeeConfig.java @@ -43,32 +43,32 @@ public class BungeeConfig implements LPConfiguration { @Override public String getServer() { - return configuration.getString("server"); + return configuration.getString("server", "bungee"); } @Override public String getPrefix() { - return configuration.getString("prefix"); + return configuration.getString("prefix", "&7&l[&b&lL&a&lP&7&l] &c"); } @Override public int getSyncTime() { - return configuration.getInt("sql.sync-minutes"); + return configuration.getInt("sql.sync-minutes", 3); } @Override public String getDefaultGroupNode() { - return "luckperms.group." + configuration.getString("default-group"); + return "luckperms.group." + configuration.getString("default-group", "default"); } @Override public String getDefaultGroupName() { - return configuration.getString("default-group"); + return configuration.getString("default-group", "default"); } @Override public boolean getIncludeGlobalPerms() { - return configuration.getBoolean("include-global"); + return configuration.getBoolean("include-global", false); } @Override diff --git a/bungee/src/main/java/me/lucko/luckperms/LPBungeePlugin.java b/bungee/src/main/java/me/lucko/luckperms/LPBungeePlugin.java index 8d00a0c2..fd806642 100644 --- a/bungee/src/main/java/me/lucko/luckperms/LPBungeePlugin.java +++ b/bungee/src/main/java/me/lucko/luckperms/LPBungeePlugin.java @@ -52,6 +52,11 @@ public class LPBungeePlugin extends Plugin implements LuckPermsPlugin { } } + @Override + public void onDisable() { + datastore.shutdown(); + } + @Override public String getVersion() { return VERSION; diff --git a/common/src/main/java/me/lucko/luckperms/data/Datastore.java b/common/src/main/java/me/lucko/luckperms/data/Datastore.java index 8404d844..b9de99aa 100644 --- a/common/src/main/java/me/lucko/luckperms/data/Datastore.java +++ b/common/src/main/java/me/lucko/luckperms/data/Datastore.java @@ -48,6 +48,7 @@ public abstract class Datastore { These methods will block the thread that they're ran on. */ public abstract void init(DatastoreConfiguration configuration); + public abstract void shutdown(); public abstract boolean loadOrCreateUser(UUID uuid, String username); public abstract boolean loadUser(UUID uuid); public abstract boolean saveUser(User user); diff --git a/common/src/main/java/me/lucko/luckperms/data/HikariDatastore.java b/common/src/main/java/me/lucko/luckperms/data/HikariDatastore.java index 292cbf65..0ce56b74 100644 --- a/common/src/main/java/me/lucko/luckperms/data/HikariDatastore.java +++ b/common/src/main/java/me/lucko/luckperms/data/HikariDatastore.java @@ -104,6 +104,13 @@ public class HikariDatastore extends Datastore { setupTables(); } + @Override + public void shutdown() { + if (hikari != null) { + hikari.shutdown(); + } + } + @Override public boolean loadUser(UUID uuid) { User user = plugin.getUserManager().makeUser(uuid);