From e9e01febd101a754fd0f3fe1160f6f0fb323cc7d Mon Sep 17 00:00:00 2001 From: Lixfel Date: Fri, 14 Jan 2022 18:08:59 +0100 Subject: [PATCH] Fix some replay bugs Signed-off-by: Lixfel --- .../fightsystem/countdown/SpectateOverCountdown.java | 2 +- .../steamwar/fightsystem/record/PacketProcessor.java | 8 +------- .../src/de/steamwar/fightsystem/record/REntity.java | 11 ++++++++++- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/FightSystem_Core/src/de/steamwar/fightsystem/countdown/SpectateOverCountdown.java b/FightSystem_Core/src/de/steamwar/fightsystem/countdown/SpectateOverCountdown.java index 67bcfb3..0290647 100644 --- a/FightSystem_Core/src/de/steamwar/fightsystem/countdown/SpectateOverCountdown.java +++ b/FightSystem_Core/src/de/steamwar/fightsystem/countdown/SpectateOverCountdown.java @@ -31,7 +31,7 @@ public class SpectateOverCountdown extends Countdown { public SpectateOverCountdown() { super(Config.SpectatorDuration, new Message("SPECTATE_COUNTDOWN"), SWSound.BLOCK_NOTE_PLING, false); - new StateDependentCountdown(ArenaMode.Restartable, FightState.Spectate, this); + new StateDependentCountdown(ArenaMode.Restartable.contains(Config.mode) || Config.replayserver(), FightState.Spectate, this); } @Override diff --git a/FightSystem_Core/src/de/steamwar/fightsystem/record/PacketProcessor.java b/FightSystem_Core/src/de/steamwar/fightsystem/record/PacketProcessor.java index 84e07fb..a4aad6b 100644 --- a/FightSystem_Core/src/de/steamwar/fightsystem/record/PacketProcessor.java +++ b/FightSystem_Core/src/de/steamwar/fightsystem/record/PacketProcessor.java @@ -21,11 +21,9 @@ package de.steamwar.fightsystem.record; import com.sk89q.worldedit.extent.clipboard.Clipboard; import de.steamwar.core.Core; -import de.steamwar.fightsystem.ArenaMode; import de.steamwar.fightsystem.Config; import de.steamwar.fightsystem.FightSystem; import de.steamwar.fightsystem.countdown.Countdown; -import de.steamwar.fightsystem.countdown.EventSpectateCountdown; import de.steamwar.fightsystem.fight.Fight; import de.steamwar.fightsystem.fight.FightTeam; import de.steamwar.fightsystem.fight.FreezeWorld; @@ -463,17 +461,13 @@ public class PacketProcessor { p.resetTitle(); WorldOfColorWrapper.impl.sendTitle(p, title, subtitle, 5, 40, 5); }); - if(Config.replayserver() || ArenaMode.AntiReplay.contains(Config.mode)) { - FightState.setFightState(FightState.SPECTATE); - }else{ - new EventSpectateCountdown().enable(); - } } private void endReplay() { REntity.dieAll(); freezer.disable(); FightSystem.getMessage().broadcast("REPLAY_ENDS"); + FightState.setFightState(FightState.SPECTATE); replaying = false; } diff --git a/FightSystem_Core/src/de/steamwar/fightsystem/record/REntity.java b/FightSystem_Core/src/de/steamwar/fightsystem/record/REntity.java index 8466333..2523cf0 100644 --- a/FightSystem_Core/src/de/steamwar/fightsystem/record/REntity.java +++ b/FightSystem_Core/src/de/steamwar/fightsystem/record/REntity.java @@ -23,6 +23,7 @@ import com.comphenix.tinyprotocol.Reflection; import com.comphenix.tinyprotocol.TinyProtocol; import com.mojang.authlib.GameProfile; import de.steamwar.core.Core; +import de.steamwar.fightsystem.FightSystem; import de.steamwar.fightsystem.fight.Fight; import de.steamwar.fightsystem.listener.FightScoreboard; import de.steamwar.fightsystem.utils.BlockIdWrapper; @@ -39,6 +40,7 @@ import org.bukkit.scoreboard.NameTagVisibility; import org.bukkit.scoreboard.Team; import java.util.*; +import java.util.logging.Level; public class REntity { @@ -133,7 +135,14 @@ public class REntity { this.entityType = EntityType.PLAYER; this.entityId = entityCount--; - SteamwarUser user = SteamwarUser.get(userId); + SteamwarUser user; + try { + user = SteamwarUser.get(userId); + } catch (SecurityException e) { + FightSystem.getPlugin().getLogger().log(Level.SEVERE, "Could not load user " + userId); + throw e; + } + this.uuid = user.getUUID(); this.name = user.getUserName(); entities.put(internalId, this);