Implement reset after win! #36
Keine Reviewer
Label
Kein Label
Bug
Codeverbesserung
Einsteiger Freundlich
Idee
In Arbeit
Neues Feature
Prio A
Security Breach
Überprüfung notwendig
Verbesserung
Zu Beobachten
Kein Meilenstein
Niemand zuständig
2 Beteiligte
Fällig am
Kein Fälligkeitsdatum gesetzt.
Abhängigkeiten
Keine Abhängigkeiten gesetzt.
Referenz: SteamWar/MissileWars#36
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren
Keine Beschreibung angegeben.
Branch "Arcade" löschen
Das Löschen eines Branches ist permanent. Obwohl der Branch für eine kurze Zeit weiter existieren könnte, kann diese Aktion in den meisten Fällen NICHT rückgängig gemacht werden. Fortfahren?
Add FightWorld
@ -0,0 +38,4 @@
private static final World world = Bukkit.getWorlds().get(0);
private static final boolean paper = Bukkit.getVersion().contains("git-Paper");
public static boolean isPaper(){
Alles Public oder was? (Betrifft auch nachfolgende Methoden)
@ -91,0 +93,4 @@
fightState = FightState.WAITING;
StateDependent.setupState(fightState);
redTeam = new MWTeam(ChatColor.RED, Config.RedSpawn, "Rot", Config.RedPortalZ);
Bin nicht ganz so ein Fan von der Reset-Methode, besser wäre eine reset-Funktion, welche einfach nur das nötige Zurücksetzt.
@ -51,0 +42,4 @@
private void restart(){
FightWorld.resetWorld();
MissileWars.waiting();
Bukkit.getOnlinePlayers().forEach(JoinListener::join);
Na das ist mal eine abentheuerliche Intendation.
@ -50,4 +51,17 @@ public class JoinListener extends BasicListener {
MissileWars.join(e.getPlayer());
}
public static void join(Player p) {
Codeduplication, bitte diese Methode im Event aufrufen.
@ -53,0 +56,4 @@
if (Config.RedLeader.equals(p.getUniqueId())) {
MissileWars.getRedTeam().join(p);
} else if (Config.BlueLeader.equals(p.getUniqueId())) {
MissileWars.getBlueTeam().join(p);
Problem hierbei: Wurde es mit einer Challenge gestartet und noch ein paar Spieler dazu eingeladen, dann fliegen die anderen Spieler raus (daher bevorzugt reset).
Weiteres Problem: leavt einer der beiden Leader, bleibt die Arena offen und es wird ewig auf diese eine Person gewartet.
Wie sollten wir das lösen?
Im FightSystem wird die Leaderbindung (jedes Team hat eine separate) nach Join jenes Leaders aufgehoben.