Menu Player entfenen

This commit is contained in:
Benkralex
2023-08-31 10:53:57 +02:00
parent 1b04067b25
commit 8708c0db24
5 changed files with 55 additions and 16 deletions
+1 -1
View File
@@ -6,7 +6,7 @@
<groupId>benkralex</groupId> <groupId>benkralex</groupId>
<artifactId>Pvptoggle</artifactId> <artifactId>Pvptoggle</artifactId>
<version>1.8-FINAL</version> <version>1.9.1-SNAPSHOT</version>
<packaging>jar</packaging> <packaging>jar</packaging>
<name>Pvptoggle</name> <name>Pvptoggle</name>
@@ -202,6 +202,9 @@ public class InventoryMenu {
SkullMeta m = (SkullMeta) item.getItemMeta(); SkullMeta m = (SkullMeta) item.getItemMeta();
m.setDisplayName(ChatColor.GREEN + Bukkit.getPlayer(UUID.fromString(blacklistedPlayerUuid.getKey())).getDisplayName()); m.setDisplayName(ChatColor.GREEN + Bukkit.getPlayer(UUID.fromString(blacklistedPlayerUuid.getKey())).getDisplayName());
m.setOwningPlayer(Bukkit.getPlayer(UUID.fromString(blacklistedPlayerUuid.getKey()))); m.setOwningPlayer(Bukkit.getPlayer(UUID.fromString(blacklistedPlayerUuid.getKey())));
List<String> lore = new ArrayList<>();
lore.add(ChatColor.BLUE + "Rechtsklick:" + ChatColor.RED + " Spieler entfernen");
m.setLore(lore);
item.setItemMeta(m); item.setItemMeta(m);
if (!((i == 8) || (i == 26))) { if (!((i == 8) || (i == 26))) {
inv.setItem(i, item); inv.setItem(i, item);
@@ -228,6 +231,9 @@ public class InventoryMenu {
SkullMeta m = (SkullMeta) item.getItemMeta(); SkullMeta m = (SkullMeta) item.getItemMeta();
m.setDisplayName(ChatColor.GREEN + Bukkit.getOfflinePlayer(UUID.fromString(whitelistedPlayerUuid.getKey())).getName()); m.setDisplayName(ChatColor.GREEN + Bukkit.getOfflinePlayer(UUID.fromString(whitelistedPlayerUuid.getKey())).getName());
m.setOwningPlayer(Bukkit.getOfflinePlayer(UUID.fromString(whitelistedPlayerUuid.getKey()))); m.setOwningPlayer(Bukkit.getOfflinePlayer(UUID.fromString(whitelistedPlayerUuid.getKey())));
List<String> lore = new ArrayList<>();
lore.add(ChatColor.BLUE + "Rechtsklick:" + ChatColor.RED + " Spieler entfernen");
m.setLore(lore);
item.setItemMeta(m); item.setItemMeta(m);
if (!((i == 8) || (i == 26))) { if (!((i == 8) || (i == 26))) {
inv.setItem(i, item); inv.setItem(i, item);
@@ -0,0 +1,32 @@
package benkralex.pvptoggle;
import dev.jorel.commandapi.executors.CommandArguments;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.inventory.meta.SkullMeta;
public class ListListener implements Listener {
@EventHandler
public static void onListMenuInteract(InventoryClickEvent e) {
ItemStack item = e.getCurrentItem();
String invtitle = e.getView().getTitle();
Player p = (Player) e.getWhoClicked();
if (item.getType() == Material.PLAYER_HEAD && e.isRightClick()) {
Player ptarget = (Player) ((SkullMeta) item.getItemMeta()).getOwningPlayer();
if (invtitle.equals("Whitelist-Menu")) {
PvpCommand.pvpList(p, ptarget, "whitelist", "Whitelist", 3);
p.openInventory(InventoryMenu.pvpWhitelistMenu(p));
} else if (invtitle.equals("Blacklist-Menu")) {
PvpCommand.pvpList(p, ptarget, "blacklist", "Blacklist", 3);
p.openInventory(InventoryMenu.pvpBlacklistMenu(p));
}
}
}
}
@@ -39,35 +39,35 @@ public class PvpCommand {
.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)->{pvpList(sender, args,"whitelist","Whitelist", SHOW_ACTION);}) .executesPlayer((sender, args)->{pvpList(sender, null,"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)->{pvpList(sender, args,"whitelist","Whitelist", ADD_ACTION);}) .executesPlayer((sender, args)->{pvpList(sender, (Player) 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 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)->{pvpList(sender, args,"whitelist","Whitelist", REMOVE_ACTION);}) .executesPlayer((sender, args)->{pvpList(sender, (Player) 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 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)->{pvpList(sender, args,"blacklist","Blacklist", SHOW_ACTION);}) .executesPlayer((sender, args)->{pvpList(sender, null,"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)->{pvpList(sender, args,"blacklist","Blacklist", ADD_ACTION);}) .executesPlayer((sender, args)->{pvpList(sender, (Player) 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 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)->{pvpList(sender, args,"blacklist","Blacklist", REMOVE_ACTION);}) .executesPlayer((sender, args)->{pvpList(sender, (Player) 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 PlayerArgument("Player"))
@@ -129,7 +129,7 @@ public class PvpCommand {
} }
public static void pvpList(Player sender, CommandArguments args, String key,String listName, int action) { public static void pvpList(Player sender, Player 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());
@@ -147,19 +147,19 @@ public class PvpCommand {
} }
} else if (action == 2) { } else if (action == 2) {
//hinzufügen //hinzufügen
if (pdcList.has(new NamespacedKey(Pvptoggle.pvptoggle,((Player)args.get("Player")).getUniqueId().toString()),PersistentDataType.TAG_CONTAINER)) { if (pdcList.has(new NamespacedKey(Pvptoggle.pvptoggle,ptarget.getUniqueId().toString()),PersistentDataType.TAG_CONTAINER)) {
sender.sendMessage(ChatColor.RED + "Der Spieler " + ((Player) args.get("Player")).getDisplayName() + ChatColor.RED + " ist schon in deiner " + listName); sender.sendMessage(ChatColor.RED + "Der Spieler " + ptarget.getDisplayName() + ChatColor.RED + " ist schon in deiner " + listName);
}else{ }else{
pdcList.set(new NamespacedKey(Pvptoggle.pvptoggle,((Player)args.get("Player")).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 + ((Player)args.get("Player")).getDisplayName() + ChatColor.GREEN + " wurde zu deiner "+listName+" hinzugefügt"); sender.sendMessage(ChatColor.GREEN + ptarget.getDisplayName() + 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,((Player)args.get("Player")).getUniqueId().toString()),PersistentDataType.TAG_CONTAINER)) { if (!pdcList.has(new NamespacedKey(Pvptoggle.pvptoggle,ptarget.getUniqueId().toString()),PersistentDataType.TAG_CONTAINER)) {
sender.sendMessage(ChatColor.RED + "Der Spieler " + ((Player) args.get("Player")).getDisplayName() + ChatColor.RED + " ist nicht in deiner "+listName); sender.sendMessage(ChatColor.RED + "Der Spieler " + ptarget.getDisplayName() + ChatColor.RED + " ist nicht in deiner "+listName);
}else{ }else{
pdcList.remove(new NamespacedKey(Pvptoggle.pvptoggle,((Player)args.get("Player")).getUniqueId().toString())); pdcList.remove(new NamespacedKey(Pvptoggle.pvptoggle,ptarget.getUniqueId().toString()));
sender.sendMessage(ChatColor.GREEN + ((Player)args.get("Player")).getDisplayName() + ChatColor.GREEN + " wurde aus deiner "+listName+" entfernt"); sender.sendMessage(ChatColor.GREEN + ptarget.getDisplayName() + ChatColor.GREEN + " wurde aus deiner "+listName+" entfernt");
} }
} else { } else {
sender.sendMessage("Fehler"); sender.sendMessage("Fehler");
@@ -11,6 +11,7 @@ public final class Pvptoggle extends JavaPlugin {
public void onEnable() { public void onEnable() {
Bukkit.getPluginManager().registerEvents(new PvpEvent(), this); Bukkit.getPluginManager().registerEvents(new PvpEvent(), this);
Bukkit.getPluginManager().registerEvents(new InventoryListener(), this); Bukkit.getPluginManager().registerEvents(new InventoryListener(), this);
Bukkit.getPluginManager().registerEvents(new ListListener(), this);
Config.createConfig(); Config.createConfig();
if (Config.getPvpTime() < 0) { if (Config.getPvpTime() < 0) {
Config.setPvpTime(0); Config.setPvpTime(0);