12
0

Umbau der MissileWars Commands auf das neue Command Framework #53

Zusammengeführt
YoyoNow hat 3 Commits von MissileWarsCommandFramework nach master 2023-06-12 16:43:07 +02:00 zusammengeführt
4 geänderte Dateien mit 278 neuen und 0 gelöschten Zeilen
Nur Änderungen aus Commit b17845b85c werden angezeigt - Alle Commits anzeigen

Datei anzeigen

@ -0,0 +1,66 @@
/*
*
* This file is a part of the SteamWar software.
*
* Copyright (C) 2020 SteamWar.de-Serverteam
PsiRobot markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

Bissle outdated!

Bissle outdated!
*
* 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/>.
* /
PsiRobot markierte diese Unterhaltung als gelöst
Review

Why?

Why?
*/
package de.steamwar.misslewars.commands;
import de.steamwar.misslewars.Config;
import de.steamwar.misslewars.MWTeam;
import de.steamwar.misslewars.MissileWars;
import de.steamwar.command.SWCommand;
import de.steamwar.command.TypeValidator;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
public class AcceptCommand extends SWCommand {
public AcceptCommand() {
PsiRobot markierte diese Unterhaltung als gelöst
Review

Leerzeile bitte davor

Leerzeile bitte davor
super("accept");
}
@Register
public void onCommand(@Validator Player player, String... varargs) {
MWTeam teamInvitation = MissileWars.getInvitation(player);
if (teamInvitation == null) {
player.sendMessage("§cDu wurdest nicht eingeladen.");
}
else {
teamInvitation.acceptInvite(player);
message(teamInvitation, "§7Der Spieler §e" + player.getName() + "§7 ist dem Team §abeigetreten§7.");
}
}
@ClassValidator(value = Player.class, local = true)
public TypeValidator<Player> validator() {
return new TypeValidator<Player>() {
@Override
public boolean validate(CommandSender commandSender, Player player, MessageSender messageSender) {
if (Config.isChallenge()) {
messageSender.send("§cDieser Command ist deaktiviert.");
return false;
}
return true;
}
};
}
private void message(MWTeam mwTeam, String s) {
mwTeam.getPlayers().forEach(player -> player.sendMessage(s));
}
}

Datei anzeigen

@ -0,0 +1,68 @@
/*
*
* This file is a part of the SteamWar software.
*
* Copyright (C) 2020 SteamWar.de-Serverteam
PsiRobot markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

s.o.

s.o.
*
* 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/>.
* /
PsiRobot markierte diese Unterhaltung als gelöst
Review

s.o.

s.o.
*/
package de.steamwar.misslewars.commands;
import de.steamwar.misslewars.Config;
import de.steamwar.misslewars.MWTeam;
import de.steamwar.misslewars.MissileWars;
import de.steamwar.command.SWCommand;
import de.steamwar.command.TypeValidator;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
public class DeclineCommand extends SWCommand {
public DeclineCommand() {
PsiRobot markierte diese Unterhaltung als gelöst
Review

s.o.

s.o.
super("decline");
}
@Register
public void onCommand(@Validator Player player, String... varargs) {
MWTeam teamInvitation = MissileWars.getInvitation(player);
if (teamInvitation == null) {
player.sendMessage("§cDu wurdest nicht eingeladen.");
}
else {
PsiRobot markierte diese Unterhaltung als gelöst
Review

else gehört in die gleiche Zeile mit }

else gehört in die gleiche Zeile mit }
MWTeam.removeInvitations(player);
message(teamInvitation, "§7Der Spieler §e" + player.getName() + "§7 hat die Einladung §cabgelehnt§7.");
}
}
@ClassValidator(value = Player.class, local = true)
public TypeValidator<Player> validator() {
return new TypeValidator<Player>() {
@Override
public boolean validate(CommandSender commandSender, Player player, MessageSender messageSender) {
if (!Config.isChallenge()) {
messageSender.send("§cDieser Command ist deaktiviert.");
return false;
}
return true;
}
};
}
private void message(MWTeam mwTeam, String s) {
mwTeam.getPlayers().forEach(player -> player.sendMessage(s));
}
PsiRobot markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

unnütze Leerzeile

unnütze Leerzeile
}

Datei anzeigen

@ -0,0 +1,79 @@
package de.steamwar.misslewars.commands;
PsiRobot markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

Hier fehlt der License Header

Hier fehlt der License Header
import de.steamwar.command.SWCommand;
import de.steamwar.command.TypeValidator;
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.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 InviteCommand extends SWCommand implements TabCompleter {
public InviteCommand() {
super("invite", "inv");
}
@Register
public void onCommand(@Validator Player player, String playerName, String... varargs) {
PsiRobot markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

Hier Statt einen String zu nutzen kannst du auch einen Player nehmen, und dann würde ich auch den String... varargs weglassen

Hier Statt einen String zu nutzen kannst du auch einen Player nehmen, und dann würde ich auch den String... varargs weglassen
MWTeam team = MissileWars.getTeam(player);
Player invitedPlayer = Bukkit.getPlayer(playerName);
if (!Config.RedLeader.equals(player.getUniqueId()) && !Config.BlueLeader.equals(player.getUniqueId()) || team == null) {
player.sendMessage("§cDu kannst keine Spieler einladen.");
}
else if (invitedPlayer == null) {
player.sendMessage("§cDieser Spieler ist nicht online.");
}
else if (MissileWars.getTeam(invitedPlayer) != null) {
player.sendMessage("§cDieser Spieler ist bereits in einem Team.");
}
else if (MissileWars.getInvitation(invitedPlayer) != null) {
player.sendMessage("§cDieser Spieler wurde bereits eingeladen.");
}
else {
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.");
}
}
@Override
public List<String> onTabComplete(CommandSender sender, Command command, String label, String[] args) {
PsiRobot markierte diese Unterhaltung als gelöst
Review

So nicht.

So nicht.
Review

Ich komme gleich kurz vorbei und erkläre wie du das machst.

Ich komme gleich kurz vorbei und erkläre wie du das machst.
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<>();
}
@ClassValidator(value = Player.class, local = true)
public TypeValidator<Player> validator() {
return new TypeValidator<Player>() {
@Override
public boolean validate(CommandSender commandSender, Player player, MessageSender messageSender) {
if (Config.isChallenge()) {
messageSender.send("§cDieser Command ist deaktiviert.");
return false;
}
return true;
}
};
}
private void message(MWTeam mwTeam, String s) {
mwTeam.getPlayers().forEach(player -> player.sendMessage(s));
}
}

Datei anzeigen

@ -0,0 +1,65 @@
/*
*
* This file is a part of the SteamWar software.
*
* Copyright (C) 2020 SteamWar.de-Serverteam
PsiRobot markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

s.o.

s.o.
*
* 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/>.
* /
PsiRobot markierte diese Unterhaltung als gelöst
Review

s.o.

s.o.
*/
package de.steamwar.misslewars.commands;
import de.steamwar.misslewars.Config;
import de.steamwar.misslewars.MWTeam;
import de.steamwar.misslewars.MissileWars;
import de.steamwar.command.SWCommand;
import de.steamwar.command.TypeValidator;
import org.bukkit.GameMode;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
public class SpectateCommand extends SWCommand {
public SpectateCommand() {
PsiRobot markierte diese Unterhaltung als gelöst
Review

s.o.

s.o.
super("spectate", "spec");
}
@Register
public void onCommand(@Validator Player player, String... varargs) {
PsiRobot markierte diese Unterhaltung als gelöst
Review

Auch hier würde ich String... varargs weglassen

Auch hier würde ich String... varargs weglassen
MWTeam mwTeam = MissileWars.getTeam(player);
if (mwTeam == null) return;
if (mwTeam.size() == 1) {
player.sendMessage("§cDu bist alleine im Team, zuschauen ist daher nicht möglich.");
}
MissileWars.leave(player);
player.setGameMode(GameMode.SPECTATOR);
player.getInventory().clear();
player.updateInventory();
}
@ClassValidator(value = Player.class, local = true)
public TypeValidator<Player> validator() {
return new TypeValidator<Player>() {
@Override
public boolean validate(CommandSender commandSender, Player player, MessageSender messageSender) {
if (Config.isChallenge()) {
messageSender.send("§cDieser Command ist deaktiviert.");
return false;
}
return true;
}
};
}
}