This commit is contained in:
Ajneb97 2023-09-24 16:31:55 -03:00
parent a7f7060666
commit 75a0d9ad5a
5 changed files with 103 additions and 6 deletions

View file

@ -4,12 +4,10 @@ import org.bukkit.entity.Player;
import pk.ajneb97.PlayerKits2; import pk.ajneb97.PlayerKits2;
import pk.ajneb97.model.Kit; import pk.ajneb97.model.Kit;
import pk.ajneb97.model.KitAction; import pk.ajneb97.model.KitAction;
import pk.ajneb97.model.inventory.InventoryPlayer;
import pk.ajneb97.model.inventory.ItemKitInventory; import pk.ajneb97.model.inventory.ItemKitInventory;
import pk.ajneb97.model.inventory.KitInventory; import pk.ajneb97.model.inventory.KitInventory;
import pk.ajneb97.model.verify.PKBaseError; import pk.ajneb97.model.verify.*;
import pk.ajneb97.model.verify.PKInventoryInvalidKitError;
import pk.ajneb97.model.verify.PKKitActionError;
import pk.ajneb97.model.verify.PKKitDisplayItemError;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -50,10 +48,23 @@ public class VerifyManager {
} }
//CHECK INVENTORIES //CHECK INVENTORIES
ArrayList<KitInventory> inventories = plugin.getInventoryManager().getInventories(); InventoryManager inventoryManager = plugin.getInventoryManager();
ArrayList<KitInventory> inventories = inventoryManager.getInventories();
for(KitInventory inventory : inventories){ for(KitInventory inventory : inventories){
verifyInventory(inventory); 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) { public void verifyKit(Kit kit) {
@ -84,6 +95,7 @@ public class VerifyManager {
//Invalid kit on slot //Invalid kit on slot
KitsManager kitsManager = plugin.getKitsManager(); KitsManager kitsManager = plugin.getKitsManager();
List<ItemKitInventory> items = inventory.getItems(); List<ItemKitInventory> items = inventory.getItems();
InventoryManager inventoryManager = plugin.getInventoryManager();
for(ItemKitInventory item : items){ for(ItemKitInventory item : items){
String type = item.getType(); String type = item.getType();
if(type != null && type.startsWith("kit: ")){ if(type != null && type.startsWith("kit: ")){
@ -94,6 +106,15 @@ public class VerifyManager {
criticalErrors = true; 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;
}
}
} }
} }

View file

@ -158,6 +158,8 @@ public class InventoryEditManager {
lore = new ArrayList<String>(); lore = new ArrayList<String>();
lore.add("&7Click to edit the default kit display"); lore.add("&7Click to edit the default kit display");
lore.add("&7item."); lore.add("&7item.");
lore.add("");
lore.add("&7Present: "+(kit.getDisplayItemDefault() != null ? "&aYES" : "&cNO"));
new InventoryItem(inv, 38, headMaterial) new InventoryItem(inv, 38, headMaterial)
.setSkull("eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMWNkZTUxNGFmYTE5NGQ1Y2JkMDQ3N2MwNWI3Y2IxODVmZjFkZmZkMGMyZmFkZmFlMWE1YmI4MDY0ODU2Yzg5MiJ9fX0=") .setSkull("eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMWNkZTUxNGFmYTE5NGQ1Y2JkMDQ3N2MwNWI3Y2IxODVmZjFkZmZkMGMyZmFkZmFlMWE1YmI4MDY0ODU2Yzg5MiJ9fX0=")
.name("&eSet &6&lDefault Display Item").lore(lore).ready(); .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("&7Click to edit the kit display item when");
lore.add("&7player doesn't have the permissions to"); lore.add("&7player doesn't have the permissions to");
lore.add("&7claim it."); lore.add("&7claim it.");
lore.add("");
lore.add("&7Present: "+(kit.getDisplayItemNoPermission() != null ? "&aYES" : "&cNO"));
new InventoryItem(inv, 39, headMaterial) new InventoryItem(inv, 39, headMaterial)
.setSkull("eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYzdkNDk5YTlhZjUyOTllZGE0Y2NkYWMyMDE5ZWZlN2YyNDk2MWYzZTFmY2U3Njk0Y2I2ODIwMjlkMjllOWVhMSJ9fX0=") .setSkull("eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYzdkNDk5YTlhZjUyOTllZGE0Y2NkYWMyMDE5ZWZlN2YyNDk2MWYzZTFmY2U3Njk0Y2I2ODIwMjlkMjllOWVhMSJ9fX0=")
.name("&eSet &6&lNo Permissions Display Item").lore(lore).ready(); .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("&7Click to edit the kit display item when");
lore.add("&7one time option is enabled and the player"); lore.add("&7one time option is enabled and the player");
lore.add("&7has already claimed it."); lore.add("&7has already claimed it.");
lore.add("");
lore.add("&7Present: "+(kit.getDisplayItemOneTime() != null ? "&aYES" : "&cNO"));
new InventoryItem(inv, 40, headMaterial) new InventoryItem(inv, 40, headMaterial)
.setSkull("eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMzU3NDc2NmUzZGVjNDkwNGZhNWFhMTU5MjA4ZGFlYzExYzYzYzVlMzI2MTU3YzM2NWViMTY5MDFiNjFmNjQ1YiJ9fX0=") .setSkull("eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMzU3NDc2NmUzZGVjNDkwNGZhNWFhMTU5MjA4ZGFlYzExYzYzYzVlMzI2MTU3YzM2NWViMTY5MDFiNjFmNjQ1YiJ9fX0=")
.name("&eSet &6&lOne Time Display Item").lore(lore).ready(); .name("&eSet &6&lOne Time Display Item").lore(lore).ready();
@ -184,6 +190,8 @@ public class InventoryEditManager {
lore = new ArrayList<String>(); lore = new ArrayList<String>();
lore.add("&7Click to edit the kit display item when"); lore.add("&7Click to edit the kit display item when");
lore.add("&7the player is on cooldown."); lore.add("&7the player is on cooldown.");
lore.add("");
lore.add("&7Present: "+(kit.getDisplayItemCooldown() != null ? "&aYES" : "&cNO"));
new InventoryItem(inv, 41, headMaterial) new InventoryItem(inv, 41, headMaterial)
.setSkull("eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvODg3YTc1ZjZjYmNjOGUxN2I4ZmJmYWVlMzM3MGZlZjAyMWMyNWY3MDM1YjI1ZDRjNjU3OTZlZjMzODljZWYwMCJ9fX0=") .setSkull("eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvODg3YTc1ZjZjYmNjOGUxN2I4ZmJmYWVlMzM3MGZlZjAyMWMyNWY3MDM1YjI1ZDRjNjU3OTZlZjMzODljZWYwMCJ9fX0=")
.name("&eSet &6&lCooldown Display Item").lore(lore).ready(); .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("&7one time requirements option is enabled and");
lore.add("&7the player has already accomplished the"); lore.add("&7the player has already accomplished the");
lore.add("&7requirements."); lore.add("&7requirements.");
lore.add("");
lore.add("&7Present: "+(kit.getDisplayItemOneTimeRequirements() != null ? "&aYES" : "&cNO"));
new InventoryItem(inv, 42, headMaterial) new InventoryItem(inv, 42, headMaterial)
.setSkull("eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNGU4NmJlNTQ5OWViNDI0NWE0NjFiZGNiODZmZjE2M2M4NTVjMTgyODFmOTcxMDU0MmIxN2ZkMjhiYWU0MjQzYiJ9fX0=") .setSkull("eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNGU4NmJlNTQ5OWViNDI0NWE0NjFiZGNiODZmZjE2M2M4NTVjMTgyODFmOTcxMDU0MmIxN2ZkMjhiYWU0MjQzYiJ9fX0=")
.name("&eSet &6&lOne Time Requirements Display Item").lore(lore).ready(); .name("&eSet &6&lOne Time Requirements Display Item").lore(lore).ready();

View file

@ -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<String> hover = new ArrayList<String>();
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();
}
}

View file

@ -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<String> hover = new ArrayList<String>();
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();
}
}

View file

@ -1,5 +1,5 @@
main: pk.ajneb97.PlayerKits2 main: pk.ajneb97.PlayerKits2
version: 1.4.1 version: 1.4.2
name: PlayerKits2 name: PlayerKits2
api-version: 1.13 api-version: 1.13
softdepend: [Vault,PlaceholderAPI] softdepend: [Vault,PlaceholderAPI]