fixed time :3

This commit is contained in:
LunarAkai 2024-04-06 18:30:33 +02:00
commit 72f53f8aad
5 changed files with 38 additions and 32 deletions

View file

@ -6,7 +6,7 @@
<groupId>de.lunarakai</groupId> <groupId>de.lunarakai</groupId>
<artifactId>Minecleaner</artifactId> <artifactId>Minecleaner</artifactId>
<version>1.1.0</version> <version>1.1.1</version>
<packaging>jar</packaging> <packaging>jar</packaging>
<name>Minecleaner</name> <name>Minecleaner</name>

View file

@ -225,27 +225,6 @@ public class MinecleanerArena {
currentMinecleanerGame = new Game(plugin, BoardSize.boardSizesWidth[widthIndex], BoardSize.boardSizesHeight[widthIndex], BoardSize.mineCounter[widthIndex]); currentMinecleanerGame = new Game(plugin, BoardSize.boardSizesWidth[widthIndex], BoardSize.boardSizesHeight[widthIndex], BoardSize.mineCounter[widthIndex]);
currentMinecleanerGame.start(); currentMinecleanerGame.start();
showTextDisplay(); 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(); removeStartHeads();
ingameTime = 0; ingameTime = 0;
@ -253,6 +232,21 @@ public class MinecleanerArena {
hasMadeFirstClick = false; hasMadeFirstClick = false;
arenaStatus = ArenaStatus.PLAYING; arenaStatus = ArenaStatus.PLAYING;
currentGameStartTime = System.currentTimeMillis(); 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) { public void addJoiningPlayer(Player player) {
@ -386,8 +380,7 @@ public class MinecleanerArena {
private void updateIngameInfoTexts() { private void updateIngameInfoTexts() {
String timer = ""; String timer = "";
if(plugin.getManager().getSettingsValue("timer", currentPlayer) != 0) { if(plugin.getManager().getSettingsValue("timer", currentPlayer) != 0) {
ingameTime += 1; timer = ChatColor.GOLD + " Zeit: " + MinecleanerStringUtil.timeToString((ingameTime/20)*1000, true) + " ";
timer = ChatColor.GOLD + " Zeit: " + MinecleanerStringUtil.timeToString((ingameTime/20)*1000) + " ";
} }
if (textDisplay != null) { if (textDisplay != null) {
@ -401,6 +394,7 @@ public class MinecleanerArena {
} }
textDisplay.text(Component.text(component + newLine + timer + filler)); textDisplay.text(Component.text(component + newLine + timer + filler));
} }
if(plugin.getManager().getSettingsValue("additionaldisplay", currentPlayer) != 0) { if(plugin.getManager().getSettingsValue("additionaldisplay", currentPlayer) != 0) {
String componentActionBar = ChatColor.GREEN + "Flaggen gesetzt: " + flagsPlaced + ChatColor.RED + " Minen insgesamt: " + BoardSize.mineCounter[widthIndex]; String componentActionBar = ChatColor.GREEN + "Flaggen gesetzt: " + flagsPlaced + ChatColor.RED + " Minen insgesamt: " + BoardSize.mineCounter[widthIndex];
currentPlayer.sendActionBar(Component.text(componentActionBar + " " + timer)); currentPlayer.sendActionBar(Component.text(componentActionBar + " " + timer));

View file

@ -184,9 +184,9 @@ public class MinecleanerManager {
if(sg != null) { if(sg != null) {
ps.minScore(sg, millis, isUpdated -> { ps.minScore(sg, millis, isUpdated -> {
if(isUpdated != null && 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 { } 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!");
} }
}); });
} }

View file

@ -71,8 +71,8 @@ public class StatsCommand extends SubCommand {
sender.sendMessage(ChatColor.BLUE + " Dieser Monat: " + ChatColor.GREEN + totalWonMonth + " von " + totalSizeMonth + " (" + MinecleanerStringUtil.percentageString(totalWonMonth, totalSizeMonth)+ ")"); sender.sendMessage(ChatColor.BLUE + " Dieser Monat: " + ChatColor.GREEN + totalWonMonth + " von " + totalSizeMonth + " (" + MinecleanerStringUtil.percentageString(totalWonMonth, totalSizeMonth)+ ")");
Integer time = data.getBestTime(e.getKey()); Integer time = data.getBestTime(e.getKey());
Integer timeThisMonth = data.getBestTimeThisMonth(e.getKey()); Integer timeThisMonth = data.getBestTimeThisMonth(e.getKey());
sender.sendMessage(ChatColor.BLUE + " Bestzeit: " + ChatColor.GREEN + (time == null ? "-" : MinecleanerStringUtil.timeToString(time))); 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))); sender.sendMessage(ChatColor.BLUE + " Dieser Monat: " + ChatColor.GREEN + (timeThisMonth == null ? "-" : MinecleanerStringUtil.timeToString(timeThisMonth, false)));
} }
} }
} }

View file

@ -4,7 +4,7 @@ public class MinecleanerStringUtil {
private MinecleanerStringUtil() { private MinecleanerStringUtil() {
} }
public static String timeToString(long millis) { public static String timeToString(long millis, boolean shorten) {
int sec = (int) (millis / 1000); int sec = (int) (millis / 1000);
int min = sec / 60; int min = sec / 60;
int hours = min / 60; int hours = min / 60;
@ -12,19 +12,31 @@ public class MinecleanerStringUtil {
min = min % 60; min = min % 60;
StringBuilder timeString = new StringBuilder(); StringBuilder timeString = new StringBuilder();
if (hours > 0) { 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 (min > 0 || !timeString.isEmpty()) {
if (!timeString.isEmpty()) { if (!timeString.isEmpty()) {
timeString.append(", "); 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 (sec > 0 || !timeString.isEmpty()) {
if (!timeString.isEmpty()) { if (!timeString.isEmpty()) {
timeString.append(" und "); timeString.append(" und ");
} }
timeString.append(sec).append(" Sekunden"); String secondsString = " Sekunden";
if(shorten) {
secondsString = " s";
}
timeString.append(sec).append(secondsString);
} }
return timeString.toString(); return timeString.toString();
} }