SteamWar/FightSystem
Archiviert
13
1

First ranked (ranked saving still missing)

Signed-off-by: Lixfel <agga-games@gmx.de>
Dieser Commit ist enthalten in:
Lixfel 2020-07-07 17:56:35 +02:00
Ursprung 727129fe8e
Commit c1261a4fa2
5 geänderte Dateien mit 25 neuen und 5 gelöschten Zeilen

Datei anzeigen

@ -81,6 +81,7 @@ public class Config {
public static final String TeamChatDetection; public static final String TeamChatDetection;
public static final UUID BlueLeader; public static final UUID BlueLeader;
public static final UUID RedLeader; public static final UUID RedLeader;
public static final boolean Ranked;
//Active win conditions //Active win conditions
public static final boolean Timeout; public static final boolean Timeout;
@ -372,6 +373,7 @@ public class Config {
RedLeader = null; RedLeader = null;
CheckSchemID = Integer.parseInt(System.getProperty("checkSchemID", "0")); CheckSchemID = Integer.parseInt(System.getProperty("checkSchemID", "0"));
Ranked = Boolean.parseBoolean(System.getProperty("ranked", "false"));
} }
public static boolean event(){ public static boolean event(){

Datei anzeigen

@ -101,7 +101,7 @@ public class FightSystem extends JavaPlugin {
mainCountdown = new NoPlayersOnlineCountdown(); mainCountdown = new NoPlayersOnlineCountdown();
if(Config.event()) { if(Config.event() || Config.Ranked) {
Objects.requireNonNull(getCommand("invite")).setExecutor(new EventDummyCommand()); Objects.requireNonNull(getCommand("invite")).setExecutor(new EventDummyCommand());
Objects.requireNonNull(getCommand("ready")).setExecutor(new EventDummyCommand()); Objects.requireNonNull(getCommand("ready")).setExecutor(new EventDummyCommand());
Objects.requireNonNull(getCommand("ak")).setExecutor(new EventDummyCommand()); Objects.requireNonNull(getCommand("ak")).setExecutor(new EventDummyCommand());
@ -196,8 +196,6 @@ public class FightSystem extends JavaPlugin {
} }
public static void setSpectateState(FightTeam winFightTeam, String windescription) { public static void setSpectateState(FightTeam winFightTeam, String windescription) {
if(!fightState.ingame())
throw new SecurityException(fightState.name());
setFightState(FightState.SPECTATE); setFightState(FightState.SPECTATE);
setAllPlayersGM(GameMode.SPECTATOR); setAllPlayersGM(GameMode.SPECTATOR);
@ -222,6 +220,10 @@ public class FightSystem extends JavaPlugin {
getEventFight().setErgebnis(2); getEventFight().setErgebnis(2);
} }
if(Config.Ranked){
//TODO
}
if(!Config.test()){ if(!Config.test()){
new SpectateOverCountdown(); new SpectateOverCountdown();
FightStatistics.saveStats(winFightTeam, windescription); FightStatistics.saveStats(winFightTeam, windescription);

Datei anzeigen

@ -122,7 +122,7 @@ public class Fight {
return; return;
} }
if(Config.IgnorePublicOnly || Config.event()){ if(Config.IgnorePublicOnly || Config.event() || Config.Ranked){
schemRank = 1000; schemRank = 1000;
return; return;
} }

Datei anzeigen

@ -8,6 +8,7 @@ import de.steamwar.fightsystem.IFightSystem;
import de.steamwar.fightsystem.kit.KitManager; import de.steamwar.fightsystem.kit.KitManager;
import de.steamwar.fightsystem.states.FightState; import de.steamwar.fightsystem.states.FightState;
import de.steamwar.fightsystem.utils.*; import de.steamwar.fightsystem.utils.*;
import de.steamwar.fightsystem.winconditions.RankedPlayerLeftWincondition;
import de.steamwar.inventory.SWItem; import de.steamwar.inventory.SWItem;
import de.steamwar.sql.NoClipboardException; import de.steamwar.sql.NoClipboardException;
import de.steamwar.sql.PersonalKit; import de.steamwar.sql.PersonalKit;
@ -194,6 +195,8 @@ public class FightTeam implements IFightTeam{
if(!players.isEmpty()) { if(!players.isEmpty()) {
setLeader(players.iterator().next()); setLeader(players.iterator().next());
Bukkit.broadcastMessage(FightSystem.PREFIX + "§aDer Spieler §e" + this.leader.getPlayer().getName() + " §aist nun Leader von Team " + getColoredName() + "§a!"); Bukkit.broadcastMessage(FightSystem.PREFIX + "§aDer Spieler §e" + this.leader.getPlayer().getName() + " §aist nun Leader von Team " + getColoredName() + "§a!");
}else if(Config.Ranked){
RankedPlayerLeftWincondition.leaderQuit(this);
}else if(!Config.event()){ }else if(!Config.event()){
FightSystem.shutdown(FightSystem.PREFIX + "§cTeam " + getColoredName() + " §chat keine Spieler mehr.\n Arena schließt..."); FightSystem.shutdown(FightSystem.PREFIX + "§cTeam " + getColoredName() + " §chat keine Spieler mehr.\n Arena schließt...");
} }
@ -209,7 +212,7 @@ public class FightTeam implements IFightTeam{
else else
inventory.setItem(1, new ItemBuilder(Material.AIR).build()); inventory.setItem(1, new ItemBuilder(Material.AIR).build());
if(!Config.event()){ if(!Config.event() && !Config.Ranked){
inventory.setItem(2, new ItemBuilder(Material.PAPER).removeAllAttributs().setDisplayName("§eSpieler einladen").build()); inventory.setItem(2, new ItemBuilder(Material.PAPER).removeAllAttributs().setDisplayName("§eSpieler einladen").build());
inventory.setItem(3, new ItemBuilder(SWItem.getMaterial("FIREWORK_CHARGE")).removeAllAttributs().setDisplayName("§cSpieler rauswerfen").build()); inventory.setItem(3, new ItemBuilder(SWItem.getMaterial("FIREWORK_CHARGE")).removeAllAttributs().setDisplayName("§cSpieler rauswerfen").build());
} }

Datei anzeigen

@ -0,0 +1,13 @@
package de.steamwar.fightsystem.winconditions;
import de.steamwar.fightsystem.FightSystem;
import de.steamwar.fightsystem.fight.Fight;
import de.steamwar.fightsystem.fight.FightTeam;
public class RankedPlayerLeftWincondition {
private RankedPlayerLeftWincondition(){}
public static void leaderQuit(FightTeam leaderlessTeam){
FightSystem.setSpectateState(Fight.getOpposite(leaderlessTeam), "LeaderQuit");
}
}