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.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.item.KitItem;
|
||||||
import pk.ajneb97.model.verify.*;
|
import pk.ajneb97.model.verify.*;
|
||||||
|
import pk.ajneb97.utils.ItemUtils;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
@ -75,6 +77,29 @@ public class VerifyManager {
|
||||||
}
|
}
|
||||||
verifyActions(kit.getClaimActions(),"claim",kitName);
|
verifyActions(kit.getClaimActions(),"claim",kitName);
|
||||||
verifyActions(kit.getErrorActions(),"error",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){
|
public void verifyActions(ArrayList<KitAction> actions,String actionGroup,String kitName){
|
||||||
|
|
@ -115,10 +140,28 @@ public class VerifyManager {
|
||||||
criticalErrors = true;
|
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() {
|
public boolean isCriticalErrors() {
|
||||||
return criticalErrors;
|
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 PlayerKits2 plugin;
|
||||||
private InventoryEditManager inventoryEditManager;
|
private InventoryEditManager inventoryEditManager;
|
||||||
|
private InventoryEditActionsEditManager inventoryEditActionsEditManager;
|
||||||
public InventoryEditActionsManager(PlayerKits2 plugin, InventoryEditManager inventoryEditManager){
|
public InventoryEditActionsManager(PlayerKits2 plugin, InventoryEditManager inventoryEditManager){
|
||||||
this.plugin = plugin;
|
this.plugin = plugin;
|
||||||
this.inventoryEditManager = inventoryEditManager;
|
this.inventoryEditManager = inventoryEditManager;
|
||||||
|
this.inventoryEditActionsEditManager = new InventoryEditActionsEditManager(plugin,this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void openInventory(InventoryPlayer inventoryPlayer,String type) {
|
public void openInventory(InventoryPlayer inventoryPlayer,String type) {
|
||||||
|
|
@ -62,24 +64,23 @@ public class InventoryEditActionsManager {
|
||||||
ArrayList<KitAction> actions = getKitActionsFromType(kit,type);
|
ArrayList<KitAction> actions = getKitActionsFromType(kit,type);
|
||||||
int slot = 0;
|
int slot = 0;
|
||||||
for(KitAction kitAction : actions){
|
for(KitAction kitAction : actions){
|
||||||
String executeBeforeItems = "&cNO";
|
String executeBeforeItems = kitAction.isExecuteBeforeItems() ? "&aYES" : "&cNO";
|
||||||
if (kitAction.isExecuteBeforeItems()) {
|
String countAsItem = kitAction.isCountAsItem() ? "&aYES" : "&cNO";
|
||||||
executeBeforeItems = "&aYES";
|
String displayItem = kitAction.getDisplayItem() != null ? "&aYES" : "&cNO";
|
||||||
}
|
|
||||||
|
|
||||||
lore = new ArrayList<>();
|
lore = new ArrayList<>();
|
||||||
lore.add(MessagesManager.getColoredMessage("&f")+kitAction.getAction());
|
lore.add(MessagesManager.getColoredMessage("&f")+kitAction.getAction());
|
||||||
lore.add("");
|
lore.add("");
|
||||||
lore.add(MessagesManager.getColoredMessage("&7Execute before giving kit items? "+executeBeforeItems));
|
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("");
|
||||||
lore.add(MessagesManager.getColoredMessage("&a&lLEFT CLICK &ato edit"));
|
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"));
|
lore.add(MessagesManager.getColoredMessage("&c&lRIGHT CLICK &cto remove"));
|
||||||
|
|
||||||
ItemStack item = new ItemStack(Material.PAPER);
|
ItemStack item = new ItemStack(Material.PAPER);
|
||||||
ItemMeta meta = item.getItemMeta();
|
ItemMeta meta = item.getItemMeta();
|
||||||
meta.setDisplayName(MessagesManager.getColoredMessage("&7Command &e#"+(slot+1)));
|
meta.setDisplayName(MessagesManager.getColoredMessage("&7Action &e#"+(slot+1)));
|
||||||
meta.setLore(lore);
|
meta.setLore(lore);
|
||||||
item.setItemMeta(meta);
|
item.setItemMeta(meta);
|
||||||
inv.setItem(slot,item);
|
inv.setItem(slot,item);
|
||||||
|
|
@ -105,22 +106,11 @@ public class InventoryEditActionsManager {
|
||||||
plugin.getConfigsManager().getKitsConfigManager().saveConfig(kit);
|
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){
|
public void clickAddAction(InventoryPlayer inventoryPlayer){
|
||||||
Player player = inventoryPlayer.getPlayer();
|
Player player = inventoryPlayer.getPlayer();
|
||||||
player.sendMessage(MessagesManager.getColoredMessage(PlayerKits2.prefix+"&7Write the new action to add."));
|
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();
|
player.closeInventory();
|
||||||
String type = inventoryPlayer.getInventoryName().replace("edit_actions_","");
|
String type = inventoryPlayer.getInventoryName().replace("edit_actions_","");
|
||||||
|
|
@ -139,40 +129,14 @@ public class InventoryEditActionsManager {
|
||||||
plugin.getConfigsManager().getKitsConfigManager().saveConfig(kit);
|
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){
|
public void clickInventory(InventoryPlayer inventoryPlayer, ItemStack item, int slot, ClickType clickType){
|
||||||
if(slot == 45){
|
if(slot == 45){
|
||||||
inventoryEditManager.openInventory(inventoryPlayer);
|
inventoryEditManager.openInventory(inventoryPlayer);
|
||||||
}else if(slot >= 0 && slot <= 44 && item != null && !item.getType().equals(Material.AIR)){
|
}else if(slot >= 0 && slot <= 44 && item != null && !item.getType().equals(Material.AIR)){
|
||||||
if(clickType.isLeftClick()){
|
if(clickType.isLeftClick()){
|
||||||
if(clickType.isShiftClick()){
|
String type = inventoryPlayer.getInventoryName().replace("edit_actions_","");
|
||||||
alternateExecutionBeforeItems(inventoryPlayer,slot);
|
inventoryEditActionsEditManager.openInventory(inventoryPlayer,type,slot);
|
||||||
}else{
|
|
||||||
clickEditAction(inventoryPlayer,slot);
|
|
||||||
}
|
|
||||||
}else if(clickType.isRightClick()){
|
}else if(clickType.isRightClick()){
|
||||||
removeAction(inventoryPlayer,slot);
|
removeAction(inventoryPlayer,slot);
|
||||||
}
|
}
|
||||||
|
|
@ -190,4 +154,12 @@ public class InventoryEditActionsManager {
|
||||||
}
|
}
|
||||||
return actions;
|
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.PlayerKits2;
|
||||||
import pk.ajneb97.managers.MessagesManager;
|
import pk.ajneb97.managers.MessagesManager;
|
||||||
import pk.ajneb97.model.Kit;
|
import pk.ajneb97.model.Kit;
|
||||||
|
import pk.ajneb97.model.KitAction;
|
||||||
import pk.ajneb97.model.inventory.InventoryPlayer;
|
import pk.ajneb97.model.inventory.InventoryPlayer;
|
||||||
import pk.ajneb97.model.item.KitItem;
|
import pk.ajneb97.model.item.KitItem;
|
||||||
import pk.ajneb97.utils.InventoryItem;
|
import pk.ajneb97.utils.InventoryItem;
|
||||||
|
|
@ -77,7 +78,12 @@ public class InventoryEditDisplayManager {
|
||||||
lore.add("&eSet &6&lCooldown Display Item");
|
lore.add("&eSet &6&lCooldown Display Item");
|
||||||
}else if(type.equals("requirements")){
|
}else if(type.equals("requirements")){
|
||||||
lore.add("&6&lOne Time Requirements Display Item");
|
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");
|
lore.add("&6&lDefault Display Item");
|
||||||
}
|
}
|
||||||
new InventoryItem(inv, 0, Material.COMPASS).name("&6&lInfo").lore(lore).ready();
|
new InventoryItem(inv, 0, Material.COMPASS).name("&6&lInfo").lore(lore).ready();
|
||||||
|
|
@ -117,6 +123,11 @@ public class InventoryEditDisplayManager {
|
||||||
kit.setDisplayItemCooldown(kitItem);
|
kit.setDisplayItemCooldown(kitItem);
|
||||||
}else if(type.equals("requirements")){
|
}else if(type.equals("requirements")){
|
||||||
kit.setDisplayItemOneTimeRequirements(kitItem);
|
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{
|
}else{
|
||||||
kit.setDisplayItemDefault(kitItem);
|
kit.setDisplayItemDefault(kitItem);
|
||||||
}
|
}
|
||||||
|
|
@ -134,7 +145,15 @@ public class InventoryEditDisplayManager {
|
||||||
if(slot != 13){
|
if(slot != 13){
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
if(slot == 18){
|
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);
|
inventoryEditManager.openInventory(inventoryPlayer);
|
||||||
|
}
|
||||||
}else if(slot == 26){
|
}else if(slot == 26){
|
||||||
saveKitItem(inventoryPlayer);
|
saveKitItem(inventoryPlayer);
|
||||||
inventoryPlayer.getPlayer().sendMessage(MessagesManager.getColoredMessage(PlayerKits2.prefix+"&aDisplay item saved."));
|
inventoryPlayer.getPlayer().sendMessage(MessagesManager.getColoredMessage(PlayerKits2.prefix+"&aDisplay item saved."));
|
||||||
|
|
@ -144,6 +163,12 @@ public class InventoryEditDisplayManager {
|
||||||
}
|
}
|
||||||
|
|
||||||
public KitItem getKitDisplayItemFromType(Kit kit, String type){
|
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();
|
KitItem kitItem = kit.getDisplayItemDefault();
|
||||||
switch(type){
|
switch(type){
|
||||||
case "permission":
|
case "permission":
|
||||||
|
|
@ -158,3 +183,14 @@ public class InventoryEditDisplayManager {
|
||||||
return kitItem;
|
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_")){
|
}else if(inventory.startsWith("edit_actions_")){
|
||||||
inventoryEditActionsManager.clickInventory(inventoryPlayer,item,slot,clickType);
|
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")){
|
}else if(inventory.equals("edit_requirements")){
|
||||||
inventoryEditRequirementsManager.clickInventory(inventoryPlayer,item,slot,clickType);
|
inventoryEditRequirementsManager.clickInventory(inventoryPlayer,item,slot,clickType);
|
||||||
}
|
}
|
||||||
|
|
@ -398,8 +400,8 @@ public class InventoryEditManager {
|
||||||
setCooldown(inventoryPlayer,message);
|
setCooldown(inventoryPlayer,message);
|
||||||
}else if(inventory.startsWith("edit_chat_add_action_")){
|
}else if(inventory.startsWith("edit_chat_add_action_")){
|
||||||
inventoryEditActionsManager.addAction(inventoryPlayer,message);
|
inventoryEditActionsManager.addAction(inventoryPlayer,message);
|
||||||
}else if(inventory.startsWith("edit_chat_edit_action_")){
|
}else if(inventory.startsWith("edit_chat_action_slot_")){
|
||||||
inventoryEditActionsManager.editAction(inventoryPlayer,message);
|
inventoryEditActionsManager.getInventoryEditActionsEditManager().editAction(inventoryPlayer,message);
|
||||||
}else if(inventory.equals("edit_chat_price")){
|
}else if(inventory.equals("edit_chat_price")){
|
||||||
inventoryEditRequirementsManager.setPrice(inventoryPlayer,message);
|
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("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("Explosion")&& !t.equals("pages") && !t.equals("title") && !t.equals("author") && !t.equals("resolved")
|
||||||
&& !t.equals("generation") && !t.equals("Trim")) {
|
&& !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)) {
|
if((boolean)version.getMethodRef("hasKeyOfType").invoke(compound,t,1)) {
|
||||||
//boolean
|
//boolean
|
||||||
nbtList.add(t+"|"+version.getMethodRef("getBoolean").invoke(compound,t)+"|boolean");
|
nbtList.add(t+"|"+version.getMethodRef("getBoolean").invoke(compound,t)+"|boolean");
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ actions:
|
||||||
1:
|
1:
|
||||||
action: "console_command: bc &6%player% &ejust claimed a &aDIAMOND KIT&e!"
|
action: "console_command: bc &6%player% &ejust claimed a &aDIAMOND KIT&e!"
|
||||||
display_item:
|
display_item:
|
||||||
id: "BOOK"
|
id: BOOK
|
||||||
name: "&4Announcement"
|
name: "&4Announcement"
|
||||||
lore:
|
lore:
|
||||||
- "&7Claiming this kit will send an announcement"
|
- "&7Claiming this kit will send an announcement"
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
main: pk.ajneb97.PlayerKits2
|
main: pk.ajneb97.PlayerKits2
|
||||||
version: 1.5.1
|
version: 1.6.1
|
||||||
name: PlayerKits2
|
name: PlayerKits2
|
||||||
api-version: 1.13
|
api-version: 1.13
|
||||||
softdepend: [Vault,PlaceholderAPI]
|
softdepend: [Vault,PlaceholderAPI]
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue