Bug fixes
This commit is contained in:
@@ -7,7 +7,7 @@ import java.time.Instant;
|
||||
|
||||
public class Config {
|
||||
|
||||
privat FileConfiguration config = Pvptoggle.pvptoggle.getConfig();
|
||||
private static FileConfiguration config = Pvptoggle.pvptoggle.getConfig();
|
||||
|
||||
public static void createConfig() {
|
||||
config.options().copyDefaults(true);
|
||||
@@ -20,7 +20,7 @@ public class Config {
|
||||
return config.getInt("pvp-time-hit-back");
|
||||
}
|
||||
|
||||
public static int getPvpProt() {
|
||||
public static boolean getPvpProt() {
|
||||
return config.getBoolean("default-pvp-protection");
|
||||
}
|
||||
|
||||
|
||||
@@ -1,43 +1,50 @@
|
||||
package benkralex.pvptoggle;
|
||||
|
||||
import org.bukkit.NamespacedKey;
|
||||
import benkralex.pvptoggle.InventoryMenu;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||
import org.bukkit.inventory.Inventory;
|
||||
import org.bukkit.persistence.PersistentDataContainer;
|
||||
import org.bukkit.persistence.PersistentDataType;
|
||||
|
||||
public class InventoryListener implements Listener{
|
||||
@EventHandler
|
||||
public void onPvpMenuInteract(InventoryClickEvent e) {
|
||||
Player p = e.getWhoClicked();
|
||||
Player p = (Player) e.getWhoClicked();
|
||||
Inventory inv = e.getClickedInventory();
|
||||
String invtitle = e.getView().getTitle();
|
||||
PersistentDataContainer pdc = p.getPersistentDataContainer();
|
||||
NamespacedKey pvptoggle = new NamespacedKey(Pvptoggle.pvptoggle, "pvptoggle");
|
||||
NamespacedKey ultra = new NamespacedKey(Pvptoggle.pvptoggle, "ultra");
|
||||
if (invtitle.equals("PvP-Menu")) {
|
||||
event.setCancelled(true);
|
||||
if (event.getCurrentItem() != null) {
|
||||
e.setCancelled(true);
|
||||
if (e.getCurrentItem() != null) {
|
||||
switch (e.getCurrentItem().getItemMeta().getDisplayName()) {
|
||||
case "Inventar schließen":
|
||||
p.closeInventory();
|
||||
break;
|
||||
case "Ultra an/aus schalten":
|
||||
multra.setDisplayName("Ultra an/aus schalten");
|
||||
if (pdc.has(ultra, PersistentDataType.BOOLEAN)) {
|
||||
pdc.set(ultra, PersistentDataType.BOOLEAN, !pdc.get(ultra, PersistentDataType.BOOLEAN));
|
||||
sender.sendMessage("PvP-Ultra ist für dich jetzt " + (pdc.get(pvptoggle, PersistentDataType.BOOLEAN)?"an":"aus"));
|
||||
p.sendMessage("PvP-Ultra ist für dich jetzt " + (pdc.get(pvptoggle, PersistentDataType.BOOLEAN)?"an":"aus"));
|
||||
inv.setItem(12, InventoryMenu.getMenuItem(1, p));
|
||||
} else {
|
||||
pdc.set(ultra, PersistentDataContainer.BOOLEAN, true);
|
||||
sender.sendMessage("PvP-Ultra ist für dich jetzt " + (pdc.get(pvptoggle, PersistentDataType.BOOLEAN)?"an":"aus"));
|
||||
pdc.set(ultra, PersistentDataType.BOOLEAN, true);
|
||||
p.sendMessage("PvP-Ultra ist für dich jetzt " + (pdc.get(pvptoggle, PersistentDataType.BOOLEAN)?"an":"aus"));
|
||||
inv.setItem(12, InventoryMenu.getMenuItem(1, p));
|
||||
}
|
||||
break;
|
||||
case "PvP-Schutz an/aus schalten":
|
||||
mtoggle.setDisplayName("PvP-Schutz an/aus schalten");
|
||||
if (pdc.has(pvptoggle, PersistentDataType.BOOLEAN)) {
|
||||
pdc.set(pvptoggle, PersistentDataType.BOOLEAN, !pdc.get(pvptoggle, PersistentDataType.BOOLEAN));
|
||||
sender.sendMessage("Dein PvP-Schutz ist jetzt " + (pdc.get(pvptoggle, PersistentDataType.BOOLEAN)?"an":"aus"));
|
||||
p.sendMessage("Dein PvP-Schutz ist jetzt " + (pdc.get(pvptoggle, PersistentDataType.BOOLEAN)?"an":"aus"));
|
||||
inv.setItem(10, InventoryMenu.getMenuItem(0, p));
|
||||
} else {
|
||||
pdc.set(pvptoggle, PersistentDataType.BOOLEAN, Config.getPvpProt());
|
||||
sender.sendMessage("Dein PvP-Schutz ist jetzt " + (pdc.get(pvptoggle, "pvptoggle"), PersistentDataType.BOOLEAN)?"an":"aus"));
|
||||
p.sendMessage("Dein PvP-Schutz ist jetzt " + (pdc.get(pvptoggle, PersistentDataType.BOOLEAN)?"an":"aus"));
|
||||
inv.setItem(10, InventoryMenu.getMenuItem(0, p));
|
||||
}
|
||||
break;
|
||||
@@ -55,7 +62,7 @@ public class InventoryListener implements Listener{
|
||||
}
|
||||
}
|
||||
} else if (invtitle.equals("Whitelist-Menu")) {
|
||||
if (event.getCurrentItem() != null) {
|
||||
if (e.getCurrentItem() != null) {
|
||||
switch (e.getCurrentItem().getItemMeta().getDisplayName()) {
|
||||
case "Inventar schließen":
|
||||
p.closeInventory();
|
||||
@@ -67,7 +74,7 @@ public class InventoryListener implements Listener{
|
||||
}
|
||||
}
|
||||
} else if (invtitle.equals("Blacklist-Menu")) {
|
||||
if (event.getCurrentItem() != null) {
|
||||
if (e.getCurrentItem() != null) {
|
||||
switch (e.getCurrentItem().getItemMeta().getDisplayName()) {
|
||||
case "Inventar schließen":
|
||||
p.closeInventory();
|
||||
@@ -79,7 +86,7 @@ public class InventoryListener implements Listener{
|
||||
}
|
||||
}
|
||||
} else if (invtitle.equals("Operator-Menu")) {
|
||||
if (event.getCurrentItem() != null) {
|
||||
if (e.getCurrentItem() != null) {
|
||||
switch (e.getCurrentItem().getItemMeta().getDisplayName()) {
|
||||
case "Inventar schließen":
|
||||
p.closeInventory();
|
||||
@@ -90,21 +97,21 @@ public class InventoryListener implements Listener{
|
||||
break;
|
||||
case "Standard PvP-Schutz an/aus schalten":
|
||||
Config.setPvpProt(!Config.getPvpProt());
|
||||
inv.set(11, InventoryMenu.getMenuItem(8));
|
||||
inv.setItem(11, InventoryMenu.getMenuItem(8, p));
|
||||
break;
|
||||
case "Zeit um zurückzuschlagen erhöhen":
|
||||
if (e.isRightClick()) {
|
||||
Config.setPvpTime(getPvpTime() + 1);
|
||||
Config.setPvpTime(Config.getPvpTime() + 1);
|
||||
} else if (e.isLeftClick()) {
|
||||
Config.setPvpTime(getPvpTime() + 10);
|
||||
Config.setPvpTime(Config.getPvpTime() + 10);
|
||||
}
|
||||
inv.setItem(15, InventoryMenu.getMenuItem(9));
|
||||
inv.setItem(15, InventoryMenu.getMenuItem(9, p));
|
||||
break;
|
||||
case "Zeit um zurückzuschlagen erniedrigen":
|
||||
if (e.isRightClick()) {
|
||||
Config.setPvpTime(getPvpTime() - 1);
|
||||
Config.setPvpTime(Config.getPvpTime() - 1);
|
||||
} else if (e.isLeftClick()) {
|
||||
Config.setPvpTime(getPvpTime() - 10);
|
||||
Config.setPvpTime(Config.getPvpTime() - 10);
|
||||
}
|
||||
inv.setItem(15, InventoryMenu.getMenuItem(9, p));
|
||||
break;
|
||||
|
||||
@@ -1,6 +1,20 @@
|
||||
package benkralex.pvptoggle;
|
||||
|
||||
import benkralex.pvptoggle.Config;
|
||||
import benkralex.pvptoggle.Pvptoggle;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.NamespacedKey;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.Inventory;
|
||||
import org.bukkit.inventory.ItemFlag;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
import org.bukkit.persistence.PersistentDataType;
|
||||
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class InventoryMenu {
|
||||
public static final int PVP_TOGGLE=0;
|
||||
@@ -17,37 +31,41 @@ public class InventoryMenu {
|
||||
public static final int PVP_TIME_MINUS=11;
|
||||
|
||||
public static ItemStack getMenuItem(int i, Player p) {
|
||||
switch i {
|
||||
List<String> lore = new ArrayList<String >();
|
||||
switch (i) {
|
||||
case 0:
|
||||
ItemStack itoggle = new ItemStack(Material.IRON_SWORD);
|
||||
ItemMeta mtoggle = itoggle.getItemMeta();
|
||||
mtoggle.setDispalyName("PvP-Schutz an/aus schalten");
|
||||
mtoggle.setDisplayName("PvP-Schutz an/aus schalten");
|
||||
mtoggle.addItemFlags(ItemFlag.HIDE_ATTRIBUTES);
|
||||
mtoggle.setLore(ChatColor.BLUE + (p.getPersistentDataContainer().get(new NamespacedKey(Pvptoggle.pvptoggle, "pvptoggle"), PersistentDataType.BOOLEAN)?"Aus":"An" +) " schalten");
|
||||
String s = p.getPersistentDataContainer().get(new NamespacedKey(Pvptoggle.pvptoggle, "pvptoggle"), PersistentDataType.BOOLEAN)?"Aus":"An";
|
||||
lore.add(ChatColor.BLUE + s + " schalten");
|
||||
mtoggle.setLore(lore);
|
||||
itoggle.setItemMeta(mtoggle);
|
||||
return itoggle;
|
||||
break;
|
||||
case 1:
|
||||
ItemStack iultra = new ItemStack(Material.DIAMOND_SWORD);
|
||||
ItemMeta multra = iultra.getItemMeta();
|
||||
multra.setDispalyName("Ultra an/aus schalten");
|
||||
multra.setDisplayName("Ultra an/aus schalten");
|
||||
multra.addItemFlags(ItemFlag.HIDE_ATTRIBUTES);
|
||||
multra.setLore(ChatColor.BLUE + (p.getPersistentDataContainer().get(new NamespacedKey(Pvptoggle.pvptoggle, "pvpultra"), PersistentDataType.BOOLEAN)?"Aus":"An") + " schalten");
|
||||
lore.add(ChatColor.BLUE + (p.getPersistentDataContainer().get(new NamespacedKey(Pvptoggle.pvptoggle, "pvpultra"), PersistentDataType.BOOLEAN)?"Aus":"An") + " schalten");
|
||||
multra.setLore(lore);
|
||||
iultra.setItemMeta(multra);
|
||||
return iultra;
|
||||
break;
|
||||
case 2:
|
||||
ItemStack iwhitelist = new ItemStack(Material.WHITE_CONCRET);
|
||||
ItemStack iwhitelist = new ItemStack(Material.WHITE_CONCRETE);
|
||||
ItemMeta mwhitelist = iwhitelist.getItemMeta();
|
||||
mwhitelist.setDispalyName("Whitelist");
|
||||
mwhitelist.setDisplayName("Whitelist");
|
||||
mwhitelist.addItemFlags(ItemFlag.HIDE_ATTRIBUTES);
|
||||
iwhitelist.setItemMeta(mwhitelist);
|
||||
return iwhitelist;
|
||||
break;
|
||||
case 3:
|
||||
ItemStack iblacklist = new ItemStack(Material.BLACK_CONCRET);
|
||||
ItemStack iblacklist = new ItemStack(Material.BLACK_CONCRETE);
|
||||
ItemMeta mblacklist = iblacklist.getItemMeta();
|
||||
mblacklist.setDispalyName("Blacklist");
|
||||
mblacklist.setDisplayName("Blacklist");
|
||||
mblacklist.addItemFlags(ItemFlag.HIDE_ATTRIBUTES);
|
||||
iblacklist.setItemMeta(mblacklist);
|
||||
return iblacklist;
|
||||
@@ -55,7 +73,7 @@ public class InventoryMenu {
|
||||
case 4:
|
||||
ItemStack iop = new ItemStack(Material.BEDROCK);
|
||||
ItemMeta mop = iop.getItemMeta();
|
||||
mop.setDispalyName("Menu für Operators");
|
||||
mop.setDisplayName("Menu für Operators");
|
||||
mop.addItemFlags(ItemFlag.HIDE_ATTRIBUTES);
|
||||
iop.setItemMeta(mop);
|
||||
/*if (p.hasPermission("pvp.inv.op")) {
|
||||
@@ -66,7 +84,7 @@ public class InventoryMenu {
|
||||
case 5:
|
||||
ItemStack iclose = new ItemStack(Material.BARRIER);
|
||||
ItemMeta mclose = iclose.getItemMeta();
|
||||
mclose.setDispalyName("Inventar schließen");
|
||||
mclose.setDisplayName("Inventar schließen");
|
||||
mclose.addItemFlags(ItemFlag.HIDE_ATTRIBUTES);
|
||||
iclose.setItemMeta(mclose);
|
||||
//inv.setItem(8, getMenuItem(5));
|
||||
@@ -75,14 +93,14 @@ public class InventoryMenu {
|
||||
case 6:
|
||||
ItemStack iback = new ItemStack(Material.HOPPER);
|
||||
ItemMeta mback = iback.getItemMeta();
|
||||
mback.setDispalyName("Zurück");
|
||||
mback.setDisplayName("Zurück");
|
||||
mback.addItemFlags(ItemFlag.HIDE_ATTRIBUTES);
|
||||
iback.setItemMeta(mback);
|
||||
//inv.setItem(26, getMenuItem(6));
|
||||
return iback;
|
||||
break;
|
||||
case 7:
|
||||
ItemStack ivoid = new ItemStack(Material.LIGHT_GRAY_STAIND_GLASS_PAIN);
|
||||
ItemStack ivoid = new ItemStack(Material.LIGHT_GRAY_STAINED_GLASS_PANE);
|
||||
ItemMeta mvoid = ivoid.getItemMeta();
|
||||
mvoid.setDisplayName("");
|
||||
mvoid.addItemFlags(ItemFlag.HIDE_ATTRIBUTES);
|
||||
@@ -98,7 +116,8 @@ public class InventoryMenu {
|
||||
ItemStack idefaultprot = new ItemStack(Material.GOLDEN_SWORD);
|
||||
ItemMeta mdefaultprot = idefaultprot.getItemMeta();
|
||||
mdefaultprot.setDisplayName("Standard PvP-Schutz an/aus schalten");
|
||||
mdefaultprot.setLore(ChatColor.BLUE + (Config.getPvpProt()?"Aus":"An") + " schalten");
|
||||
lore.add(ChatColor.BLUE + (Config.getPvpProt()?"Aus":"An") + " schalten");
|
||||
mdefaultprot.setLore(lore);
|
||||
mdefaultprot.addItemFlags(ItemFlag.HIDE_ATTRIBUTES);
|
||||
idefaultprot.setItemMeta(mdefaultprot);
|
||||
return idefaultprot;
|
||||
@@ -107,7 +126,8 @@ public class InventoryMenu {
|
||||
ItemStack ipvptime = new ItemStack(Material.CLOCK);
|
||||
ItemMeta mpvptime = ipvptime.getItemMeta();
|
||||
mpvptime.setDisplayName("Zeit um zurückzuschlagen");
|
||||
mpvptime.setLore(ChatColor.BLUE + Config.getPvpTime() + " Sekunden um zurückzuschlagen");
|
||||
lore.add(ChatColor.BLUE + "" + Config.getPvpTime() + " Sekunden um zurückzuschlagen");
|
||||
mpvptime.setLore(lore);
|
||||
mpvptime.addItemFlags(ItemFlag.HIDE_ATTRIBUTES);
|
||||
ipvptime.setItemMeta(mpvptime);
|
||||
return ipvptime;
|
||||
@@ -117,7 +137,9 @@ public class InventoryMenu {
|
||||
ItemMeta mpvptimeplus = ipvptimeplus.getItemMeta();
|
||||
mpvptimeplus.setDisplayName("Zeit um zurückzuschlagen erhöhen");
|
||||
mpvptimeplus.addItemFlags(ItemFlag.HIDE_ATTRIBUTES);
|
||||
mpvptimeplus.setLore(ChatColor.BLUE + "Rechtsklick:" + ChatColor.GREEN + " +1\n" + ChatColor.BLUE + "Linksklick:" + ChatColor.GREEN + " +10");
|
||||
lore.add(ChatColor.BLUE + "Rechtsklick:" + ChatColor.GREEN + " +1");
|
||||
lore.add(ChatColor.BLUE + "Linksklick:" + ChatColor.GREEN + " +10");
|
||||
mpvptimeplus.setLore(lore);
|
||||
ipvptimeplus.setItemMeta(mpvptimeplus);
|
||||
return ipvptimeplus;
|
||||
break;
|
||||
@@ -126,24 +148,29 @@ public class InventoryMenu {
|
||||
ItemMeta mpvptimeminus = ipvptimeminus.getItemMeta();
|
||||
mpvptimeminus.setDisplayName("Zeit um zurückzuschlagen verringern");
|
||||
mpvptimeminus.addItemFlags(ItemFlag.HIDE_ATTRIBUTES);
|
||||
mpvptimeminus.setLore(ChatColor.BLUE + "Rechtsklick:" + ChatColor.RED + " -1\n" + ChatColor.BLUE + "Linksklick:" + ChatColor.RED + " -10");
|
||||
lore.add(ChatColor.BLUE + "Rechtsklick:" + ChatColor.RED + " -1");
|
||||
lore.add(ChatColor.BLUE + "Linksklick:" + ChatColor.RED + " -10");
|
||||
mpvptimeminus.setLore(lore);
|
||||
ipvptimeminus.setItemMeta(mpvptimeminus);
|
||||
return ipvptimeminus;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static Inventory pvpMenuFillEmpty(Inventory inv, Player p) {
|
||||
for (int i = 0, i <= (inv.getSize-1), i++) {
|
||||
if (inv.getItem(i) == Material.AIR) {
|
||||
inv.set(i, getMenuItem(7, p));
|
||||
for (int i = 0; i <= inv.getSize()-1; i++) {
|
||||
if (inv.getItem(i).equals(Material.AIR)) {
|
||||
inv.setItem(i, getMenuItem(7, p));
|
||||
}
|
||||
}
|
||||
return inv;
|
||||
}
|
||||
|
||||
public static Inventory pvpMenu(Player p) {
|
||||
Inventory inv = new Bukkit.createInventory(null, 3*9, "PvP-Menu");
|
||||
Inventory inv = Bukkit.createInventory(null, 3 * 9, "PvP-Menu");
|
||||
|
||||
inv.setItem(10, getMenuItem(0, p));
|
||||
inv.setItem(12, getMenuItem(1, p));
|
||||
@@ -159,7 +186,7 @@ public class InventoryMenu {
|
||||
|
||||
|
||||
public static Inventory pvpBlacklistMenu(Player p) {
|
||||
Inventory inv = new Bukkit.createInventory(null, 3*9, "Blacklist-Menu");
|
||||
Inventory inv = Bukkit.createInventory(null, 3*9, "Blacklist-Menu");
|
||||
inv.setItem(8, getMenuItem(5, p));
|
||||
inv.setItem(26, getMenuItem(6, p));
|
||||
|
||||
@@ -168,7 +195,7 @@ public class InventoryMenu {
|
||||
|
||||
|
||||
public static Inventory pvpWhitelistMenu(Player p) {
|
||||
Inventory inv = new Bukkit.createInventory(null, 3*9, "Whitelist-Menu");
|
||||
Inventory inv = Bukkit.createInventory(null, 3*9, "Whitelist-Menu");
|
||||
inv.setItem(8, getMenuItem(5, p));
|
||||
inv.setItem(26, getMenuItem(6, p));
|
||||
|
||||
@@ -177,7 +204,7 @@ public class InventoryMenu {
|
||||
|
||||
|
||||
public static Inventory pvpOpSettingsMenu(Player p) {
|
||||
Inventory inv = new Bukkit.createInventory(null, 3*9, "Operator-Menu");
|
||||
Inventory inv = Bukkit.createInventory(null, 3*9, "Operator-Menu");
|
||||
inv.setItem(8, getMenuItem(5, p));
|
||||
inv.setItem(26, getMenuItem(6, p));
|
||||
inv.setItem(11, getMenuItem(8, p));
|
||||
|
||||
@@ -2,12 +2,20 @@ package benkralex.pvptoggle;
|
||||
|
||||
import dev.jorel.commandapi.CommandAPI;
|
||||
import dev.jorel.commandapi.CommandAPICommand;
|
||||
import dev.jorel.commandapi.arguments.PlayerArgument;
|
||||
import dev.jorel.commandapi.executors.CommandArguments;
|
||||
import net.md_5.bungee.api.ChatColor;
|
||||
import net.md_5.bungee.api.chat.ClickEvent;
|
||||
import net.md_5.bungee.api.chat.TextComponent;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.NamespacedKey;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.persistence.PersistentDataContainer;
|
||||
import org.bukkit.persistence.PersistentDataType;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
|
||||
public class PvpCommand {
|
||||
public static void createPvpCommand() {
|
||||
//Create PVP-Command with Command-API
|
||||
@@ -60,7 +68,7 @@ public class PvpCommand {
|
||||
.withUsage("/pvp blacklist remove <Player>")
|
||||
.withArguments(new PlayerArgument("Player"))
|
||||
.withHelp("Spieler aus Blacklist entfernen", "Du kannst damit Spieler aus deiner Blacklist entfernen.")))
|
||||
.withSubcommand(new ConmmandAPICommand("fight")
|
||||
.withSubcommand(new CommandAPICommand("fight")
|
||||
.executesPlayer((sender, args)->{pvpFight(sender, args, 0);})
|
||||
.withPermission("pvp.fight")
|
||||
.withUsage("/pvp fight <Player>")
|
||||
@@ -95,7 +103,7 @@ public class PvpCommand {
|
||||
sender.sendMessage("Dein PvP-Schutz ist jetzt " + (pdc.get(pvptoggle, PersistentDataType.BOOLEAN)?"an":"aus"));
|
||||
} else {
|
||||
pdc.set(pvptoggle, PersistentDataType.BOOLEAN, Config.getPvpProt());
|
||||
sender.sendMessage("Dein PvP-Schutz ist jetzt " + (pdc.get(pvptoggle, "pvptoggle"), PersistentDataType.BOOLEAN)?"an":"aus"));
|
||||
sender.sendMessage("Dein PvP-Schutz ist jetzt " + (pdc.get(pvptoggle, PersistentDataType.BOOLEAN)?"an":"aus"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -107,17 +115,18 @@ public class PvpCommand {
|
||||
PersistentDataContainer pdc = sender.getPersistentDataContainer();
|
||||
if (pdc.has(ultra, PersistentDataType.BOOLEAN)) {
|
||||
pdc.set(ultra, PersistentDataType.BOOLEAN, !pdc.get(ultra, PersistentDataType.BOOLEAN));
|
||||
sender.sendMessage("PvP-Ultra ist für dich jetzt " + (pdc.get(pvptoggle, PersistentDataType.BOOLEAN)?"an":"aus"));
|
||||
sender.sendMessage("PvP-Ultra ist für dich jetzt " + (pdc.get(ultra, PersistentDataType.BOOLEAN)?"an":"aus"));
|
||||
} else {
|
||||
pdc.set(ultra, PersistentDataContainer.BOOLEAN, true);
|
||||
sender.sendMessage("PvP-Ultra ist für dich jetzt " + (pdc.get(pvptoggle, PersistentDataType.BOOLEAN)?"an":"aus"));
|
||||
pdc.set(ultra, PersistentDataType.BOOLEAN, true);
|
||||
sender.sendMessage("PvP-Ultra ist für dich jetzt " + (pdc.get(ultra, PersistentDataType.BOOLEAN)?"an":"aus"));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
public static void pvpWhitelist(Player sender, CommandArguments args, Int action) {
|
||||
public static void pvpWhitelist(Player sender, CommandArguments args, int action) {
|
||||
//PvP Whitelist Command
|
||||
Player pargs = (Player) args.get("Player");
|
||||
PersistentDataContainer pdc = sender.getPersistentDataContainer();
|
||||
NamespacedKey whitelist = new NamespacedKey(Pvptoggle.pvptoggle, "whitelist");
|
||||
if (action == 1) {
|
||||
@@ -128,7 +137,7 @@ public class PvpCommand {
|
||||
int i = 0;
|
||||
for (NamespacedKey whitelistkey:pdcwhitelist.getKeys()) {
|
||||
i++;
|
||||
sender.sendMessage(ChatColor.LIGHT_BLUE + i + ". " + ChatColor.BLUE + Bukkit.getPlayer(UUID.fromString(pdcwhitelist.get(whitelistkey, PersistentDataType.STRING))).getDisplayName());
|
||||
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");
|
||||
@@ -143,8 +152,8 @@ public class PvpCommand {
|
||||
//pdc erstellen
|
||||
}
|
||||
PersistentDataContainer pdcwhitelist = pdc.get(whitelist, PersistentDataType.TAG_CONTAINER);
|
||||
pdcwhitelist.add(new NamespacedKey(Pvptoggle.pvptoggle, args.get("Player").getUniqueId().toString()), PersistentDataType.STRING, args.get("Player").getUniqueId().toString()));
|
||||
sender.sendMessage(ChatColor.LIGHT_GREEN + args.get("Player").getDisplayName() + "wurde zu deiner Whitelist hinzugefügt");
|
||||
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) {
|
||||
@@ -154,11 +163,11 @@ public class PvpCommand {
|
||||
return;
|
||||
}
|
||||
PersistentDataContainer whitelistpdc = pdc.get(whitelist, PersistentDataType.TAG_CONTAINER);
|
||||
if (whitelistpdc.has(new NamespacedKey(Pvptoggle.pvptoggle, args.get("Player").getUniqueId()))) {
|
||||
whitelistpdc.remove(new NamespacedKey(Pvptoggle.pvptoggle, args.get("Player").getUniqueId().toString()), PersistentDataType.STRING);
|
||||
sender.sendMessage(ChatColor.LIGHT_GREEN + args.get("Player").getDispalyName() + "wurde aus deiner Whitelist entfernt");
|
||||
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 + args.get("Player").getDisplayName() + "ist nicht in deiner Whitelist");
|
||||
sender.sendMessage(ChatColor.RED + pargs.getDisplayName() + "ist nicht in deiner Whitelist");
|
||||
}
|
||||
|
||||
sender.sendMessage(ChatColor.RED + "Die Whitelist funktioniert aktuell nicht");
|
||||
@@ -169,8 +178,9 @@ public class PvpCommand {
|
||||
|
||||
|
||||
|
||||
public static void pvpBlacklist(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) {
|
||||
@@ -181,7 +191,7 @@ public class PvpCommand {
|
||||
int i = 0;
|
||||
for (NamespacedKey blacklistkey:pdcblacklist.getKeys()) {
|
||||
i++;
|
||||
sender.sendMessage(ChatColor.LIGHT_BLUE + i + ". " + ChatColor.BLUE + Bukkit.getPlayer(UUID.fromString(pdcblacklist.get(blacklistkey, PersistentDataType.STRING))).getDisplayName());
|
||||
sender.sendMessage(ChatColor.BLUE + "" + i + ". " + ChatColor.BLUE + "" + Bukkit.getPlayer(UUID.fromString(pdcblacklist.get(blacklistkey, PersistentDataType.STRING))).getDisplayName());
|
||||
}
|
||||
} else {
|
||||
sender.sendMessage("Deine Blacklist ist leer");
|
||||
@@ -195,23 +205,23 @@ public class PvpCommand {
|
||||
if (!pdc.has(blacklist, PersistentDataType.TAG_CONTAINER)) {
|
||||
//pdc erstellen
|
||||
}
|
||||
PersistentDataContainer pdcblacklist = pdc.get(blacklistlist, PersistentDataType.TAG_CONTAINER);
|
||||
pdcblacklist.add(new NamespacedKey(Pvptoggle.pvptoggle, args.get("Player").getUniqueId().toString()), PersistentDataType.STRING, args.get("Player").getUniqueId().toString()));
|
||||
sender.sendMessage(ChatColor.LIGHT_GREEN + args.get("Player").getDisplayName() + "wurde zu deiner Blacklist hinzugefügt");
|
||||
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(blacklistlist, PersistentDataType.TAG_CONTAINER)) {
|
||||
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, args.get("Player").getUniqueId()))) {
|
||||
whitelistpdc.remove(new NamespacedKey(Pvptoggle.pvptoggle, args.get("Player").getUniqueId().toString()), PersistentDataType.STRING);
|
||||
sender.sendMessage(ChatColor.LIGHT_GREEN + args.get("Player").getDispalyName() + "wurde aus deiner Blacklist entfernt");
|
||||
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 + args.get("Player").getDisplayName() + "ist nicht in deiner Blacklist");
|
||||
sender.sendMessage(ChatColor.RED + pargs.getDisplayName() + "ist nicht in deiner Blacklist");
|
||||
}
|
||||
|
||||
sender.sendMessage(ChatColor.RED + "Die Blacklist funktioniert aktuell nicht");
|
||||
@@ -220,17 +230,17 @@ public class PvpCommand {
|
||||
}
|
||||
}
|
||||
|
||||
public static void pvpFight(Player sender, Commandarguments args, int action) {
|
||||
public static void pvpFight(Player sender, CommandArguments args, int action) {
|
||||
//PvP Fight Command
|
||||
if (action == 0) {
|
||||
//Kampf herrausgefordert
|
||||
Player pargs = args.get("Player");
|
||||
TextComponent accept = new TextComponent(ChatColor.LIGHT_GREEN + "Annehmen");
|
||||
Player pargs = (Player) args.get("Player");
|
||||
TextComponent accept = new TextComponent(ChatColor.GREEN + "Annehmen");
|
||||
TextComponent deny = new TextComponent(ChatColor.RED + "Ablehnen");
|
||||
accept.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/pvp fight accept"));
|
||||
deny.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/pvp fight deny"));
|
||||
pargs.sendMessage("Du wurdest von " + sender.getDisplayName() + " zu einem Kampf herrausgefordert.");
|
||||
pargs.sendMessage(accept + ChatColor.WHITE + " | " + deny);
|
||||
pargs.sendMessage(accept + "" + ChatColor.WHITE + " | " + deny);
|
||||
sender.sendMessage("Der Command funktioniert noch nicht");
|
||||
} else if (action == 1) {
|
||||
//Kampf angenommen
|
||||
|
||||
@@ -10,6 +10,7 @@ import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
||||
import org.bukkit.event.player.PlayerJoinEvent;
|
||||
import org.bukkit.event.player.PlayerQuitEvent;
|
||||
import org.bukkit.persistence.PersistentDataType;
|
||||
import org.bukkit.projectiles.ProjectileSource;
|
||||
|
||||
public class PvpEvent implements Listener {
|
||||
@@ -50,10 +51,10 @@ public class PvpEvent implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void playerJoinListener(PlayerJoinEvent event) {
|
||||
if (!event.getplayer().getPersistentDataContainer().has(new NamespacedKey(Pvptoggle.pvptoggle, "pvptoggle"), PersistentDataType.BOOLEAN)) {
|
||||
if (!event.getPlayer().getPersistentDataContainer().has(new NamespacedKey(Pvptoggle.pvptoggle, "pvptoggle"), PersistentDataType.BOOLEAN)) {
|
||||
event.getPlayer().getPersistentDataContainer().set(new NamespacedKey(Pvptoggle.pvptoggle, "pvptoggle"), PersistentDataType.BOOLEAN, Config.getPvpProt());
|
||||
} else {
|
||||
event.getPlayer().sendMessage("Dein PvP-Schutz ist " + (pdc.get(new NamespacedKey(Pvptoggle.pvptoggle, "pvptoggle"), PersistentDataType.BOOLEAN)?"an":"aus"));
|
||||
event.getPlayer().sendMessage("Dein PvP-Schutz ist " + (event.getPlayer().getPersistentDataContainer().get(new NamespacedKey(Pvptoggle.pvptoggle, "pvptoggle"), PersistentDataType.BOOLEAN)?"an":"aus"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,13 +11,15 @@ public class Util {
|
||||
public static boolean canPvP(Player damager, Player victim){
|
||||
PersistentDataContainer damagerPDC=damager.getPersistentDataContainer();
|
||||
PersistentDataContainer victimPDC=victim.getPersistentDataContainer();
|
||||
Boolean ultradamager;
|
||||
Boolean ultravictim;
|
||||
Boolean toggle = damagerPDC.get(new NamespacedKey(Pvptoggle.pvptoggle, "pvptoggle"),PersistentDataType.BOOLEAN);
|
||||
if (victimPDC.has(new NamespacedKey(Pvptoggle.pvptoggle, "ultra"),PersistentDataType.BOOLEAN)) {
|
||||
Boolean ultravictim = victimPDC.get(new NamespacedKey(Pvptoggle.pvptoggle, "ultra"),PersistentDataType.BOOLEAN);
|
||||
} else {Boolean ultravictim = false;}
|
||||
ultravictim = victimPDC.get(new NamespacedKey(Pvptoggle.pvptoggle, "ultra"),PersistentDataType.BOOLEAN);
|
||||
} else {ultravictim = false;}
|
||||
if (damagerPDC.has(new NamespacedKey(Pvptoggle.pvptoggle, "ultra"),PersistentDataType.BOOLEAN)) {
|
||||
Boolean ultradamager = damagerPDC.get(new NamespacedKey(Pvptoggle.pvptoggle, "ultra"),PersistentDataType.BOOLEAN);
|
||||
} else {Boolean ultradamager = false;}
|
||||
ultradamager = damagerPDC.get(new NamespacedKey(Pvptoggle.pvptoggle, "ultra"),PersistentDataType.BOOLEAN);
|
||||
} else {ultradamager = false;}
|
||||
|
||||
if(toggle!=null) {
|
||||
return !toggle || checkPvPData(damager, victim) || !ultradamager || !ultravictim;
|
||||
@@ -38,7 +40,7 @@ public class Util {
|
||||
}
|
||||
public static void delOldData(PersistentDataContainer pvpdamagers){
|
||||
for(NamespacedKey damagerKey:pvpdamagers.getKeys()){
|
||||
if(pvpdamagers.get(damagerKey,PersistentDataType.LONG)>= Instant.now().getEpochSecond() + Config.getpvptime()){
|
||||
if(pvpdamagers.get(damagerKey,PersistentDataType.LONG)>= Instant.now().getEpochSecond() + Config.getPvpTime()){
|
||||
pvpdamagers.remove(damagerKey);
|
||||
}
|
||||
}
|
||||
@@ -54,14 +56,4 @@ public class Util {
|
||||
damagersOfVictim.set(new NamespacedKey(Pvptoggle.pvptoggle, damagerUUID), PersistentDataType.LONG, Instant.now().getEpochSecond());
|
||||
victimPDC.set(new NamespacedKey(Pvptoggle.pvptoggle,"pvpdamagers"), PersistentDataType.TAG_CONTAINER,damagersOfVictim);
|
||||
}
|
||||
|
||||
public static void pdcTagContaineradd(Player p, NamespacedKey key, String s, Boolean value) {
|
||||
PersistentDataContainer pdc = p.getPersistentDataContainer();
|
||||
PersistentDataContainer pdctagcontainer = pdc.get(key, PersitentDataType.TAG_CONTAINER);
|
||||
if(pdctagcontainer == null) {
|
||||
pdc.tagcontainer = pdc.getAdapterContext().newPersistentDataContainer();
|
||||
}
|
||||
pdctagcontainer.set(new NamespacedKey(Pvptoggle.pvptoggle, s), PersistentDataType.BOOLEAN, value);
|
||||
pdc.set(key,PersistentDataType.TAG_CONTAINER, pdctagcontainer);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user