diff --git a/pom.xml b/pom.xml
index 06875da..ad7596d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
me.refracdevelopment
SimpleTags
- 1.0-beta.2
+ 1.0-beta.3
jar
SimpleTags
@@ -79,6 +79,10 @@
jitpack.io
https://jitpack.io
+
+ AlessioDP
+ https://repo.alessiodp.com/releases/
+
codemc-repo
https://repo.codemc.org/repository/maven-public/
@@ -90,7 +94,13 @@
org.spigotmc
spigot-api
- 1.16.5-R0.1-SNAPSHOT
+ 1.8.8-R0.1-SNAPSHOT
+ provided
+
+
+ org.spigotmc
+ spigot-api
+ 1.20-R0.1-SNAPSHOT
provided
@@ -120,12 +130,24 @@
HeadDatabase-API
1.3.1
provided
+
+
+ io.papermc.paper
+ paper-api
+
+
com.github.Tweetzy
Skulls
3.10.0
provided
+
+
+ me.TechsCode
+ UltraEconomyAPI
+
+
de.tr7zw
@@ -133,5 +155,16 @@
2.11.3
provided
+
+ net.byteflux
+ libby-bukkit
+ 1.3.0
+
+
+ org.mariadb.jdbc
+ mariadb-java-client
+ 3.1.4
+ provided
+
diff --git a/src/main/java/me/refracdevelopment/simpletags/SimpleTags.java b/src/main/java/me/refracdevelopment/simpletags/SimpleTags.java
index 30ecb19..9031b7c 100644
--- a/src/main/java/me/refracdevelopment/simpletags/SimpleTags.java
+++ b/src/main/java/me/refracdevelopment/simpletags/SimpleTags.java
@@ -6,14 +6,23 @@
import dev.rosewood.rosegarden.manager.Manager;
import dev.rosewood.rosegarden.utils.NMSUtil;
import lombok.Getter;
-import me.refracdevelopment.simpletags.config.*;
-import me.refracdevelopment.simpletags.data.ProfileManager;
-import me.refracdevelopment.simpletags.database.DataType;
-import me.refracdevelopment.simpletags.database.MySQLManager;
import me.refracdevelopment.simpletags.listeners.ChatListener;
import me.refracdevelopment.simpletags.listeners.MenuListener;
import me.refracdevelopment.simpletags.listeners.PlayerListener;
-import me.refracdevelopment.simpletags.manager.*;
+import me.refracdevelopment.simpletags.manager.CommandManager;
+import me.refracdevelopment.simpletags.manager.MenuManager;
+import me.refracdevelopment.simpletags.manager.TagManager;
+import me.refracdevelopment.simpletags.manager.configuration.ConfigurationManager;
+import me.refracdevelopment.simpletags.manager.configuration.LocaleManager;
+import me.refracdevelopment.simpletags.manager.configuration.cache.Config;
+import me.refracdevelopment.simpletags.manager.configuration.cache.ConfigFile;
+import me.refracdevelopment.simpletags.manager.configuration.cache.Menus;
+import me.refracdevelopment.simpletags.manager.configuration.cache.Tags;
+import me.refracdevelopment.simpletags.manager.data.DataType;
+import me.refracdevelopment.simpletags.manager.data.MySQLManager;
+import me.refracdevelopment.simpletags.manager.data.PlayerMapper;
+import me.refracdevelopment.simpletags.player.data.ProfileManager;
+import me.refracdevelopment.simpletags.utilities.DownloadUtil;
import me.refracdevelopment.simpletags.utilities.Tasks;
import me.refracdevelopment.simpletags.utilities.chat.Color;
import me.refracdevelopment.simpletags.utilities.chat.PAPIExpansion;
@@ -56,6 +65,8 @@ public void enable() {
long startTiming = System.currentTimeMillis();
PluginManager pluginManager = this.getServer().getPluginManager();
+ DownloadUtil.downloadAndEnable();
+
// Check if the server is on 1.7
if (NMSUtil.getVersionNumber() <= 7) {
Color.log("&cSimpleTags 1.7 is in legacy mode, please update to 1.8+");
@@ -63,6 +74,13 @@ public void enable() {
return;
}
+ // Make sure the server has PlaceholderAPI
+ if (pluginManager.getPlugin("PlaceholderAPI") == null) {
+ Color.log("&cPlease install PlaceholderAPI onto your server to use this plugin.");
+ pluginManager.disablePlugin(this);
+ return;
+ }
+
// Make sure the server has NBTAPI
if (pluginManager.getPlugin("NBTAPI") == null) {
Color.log("&cPlease install NBTAPI onto your server to use this plugin.");
@@ -101,7 +119,11 @@ public void enable() {
@Override
public void disable() {
- // unused
+ // Plugin shutdown logic
+ if (dataType == DataType.MYSQL) {
+ mySQLManager.shutdown();
+ }
+ this.getServer().getScheduler().cancelTasks(this);
}
@Override
@@ -112,24 +134,25 @@ protected List> getManagerLoadPriority() {
public void loadFiles() {
tagsFile = new ConfigFile(this, "tags.yml");
menusFile = new ConfigFile(this, "menus.yml");
- tagsFile.load();
- menusFile.load();
Config.loadConfig();
Tags.loadConfig();
Menus.loadConfig();
}
private void loadManagers() {
- if (Config.DATA_TYPE.equalsIgnoreCase("MYSQL")) {
- dataType = DataType.MYSQL;
- mySQLManager = new MySQLManager(this);
- getMySQLManager().connect();
- getMySQLManager().createT();
- Color.log("&aEnabled MySQL support!");
- } else {
- dataType = DataType.FLAT_FILE;
- playerMapper = new PlayerMapper(getDataFolder().getAbsolutePath() + File.separator + "playerdata");
- Color.log("&aEnabled Flat File support!");
+ switch (Config.DATA_TYPE.toUpperCase()) {
+ case "MYSQL":
+ dataType = DataType.MYSQL;
+ mySQLManager = new MySQLManager(this);
+ getMySQLManager().connect();
+ getMySQLManager().createT();
+ Color.log("&aEnabled MySQL support!");
+ break;
+ case "FLAT_FILE":
+ dataType = DataType.FLAT_FILE;
+ playerMapper = new PlayerMapper(getDataFolder().getAbsolutePath() + File.separator + "playerdata");
+ Color.log("&aEnabled Flat File support!");
+ break;
}
profileManager = new ProfileManager();
diff --git a/src/main/java/me/refracdevelopment/simpletags/commands/command/CreateCommand.java b/src/main/java/me/refracdevelopment/simpletags/commands/command/CreateCommand.java
index b09fa86..5c4b3a7 100644
--- a/src/main/java/me/refracdevelopment/simpletags/commands/command/CreateCommand.java
+++ b/src/main/java/me/refracdevelopment/simpletags/commands/command/CreateCommand.java
@@ -7,10 +7,10 @@
import dev.rosewood.rosegarden.command.framework.annotation.RoseExecutable;
import dev.rosewood.rosegarden.utils.StringPlaceholders;
import me.refracdevelopment.simpletags.SimpleTags;
-import me.refracdevelopment.simpletags.config.ConfigFile;
-import me.refracdevelopment.simpletags.config.Tags;
import me.refracdevelopment.simpletags.data.Tag;
-import me.refracdevelopment.simpletags.manager.LocaleManager;
+import me.refracdevelopment.simpletags.manager.configuration.LocaleManager;
+import me.refracdevelopment.simpletags.manager.configuration.cache.ConfigFile;
+import me.refracdevelopment.simpletags.manager.configuration.cache.Tags;
import me.refracdevelopment.simpletags.utilities.Permissions;
import me.refracdevelopment.simpletags.utilities.chat.Placeholders;
import org.bukkit.entity.Player;
diff --git a/src/main/java/me/refracdevelopment/simpletags/commands/command/DeleteCommand.java b/src/main/java/me/refracdevelopment/simpletags/commands/command/DeleteCommand.java
index 6360974..03cbf29 100644
--- a/src/main/java/me/refracdevelopment/simpletags/commands/command/DeleteCommand.java
+++ b/src/main/java/me/refracdevelopment/simpletags/commands/command/DeleteCommand.java
@@ -7,9 +7,9 @@
import dev.rosewood.rosegarden.command.framework.annotation.RoseExecutable;
import dev.rosewood.rosegarden.utils.StringPlaceholders;
import me.refracdevelopment.simpletags.SimpleTags;
-import me.refracdevelopment.simpletags.config.ConfigFile;
-import me.refracdevelopment.simpletags.config.Tags;
-import me.refracdevelopment.simpletags.manager.LocaleManager;
+import me.refracdevelopment.simpletags.manager.configuration.LocaleManager;
+import me.refracdevelopment.simpletags.manager.configuration.cache.ConfigFile;
+import me.refracdevelopment.simpletags.manager.configuration.cache.Tags;
import me.refracdevelopment.simpletags.utilities.Permissions;
import me.refracdevelopment.simpletags.utilities.chat.Placeholders;
import org.bukkit.entity.Player;
diff --git a/src/main/java/me/refracdevelopment/simpletags/commands/command/EditCommand.java b/src/main/java/me/refracdevelopment/simpletags/commands/command/EditCommand.java
index db2e6be..e77b9b3 100644
--- a/src/main/java/me/refracdevelopment/simpletags/commands/command/EditCommand.java
+++ b/src/main/java/me/refracdevelopment/simpletags/commands/command/EditCommand.java
@@ -7,9 +7,9 @@
import dev.rosewood.rosegarden.command.framework.annotation.RoseExecutable;
import dev.rosewood.rosegarden.utils.StringPlaceholders;
import me.refracdevelopment.simpletags.SimpleTags;
-import me.refracdevelopment.simpletags.config.ConfigFile;
-import me.refracdevelopment.simpletags.config.Tags;
-import me.refracdevelopment.simpletags.manager.LocaleManager;
+import me.refracdevelopment.simpletags.manager.configuration.LocaleManager;
+import me.refracdevelopment.simpletags.manager.configuration.cache.ConfigFile;
+import me.refracdevelopment.simpletags.manager.configuration.cache.Tags;
import me.refracdevelopment.simpletags.utilities.Permissions;
import me.refracdevelopment.simpletags.utilities.chat.Placeholders;
import org.bukkit.entity.Player;
diff --git a/src/main/java/me/refracdevelopment/simpletags/commands/command/ListCommand.java b/src/main/java/me/refracdevelopment/simpletags/commands/command/ListCommand.java
index c8d6143..0431f88 100644
--- a/src/main/java/me/refracdevelopment/simpletags/commands/command/ListCommand.java
+++ b/src/main/java/me/refracdevelopment/simpletags/commands/command/ListCommand.java
@@ -6,7 +6,7 @@
import dev.rosewood.rosegarden.command.framework.RoseCommandWrapper;
import dev.rosewood.rosegarden.command.framework.annotation.RoseExecutable;
import me.refracdevelopment.simpletags.SimpleTags;
-import me.refracdevelopment.simpletags.manager.LocaleManager;
+import me.refracdevelopment.simpletags.manager.configuration.LocaleManager;
import me.refracdevelopment.simpletags.utilities.Permissions;
import org.bukkit.entity.Player;
diff --git a/src/main/java/me/refracdevelopment/simpletags/commands/command/ReloadCommand.java b/src/main/java/me/refracdevelopment/simpletags/commands/command/ReloadCommand.java
index 4a6dfc0..f433245 100644
--- a/src/main/java/me/refracdevelopment/simpletags/commands/command/ReloadCommand.java
+++ b/src/main/java/me/refracdevelopment/simpletags/commands/command/ReloadCommand.java
@@ -6,7 +6,7 @@
import dev.rosewood.rosegarden.command.framework.RoseCommandWrapper;
import dev.rosewood.rosegarden.command.framework.annotation.RoseExecutable;
import me.refracdevelopment.simpletags.SimpleTags;
-import me.refracdevelopment.simpletags.manager.LocaleManager;
+import me.refracdevelopment.simpletags.manager.configuration.LocaleManager;
import me.refracdevelopment.simpletags.utilities.Permissions;
import me.refracdevelopment.simpletags.utilities.Tasks;
diff --git a/src/main/java/me/refracdevelopment/simpletags/commands/command/SetCommand.java b/src/main/java/me/refracdevelopment/simpletags/commands/command/SetCommand.java
index aeab6c1..8265cf3 100644
--- a/src/main/java/me/refracdevelopment/simpletags/commands/command/SetCommand.java
+++ b/src/main/java/me/refracdevelopment/simpletags/commands/command/SetCommand.java
@@ -8,9 +8,9 @@
import dev.rosewood.rosegarden.command.framework.annotation.RoseExecutable;
import dev.rosewood.rosegarden.utils.StringPlaceholders;
import me.refracdevelopment.simpletags.SimpleTags;
-import me.refracdevelopment.simpletags.data.ProfileData;
import me.refracdevelopment.simpletags.data.Tag;
-import me.refracdevelopment.simpletags.manager.LocaleManager;
+import me.refracdevelopment.simpletags.manager.configuration.LocaleManager;
+import me.refracdevelopment.simpletags.player.data.ProfileData;
import me.refracdevelopment.simpletags.utilities.Permissions;
import me.refracdevelopment.simpletags.utilities.Tasks;
import me.refracdevelopment.simpletags.utilities.Utilities;
diff --git a/src/main/java/me/refracdevelopment/simpletags/commands/command/TagsCommand.java b/src/main/java/me/refracdevelopment/simpletags/commands/command/TagsCommand.java
index 152e8de..2b4be04 100644
--- a/src/main/java/me/refracdevelopment/simpletags/commands/command/TagsCommand.java
+++ b/src/main/java/me/refracdevelopment/simpletags/commands/command/TagsCommand.java
@@ -6,7 +6,7 @@
import dev.rosewood.rosegarden.command.framework.RoseCommandWrapper;
import dev.rosewood.rosegarden.command.framework.annotation.RoseExecutable;
import me.refracdevelopment.simpletags.SimpleTags;
-import me.refracdevelopment.simpletags.manager.LocaleManager;
+import me.refracdevelopment.simpletags.manager.configuration.LocaleManager;
import me.refracdevelopment.simpletags.menu.TagsMenu;
import org.bukkit.entity.Player;
diff --git a/src/main/java/me/refracdevelopment/simpletags/commands/command/VersionCommand.java b/src/main/java/me/refracdevelopment/simpletags/commands/command/VersionCommand.java
index 9be3fc0..5707719 100644
--- a/src/main/java/me/refracdevelopment/simpletags/commands/command/VersionCommand.java
+++ b/src/main/java/me/refracdevelopment/simpletags/commands/command/VersionCommand.java
@@ -6,7 +6,7 @@
import dev.rosewood.rosegarden.command.framework.RoseCommandWrapper;
import dev.rosewood.rosegarden.command.framework.annotation.RoseExecutable;
import dev.rosewood.rosegarden.utils.StringPlaceholders;
-import me.refracdevelopment.simpletags.manager.LocaleManager;
+import me.refracdevelopment.simpletags.manager.configuration.LocaleManager;
import me.refracdevelopment.simpletags.utilities.Permissions;
public class VersionCommand extends RoseCommand {
diff --git a/src/main/java/me/refracdevelopment/simpletags/database/DataType.java b/src/main/java/me/refracdevelopment/simpletags/database/DataType.java
deleted file mode 100644
index 437cabb..0000000
--- a/src/main/java/me/refracdevelopment/simpletags/database/DataType.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package me.refracdevelopment.simpletags.database;
-
-public enum DataType {
- MYSQL, FLAT_FILE
-}
\ No newline at end of file
diff --git a/src/main/java/me/refracdevelopment/simpletags/listeners/ChatListener.java b/src/main/java/me/refracdevelopment/simpletags/listeners/ChatListener.java
index 86cf519..370cbd6 100644
--- a/src/main/java/me/refracdevelopment/simpletags/listeners/ChatListener.java
+++ b/src/main/java/me/refracdevelopment/simpletags/listeners/ChatListener.java
@@ -1,12 +1,14 @@
package me.refracdevelopment.simpletags.listeners;
import me.refracdevelopment.simpletags.SimpleTags;
-import me.refracdevelopment.simpletags.config.Config;
-import me.refracdevelopment.simpletags.data.ProfileData;
+import me.refracdevelopment.simpletags.manager.configuration.cache.Config;
+import me.refracdevelopment.simpletags.player.data.ProfileData;
+import me.refracdevelopment.simpletags.utilities.chat.Color;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.AsyncPlayerChatEvent;
+import org.bukkit.event.player.PlayerCommandPreprocessEvent;
public class ChatListener implements Listener {
@@ -19,4 +21,14 @@ public void onChat(AsyncPlayerChatEvent event) {
event.setFormat(profile.getTagPrefix() + event.getFormat());
}
}
+
+ @EventHandler
+ public void onReload(PlayerCommandPreprocessEvent event) {
+ Player player = event.getPlayer();
+
+ if (event.getMessage().equalsIgnoreCase("/reload") ||
+ event.getMessage().equalsIgnoreCase("/reload confirm")) {
+ Color.sendMessage(player, "%prefix% Use of /reload is not recommended as it can cause issues often cases. Please restart your server when possible.");
+ }
+ }
}
\ No newline at end of file
diff --git a/src/main/java/me/refracdevelopment/simpletags/listeners/PlayerListener.java b/src/main/java/me/refracdevelopment/simpletags/listeners/PlayerListener.java
index ce5564b..8eb5144 100644
--- a/src/main/java/me/refracdevelopment/simpletags/listeners/PlayerListener.java
+++ b/src/main/java/me/refracdevelopment/simpletags/listeners/PlayerListener.java
@@ -1,42 +1,38 @@
package me.refracdevelopment.simpletags.listeners;
import me.refracdevelopment.simpletags.SimpleTags;
-import me.refracdevelopment.simpletags.data.Profile;
+import me.refracdevelopment.simpletags.manager.configuration.cache.Config;
+import me.refracdevelopment.simpletags.player.Profile;
import me.refracdevelopment.simpletags.utilities.Tasks;
import me.refracdevelopment.simpletags.utilities.Utilities;
+import me.refracdevelopment.simpletags.utilities.chat.Color;
import org.bukkit.ChatColor;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.AsyncPlayerPreLoginEvent;
import org.bukkit.event.player.PlayerJoinEvent;
+import org.bukkit.event.player.PlayerLoginEvent;
import org.bukkit.event.player.PlayerQuitEvent;
public class PlayerListener implements Listener {
@EventHandler
- public void onLogin(AsyncPlayerPreLoginEvent event) {
- try {
- SimpleTags.getInstance().getProfileManager().handleProfileCreation(event.getUniqueId(), event.getName());
- } catch (NullPointerException exception) {
- event.disallow(AsyncPlayerPreLoginEvent.Result.KICK_FULL, "&cERROR: Could not create profile!");
- }
+ public void onLogin(PlayerLoginEvent event) {
+ Player player = event.getPlayer();
+
+ SimpleTags.getInstance().getProfileManager().handleProfileCreation(player.getUniqueId(), player.getName());
+
+ Profile profile = SimpleTags.getInstance().getProfileManager().getProfile(player.getUniqueId());
+ Tasks.runAsync(SimpleTags.getInstance(), () -> profile.getData().load());
}
@EventHandler
public void onJoin(PlayerJoinEvent event) {
Player player = event.getPlayer();
Profile profile = SimpleTags.getInstance().getProfileManager().getProfile(player.getUniqueId());
-
- try {
- Tasks.runAsync(SimpleTags.getInstance(), () -> profile.getData().load());
- } catch (NullPointerException exception) {
- player.kickPlayer(ChatColor.RED + "ERROR: Profile returned null.");
- return;
- }
-
if (profile == null || profile.getData() == null) {
- player.kickPlayer(ChatColor.RED + "ERROR: Profile returned null.");
+ player.kickPlayer(Color.translate(Config.KICK_MESSAGES_ERROR));
return;
}
diff --git a/src/main/java/me/refracdevelopment/simpletags/manager/TagManager.java b/src/main/java/me/refracdevelopment/simpletags/manager/TagManager.java
index 3ec5401..ef759fc 100644
--- a/src/main/java/me/refracdevelopment/simpletags/manager/TagManager.java
+++ b/src/main/java/me/refracdevelopment/simpletags/manager/TagManager.java
@@ -1,5 +1,6 @@
package me.refracdevelopment.simpletags.manager;
+import lombok.Getter;
import me.refracdevelopment.simpletags.SimpleTags;
import me.refracdevelopment.simpletags.data.Tag;
import me.refracdevelopment.simpletags.utilities.chat.Color;
@@ -8,6 +9,7 @@
import java.util.List;
import java.util.Optional;
+@Getter
public class TagManager {
private final List loadedTags = new ArrayList<>();
@@ -39,10 +41,6 @@ public Tag getCachedTag(String name) {
return null;
}
- public List getLoadedTags() {
- return loadedTags;
- }
-
public void updateTags() {
SimpleTags.getInstance().getProfileManager().getProfiles().values().forEach(profile -> {
if (getCachedTag(profile.getData().getTag()) == null) {
diff --git a/src/main/java/me/refracdevelopment/simpletags/manager/ConfigurationManager.java b/src/main/java/me/refracdevelopment/simpletags/manager/configuration/ConfigurationManager.java
similarity index 96%
rename from src/main/java/me/refracdevelopment/simpletags/manager/ConfigurationManager.java
rename to src/main/java/me/refracdevelopment/simpletags/manager/configuration/ConfigurationManager.java
index b24f2e8..fb089c1 100644
--- a/src/main/java/me/refracdevelopment/simpletags/manager/ConfigurationManager.java
+++ b/src/main/java/me/refracdevelopment/simpletags/manager/configuration/ConfigurationManager.java
@@ -1,4 +1,4 @@
-package me.refracdevelopment.simpletags.manager;
+package me.refracdevelopment.simpletags.manager.configuration;
import dev.rosewood.rosegarden.RosePlugin;
import dev.rosewood.rosegarden.config.CommentedFileConfiguration;
@@ -10,7 +10,6 @@ public class ConfigurationManager extends AbstractConfigurationManager {
public enum Setting implements RoseSetting {
// Config Settings
- DEBUG("debug", false, "Used to debug errors"),
USE_CHAT("use-chat", false, "Automatically add tags to chat behind a player's name."),
DATA_TYPE("data-type", "FLAT_FILE", "Choose your data saving type:", "MYSQL - Database saving", "FLAT_FILE - Local Json file saving in the playerdata/player.json file"),
MYSQL_HOST("mysql.host", "127.0.0.1"),
diff --git a/src/main/java/me/refracdevelopment/simpletags/manager/LocaleManager.java b/src/main/java/me/refracdevelopment/simpletags/manager/configuration/LocaleManager.java
similarity index 79%
rename from src/main/java/me/refracdevelopment/simpletags/manager/LocaleManager.java
rename to src/main/java/me/refracdevelopment/simpletags/manager/configuration/LocaleManager.java
index ee3a568..c0f802f 100644
--- a/src/main/java/me/refracdevelopment/simpletags/manager/LocaleManager.java
+++ b/src/main/java/me/refracdevelopment/simpletags/manager/configuration/LocaleManager.java
@@ -1,4 +1,4 @@
-package me.refracdevelopment.simpletags.manager;
+package me.refracdevelopment.simpletags.manager.configuration;
import dev.rosewood.rosegarden.RosePlugin;
import dev.rosewood.rosegarden.manager.AbstractLocaleManager;
diff --git a/src/main/java/me/refracdevelopment/simpletags/config/Config.java b/src/main/java/me/refracdevelopment/simpletags/manager/configuration/cache/Config.java
similarity index 51%
rename from src/main/java/me/refracdevelopment/simpletags/config/Config.java
rename to src/main/java/me/refracdevelopment/simpletags/manager/configuration/cache/Config.java
index c060330..8c77e3c 100644
--- a/src/main/java/me/refracdevelopment/simpletags/config/Config.java
+++ b/src/main/java/me/refracdevelopment/simpletags/manager/configuration/cache/Config.java
@@ -1,18 +1,22 @@
-package me.refracdevelopment.simpletags.config;
+package me.refracdevelopment.simpletags.manager.configuration.cache;
-import me.refracdevelopment.simpletags.manager.ConfigurationManager;
+import me.refracdevelopment.simpletags.SimpleTags;
+import me.refracdevelopment.simpletags.manager.configuration.ConfigurationManager;
+import me.refracdevelopment.simpletags.manager.configuration.LocaleManager;
import me.refracdevelopment.simpletags.utilities.chat.Color;
public class Config {
- public static boolean DEBUG;
public static boolean USE_CHAT;
public static String DATA_TYPE;
+ public static String KICK_MESSAGES_ERROR;
public static void loadConfig() {
- DEBUG = ConfigurationManager.Setting.DEBUG.getBoolean();
+ final LocaleManager localeManager = SimpleTags.getInstance().getManager(LocaleManager.class);
+
USE_CHAT = ConfigurationManager.Setting.USE_CHAT.getBoolean();
DATA_TYPE = ConfigurationManager.Setting.DATA_TYPE.getString();
+ KICK_MESSAGES_ERROR = localeManager.getLocaleMessage("kick-messages-error");
Color.log("&c==========================================");
Color.log("&eAll files have been loaded correctly!");
diff --git a/src/main/java/me/refracdevelopment/simpletags/config/ConfigFile.java b/src/main/java/me/refracdevelopment/simpletags/manager/configuration/cache/ConfigFile.java
similarity index 97%
rename from src/main/java/me/refracdevelopment/simpletags/config/ConfigFile.java
rename to src/main/java/me/refracdevelopment/simpletags/manager/configuration/cache/ConfigFile.java
index 7cbaf0d..134d0ab 100644
--- a/src/main/java/me/refracdevelopment/simpletags/config/ConfigFile.java
+++ b/src/main/java/me/refracdevelopment/simpletags/manager/configuration/cache/ConfigFile.java
@@ -1,4 +1,4 @@
-package me.refracdevelopment.simpletags.config;
+package me.refracdevelopment.simpletags.manager.configuration.cache;
import me.refracdevelopment.simpletags.utilities.chat.Color;
import org.bukkit.ChatColor;
diff --git a/src/main/java/me/refracdevelopment/simpletags/config/Menus.java b/src/main/java/me/refracdevelopment/simpletags/manager/configuration/cache/Menus.java
similarity index 86%
rename from src/main/java/me/refracdevelopment/simpletags/config/Menus.java
rename to src/main/java/me/refracdevelopment/simpletags/manager/configuration/cache/Menus.java
index 0f4f9ae..62e4bf6 100644
--- a/src/main/java/me/refracdevelopment/simpletags/config/Menus.java
+++ b/src/main/java/me/refracdevelopment/simpletags/manager/configuration/cache/Menus.java
@@ -1,4 +1,4 @@
-package me.refracdevelopment.simpletags.config;
+package me.refracdevelopment.simpletags.manager.configuration.cache;
import me.refracdevelopment.simpletags.SimpleTags;
import org.bukkit.configuration.ConfigurationSection;
diff --git a/src/main/java/me/refracdevelopment/simpletags/config/Tags.java b/src/main/java/me/refracdevelopment/simpletags/manager/configuration/cache/Tags.java
similarity index 83%
rename from src/main/java/me/refracdevelopment/simpletags/config/Tags.java
rename to src/main/java/me/refracdevelopment/simpletags/manager/configuration/cache/Tags.java
index 5a3be2e..7c20124 100644
--- a/src/main/java/me/refracdevelopment/simpletags/config/Tags.java
+++ b/src/main/java/me/refracdevelopment/simpletags/manager/configuration/cache/Tags.java
@@ -1,4 +1,4 @@
-package me.refracdevelopment.simpletags.config;
+package me.refracdevelopment.simpletags.manager.configuration.cache;
import me.refracdevelopment.simpletags.SimpleTags;
import org.bukkit.configuration.ConfigurationSection;
diff --git a/src/main/java/me/refracdevelopment/simpletags/manager/data/DataType.java b/src/main/java/me/refracdevelopment/simpletags/manager/data/DataType.java
new file mode 100644
index 0000000..d37673c
--- /dev/null
+++ b/src/main/java/me/refracdevelopment/simpletags/manager/data/DataType.java
@@ -0,0 +1,5 @@
+package me.refracdevelopment.simpletags.manager.data;
+
+public enum DataType {
+ MYSQL, FLAT_FILE
+}
\ No newline at end of file
diff --git a/src/main/java/me/refracdevelopment/simpletags/database/MySQLManager.java b/src/main/java/me/refracdevelopment/simpletags/manager/data/MySQLManager.java
similarity index 88%
rename from src/main/java/me/refracdevelopment/simpletags/database/MySQLManager.java
rename to src/main/java/me/refracdevelopment/simpletags/manager/data/MySQLManager.java
index aaa3f10..7861c73 100644
--- a/src/main/java/me/refracdevelopment/simpletags/database/MySQLManager.java
+++ b/src/main/java/me/refracdevelopment/simpletags/manager/data/MySQLManager.java
@@ -1,9 +1,9 @@
-package me.refracdevelopment.simpletags.database;
+package me.refracdevelopment.simpletags.manager.data;
import dev.rosewood.rosegarden.lib.hikaricp.HikariConfig;
import dev.rosewood.rosegarden.lib.hikaricp.HikariDataSource;
import me.refracdevelopment.simpletags.SimpleTags;
-import me.refracdevelopment.simpletags.manager.ConfigurationManager;
+import me.refracdevelopment.simpletags.manager.configuration.ConfigurationManager;
import me.refracdevelopment.simpletags.utilities.Tasks;
import me.refracdevelopment.simpletags.utilities.chat.Color;
@@ -26,16 +26,16 @@ public MySQLManager(SimpleTags plugin) {
}
public void createT() {
- Tasks.runAsync(plugin, () -> createTables());
+ Tasks.runAsync(plugin, this::createTables);
}
public boolean connect() {
try {
Color.log("&eConnecting to MySQL...");
HikariConfig config = new HikariConfig();
- Class.forName("com.mysql.cj.jdbc.Driver");
- config.setDriverClassName("com.mysql.cj.jdbc.Driver");
- config.setJdbcUrl("jdbc:mysql://" + host + ':' + port + '/' + database);
+ Class.forName("org.mariadb.jdbc.Driver");
+ config.setDriverClassName("org.mariadb.jdbc.Driver");
+ config.setJdbcUrl("jdbc:mariadb://" + host + ':' + port + '/' + database);
config.setUsername(username);
config.setPassword(password);
config.addDataSourceProperty("cachePrepStmts", "true");
@@ -57,7 +57,11 @@ public void shutdown() {
public void createTables() {
- createTable("SimpleTags", "uuid VARCHAR(36) NOT NULL PRIMARY KEY, name VARCHAR(16), tag VARCHAR(50), tagPrefix VARCHAR(50)");
+ createTable("SimpleTags",
+ "uuid VARCHAR(36) NOT NULL PRIMARY KEY," +
+ "name VARCHAR(255)," +
+ "tag VARCHAR(255)," +
+ "tagPrefix VARCHAR(255)");
}
public boolean isInitiated() {
diff --git a/src/main/java/me/refracdevelopment/simpletags/config/PlayerMapper.java b/src/main/java/me/refracdevelopment/simpletags/manager/data/PlayerMapper.java
similarity index 98%
rename from src/main/java/me/refracdevelopment/simpletags/config/PlayerMapper.java
rename to src/main/java/me/refracdevelopment/simpletags/manager/data/PlayerMapper.java
index ee3aa5b..41fe1af 100644
--- a/src/main/java/me/refracdevelopment/simpletags/config/PlayerMapper.java
+++ b/src/main/java/me/refracdevelopment/simpletags/manager/data/PlayerMapper.java
@@ -1,4 +1,4 @@
-package me.refracdevelopment.simpletags.config;
+package me.refracdevelopment.simpletags.manager.data;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
diff --git a/src/main/java/me/refracdevelopment/simpletags/database/SelectCall.java b/src/main/java/me/refracdevelopment/simpletags/manager/data/SelectCall.java
similarity index 64%
rename from src/main/java/me/refracdevelopment/simpletags/database/SelectCall.java
rename to src/main/java/me/refracdevelopment/simpletags/manager/data/SelectCall.java
index d878d2d..f1f89a6 100644
--- a/src/main/java/me/refracdevelopment/simpletags/database/SelectCall.java
+++ b/src/main/java/me/refracdevelopment/simpletags/manager/data/SelectCall.java
@@ -1,4 +1,4 @@
-package me.refracdevelopment.simpletags.database;
+package me.refracdevelopment.simpletags.manager.data;
import java.sql.ResultSet;
diff --git a/src/main/java/me/refracdevelopment/simpletags/menu/TagsItem.java b/src/main/java/me/refracdevelopment/simpletags/menu/TagsItem.java
index 441d076..5e8a16b 100644
--- a/src/main/java/me/refracdevelopment/simpletags/menu/TagsItem.java
+++ b/src/main/java/me/refracdevelopment/simpletags/menu/TagsItem.java
@@ -9,9 +9,9 @@
import lombok.Setter;
import me.arcaniax.hdb.api.HeadDatabaseAPI;
import me.refracdevelopment.simpletags.SimpleTags;
-import me.refracdevelopment.simpletags.config.Menus;
-import me.refracdevelopment.simpletags.data.ProfileData;
import me.refracdevelopment.simpletags.data.Tag;
+import me.refracdevelopment.simpletags.manager.configuration.cache.Menus;
+import me.refracdevelopment.simpletags.player.data.ProfileData;
import me.refracdevelopment.simpletags.utilities.ItemBuilder;
import me.refracdevelopment.simpletags.utilities.Utilities;
import me.refracdevelopment.simpletags.utilities.chat.Color;
diff --git a/src/main/java/me/refracdevelopment/simpletags/menu/TagsMenu.java b/src/main/java/me/refracdevelopment/simpletags/menu/TagsMenu.java
index 75305de..cd78166 100644
--- a/src/main/java/me/refracdevelopment/simpletags/menu/TagsMenu.java
+++ b/src/main/java/me/refracdevelopment/simpletags/menu/TagsMenu.java
@@ -2,10 +2,11 @@
import de.tr7zw.nbtapi.NBTItem;
import me.refracdevelopment.simpletags.SimpleTags;
-import me.refracdevelopment.simpletags.config.Menus;
-import me.refracdevelopment.simpletags.data.ProfileData;
import me.refracdevelopment.simpletags.data.Tag;
-import me.refracdevelopment.simpletags.manager.LocaleManager;
+import me.refracdevelopment.simpletags.manager.configuration.LocaleManager;
+import me.refracdevelopment.simpletags.manager.configuration.cache.Config;
+import me.refracdevelopment.simpletags.manager.configuration.cache.Menus;
+import me.refracdevelopment.simpletags.player.data.ProfileData;
import me.refracdevelopment.simpletags.utilities.Utilities;
import me.refracdevelopment.simpletags.utilities.chat.Color;
import me.refracdevelopment.simpletags.utilities.chat.Placeholders;
@@ -43,19 +44,19 @@ public void handleMenu(InventoryClickEvent e) {
if (e.getCurrentItem() == null) return;
if (e.getCurrentItem().getItemMeta() == null) return;
- if (e.getCurrentItem().getType().equals(Utilities.getMaterial("DARK_OAK_BUTTON").parseMaterial())) {
+ if (e.getCurrentItem().getType().equals(Utilities.getMaterial(Menus.TAGS_ITEMS.getString("left.material")).parseMaterial())) {
if (ChatColor.stripColor(e.getCurrentItem().getItemMeta().getDisplayName()).equalsIgnoreCase("Left")) {
if (page != 0) {
page = page - 1;
super.open();
}
- } else if (ChatColor.stripColor(e.getCurrentItem().getItemMeta().getDisplayName()).equalsIgnoreCase("Right")) {
- if (!((index + 1) >= plugin.getTagManager().getLoadedTags().size())) {
- page = page + 1;
- super.open();
- }
}
- } else if (e.getCurrentItem().getType().equals(Utilities.getMaterial("BARRIER").parseMaterial())) {
+ } else if (e.getCurrentItem().getType().equals(Utilities.getMaterial(Menus.TAGS_ITEMS.getString("right.material")).parseMaterial())) {
+ if (!((index + 1) >= plugin.getTagManager().getLoadedTags().size())) {
+ page = page + 1;
+ super.open();
+ }
+ } else if (e.getCurrentItem().getType().equals(Utilities.getMaterial(Menus.TAGS_ITEMS.getString("close.material")).parseMaterial())) {
player.closeInventory();
}
@@ -101,7 +102,7 @@ public void setMenuItems() {
for (int i = 0; i < getMaxItemsPerPage(); i++) {
index = getMaxItemsPerPage() * page + i;
if (index >= tags.size()) break;
- if (tags.get(index) != null && playerMenuUtility.getOwner().hasPermission("simpletags.tag." + tags.get(index).getConfigName())) {
+ if (tags.get(index) != null) {
inventory.addItem(tags.get(index).toItemStack(playerMenuUtility.getOwner(), tags.get(index).getConfigName()));
}
}
diff --git a/src/main/java/me/refracdevelopment/simpletags/data/Profile.java b/src/main/java/me/refracdevelopment/simpletags/player/Profile.java
similarity index 80%
rename from src/main/java/me/refracdevelopment/simpletags/data/Profile.java
rename to src/main/java/me/refracdevelopment/simpletags/player/Profile.java
index d5ddb07..1510bfb 100644
--- a/src/main/java/me/refracdevelopment/simpletags/data/Profile.java
+++ b/src/main/java/me/refracdevelopment/simpletags/player/Profile.java
@@ -1,8 +1,9 @@
-package me.refracdevelopment.simpletags.data;
+package me.refracdevelopment.simpletags.player;
import lombok.Getter;
import lombok.Setter;
import me.refracdevelopment.simpletags.SimpleTags;
+import me.refracdevelopment.simpletags.player.data.ProfileData;
import java.util.UUID;
diff --git a/src/main/java/me/refracdevelopment/simpletags/data/ProfileData.java b/src/main/java/me/refracdevelopment/simpletags/player/data/ProfileData.java
similarity index 95%
rename from src/main/java/me/refracdevelopment/simpletags/data/ProfileData.java
rename to src/main/java/me/refracdevelopment/simpletags/player/data/ProfileData.java
index 9288169..f3c4130 100644
--- a/src/main/java/me/refracdevelopment/simpletags/data/ProfileData.java
+++ b/src/main/java/me/refracdevelopment/simpletags/player/data/ProfileData.java
@@ -1,9 +1,9 @@
-package me.refracdevelopment.simpletags.data;
+package me.refracdevelopment.simpletags.player.data;
import lombok.Getter;
import lombok.Setter;
import me.refracdevelopment.simpletags.SimpleTags;
-import me.refracdevelopment.simpletags.database.DataType;
+import me.refracdevelopment.simpletags.manager.data.DataType;
import me.refracdevelopment.simpletags.utilities.chat.Color;
import org.bukkit.entity.Player;
diff --git a/src/main/java/me/refracdevelopment/simpletags/data/ProfileManager.java b/src/main/java/me/refracdevelopment/simpletags/player/data/ProfileManager.java
similarity index 83%
rename from src/main/java/me/refracdevelopment/simpletags/data/ProfileManager.java
rename to src/main/java/me/refracdevelopment/simpletags/player/data/ProfileManager.java
index 337e9e1..3d1b51d 100644
--- a/src/main/java/me/refracdevelopment/simpletags/data/ProfileManager.java
+++ b/src/main/java/me/refracdevelopment/simpletags/player/data/ProfileManager.java
@@ -1,6 +1,7 @@
-package me.refracdevelopment.simpletags.data;
+package me.refracdevelopment.simpletags.player.data;
import me.refracdevelopment.simpletags.SimpleTags;
+import me.refracdevelopment.simpletags.player.Profile;
import me.refracdevelopment.simpletags.utilities.Tasks;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
@@ -17,11 +18,9 @@ public ProfileManager() {
// Refresh to remove profiles from a previous instance of plugin
// This is basically /reload support (not recommended)
Bukkit.getOnlinePlayers().forEach(onlinePlayer -> {
- Tasks.runAsync(SimpleTags.getInstance(), () -> {
- getProfiles().clear();
- handleProfileCreation(onlinePlayer.getUniqueId(), onlinePlayer.getName());
- getProfile(onlinePlayer.getUniqueId()).getData().load();
- });
+ getProfiles().clear();
+ handleProfileCreation(onlinePlayer.getUniqueId(), onlinePlayer.getName());
+ Tasks.runAsync(SimpleTags.getInstance(), () -> getProfile(onlinePlayer.getUniqueId()).getData().load());
});
}
diff --git a/src/main/java/me/refracdevelopment/simpletags/utilities/DownloadUtil.java b/src/main/java/me/refracdevelopment/simpletags/utilities/DownloadUtil.java
new file mode 100644
index 0000000..2917e0a
--- /dev/null
+++ b/src/main/java/me/refracdevelopment/simpletags/utilities/DownloadUtil.java
@@ -0,0 +1,20 @@
+package me.refracdevelopment.simpletags.utilities;
+
+import me.refracdevelopment.simpletags.SimpleTags;
+import net.byteflux.libby.BukkitLibraryManager;
+import net.byteflux.libby.Library;
+
+public class DownloadUtil {
+
+ public static void downloadAndEnable() {
+ BukkitLibraryManager libraryManager = new BukkitLibraryManager(SimpleTags.getInstance());
+ Library lib = Library.builder()
+ .groupId("org{}mariadb{}jdbc") // "{}" is replaced with ".", useful to avoid unwanted changes made by maven-shade-plugin
+ .artifactId("mariadb-java-client")
+ .version("3.1.4")
+ .build();
+
+ libraryManager.addMavenCentral();
+ libraryManager.loadLibrary(lib);
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/me/refracdevelopment/simpletags/utilities/Utilities.java b/src/main/java/me/refracdevelopment/simpletags/utilities/Utilities.java
index b4366f4..c51e343 100644
--- a/src/main/java/me/refracdevelopment/simpletags/utilities/Utilities.java
+++ b/src/main/java/me/refracdevelopment/simpletags/utilities/Utilities.java
@@ -2,8 +2,8 @@
import com.cryptomorin.xseries.XMaterial;
import me.refracdevelopment.simpletags.SimpleTags;
-import me.refracdevelopment.simpletags.database.DataType;
-import me.refracdevelopment.simpletags.manager.LocaleManager;
+import me.refracdevelopment.simpletags.manager.configuration.LocaleManager;
+import me.refracdevelopment.simpletags.manager.data.DataType;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
diff --git a/src/main/java/me/refracdevelopment/simpletags/utilities/chat/Color.java b/src/main/java/me/refracdevelopment/simpletags/utilities/chat/Color.java
index 5e99b53..b65afab 100644
--- a/src/main/java/me/refracdevelopment/simpletags/utilities/chat/Color.java
+++ b/src/main/java/me/refracdevelopment/simpletags/utilities/chat/Color.java
@@ -3,19 +3,17 @@
import dev.rosewood.rosegarden.hook.PlaceholderAPIHook;
import dev.rosewood.rosegarden.utils.HexUtils;
import me.refracdevelopment.simpletags.SimpleTags;
-import me.refracdevelopment.simpletags.config.Config;
-import me.refracdevelopment.simpletags.manager.LocaleManager;
+import me.refracdevelopment.simpletags.manager.configuration.LocaleManager;
import org.bukkit.Bukkit;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
-import org.jetbrains.annotations.Nullable;
public class Color {
public static String translate(CommandSender sender, String source) {
source = Placeholders.setPlaceholders(sender, source);
- if (sender instanceof Player && Bukkit.getPluginManager().getPlugin("PlaceholderAPI") != null) {
+ if (sender instanceof Player) {
return PlaceholderAPIHook.applyPlaceholders((Player) sender, translate(source));
} else return translate(source);
}
@@ -24,21 +22,19 @@ public static String translate(String source) {
return HexUtils.colorify(source);
}
- public static void log(String message) {
+ public static void sendMessage(Player player, String message) {
final LocaleManager locale = SimpleTags.getInstance().getManager(LocaleManager.class);
- String prefix = locale.getLocaleMessage("prefix");
+ message = Placeholders.setPlaceholders(player, message);
- locale.sendCustomMessage(Bukkit.getConsoleSender(), prefix + message);
+ locale.sendCustomMessage(player, message);
}
- public static void sendDebug(@Nullable CommandSender sender, String message) {
- if (!Config.DEBUG) return;
- if (sender != null) {
- sender.sendMessage(translate("&7Debug: " + message));
- return;
- }
+ public static void log(String message) {
+ final LocaleManager locale = SimpleTags.getInstance().getManager(LocaleManager.class);
+
+ String prefix = locale.getLocaleMessage("prefix");
- log("&7Debug: " + message);
+ locale.sendCustomMessage(Bukkit.getConsoleSender(), prefix + message);
}
}
diff --git a/src/main/java/me/refracdevelopment/simpletags/utilities/chat/PAPIExpansion.java b/src/main/java/me/refracdevelopment/simpletags/utilities/chat/PAPIExpansion.java
index 5702f4d..6d649ff 100644
--- a/src/main/java/me/refracdevelopment/simpletags/utilities/chat/PAPIExpansion.java
+++ b/src/main/java/me/refracdevelopment/simpletags/utilities/chat/PAPIExpansion.java
@@ -2,7 +2,7 @@
import me.clip.placeholderapi.expansion.PlaceholderExpansion;
import me.refracdevelopment.simpletags.SimpleTags;
-import me.refracdevelopment.simpletags.data.ProfileData;
+import me.refracdevelopment.simpletags.player.data.ProfileData;
import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
diff --git a/src/main/java/me/refracdevelopment/simpletags/utilities/chat/Placeholders.java b/src/main/java/me/refracdevelopment/simpletags/utilities/chat/Placeholders.java
index fb47f9c..81a52ca 100644
--- a/src/main/java/me/refracdevelopment/simpletags/utilities/chat/Placeholders.java
+++ b/src/main/java/me/refracdevelopment/simpletags/utilities/chat/Placeholders.java
@@ -2,8 +2,8 @@
import dev.rosewood.rosegarden.utils.StringPlaceholders;
import me.refracdevelopment.simpletags.SimpleTags;
-import me.refracdevelopment.simpletags.data.ProfileData;
-import me.refracdevelopment.simpletags.manager.LocaleManager;
+import me.refracdevelopment.simpletags.manager.configuration.LocaleManager;
+import me.refracdevelopment.simpletags.player.data.ProfileData;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
diff --git a/src/main/java/me/refracdevelopment/simpletags/utilities/menu/PaginatedMenu.java b/src/main/java/me/refracdevelopment/simpletags/utilities/menu/PaginatedMenu.java
index 9128a6c..73b50cc 100644
--- a/src/main/java/me/refracdevelopment/simpletags/utilities/menu/PaginatedMenu.java
+++ b/src/main/java/me/refracdevelopment/simpletags/utilities/menu/PaginatedMenu.java
@@ -1,12 +1,14 @@
package me.refracdevelopment.simpletags.utilities.menu;
-import me.refracdevelopment.simpletags.config.Menus;
+import lombok.Getter;
+import me.refracdevelopment.simpletags.manager.configuration.cache.Menus;
import me.refracdevelopment.simpletags.utilities.Utilities;
import me.refracdevelopment.simpletags.utilities.chat.Color;
/**
* A class extending the functionality of the regular Menu, but making it Paginated
*/
+@Getter
public abstract class PaginatedMenu extends Menu {
protected int page = 0;
@@ -44,7 +46,4 @@ public void addMenuBorder() {
}
}
- public int getMaxItemsPerPage() {
- return maxItemsPerPage;
- }
}
\ No newline at end of file
diff --git a/src/main/java/me/refracdevelopment/simpletags/utilities/menu/PlayerMenuUtility.java b/src/main/java/me/refracdevelopment/simpletags/utilities/menu/PlayerMenuUtility.java
index b095696..aba8f7e 100644
--- a/src/main/java/me/refracdevelopment/simpletags/utilities/menu/PlayerMenuUtility.java
+++ b/src/main/java/me/refracdevelopment/simpletags/utilities/menu/PlayerMenuUtility.java
@@ -1,5 +1,6 @@
package me.refracdevelopment.simpletags.utilities.menu;
+import lombok.Getter;
import org.bukkit.entity.Player;
/**
@@ -7,6 +8,7 @@
* menu system no matter how many inventories are opened or closed.
* Each player has one of these objects, and only one.
*/
+@Getter
public class PlayerMenuUtility {
private final Player owner;
@@ -15,7 +17,4 @@ public PlayerMenuUtility(Player p) {
this.owner = p;
}
- public Player getOwner() {
- return owner;
- }
}
\ No newline at end of file
diff --git a/src/main/resources/locale/en_US.yml b/src/main/resources/locale/en_US.yml
index 9f7e4f1..93fcf21 100644
--- a/src/main/resources/locale/en_US.yml
+++ b/src/main/resources/locale/en_US.yml
@@ -16,6 +16,9 @@ tag-set: '&aSet %player%''s &atag to %tag-name%&a.'
tag-updated: '&aYour tag has been updated to %tag-prefix%&a.'
tag-reset: '&aYour tag has been reset.'
+# Kick Messages
+kick-messages-error: '&cERROR: Profile returned null.'
+
# Base Command Message
base-command-color: '&e'
base-command-help: '&eUse &b/%cmd% help &efor command information.'
diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml
index b25a048..1bdc64d 100644
--- a/src/main/resources/plugin.yml
+++ b/src/main/resources/plugin.yml
@@ -9,7 +9,7 @@ softdepend:
- Skulls
- HeadDatabase
description: A simple tags plugin
-website: https://discord.refracdev.ml/
+website: https://discord.gg/EFeSKPg739
permissions:
simpletags.*: