mirror of
https://github.com/SunNetservers/MiniGames.git
synced 2024-12-05 00:43:15 +01:00
Improves display of time records
This commit is contained in:
parent
c8fbdec64f
commit
d7e950c53e
6
pom.xml
6
pom.xml
@ -105,12 +105,6 @@
|
|||||||
<version>24.0.1</version>
|
<version>24.0.1</version>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
|
||||||
<groupId>org.junit.jupiter</groupId>
|
|
||||||
<artifactId>junit-jupiter</artifactId>
|
|
||||||
<version>5.9.2</version>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>me.clip</groupId>
|
<groupId>me.clip</groupId>
|
||||||
<artifactId>placeholderapi</artifactId>
|
<artifactId>placeholderapi</artifactId>
|
||||||
|
@ -104,7 +104,7 @@ public abstract class AbstractArenaPlayerRegistry<K extends Arena> implements Ar
|
|||||||
for (PlayerEntryState entryState : entryStates) {
|
for (PlayerEntryState entryState : entryStates) {
|
||||||
this.entryStates.put(entryState.getPlayerId(), entryState);
|
this.entryStates.put(entryState.getPlayerId(), entryState);
|
||||||
}
|
}
|
||||||
if (this.entryStates.size() > 0) {
|
if (!this.entryStates.isEmpty()) {
|
||||||
MiniGames.log(Level.WARNING, entryStates.size() + " un-exited sessions found. This happens if " +
|
MiniGames.log(Level.WARNING, entryStates.size() + " un-exited sessions found. This happens if " +
|
||||||
"players leave in the middle of a game, or if the server crashes. MiniGames will do its best " +
|
"players leave in the middle of a game, or if the server crashes. MiniGames will do its best " +
|
||||||
"to fix the players' states.");
|
"to fix the players' states.");
|
||||||
|
@ -44,6 +44,13 @@ public abstract class ArenaRecord<K extends Comparable<K>> implements Comparable
|
|||||||
return record;
|
return record;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets this as a string that should be printed on a sign
|
||||||
|
*
|
||||||
|
* @return <p>This as a string</p>
|
||||||
|
*/
|
||||||
|
public abstract String getAsString();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean equals(Object other) {
|
public boolean equals(Object other) {
|
||||||
return other instanceof ArenaRecord<?> && userId.equals(((ArenaRecord<?>) other).userId);
|
return other instanceof ArenaRecord<?> && userId.equals(((ArenaRecord<?>) other).userId);
|
||||||
|
@ -19,6 +19,11 @@ public class IntegerRecord extends SummableArenaRecord<Integer> {
|
|||||||
super(userId, record);
|
super(userId, record);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getAsString() {
|
||||||
|
return String.valueOf(this.getRecord());
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SummableArenaRecord<Integer> sum(Integer value) {
|
public SummableArenaRecord<Integer> sum(Integer value) {
|
||||||
return new IntegerRecord(this.getUserId(), this.getRecord() + value);
|
return new IntegerRecord(this.getUserId(), this.getRecord() + value);
|
||||||
|
@ -7,7 +7,7 @@ import java.util.Map;
|
|||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A record storing a Long
|
* A record storing a Long time
|
||||||
*/
|
*/
|
||||||
public class LongRecord extends SummableArenaRecord<Long> {
|
public class LongRecord extends SummableArenaRecord<Long> {
|
||||||
|
|
||||||
@ -29,6 +29,22 @@ public class LongRecord extends SummableArenaRecord<Long> {
|
|||||||
return new LongRecord(this.getUserId(), this.getRecord() + value);
|
return new LongRecord(this.getUserId(), this.getRecord() + value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getAsString() {
|
||||||
|
int seconds = (int) Math.floor(getRecord() / 1000.0);
|
||||||
|
int minutes = 0;
|
||||||
|
if (seconds > 60) {
|
||||||
|
minutes = (int) Math.floor(seconds / 60.0);
|
||||||
|
seconds = seconds % 60;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (minutes > 0) {
|
||||||
|
return minutes + "m" + seconds + "s";
|
||||||
|
} else {
|
||||||
|
return seconds + "s";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Deserializes the saved arena record
|
* Deserializes the saved arena record
|
||||||
*
|
*
|
||||||
|
@ -313,8 +313,8 @@ public abstract class RecordExpansion extends PlaceholderExpansion {
|
|||||||
private String getRecordData(@NotNull InfoType infoType, @NotNull ArenaRecord<?> arenaRecord) {
|
private String getRecordData(@NotNull InfoType infoType, @NotNull ArenaRecord<?> arenaRecord) {
|
||||||
return switch (infoType) {
|
return switch (infoType) {
|
||||||
case PLAYER -> getPlayerName(arenaRecord.getUserId());
|
case PLAYER -> getPlayerName(arenaRecord.getUserId());
|
||||||
case VALUE -> arenaRecord.getRecord().toString();
|
case VALUE -> arenaRecord.getAsString();
|
||||||
case COMBINED -> getPlayerName(arenaRecord.getUserId()) + ": " + arenaRecord.getRecord().toString();
|
case COMBINED -> getPlayerName(arenaRecord.getUserId()) + ": " + arenaRecord.getAsString();
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -20,6 +20,7 @@ import org.bukkit.configuration.ConfigurationSection;
|
|||||||
import org.bukkit.configuration.file.YamlConfiguration;
|
import org.bukkit.configuration.file.YamlConfiguration;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
import org.yaml.snakeyaml.error.YAMLException;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
@ -249,9 +250,14 @@ public final class DropperArenaStorageHelper {
|
|||||||
* @return <p>The loaded arena data</p>
|
* @return <p>The loaded arena data</p>
|
||||||
*/
|
*/
|
||||||
private static @Nullable DropperArenaData loadDropperArenaData(@NotNull UUID arenaId) {
|
private static @Nullable DropperArenaData loadDropperArenaData(@NotNull UUID arenaId) {
|
||||||
|
try {
|
||||||
File arenaDataFile = getDropperArenaDataFile(arenaId);
|
File arenaDataFile = getDropperArenaDataFile(arenaId);
|
||||||
YamlConfiguration configuration = YamlConfiguration.loadConfiguration(arenaDataFile);
|
YamlConfiguration configuration = YamlConfiguration.loadConfiguration(arenaDataFile);
|
||||||
return (DropperArenaData) configuration.get(DropperArenaStorageKey.DATA.getKey());
|
return (DropperArenaData) configuration.get(DropperArenaStorageKey.DATA.getKey());
|
||||||
|
} catch (YAMLException exception) {
|
||||||
|
MiniGames.log(Level.SEVERE, "Unable to load arena data from arena " + arenaId);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user