Improves messages #16

This commit is contained in:
2023-04-18 17:25:10 +02:00
parent 58e25bcb30
commit e6bb324da1
37 changed files with 335 additions and 117 deletions

View File

@@ -170,7 +170,7 @@ public abstract class ArenaHandler<K extends Arena, S extends ArenaGroup<K, S>>
*/
public void removeArena(@NotNull K arena) {
UUID arenaId = arena.getArenaId();
this.playerRegistry.removeForArena(arena);
this.playerRegistry.removeForArena(arena, false);
this.arenas.remove(arenaId);
this.arenaNameLookup.remove(arena.getArenaNameSanitized());
this.arenaGroups.remove(arenaId);

View File

@@ -10,8 +10,9 @@ public interface ArenaPlayerRegistry<K extends Arena> {
/**
* Removes all active sessions for the given arena
*
* @param arena <p>The arena to remove sessions for</p>
* @param arena <p>The arena to remove sessions for</p>
* @param immediately <p>Whether to immediately teleport the player</p>
*/
void removeForArena(K arena);
void removeForArena(K arena, boolean immediately);
}

View File

@@ -2,6 +2,7 @@ package net.knarcraft.minigames.arena.dropper;
import net.knarcraft.minigames.MiniGames;
import net.knarcraft.minigames.arena.ArenaHandler;
import net.knarcraft.minigames.config.Message;
import net.knarcraft.minigames.util.DropperArenaStorageHelper;
import java.io.IOException;
@@ -31,8 +32,7 @@ public class DropperArenaHandler extends ArenaHandler<DropperArena, DropperArena
try {
DropperArenaStorageHelper.saveDropperArenaGroups(new HashSet<>(this.arenaGroups.values()));
} catch (IOException e) {
MiniGames.log(Level.SEVERE, "Unable to save current arena groups! " +
"Data loss can occur!");
MiniGames.log(Level.SEVERE, Message.ERROR_CANNOT_SAVE_ARENA_GROUPS.getMessage());
MiniGames.log(Level.SEVERE, e.getMessage());
}
}

View File

@@ -44,16 +44,12 @@ public class DropperArenaPlayerRegistry implements ArenaPlayerRegistry<DropperAr
return this.arenaPlayers.getOrDefault(playerId, null);
}
/**
* Removes all active sessions for the given arena
*
* @param arena <p>The arena to remove sessions for</p>
*/
public void removeForArena(DropperArena arena) {
@Override
public void removeForArena(DropperArena arena, boolean immediately) {
for (Map.Entry<UUID, DropperArenaSession> entry : this.arenaPlayers.entrySet()) {
if (entry.getValue().getArena() == arena) {
// Kick the player gracefully
entry.getValue().triggerQuit(false);
entry.getValue().triggerQuit(immediately);
this.arenaPlayers.remove(entry.getKey());
}
}

View File

@@ -5,6 +5,7 @@ import net.knarcraft.minigames.arena.ArenaRecordsRegistry;
import net.knarcraft.minigames.arena.ArenaSession;
import net.knarcraft.minigames.arena.PlayerEntryState;
import net.knarcraft.minigames.config.DropperConfiguration;
import net.knarcraft.minigames.config.Message;
import net.knarcraft.minigames.property.RecordResult;
import net.knarcraft.minigames.util.PlayerTeleporter;
import org.bukkit.Location;
@@ -84,9 +85,9 @@ public class DropperArenaSession implements ArenaSession {
// Mark the arena as cleared
if (this.arena.getData().setCompleted(this.gameMode, this.player)) {
this.player.sendMessage("You cleared the arena!");
this.player.sendMessage(Message.SUCCESS_ARENA_FIRST_CLEAR.getMessage());
}
this.player.sendMessage("You won!");
this.player.sendMessage(Message.SUCCESS_ARENA_WIN.getMessage());
// Teleport the player out of the arena
teleportToExit(false);
@@ -178,7 +179,7 @@ public class DropperArenaSession implements ArenaSession {
// Teleport the player out of the arena
teleportToExit(immediately);
player.sendMessage("You quit the arena!");
player.sendMessage(Message.SUCCESS_ARENA_QUIT.getMessage());
}
/**

View File

@@ -2,6 +2,7 @@ package net.knarcraft.minigames.arena.parkour;
import net.knarcraft.minigames.MiniGames;
import net.knarcraft.minigames.arena.ArenaHandler;
import net.knarcraft.minigames.config.Message;
import net.knarcraft.minigames.util.ParkourArenaStorageHelper;
import java.io.IOException;
@@ -31,8 +32,7 @@ public class ParkourArenaHandler extends ArenaHandler<ParkourArena, ParkourArena
try {
ParkourArenaStorageHelper.saveParkourArenaGroups(new HashSet<>(this.arenaGroups.values()));
} catch (IOException e) {
MiniGames.log(Level.SEVERE, "Unable to save current arena groups! " +
"Data loss can occur!");
MiniGames.log(Level.SEVERE, Message.ERROR_CANNOT_SAVE_ARENA_GROUPS.getMessage());
MiniGames.log(Level.SEVERE, e.getMessage());
}
}

View File

@@ -44,16 +44,12 @@ public class ParkourArenaPlayerRegistry implements ArenaPlayerRegistry<ParkourAr
return this.arenaPlayers.getOrDefault(playerId, null);
}
/**
* Removes all active sessions for the given arena
*
* @param arena <p>The arena to remove sessions for</p>
*/
public void removeForArena(ParkourArena arena) {
@Override
public void removeForArena(ParkourArena arena, boolean immediately) {
for (Map.Entry<UUID, ParkourArenaSession> entry : this.arenaPlayers.entrySet()) {
if (entry.getValue().getArena() == arena) {
// Kick the player gracefully
entry.getValue().triggerQuit(false);
entry.getValue().triggerQuit(immediately);
this.arenaPlayers.remove(entry.getKey());
}
}

View File

@@ -5,6 +5,7 @@ import net.knarcraft.minigames.arena.ArenaGameMode;
import net.knarcraft.minigames.arena.ArenaRecordsRegistry;
import net.knarcraft.minigames.arena.ArenaSession;
import net.knarcraft.minigames.arena.PlayerEntryState;
import net.knarcraft.minigames.config.Message;
import net.knarcraft.minigames.config.ParkourConfiguration;
import net.knarcraft.minigames.property.RecordResult;
import net.knarcraft.minigames.util.PlayerTeleporter;
@@ -99,9 +100,9 @@ public class ParkourArenaSession implements ArenaSession {
// Mark the arena as cleared
if (this.arena.getData().setCompleted(this.gameMode, this.player)) {
this.player.sendMessage("You cleared the arena!");
this.player.sendMessage(Message.SUCCESS_ARENA_FIRST_CLEAR.getMessage());
}
this.player.sendMessage("You won!");
this.player.sendMessage(Message.SUCCESS_ARENA_WIN.getMessage());
// Teleport the player out of the arena
teleportToExit(false);
@@ -188,7 +189,7 @@ public class ParkourArenaSession implements ArenaSession {
// Teleport the player out of the arena
teleportToExit(immediately);
player.sendMessage("You quit the arena!");
player.sendMessage(Message.SUCCESS_ARENA_QUIT.getMessage());
}
/**