From 75a0d9ad5a400d1f2937e1f8e9e224bb6913e01b Mon Sep 17 00:00:00 2001 From: Ajneb97 Date: Sun, 24 Sep 2023 16:31:55 -0300 Subject: [PATCH] 1.4.2 --- .../pk/ajneb97/managers/VerifyManager.java | 31 ++++++++++++++--- .../managers/edit/InventoryEditManager.java | 10 ++++++ .../PKInventoryDefaultNotExistsError.java | 32 +++++++++++++++++ .../verify/PKInventoryNotExistsError.java | 34 +++++++++++++++++++ src/main/resources/plugin.yml | 2 +- 5 files changed, 103 insertions(+), 6 deletions(-) create mode 100644 src/main/java/pk/ajneb97/model/verify/PKInventoryDefaultNotExistsError.java create mode 100644 src/main/java/pk/ajneb97/model/verify/PKInventoryNotExistsError.java diff --git a/src/main/java/pk/ajneb97/managers/VerifyManager.java b/src/main/java/pk/ajneb97/managers/VerifyManager.java index f43caa1..6746814 100644 --- a/src/main/java/pk/ajneb97/managers/VerifyManager.java +++ b/src/main/java/pk/ajneb97/managers/VerifyManager.java @@ -4,12 +4,10 @@ import org.bukkit.entity.Player; import pk.ajneb97.PlayerKits2; import pk.ajneb97.model.Kit; import pk.ajneb97.model.KitAction; +import pk.ajneb97.model.inventory.InventoryPlayer; import pk.ajneb97.model.inventory.ItemKitInventory; import pk.ajneb97.model.inventory.KitInventory; -import pk.ajneb97.model.verify.PKBaseError; -import pk.ajneb97.model.verify.PKInventoryInvalidKitError; -import pk.ajneb97.model.verify.PKKitActionError; -import pk.ajneb97.model.verify.PKKitDisplayItemError; +import pk.ajneb97.model.verify.*; import java.util.ArrayList; import java.util.List; @@ -50,10 +48,23 @@ public class VerifyManager { } //CHECK INVENTORIES - ArrayList inventories = plugin.getInventoryManager().getInventories(); + InventoryManager inventoryManager = plugin.getInventoryManager(); + ArrayList inventories = inventoryManager.getInventories(); for(KitInventory inventory : inventories){ verifyInventory(inventory); } + if(inventoryManager.getInventory("main_inventory") == null){ + errors.add(new PKInventoryDefaultNotExistsError("inventory.yml",null,true,"main_inventory")); + criticalErrors = true; + } + if(inventoryManager.getInventory("preview_inventory") == null){ + errors.add(new PKInventoryDefaultNotExistsError("inventory.yml",null,true,"preview_inventory")); + criticalErrors = true; + } + if(inventoryManager.getInventory("buy_requirements_inventory") == null){ + errors.add(new PKInventoryDefaultNotExistsError("inventory.yml",null,true,"buy_requirements_inventory")); + criticalErrors = true; + } } public void verifyKit(Kit kit) { @@ -84,6 +95,7 @@ public class VerifyManager { //Invalid kit on slot KitsManager kitsManager = plugin.getKitsManager(); List items = inventory.getItems(); + InventoryManager inventoryManager = plugin.getInventoryManager(); for(ItemKitInventory item : items){ String type = item.getType(); if(type != null && type.startsWith("kit: ")){ @@ -94,6 +106,15 @@ public class VerifyManager { criticalErrors = true; } } + + String openInventory = item.getOpenInventory(); + if(openInventory != null){ + if(!openInventory.equals("previous") && inventoryManager.getInventory(openInventory) == null){ + errors.add(new PKInventoryNotExistsError("inventory.yml",null,true,inventory.getName(), + item.getSlotsString(),openInventory)); + criticalErrors = true; + } + } } } diff --git a/src/main/java/pk/ajneb97/managers/edit/InventoryEditManager.java b/src/main/java/pk/ajneb97/managers/edit/InventoryEditManager.java index a54eb9b..2e0654b 100644 --- a/src/main/java/pk/ajneb97/managers/edit/InventoryEditManager.java +++ b/src/main/java/pk/ajneb97/managers/edit/InventoryEditManager.java @@ -158,6 +158,8 @@ public class InventoryEditManager { lore = new ArrayList(); lore.add("&7Click to edit the default kit display"); lore.add("&7item."); + lore.add(""); + lore.add("&7Present: "+(kit.getDisplayItemDefault() != null ? "&aYES" : "&cNO")); new InventoryItem(inv, 38, headMaterial) .setSkull("eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMWNkZTUxNGFmYTE5NGQ1Y2JkMDQ3N2MwNWI3Y2IxODVmZjFkZmZkMGMyZmFkZmFlMWE1YmI4MDY0ODU2Yzg5MiJ9fX0=") .name("&eSet &6&lDefault Display Item").lore(lore).ready(); @@ -167,6 +169,8 @@ public class InventoryEditManager { lore.add("&7Click to edit the kit display item when"); lore.add("&7player doesn't have the permissions to"); lore.add("&7claim it."); + lore.add(""); + lore.add("&7Present: "+(kit.getDisplayItemNoPermission() != null ? "&aYES" : "&cNO")); new InventoryItem(inv, 39, headMaterial) .setSkull("eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYzdkNDk5YTlhZjUyOTllZGE0Y2NkYWMyMDE5ZWZlN2YyNDk2MWYzZTFmY2U3Njk0Y2I2ODIwMjlkMjllOWVhMSJ9fX0=") .name("&eSet &6&lNo Permissions Display Item").lore(lore).ready(); @@ -176,6 +180,8 @@ public class InventoryEditManager { lore.add("&7Click to edit the kit display item when"); lore.add("&7one time option is enabled and the player"); lore.add("&7has already claimed it."); + lore.add(""); + lore.add("&7Present: "+(kit.getDisplayItemOneTime() != null ? "&aYES" : "&cNO")); new InventoryItem(inv, 40, headMaterial) .setSkull("eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMzU3NDc2NmUzZGVjNDkwNGZhNWFhMTU5MjA4ZGFlYzExYzYzYzVlMzI2MTU3YzM2NWViMTY5MDFiNjFmNjQ1YiJ9fX0=") .name("&eSet &6&lOne Time Display Item").lore(lore).ready(); @@ -184,6 +190,8 @@ public class InventoryEditManager { lore = new ArrayList(); lore.add("&7Click to edit the kit display item when"); lore.add("&7the player is on cooldown."); + lore.add(""); + lore.add("&7Present: "+(kit.getDisplayItemCooldown() != null ? "&aYES" : "&cNO")); new InventoryItem(inv, 41, headMaterial) .setSkull("eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvODg3YTc1ZjZjYmNjOGUxN2I4ZmJmYWVlMzM3MGZlZjAyMWMyNWY3MDM1YjI1ZDRjNjU3OTZlZjMzODljZWYwMCJ9fX0=") .name("&eSet &6&lCooldown Display Item").lore(lore).ready(); @@ -194,6 +202,8 @@ public class InventoryEditManager { lore.add("&7one time requirements option is enabled and"); lore.add("&7the player has already accomplished the"); lore.add("&7requirements."); + lore.add(""); + lore.add("&7Present: "+(kit.getDisplayItemOneTimeRequirements() != null ? "&aYES" : "&cNO")); new InventoryItem(inv, 42, headMaterial) .setSkull("eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNGU4NmJlNTQ5OWViNDI0NWE0NjFiZGNiODZmZjE2M2M4NTVjMTgyODFmOTcxMDU0MmIxN2ZkMjhiYWU0MjQzYiJ9fX0=") .name("&eSet &6&lOne Time Requirements Display Item").lore(lore).ready(); diff --git a/src/main/java/pk/ajneb97/model/verify/PKInventoryDefaultNotExistsError.java b/src/main/java/pk/ajneb97/model/verify/PKInventoryDefaultNotExistsError.java new file mode 100644 index 0000000..57f7a9f --- /dev/null +++ b/src/main/java/pk/ajneb97/model/verify/PKInventoryDefaultNotExistsError.java @@ -0,0 +1,32 @@ +package pk.ajneb97.model.verify; + +import org.bukkit.entity.Player; +import pk.ajneb97.utils.JSONMessage; + +import java.util.ArrayList; +import java.util.List; + +public class PKInventoryDefaultNotExistsError extends PKBaseError{ + + private String inventoryName; + + public PKInventoryDefaultNotExistsError(String file, String errorText, boolean critical, String inventoryName) { + super(file, errorText, critical); + this.inventoryName = inventoryName; + } + + @Override + public void sendMessage(Player player) { + List hover = new ArrayList(); + + JSONMessage jsonMessage = new JSONMessage(player,prefix+"&7Inventory &c"+inventoryName+" &7not found"); + hover.add("&eTHIS IS AN ERROR!"); + hover.add("&fThe &c"+inventoryName+" &fis a needed inventory for"); + hover.add("&fthe plugin to work. You MUST NOT delete it"); + hover.add("&ffrom the inventory.yml file. You can find the default"); + hover.add("&fconfig for this inventory on the wiki:"); + hover.add("&ahttps://ajneb97.gitbook.io/playerkits-2/default-files/inventory.yml"); + + jsonMessage.hover(hover).send(); + } +} diff --git a/src/main/java/pk/ajneb97/model/verify/PKInventoryNotExistsError.java b/src/main/java/pk/ajneb97/model/verify/PKInventoryNotExistsError.java new file mode 100644 index 0000000..34fa075 --- /dev/null +++ b/src/main/java/pk/ajneb97/model/verify/PKInventoryNotExistsError.java @@ -0,0 +1,34 @@ +package pk.ajneb97.model.verify; + +import org.bukkit.entity.Player; +import pk.ajneb97.utils.JSONMessage; + +import java.util.ArrayList; +import java.util.List; + +public class PKInventoryNotExistsError extends PKBaseError{ + + private String inventoryName; + private String inventoryPath; + private String slot; + + public PKInventoryNotExistsError(String file, String errorText, boolean critical, String inventoryPath, String slot, String inventoryName) { + super(file, errorText, critical); + this.inventoryName = inventoryName; + this.inventoryPath = inventoryPath; + this.slot = slot; + } + + @Override + public void sendMessage(Player player) { + List hover = new ArrayList(); + + JSONMessage jsonMessage = new JSONMessage(player,prefix+"&7Inventory &c"+inventoryName+" &7not valid"); + hover.add("&eTHIS IS AN ERROR!"); + hover.add("&fThe &c"+inventoryName+" &fopenened inventory used"); + hover.add("&fon slot &c"+slot+" &fon inventory &c"+inventoryPath); + hover.add("&fis not valid. Create it on the inventory.yml file."); + + jsonMessage.hover(hover).send(); + } +} diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index a654c69..fd78eb3 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,5 +1,5 @@ main: pk.ajneb97.PlayerKits2 -version: 1.4.1 +version: 1.4.2 name: PlayerKits2 api-version: 1.13 softdepend: [Vault,PlaceholderAPI]