fix OfflinePlayers
This commit is contained in:
@@ -12,6 +12,7 @@ import org.bukkit.inventory.meta.ItemMeta;
|
|||||||
import org.bukkit.inventory.meta.SkullMeta;
|
import org.bukkit.inventory.meta.SkullMeta;
|
||||||
import org.bukkit.persistence.PersistentDataContainer;
|
import org.bukkit.persistence.PersistentDataContainer;
|
||||||
import org.bukkit.persistence.PersistentDataType;
|
import org.bukkit.persistence.PersistentDataType;
|
||||||
|
import org.bukkit.profile.PlayerProfile;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -200,8 +201,10 @@ public class InventoryMenu {
|
|||||||
for (NamespacedKey blacklistedPlayerUuid:pBlacklist.getKeys()) {
|
for (NamespacedKey blacklistedPlayerUuid:pBlacklist.getKeys()) {
|
||||||
ItemStack item = new ItemStack(Material.PLAYER_HEAD);
|
ItemStack item = new ItemStack(Material.PLAYER_HEAD);
|
||||||
SkullMeta m = (SkullMeta) item.getItemMeta();
|
SkullMeta m = (SkullMeta) item.getItemMeta();
|
||||||
m.setDisplayName(ChatColor.GREEN + Bukkit.getPlayer(UUID.fromString(blacklistedPlayerUuid.getKey())).getDisplayName());
|
OfflinePlayer target=Bukkit.getOfflinePlayer(UUID.fromString(blacklistedPlayerUuid.getKey()));
|
||||||
m.setOwningPlayer(Bukkit.getPlayer(UUID.fromString(blacklistedPlayerUuid.getKey())));
|
PlayerProfile profile=target.getPlayerProfile().update().join();
|
||||||
|
m.setDisplayName(ChatColor.GREEN + profile.getName());
|
||||||
|
m.setOwningPlayer(target);
|
||||||
List<String> lore = new ArrayList<>();
|
List<String> lore = new ArrayList<>();
|
||||||
lore.add(ChatColor.BLUE + "Rechtsklick:" + ChatColor.RED + " Spieler entfernen");
|
lore.add(ChatColor.BLUE + "Rechtsklick:" + ChatColor.RED + " Spieler entfernen");
|
||||||
m.setLore(lore);
|
m.setLore(lore);
|
||||||
@@ -229,8 +232,10 @@ public class InventoryMenu {
|
|||||||
for (NamespacedKey whitelistedPlayerUuid:pWhitelist.getKeys()) {
|
for (NamespacedKey whitelistedPlayerUuid:pWhitelist.getKeys()) {
|
||||||
ItemStack item = new ItemStack(Material.PLAYER_HEAD);
|
ItemStack item = new ItemStack(Material.PLAYER_HEAD);
|
||||||
SkullMeta m = (SkullMeta) item.getItemMeta();
|
SkullMeta m = (SkullMeta) item.getItemMeta();
|
||||||
m.setDisplayName(ChatColor.GREEN + Bukkit.getOfflinePlayer(UUID.fromString(whitelistedPlayerUuid.getKey())).getName());
|
OfflinePlayer target=Bukkit.getOfflinePlayer(UUID.fromString(whitelistedPlayerUuid.getKey()));
|
||||||
m.setOwningPlayer(Bukkit.getOfflinePlayer(UUID.fromString(whitelistedPlayerUuid.getKey())));
|
PlayerProfile profile=target.getPlayerProfile().update().join();
|
||||||
|
m.setDisplayName(ChatColor.GREEN + profile.getName());
|
||||||
|
m.setOwningPlayer(target);
|
||||||
List<String> lore = new ArrayList<>();
|
List<String> lore = new ArrayList<>();
|
||||||
lore.add(ChatColor.BLUE + "Rechtsklick:" + ChatColor.RED + " Spieler entfernen");
|
lore.add(ChatColor.BLUE + "Rechtsklick:" + ChatColor.RED + " Spieler entfernen");
|
||||||
m.setLore(lore);
|
m.setLore(lore);
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ 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;
|
||||||
|
import org.bukkit.profile.PlayerProfile;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
@@ -46,7 +47,7 @@ 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, (OfflinePlayer) 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 OfflinePlayerArgument("Player"))
|
.withArguments(new OfflinePlayerArgument("Player"))
|
||||||
@@ -135,6 +136,7 @@ public class PvpCommand {
|
|||||||
//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());
|
||||||
|
PlayerProfile targetProfile=ptarget.getPlayerProfile().update().join();
|
||||||
if (action == 1) {
|
if (action == 1) {
|
||||||
//anzeigen
|
//anzeigen
|
||||||
if(!pdcList.isEmpty()){
|
if(!pdcList.isEmpty()){
|
||||||
@@ -149,19 +151,19 @@ 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,targetProfile.getUniqueId().toString()),PersistentDataType.TAG_CONTAINER)) {
|
||||||
sender.sendMessage(ChatColor.RED + "Der Spieler " + ptarget.getName() + ChatColor.RED + " ist schon in deiner " + listName);
|
sender.sendMessage(ChatColor.RED + "Der Spieler " + targetProfile.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,targetProfile.getUniqueId().toString()),PersistentDataType.TAG_CONTAINER,pdcList.getAdapterContext().newPersistentDataContainer());
|
||||||
sender.sendMessage(ChatColor.GREEN + ptarget.getName() + ChatColor.GREEN + " wurde zu deiner "+listName+" hinzugefügt");
|
sender.sendMessage(ChatColor.GREEN + targetProfile.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,targetProfile.getUniqueId().toString()),PersistentDataType.TAG_CONTAINER)) {
|
||||||
sender.sendMessage(ChatColor.RED + "Der Spieler " + ptarget.getName() + ChatColor.RED + " ist nicht in deiner "+listName);
|
sender.sendMessage(ChatColor.RED + "Der Spieler " + targetProfile.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,targetProfile.getUniqueId().toString()));
|
||||||
sender.sendMessage(ChatColor.GREEN + ptarget.getName() + ChatColor.GREEN + " wurde aus deiner "+listName+" entfernt");
|
sender.sendMessage(ChatColor.GREEN + targetProfile.getName() + ChatColor.GREEN + " wurde aus deiner "+listName+" entfernt");
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
sender.sendMessage("Fehler");
|
sender.sendMessage("Fehler");
|
||||||
|
|||||||
Reference in New Issue
Block a user