Allow offline Players
This commit is contained in:
@@ -3,6 +3,7 @@ package benkralex.pvptoggle;
|
|||||||
import dev.jorel.commandapi.executors.CommandArguments;
|
import dev.jorel.commandapi.executors.CommandArguments;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.OfflinePlayer;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
@@ -19,7 +20,7 @@ public class ListListener implements Listener {
|
|||||||
Player p = (Player) e.getWhoClicked();
|
Player p = (Player) e.getWhoClicked();
|
||||||
|
|
||||||
if (item.getType() == Material.PLAYER_HEAD && e.isRightClick()) {
|
if (item.getType() == Material.PLAYER_HEAD && e.isRightClick()) {
|
||||||
Player ptarget = (Player) ((SkullMeta) item.getItemMeta()).getOwningPlayer();
|
OfflinePlayer ptarget = ((SkullMeta) item.getItemMeta()).getOwningPlayer();
|
||||||
if (invtitle.equals("Whitelist-Menu")) {
|
if (invtitle.equals("Whitelist-Menu")) {
|
||||||
PvpCommand.pvpList(p, ptarget, "whitelist", "Whitelist", 3);
|
PvpCommand.pvpList(p, ptarget, "whitelist", "Whitelist", 3);
|
||||||
p.openInventory(InventoryMenu.pvpWhitelistMenu(p));
|
p.openInventory(InventoryMenu.pvpWhitelistMenu(p));
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package benkralex.pvptoggle;
|
package benkralex.pvptoggle;
|
||||||
|
|
||||||
import dev.jorel.commandapi.CommandAPICommand;
|
import dev.jorel.commandapi.CommandAPICommand;
|
||||||
|
import dev.jorel.commandapi.arguments.OfflinePlayerArgument;
|
||||||
import dev.jorel.commandapi.arguments.PlayerArgument;
|
import dev.jorel.commandapi.arguments.PlayerArgument;
|
||||||
import dev.jorel.commandapi.executors.CommandArguments;
|
import dev.jorel.commandapi.executors.CommandArguments;
|
||||||
import net.md_5.bungee.api.ChatColor;
|
import net.md_5.bungee.api.ChatColor;
|
||||||
@@ -8,6 +9,7 @@ import net.md_5.bungee.api.chat.ClickEvent;
|
|||||||
import net.md_5.bungee.api.chat.TextComponent;
|
import net.md_5.bungee.api.chat.TextComponent;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.NamespacedKey;
|
import org.bukkit.NamespacedKey;
|
||||||
|
import org.bukkit.OfflinePlayer;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.persistence.PersistentDataContainer;
|
import org.bukkit.persistence.PersistentDataContainer;
|
||||||
import org.bukkit.persistence.PersistentDataType;
|
import org.bukkit.persistence.PersistentDataType;
|
||||||
@@ -44,16 +46,16 @@ public class PvpCommand {
|
|||||||
.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)->{pvpList(sender, (Player) args.get("Player"),"whitelist","Whitelist", ADD_ACTION);})
|
.executesPlayer((sender, args)->{pvpList(sender, (OfflinePlayer) args.get("Player"),"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 OfflinePlayerArgument("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)->{pvpList(sender, (Player) args.get("Player"),"whitelist","Whitelist", REMOVE_ACTION);})
|
.executesPlayer((sender, args)->{pvpList(sender, (OfflinePlayer) args.get("Player"),"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 OfflinePlayerArgument("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)->{pvpList(sender, null,"blacklist","Blacklist", SHOW_ACTION);})
|
.executesPlayer((sender, args)->{pvpList(sender, null,"blacklist","Blacklist", SHOW_ACTION);})
|
||||||
@@ -61,16 +63,16 @@ public class PvpCommand {
|
|||||||
.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)->{pvpList(sender, (Player) args.get("Player"),"blacklist","Blacklist", ADD_ACTION);})
|
.executesPlayer((sender, args)->{pvpList(sender, (OfflinePlayer) args.get("Player"),"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 OfflinePlayerArgument("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)->{pvpList(sender, (Player) args.get("Player"),"blacklist","Blacklist", REMOVE_ACTION);})
|
.executesPlayer((sender, args)->{pvpList(sender, (OfflinePlayer) args.get("Player"),"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 OfflinePlayerArgument("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, CHALLENGE_ACTION);})
|
.executesPlayer((sender, args)->{pvpFight(sender, args, CHALLENGE_ACTION);})
|
||||||
@@ -129,7 +131,7 @@ public class PvpCommand {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static void pvpList(Player sender, Player ptarget, String key,String listName, int action) {
|
public static void pvpList(Player sender, OfflinePlayer ptarget, String key, String listName, int action) {
|
||||||
//PvP Whitelist Command
|
//PvP Whitelist Command
|
||||||
PersistentDataContainer pdc = sender.getPersistentDataContainer();
|
PersistentDataContainer pdc = sender.getPersistentDataContainer();
|
||||||
PersistentDataContainer pdcList = pdc.getOrDefault(new NamespacedKey(Pvptoggle.pvptoggle,key),PersistentDataType.TAG_CONTAINER,pdc.getAdapterContext().newPersistentDataContainer());
|
PersistentDataContainer pdcList = pdc.getOrDefault(new NamespacedKey(Pvptoggle.pvptoggle,key),PersistentDataType.TAG_CONTAINER,pdc.getAdapterContext().newPersistentDataContainer());
|
||||||
@@ -148,18 +150,18 @@ public class PvpCommand {
|
|||||||
} else if (action == 2) {
|
} else if (action == 2) {
|
||||||
//hinzufügen
|
//hinzufügen
|
||||||
if (pdcList.has(new NamespacedKey(Pvptoggle.pvptoggle,ptarget.getUniqueId().toString()),PersistentDataType.TAG_CONTAINER)) {
|
if (pdcList.has(new NamespacedKey(Pvptoggle.pvptoggle,ptarget.getUniqueId().toString()),PersistentDataType.TAG_CONTAINER)) {
|
||||||
sender.sendMessage(ChatColor.RED + "Der Spieler " + ptarget.getDisplayName() + ChatColor.RED + " ist schon in deiner " + listName);
|
sender.sendMessage(ChatColor.RED + "Der Spieler " + ptarget.getName() + ChatColor.RED + " ist schon in deiner " + listName);
|
||||||
}else{
|
}else{
|
||||||
pdcList.set(new NamespacedKey(Pvptoggle.pvptoggle,ptarget.getUniqueId().toString()),PersistentDataType.TAG_CONTAINER,pdcList.getAdapterContext().newPersistentDataContainer());
|
pdcList.set(new NamespacedKey(Pvptoggle.pvptoggle,ptarget.getUniqueId().toString()),PersistentDataType.TAG_CONTAINER,pdcList.getAdapterContext().newPersistentDataContainer());
|
||||||
sender.sendMessage(ChatColor.GREEN + ptarget.getDisplayName() + ChatColor.GREEN + " wurde zu deiner "+listName+" hinzugefügt");
|
sender.sendMessage(ChatColor.GREEN + ptarget.getName() + ChatColor.GREEN + " wurde zu deiner "+listName+" hinzugefügt");
|
||||||
}
|
}
|
||||||
} else if (action == 3) {
|
} else if (action == 3) {
|
||||||
//entfernen
|
//entfernen
|
||||||
if (!pdcList.has(new NamespacedKey(Pvptoggle.pvptoggle,ptarget.getUniqueId().toString()),PersistentDataType.TAG_CONTAINER)) {
|
if (!pdcList.has(new NamespacedKey(Pvptoggle.pvptoggle,ptarget.getUniqueId().toString()),PersistentDataType.TAG_CONTAINER)) {
|
||||||
sender.sendMessage(ChatColor.RED + "Der Spieler " + ptarget.getDisplayName() + ChatColor.RED + " ist nicht in deiner "+listName);
|
sender.sendMessage(ChatColor.RED + "Der Spieler " + ptarget.getName() + ChatColor.RED + " ist nicht in deiner "+listName);
|
||||||
}else{
|
}else{
|
||||||
pdcList.remove(new NamespacedKey(Pvptoggle.pvptoggle,ptarget.getUniqueId().toString()));
|
pdcList.remove(new NamespacedKey(Pvptoggle.pvptoggle,ptarget.getUniqueId().toString()));
|
||||||
sender.sendMessage(ChatColor.GREEN + ptarget.getDisplayName() + ChatColor.GREEN + " wurde aus deiner "+listName+" entfernt");
|
sender.sendMessage(ChatColor.GREEN + ptarget.getName() + ChatColor.GREEN + " wurde aus deiner "+listName+" entfernt");
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
sender.sendMessage("Fehler");
|
sender.sendMessage("Fehler");
|
||||||
|
|||||||
Reference in New Issue
Block a user