1.6.1
This commit is contained in:
parent
30103db82f
commit
f41f74033e
9 changed files with 324 additions and 64 deletions
|
|
@ -7,7 +7,9 @@ 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.item.KitItem;
|
||||
import pk.ajneb97.model.verify.*;
|
||||
import pk.ajneb97.utils.ItemUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
|
@ -75,6 +77,29 @@ public class VerifyManager {
|
|||
}
|
||||
verifyActions(kit.getClaimActions(),"claim",kitName);
|
||||
verifyActions(kit.getErrorActions(),"error",kitName);
|
||||
|
||||
//Items
|
||||
ArrayList<KitItem> allKitItems = new ArrayList<KitItem>();
|
||||
allKitItems.add(kit.getDisplayItemDefault());
|
||||
allKitItems.add(kit.getDisplayItemCooldown());
|
||||
allKitItems.add(kit.getDisplayItemNoPermission());
|
||||
allKitItems.add(kit.getDisplayItemOneTime());
|
||||
allKitItems.add(kit.getDisplayItemOneTimeRequirements());
|
||||
allKitItems.addAll(kit.getItems());
|
||||
for(KitAction kitAction : kit.getClaimActions()){
|
||||
allKitItems.add(kitAction.getDisplayItem());
|
||||
}
|
||||
for(KitAction kitAction : kit.getErrorActions()){
|
||||
allKitItems.add(kitAction.getDisplayItem());
|
||||
}
|
||||
for(KitItem kitItem : allKitItems){
|
||||
if(kitItem != null){
|
||||
if(!verifyItem(kitItem.getId())){
|
||||
errors.add(new PKInvalidItem(kit.getName()+".yml",null,true,kitItem.getId()));
|
||||
criticalErrors = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void verifyActions(ArrayList<KitAction> actions,String actionGroup,String kitName){
|
||||
|
|
@ -115,10 +140,28 @@ public class VerifyManager {
|
|||
criticalErrors = true;
|
||||
}
|
||||
}
|
||||
|
||||
//Items
|
||||
KitItem kitItem = item.getItem();
|
||||
if(kitItem != null){
|
||||
if(!verifyItem(kitItem.getId())){
|
||||
errors.add(new PKInvalidItem("inventory.yml",null,true,kitItem.getId()));
|
||||
criticalErrors = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isCriticalErrors() {
|
||||
return criticalErrors;
|
||||
}
|
||||
|
||||
public boolean verifyItem(String material){
|
||||
try{
|
||||
ItemUtils.createItemFromID(material);
|
||||
return true;
|
||||
}catch(Exception e){
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,174 @@
|
|||
package pk.ajneb97.managers.edit;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.inventory.ClickType;
|
||||
import org.bukkit.inventory.Inventory;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
import pk.ajneb97.PlayerKits2;
|
||||
import pk.ajneb97.managers.MessagesManager;
|
||||
import pk.ajneb97.model.Kit;
|
||||
import pk.ajneb97.model.KitAction;
|
||||
import pk.ajneb97.model.inventory.InventoryPlayer;
|
||||
import pk.ajneb97.utils.InventoryItem;
|
||||
import pk.ajneb97.utils.OtherUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class InventoryEditActionsEditManager {
|
||||
|
||||
private PlayerKits2 plugin;
|
||||
private InventoryEditActionsManager inventoryEditActionsManager;
|
||||
|
||||
public InventoryEditActionsEditManager(PlayerKits2 plugin, InventoryEditActionsManager inventoryEditActionsManager) {
|
||||
this.plugin = plugin;
|
||||
this.inventoryEditActionsManager = inventoryEditActionsManager;
|
||||
}
|
||||
|
||||
public void openInventory(InventoryPlayer inventoryPlayer, String type, int actionSlot) {
|
||||
inventoryPlayer.setInventoryName("edit_action_slot_" + type + "_" + actionSlot);
|
||||
Inventory inv = Bukkit.createInventory(null, 27, MessagesManager.getColoredMessage("&9Editing Kit"));
|
||||
|
||||
//Set Go Back
|
||||
new InventoryItem(inv, 18, Material.ARROW).name("&eGo Back").ready();
|
||||
|
||||
Kit kit = plugin.getKitsManager().getKitByName(inventoryPlayer.getKitName());
|
||||
KitAction kitAction = inventoryEditActionsManager.getKitActionsFromType(kit, type).get(actionSlot);
|
||||
|
||||
//Set Edit Action
|
||||
List<String> lore = new ArrayList<>();
|
||||
lore.add(MessagesManager.getColoredMessage("&7Click to change the action."));
|
||||
lore.add("");
|
||||
lore.add(MessagesManager.getColoredMessage("&7Current:"));
|
||||
lore.add(MessagesManager.getColoredMessage("&f") + kitAction.getAction());
|
||||
ItemStack item = new ItemStack(Material.PAPER);
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
meta.setDisplayName(MessagesManager.getColoredMessage("&6&lEdit Action"));
|
||||
meta.setLore(lore);
|
||||
item.setItemMeta(meta);
|
||||
inv.setItem(10, item);
|
||||
|
||||
//Set Execute before giving items
|
||||
lore = new ArrayList<>();
|
||||
lore.add("&7Click to enable whether the action should");
|
||||
lore.add("&7be executed before giving the kit items");
|
||||
lore.add("&7to the player.");
|
||||
lore.add("");
|
||||
String executeBeforeGivingItems = "&cNO";
|
||||
if (kitAction.isExecuteBeforeItems()) {
|
||||
executeBeforeGivingItems = "&aYES";
|
||||
}
|
||||
lore.add("&7Current Status: " + executeBeforeGivingItems);
|
||||
new InventoryItem(inv, 12, Material.BEACON).name("&eSet &6&lExecute Before Giving Items").lore(lore).ready();
|
||||
|
||||
//Set Count As Item
|
||||
lore = new ArrayList<>();
|
||||
lore.add("&7Click to enable whether this action should");
|
||||
lore.add("&7count as an item, and therefore will be used");
|
||||
lore.add("&7to count empty slots on the player inventory");
|
||||
lore.add("&7when claiming the kit. Useful when you want");
|
||||
lore.add("&7to give items through a command");
|
||||
lore.add("");
|
||||
String countAsItem = "&cNO";
|
||||
if (kitAction.isCountAsItem()) {
|
||||
countAsItem = "&aYES";
|
||||
}
|
||||
lore.add("&7Current Status: " + countAsItem);
|
||||
new InventoryItem(inv, 14, Material.LADDER).name("&eSet &6&lCount As Item").lore(lore).ready();
|
||||
|
||||
//Set Display Item
|
||||
Material headMaterial = null;
|
||||
if (OtherUtils.isLegacy()) {
|
||||
headMaterial = Material.valueOf("SKULL_ITEM");
|
||||
} else {
|
||||
headMaterial = Material.PLAYER_HEAD;
|
||||
}
|
||||
lore = new ArrayList<String>();
|
||||
lore.add("&7Click to edit the display item for");
|
||||
lore.add("&7this action.");
|
||||
lore.add("");
|
||||
lore.add("&7Present: " + (kitAction.getDisplayItem() != null ? "&aYES" : "&cNO"));
|
||||
new InventoryItem(inv, 16, headMaterial)
|
||||
.setSkull("eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMWNkZTUxNGFmYTE5NGQ1Y2JkMDQ3N2MwNWI3Y2IxODVmZjFkZmZkMGMyZmFkZmFlMWE1YmI4MDY0ODU2Yzg5MiJ9fX0=")
|
||||
.name("&eSet &6&lDisplay Item").lore(lore).ready();
|
||||
|
||||
|
||||
inventoryPlayer.getPlayer().openInventory(inv);
|
||||
inventoryEditActionsManager.getInventoryEditManager().getPlayers().add(inventoryPlayer);
|
||||
}
|
||||
|
||||
public void clickInventory(InventoryPlayer inventoryPlayer, ItemStack item, int slot, ClickType clickType){
|
||||
if(slot == 18){
|
||||
inventoryEditActionsManager.openInventory(inventoryPlayer,getType(inventoryPlayer));
|
||||
}else if(slot == 10){
|
||||
clickEditAction(inventoryPlayer);
|
||||
}else if(slot == 12){
|
||||
alternateExecutionBeforeGivingItems(inventoryPlayer);
|
||||
}else if(slot == 14){
|
||||
alternateCountAsItem(inventoryPlayer);
|
||||
}else if(slot == 16) {
|
||||
String type = getType(inventoryPlayer);
|
||||
int actionSlot = getActionSlot(inventoryPlayer);
|
||||
inventoryEditActionsManager.getInventoryEditManager().getInventoryEditDisplayManager()
|
||||
.openInventory(inventoryPlayer,"action_"+type+"_"+actionSlot);
|
||||
}
|
||||
}
|
||||
|
||||
public void alternateExecutionBeforeGivingItems(InventoryPlayer inventoryPlayer){
|
||||
Kit kit = plugin.getKitsManager().getKitByName(inventoryPlayer.getKitName());
|
||||
String type = getType(inventoryPlayer);
|
||||
int slot = getActionSlot(inventoryPlayer);
|
||||
KitAction kitAction = inventoryEditActionsManager.getKitActionsFromType(kit, type).get(slot);
|
||||
kitAction.setExecuteBeforeItems(!kitAction.isExecuteBeforeItems());
|
||||
|
||||
openInventory(inventoryPlayer,type,slot);
|
||||
|
||||
plugin.getConfigsManager().getKitsConfigManager().saveConfig(kit);
|
||||
}
|
||||
|
||||
public void alternateCountAsItem(InventoryPlayer inventoryPlayer){
|
||||
Kit kit = plugin.getKitsManager().getKitByName(inventoryPlayer.getKitName());
|
||||
String type = getType(inventoryPlayer);
|
||||
int slot = getActionSlot(inventoryPlayer);
|
||||
KitAction kitAction = inventoryEditActionsManager.getKitActionsFromType(kit, type).get(slot);
|
||||
kitAction.setCountAsItem(!kitAction.isCountAsItem());
|
||||
|
||||
openInventory(inventoryPlayer,type,slot);
|
||||
|
||||
plugin.getConfigsManager().getKitsConfigManager().saveConfig(kit);
|
||||
}
|
||||
|
||||
public void clickEditAction(InventoryPlayer inventoryPlayer){
|
||||
Player player = inventoryPlayer.getPlayer();
|
||||
player.sendMessage(MessagesManager.getColoredMessage(PlayerKits2.prefix+"&7Write the new action to set."));
|
||||
player.sendMessage(MessagesManager.getColoredMessage(PlayerKits2.prefix+"&fCheck all actions on the wiki: &bhttps://ajneb97.gitbook.io/playerkits-2/actions"));
|
||||
|
||||
player.closeInventory();
|
||||
inventoryPlayer.setInventoryName("edit_chat_action_slot_" + getType(inventoryPlayer) + "_" + getActionSlot(inventoryPlayer));
|
||||
inventoryEditActionsManager.getInventoryEditManager().getPlayers().add(inventoryPlayer);
|
||||
}
|
||||
|
||||
public void editAction(InventoryPlayer inventoryPlayer,String message){
|
||||
Kit kit = plugin.getKitsManager().getKitByName(inventoryPlayer.getKitName());
|
||||
String[] sep = inventoryPlayer.getInventoryName().replace("edit_chat_action_slot_","").split("_");
|
||||
String type = sep[0];
|
||||
int slot = Integer.parseInt(sep[1]);
|
||||
KitAction kitAction = inventoryEditActionsManager.getKitActionsFromType(kit, type).get(slot);
|
||||
kitAction.setAction(message);
|
||||
|
||||
inventoryEditActionsManager.getInventoryEditManager().removeInventoryPlayer(inventoryPlayer.getPlayer());
|
||||
openInventory(inventoryPlayer,type,slot);
|
||||
plugin.getConfigsManager().getKitsConfigManager().saveConfig(kit);
|
||||
}
|
||||
|
||||
public String getType(InventoryPlayer inventoryPlayer){
|
||||
return inventoryPlayer.getInventoryName().replace("edit_action_slot_","").split("_")[0];
|
||||
}
|
||||
|
||||
public int getActionSlot(InventoryPlayer inventoryPlayer){
|
||||
return Integer.parseInt(inventoryPlayer.getInventoryName().replace("edit_action_slot_","").split("_")[1]);
|
||||
}
|
||||
}
|
||||
|
|
@ -22,9 +22,11 @@ public class InventoryEditActionsManager {
|
|||
|
||||
private PlayerKits2 plugin;
|
||||
private InventoryEditManager inventoryEditManager;
|
||||
private InventoryEditActionsEditManager inventoryEditActionsEditManager;
|
||||
public InventoryEditActionsManager(PlayerKits2 plugin, InventoryEditManager inventoryEditManager){
|
||||
this.plugin = plugin;
|
||||
this.inventoryEditManager = inventoryEditManager;
|
||||
this.inventoryEditActionsEditManager = new InventoryEditActionsEditManager(plugin,this);
|
||||
}
|
||||
|
||||
public void openInventory(InventoryPlayer inventoryPlayer,String type) {
|
||||
|
|
@ -62,24 +64,23 @@ public class InventoryEditActionsManager {
|
|||
ArrayList<KitAction> actions = getKitActionsFromType(kit,type);
|
||||
int slot = 0;
|
||||
for(KitAction kitAction : actions){
|
||||
String executeBeforeItems = "&cNO";
|
||||
if (kitAction.isExecuteBeforeItems()) {
|
||||
executeBeforeItems = "&aYES";
|
||||
}
|
||||
String executeBeforeItems = kitAction.isExecuteBeforeItems() ? "&aYES" : "&cNO";
|
||||
String countAsItem = kitAction.isCountAsItem() ? "&aYES" : "&cNO";
|
||||
String displayItem = kitAction.getDisplayItem() != null ? "&aYES" : "&cNO";
|
||||
|
||||
lore = new ArrayList<>();
|
||||
lore.add(MessagesManager.getColoredMessage("&f")+kitAction.getAction());
|
||||
lore.add("");
|
||||
lore.add(MessagesManager.getColoredMessage("&7Execute before giving kit items? "+executeBeforeItems));
|
||||
lore.add(MessagesManager.getColoredMessage("&7Count as item? "+countAsItem));
|
||||
lore.add(MessagesManager.getColoredMessage("&7Has display item? "+displayItem));
|
||||
lore.add("");
|
||||
lore.add(MessagesManager.getColoredMessage("&a&lLEFT CLICK &ato edit"));
|
||||
lore.add(MessagesManager.getColoredMessage("&e&lSHIFT+LEFT CLICK &eto alternate execution"));
|
||||
lore.add(MessagesManager.getColoredMessage(" &ebefore giving kit items"));
|
||||
lore.add(MessagesManager.getColoredMessage("&c&lRIGHT CLICK &cto remove"));
|
||||
|
||||
ItemStack item = new ItemStack(Material.PAPER);
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
meta.setDisplayName(MessagesManager.getColoredMessage("&7Command &e#"+(slot+1)));
|
||||
meta.setDisplayName(MessagesManager.getColoredMessage("&7Action &e#"+(slot+1)));
|
||||
meta.setLore(lore);
|
||||
item.setItemMeta(meta);
|
||||
inv.setItem(slot,item);
|
||||
|
|
@ -105,22 +106,11 @@ public class InventoryEditActionsManager {
|
|||
plugin.getConfigsManager().getKitsConfigManager().saveConfig(kit);
|
||||
}
|
||||
|
||||
public void alternateExecutionBeforeItems(InventoryPlayer inventoryPlayer,int slot){
|
||||
Kit kit = plugin.getKitsManager().getKitByName(inventoryPlayer.getKitName());
|
||||
String type = inventoryPlayer.getInventoryName().replace("edit_actions_","");
|
||||
ArrayList<KitAction> actions = getKitActionsFromType(kit,type);
|
||||
KitAction kitAction = actions.get(slot);
|
||||
kitAction.setExecuteBeforeItems(!kitAction.isExecuteBeforeItems());
|
||||
|
||||
openInventory(inventoryPlayer,type);
|
||||
|
||||
plugin.getConfigsManager().getKitsConfigManager().saveConfig(kit);
|
||||
}
|
||||
|
||||
public void clickAddAction(InventoryPlayer inventoryPlayer){
|
||||
Player player = inventoryPlayer.getPlayer();
|
||||
player.sendMessage(MessagesManager.getColoredMessage(PlayerKits2.prefix+"&7Write the new action to add."));
|
||||
player.sendMessage(MessagesManager.getColoredMessage(PlayerKits2.prefix+"&fCheck all actions on the wiki: &bhttps://ajneb97.gitbook.io/playerkits-2/"));
|
||||
player.sendMessage(MessagesManager.getColoredMessage(PlayerKits2.prefix+"&fCheck all actions on the wiki: &bhttps://ajneb97.gitbook.io/playerkits-2/actions"));
|
||||
|
||||
player.closeInventory();
|
||||
String type = inventoryPlayer.getInventoryName().replace("edit_actions_","");
|
||||
|
|
@ -139,40 +129,14 @@ public class InventoryEditActionsManager {
|
|||
plugin.getConfigsManager().getKitsConfigManager().saveConfig(kit);
|
||||
}
|
||||
|
||||
public void clickEditAction(InventoryPlayer inventoryPlayer,int slot){
|
||||
Player player = inventoryPlayer.getPlayer();
|
||||
player.sendMessage(MessagesManager.getColoredMessage(PlayerKits2.prefix+"&7Write the new action to add."));
|
||||
player.sendMessage(MessagesManager.getColoredMessage(PlayerKits2.prefix+"&fCheck all actions on the wiki: &bhttps://ajneb97.gitbook.io/playerkits-2/"));
|
||||
|
||||
player.closeInventory();
|
||||
String type = inventoryPlayer.getInventoryName().replace("edit_actions_","");
|
||||
inventoryPlayer.setInventoryName("edit_chat_edit_action_"+type+":"+slot);
|
||||
inventoryEditManager.getPlayers().add(inventoryPlayer);
|
||||
}
|
||||
|
||||
public void editAction(InventoryPlayer inventoryPlayer,String message){
|
||||
Kit kit = plugin.getKitsManager().getKitByName(inventoryPlayer.getKitName());
|
||||
String[] sep = inventoryPlayer.getInventoryName().replace("edit_chat_edit_action_","").split(":");
|
||||
String type = sep[0];
|
||||
int slot = Integer.parseInt(sep[1]);
|
||||
ArrayList<KitAction> actions = getKitActionsFromType(kit,type);
|
||||
actions.get(slot).setAction(message);
|
||||
|
||||
inventoryEditManager.removeInventoryPlayer(inventoryPlayer.getPlayer());
|
||||
openInventory(inventoryPlayer,type);
|
||||
plugin.getConfigsManager().getKitsConfigManager().saveConfig(kit);
|
||||
}
|
||||
|
||||
public void clickInventory(InventoryPlayer inventoryPlayer, ItemStack item, int slot, ClickType clickType){
|
||||
if(slot == 45){
|
||||
inventoryEditManager.openInventory(inventoryPlayer);
|
||||
}else if(slot >= 0 && slot <= 44 && item != null && !item.getType().equals(Material.AIR)){
|
||||
if(clickType.isLeftClick()){
|
||||
if(clickType.isShiftClick()){
|
||||
alternateExecutionBeforeItems(inventoryPlayer,slot);
|
||||
}else{
|
||||
clickEditAction(inventoryPlayer,slot);
|
||||
}
|
||||
String type = inventoryPlayer.getInventoryName().replace("edit_actions_","");
|
||||
inventoryEditActionsEditManager.openInventory(inventoryPlayer,type,slot);
|
||||
}else if(clickType.isRightClick()){
|
||||
removeAction(inventoryPlayer,slot);
|
||||
}
|
||||
|
|
@ -190,4 +154,12 @@ public class InventoryEditActionsManager {
|
|||
}
|
||||
return actions;
|
||||
}
|
||||
|
||||
public InventoryEditManager getInventoryEditManager() {
|
||||
return inventoryEditManager;
|
||||
}
|
||||
|
||||
public InventoryEditActionsEditManager getInventoryEditActionsEditManager() {
|
||||
return inventoryEditActionsEditManager;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ import org.bukkit.inventory.ItemStack;
|
|||
import pk.ajneb97.PlayerKits2;
|
||||
import pk.ajneb97.managers.MessagesManager;
|
||||
import pk.ajneb97.model.Kit;
|
||||
import pk.ajneb97.model.KitAction;
|
||||
import pk.ajneb97.model.inventory.InventoryPlayer;
|
||||
import pk.ajneb97.model.item.KitItem;
|
||||
import pk.ajneb97.utils.InventoryItem;
|
||||
|
|
@ -77,7 +78,12 @@ public class InventoryEditDisplayManager {
|
|||
lore.add("&eSet &6&lCooldown Display Item");
|
||||
}else if(type.equals("requirements")){
|
||||
lore.add("&6&lOne Time Requirements Display Item");
|
||||
}else{
|
||||
}else if(type.startsWith("action")){
|
||||
String actionType = type.split("_")[1];
|
||||
int actionSlot = Integer.parseInt(type.split("_")[2]);
|
||||
lore.add("&6&l"+actionType.toUpperCase()+" Action "+actionSlot+" Display Item");
|
||||
}
|
||||
else{
|
||||
lore.add("&6&lDefault Display Item");
|
||||
}
|
||||
new InventoryItem(inv, 0, Material.COMPASS).name("&6&lInfo").lore(lore).ready();
|
||||
|
|
@ -117,6 +123,11 @@ public class InventoryEditDisplayManager {
|
|||
kit.setDisplayItemCooldown(kitItem);
|
||||
}else if(type.equals("requirements")){
|
||||
kit.setDisplayItemOneTimeRequirements(kitItem);
|
||||
}else if(type.startsWith("action")){
|
||||
String actionType = type.split("_")[1];
|
||||
int actionSlot = Integer.parseInt(type.split("_")[2]);
|
||||
KitAction kitAction = getKitActionsFromType(kit,actionType).get(actionSlot);
|
||||
kitAction.setDisplayItem(kitItem);
|
||||
}else{
|
||||
kit.setDisplayItemDefault(kitItem);
|
||||
}
|
||||
|
|
@ -134,7 +145,15 @@ public class InventoryEditDisplayManager {
|
|||
if(slot != 13){
|
||||
event.setCancelled(true);
|
||||
if(slot == 18){
|
||||
if(inventoryPlayer.getInventoryName().startsWith("edit_display_action")){
|
||||
String type = inventoryPlayer.getInventoryName().replace("edit_display_action_","");
|
||||
String actionType = type.split("_")[0];
|
||||
int actionSlot = Integer.parseInt(type.split("_")[1]);
|
||||
inventoryEditManager.getInventoryEditActionsManager().getInventoryEditActionsEditManager()
|
||||
.openInventory(inventoryPlayer,actionType,actionSlot);
|
||||
}else{
|
||||
inventoryEditManager.openInventory(inventoryPlayer);
|
||||
}
|
||||
}else if(slot == 26){
|
||||
saveKitItem(inventoryPlayer);
|
||||
inventoryPlayer.getPlayer().sendMessage(MessagesManager.getColoredMessage(PlayerKits2.prefix+"&aDisplay item saved."));
|
||||
|
|
@ -144,6 +163,12 @@ public class InventoryEditDisplayManager {
|
|||
}
|
||||
|
||||
public KitItem getKitDisplayItemFromType(Kit kit, String type){
|
||||
if(type.startsWith("action")){
|
||||
String actionType = type.split("_")[1];
|
||||
int actionSlot = Integer.parseInt(type.split("_")[2]);
|
||||
KitAction kitAction = getKitActionsFromType(kit,actionType).get(actionSlot);
|
||||
return kitAction.getDisplayItem();
|
||||
}else{
|
||||
KitItem kitItem = kit.getDisplayItemDefault();
|
||||
switch(type){
|
||||
case "permission":
|
||||
|
|
@ -158,3 +183,14 @@ public class InventoryEditDisplayManager {
|
|||
return kitItem;
|
||||
}
|
||||
}
|
||||
|
||||
public ArrayList<KitAction> getKitActionsFromType(Kit kit,String type){
|
||||
ArrayList<KitAction> actions = null;
|
||||
if(type.equals("claim")){
|
||||
actions = kit.getClaimActions();
|
||||
}else{
|
||||
actions = kit.getErrorActions();
|
||||
}
|
||||
return actions;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -387,6 +387,8 @@ public class InventoryEditManager {
|
|||
}
|
||||
}else if(inventory.startsWith("edit_actions_")){
|
||||
inventoryEditActionsManager.clickInventory(inventoryPlayer,item,slot,clickType);
|
||||
}else if(inventory.startsWith("edit_action_slot_")){
|
||||
inventoryEditActionsManager.getInventoryEditActionsEditManager().clickInventory(inventoryPlayer,item,slot,clickType);
|
||||
}else if(inventory.equals("edit_requirements")){
|
||||
inventoryEditRequirementsManager.clickInventory(inventoryPlayer,item,slot,clickType);
|
||||
}
|
||||
|
|
@ -398,8 +400,8 @@ public class InventoryEditManager {
|
|||
setCooldown(inventoryPlayer,message);
|
||||
}else if(inventory.startsWith("edit_chat_add_action_")){
|
||||
inventoryEditActionsManager.addAction(inventoryPlayer,message);
|
||||
}else if(inventory.startsWith("edit_chat_edit_action_")){
|
||||
inventoryEditActionsManager.editAction(inventoryPlayer,message);
|
||||
}else if(inventory.startsWith("edit_chat_action_slot_")){
|
||||
inventoryEditActionsManager.getInventoryEditActionsEditManager().editAction(inventoryPlayer,message);
|
||||
}else if(inventory.equals("edit_chat_price")){
|
||||
inventoryEditRequirementsManager.setPrice(inventoryPlayer,message);
|
||||
}
|
||||
|
|
|
|||
30
src/main/java/pk/ajneb97/model/verify/PKInvalidItem.java
Normal file
30
src/main/java/pk/ajneb97/model/verify/PKInvalidItem.java
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
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 PKInvalidItem extends PKBaseError{
|
||||
|
||||
private String material;
|
||||
|
||||
public PKInvalidItem(String file, String errorText, boolean critical, String material) {
|
||||
super(file, errorText, critical);
|
||||
this.material = material;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendMessage(Player player) {
|
||||
List<String> hover = new ArrayList<String>();
|
||||
|
||||
JSONMessage jsonMessage = new JSONMessage(player,prefix+"&7Item material &c"+material+" &7on file &c"+file+" &7is not valid.");
|
||||
hover.add("&eTHIS IS AN ERROR!");
|
||||
hover.add("&fThe material &c"+material+" &fdefined on");
|
||||
hover.add("&ffile &c"+file+" &fdoesn't exists for your");
|
||||
hover.add("&fminecraft version.");
|
||||
|
||||
jsonMessage.hover(hover).send();
|
||||
}
|
||||
}
|
||||
|
|
@ -193,6 +193,9 @@ public class NMSManager {
|
|||
&& !t.equals("StoredEnchantments") && !t.equals("CustomPotionColor") && !t.equals("CustomPotionEffects") && !t.equals("Fireworks")
|
||||
&& !t.equals("Explosion")&& !t.equals("pages") && !t.equals("title") && !t.equals("author") && !t.equals("resolved")
|
||||
&& !t.equals("generation") && !t.equals("Trim")) {
|
||||
if(t.equals("BlockEntityTag") && !item.getType().name().contains("SHULKER")){
|
||||
continue;
|
||||
}
|
||||
if((boolean)version.getMethodRef("hasKeyOfType").invoke(compound,t,1)) {
|
||||
//boolean
|
||||
nbtList.add(t+"|"+version.getMethodRef("getBoolean").invoke(compound,t)+"|boolean");
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ actions:
|
|||
1:
|
||||
action: "console_command: bc &6%player% &ejust claimed a &aDIAMOND KIT&e!"
|
||||
display_item:
|
||||
id: "BOOK"
|
||||
id: BOOK
|
||||
name: "&4Announcement"
|
||||
lore:
|
||||
- "&7Claiming this kit will send an announcement"
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
main: pk.ajneb97.PlayerKits2
|
||||
version: 1.5.1
|
||||
version: 1.6.1
|
||||
name: PlayerKits2
|
||||
api-version: 1.13
|
||||
softdepend: [Vault,PlaceholderAPI]
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue