diff --git a/src/main/java/pk/ajneb97/configs/InventoryConfigManager.java b/src/main/java/pk/ajneb97/configs/InventoryConfigManager.java index 6d4a6b9..5aaee29 100644 --- a/src/main/java/pk/ajneb97/configs/InventoryConfigManager.java +++ b/src/main/java/pk/ajneb97/configs/InventoryConfigManager.java @@ -7,11 +7,6 @@ import pk.ajneb97.model.inventory.ItemKitInventory; import pk.ajneb97.model.inventory.KitInventory; import pk.ajneb97.model.item.KitItem; import pk.ajneb97.utils.OtherUtils; - -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; import java.util.ArrayList; import java.util.List; @@ -28,6 +23,7 @@ public class InventoryConfigManager { if(this.configFile.isFirstTime() && OtherUtils.isLegacy()){ checkAndFix(); } + checkClickCommands(); } public void checkAndFix(){ @@ -39,6 +35,38 @@ public class InventoryConfigManager { configFile.saveConfig(); } + public void checkClickCommands(){ + boolean needsSave = false; + FileConfiguration config = configFile.getConfig(); + if(config.contains("inventories")) { + for (String key : config.getConfigurationSection("inventories").getKeys(false)) { + for(String slotString : config.getConfigurationSection("inventories."+key).getKeys(false)) { + String path = "inventories."+key+"."+slotString; + if(config.contains(path+".click_commands")){ + List clickActions = new ArrayList<>(); + List clickCommands = config.getStringList(path+".click_commands"); + for(String c : clickCommands){ + if(c.startsWith("msg %player% ")) { + String text = c.replace("msg %player% ", ""); + clickActions.add("message: "+text); + }else if(c.equals("close_inventory")){ + clickActions.add(c); + }else{ + clickActions.add("console_command: "+c); + } + } + config.set(path+".click_actions",clickActions); + needsSave = true; + } + } + } + } + + if(needsSave){ + configFile.saveConfig(); + } + } + public void configure(){ FileConfiguration config = configFile.getConfig(); @@ -46,7 +74,7 @@ public class InventoryConfigManager { KitItemManager kitItemManager = plugin.getKitItemManager(); if(config.contains("inventories")) { for(String key : config.getConfigurationSection("inventories").getKeys(false)) { - int slots = Integer.valueOf(config.getString("inventories."+key+".slots")); + int slots = config.getInt("inventories."+key+".slots"); String title = config.getString("inventories."+key+".title"); List items = new ArrayList<>(); @@ -61,13 +89,13 @@ public class InventoryConfigManager { String openInventory = config.contains(path+".open_inventory") ? config.getString(path+".open_inventory") : null; - List commands = config.contains(path+".click_commands") ? - config.getStringList(path+".click_commands") : null; + List clickActions = config.contains(path+".click_actions") ? + config.getStringList(path+".click_actions") : null; String type = config.contains(path+".type") ? config.getString(path+".type") : null; - ItemKitInventory itemCraft = new ItemKitInventory(slotString,item,openInventory,commands,type); + ItemKitInventory itemCraft = new ItemKitInventory(slotString,item,openInventory,clickActions,type); items.add(itemCraft); } } @@ -108,8 +136,8 @@ public class InventoryConfigManager { if(item.getOpenInventory() != null){ config.set(path+".open_inventory",item.getOpenInventory()); } - if(item.getCommands() != null && !item.getCommands().isEmpty()){ - config.set(path+".click_commands",item.getCommands()); + if(item.getClickActions() != null && !item.getClickActions().isEmpty()){ + config.set(path+".click_actions",item.getClickActions()); } } } @@ -128,21 +156,4 @@ public class InventoryConfigManager { public FileConfiguration getConfig(){ return configFile.getConfig(); } - - public void checkUpdate(){ - Path pathConfig = Paths.get(configFile.getRoute()); - try{ - String text = new String(Files.readAllBytes(pathConfig)); - /* - if(!text.contains("register_commands:")){ - List commands = new ArrayList<>(); - getConfig().set("Config.register_commands", commands); - saveConfig(); - } - */ - }catch(IOException e){ - e.printStackTrace(); - } - } - } diff --git a/src/main/java/pk/ajneb97/configs/PlayersConfigManager.java b/src/main/java/pk/ajneb97/configs/PlayersConfigManager.java index 93b7d25..aa25c90 100644 --- a/src/main/java/pk/ajneb97/configs/PlayersConfigManager.java +++ b/src/main/java/pk/ajneb97/configs/PlayersConfigManager.java @@ -12,24 +12,16 @@ import java.util.Map; import java.util.UUID; public class PlayersConfigManager { - private ArrayList configFiles; private String folderName; private PlayerKits2 plugin; public PlayersConfigManager(PlayerKits2 plugin, String folderName){ this.plugin = plugin; this.folderName = folderName; - this.configFiles = new ArrayList<>(); } public void configure() { createFolder(); - reloadConfigs(); - } - - public void reloadConfigs(){ - this.configFiles = new ArrayList<>(); - registerConfigFiles(); loadConfigs(); } @@ -45,89 +37,50 @@ public class PlayersConfigManager { } } - public void saveConfigFiles() { - for(int i=0;i getConfigs(){ - return this.configFiles; - } - - public boolean fileAlreadyRegistered(String pathName) { - for(int i=0;i players = new HashMap<>(); - for(CustomConfig configFile : configFiles) { - FileConfiguration config = configFile.getConfig(); + String path = plugin.getDataFolder() + File.separator + folderName; + File folder = new File(path); + File[] listOfFiles = folder.listFiles(); + for (File file : listOfFiles) { + if (file.isFile()) { + String pathName = file.getName(); + CustomConfig configFile = new CustomConfig(pathName, plugin, folderName, true); + configFile.registerConfig(); - String uuidString = configFile.getPath().replace(".yml", ""); - String name = config.getString("name"); - ArrayList playerDataKits = new ArrayList<>(); + FileConfiguration config = configFile.getConfig(); + String uuidString = configFile.getPath().replace(".yml", ""); + String name = config.getString("name"); + ArrayList playerDataKits = new ArrayList<>(); - if(config.contains("kits")){ - for(String key : config.getConfigurationSection("kits").getKeys(false)){ - long cooldown = config.getLong("kits."+key+".cooldown"); - boolean oneTime = config.getBoolean("kits."+key+".one_time"); - boolean bought = config.getBoolean("kits."+key+".bought"); + if (config.contains("kits")) { + for (String key : config.getConfigurationSection("kits").getKeys(false)) { + long cooldown = config.getLong("kits." + key + ".cooldown"); + boolean oneTime = config.getBoolean("kits." + key + ".one_time"); + boolean bought = config.getBoolean("kits." + key + ".bought"); - PlayerDataKit playerDataKit = new PlayerDataKit(key); - playerDataKit.setCooldown(cooldown); - playerDataKit.setOneTime(oneTime); - playerDataKit.setBought(bought); + PlayerDataKit playerDataKit = new PlayerDataKit(key); + playerDataKit.setCooldown(cooldown); + playerDataKit.setOneTime(oneTime); + playerDataKit.setBought(bought); - playerDataKits.add(playerDataKit); + playerDataKits.add(playerDataKit); + } } + + UUID uuid = UUID.fromString(uuidString); + PlayerData playerData = new PlayerData(uuid, name); + playerData.setKits(playerDataKits); + + players.put(uuid, playerData); } - - UUID uuid = UUID.fromString(uuidString); - PlayerData playerData = new PlayerData(uuid,name); - playerData.setKits(playerDataKits); - - players.put(uuid,playerData); } plugin.getPlayerDataManager().setPlayers(players); @@ -136,10 +89,6 @@ public class PlayersConfigManager { public void saveConfig(PlayerData playerData){ String playerName = playerData.getName(); CustomConfig playerConfig = getConfigFile(playerData.getUuid()+".yml"); - if(playerConfig == null) { - registerConfigFile(playerData.getUuid()+".yml"); - playerConfig = getConfigFile(playerData.getUuid()+".yml"); - } FileConfiguration config = playerConfig.getConfig(); config.set("name", playerName); diff --git a/src/main/java/pk/ajneb97/managers/InventoryManager.java b/src/main/java/pk/ajneb97/managers/InventoryManager.java index 08cc205..020da43 100644 --- a/src/main/java/pk/ajneb97/managers/InventoryManager.java +++ b/src/main/java/pk/ajneb97/managers/InventoryManager.java @@ -20,10 +20,12 @@ 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.utils.ActionUtils; import pk.ajneb97.utils.ItemUtils; import pk.ajneb97.utils.PlayerUtils; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; public class InventoryManager { @@ -94,7 +96,6 @@ public class InventoryManager { KitItemManager kitItemManager = plugin.getKitItemManager(); KitsManager kitsManager = plugin.getKitsManager(); PlayerDataManager playerDataManager = plugin.getPlayerDataManager(); - MessagesManager msgManager = plugin.getMessagesManager(); //Add items for all inventories for(ItemKitInventory itemInventory : items){ @@ -102,7 +103,7 @@ public class InventoryManager { String type = itemInventory.getType(); if(type != null && type.startsWith("kit: ")){ setKit(type.replace("kit: ",""),inventoryPlayer.getPlayer(),inv,slot,kitsManager - ,playerDataManager,kitItemManager,msgManager); + ,playerDataManager,kitItemManager); continue; } @@ -119,18 +120,7 @@ public class InventoryManager { if(openInventory != null) { item = ItemUtils.setTagStringItem(plugin,item, "playerkits_open_inventory", openInventory); } - List commands = itemInventory.getCommands(); - if(commands != null && !commands.isEmpty()) { - String commandList = ""; - for(int i=0;i clickActions = itemInventory.getClickActions(); + if(clickActions != null && !clickActions.isEmpty()) { + String actionsList = ""; + for(int i=0;i commands; + private List clickActions; private String type; - public ItemKitInventory(String slotsString, KitItem item, String openInventory, List commands, String type) { + public ItemKitInventory(String slotsString, KitItem item, String openInventory, List clickActions, String type) { slots = new ArrayList<>(); this.slotsString = slotsString; String[] slotsSep = slotsString.split(";"); @@ -32,7 +32,7 @@ public class ItemKitInventory { this.item = item; this.openInventory = openInventory; - this.commands = commands; + this.clickActions = clickActions; this.type = type; } @@ -60,14 +60,6 @@ public class ItemKitInventory { this.openInventory = openInventory; } - public List getCommands() { - return commands; - } - - public void setCommands(List commands) { - this.commands = commands; - } - public String getType() { return type; } @@ -83,4 +75,12 @@ public class ItemKitInventory { public void setSlotsString(String slotsString) { this.slotsString = slotsString; } + + public List getClickActions() { + return clickActions; + } + + public void setClickActions(List clickActions) { + this.clickActions = clickActions; + } } diff --git a/src/main/java/pk/ajneb97/tasks/InventoryUpdateTaskManager.java b/src/main/java/pk/ajneb97/tasks/InventoryUpdateTaskManager.java index 60ae115..39b4e1d 100644 --- a/src/main/java/pk/ajneb97/tasks/InventoryUpdateTaskManager.java +++ b/src/main/java/pk/ajneb97/tasks/InventoryUpdateTaskManager.java @@ -31,7 +31,6 @@ public class InventoryUpdateTaskManager { public void execute(){ InventoryManager inventoryManager = plugin.getInventoryManager(); KitsManager kitsManager = plugin.getKitsManager(); - MessagesManager msgManager = plugin.getMessagesManager(); PlayerDataManager playerDataManager = plugin.getPlayerDataManager(); KitItemManager kitItemManager = plugin.getKitItemManager(); @@ -51,7 +50,7 @@ public class InventoryUpdateTaskManager { String kitName = ItemUtils.getTagStringItem(plugin,item,"playerkits_kit"); if(kitName != null){ inventoryManager.setKit(kitName,player.getPlayer(),inv,i,kitsManager, - playerDataManager,kitItemManager,msgManager); + playerDataManager,kitItemManager); } } } diff --git a/src/main/java/pk/ajneb97/utils/ActionUtils.java b/src/main/java/pk/ajneb97/utils/ActionUtils.java index 1afcd7b..a1eacea 100644 --- a/src/main/java/pk/ajneb97/utils/ActionUtils.java +++ b/src/main/java/pk/ajneb97/utils/ActionUtils.java @@ -18,6 +18,10 @@ import java.util.ArrayList; public class ActionUtils { + public static void message(Player player,String actionLine) { + player.sendMessage(MessagesManager.getColoredMessage(actionLine)); + } + public static void consoleCommand(String actionLine){ ConsoleCommandSender sender = Bukkit.getConsoleSender(); Bukkit.dispatchCommand(sender, actionLine); @@ -129,4 +133,8 @@ public class ActionUtils { firework.setFireworkMeta(fireworkMeta); firework.setMetadata("playerkits", new FixedMetadataValue(plugin, "no_damage")); } + + public static void closeInventory(Player player) { + player.closeInventory(); + } } diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index b7c79d8..6d40f9f 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,5 +1,5 @@ main: pk.ajneb97.PlayerKits2 -version: 1.16.1 +version: 1.17.1 name: PlayerKits2 api-version: 1.13 softdepend: [Vault,PlaceholderAPI]