From 7858a87b6037924796c78689a6e873b2f9b24d64 Mon Sep 17 00:00:00 2001 From: Lixfel Date: Sun, 19 Jul 2020 15:53:10 +0200 Subject: [PATCH] Fix join listener Signed-off-by: Lixfel --- .../listener/NormalJoinListener.java | 2 +- .../listener/RankedJoinListener.java | 32 +++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 FightSystem_Main/src/de/steamwar/fightsystem/listener/RankedJoinListener.java diff --git a/FightSystem_Main/src/de/steamwar/fightsystem/listener/NormalJoinListener.java b/FightSystem_Main/src/de/steamwar/fightsystem/listener/NormalJoinListener.java index e2ffa52..27c01fd 100644 --- a/FightSystem_Main/src/de/steamwar/fightsystem/listener/NormalJoinListener.java +++ b/FightSystem_Main/src/de/steamwar/fightsystem/listener/NormalJoinListener.java @@ -14,7 +14,7 @@ import java.util.EnumSet; public class NormalJoinListener extends BasicListener { public NormalJoinListener() { - super(Config.event() || Config.test() ? EnumSet.noneOf(FightState.class) : EnumSet.of(FightState.PRE_LEADER_SETUP)); + super(Config.event() || Config.test() || Config.Ranked ? EnumSet.noneOf(FightState.class) : EnumSet.of(FightState.PRE_LEADER_SETUP)); } @EventHandler diff --git a/FightSystem_Main/src/de/steamwar/fightsystem/listener/RankedJoinListener.java b/FightSystem_Main/src/de/steamwar/fightsystem/listener/RankedJoinListener.java new file mode 100644 index 0000000..d760002 --- /dev/null +++ b/FightSystem_Main/src/de/steamwar/fightsystem/listener/RankedJoinListener.java @@ -0,0 +1,32 @@ +package de.steamwar.fightsystem.listener; + +import de.steamwar.fightsystem.Config; +import de.steamwar.fightsystem.fight.Fight; +import de.steamwar.fightsystem.fight.FightTeam; +import de.steamwar.fightsystem.states.FightState; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.player.PlayerJoinEvent; + +import java.util.EnumSet; + +public class RankedJoinListener extends BasicListener { + + public RankedJoinListener() { + super(!Config.event() && Config.Ranked ? EnumSet.of(FightState.PRE_SCHEM_SETUP) : EnumSet.noneOf(FightState.class)); + } + + @EventHandler + public void handlePlayerJoin(PlayerJoinEvent event) { + Player player = event.getPlayer(); + FightTeam fightTeam = Fight.getPlayerTeam(player); + + if (fightTeam == null) { + if(!player.getUniqueId().equals(Config.RedLeader) && Fight.getBlueTeam().canbeLeader(player)) { + Fight.getBlueTeam().setLeader(Fight.getBlueTeam().addMember(player)); + }else if(Fight.getRedTeam().canbeLeader(player)) { + Fight.getRedTeam().setLeader(Fight.getRedTeam().addMember(player)); + } + } + } +}