mirror of
				https://github.com/SunNetservers/MiniGames.git
				synced 2025-11-04 03:33:47 +01:00 
			
		
		
		
	Improves display of time records
This commit is contained in:
		
							
								
								
									
										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;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user