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.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<KitInventory> inventories = plugin.getInventoryManager().getInventories();
InventoryManager inventoryManager = plugin.getInventoryManager();
ArrayList<KitInventory> 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<ItemKitInventory> 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;
}
}
}
}

View file

@ -158,6 +158,8 @@ public class InventoryEditManager {
lore = new ArrayList<String>();
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<String>();
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();

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
version: 1.4.1
version: 1.4.2
name: PlayerKits2
api-version: 1.13
softdepend: [Vault,PlaceholderAPI]