implements Listener {
diff --git a/src/main/java/su/nexmedia/engine/NexPlugin.java b/src/main/java/mc/promcteam/engine/NexPlugin.java
similarity index 88%
rename from src/main/java/su/nexmedia/engine/NexPlugin.java
rename to src/main/java/mc/promcteam/engine/NexPlugin.java
index 76e31cc..5fab752 100644
--- a/src/main/java/su/nexmedia/engine/NexPlugin.java
+++ b/src/main/java/mc/promcteam/engine/NexPlugin.java
@@ -1,8 +1,16 @@
-package su.nexmedia.engine;
+package mc.promcteam.engine;
import java.util.List;
import java.util.logging.Logger;
+import mc.promcteam.engine.commands.CommandManager;
+import mc.promcteam.engine.core.config.CoreLang;
+import mc.promcteam.engine.hooks.external.MythicMobsHK;
+import mc.promcteam.engine.hooks.external.VaultHK;
+import mc.promcteam.engine.hooks.external.WorldGuardHK;
+import mc.promcteam.engine.hooks.external.citizens.CitizensHK;
+import mc.promcteam.engine.nms.NMS;
+import mc.promcteam.engine.nms.packets.PacketManager;
import org.bukkit.entity.Player;
import org.bukkit.event.HandlerList;
import org.bukkit.inventory.InventoryHolder;
@@ -11,27 +19,19 @@
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
-import su.nexmedia.engine.commands.CommandManager;
-import su.nexmedia.engine.commands.api.IGeneralCommand;
-import su.nexmedia.engine.commands.list.MainCommand;
-import su.nexmedia.engine.config.ConfigManager;
-import su.nexmedia.engine.config.api.IConfigTemplate;
-import su.nexmedia.engine.core.config.CoreLang;
-import su.nexmedia.engine.hooks.HookManager;
-import su.nexmedia.engine.hooks.NHook;
-import su.nexmedia.engine.hooks.external.MythicMobsHK;
-import su.nexmedia.engine.hooks.external.VaultHK;
-import su.nexmedia.engine.hooks.external.WorldGuardHK;
-import su.nexmedia.engine.hooks.external.citizens.CitizensHK;
-import su.nexmedia.engine.manager.api.Loggable;
-import su.nexmedia.engine.manager.api.gui.NGUI;
-import su.nexmedia.engine.manager.editor.EditorHandler;
-import su.nexmedia.engine.modules.ModuleManager;
-import su.nexmedia.engine.nms.NMS;
-import su.nexmedia.engine.nms.packets.PacketManager;
-import su.nexmedia.engine.utils.actions.ActionsManager;
-import su.nexmedia.engine.utils.actions.Parametized;
-import su.nexmedia.engine.utils.craft.CraftManager;
+import mc.promcteam.engine.commands.api.IGeneralCommand;
+import mc.promcteam.engine.commands.list.MainCommand;
+import mc.promcteam.engine.config.ConfigManager;
+import mc.promcteam.engine.config.api.IConfigTemplate;
+import mc.promcteam.engine.hooks.HookManager;
+import mc.promcteam.engine.hooks.NHook;
+import mc.promcteam.engine.manager.api.Loggable;
+import mc.promcteam.engine.manager.api.gui.NGUI;
+import mc.promcteam.engine.manager.editor.EditorHandler;
+import mc.promcteam.engine.modules.ModuleManager;
+import mc.promcteam.engine.utils.actions.ActionsManager;
+import mc.promcteam.engine.utils.actions.Parametized;
+import mc.promcteam.engine.utils.craft.CraftManager;
public abstract class NexPlugin> extends JavaPlugin implements Loggable {
diff --git a/src/main/java/su/nexmedia/engine/commands/CommandManager.java b/src/main/java/mc/promcteam/engine/commands/CommandManager.java
similarity index 80%
rename from src/main/java/su/nexmedia/engine/commands/CommandManager.java
rename to src/main/java/mc/promcteam/engine/commands/CommandManager.java
index 7f264f9..09c17aa 100644
--- a/src/main/java/su/nexmedia/engine/commands/CommandManager.java
+++ b/src/main/java/mc/promcteam/engine/commands/CommandManager.java
@@ -1,18 +1,18 @@
-package su.nexmedia.engine.commands;
+package mc.promcteam.engine.commands;
import java.util.HashSet;
import java.util.Set;
import org.jetbrains.annotations.NotNull;
-import su.nexmedia.engine.NexPlugin;
-import su.nexmedia.engine.commands.api.IGeneralCommand;
-import su.nexmedia.engine.commands.list.AboutCommand;
-import su.nexmedia.engine.commands.list.EditorCommand;
-import su.nexmedia.engine.commands.list.HelpCommand;
-import su.nexmedia.engine.commands.list.MainCommand;
-import su.nexmedia.engine.commands.list.ReloadCommand;
-import su.nexmedia.engine.manager.api.Loadable;
+import mc.promcteam.engine.NexPlugin;
+import mc.promcteam.engine.commands.api.IGeneralCommand;
+import mc.promcteam.engine.commands.list.AboutCommand;
+import mc.promcteam.engine.commands.list.EditorCommand;
+import mc.promcteam.engine.commands.list.HelpCommand;
+import mc.promcteam.engine.commands.list.MainCommand;
+import mc.promcteam.engine.commands.list.ReloadCommand;
+import mc.promcteam.engine.manager.api.Loadable;
public class CommandManager
> implements Loadable {
diff --git a/src/main/java/su/nexmedia/engine/commands/CommandRegister.java b/src/main/java/mc/promcteam/engine/commands/CommandRegister.java
similarity index 96%
rename from src/main/java/su/nexmedia/engine/commands/CommandRegister.java
rename to src/main/java/mc/promcteam/engine/commands/CommandRegister.java
index cfcd3ca..1183e23 100644
--- a/src/main/java/su/nexmedia/engine/commands/CommandRegister.java
+++ b/src/main/java/mc/promcteam/engine/commands/CommandRegister.java
@@ -1,4 +1,4 @@
-package su.nexmedia.engine.commands;
+package mc.promcteam.engine.commands;
import java.lang.reflect.Method;
import java.util.Arrays;
@@ -20,9 +20,9 @@
import org.bukkit.plugin.Plugin;
import org.jetbrains.annotations.NotNull;
-import su.nexmedia.engine.NexPlugin;
-import su.nexmedia.engine.commands.api.IGeneralCommand;
-import su.nexmedia.engine.utils.Reflex;
+import mc.promcteam.engine.NexPlugin;
+import mc.promcteam.engine.commands.api.IGeneralCommand;
+import mc.promcteam.engine.utils.Reflex;
public class CommandRegister extends Command implements PluginIdentifiableCommand {
diff --git a/src/main/java/su/nexmedia/engine/commands/api/IAbstractCommand.java b/src/main/java/mc/promcteam/engine/commands/api/IAbstractCommand.java
similarity index 97%
rename from src/main/java/su/nexmedia/engine/commands/api/IAbstractCommand.java
rename to src/main/java/mc/promcteam/engine/commands/api/IAbstractCommand.java
index cbfa92d..6a55969 100644
--- a/src/main/java/su/nexmedia/engine/commands/api/IAbstractCommand.java
+++ b/src/main/java/mc/promcteam/engine/commands/api/IAbstractCommand.java
@@ -1,15 +1,15 @@
-package su.nexmedia.engine.commands.api;
+package mc.promcteam.engine.commands.api;
import java.util.Collections;
import java.util.List;
+import mc.promcteam.engine.NexPlugin;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
-import su.nexmedia.engine.NexPlugin;
-import su.nexmedia.engine.utils.CollectionsUT;
+import mc.promcteam.engine.utils.CollectionsUT;
public abstract class IAbstractCommand
> {
diff --git a/src/main/java/su/nexmedia/engine/commands/api/IGeneralCommand.java b/src/main/java/mc/promcteam/engine/commands/api/IGeneralCommand.java
similarity index 96%
rename from src/main/java/su/nexmedia/engine/commands/api/IGeneralCommand.java
rename to src/main/java/mc/promcteam/engine/commands/api/IGeneralCommand.java
index 3600a85..0eba23d 100644
--- a/src/main/java/su/nexmedia/engine/commands/api/IGeneralCommand.java
+++ b/src/main/java/mc/promcteam/engine/commands/api/IGeneralCommand.java
@@ -1,4 +1,4 @@
-package su.nexmedia.engine.commands.api;
+package mc.promcteam.engine.commands.api;
import java.util.ArrayList;
import java.util.Arrays;
@@ -9,6 +9,7 @@
import java.util.List;
import java.util.Map;
+import mc.promcteam.engine.NexPlugin;
import org.apache.commons.lang.ArrayUtils;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
@@ -18,8 +19,7 @@
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
-import su.nexmedia.engine.NexPlugin;
-import su.nexmedia.engine.utils.StringUT;
+import mc.promcteam.engine.utils.StringUT;
public abstract class IGeneralCommand
> extends IAbstractCommand
implements CommandExecutor, TabExecutor {
diff --git a/src/main/java/su/nexmedia/engine/commands/api/ISubCommand.java b/src/main/java/mc/promcteam/engine/commands/api/ISubCommand.java
similarity index 92%
rename from src/main/java/su/nexmedia/engine/commands/api/ISubCommand.java
rename to src/main/java/mc/promcteam/engine/commands/api/ISubCommand.java
index e784c0f..f3d8730 100644
--- a/src/main/java/su/nexmedia/engine/commands/api/ISubCommand.java
+++ b/src/main/java/mc/promcteam/engine/commands/api/ISubCommand.java
@@ -1,12 +1,11 @@
-package su.nexmedia.engine.commands.api;
+package mc.promcteam.engine.commands.api;
import java.util.List;
+import mc.promcteam.engine.NexPlugin;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
-import su.nexmedia.engine.NexPlugin;
-
public abstract class ISubCommand
> extends IAbstractCommand
{
protected IGeneralCommand
parent;
diff --git a/src/main/java/su/nexmedia/engine/commands/list/AboutCommand.java b/src/main/java/mc/promcteam/engine/commands/list/AboutCommand.java
similarity index 83%
rename from src/main/java/su/nexmedia/engine/commands/list/AboutCommand.java
rename to src/main/java/mc/promcteam/engine/commands/list/AboutCommand.java
index 0bd8cbb..20f810a 100644
--- a/src/main/java/su/nexmedia/engine/commands/list/AboutCommand.java
+++ b/src/main/java/mc/promcteam/engine/commands/list/AboutCommand.java
@@ -1,15 +1,15 @@
-package su.nexmedia.engine.commands.list;
+package mc.promcteam.engine.commands.list;
import java.util.Arrays;
import java.util.List;
+import mc.promcteam.engine.NexEngine;
+import mc.promcteam.engine.NexPlugin;
+import mc.promcteam.engine.commands.api.ISubCommand;
import org.bukkit.command.CommandSender;
import org.jetbrains.annotations.NotNull;
-import su.nexmedia.engine.NexEngine;
-import su.nexmedia.engine.NexPlugin;
-import su.nexmedia.engine.commands.api.ISubCommand;
-import su.nexmedia.engine.utils.StringUT;
+import mc.promcteam.engine.utils.StringUT;
public class AboutCommand
> extends ISubCommand
{
diff --git a/src/main/java/su/nexmedia/engine/commands/list/Base64Command.java b/src/main/java/mc/promcteam/engine/commands/list/Base64Command.java
similarity index 84%
rename from src/main/java/su/nexmedia/engine/commands/list/Base64Command.java
rename to src/main/java/mc/promcteam/engine/commands/list/Base64Command.java
index 8f827f1..8f0ce96 100644
--- a/src/main/java/su/nexmedia/engine/commands/list/Base64Command.java
+++ b/src/main/java/mc/promcteam/engine/commands/list/Base64Command.java
@@ -1,14 +1,14 @@
-package su.nexmedia.engine.commands.list;
+package mc.promcteam.engine.commands.list;
+import mc.promcteam.engine.NexEngine;
+import mc.promcteam.engine.commands.api.ISubCommand;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import org.jetbrains.annotations.NotNull;
-import su.nexmedia.engine.NexEngine;
-import su.nexmedia.engine.commands.api.ISubCommand;
-import su.nexmedia.engine.utils.ClickText;
-import su.nexmedia.engine.utils.ItemUT;
+import mc.promcteam.engine.utils.ClickText;
+import mc.promcteam.engine.utils.ItemUT;
public class Base64Command extends ISubCommand {
diff --git a/src/main/java/su/nexmedia/engine/commands/list/EditorCommand.java b/src/main/java/mc/promcteam/engine/commands/list/EditorCommand.java
similarity index 84%
rename from src/main/java/su/nexmedia/engine/commands/list/EditorCommand.java
rename to src/main/java/mc/promcteam/engine/commands/list/EditorCommand.java
index d24ccc0..8ee84aa 100644
--- a/src/main/java/su/nexmedia/engine/commands/list/EditorCommand.java
+++ b/src/main/java/mc/promcteam/engine/commands/list/EditorCommand.java
@@ -1,11 +1,11 @@
-package su.nexmedia.engine.commands.list;
+package mc.promcteam.engine.commands.list;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
-import su.nexmedia.engine.NexPlugin;
-import su.nexmedia.engine.commands.api.ISubCommand;
+import mc.promcteam.engine.NexPlugin;
+import mc.promcteam.engine.commands.api.ISubCommand;
public class EditorCommand> extends ISubCommand
{
diff --git a/src/main/java/su/nexmedia/engine/commands/list/HelpCommand.java b/src/main/java/mc/promcteam/engine/commands/list/HelpCommand.java
similarity index 87%
rename from src/main/java/su/nexmedia/engine/commands/list/HelpCommand.java
rename to src/main/java/mc/promcteam/engine/commands/list/HelpCommand.java
index 1daab1b..4f858a3 100644
--- a/src/main/java/su/nexmedia/engine/commands/list/HelpCommand.java
+++ b/src/main/java/mc/promcteam/engine/commands/list/HelpCommand.java
@@ -1,11 +1,11 @@
-package su.nexmedia.engine.commands.list;
+package mc.promcteam.engine.commands.list;
+import mc.promcteam.engine.NexPlugin;
+import mc.promcteam.engine.commands.api.ISubCommand;
import org.bukkit.command.CommandSender;
import org.jetbrains.annotations.NotNull;
-import su.nexmedia.engine.NexPlugin;
-import su.nexmedia.engine.commands.api.ISubCommand;
-import su.nexmedia.engine.utils.StringUT;
+import mc.promcteam.engine.utils.StringUT;
public class HelpCommand
> extends ISubCommand
{
diff --git a/src/main/java/su/nexmedia/engine/commands/list/MainCommand.java b/src/main/java/mc/promcteam/engine/commands/list/MainCommand.java
similarity index 82%
rename from src/main/java/su/nexmedia/engine/commands/list/MainCommand.java
rename to src/main/java/mc/promcteam/engine/commands/list/MainCommand.java
index f8db3f8..25d3ad6 100644
--- a/src/main/java/su/nexmedia/engine/commands/list/MainCommand.java
+++ b/src/main/java/mc/promcteam/engine/commands/list/MainCommand.java
@@ -1,11 +1,10 @@
-package su.nexmedia.engine.commands.list;
+package mc.promcteam.engine.commands.list;
+import mc.promcteam.engine.NexPlugin;
+import mc.promcteam.engine.commands.api.IGeneralCommand;
import org.bukkit.command.CommandSender;
import org.jetbrains.annotations.NotNull;
-import su.nexmedia.engine.NexPlugin;
-import su.nexmedia.engine.commands.api.IGeneralCommand;
-
public final class MainCommand
> extends IGeneralCommand
{
public MainCommand(@NotNull P plugin) {
diff --git a/src/main/java/su/nexmedia/engine/commands/list/ReloadCommand.java b/src/main/java/mc/promcteam/engine/commands/list/ReloadCommand.java
similarity index 84%
rename from src/main/java/su/nexmedia/engine/commands/list/ReloadCommand.java
rename to src/main/java/mc/promcteam/engine/commands/list/ReloadCommand.java
index d351a18..72baebb 100644
--- a/src/main/java/su/nexmedia/engine/commands/list/ReloadCommand.java
+++ b/src/main/java/mc/promcteam/engine/commands/list/ReloadCommand.java
@@ -1,10 +1,10 @@
-package su.nexmedia.engine.commands.list;
+package mc.promcteam.engine.commands.list;
import org.bukkit.command.CommandSender;
import org.jetbrains.annotations.NotNull;
-import su.nexmedia.engine.NexPlugin;
-import su.nexmedia.engine.commands.api.ISubCommand;
+import mc.promcteam.engine.NexPlugin;
+import mc.promcteam.engine.commands.api.ISubCommand;
public class ReloadCommand
> extends ISubCommand
{
diff --git a/src/main/java/su/nexmedia/engine/config/ConfigManager.java b/src/main/java/mc/promcteam/engine/config/ConfigManager.java
similarity index 95%
rename from src/main/java/su/nexmedia/engine/config/ConfigManager.java
rename to src/main/java/mc/promcteam/engine/config/ConfigManager.java
index c66dcc3..5e80082 100644
--- a/src/main/java/su/nexmedia/engine/config/ConfigManager.java
+++ b/src/main/java/mc/promcteam/engine/config/ConfigManager.java
@@ -1,15 +1,14 @@
-package su.nexmedia.engine.config;
+package mc.promcteam.engine.config;
import java.io.File;
import java.io.IOException;
import java.util.UUID;
+import mc.promcteam.engine.NexPlugin;
+import mc.promcteam.engine.config.api.JYML;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
-import su.nexmedia.engine.NexPlugin;
-import su.nexmedia.engine.config.api.JYML;
-
public class ConfigManager
> {
@NotNull private P plugin;
diff --git a/src/main/java/su/nexmedia/engine/config/ResourceExtractor.java b/src/main/java/mc/promcteam/engine/config/ResourceExtractor.java
similarity index 98%
rename from src/main/java/su/nexmedia/engine/config/ResourceExtractor.java
rename to src/main/java/mc/promcteam/engine/config/ResourceExtractor.java
index e9f2282..ed887c2 100644
--- a/src/main/java/su/nexmedia/engine/config/ResourceExtractor.java
+++ b/src/main/java/mc/promcteam/engine/config/ResourceExtractor.java
@@ -1,4 +1,4 @@
-package su.nexmedia.engine.config;
+package mc.promcteam.engine.config;
import java.io.File;
import java.io.FileOutputStream;
@@ -12,7 +12,7 @@
import org.apache.commons.lang.Validate;
import org.bukkit.plugin.java.JavaPlugin;
-import su.nexmedia.engine.utils.FileUT;
+import mc.promcteam.engine.utils.FileUT;
public final class ResourceExtractor {
diff --git a/src/main/java/su/nexmedia/engine/config/api/IConfigTemplate.java b/src/main/java/mc/promcteam/engine/config/api/IConfigTemplate.java
similarity index 92%
rename from src/main/java/su/nexmedia/engine/config/api/IConfigTemplate.java
rename to src/main/java/mc/promcteam/engine/config/api/IConfigTemplate.java
index fb72c33..6efef0b 100644
--- a/src/main/java/su/nexmedia/engine/config/api/IConfigTemplate.java
+++ b/src/main/java/mc/promcteam/engine/config/api/IConfigTemplate.java
@@ -1,14 +1,13 @@
-package su.nexmedia.engine.config.api;
+package mc.promcteam.engine.config.api;
+import mc.promcteam.engine.NexDataPlugin;
+import mc.promcteam.engine.NexPlugin;
+import mc.promcteam.engine.data.StorageType;
+import mc.promcteam.engine.modules.IModule;
+import mc.promcteam.engine.utils.CollectionsUT;
+import mc.promcteam.engine.utils.StringUT;
import org.jetbrains.annotations.NotNull;
-import su.nexmedia.engine.NexDataPlugin;
-import su.nexmedia.engine.NexPlugin;
-import su.nexmedia.engine.data.StorageType;
-import su.nexmedia.engine.modules.IModule;
-import su.nexmedia.engine.utils.CollectionsUT;
-import su.nexmedia.engine.utils.StringUT;
-
public abstract class IConfigTemplate {
protected NexPlugin> plugin;
diff --git a/src/main/java/mc/promcteam/engine/config/api/ILangMsg.java b/src/main/java/mc/promcteam/engine/config/api/ILangMsg.java
new file mode 100644
index 0000000..33ea826
--- /dev/null
+++ b/src/main/java/mc/promcteam/engine/config/api/ILangMsg.java
@@ -0,0 +1,251 @@
+package mc.promcteam.engine.config.api;
+
+import mc.promcteam.engine.utils.CollectionsUT;
+import mc.promcteam.engine.utils.MsgUT;
+import mc.promcteam.engine.utils.StringUT;
+import org.bukkit.Bukkit;
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
+import org.jetbrains.annotations.NotNull;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.function.UnaryOperator;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+public class ILangMsg {
+
+ private static final Pattern PATTERN_MESSAGE = Pattern.compile("(\\{message:)+(.)+?(\\})+(.*?)(\\})?");
+ private static final String[] MESSAGE_ARGUMENTS = new String[]{"type", "prefix", "fadeIn", "stay", "fadeOut"};
+ private static final Pattern[] PATTERN_ARGUMENTS = new Pattern[MESSAGE_ARGUMENTS.length];
+
+ static {
+ for (int i = 0; i < MESSAGE_ARGUMENTS.length; i++) {
+ PATTERN_ARGUMENTS[i] = Pattern.compile("(~)+(" + MESSAGE_ARGUMENTS[i] + ")+?(:)+(.*?)(;)");
+ }
+ }
+
+ private ILangTemplate template;
+ private String msgDefault;
+ private String msgColor;
+ private String path;
+
+ private OutputType out = OutputType.CHAT;
+ private boolean isPrefix = true;
+ private int[] titlesTimes = new int[3];
+
+ public ILangMsg(@NotNull ILangTemplate template, @NotNull String msg) {
+ this.template = template;
+ this.msgDefault = msg;
+ this.setMsg(msg);
+ }
+
+ ILangMsg(@NotNull ILangMsg from) {
+ this.template = from.template;
+ this.msgDefault = from.getDefaultMsg();
+ this.msgColor = from.getMsg();
+ this.path = from.getPath();
+ this.out = from.out;
+ this.isPrefix = from.isPrefix;
+ this.titlesTimes = from.titlesTimes;
+ }
+
+ @NotNull
+ public String getPath() {
+ return this.path;
+ }
+
+ void setPath(@NotNull String path) {
+ this.path = path.replace("_", ".");
+ }
+
+ boolean setArguments(@NotNull String msg) {
+ Matcher mArgs = PATTERN_MESSAGE.matcher(msg);
+ if (!mArgs.find()) return false;
+
+ // String with only args
+ String extract = mArgs.group(0);
+ String arguments = extract.replace("{message:", "").replace("}", "").trim();
+ this.msgColor = msg.replace(extract, "");
+
+ for (int i = 0; i < MESSAGE_ARGUMENTS.length; i++) {
+ // Search for flag of this parameter
+ String argType = MESSAGE_ARGUMENTS[i];
+ Pattern pArgVal = PATTERN_ARGUMENTS[i];
+ Matcher mArgVal = pArgVal.matcher(arguments); // TODO 200ms
+
+ // Get the flag value
+ if (mArgVal.find()) {
+ // Extract only value from all flag string
+ String argValue = mArgVal.group(4).trim();
+ switch (argType) {
+ case "type": {
+ this.out = CollectionsUT.getEnum(argValue, OutputType.class);
+ break;
+ }
+ case "prefix": {
+ this.isPrefix = Boolean.parseBoolean(argValue);
+ break;
+ }
+ case "fadeIn": {
+ this.titlesTimes[0] = StringUT.getInteger(argValue, -1);
+ break;
+ }
+ case "stay": {
+ this.titlesTimes[1] = StringUT.getInteger(argValue, -1);
+ if (this.titlesTimes[1] < 0) this.titlesTimes[1] = 10000;
+ break;
+ }
+ case "fadeOut": {
+ this.titlesTimes[2] = StringUT.getInteger(argValue, -1);
+ break;
+ }
+ }
+ }
+ }
+ return true;
+ }
+
+ @NotNull
+ public String getDefaultMsg() {
+ return this.msgDefault;
+ }
+
+ @NotNull
+ public String getMsgReady() {
+ return this.replaceDefaults().apply(this.msgColor);
+ }
+
+ @NotNull
+ public String getMsg() {
+ return this.msgColor;
+ }
+
+ public void setMsg(@NotNull String msg) {
+ // When TRUE, then 'msgColor' is already set by this 'msg' value.
+ if (!this.setArguments(msg)) {
+ this.msgColor = msg;
+ }
+
+ // Do not replace colors for JSON message, otherwise it will be broken.
+ if (!MsgUT.isJSON(msg)) {
+ this.msgColor = StringUT.color(this.msgColor);
+ }
+ }
+
+ @SuppressWarnings("unchecked")
+ @NotNull
+ public ILangMsg replace(@NotNull String var, @NotNull Object replacer) {
+ if (this.isEmpty()) return this;
+ if (replacer instanceof List) return this.replace(var, (List