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>
<artifactId>Pvptoggle</artifactId>
<version>1.8-FINAL</version>
<version>1.9.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>Pvptoggle</name>
@@ -202,6 +202,9 @@ public class InventoryMenu {
SkullMeta m = (SkullMeta) item.getItemMeta();
m.setDisplayName(ChatColor.GREEN + Bukkit.getPlayer(UUID.fromString(blacklistedPlayerUuid.getKey())).getDisplayName());
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);
if (!((i == 8) || (i == 26))) {
inv.setItem(i, item);
@@ -228,6 +231,9 @@ public class InventoryMenu {
SkullMeta m = (SkullMeta) item.getItemMeta();
m.setDisplayName(ChatColor.GREEN + Bukkit.getOfflinePlayer(UUID.fromString(whitelistedPlayerUuid.getKey())).getName());
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);
if (!((i == 8) || (i == 26))) {
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")
.withHelp("Schutz + Schutz gegen ausversehen angreifen", "Du kannst damit an/ausschalten, ob du geschlagen werden kannst und andere schlagen kannst."))
.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")
.withUsage("/pvp whitelist")
.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")
.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")
.withUsage("/pvp whitelist add <Player>")
.withArguments(new PlayerArgument("Player"))
.withHelp("Spieler zu Whitelist hinzufügen", "Du kannst damit Spieler zu deiner Whitelist hinzufügen."))
.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")
.withUsage("/pvp whitelist remove <Player>")
.withArguments(new PlayerArgument("Player"))
.withHelp("Spieler aus Whitelist entfernen", "Du kannst damit Spieler aus deiner Whitelist entfernen.")))
.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")
.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.")
.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")
.withUsage("/pvp blacklist add <Player>")
.withArguments(new PlayerArgument("Player"))
.withHelp("Spieler zu Blacklist hinzufügen", "Du kannst damit Spieler zu deiner Blacklist hinzufügen."))
.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")
.withUsage("/pvp blacklist remove <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
PersistentDataContainer pdc = sender.getPersistentDataContainer();
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) {
//hinzufügen
if (pdcList.has(new NamespacedKey(Pvptoggle.pvptoggle,((Player)args.get("Player")).getUniqueId().toString()),PersistentDataType.TAG_CONTAINER)) {
sender.sendMessage(ChatColor.RED + "Der Spieler " + ((Player) args.get("Player")).getDisplayName() + ChatColor.RED + " ist schon in deiner " + listName);
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);
}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() + ChatColor.GREEN + " wurde zu deiner "+listName+" hinzugefügt");
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");
}
} else if (action == 3) {
//entfernen
if (!pdcList.has(new NamespacedKey(Pvptoggle.pvptoggle,((Player)args.get("Player")).getUniqueId().toString()),PersistentDataType.TAG_CONTAINER)) {
sender.sendMessage(ChatColor.RED + "Der Spieler " + ((Player) args.get("Player")).getDisplayName() + ChatColor.RED + " ist nicht in deiner "+listName);
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);
}else{
pdcList.remove(new NamespacedKey(Pvptoggle.pvptoggle,((Player)args.get("Player")).getUniqueId().toString()));
sender.sendMessage(ChatColor.GREEN + ((Player)args.get("Player")).getDisplayName() + ChatColor.GREEN + " wurde aus deiner "+listName+" entfernt");
pdcList.remove(new NamespacedKey(Pvptoggle.pvptoggle,ptarget.getUniqueId().toString()));
sender.sendMessage(ChatColor.GREEN + ptarget.getDisplayName() + ChatColor.GREEN + " wurde aus deiner "+listName+" entfernt");
}
} else {
sender.sendMessage("Fehler");
@@ -11,6 +11,7 @@ public final class Pvptoggle extends JavaPlugin {
public void onEnable() {
Bukkit.getPluginManager().registerEvents(new PvpEvent(), this);
Bukkit.getPluginManager().registerEvents(new InventoryListener(), this);
Bukkit.getPluginManager().registerEvents(new ListListener(), this);
Config.createConfig();
if (Config.getPvpTime() < 0) {
Config.setPvpTime(0);