Skip to content

Commit 1c923a9

Browse files
committed
update use textComponents, since we rely on paper anyway
1 parent c63344a commit 1c923a9

File tree

3 files changed

+38
-18
lines changed

3 files changed

+38
-18
lines changed

pom.xml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,12 @@
5959
<version>6.5.1.RELEASE</version>
6060
<scope>compile</scope>
6161
</dependency>
62+
<dependency>
63+
<groupId>de.themoep</groupId>
64+
<artifactId>minedown-adventure</artifactId>
65+
<version>1.7.1-SNAPSHOT</version>
66+
<scope>compile</scope>
67+
</dependency>
6268
</dependencies>
6369

6470
<profiles>
@@ -130,6 +136,10 @@
130136
<pattern>org.reactivestreams</pattern>
131137
<shadedPattern>de.minebench.syncinv.lib.reactivestreams</shadedPattern>
132138
</relocation>
139+
<relocation>
140+
<pattern>de.themoep.minedown</pattern>
141+
<shadedPattern>de.minebench.syncinv.lib.minedown</shadedPattern>
142+
</relocation>
133143
</relocations>
134144
</configuration>
135145
</execution>

src/main/java/de/minebench/syncinv/SyncInv.java

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,9 @@
1616
import de.minebench.syncinv.messenger.PlayerDataQuery;
1717
import de.minebench.syncinv.messenger.RedisMessenger;
1818
import de.minebench.syncinv.messenger.ServerMessenger;
19+
import de.themoep.minedown.adventure.MineDown;
1920
import lombok.Getter;
20-
import org.bukkit.ChatColor;
21+
import net.kyori.adventure.text.Component;
2122
import org.bukkit.GameRule;
2223
import org.bukkit.Location;
2324
import org.bukkit.Material;
@@ -232,16 +233,15 @@ public void onEnable() {
232233
if (query.getYoungestServer() == null) {
233234
openInvCommand.onCommand(sender, command, label, args);
234235
} else {
235-
sender.sendMessage(ChatColor.RED + "Current server does not have newest player data! "
236-
+ ChatColor.GRAY + "Connecting to server " + query.getYoungestServer() + " which has the newest data...");
236+
sender.sendMessage(getLang("stale-player-data", "server", query.getYoungestServer()));
237237
connectToServer(((Player) sender).getUniqueId(), query.getYoungestServer());
238238
}
239239
});
240240
if (q == null) {
241-
sender.sendMessage(ChatColor.RED + "Could not query information from other servers! Take a look at the log for more details.");
241+
sender.sendMessage(getLang("query-error"));
242242
}
243243
} else {
244-
sender.sendMessage(ChatColor.RED + "Player not found!");
244+
sender.sendMessage(getLang("player-not-found"));
245245
}
246246
});
247247
return true;
@@ -293,8 +293,11 @@ public void onDisable() {
293293
}
294294

295295
public void loadConfig() {
296-
saveDefaultConfig();
297-
reloadConfig();
296+
reloadConfig(); // load working config
297+
298+
// save newly added config options to disk
299+
getConfig().options().copyDefaults(true);
300+
saveConfig();
298301

299302
debug = getConfig().getBoolean("debug");
300303

@@ -411,11 +414,11 @@ && getConfig().contains("sync-" + syncType.getKey(), true)) {
411414
}
412415
}
413416

414-
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
417+
public boolean onCommand(CommandSender sender, Command cmd, String label, String [] args) {
415418
if (args.length > 0) {
416419
if ("reload".equalsIgnoreCase(args[0]) && sender.hasPermission("syncing.command.reload")) {
417420
loadConfig();
418-
sender.sendMessage(ChatColor.YELLOW + "Config reloaded!");
421+
sender.sendMessage(getLang("config-reloaded"));
419422
return true;
420423
}
421424
}
@@ -424,16 +427,19 @@ public boolean onCommand(CommandSender sender, Command cmd, String label, String
424427

425428
/**
426429
* Get a language message from the config and replace variables in it
427-
* @param key The key of the message (lang.<key>)
428-
* @param replacements An array of variables to be replaced with certain strings in the format [var,repl,var,repl,...]
430+
* @param key The key of the message (lang.<key>)
431+
* @param replacements An array of String to replace placeholders (uses the % character as placeholder indicators)
432+
* in format of [placeholder, repl, placeholder,repl,...]
429433
* @return The message string with colorcodes and variables replaced
430434
*/
431-
public String getLang(String key, String... replacements) {
432-
String msg = ChatColor.translateAlternateColorCodes('&', getConfig().getString("lang." + key, getName() + ": &cMissing language key &6" + key));
433-
for (int i = 0; i + 1 < replacements.length; i += 2) {
434-
msg = msg.replace("%" + replacements[i] + "%", replacements[i+1]);
435+
public Component getLang(String key, String... replacements) {
436+
String rawMsg = getConfig().getString("lang." + key); // use default defined by config (values from the config in jar)
437+
438+
if (rawMsg == null) { // key is missing
439+
return MineDown.parse(getName() + ": &cMissing language key &6" + key);
440+
} else {
441+
return MineDown.parse(rawMsg, replacements);
435442
}
436-
return msg;
437443
}
438444

439445
/**
@@ -1187,7 +1193,7 @@ public void kick(UUID playerId, String key) {
11871193
runSync(() -> {
11881194
Player player = getServer().getPlayer(playerId);
11891195
if (player != null) {
1190-
player.kickPlayer(getLang(key));
1196+
player.kick(getLang(key));
11911197
}
11921198
});
11931199
}

src/main/resources/config.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,4 +111,8 @@ lang:
111111
cant-drop-items: "&cYou can only drop items once your player data is loaded!"
112112
cant-move: "&cYou can only move once your player data is loaded!"
113113
wait-for-loading: "&cPlease wait until your player data is loaded!"
114-
cant-load-data: "&cSorry but the server wasn't able to load your latest player data.\nPlease contact an administrator if this happens often!"
114+
cant-load-data: "&cSorry but the server wasn't able to load your latest player data.\nPlease contact an administrator if this happens often!"
115+
config-reloaded: "&eConfig reloaded!"
116+
player-not-found: "&cPlayer not found!"
117+
query-error : "Could not query information from other servers! Take a look at the log for more details."
118+
stale-player-data : "&cCurrent server does not have newest player data! &7Connecting to server %server% which has the newest data..."

0 commit comments

Comments
 (0)