diff --git a/pom.xml b/pom.xml
index ba7fbc0..6b04810 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
de.lunarakai
Minecleaner
- 1.1.0
+ 1.1.1
jar
Minecleaner
diff --git a/src/main/java/de/lunarakai/minecleaner/MinecleanerArena.java b/src/main/java/de/lunarakai/minecleaner/MinecleanerArena.java
index 89ce2f7..f37c358 100644
--- a/src/main/java/de/lunarakai/minecleaner/MinecleanerArena.java
+++ b/src/main/java/de/lunarakai/minecleaner/MinecleanerArena.java
@@ -225,27 +225,6 @@ public class MinecleanerArena {
currentMinecleanerGame = new Game(plugin, BoardSize.boardSizesWidth[widthIndex], BoardSize.boardSizesHeight[widthIndex], BoardSize.mineCounter[widthIndex]);
currentMinecleanerGame.start();
showTextDisplay();
- if(plugin.getManager().getSettingsValue("additionaldisplay", currentPlayer) != 0) {
- new BukkitRunnable() {
- @Override
- public void run() {
- if(arenaStatus == ArenaStatus.PLAYING && currentPlayer != null) {
- updateIngameInfoTexts();
- }
- }
- }.runTaskTimer(plugin, 20L, 20L);
- }
-
- if(plugin.getManager().getSettingsValue("timer", currentPlayer) != 0) {
- new BukkitRunnable() {
- @Override
- public void run() {
- if(arenaStatus == ArenaStatus.PLAYING && currentPlayer != null) {
- updateIngameInfoTexts();
- }
- }
- }.runTaskTimer(plugin, 1L, 1L);
- }
removeStartHeads();
ingameTime = 0;
@@ -253,6 +232,21 @@ public class MinecleanerArena {
hasMadeFirstClick = false;
arenaStatus = ArenaStatus.PLAYING;
currentGameStartTime = System.currentTimeMillis();
+
+ if((plugin.getManager().getSettingsValue("additionaldisplay", currentPlayer) != 0
+ || plugin.getManager().getSettingsValue("timer", currentPlayer) != 0) && arenaStatus == ArenaStatus.PLAYING) {
+ new BukkitRunnable() {
+ @Override
+ public void run() {
+ if(arenaStatus == ArenaStatus.PLAYING && currentPlayer != null) {
+ ingameTime++;
+ updateIngameInfoTexts();
+ } else {
+ cancel();
+ }
+ }
+ }.runTaskTimer(plugin, 1L, 1L);
+ }
}
public void addJoiningPlayer(Player player) {
@@ -386,8 +380,7 @@ public class MinecleanerArena {
private void updateIngameInfoTexts() {
String timer = "";
if(plugin.getManager().getSettingsValue("timer", currentPlayer) != 0) {
- ingameTime += 1;
- timer = ChatColor.GOLD + " Zeit: " + MinecleanerStringUtil.timeToString((ingameTime/20)*1000) + " ";
+ timer = ChatColor.GOLD + " Zeit: " + MinecleanerStringUtil.timeToString((ingameTime/20)*1000, true) + " ";
}
if (textDisplay != null) {
@@ -401,6 +394,7 @@ public class MinecleanerArena {
}
textDisplay.text(Component.text(component + newLine + timer + filler));
}
+
if(plugin.getManager().getSettingsValue("additionaldisplay", currentPlayer) != 0) {
String componentActionBar = ChatColor.GREEN + "Flaggen gesetzt: " + flagsPlaced + ChatColor.RED + " Minen insgesamt: " + BoardSize.mineCounter[widthIndex];
currentPlayer.sendActionBar(Component.text(componentActionBar + " " + timer));
diff --git a/src/main/java/de/lunarakai/minecleaner/MinecleanerManager.java b/src/main/java/de/lunarakai/minecleaner/MinecleanerManager.java
index 2ac61c9..6ba5610 100644
--- a/src/main/java/de/lunarakai/minecleaner/MinecleanerManager.java
+++ b/src/main/java/de/lunarakai/minecleaner/MinecleanerManager.java
@@ -184,9 +184,9 @@ public class MinecleanerManager {
if(sg != null) {
ps.minScore(sg, millis, isUpdated -> {
if(isUpdated != null && isUpdated) {
- player.sendMessage(ChatColor.GOLD + "Herzlichen Glückwunsch! Du hast eine neue Bestzeit erreicht! " + ChatColor.RED + MinecleanerStringUtil.timeToString(millis) );
+ player.sendMessage(ChatColor.GOLD + "Herzlichen Glückwunsch! Du hast eine neue Bestzeit erreicht! " + ChatColor.RED + MinecleanerStringUtil.timeToString(millis, false) );
} else {
- player.sendMessage(ChatColor.YELLOW + "Glückwunsch, du konntest das " + plugin.getDisplayedPluginName() + "-Feld in " + ChatColor.RED + MinecleanerStringUtil.timeToString(millis) + ChatColor.YELLOW + " erfolgreich lösen!");
+ player.sendMessage(ChatColor.YELLOW + "Glückwunsch, du konntest das " + plugin.getDisplayedPluginName() + "-Feld in " + ChatColor.RED + MinecleanerStringUtil.timeToString(millis, false) + ChatColor.YELLOW + " erfolgreich lösen!");
}
});
}
diff --git a/src/main/java/de/lunarakai/minecleaner/commands/StatsCommand.java b/src/main/java/de/lunarakai/minecleaner/commands/StatsCommand.java
index f87c3a8..ab2e3b4 100644
--- a/src/main/java/de/lunarakai/minecleaner/commands/StatsCommand.java
+++ b/src/main/java/de/lunarakai/minecleaner/commands/StatsCommand.java
@@ -71,8 +71,8 @@ public class StatsCommand extends SubCommand {
sender.sendMessage(ChatColor.BLUE + " Dieser Monat: " + ChatColor.GREEN + totalWonMonth + " von " + totalSizeMonth + " (" + MinecleanerStringUtil.percentageString(totalWonMonth, totalSizeMonth)+ ")");
Integer time = data.getBestTime(e.getKey());
Integer timeThisMonth = data.getBestTimeThisMonth(e.getKey());
- sender.sendMessage(ChatColor.BLUE + " Bestzeit: " + ChatColor.GREEN + (time == null ? "-" : MinecleanerStringUtil.timeToString(time)));
- sender.sendMessage(ChatColor.BLUE + " Dieser Monat: " + ChatColor.GREEN + (timeThisMonth == null ? "-" : MinecleanerStringUtil.timeToString(timeThisMonth)));
+ sender.sendMessage(ChatColor.BLUE + " Bestzeit: " + ChatColor.GREEN + (time == null ? "-" : MinecleanerStringUtil.timeToString(time, false)));
+ sender.sendMessage(ChatColor.BLUE + " Dieser Monat: " + ChatColor.GREEN + (timeThisMonth == null ? "-" : MinecleanerStringUtil.timeToString(timeThisMonth, false)));
}
}
}
diff --git a/src/main/java/de/lunarakai/minecleaner/utils/MinecleanerStringUtil.java b/src/main/java/de/lunarakai/minecleaner/utils/MinecleanerStringUtil.java
index e0e307a..7693f80 100644
--- a/src/main/java/de/lunarakai/minecleaner/utils/MinecleanerStringUtil.java
+++ b/src/main/java/de/lunarakai/minecleaner/utils/MinecleanerStringUtil.java
@@ -4,7 +4,7 @@ public class MinecleanerStringUtil {
private MinecleanerStringUtil() {
}
- public static String timeToString(long millis) {
+ public static String timeToString(long millis, boolean shorten) {
int sec = (int) (millis / 1000);
int min = sec / 60;
int hours = min / 60;
@@ -12,19 +12,31 @@ public class MinecleanerStringUtil {
min = min % 60;
StringBuilder timeString = new StringBuilder();
if (hours > 0) {
- timeString.append(hours).append(" Stunden");
+ String hoursString = " Stunden";
+ if(shorten) {
+ hoursString = " h";
+ }
+ timeString.append(hours).append(hoursString);
}
if (min > 0 || !timeString.isEmpty()) {
if (!timeString.isEmpty()) {
timeString.append(", ");
}
- timeString.append(min).append(" Minuten");
+ String minString = " Minuten";
+ if(shorten) {
+ minString = " min";
+ }
+ timeString.append(min).append(minString);
}
if (sec > 0 || !timeString.isEmpty()) {
if (!timeString.isEmpty()) {
timeString.append(" und ");
}
- timeString.append(sec).append(" Sekunden");
+ String secondsString = " Sekunden";
+ if(shorten) {
+ secondsString = " s";
+ }
+ timeString.append(sec).append(secondsString);
}
return timeString.toString();
}