diff --git a/pom.xml b/pom.xml
index 55b7d3f..67c4df7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
pk.ajneb97
PlayerKits2
- 1.0-SNAPSHOT
+ 1.18.3
21
@@ -37,7 +37,7 @@
org.spigotmc
spigot-api
- 1.21.7-R0.1-SNAPSHOT
+ 1.21.8-R0.1-SNAPSHOT
provided
@@ -67,14 +67,23 @@
+
+
+ src/main/resources
+ true
+
+
+
+ maven-resources-plugin
+ 3.3.1
+
maven-compiler-plugin
3.8.1
1.8
1.8
- 8
diff --git a/src/main/java/pk/ajneb97/PlayerKits2.java b/src/main/java/pk/ajneb97/PlayerKits2.java
index a539d88..033ba4c 100644
--- a/src/main/java/pk/ajneb97/PlayerKits2.java
+++ b/src/main/java/pk/ajneb97/PlayerKits2.java
@@ -140,6 +140,7 @@ public class PlayerKits2 extends JavaPlugin {
break;
case "1.21.6":
case "1.21.7":
+ case "1.21.8":
serverVersion = ServerVersion.v1_21_R5;
break;
default:
diff --git a/src/main/java/pk/ajneb97/configs/ConfigsManager.java b/src/main/java/pk/ajneb97/configs/ConfigsManager.java
index c32e438..7a6ae5f 100644
--- a/src/main/java/pk/ajneb97/configs/ConfigsManager.java
+++ b/src/main/java/pk/ajneb97/configs/ConfigsManager.java
@@ -61,7 +61,7 @@ public class ConfigsManager {
if(!inventoryConfigManager.reloadConfig()){
return false;
}
- kitsConfigManager.reloadConfigs();
+ kitsConfigManager.loadConfigs();
if(plugin.getMySQLConnection() == null){
plugin.reloadPlayerDataSaveTask();
}
diff --git a/src/main/java/pk/ajneb97/configs/DataFolderConfigManager.java b/src/main/java/pk/ajneb97/configs/DataFolderConfigManager.java
new file mode 100644
index 0000000..77557cd
--- /dev/null
+++ b/src/main/java/pk/ajneb97/configs/DataFolderConfigManager.java
@@ -0,0 +1,66 @@
+package pk.ajneb97.configs;
+
+
+import pk.ajneb97.PlayerKits2;
+import pk.ajneb97.configs.model.CommonConfig;
+
+import java.io.File;
+import java.util.ArrayList;
+
+public abstract class DataFolderConfigManager {
+ protected String folderName;
+ protected PlayerKits2 plugin;
+
+ public DataFolderConfigManager(PlayerKits2 plugin, String folderName){
+ this.plugin = plugin;
+ this.folderName = folderName;
+ }
+
+ public void configure() {
+ createFolder();
+ loadConfigs();
+ }
+
+ public void createFolder(){
+ File folder;
+ try {
+ folder = new File(plugin.getDataFolder() + File.separator + folderName);
+ if(!folder.exists()){
+ folder.mkdirs();
+ createFiles();
+ }
+ } catch(SecurityException e) {
+ folder = null;
+ }
+ }
+
+ public CommonConfig getConfigFile(String pathName) {
+ CommonConfig commonConfig = new CommonConfig(pathName, plugin, folderName, true);
+ commonConfig.registerConfig();
+ return commonConfig;
+ }
+
+ public ArrayList getConfigs(){
+ ArrayList configs = new ArrayList<>();
+
+ String pathFile = plugin.getDataFolder() + File.separator + folderName;
+ File folder = new File(pathFile);
+ File[] listOfFiles = folder.listFiles();
+ for (File file : listOfFiles) {
+ if (file.isFile()) {
+ String pathName = file.getName();
+ CommonConfig commonConfig = new CommonConfig(pathName, plugin, folderName, true);
+ commonConfig.registerConfig();
+ configs.add(commonConfig);
+ }
+ }
+
+ return configs;
+ }
+
+ public abstract void createFiles();
+
+ public abstract void loadConfigs();
+
+ public abstract void saveConfigs();
+}
diff --git a/src/main/java/pk/ajneb97/configs/InventoryConfigManager.java b/src/main/java/pk/ajneb97/configs/InventoryConfigManager.java
index 5aaee29..92bfb79 100644
--- a/src/main/java/pk/ajneb97/configs/InventoryConfigManager.java
+++ b/src/main/java/pk/ajneb97/configs/InventoryConfigManager.java
@@ -2,6 +2,7 @@ package pk.ajneb97.configs;
import org.bukkit.configuration.file.FileConfiguration;
import pk.ajneb97.PlayerKits2;
+import pk.ajneb97.configs.model.CommonConfig;
import pk.ajneb97.managers.KitItemManager;
import pk.ajneb97.model.inventory.ItemKitInventory;
import pk.ajneb97.model.inventory.KitInventory;
@@ -13,12 +14,12 @@ import java.util.List;
public class InventoryConfigManager {
private PlayerKits2 plugin;
- private CustomConfig configFile;
+ private CommonConfig configFile;
public InventoryConfigManager(PlayerKits2 plugin){
this.plugin = plugin;
- this.configFile = new CustomConfig("inventory.yml",plugin,null, false);
+ this.configFile = new CommonConfig("inventory.yml",plugin,null, false);
this.configFile.registerConfig();
if(this.configFile.isFirstTime() && OtherUtils.isLegacy()){
checkAndFix();
diff --git a/src/main/java/pk/ajneb97/configs/KitsConfigManager.java b/src/main/java/pk/ajneb97/configs/KitsConfigManager.java
index 38a794b..1d1c0ad 100644
--- a/src/main/java/pk/ajneb97/configs/KitsConfigManager.java
+++ b/src/main/java/pk/ajneb97/configs/KitsConfigManager.java
@@ -2,6 +2,7 @@ package pk.ajneb97.configs;
import org.bukkit.configuration.file.FileConfiguration;
import pk.ajneb97.PlayerKits2;
+import pk.ajneb97.configs.model.CommonConfig;
import pk.ajneb97.managers.KitItemManager;
import pk.ajneb97.model.Kit;
import pk.ajneb97.model.KitAction;
@@ -11,111 +12,25 @@ import java.io.File;
import java.util.ArrayList;
import java.util.List;
-public class KitsConfigManager {
- private ArrayList configFiles;
- private String folderName;
- private PlayerKits2 plugin;
+public class KitsConfigManager extends DataFolderConfigManager{
public KitsConfigManager(PlayerKits2 plugin, String folderName){
- this.plugin = plugin;
- this.folderName = folderName;
- this.configFiles = new ArrayList<>();
+ super(plugin, folderName);
}
- public void configure() {
- createFolder();
- reloadConfigs();
- }
-
- public void reloadConfigs(){
- this.configFiles = new ArrayList<>();
- registerConfigFiles();
- loadConfigs();
- }
-
- public void createFolder(){
- File folder;
- try {
- folder = new File(plugin.getDataFolder() + File.separator + folderName);
- if(!folder.exists()){
- folder.mkdirs();
- createDefaultConfigs();
- }
- } catch(SecurityException e) {
- folder = null;
- }
- }
-
- public void createDefaultConfigs(){
- new CustomConfig("diamond.yml",plugin,folderName,false).registerConfig();
- new CustomConfig("iron.yml",plugin,folderName,false).registerConfig();
- new CustomConfig("food.yml",plugin,folderName,false).registerConfig();
- }
-
- public void saveConfigFiles() {
- for(int i=0;i getConfigs(){
- return this.configFiles;
- }
-
- public boolean fileAlreadyRegistered(String pathName) {
- for(int i=0;i kits = new ArrayList();
- for(CustomConfig configFile : configFiles){
+ ArrayList kits = new ArrayList<>();
+
+ ArrayList configFiles = getConfigs();
+ for(CommonConfig configFile : configFiles){
FileConfiguration config = configFile.getConfig();
String name = configFile.getPath().replace(".yml","");
@@ -126,17 +41,14 @@ public class KitsConfigManager {
plugin.getKitsManager().setKits(kits);
}
+ @Override
public void saveConfigs(){
}
public void saveConfig(Kit kit){
String kitName = kit.getName();
- CustomConfig kitConfig = getConfigFile(kitName+".yml");
- if(kitConfig == null) {
- registerConfigFile(kitName+".yml");
- kitConfig = getConfigFile(kitName+".yml");
- }
+ CommonConfig kitConfig = getConfigFile(kitName+".yml");
FileConfiguration config = kitConfig.getConfig();
@@ -217,15 +129,8 @@ public class KitsConfigManager {
}
public void removeKitFile(String kitName){
- CustomConfig kitConfig = getConfigFile(kitName+".yml");
- if(kitConfig == null){
- return;
- }
-
- File file = new File(plugin.getDataFolder()+File.separator+folderName,kitConfig.getPath());
+ File file = new File(plugin.getDataFolder()+File.separator+folderName,kitName+".yml");
file.delete();
-
- removeConfigKit(kitConfig.getPath());
}
// mainPath must include a "." at the end
diff --git a/src/main/java/pk/ajneb97/configs/MainConfigManager.java b/src/main/java/pk/ajneb97/configs/MainConfigManager.java
index afbb772..947372d 100644
--- a/src/main/java/pk/ajneb97/configs/MainConfigManager.java
+++ b/src/main/java/pk/ajneb97/configs/MainConfigManager.java
@@ -2,6 +2,7 @@ package pk.ajneb97.configs;
import org.bukkit.configuration.file.FileConfiguration;
import pk.ajneb97.PlayerKits2;
+import pk.ajneb97.configs.model.CommonConfig;
import pk.ajneb97.model.Kit;
import java.io.IOException;
@@ -12,7 +13,7 @@ import java.nio.file.Paths;
public class MainConfigManager {
private PlayerKits2 plugin;
- private CustomConfig configFile;
+ private CommonConfig configFile;
//Options
private Kit newKitDefault;
@@ -28,7 +29,7 @@ public class MainConfigManager {
public MainConfigManager(PlayerKits2 plugin){
this.plugin = plugin;
- this.configFile = new CustomConfig("config.yml",plugin,null, false);
+ this.configFile = new CommonConfig("config.yml",plugin,null, false);
this.configFile.registerConfig();
checkUpdate();
}
diff --git a/src/main/java/pk/ajneb97/configs/MessagesConfigManager.java b/src/main/java/pk/ajneb97/configs/MessagesConfigManager.java
index bd66dba..ea24ee1 100644
--- a/src/main/java/pk/ajneb97/configs/MessagesConfigManager.java
+++ b/src/main/java/pk/ajneb97/configs/MessagesConfigManager.java
@@ -2,6 +2,7 @@ package pk.ajneb97.configs;
import org.bukkit.configuration.file.FileConfiguration;
import pk.ajneb97.PlayerKits2;
+import pk.ajneb97.configs.model.CommonConfig;
import pk.ajneb97.managers.MessagesManager;
import java.io.IOException;
@@ -12,11 +13,11 @@ import java.nio.file.Paths;
public class MessagesConfigManager {
private PlayerKits2 plugin;
- private CustomConfig configFile;
+ private CommonConfig configFile;
public MessagesConfigManager(PlayerKits2 plugin){
this.plugin = plugin;
- this.configFile = new CustomConfig("messages.yml",plugin,null, false);
+ this.configFile = new CommonConfig("messages.yml",plugin,null, false);
this.configFile.registerConfig();
checkUpdate();
}
diff --git a/src/main/java/pk/ajneb97/configs/PlayersConfigManager.java b/src/main/java/pk/ajneb97/configs/PlayersConfigManager.java
index aa25c90..5e5e0ac 100644
--- a/src/main/java/pk/ajneb97/configs/PlayersConfigManager.java
+++ b/src/main/java/pk/ajneb97/configs/PlayersConfigManager.java
@@ -2,85 +2,56 @@ package pk.ajneb97.configs;
import org.bukkit.configuration.file.FileConfiguration;
import pk.ajneb97.PlayerKits2;
+import pk.ajneb97.configs.model.CommonConfig;
import pk.ajneb97.model.PlayerData;
import pk.ajneb97.model.PlayerDataKit;
-
-import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
-public class PlayersConfigManager {
- private String folderName;
- private PlayerKits2 plugin;
+public class PlayersConfigManager extends DataFolderConfigManager{
public PlayersConfigManager(PlayerKits2 plugin, String folderName){
- this.plugin = plugin;
- this.folderName = folderName;
+ super(plugin, folderName);
}
- public void configure() {
- createFolder();
- loadConfigs();
- }
-
- public void createFolder(){
- File folder;
- try {
- folder = new File(plugin.getDataFolder() + File.separator + folderName);
- if(!folder.exists()){
- folder.mkdirs();
- }
- } catch(SecurityException e) {
- folder = null;
- }
- }
-
- public CustomConfig getConfigFile(String pathName) {
- CustomConfig config = new CustomConfig(pathName, plugin, folderName, true);
- config.registerConfig();
- return config;
+ @Override
+ public void createFiles() {
+
}
+ @Override
public void loadConfigs(){
Map players = new HashMap<>();
- 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();
+ ArrayList configs = getConfigs();
+ for(CommonConfig commonConfig : configs){
+ FileConfiguration config = commonConfig.getConfig();
+ String uuidString = commonConfig.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);
@@ -88,7 +59,7 @@ public class PlayersConfigManager {
public void saveConfig(PlayerData playerData){
String playerName = playerData.getName();
- CustomConfig playerConfig = getConfigFile(playerData.getUuid()+".yml");
+ CommonConfig playerConfig = getConfigFile(playerData.getUuid()+".yml");
FileConfiguration config = playerConfig.getConfig();
config.set("name", playerName);
@@ -104,6 +75,7 @@ public class PlayersConfigManager {
playerConfig.saveConfig();
}
+ @Override
public void saveConfigs(){
Map players = plugin.getPlayerDataManager().getPlayers();
boolean isMySQL = plugin.getConfigsManager().getMainConfigManager().isMySQL();
diff --git a/src/main/java/pk/ajneb97/configs/CustomConfig.java b/src/main/java/pk/ajneb97/configs/model/CommonConfig.java
similarity index 94%
rename from src/main/java/pk/ajneb97/configs/CustomConfig.java
rename to src/main/java/pk/ajneb97/configs/model/CommonConfig.java
index e8aa1f3..dbfb080 100644
--- a/src/main/java/pk/ajneb97/configs/CustomConfig.java
+++ b/src/main/java/pk/ajneb97/configs/model/CommonConfig.java
@@ -1,12 +1,14 @@
-package pk.ajneb97.configs;
+package pk.ajneb97.configs.model;
import org.bukkit.configuration.InvalidConfigurationException;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;
import pk.ajneb97.PlayerKits2;
-import java.io.*;
-public class CustomConfig {
+import java.io.File;
+import java.io.IOException;
+
+public class CommonConfig {
private String fileName;
private FileConfiguration fileConfiguration = null;
@@ -17,7 +19,7 @@ public class CustomConfig {
private boolean newFile;
private boolean isFirstTime;
- public CustomConfig(String fileName, PlayerKits2 plugin, String folderName, boolean newFile){
+ public CommonConfig(String fileName, PlayerKits2 plugin, String folderName, boolean newFile){
this.fileName = fileName;
this.plugin = plugin;
this.newFile = newFile;
diff --git a/src/main/java/pk/ajneb97/managers/InventoryRequirementsManager.java b/src/main/java/pk/ajneb97/managers/InventoryRequirementsManager.java
index 6735fe1..cbd2e15 100644
--- a/src/main/java/pk/ajneb97/managers/InventoryRequirementsManager.java
+++ b/src/main/java/pk/ajneb97/managers/InventoryRequirementsManager.java
@@ -1,7 +1,6 @@
package pk.ajneb97.managers;
import me.clip.placeholderapi.PlaceholderAPI;
-import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
@@ -98,11 +97,7 @@ public class InventoryRequirementsManager {
public void requirementsInventoryBuy(InventoryPlayer inventoryPlayer){
Kit kit = plugin.getKitsManager().getKitByName(inventoryPlayer.getKitName());
- KitRequirements requirements = kit.getRequirements();
- DependencyManager dependencyManager = plugin.getDependencyManager();
- boolean isPlaceholderAPI = dependencyManager.isPlaceholderAPI();
Player player = inventoryPlayer.getPlayer();
- FileConfiguration messages = plugin.getConfigsManager().getMessagesConfigManager().getConfig();
MessagesManager msgManager = plugin.getMessagesManager();
//Buy - Unlock
@@ -110,6 +105,11 @@ public class InventoryRequirementsManager {
PlayerKitsMessageResult result = kitsManager.giveKit(player,inventoryPlayer.getKitName(),
new GiveKitInstructions(false,true,false,false));
if(!result.isError()){
+ if(plugin.getConfigsManager().getMainConfigManager().isCloseInventoryOnClaim()){
+ player.closeInventory();
+ return;
+ }
+
//Everything is good, open previous inventory.
requirementsInventoryCancel(inventoryPlayer);
}else{
diff --git a/src/main/java/pk/ajneb97/managers/MigrationManager.java b/src/main/java/pk/ajneb97/managers/MigrationManager.java
index 9672300..5c75479 100644
--- a/src/main/java/pk/ajneb97/managers/MigrationManager.java
+++ b/src/main/java/pk/ajneb97/managers/MigrationManager.java
@@ -111,7 +111,7 @@ public class MigrationManager {
return;
}
- kitsConfigManager.reloadConfigs();
+ kitsConfigManager.loadConfigs();
plugin.getVerifyManager().verify();
}
diff --git a/src/main/java/pk/ajneb97/managers/edit/InventoryEditKitItemsManager.java b/src/main/java/pk/ajneb97/managers/edit/InventoryEditKitItemsManager.java
index c3e6654..50dfbcb 100644
--- a/src/main/java/pk/ajneb97/managers/edit/InventoryEditKitItemsManager.java
+++ b/src/main/java/pk/ajneb97/managers/edit/InventoryEditKitItemsManager.java
@@ -13,10 +13,7 @@ import pk.ajneb97.managers.MessagesManager;
import pk.ajneb97.model.Kit;
import pk.ajneb97.model.inventory.InventoryPlayer;
import pk.ajneb97.model.item.KitItem;
-import pk.ajneb97.utils.InventoryItem;
-import pk.ajneb97.utils.InventoryUtils;
-import pk.ajneb97.utils.ItemUtils;
-import pk.ajneb97.utils.OtherUtils;
+import pk.ajneb97.utils.*;
import java.util.ArrayList;
import java.util.List;
@@ -87,7 +84,8 @@ public class InventoryEditKitItemsManager {
}
public void clickOffHand(InventoryPlayer inventoryPlayer, Inventory inv, ItemStack clickedItem, int clickedSlot){
- if(Bukkit.getVersion().contains("1.8")){
+ ServerVersion serverVersion = PlayerKits2.serverVersion;
+ if(!serverVersion.serverVersionGreaterEqualThan(serverVersion,ServerVersion.v1_9_R1)) {
inventoryPlayer.getPlayer().sendMessage(MessagesManager.getColoredMessage(PlayerKits2.prefix+"&cOffhand only works on 1.9+."));
return;
}
diff --git a/src/main/java/pk/ajneb97/utils/PlayerUtils.java b/src/main/java/pk/ajneb97/utils/PlayerUtils.java
index 549fb78..5685e67 100644
--- a/src/main/java/pk/ajneb97/utils/PlayerUtils.java
+++ b/src/main/java/pk/ajneb97/utils/PlayerUtils.java
@@ -6,6 +6,7 @@ import org.bukkit.Material;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
+import pk.ajneb97.PlayerKits2;
import java.util.ArrayList;
import java.util.Arrays;
@@ -13,7 +14,8 @@ import java.util.Arrays;
public class PlayerUtils {
public static ItemStack[] getAllInventoryContents(Player player){
- if(Bukkit.getVersion().contains("1.8")) {
+ ServerVersion serverVersion = PlayerKits2.serverVersion;
+ if(!serverVersion.serverVersionGreaterEqualThan(serverVersion,ServerVersion.v1_9_R1)) {
ItemStack[] contents = new ItemStack[40];
int slot = 0;
@@ -36,7 +38,9 @@ public class PlayerUtils {
public static int getUsedSlots(Player player){
//ItemStack[] contents = getAllInventoryContents(player);
ItemStack[] contents = null;
- if(Bukkit.getVersion().contains("1.8")) {
+ ServerVersion serverVersion = PlayerKits2.serverVersion;
+ if(!serverVersion.serverVersionGreaterEqualThan(serverVersion,ServerVersion.v1_9_R1)) {
+ // 1.8
contents = player.getInventory().getContents();
}else{
contents = player.getInventory().getStorageContents();
diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml
index 5833b9c..2c0f8c8 100644
--- a/src/main/resources/plugin.yml
+++ b/src/main/resources/plugin.yml
@@ -1,5 +1,5 @@
main: pk.ajneb97.PlayerKits2
-version: 1.18.2
+version: ${project.version}
name: PlayerKits2
api-version: 1.13
softdepend: [Vault,PlaceholderAPI]