This commit is contained in:
Benkralex
2023-08-26 20:39:29 +02:00
parent 7babcad82a
commit 54177410a1
30 changed files with 158 additions and 113 deletions
+1 -1
View File
@@ -6,7 +6,7 @@
<groupId>benkralex</groupId>
<artifactId>Pvptoggle</artifactId>
<version>1.4-FINAL</version>
<version>1.6-FINAL</version>
<packaging>jar</packaging>
<name>Pvptoggle</name>
@@ -2,12 +2,9 @@ package benkralex.pvptoggle;
import org.bukkit.configuration.file.FileConfiguration;
import java.io.File;
import java.time.Instant;
public class Config {
private static FileConfiguration config = Pvptoggle.pvptoggle.getConfig();
private static final FileConfiguration config = Pvptoggle.pvptoggle.getConfig();
public static void createConfig() {
config.options().copyDefaults(true);
@@ -19,103 +19,115 @@ public class InventoryListener implements Listener{
PersistentDataContainer pdc = p.getPersistentDataContainer();
NamespacedKey pvptoggle = new NamespacedKey(Pvptoggle.pvptoggle, "pvptoggle");
NamespacedKey ultra = new NamespacedKey(Pvptoggle.pvptoggle, "ultra");
if (invtitle.equals("PvP-Menu")) {
if (invtitle == "PvP-Menu") {
e.setCancelled(true);
if (e.getCurrentItem() != null) {
switch (e.getCurrentItem().getItemMeta().getDisplayName()) {
case "Inventar schließen":
p.closeInventory();
break;
case "Ultra an/aus schalten":
if (pdc.has(ultra, PersistentDataType.BOOLEAN)) {
pdc.set(ultra, PersistentDataType.BOOLEAN, !pdc.get(ultra, PersistentDataType.BOOLEAN));
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, 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":
if (pdc.has(pvptoggle, PersistentDataType.BOOLEAN)) {
pdc.set(pvptoggle, PersistentDataType.BOOLEAN, !pdc.get(pvptoggle, PersistentDataType.BOOLEAN));
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());
p.sendMessage("Dein PvP-Schutz ist jetzt " + (pdc.get(pvptoggle, PersistentDataType.BOOLEAN)?"an":"aus"));
inv.setItem(10, InventoryMenu.getMenuItem(0, p));
}
break;
case "Whitelist":
p.openInventory(InventoryMenu.pvpWhitelistMenu(p));
break;
case "Blacklist":
p.openInventory(InventoryMenu.pvpBlacklistMenu(p));
break;
case "Menu für Operators":
p.openInventory(InventoryMenu.pvpOpSettingsMenu(p));
break;
default:
break;
String iname = e.getCurrentItem().getItemMeta().getDisplayName();
if (iname.equals("Inventar schließen")) {
p.closeInventory();
return;
} else if (iname.equals("Ultra an/aus schalten")) {
if (pdc.has(ultra, PersistentDataType.BOOLEAN)) {
pdc.set(ultra, PersistentDataType.BOOLEAN, !pdc.get(ultra, PersistentDataType.BOOLEAN));
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, 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));
}
return;
} else if(iname.equals("PvP-Schutz an/aus schalten")) {
if (pdc.has(pvptoggle, PersistentDataType.BOOLEAN)) {
pdc.set(pvptoggle, PersistentDataType.BOOLEAN, !pdc.get(pvptoggle, PersistentDataType.BOOLEAN));
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());
p.sendMessage("Dein PvP-Schutz ist jetzt " + (pdc.get(pvptoggle, PersistentDataType.BOOLEAN)?"an":"aus"));
inv.setItem(10, InventoryMenu.getMenuItem(0, p));
}
return;
} else if (iname.equals("Whitelist")) {
p.closeInventory();
p.openInventory(InventoryMenu.pvpWhitelistMenu(p));
return;
} else if (iname.equals("Blacklist")) {
p.closeInventory();
p.openInventory(InventoryMenu.pvpBlacklistMenu(p));
return;
} else if (iname.equals("Menu für Operators")) {
p.closeInventory();
p.openInventory(InventoryMenu.pvpOpSettingsMenu(p));
return;
} else {
return;
}
}
} else if (invtitle.equals("Whitelist-Menu")) {
if (e.getCurrentItem() != null) {
switch (e.getCurrentItem().getItemMeta().getDisplayName()) {
case "Inventar schließen":
p.closeInventory();
break;
case "Zurück":
p.closeInventory();
p.openInventory(InventoryMenu.pvpMenu(p));
break;
e.setCancelled(true);
String iname = e.getCurrentItem().getItemMeta().getDisplayName();
if (iname.equals("Inventar schließen")) {
p.closeInventory();
return;
} else if (iname.equals("Zurück")) {
p.closeInventory();
p.openInventory(InventoryMenu.pvpMenu(p));
return;
} else {
return;
}
}
} else if (invtitle.equals("Blacklist-Menu")) {
if (e.getCurrentItem() != null) {
switch (e.getCurrentItem().getItemMeta().getDisplayName()) {
case "Inventar schließen":
p.closeInventory();
break;
case "Zurück":
p.closeInventory();
p.openInventory(InventoryMenu.pvpMenu(p));
break;
e.setCancelled(true);
String iname = e.getCurrentItem().getItemMeta().getDisplayName();
if (iname.equals("Inventar schließen")) {
p.closeInventory();
return;
} else if (iname.equals("Zurück")) {
p.closeInventory();
p.openInventory(InventoryMenu.pvpMenu(p));
return;
} else {
return;
}
}
} else if (invtitle.equals("Operator-Menu")) {
if (e.getCurrentItem() != null) {
switch (e.getCurrentItem().getItemMeta().getDisplayName()) {
case "Inventar schließen":
e.setCancelled(true);
String iname = e.getCurrentItem().getItemMeta().getDisplayName();
if (iname.equals("Inventar schließen")) {
p.closeInventory();
break;
case "Zurück":
return;
} else if (iname.equals("Zurück")) {
p.closeInventory();
p.openInventory(InventoryMenu.pvpMenu(p));
break;
case "Standard PvP-Schutz an/aus schalten":
Config.setPvpProt(!Config.getPvpProt());
inv.setItem(11, InventoryMenu.getMenuItem(8, p));
break;
case "Zeit um zurückzuschlagen erhöhen":
if (e.isRightClick()) {
Config.setPvpTime(Config.getPvpTime() + 1);
} else if (e.isLeftClick()) {
Config.setPvpTime(Config.getPvpTime() + 10);
}
inv.setItem(15, InventoryMenu.getMenuItem(9, p));
break;
case "Zeit um zurückzuschlagen erniedrigen":
if (e.isRightClick()) {
Config.setPvpTime(Config.getPvpTime() - 1);
} else if (e.isLeftClick()) {
Config.setPvpTime(Config.getPvpTime() - 10);
}
inv.setItem(15, InventoryMenu.getMenuItem(9, p));
break;
}
return;
} else if (iname.equals("Standard PvP-Schutz an/aus schalten")){
Config.setPvpProt(!Config.getPvpProt());
inv.setItem(11, InventoryMenu.getMenuItem(8, p));
return;
} else if (iname.equals("Zeit um zurückzuschlagen erhöhen")) {
if (e.isRightClick()) {
Config.setPvpTime(Config.getPvpTime() + 1);
} else if (e.isLeftClick()) {
Config.setPvpTime(Config.getPvpTime() + 10);
}
inv.setItem(15, InventoryMenu.getMenuItem(9, p));
return;
} else if (iname.equals("Zeit um zurückzuschlagen verringern")) {
if (e.isRightClick()) {
Config.setPvpTime(Config.getPvpTime() - 1);
} else if (e.isLeftClick()) {
Config.setPvpTime(Config.getPvpTime() - 10);
}
inv.setItem(15, InventoryMenu.getMenuItem(9, p));
return;
} else {
return;
}
}
}
}
@@ -31,7 +31,7 @@ public class InventoryMenu {
public static final int PVP_TIME_MINUS=11;
public static ItemStack getMenuItem(int i, Player p) {
List<String> lore = new ArrayList<String >();
List<String> lore = new ArrayList<>();
switch (i) {
case 0:
ItemStack itoggle = new ItemStack(Material.IRON_SWORD);
@@ -43,17 +43,15 @@ public class InventoryMenu {
mtoggle.setLore(lore);
itoggle.setItemMeta(mtoggle);
return itoggle;
break;
case 1:
ItemStack iultra = new ItemStack(Material.DIAMOND_SWORD);
ItemMeta multra = iultra.getItemMeta();
multra.setDisplayName("Ultra an/aus schalten");
multra.addItemFlags(ItemFlag.HIDE_ATTRIBUTES);
lore.add(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, "ultra"), PersistentDataType.BOOLEAN)?"Aus":"An") + " schalten");
multra.setLore(lore);
iultra.setItemMeta(multra);
return iultra;
break;
case 2:
ItemStack iwhitelist = new ItemStack(Material.WHITE_CONCRETE);
ItemMeta mwhitelist = iwhitelist.getItemMeta();
@@ -61,7 +59,6 @@ public class InventoryMenu {
mwhitelist.addItemFlags(ItemFlag.HIDE_ATTRIBUTES);
iwhitelist.setItemMeta(mwhitelist);
return iwhitelist;
break;
case 3:
ItemStack iblacklist = new ItemStack(Material.BLACK_CONCRETE);
ItemMeta mblacklist = iblacklist.getItemMeta();
@@ -69,7 +66,6 @@ public class InventoryMenu {
mblacklist.addItemFlags(ItemFlag.HIDE_ATTRIBUTES);
iblacklist.setItemMeta(mblacklist);
return iblacklist;
break;
case 4:
ItemStack iop = new ItemStack(Material.BEDROCK);
ItemMeta mop = iop.getItemMeta();
@@ -80,7 +76,6 @@ public class InventoryMenu {
inv.setItem(22, getMenuItem(4));
}*/
return iop;
break;
case 5:
ItemStack iclose = new ItemStack(Material.BARRIER);
ItemMeta mclose = iclose.getItemMeta();
@@ -89,7 +84,6 @@ public class InventoryMenu {
iclose.setItemMeta(mclose);
//inv.setItem(8, getMenuItem(5));
return iclose;
break;
case 6:
ItemStack iback = new ItemStack(Material.HOPPER);
ItemMeta mback = iback.getItemMeta();
@@ -98,11 +92,10 @@ public class InventoryMenu {
iback.setItemMeta(mback);
//inv.setItem(26, getMenuItem(6));
return iback;
break;
case 7:
ItemStack ivoid = new ItemStack(Material.LIGHT_GRAY_STAINED_GLASS_PANE);
ItemMeta mvoid = ivoid.getItemMeta();
mvoid.setDisplayName("");
mvoid.setDisplayName("X");
mvoid.addItemFlags(ItemFlag.HIDE_ATTRIBUTES);
ivoid.setItemMeta(mvoid);
/*for (int i = 0, i <= 26, i++) {
@@ -111,7 +104,6 @@ public class InventoryMenu {
}
}*/
return ivoid;
break;
case 8:
ItemStack idefaultprot = new ItemStack(Material.GOLDEN_SWORD);
ItemMeta mdefaultprot = idefaultprot.getItemMeta();
@@ -121,7 +113,6 @@ public class InventoryMenu {
mdefaultprot.addItemFlags(ItemFlag.HIDE_ATTRIBUTES);
idefaultprot.setItemMeta(mdefaultprot);
return idefaultprot;
break;
case 9:
ItemStack ipvptime = new ItemStack(Material.CLOCK);
ItemMeta mpvptime = ipvptime.getItemMeta();
@@ -131,7 +122,6 @@ public class InventoryMenu {
mpvptime.addItemFlags(ItemFlag.HIDE_ATTRIBUTES);
ipvptime.setItemMeta(mpvptime);
return ipvptime;
break;
case 10:
ItemStack ipvptimeplus = new ItemStack(Material.GREEN_WOOL);
ItemMeta mpvptimeplus = ipvptimeplus.getItemMeta();
@@ -142,7 +132,6 @@ public class InventoryMenu {
mpvptimeplus.setLore(lore);
ipvptimeplus.setItemMeta(mpvptimeplus);
return ipvptimeplus;
break;
case 11:
ItemStack ipvptimeminus = new ItemStack(Material.RED_WOOL);
ItemMeta mpvptimeminus = ipvptimeminus.getItemMeta();
@@ -153,24 +142,27 @@ public class InventoryMenu {
mpvptimeminus.setLore(lore);
ipvptimeminus.setItemMeta(mpvptimeminus);
return ipvptimeminus;
break;
default:
break;
return null;
}
return null;
}
public static Inventory pvpMenuFillEmpty(Inventory inv, Player p) {
for (int i = 0; i <= inv.getSize()-1; i++) {
if (inv.getItem(i).equals(Material.AIR)) {
inv.setItem(i, getMenuItem(7, p));
}
try {
if (inv.getItem(i) == null || inv.getItem(i).equals(Material.AIR)) {
inv.setItem(i, getMenuItem(VOID, p));
}
} catch (Exception e) {
Pvptoggle.pvptoggle.getLogger().warning(ChatColor.RED + "ERROR IN pvpMenuFillEmpty(): " + e.toString());
}
}
return inv;
}
public static Inventory pvpMenu(Player p) {
Inventory inv = Bukkit.createInventory(null, 3 * 9, "PvP-Menu");
Inventory inv2;
inv.setItem(10, getMenuItem(0, p));
inv.setItem(12, getMenuItem(1, p));
@@ -180,8 +172,9 @@ public class InventoryMenu {
inv.setItem(22, getMenuItem(4, p));
}
inv.setItem(8, getMenuItem(5, p));
return pvpMenuFillEmpty(inv, p);
inv2 = pvpMenuFillEmpty(inv, p);
return inv2;
}
@@ -1,6 +1,5 @@
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;
@@ -1,10 +1,6 @@
package benkralex.pvptoggle;
import org.bukkit.Bukkit;
import org.bukkit.OfflinePlayer;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;
public final class Pvptoggle extends JavaPlugin {
@@ -14,6 +10,7 @@ public final class Pvptoggle extends JavaPlugin {
@Override
public void onEnable() {
Bukkit.getPluginManager().registerEvents(new PvpEvent(), this);
Bukkit.getPluginManager().registerEvents(new InventoryListener(), this);
Config.createConfig();
}
@@ -1,7 +1,9 @@
name: Pvptoggle
version: '${project.version}'
main: benkralex.pvptoggle.Pvptoggle
author: [Benkralex, skippyall]
author:
-Benkralex
-skippyall
api-version: 1.20
depend:
- CommandAPI
@@ -18,3 +20,5 @@ permissions:
default: true
pvp.inv.op:
default: op
pvp.fight:
default: true
@@ -0,0 +1,24 @@
name: Pvptoggle
version: '1.6-FINAL'
main: benkralex.pvptoggle.Pvptoggle
author:
-Benkralex
-skippyall
api-version: 1.20
depend:
- CommandAPI
permissions:
pvp.toggle:
default: true
pvp.ultra:
default: true
pvp.whitelist:
default: true
pvp.blacklist:
default: true
pvp.inv.normal:
default: true
pvp.inv.op:
default: op
pvp.fight:
default: true
@@ -0,0 +1,5 @@
#Generated by Maven
#Sat Aug 26 20:15:48 CEST 2023
artifactId=Pvptoggle
groupId=benkralex
version=1.6-FINAL
@@ -0,0 +1,7 @@
benkralex\pvptoggle\Pvptoggle.class
benkralex\pvptoggle\PvpEvent.class
benkralex\pvptoggle\Config.class
benkralex\pvptoggle\Util.class
benkralex\pvptoggle\PvpCommand.class
benkralex\pvptoggle\InventoryListener.class
benkralex\pvptoggle\InventoryMenu.class
@@ -0,0 +1,7 @@
C:\Users\Admin\Documents\GitHub\PvpTogglePlugin\pvptogglepluginworkspace\src\main\java\benkralex\pvptoggle\InventoryListener.java
C:\Users\Admin\Documents\GitHub\PvpTogglePlugin\pvptogglepluginworkspace\src\main\java\benkralex\pvptoggle\InventoryMenu.java
C:\Users\Admin\Documents\GitHub\PvpTogglePlugin\pvptogglepluginworkspace\src\main\java\benkralex\pvptoggle\Config.java
C:\Users\Admin\Documents\GitHub\PvpTogglePlugin\pvptogglepluginworkspace\src\main\java\benkralex\pvptoggle\Pvptoggle.java
C:\Users\Admin\Documents\GitHub\PvpTogglePlugin\pvptogglepluginworkspace\src\main\java\benkralex\pvptoggle\PvpEvent.java
C:\Users\Admin\Documents\GitHub\PvpTogglePlugin\pvptogglepluginworkspace\src\main\java\benkralex\pvptoggle\PvpCommand.java
C:\Users\Admin\Documents\GitHub\PvpTogglePlugin\pvptogglepluginworkspace\src\main\java\benkralex\pvptoggle\Util.java