diff --git a/pom.xml b/pom.xml
index 751397f..5f4fbc8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
net.t2code
AutomatedMessages
- 1.1
+ 1.2
@@ -27,8 +27,8 @@
maven-compiler-plugin
3.8.1
-
- ${java.version}
+
+ 9
@@ -84,7 +84,8 @@
net.t2code
T2CodeLib
- 15.3
+ 15.9
+ dev-2
provided
diff --git a/src/main/java/net/t2code/automatedMessages/Util.java b/src/main/java/net/t2code/automatedMessages/Util.java
index 67bff67..3129c7f 100644
--- a/src/main/java/net/t2code/automatedMessages/Util.java
+++ b/src/main/java/net/t2code/automatedMessages/Util.java
@@ -8,7 +8,7 @@ public class Util {
private static String infoText = "";
@Getter
- private static String requiredT2CodeLibVersion = "15.3";
+ private static String requiredT2CodeLibVersion = "15.9";
@Getter
private static String prefix = "[T2C-AutomatedMessages]";
diff --git a/src/main/java/net/t2code/automatedMessages/config/messages/MessagesSelect.java b/src/main/java/net/t2code/automatedMessages/config/messages/MessagesSelect.java
index 7546644..cdc4bf1 100644
--- a/src/main/java/net/t2code/automatedMessages/config/messages/MessagesSelect.java
+++ b/src/main/java/net/t2code/automatedMessages/config/messages/MessagesSelect.java
@@ -9,6 +9,7 @@ import org.bukkit.configuration.file.YamlConfiguration;
import java.io.File;
import java.util.HashMap;
+import java.util.Objects;
public class MessagesSelect {
@@ -47,7 +48,7 @@ public class MessagesSelect {
for (Messages value : Messages.values()) {
Boolean enable = yamlConfiguration.getBoolean(value.msgEnablePath);
- String message = yamlConfiguration.getString(value.msgMsgPath);
+ Object message = yamlConfiguration.get(value.msgMsgPath);
Boolean soundEnable = yamlConfiguration.getBoolean(value.soundEnablePath);
Sound sound;
diff --git a/src/main/java/net/t2code/automatedMessages/messages/SendMessage.java b/src/main/java/net/t2code/automatedMessages/messages/SendMessage.java
index ebcadde..509186b 100644
--- a/src/main/java/net/t2code/automatedMessages/messages/SendMessage.java
+++ b/src/main/java/net/t2code/automatedMessages/messages/SendMessage.java
@@ -7,17 +7,44 @@ import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import java.text.SimpleDateFormat;
-import java.util.Calendar;
+import java.util.*;
public class SendMessage {
public static void send(Message message) {
String timeStamp = new SimpleDateFormat(Config.timeFormat.valueString).format(Calendar.getInstance().getTime());
- if (Config.sendConsole.valueBoolean) T2Csend.console(message.message.replace("[time]", timeStamp).replace("[prefix]",Config.prefix.valueString));
+ if (Config.sendConsole.valueBoolean) {
+ T2Csend.console(replace(message.message, Map.entry("[time]", timeStamp), Map.entry("[prefix]", Config.prefix.valueString)));
+ }
for (Player player : Bukkit.getOnlinePlayers()) {
- if (player.hasPermission(message.permission) || !message.permissionNeededToSeeMessage){
- T2Csend.player(player, message.message.replace("[time]", timeStamp).replace("[prefix]",Config.prefix.valueString).replace("[player]",player.getName()));
+ if (player.hasPermission(message.permission) || !message.permissionNeededToSeeMessage) {
+ T2Csend.player(player, replace(message.message, Map.entry("[time]", timeStamp), Map.entry("[prefix]", Config.prefix.valueString), Map.entry("[player]", player.getName())));
player.playSound(player.getLocation(), message.sound, 3, 1);
}
}
}
+
+ @SafeVarargs
+ private static Object replace(Object object, Map.Entry... map) {
+ Object o = null;
+ if (object instanceof List) {
+ ArrayList res = (ArrayList) object;
+ ArrayList out = new ArrayList<>();
+ for (String s : res) {
+ String re = s;
+ for (Map.Entry placeholder : map) {
+ re = re.replace(placeholder.getKey(), placeholder.getValue());
+ }
+ out.add(re);
+ }
+ o = out;
+ }
+ if (object instanceof String) {
+ String res = (String) object;
+ for (Map.Entry placeholder : map) {
+ res = res.replace(placeholder.getKey(), placeholder.getValue());
+ }
+ o = res;
+ }
+ return o;
+ }
}
diff --git a/src/main/java/net/t2code/automatedMessages/objects/Message.java b/src/main/java/net/t2code/automatedMessages/objects/Message.java
index 9054254..cee8044 100644
--- a/src/main/java/net/t2code/automatedMessages/objects/Message.java
+++ b/src/main/java/net/t2code/automatedMessages/objects/Message.java
@@ -9,7 +9,7 @@ public class Message {
public String key;
public Boolean enable;
- public String message;
+ public Object message;
public Boolean soundEnable;
public Sound sound;
@@ -25,7 +25,7 @@ public class Message {
public Message(String key,
Boolean enable,
- String message,
+ Object message,
Boolean soundEnable,
Sound sound,
Boolean permissionNeededToSeeMessage,