SteamWar/MissileWars
Archiviert
13
0

Fix formatting issues
Alle Prüfungen waren erfolgreich
SteamWarCI Build successful

Dieser Commit ist enthalten in:
PsiRobot 2023-04-21 20:49:19 +00:00
Ursprung b17845b85c
Commit b38baa5b7b
8 geänderte Dateien mit 71 neuen und 270 gelöschten Zeilen

Datei anzeigen

@ -19,9 +19,10 @@
package de.steamwar.misslewars; package de.steamwar.misslewars;
import de.steamwar.misslewars.commands.CommandAcceptDecline; import de.steamwar.misslewars.commands.AcceptCommand;
import de.steamwar.misslewars.commands.CommandInvite; import de.steamwar.misslewars.commands.DeclineCommand;
import de.steamwar.misslewars.commands.CommandSpectate; import de.steamwar.misslewars.commands.InviteCommand;
import de.steamwar.misslewars.commands.SpectateCommand;
import de.steamwar.misslewars.countdowns.EndCountdown; import de.steamwar.misslewars.countdowns.EndCountdown;
import de.steamwar.misslewars.countdowns.ItemCountdown; import de.steamwar.misslewars.countdowns.ItemCountdown;
import de.steamwar.misslewars.countdowns.WaitingCountdown; import de.steamwar.misslewars.countdowns.WaitingCountdown;
@ -73,15 +74,12 @@ public class MissileWars extends JavaPlugin {
new WaitingListener(); new WaitingListener();
new FightListener(); new FightListener();
new ChatListener(); new ChatListener();
getCommand("spectate").setExecutor(new CommandSpectate()); new SpectateCommand();
// Invitation Commands // Invitation Commands
CommandInvite commandInvite = new CommandInvite(); new InviteCommand();
getCommand("invite").setExecutor(commandInvite); new AcceptCommand();
getCommand("invite").setTabCompleter(commandInvite); new DeclineCommand();
getCommand("accept").setExecutor(new CommandAcceptDecline());
getCommand("decline").setExecutor(new CommandAcceptDecline());
new WaitingCountdown(); new WaitingCountdown();
new ItemCountdown(); new ItemCountdown();

Datei anzeigen

@ -2,7 +2,7 @@
* *
* This file is a part of the SteamWar software. * This file is a part of the SteamWar software.
* *
* Copyright (C) 2020 SteamWar.de-Serverteam * Copyright (C) 2023 SteamWar.de-Serverteam
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by * it under the terms of the GNU Affero General Public License as published by
@ -16,20 +16,20 @@
* *
* You should have received a copy of the GNU Affero General Public License * You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
* /
*/ */
package de.steamwar.misslewars.commands; package de.steamwar.misslewars.commands;
import de.steamwar.command.SWCommand;
import de.steamwar.command.TypeValidator;
import de.steamwar.misslewars.Config; import de.steamwar.misslewars.Config;
import de.steamwar.misslewars.MWTeam; import de.steamwar.misslewars.MWTeam;
import de.steamwar.misslewars.MissileWars; import de.steamwar.misslewars.MissileWars;
import de.steamwar.command.SWCommand;
import de.steamwar.command.TypeValidator;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
public class AcceptCommand extends SWCommand { public class AcceptCommand extends SWCommand {
public AcceptCommand() { public AcceptCommand() {
super("accept"); super("accept");
} }
@ -39,8 +39,7 @@ public class AcceptCommand extends SWCommand {
MWTeam teamInvitation = MissileWars.getInvitation(player); MWTeam teamInvitation = MissileWars.getInvitation(player);
if (teamInvitation == null) { if (teamInvitation == null) {
player.sendMessage("§cDu wurdest nicht eingeladen."); player.sendMessage("§cDu wurdest nicht eingeladen.");
} } else {
else {
teamInvitation.acceptInvite(player); teamInvitation.acceptInvite(player);
message(teamInvitation, "§7Der Spieler §e" + player.getName() + "§7 ist dem Team §abeigetreten§7."); message(teamInvitation, "§7Der Spieler §e" + player.getName() + "§7 ist dem Team §abeigetreten§7.");
} }

Datei anzeigen

@ -1,64 +0,0 @@
/*
*
* This file is a part of the SteamWar software.
*
* Copyright (C) 2020 SteamWar.de-Serverteam
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
* /
*/
package de.steamwar.misslewars.commands;
import de.steamwar.misslewars.Config;
import de.steamwar.misslewars.MWTeam;
import de.steamwar.misslewars.MissileWars;
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 CommandAcceptDecline implements CommandExecutor {
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if (!(sender instanceof Player)) return false;
Player player = (Player) sender;
if (!Config.isChallenge()) {
player.sendMessage("§cDieser Command ist deaktiviert.");
return false;
}
MWTeam teamInvitation = MissileWars.getInvitation(player);
if (teamInvitation == null) {
player.sendMessage("§cDu wurdest nicht eingeladen.");
return false;
}
if (command.getName().equalsIgnoreCase("accept")) {
teamInvitation.acceptInvite(player);
message(teamInvitation, "§7Der Spieler §e" + player.getName() + "§7 ist dem Team §abeigetreten§7.");
} else {
MWTeam.removeInvitations(player);
message(teamInvitation, "§7Der Spieler §e" + player.getName() + "§7 hat die Einladung §cabgelehnt§7.");
}
return false;
}
private void message(MWTeam mwTeam, String s) {
mwTeam.getPlayers().forEach(player -> player.sendMessage(s));
}
}

Datei anzeigen

@ -1,95 +0,0 @@
/*
*
* This file is a part of the SteamWar software.
*
* Copyright (C) 2020 SteamWar.de-Serverteam
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
* /
*/
package de.steamwar.misslewars.commands;
import de.steamwar.misslewars.Config;
import de.steamwar.misslewars.MWTeam;
import de.steamwar.misslewars.MissileWars;
import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.command.TabCompleter;
import org.bukkit.entity.Player;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
public class CommandInvite implements CommandExecutor, TabCompleter {
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if (!(sender instanceof Player)) return false;
Player player = (Player) sender;
if (!Config.isChallenge()) {
player.sendMessage("§cDieser Command ist deaktiviert.");
return false;
}
MWTeam team = MissileWars.getTeam(player);
if (!Config.RedLeader.equals(player.getUniqueId()) && !Config.BlueLeader.equals(player.getUniqueId()) || team == null) {
player.sendMessage("§cDu kannst keine Spieler einladen.");
return false;
}
if (args.length != 1) {
player.sendMessage("§c/invite <PLAYER>");
return false;
}
Player invitedPlayer = Bukkit.getPlayer(args[0]);
if (invitedPlayer == null) {
player.sendMessage("§cDieser Spieler ist nicht online.");
return false;
}
if (MissileWars.getTeam(invitedPlayer) != null) {
player.sendMessage("§cDieser Spieler ist bereits in einem Team.");
return false;
}
if (MissileWars.getInvitation(invitedPlayer) != null) {
player.sendMessage("§cDieser Spieler wurde bereits eingeladen.");
return false;
}
team.invitePlayer(invitedPlayer);
player.sendMessage("§7Du hast §e" + invitedPlayer.getName() + " §7eingeladen.");
invitedPlayer.sendMessage("§7Du wurdest von §e" + player.getName() + "§7 in das Team §e" + MissileWars.getTeam(player).getColoredName() + "§7 eingeladen.");
invitedPlayer.sendMessage("§8/§eaccept §8- §7Zum akzeptieren.");
invitedPlayer.sendMessage("§8/§edecline §8- §7Zum ablehnen.");
return false;
}
@Override
public List<String> onTabComplete(CommandSender sender, Command command, String label, String[] args) {
if (args.length == 1) {
return Bukkit.getOnlinePlayers()
.stream()
.filter(p -> MissileWars.getTeam(p) != null)
.filter(p -> MissileWars.getInvitation(p) != null)
.map(Player::getName)
.collect(Collectors.toList());
}
return new ArrayList<>();
}
}

Datei anzeigen

@ -1,55 +0,0 @@
/*
This file is a part of the SteamWar software.
Copyright (C) 2020 SteamWar.de-Serverteam
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package de.steamwar.misslewars.commands;
import de.steamwar.misslewars.Config;
import de.steamwar.misslewars.MWTeam;
import de.steamwar.misslewars.MissileWars;
import org.bukkit.GameMode;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
public class CommandSpectate implements CommandExecutor {
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if (!(sender instanceof Player)) return false;
Player player = (Player) sender;
if (Config.isChallenge()) {
player.sendMessage("§cDieser Command ist deaktiviert.");
return false;
}
MWTeam mwTeam = MissileWars.getTeam(player);
if (mwTeam == null) return false;
if (mwTeam.size() == 1) {
player.sendMessage("§cDu bist alleine im Team, zuschauen ist daher nicht möglich.");
return false;
}
MissileWars.leave(player);
player.setGameMode(GameMode.SPECTATOR);
player.getInventory().clear();
player.updateInventory();
return true;
}
}

Datei anzeigen

@ -2,7 +2,7 @@
* *
* This file is a part of the SteamWar software. * This file is a part of the SteamWar software.
* *
* Copyright (C) 2020 SteamWar.de-Serverteam * Copyright (C) 2023 SteamWar.de-Serverteam
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by * it under the terms of the GNU Affero General Public License as published by
@ -16,21 +16,20 @@
* *
* You should have received a copy of the GNU Affero General Public License * You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
* /
*/ */
package de.steamwar.misslewars.commands; package de.steamwar.misslewars.commands;
import de.steamwar.command.SWCommand;
import de.steamwar.command.TypeValidator;
import de.steamwar.misslewars.Config; import de.steamwar.misslewars.Config;
import de.steamwar.misslewars.MWTeam; import de.steamwar.misslewars.MWTeam;
import de.steamwar.misslewars.MissileWars; import de.steamwar.misslewars.MissileWars;
import de.steamwar.command.SWCommand;
import de.steamwar.command.TypeValidator;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
public class DeclineCommand extends SWCommand { public class DeclineCommand extends SWCommand {
public DeclineCommand() { public DeclineCommand() {
super("decline"); super("decline");
} }
@ -40,8 +39,7 @@ public class DeclineCommand extends SWCommand {
MWTeam teamInvitation = MissileWars.getInvitation(player); MWTeam teamInvitation = MissileWars.getInvitation(player);
if (teamInvitation == null) { if (teamInvitation == null) {
player.sendMessage("§cDu wurdest nicht eingeladen."); player.sendMessage("§cDu wurdest nicht eingeladen.");
} } else {
else {
MWTeam.removeInvitations(player); MWTeam.removeInvitations(player);
message(teamInvitation, "§7Der Spieler §e" + player.getName() + "§7 hat die Einladung §cabgelehnt§7."); message(teamInvitation, "§7Der Spieler §e" + player.getName() + "§7 hat die Einladung §cabgelehnt§7.");
} }
@ -64,5 +62,4 @@ public class DeclineCommand extends SWCommand {
private void message(MWTeam mwTeam, String s) { private void message(MWTeam mwTeam, String s) {
mwTeam.getPlayers().forEach(player -> player.sendMessage(s)); mwTeam.getPlayers().forEach(player -> player.sendMessage(s));
} }
} }

Datei anzeigen

@ -1,43 +1,58 @@
/*
*
* This file is a part of the SteamWar software.
*
* Copyright (C) 2023 SteamWar.de-Serverteam
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package de.steamwar.misslewars.commands; package de.steamwar.misslewars.commands;
import de.steamwar.command.PreviousArguments;
import de.steamwar.command.SWCommand; import de.steamwar.command.SWCommand;
import de.steamwar.command.TypeMapper;
import de.steamwar.command.TypeValidator; import de.steamwar.command.TypeValidator;
import de.steamwar.misslewars.Config; import de.steamwar.misslewars.Config;
import de.steamwar.misslewars.MWTeam; import de.steamwar.misslewars.MWTeam;
import de.steamwar.misslewars.MissileWars; import de.steamwar.misslewars.MissileWars;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.command.TabCompleter;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import java.util.ArrayList; import java.util.Collection;
import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
public class InviteCommand extends SWCommand implements TabCompleter { public class InviteCommand extends SWCommand {
public InviteCommand() { public InviteCommand() {
super("invite", "inv"); super("invite", "inv");
} }
@Register @Register
public void onCommand(@Validator Player player, String playerName, String... varargs) { public void onCommand(@Validator Player player, @AllowNull @OptionalValue("") Player invitedPlayer) {
MWTeam team = MissileWars.getTeam(player); MWTeam team = MissileWars.getTeam(player);
Player invitedPlayer = Bukkit.getPlayer(playerName);
if (!Config.RedLeader.equals(player.getUniqueId()) && !Config.BlueLeader.equals(player.getUniqueId()) || team == null) { if (!Config.RedLeader.equals(player.getUniqueId()) && !Config.BlueLeader.equals(player.getUniqueId()) || team == null) {
player.sendMessage("§cDu kannst keine Spieler einladen."); player.sendMessage("§cDu kannst keine Spieler einladen.");
} } else if (invitedPlayer == null) {
else if (invitedPlayer == null) {
player.sendMessage("§cDieser Spieler ist nicht online."); player.sendMessage("§cDieser Spieler ist nicht online.");
} } else if (MissileWars.getTeam(invitedPlayer) != null) {
else if (MissileWars.getTeam(invitedPlayer) != null) {
player.sendMessage("§cDieser Spieler ist bereits in einem Team."); player.sendMessage("§cDieser Spieler ist bereits in einem Team.");
} } else if (MissileWars.getInvitation(invitedPlayer) != null) {
else if (MissileWars.getInvitation(invitedPlayer) != null) {
player.sendMessage("§cDieser Spieler wurde bereits eingeladen."); player.sendMessage("§cDieser Spieler wurde bereits eingeladen.");
} } else {
else {
team.invitePlayer(invitedPlayer); team.invitePlayer(invitedPlayer);
player.sendMessage("§7Du hast §e" + invitedPlayer.getName() + " §7eingeladen."); player.sendMessage("§7Du hast §e" + invitedPlayer.getName() + " §7eingeladen.");
invitedPlayer.sendMessage("§7Du wurdest von §e" + player.getName() + "§7 in das Team §e" + MissileWars.getTeam(player).getColoredName() + "§7 eingeladen."); invitedPlayer.sendMessage("§7Du wurdest von §e" + player.getName() + "§7 in das Team §e" + MissileWars.getTeam(player).getColoredName() + "§7 eingeladen.");
@ -46,17 +61,24 @@ public class InviteCommand extends SWCommand implements TabCompleter {
} }
} }
@Override @ClassMapper(value = Player.class, local = true)
public List<String> onTabComplete(CommandSender sender, Command command, String label, String[] args) { public TypeMapper<Player> typeMapper() {
if (args.length == 1) { return new TypeMapper<Player>() {
return Bukkit.getOnlinePlayers() @Override
.stream() public Player map(CommandSender commandSender, String[] previousArguments, String s) {
.filter(p -> MissileWars.getTeam(p) != null) return Bukkit.getPlayer(s);
.filter(p -> MissileWars.getInvitation(p) != null) }
.map(Player::getName)
.collect(Collectors.toList()); @Override
} public Collection<String> tabCompletes(CommandSender sender, PreviousArguments previousArguments, String s) {
return new ArrayList<>(); return Bukkit.getOnlinePlayers()
.stream()
.filter(p -> MissileWars.getTeam(p) != null)
.filter(p -> MissileWars.getInvitation(p) != null)
.map(Player::getName)
.collect(Collectors.toList());
}
};
} }
@ClassValidator(value = Player.class, local = true) @ClassValidator(value = Player.class, local = true)

Datei anzeigen

@ -2,7 +2,7 @@
* *
* This file is a part of the SteamWar software. * This file is a part of the SteamWar software.
* *
* Copyright (C) 2020 SteamWar.de-Serverteam * Copyright (C) 2023 SteamWar.de-Serverteam
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by * it under the terms of the GNU Affero General Public License as published by
@ -16,28 +16,27 @@
* *
* You should have received a copy of the GNU Affero General Public License * You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
* /
*/ */
package de.steamwar.misslewars.commands; package de.steamwar.misslewars.commands;
import de.steamwar.command.SWCommand;
import de.steamwar.command.TypeValidator;
import de.steamwar.misslewars.Config; import de.steamwar.misslewars.Config;
import de.steamwar.misslewars.MWTeam; import de.steamwar.misslewars.MWTeam;
import de.steamwar.misslewars.MissileWars; import de.steamwar.misslewars.MissileWars;
import de.steamwar.command.SWCommand;
import de.steamwar.command.TypeValidator;
import org.bukkit.GameMode; import org.bukkit.GameMode;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
public class SpectateCommand extends SWCommand { public class SpectateCommand extends SWCommand {
public SpectateCommand() { public SpectateCommand() {
super("spectate", "spec"); super("spectate", "spec");
} }
@Register @Register
public void onCommand(@Validator Player player, String... varargs) { public void onCommand(@Validator Player player) {
MWTeam mwTeam = MissileWars.getTeam(player); MWTeam mwTeam = MissileWars.getTeam(player);
if (mwTeam == null) return; if (mwTeam == null) return;
if (mwTeam.size() == 1) { if (mwTeam.size() == 1) {