Merge pvpWhitelist and pvpBlacklist
pvpWhitelist and pvpBlacklist Methods were merged into pvpList Method for better maintanance
This commit is contained in:
@@ -14,75 +14,81 @@ import org.bukkit.persistence.PersistentDataType;
|
|||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
|
|
||||||
public class PvpCommand {
|
public class PvpCommand {
|
||||||
|
private static final int SHOW_ACTION=1;
|
||||||
|
private static final int ADD_ACTION=2;
|
||||||
|
private static final int REMOVE_ACTION=3;
|
||||||
|
private static final int CHALLENGE_ACTION=0;
|
||||||
|
private static final int ACCEPT_ACTION=1;
|
||||||
|
private static final int DENY_ACTION=2;
|
||||||
|
|
||||||
public static void createPvpCommand() {
|
public static void createPvpCommand() {
|
||||||
//Create PVP-Command with Command-API
|
//Create PVP-Command with Command-API
|
||||||
new CommandAPICommand("pvp")
|
new CommandAPICommand("pvp")
|
||||||
.executesPlayer((sender, args)->{pvpInv(sender, args);})
|
.executesPlayer(PvpCommand::pvpInv)
|
||||||
.withPermission("pvp.inv.op")
|
.withPermission("pvp.inv.op")
|
||||||
.withUsage("/pvp")
|
.withUsage("/pvp")
|
||||||
.withHelp("PvP Menu", "Du kannst damit ein Menu öffnen, in dem du alles verwalten kannst.")
|
.withHelp("PvP Menu", "Du kannst damit ein Menu öffnen, in dem du alles verwalten kannst.")
|
||||||
.withSubcommand(new CommandAPICommand("toggle")
|
.withSubcommand(new CommandAPICommand("toggle")
|
||||||
.executesPlayer((sender, args)->{pvpToggle(sender, args);})
|
.executesPlayer(PvpCommand::pvpToggle)
|
||||||
.withPermission("pvp.toggle")
|
.withPermission("pvp.toggle")
|
||||||
.withUsage("/pvp toggle")
|
.withUsage("/pvp toggle")
|
||||||
.withHelp("PvP damage für sich an/auschalten.", "Du kannst damit an/ausschalten, ob du geschlagen werden kannst."))
|
.withHelp("PvP damage für sich an/auschalten.", "Du kannst damit an/ausschalten, ob du geschlagen werden kannst."))
|
||||||
.withSubcommand(new CommandAPICommand("ultra")
|
.withSubcommand(new CommandAPICommand("ultra")
|
||||||
.executesPlayer((sender, args)->{pvpUltra(sender, args);})
|
.executesPlayer(PvpCommand::pvpUltra)
|
||||||
.withPermission("pvp.ultra")
|
.withPermission("pvp.ultra")
|
||||||
.withUsage("/pvp ultra")
|
.withUsage("/pvp ultra")
|
||||||
.withHelp("Schutz + Schutz gegen ausversehen angreifen", "Du kannst damit an/ausschalten, ob du geschlagen werden kannst und andere schlagen kannst."))
|
.withHelp("Schutz + Schutz gegen ausversehen angreifen", "Du kannst damit an/ausschalten, ob du geschlagen werden kannst und andere schlagen kannst."))
|
||||||
.withSubcommand(new CommandAPICommand("whitelist")
|
.withSubcommand(new CommandAPICommand("whitelist")
|
||||||
.executesPlayer((sender, args)->{pvpWhitelist(sender, args, 1);})
|
.executesPlayer((sender, args)->{pvpList(sender, args,"whitelist","Whitelist", SHOW_ACTION);})
|
||||||
.withPermission("pvp.whitelist")
|
.withPermission("pvp.whitelist")
|
||||||
.withUsage("/pvp whitelist")
|
.withUsage("/pvp whitelist")
|
||||||
.withHelp("Whitelist zeigen", "Damit kannst du dir die Whitelist anzeigen. Alle die in der Whitelist sind können dich immer schlagen.")
|
.withHelp("Whitelist zeigen", "Damit kannst du dir die Whitelist anzeigen. Alle die in der Whitelist sind können dich immer schlagen.")
|
||||||
.withSubcommand(new CommandAPICommand("add")
|
.withSubcommand(new CommandAPICommand("add")
|
||||||
.executesPlayer((sender, args)->{pvpWhitelist(sender, args, 2);})
|
.executesPlayer((sender, args)->{pvpList(sender, args,"whitelist","Whitelist", ADD_ACTION);})
|
||||||
.withPermission("pvp.whitelist")
|
.withPermission("pvp.whitelist")
|
||||||
.withUsage("/pvp whitelist add <Player>")
|
.withUsage("/pvp whitelist add <Player>")
|
||||||
.withArguments(new PlayerArgument("Player"))
|
.withArguments(new PlayerArgument("Player"))
|
||||||
.withHelp("Spieler zu Whitelist hinzufügen", "Du kannst damit Spieler zu deiner Whitelist hinzufügen."))
|
.withHelp("Spieler zu Whitelist hinzufügen", "Du kannst damit Spieler zu deiner Whitelist hinzufügen."))
|
||||||
.withSubcommand(new CommandAPICommand("remove")
|
.withSubcommand(new CommandAPICommand("remove")
|
||||||
.executesPlayer((sender, args)->{pvpWhitelist(sender, args, 3);})
|
.executesPlayer((sender, args)->{pvpList(sender, args,"whitelist","Whitelist", REMOVE_ACTION);})
|
||||||
.withPermission("pvp.whitelist")
|
.withPermission("pvp.whitelist")
|
||||||
.withUsage("/pvp whitelist remove <Player>")
|
.withUsage("/pvp whitelist remove <Player>")
|
||||||
.withArguments(new PlayerArgument("Player"))
|
.withArguments(new PlayerArgument("Player"))
|
||||||
.withHelp("Spieler aus Whitelist entfernen", "Du kannst damit Spieler aus deiner Whitelist entfernen.")))
|
.withHelp("Spieler aus Whitelist entfernen", "Du kannst damit Spieler aus deiner Whitelist entfernen.")))
|
||||||
.withSubcommand(new CommandAPICommand("blacklist")
|
.withSubcommand(new CommandAPICommand("blacklist")
|
||||||
.executesPlayer((sender, args)->{pvpBlacklist(sender, args, 1);})
|
.executesPlayer((sender, args)->{pvpList(sender, args,"blacklist","Blacklist", SHOW_ACTION);})
|
||||||
.withPermission("pvp.blacklist")
|
.withPermission("pvp.blacklist")
|
||||||
.withUsage("/pvp blacklist <Player>")
|
.withUsage("/pvp blacklist <Player>")
|
||||||
.withHelp("Blacklist anzeigen", "Damit kannst du dir die Blacklist anzeigen. Alle die in der Blacklist sind können dich nur zurückschlagen.")
|
.withHelp("Blacklist anzeigen", "Damit kannst du dir die Blacklist anzeigen. Alle die in der Blacklist sind können dich nur zurückschlagen.")
|
||||||
.withSubcommand(new CommandAPICommand("add")
|
.withSubcommand(new CommandAPICommand("add")
|
||||||
.executesPlayer((sender, args)->{pvpBlacklist(sender, args, 2);})
|
.executesPlayer((sender, args)->{pvpList(sender, args,"blacklist","Blacklist", ADD_ACTION);})
|
||||||
.withPermission("pvp.blacklist")
|
.withPermission("pvp.blacklist")
|
||||||
.withUsage("/pvp blacklist add <Player>")
|
.withUsage("/pvp blacklist add <Player>")
|
||||||
.withArguments(new PlayerArgument("Player"))
|
.withArguments(new PlayerArgument("Player"))
|
||||||
.withHelp("Spieler zu Blacklist hinzufügen", "Du kannst damit Spieler zu deiner Blacklist hinzufügen."))
|
.withHelp("Spieler zu Blacklist hinzufügen", "Du kannst damit Spieler zu deiner Blacklist hinzufügen."))
|
||||||
.withSubcommand(new CommandAPICommand("remove")
|
.withSubcommand(new CommandAPICommand("remove")
|
||||||
.executesPlayer((sender, args)->{pvpBlacklist(sender, args, 3);})
|
.executesPlayer((sender, args)->{pvpList(sender, args,"blacklist","Blacklist", REMOVE_ACTION);})
|
||||||
.withPermission("pvp.blacklist")
|
.withPermission("pvp.blacklist")
|
||||||
.withUsage("/pvp blacklist remove <Player>")
|
.withUsage("/pvp blacklist remove <Player>")
|
||||||
.withArguments(new PlayerArgument("Player"))
|
.withArguments(new PlayerArgument("Player"))
|
||||||
.withHelp("Spieler aus Blacklist entfernen", "Du kannst damit Spieler aus deiner Blacklist entfernen.")))
|
.withHelp("Spieler aus Blacklist entfernen", "Du kannst damit Spieler aus deiner Blacklist entfernen.")))
|
||||||
.withSubcommand(new CommandAPICommand("fight")
|
.withSubcommand(new CommandAPICommand("fight")
|
||||||
.executesPlayer((sender, args)->{pvpFight(sender, args, 0);})
|
.executesPlayer((sender, args)->{pvpFight(sender, args, CHALLENGE_ACTION);})
|
||||||
.withPermission("pvp.fight")
|
.withPermission("pvp.fight")
|
||||||
.withUsage("/pvp fight <Player>")
|
.withUsage("/pvp fight <Player>")
|
||||||
.withArguments(new PlayerArgument("Player"))
|
.withArguments(new PlayerArgument("Player"))
|
||||||
.withHelp("Spieler zu einem Kampf herrausfordern", "Man kann sich schlagen bis einer stirbt, der der stirbt verliert nichts.")
|
.withHelp("Spieler zu einem Kampf herausfordern", "Man kann sich schlagen bis einer stirbt, der der stirbt verliert nichts.")
|
||||||
.withSubcommand(new CommandAPICommand("accept")
|
.withSubcommand(new CommandAPICommand("accept")
|
||||||
.executesPlayer((sender, args)->{pvpFight(sender, args, 1);})
|
.executesPlayer((sender, args)->{pvpFight(sender, args, ACCEPT_ACTION);})
|
||||||
.withPermission("pvp.fight")
|
.withPermission("pvp.fight")
|
||||||
.withUsage("/pvp fight accept")
|
.withUsage("/pvp fight accept")
|
||||||
.withHelp("Herrausforderung annehmen", "Letzte Herrausforderung annehmen"))
|
.withHelp("Herausforderung annehmen", "Letzte Herrausforderung annehmen"))
|
||||||
.withSubcommand(new CommandAPICommand("deny")
|
.withSubcommand(new CommandAPICommand("deny")
|
||||||
.executesPlayer((sender, args)->{pvpFight(sender, args, 2);})
|
.executesPlayer((sender, args)->{pvpFight(sender, args, DENY_ACTION);})
|
||||||
.withPermission("pvp.fight")
|
.withPermission("pvp.fight")
|
||||||
.withUsage("/pvp fight deny")
|
.withUsage("/pvp fight deny")
|
||||||
.withHelp("Herrausforderung ablehnen", "Letzte Herrausforderung ablehnen")))
|
.withHelp("Herausforderung ablehnen", "Letzte Herrausforderung ablehnen")))
|
||||||
.register();
|
.register();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -122,114 +128,45 @@ public class PvpCommand {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static void pvpList(Player sender, CommandArguments args, String key,String listName, int action) {
|
||||||
public static void pvpWhitelist(Player sender, CommandArguments args, int action) {
|
|
||||||
//PvP Whitelist Command
|
//PvP Whitelist Command
|
||||||
Player pargs = (Player) args.get("Player");
|
|
||||||
PersistentDataContainer pdc = sender.getPersistentDataContainer();
|
PersistentDataContainer pdc = sender.getPersistentDataContainer();
|
||||||
NamespacedKey whitelist = new NamespacedKey(Pvptoggle.pvptoggle, "whitelist");
|
PersistentDataContainer pdcList = pdc.getOrDefault(new NamespacedKey(Pvptoggle.pvptoggle,key),PersistentDataType.TAG_CONTAINER,pdc.getAdapterContext().newPersistentDataContainer());
|
||||||
if (action == 1) {
|
if (action == 1) {
|
||||||
//anzeigen
|
//anzeigen
|
||||||
if (pdc.has(whitelist, PersistentDataType.TAG_CONTAINER)) {
|
if(!pdcList.isEmpty()){
|
||||||
PersistentDataContainer pdcwhitelist = pdc.get(whitelist, PersistentDataType.TAG_CONTAINER);
|
int i = 0;
|
||||||
if(pdcwhitelist != null) {
|
for (NamespacedKey uuid:pdcList.getKeys()) {
|
||||||
int i = 0;
|
i++;
|
||||||
for (NamespacedKey whitelistkey:pdcwhitelist.getKeys()) {
|
sender.sendMessage(""+ChatColor.DARK_BLUE + i + ". " + ChatColor.BLUE +Bukkit.getPlayer(UUID.fromString(uuid.getKey())).getName());
|
||||||
i++;
|
}
|
||||||
sender.sendMessage(ChatColor.BLUE + "" + i + ". " + ChatColor.DARK_BLUE + "" + Bukkit.getPlayer(UUID.fromString(pdcwhitelist.get(whitelistkey, PersistentDataType.STRING))).getDisplayName());
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
sender.sendMessage("Deine Whitelist ist leer");
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
sender.sendMessage("Deine Whitelist ist leer");
|
sender.sendMessage("Deine "+listName+ "ist leer");
|
||||||
}
|
}
|
||||||
sender.sendMessage(ChatColor.RED + "Die Whitelist funktioniert aktuell nicht");
|
|
||||||
} else if (action == 2) {
|
} else if (action == 2) {
|
||||||
//hinzufügen
|
//hinzufügen
|
||||||
if (!pdc.has(whitelist, PersistentDataType.TAG_CONTAINER)) {
|
if (pdcList.has(new NamespacedKey(Pvptoggle.pvptoggle,((Player)args.get("Player")).getUniqueId().toString()),PersistentDataType.TAG_CONTAINER)) {
|
||||||
//pdc erstellen
|
sender.sendMessage(ChatColor.RED + "Der Spieler" + args.get("Player") + "ist schon in deiner "+listName);
|
||||||
|
}else{
|
||||||
|
pdcList.set(new NamespacedKey(Pvptoggle.pvptoggle,((Player)args.get("Player")).getUniqueId().toString()),PersistentDataType.TAG_CONTAINER,pdcList.getAdapterContext().newPersistentDataContainer());
|
||||||
|
sender.sendMessage(ChatColor.GREEN + ((Player)args.get("Player")).getDisplayName() + "wurde zu deiner "+listName+" hinzugefügt");
|
||||||
}
|
}
|
||||||
PersistentDataContainer pdcwhitelist = pdc.get(whitelist, PersistentDataType.TAG_CONTAINER);
|
|
||||||
pdcwhitelist.set(new NamespacedKey(Pvptoggle.pvptoggle, pargs.getUniqueId().toString()), PersistentDataType.STRING, pargs.getUniqueId().toString());
|
|
||||||
sender.sendMessage(ChatColor.GREEN + pargs.getDisplayName() + "wurde zu deiner Whitelist hinzugefügt");
|
|
||||||
|
|
||||||
sender.sendMessage(ChatColor.RED + "Die Whitelist funktioniert aktuell nicht");
|
|
||||||
} else if (action == 3) {
|
} else if (action == 3) {
|
||||||
//entfernen
|
//entfernen
|
||||||
if (!pdc.has(whitelist, PersistentDataType.TAG_CONTAINER)) {
|
if (!pdcList.has(new NamespacedKey(Pvptoggle.pvptoggle,((Player)args.get("Player")).getUniqueId().toString()),PersistentDataType.TAG_CONTAINER)) {
|
||||||
sender.sendMessage(ChatColor.RED + "Der Spieler" + args.get("Player") + "ist nicht in deiner Whitelist");
|
sender.sendMessage(ChatColor.RED + "Der Spieler" + args.get("Player") + "ist nicht in deiner "+listName);
|
||||||
return;
|
}else{
|
||||||
|
pdcList.remove(new NamespacedKey(Pvptoggle.pvptoggle,((Player)args.get("Player")).getUniqueId().toString()));
|
||||||
|
sender.sendMessage(ChatColor.GREEN + ((Player)args.get("Player")).getDisplayName() + "wurde aus deiner "+listName+" entfernt");
|
||||||
}
|
}
|
||||||
PersistentDataContainer whitelistpdc = pdc.get(whitelist, PersistentDataType.TAG_CONTAINER);
|
|
||||||
if (whitelistpdc.has(new NamespacedKey(Pvptoggle.pvptoggle, pargs.getUniqueId().toString()), PersistentDataType.STRING)) {
|
|
||||||
whitelistpdc.remove(new NamespacedKey(Pvptoggle.pvptoggle, pargs.getUniqueId().toString()));
|
|
||||||
sender.sendMessage(ChatColor.GREEN + pargs.getDisplayName() + "wurde aus deiner Whitelist entfernt");
|
|
||||||
} else {
|
|
||||||
sender.sendMessage(ChatColor.RED + pargs.getDisplayName() + "ist nicht in deiner Whitelist");
|
|
||||||
}
|
|
||||||
|
|
||||||
sender.sendMessage(ChatColor.RED + "Die Whitelist funktioniert aktuell nicht");
|
|
||||||
} else {
|
} else {
|
||||||
sender.sendMessage("Fehler");
|
sender.sendMessage("Fehler");
|
||||||
}
|
}
|
||||||
|
pdc.set(new NamespacedKey(Pvptoggle.pvptoggle,key),PersistentDataType.TAG_CONTAINER,pdcList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static void pvpFight(Player sender, CommandArguments args, int action) {
|
||||||
public static void pvpBlacklist(Player sender, CommandArguments args, int action) {
|
|
||||||
//PvP Blacklist Command
|
|
||||||
Player pargs = (Player) args.get("Player");
|
|
||||||
PersistentDataContainer pdc = sender.getPersistentDataContainer();
|
|
||||||
NamespacedKey blacklist = new NamespacedKey(Pvptoggle.pvptoggle, "blacklist");
|
|
||||||
if (action == 1) {
|
|
||||||
//anzeigen
|
|
||||||
if (pdc.has(blacklist, PersistentDataType.TAG_CONTAINER)) {
|
|
||||||
PersistentDataContainer pdcblacklist = pdc.get(blacklist, PersistentDataType.TAG_CONTAINER);
|
|
||||||
if(pdcblacklist != null) {
|
|
||||||
int i = 0;
|
|
||||||
for (NamespacedKey blacklistkey:pdcblacklist.getKeys()) {
|
|
||||||
i++;
|
|
||||||
sender.sendMessage(ChatColor.BLUE + "" + i + ". " + ChatColor.BLUE + "" + Bukkit.getPlayer(UUID.fromString(pdcblacklist.get(blacklistkey, PersistentDataType.STRING))).getDisplayName());
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
sender.sendMessage("Deine Blacklist ist leer");
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
sender.sendMessage("Deine Blacklist ist leer");
|
|
||||||
}
|
|
||||||
sender.sendMessage(ChatColor.RED + "Die Blacklist funktioniert aktuell nicht");
|
|
||||||
} else if (action == 2) {
|
|
||||||
//hinzufügen
|
|
||||||
if (!pdc.has(blacklist, PersistentDataType.TAG_CONTAINER)) {
|
|
||||||
//pdc erstellen
|
|
||||||
}
|
|
||||||
PersistentDataContainer pdcblacklist = pdc.get(blacklist, PersistentDataType.TAG_CONTAINER);
|
|
||||||
pdcblacklist.set(new NamespacedKey(Pvptoggle.pvptoggle, pargs.getUniqueId().toString()), PersistentDataType.STRING, pargs.getUniqueId().toString());
|
|
||||||
sender.sendMessage(ChatColor.GREEN + pargs.getDisplayName() + "wurde zu deiner Blacklist hinzugefügt");
|
|
||||||
|
|
||||||
sender.sendMessage(ChatColor.RED + "Die Blacklist funktioniert aktuell nicht");
|
|
||||||
} else if (action == 3) {
|
|
||||||
//entfernen
|
|
||||||
if (!pdc.has(blacklist, PersistentDataType.TAG_CONTAINER)) {
|
|
||||||
sender.sendMessage(ChatColor.RED + "Der Spieler" + args.get("Player") + "ist nicht in deiner Blacklist");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
PersistentDataContainer blacklistpdc = pdc.get(blacklist, PersistentDataType.TAG_CONTAINER);
|
|
||||||
if (blacklistpdc.has(new NamespacedKey(Pvptoggle.pvptoggle, pargs.getUniqueId().toString()), PersistentDataType.STRING)) {
|
|
||||||
blacklistpdc.remove(new NamespacedKey(Pvptoggle.pvptoggle, pargs.getUniqueId().toString()));
|
|
||||||
sender.sendMessage(ChatColor.GREEN + pargs.getDisplayName() + "wurde aus deiner Blacklist entfernt");
|
|
||||||
} else {
|
|
||||||
sender.sendMessage(ChatColor.RED + pargs.getDisplayName() + "ist nicht in deiner Blacklist");
|
|
||||||
}
|
|
||||||
|
|
||||||
sender.sendMessage(ChatColor.RED + "Die Blacklist funktioniert aktuell nicht");
|
|
||||||
} else {
|
|
||||||
sender.sendMessage("Fehler");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void pvpFight(Player sender, CommandArguments args, int action) {
|
|
||||||
//PvP Fight Command
|
//PvP Fight Command
|
||||||
if (action == 0) {
|
if (action == 0) {
|
||||||
//Kampf herrausgefordert
|
//Kampf herrausgefordert
|
||||||
|
|||||||
Reference in New Issue
Block a user