1616import de .minebench .syncinv .messenger .PlayerDataQuery ;
1717import de .minebench .syncinv .messenger .RedisMessenger ;
1818import de .minebench .syncinv .messenger .ServerMessenger ;
19+ import de .themoep .minedown .adventure .MineDown ;
1920import lombok .Getter ;
20- import org . bukkit . ChatColor ;
21+ import net . kyori . adventure . text . Component ;
2122import org .bukkit .GameRule ;
2223import org .bukkit .Location ;
2324import org .bukkit .Material ;
@@ -225,16 +226,15 @@ public void onEnable() {
225226 if (query .getYoungestServer () == null ) {
226227 openInvCommand .onCommand (sender , command , label , args );
227228 } else {
228- sender .sendMessage (ChatColor .RED + "Current server does not have newest player data! "
229- + ChatColor .GRAY + "Connecting to server " + query .getYoungestServer () + " which has the newest data..." );
229+ sender .sendMessage (getLang ("stale-player-data" , "server" , query .getYoungestServer ()));
230230 connectToServer (((Player ) sender ).getUniqueId (), query .getYoungestServer ());
231231 }
232232 });
233233 if (q == null ) {
234- sender .sendMessage (ChatColor . RED + "Could not query information from other servers! Take a look at the log for more details." );
234+ sender .sendMessage (getLang ( " query-error" ) );
235235 }
236236 } else {
237- sender .sendMessage (ChatColor . RED + "Player not found!" );
237+ sender .sendMessage (getLang ( "player- not- found" ) );
238238 }
239239 });
240240 return true ;
@@ -286,7 +286,7 @@ public void onDisable() {
286286 }
287287
288288 public void loadConfig () {
289- saveDefaultConfig ();
289+ getConfig (). options (). copyDefaults ( true ); // save newly added config options to disk
290290 reloadConfig ();
291291
292292 debug = getConfig ().getBoolean ("debug" );
@@ -388,11 +388,11 @@ && getConfig().contains("sync-" + syncType.getKey(), true)) {
388388 }
389389 }
390390
391- public boolean onCommand (CommandSender sender , Command cmd , String label , String [] args ) {
391+ public boolean onCommand (CommandSender sender , Command cmd , String label , String [] args ) {
392392 if (args .length > 0 ) {
393393 if ("reload" .equalsIgnoreCase (args [0 ]) && sender .hasPermission ("syncing.command.reload" )) {
394394 loadConfig ();
395- sender .sendMessage (ChatColor . YELLOW + "Config reloaded!" );
395+ sender .sendMessage (getLang ( "config- reloaded" ) );
396396 return true ;
397397 }
398398 }
@@ -401,16 +401,14 @@ public boolean onCommand(CommandSender sender, Command cmd, String label, String
401401
402402 /**
403403 * Get a language message from the config and replace variables in it
404- * @param key The key of the message (lang.<key>)
405- * @param replacements An array of variables to be replaced with certain strings in the format [var,repl,var,repl,...]
404+ * @param key The key of the message (lang.<key>)
405+ * @param replacements An array of String to replace placeholders (uses the % character as placeholder indicators)
406+ * in format of [placeholder, repl, placeholder,repl,...]
406407 * @return The message string with colorcodes and variables replaced
407408 */
408- public String getLang (String key , String ... replacements ) {
409- String msg = ChatColor .translateAlternateColorCodes ('&' , getConfig ().getString ("lang." + key , getName () + ": &cMissing language key &6" + key ));
410- for (int i = 0 ; i + 1 < replacements .length ; i += 2 ) {
411- msg = msg .replace ("%" + replacements [i ] + "%" , replacements [i +1 ]);
412- }
413- return msg ;
409+ public Component getLang (String key , String ... replacements ) {
410+ String rawMsg = getConfig ().getString ("lang." + key , getName () + ": &cMissing language key &6" + key );
411+ return MineDown .parse (rawMsg , replacements );
414412 }
415413
416414 /**
@@ -1132,7 +1130,7 @@ public void kick(UUID playerId, String key) {
11321130 runSync (() -> {
11331131 Player player = getServer ().getPlayer (playerId );
11341132 if (player != null ) {
1135- player .kickPlayer (getLang (key ));
1133+ player .kick (getLang (key ));
11361134 }
11371135 });
11381136 }
0 commit comments