From 766aaa3bcbd052ca7a2ede08ae406460cf53cdcf Mon Sep 17 00:00:00 2001 From: Lixfel Date: Wed, 14 Apr 2021 20:45:57 +0200 Subject: [PATCH 1/3] Fix tablist Signed-off-by: Lixfel --- FightSystem_API/src/de/steamwar/fightsystem/ArenaMode.java | 1 + .../src/de/steamwar/fightsystem/fight/FightTeam.java | 4 ++-- .../src/de/steamwar/fightsystem/listener/Permanent.java | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/FightSystem_API/src/de/steamwar/fightsystem/ArenaMode.java b/FightSystem_API/src/de/steamwar/fightsystem/ArenaMode.java index 577d794..70edcef 100644 --- a/FightSystem_API/src/de/steamwar/fightsystem/ArenaMode.java +++ b/FightSystem_API/src/de/steamwar/fightsystem/ArenaMode.java @@ -48,4 +48,5 @@ public enum ArenaMode { public static final Set Restartable = Collections.unmodifiableSet(EnumSet.of(NORMAL, RANKED)); public static final Set Fight = Collections.unmodifiableSet(EnumSet.of(NORMAL, RANKED, EVENT)); public static final Set SoloLeader = Collections.unmodifiableSet(EnumSet.of(TEST, CHECK, PREPARE)); + public static final Set NotOnBau = Collections.unmodifiableSet(EnumSet.complementOf(EnumSet.of(TEST, CHECK, PREPARE))); } diff --git a/FightSystem_Main/src/de/steamwar/fightsystem/fight/FightTeam.java b/FightSystem_Main/src/de/steamwar/fightsystem/fight/FightTeam.java index 9d3a9fb..26b8111 100644 --- a/FightSystem_Main/src/de/steamwar/fightsystem/fight/FightTeam.java +++ b/FightSystem_Main/src/de/steamwar/fightsystem/fight/FightTeam.java @@ -192,7 +192,7 @@ public class FightTeam implements IFightTeam{ if(Kit.getAvailableKits(false).size() > 1 || Config.PersonalKits) player.getInventory().setItem(1, new ItemBuilder(Material.LEATHER_CHESTPLATE).removeAllAttributs().addEnchantment(Enchantment.DURABILITY, 1).setDisplayName("§eKit wählen").build()); player.getInventory().setItem(7, new ItemBuilder(Material.BEACON).removeAllAttributs().setDisplayName("§eRespawn").build()); - if(!Config.test()) + if(ArenaMode.NotOnBau.contains(Config.mode)) Bukkit.getScheduler().runTaskLater(FightSystem.getPlugin(), () -> new TablistNamePacket(SteamwarUser.get(player.getUniqueId()).getId(), prefix + player.getName()).send(player), 5); RecordSystem.playerJoins(player); TechHider.reloadChunks(player, chunksToReload, false); @@ -217,7 +217,7 @@ public class FightTeam implements IFightTeam{ player.getInventory().clear(); if(player.isOnline()){ - if(!ArenaMode.Test.contains(Config.mode)) + if(ArenaMode.NotOnBau.contains(Config.mode)) new TablistNamePacket(SteamwarUser.get(player.getUniqueId()).getId(), "§7" + player.getName()).send(player); TechHider.reloadChunks(player, chunksToReload, true); } diff --git a/FightSystem_Main/src/de/steamwar/fightsystem/listener/Permanent.java b/FightSystem_Main/src/de/steamwar/fightsystem/listener/Permanent.java index 6d43df5..d57e883 100644 --- a/FightSystem_Main/src/de/steamwar/fightsystem/listener/Permanent.java +++ b/FightSystem_Main/src/de/steamwar/fightsystem/listener/Permanent.java @@ -78,7 +78,7 @@ public class Permanent implements Listener { if (fightTeam == null) { Fight.setPlayerGamemode(player, GameMode.SPECTATOR); player.teleport(Config.SpecSpawn); - if(!ArenaMode.Test.contains(Config.mode)) + if(ArenaMode.NotOnBau.contains(Config.mode)) Bukkit.getScheduler().runTaskLater(FightSystem.getPlugin(), () -> new TablistNamePacket(SteamwarUser.get(player.getUniqueId()).getId(), "§7" + player.getName()).send(player), 5); } } From 2aceb8d47598ebfa3b995dd8290da4745c2bc23d Mon Sep 17 00:00:00 2001 From: Lixfel Date: Sat, 17 Apr 2021 18:00:57 +0200 Subject: [PATCH 2/3] Kampfleiter /win command Signed-off-by: Lixfel --- .../de/steamwar/fightsystem/FightSystem.java | 1 + .../fightsystem/commands/WinCommand.java | 49 +++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 FightSystem_Main/src/de/steamwar/fightsystem/commands/WinCommand.java diff --git a/FightSystem_Main/src/de/steamwar/fightsystem/FightSystem.java b/FightSystem_Main/src/de/steamwar/fightsystem/FightSystem.java index 5458ae0..16a8072 100644 --- a/FightSystem_Main/src/de/steamwar/fightsystem/FightSystem.java +++ b/FightSystem_Main/src/de/steamwar/fightsystem/FightSystem.java @@ -125,6 +125,7 @@ public class FightSystem extends JavaPlugin { new LockschemCommand(); new StateCommand(); new SkipCommand(); + new WinCommand(); new OneShotStateDependent(ArenaMode.All, FightState.PreRunning, () -> Bukkit.broadcastMessage(PREFIX + "§aDer Kampf beginnt!")); new OneShotStateDependent(ArenaMode.All, FightState.Running, () -> Bukkit.broadcastMessage(PREFIX + "§aArena freigegeben!")); diff --git a/FightSystem_Main/src/de/steamwar/fightsystem/commands/WinCommand.java b/FightSystem_Main/src/de/steamwar/fightsystem/commands/WinCommand.java new file mode 100644 index 0000000..90aafa6 --- /dev/null +++ b/FightSystem_Main/src/de/steamwar/fightsystem/commands/WinCommand.java @@ -0,0 +1,49 @@ +package de.steamwar.fightsystem.commands; + +import de.steamwar.fightsystem.ArenaMode; +import de.steamwar.fightsystem.FightSystem; +import de.steamwar.fightsystem.fight.Fight; +import de.steamwar.fightsystem.states.FightState; +import de.steamwar.fightsystem.states.StateDependentCommand; +import org.bukkit.Bukkit; +import org.bukkit.command.Command; +import org.bukkit.command.CommandExecutor; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; + +public class WinCommand implements CommandExecutor { + + public WinCommand() { + new StateDependentCommand(ArenaMode.Event, FightState.Ingame, "win", this); + } + + @Override + public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { + if(!(sender instanceof Player)) { + return false; + } + Player p = (Player) sender; + + if (p != FightSystem.getEventLeiter()) { + p.sendMessage(FightSystem.PREFIX + "§cDu bist kein Kampfleiter!"); + return false; + } + + if(args.length == 0){ + p.sendMessage(FightSystem.PREFIX + "/win [Team or Tie]"); + return false; + } + + if(args[0].equalsIgnoreCase(Fight.getBlueTeam().getName())){ + Bukkit.broadcastMessage(FightSystem.PREFIX + "§cDer Kampfleiter hat den Kampf entschieden!"); + FightSystem.setSpectateState(Fight.getBlueTeam(), "Referee"); + }else if(args[0].equalsIgnoreCase(Fight.getRedTeam().getName())){ + Bukkit.broadcastMessage(FightSystem.PREFIX + "§cDer Kampfleiter hat den Kampf entschieden!"); + FightSystem.setSpectateState(Fight.getRedTeam(), "Referee"); + }else if(args[0].equalsIgnoreCase("tie")){ + Bukkit.broadcastMessage(FightSystem.PREFIX + "§cDer Kampfleiter hat den Kampf entschieden!"); + FightSystem.setSpectateState(null, "Referee"); + } + return false; + } +} From ad2a19770816829195b776dd971dcf00d5c2bf39 Mon Sep 17 00:00:00 2001 From: Lixfel Date: Sat, 17 Apr 2021 19:32:46 +0200 Subject: [PATCH 3/3] Hotfix Signed-off-by: Lixfel --- FightSystem_Main/src/plugin.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/FightSystem_Main/src/plugin.yml b/FightSystem_Main/src/plugin.yml index 0d4346a..eae2084 100644 --- a/FightSystem_Main/src/plugin.yml +++ b/FightSystem_Main/src/plugin.yml @@ -19,4 +19,5 @@ commands: leader: lockschem: state: - skip: \ No newline at end of file + skip: + win: \ No newline at end of file