initial - push existing dev files

This commit is contained in:
Professor Doom 2026-07-07 15:26:41 -05:00
parent f0c46d3166
commit 3c0d1b632b
92 changed files with 980 additions and 1057 deletions

2
.gitattributes vendored
View file

@ -1,2 +0,0 @@
# Auto detect text files and perform LF normalization
* text=auto

42
.gitignore vendored
View file

@ -1,42 +0,0 @@
*.class
*.log
*.ctxt
.mtj.tmp/
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar
*.iml
hs_err_pid*
.metadata
bin/
tmp/
*.tmp
*.bak
*.swp
*~.nib
*.classpath
*.project
local.properties
.settings/
.loadpath
dependency-reduced-pom.xml
.recommenders
.idea/
target/

View file

@ -1,3 +1,3 @@
# PlayerKits2 # PlayerKitsF
https://www.spigotmc.org/resources/playerkits-2-fully-configurable-kits-1-8-1-20.112616/
Original made by [Ajneb97](https://github.com/Ajneb97), Modified to work with Folia by bunchy7s

12
pom.xml
View file

@ -4,9 +4,9 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>pk.ajneb97</groupId> <groupId>dr.bunchy7s</groupId>
<artifactId>PlayerKits2</artifactId> <artifactId>PlayerKitsF</artifactId>
<version>1.23.1</version> <version>1.23.2</version>
<properties> <properties>
<maven.compiler.source>21</maven.compiler.source> <maven.compiler.source>21</maven.compiler.source>
@ -25,7 +25,7 @@
</repository> </repository>
<repository> <repository>
<id>placeholderapi</id> <id>placeholderapi</id>
<url>https://repo.extendedclip.com/content/repositories/placeholderapi/</url> <url>https://repo.extendedclip.com/releases/</url>
</repository> </repository>
<repository> <repository>
<id>jitpack.io</id> <id>jitpack.io</id>
@ -53,7 +53,7 @@
<dependency> <dependency>
<groupId>me.clip</groupId> <groupId>me.clip</groupId>
<artifactId>placeholderapi</artifactId> <artifactId>placeholderapi</artifactId>
<version>2.11.1</version> <version>2.11.6</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency> <dependency>
@ -112,7 +112,7 @@
<relocations> <relocations>
<relocation> <relocation>
<pattern>com.zaxxer.hikari</pattern> <pattern>com.zaxxer.hikari</pattern>
<shadedPattern>pk.ajneb97.libs.hikaricp</shadedPattern> <shadedPattern>dr.bunchy7s.libs.hikaricp</shadedPattern>
<includes> <includes>
<include>com.zaxxer.hikari.**</include> <include>com.zaxxer.hikari.**</include>
</includes> </includes>

View file

@ -1,4 +1,4 @@
package pk.ajneb97; package dr.bunchy7s;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.command.Command; import org.bukkit.command.Command;
@ -7,23 +7,23 @@ import org.bukkit.command.CommandSender;
import org.bukkit.command.TabCompleter; import org.bukkit.command.TabCompleter;
import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import pk.ajneb97.configs.MainConfigManager; import dr.bunchy7s.configs.MainConfigManager;
import pk.ajneb97.managers.MessagesManager; import dr.bunchy7s.managers.MessagesManager;
import pk.ajneb97.managers.PlayerDataManager; import dr.bunchy7s.managers.PlayerDataManager;
import pk.ajneb97.model.Kit; import dr.bunchy7s.model.Kit;
import pk.ajneb97.model.internal.GiveKitInstructions; import dr.bunchy7s.model.internal.GiveKitInstructions;
import pk.ajneb97.model.internal.PlayerKitsMessageResult; import dr.bunchy7s.model.internal.PlayerKitsMessageResult;
import pk.ajneb97.model.inventory.InventoryPlayer; import dr.bunchy7s.model.inventory.InventoryPlayer;
import pk.ajneb97.model.inventory.KitInventory; import dr.bunchy7s.model.inventory.KitInventory;
import pk.ajneb97.utils.PlayerUtils; import dr.bunchy7s.utils.PlayerUtils;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
public class MainCommand implements CommandExecutor, TabCompleter { public class MainCommand implements CommandExecutor, TabCompleter {
private PlayerKits2 plugin; private PlayerKitsF plugin;
public MainCommand(PlayerKits2 plugin) { public MainCommand(PlayerKitsF plugin) {
this.plugin = plugin; this.plugin = plugin;
} }
@ -150,7 +150,7 @@ public class MainCommand implements CommandExecutor, TabCompleter {
} }
if(!plugin.getConfigsManager().reload()){ if(!plugin.getConfigsManager().reload()){
sender.sendMessage(PlayerKits2.prefix+MessagesManager.getLegacyColoredMessage(" &cThere was an error reloading the config, check the console.")); sender.sendMessage(PlayerKitsF.prefix+MessagesManager.getLegacyColoredMessage(" &cThere was an error reloading the config, check the console."));
return; return;
} }
msgManager.sendMessage(sender,messagesConfig.getString("commandReload"),true); msgManager.sendMessage(sender,messagesConfig.getString("commandReload"),true);

View file

@ -1,30 +1,31 @@
package pk.ajneb97; package dr.bunchy7s;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.plugin.PluginManager; import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin; import org.bukkit.plugin.java.JavaPlugin;
import pk.ajneb97.api.ExpansionPlayerKits; import dr.bunchy7s.api.ExpansionPlayerKits;
import pk.ajneb97.api.PlayerKitsAPI; import dr.bunchy7s.api.PlayerKitsAPI;
import pk.ajneb97.configs.ConfigsManager; import dr.bunchy7s.configs.ConfigsManager;
import pk.ajneb97.database.MySQLConnection; import dr.bunchy7s.database.MySQLConnection;
import pk.ajneb97.listeners.InventoryEditListener; import dr.bunchy7s.libs.FoliaScheduler;
import pk.ajneb97.listeners.OtherListener; import dr.bunchy7s.listeners.InventoryEditListener;
import pk.ajneb97.listeners.PlayerListener; import dr.bunchy7s.listeners.OtherListener;
import pk.ajneb97.managers.*; import dr.bunchy7s.listeners.PlayerListener;
import pk.ajneb97.managers.dependencies.Metrics; import dr.bunchy7s.managers.*;
import pk.ajneb97.managers.edit.InventoryEditManager; import dr.bunchy7s.managers.dependencies.Metrics;
import pk.ajneb97.model.internal.UpdateCheckerResult; import dr.bunchy7s.managers.edit.InventoryEditManager;
import pk.ajneb97.tasks.InventoryUpdateTaskManager; import dr.bunchy7s.tasks.InventoryUpdateTaskManager;
import pk.ajneb97.tasks.PlayerDataSaveTask; import dr.bunchy7s.tasks.PlayerDataSaveTask;
import pk.ajneb97.versions.NMSManager; import dr.bunchy7s.versions.NMSManager;
import pk.ajneb97.utils.ServerVersion; import dr.bunchy7s.utils.ServerVersion;
public class PlayerKits2 extends JavaPlugin { public class PlayerKitsF extends JavaPlugin {
public String version = getDescription().getVersion(); public String version = getDescription().getVersion();
public static String prefix; public static String prefix;
public static ServerVersion serverVersion; public static ServerVersion serverVersion;
public static boolean isFolia;
private KitItemManager kitItemManager; private KitItemManager kitItemManager;
private KitsManager kitsManager; private KitsManager kitsManager;
@ -35,7 +36,6 @@ public class PlayerKits2 extends JavaPlugin {
private InventoryManager inventoryManager; private InventoryManager inventoryManager;
private InventoryEditManager inventoryEditManager; private InventoryEditManager inventoryEditManager;
private NMSManager nmsManager; private NMSManager nmsManager;
private UpdateCheckerManager updateCheckerManager;
private VerifyManager verifyManager; private VerifyManager verifyManager;
private MigrationManager migrationManager; private MigrationManager migrationManager;
@ -44,6 +44,7 @@ public class PlayerKits2 extends JavaPlugin {
private MySQLConnection mySQLConnection; private MySQLConnection mySQLConnection;
public void onEnable(){ public void onEnable(){
isFolia = FoliaScheduler.isFolia();
setVersion(); setVersion();
setPrefix(); setPrefix();
registerCommands(); registerCommands();
@ -83,9 +84,6 @@ public class PlayerKits2 extends JavaPlugin {
Bukkit.getConsoleSender().sendMessage(MessagesManager.getLegacyColoredMessage(prefix+"&eHas been enabled! &fVersion: "+version)); Bukkit.getConsoleSender().sendMessage(MessagesManager.getLegacyColoredMessage(prefix+"&eHas been enabled! &fVersion: "+version));
Bukkit.getConsoleSender().sendMessage(MessagesManager.getLegacyColoredMessage(prefix+"&eThanks for using my plugin! &f~Ajneb97")); Bukkit.getConsoleSender().sendMessage(MessagesManager.getLegacyColoredMessage(prefix+"&eThanks for using my plugin! &f~Ajneb97"));
updateCheckerManager = new UpdateCheckerManager(version);
updateMessage(updateCheckerManager.check());
} }
public void onDisable(){ public void onDisable(){
@ -113,7 +111,7 @@ public class PlayerKits2 extends JavaPlugin {
} }
public void setPrefix(){ public void setPrefix(){
prefix = MessagesManager.getLegacyColoredMessage("&8[&bPlayerKits&&8] "); prefix = MessagesManager.getLegacyColoredMessage("&8[&bPlayerKits&dF&8] ");
} }
public void setVersion(){ public void setVersion(){
@ -211,10 +209,6 @@ public class PlayerKits2 extends JavaPlugin {
return nmsManager; return nmsManager;
} }
public UpdateCheckerManager getUpdateCheckerManager() {
return updateCheckerManager;
}
public VerifyManager getVerifyManager() { public VerifyManager getVerifyManager() {
return verifyManager; return verifyManager;
} }
@ -222,17 +216,4 @@ public class PlayerKits2 extends JavaPlugin {
public MigrationManager getMigrationManager() { public MigrationManager getMigrationManager() {
return migrationManager; return migrationManager;
} }
public void updateMessage(UpdateCheckerResult result){
if(!result.isError()){
String latestVersion = result.getLatestVersion();
if(latestVersion != null){
Bukkit.getConsoleSender().sendMessage(MessagesManager.getLegacyColoredMessage("&cThere is a new version available. &e(&7"+latestVersion+"&e)"));
Bukkit.getConsoleSender().sendMessage(MessagesManager.getLegacyColoredMessage("&cYou can download it at: &fhttps://modrinth.com/plugin/playerkits-2"));
}
}else{
Bukkit.getConsoleSender().sendMessage(MessagesManager.getLegacyColoredMessage(prefix+"&cError while checking update."));
}
}
} }

View file

@ -1,15 +1,15 @@
package pk.ajneb97.api; package dr.bunchy7s.api;
import me.clip.placeholderapi.expansion.PlaceholderExpansion; import me.clip.placeholderapi.expansion.PlaceholderExpansion;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import pk.ajneb97.PlayerKits2; import dr.bunchy7s.PlayerKitsF;
public class ExpansionPlayerKits extends PlaceholderExpansion { public class ExpansionPlayerKits extends PlaceholderExpansion {
// We get an instance of the plugin later. // We get an instance of the plugin later.
private PlayerKits2 plugin; private PlayerKitsF plugin;
public ExpansionPlayerKits(PlayerKits2 plugin) { public ExpansionPlayerKits(PlayerKitsF plugin) {
this.plugin = plugin; this.plugin = plugin;
} }

View file

@ -1,20 +1,20 @@
package pk.ajneb97.api; package dr.bunchy7s.api;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import pk.ajneb97.PlayerKits2; import dr.bunchy7s.PlayerKitsF;
import pk.ajneb97.managers.MessagesManager; import dr.bunchy7s.managers.MessagesManager;
import pk.ajneb97.managers.PlayerDataManager; import dr.bunchy7s.managers.PlayerDataManager;
import pk.ajneb97.model.Kit; import dr.bunchy7s.model.Kit;
import pk.ajneb97.utils.PlayerUtils; import dr.bunchy7s.utils.PlayerUtils;
public class PlayerKitsAPI { public class PlayerKitsAPI {
private static PlayerKits2 plugin; private static PlayerKitsF plugin;
public PlayerKitsAPI(PlayerKits2 plugin){ public PlayerKitsAPI(PlayerKitsF plugin){
this.plugin = plugin; this.plugin = plugin;
} }
public static PlayerKits2 getPlugin() { public static PlayerKitsF getPlugin() {
return plugin; return plugin;
} }

View file

@ -1,10 +1,10 @@
package pk.ajneb97.configs; package dr.bunchy7s.configs;
import pk.ajneb97.PlayerKits2; import dr.bunchy7s.PlayerKitsF;
public class ConfigsManager { public class ConfigsManager {
private PlayerKits2 plugin; private PlayerKitsF plugin;
private KitsConfigManager kitsConfigManager; private KitsConfigManager kitsConfigManager;
private MessagesConfigManager messagesConfigManager; private MessagesConfigManager messagesConfigManager;
@ -12,7 +12,7 @@ public class ConfigsManager {
private PlayersConfigManager playersConfigManager; private PlayersConfigManager playersConfigManager;
private InventoryConfigManager inventoryConfigManager; private InventoryConfigManager inventoryConfigManager;
public ConfigsManager(PlayerKits2 plugin){ public ConfigsManager(PlayerKitsF plugin){
this.plugin = plugin; this.plugin = plugin;
this.kitsConfigManager = new KitsConfigManager(plugin,"kits"); this.kitsConfigManager = new KitsConfigManager(plugin,"kits");
this.messagesConfigManager = new MessagesConfigManager(plugin); this.messagesConfigManager = new MessagesConfigManager(plugin);

View file

@ -1,17 +1,17 @@
package pk.ajneb97.configs; package dr.bunchy7s.configs;
import pk.ajneb97.PlayerKits2; import dr.bunchy7s.PlayerKitsF;
import pk.ajneb97.configs.model.CommonConfig; import dr.bunchy7s.configs.model.CommonConfig;
import java.io.File; import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
public abstract class DataFolderConfigManager { public abstract class DataFolderConfigManager {
protected String folderName; protected String folderName;
protected PlayerKits2 plugin; protected PlayerKitsF plugin;
public DataFolderConfigManager(PlayerKits2 plugin, String folderName){ public DataFolderConfigManager(PlayerKitsF plugin, String folderName){
this.plugin = plugin; this.plugin = plugin;
this.folderName = folderName; this.folderName = folderName;
} }

View file

@ -1,23 +1,23 @@
package pk.ajneb97.configs; package dr.bunchy7s.configs;
import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.FileConfiguration;
import pk.ajneb97.PlayerKits2; import dr.bunchy7s.PlayerKitsF;
import pk.ajneb97.configs.model.CommonConfig; import dr.bunchy7s.configs.model.CommonConfig;
import pk.ajneb97.managers.KitItemManager; import dr.bunchy7s.managers.KitItemManager;
import pk.ajneb97.model.inventory.ItemKitInventory; import dr.bunchy7s.model.inventory.ItemKitInventory;
import pk.ajneb97.model.inventory.KitInventory; import dr.bunchy7s.model.inventory.KitInventory;
import pk.ajneb97.model.item.KitItem; import dr.bunchy7s.model.item.KitItem;
import pk.ajneb97.utils.OtherUtils; import dr.bunchy7s.utils.OtherUtils;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
public class InventoryConfigManager { public class InventoryConfigManager {
private PlayerKits2 plugin; private PlayerKitsF plugin;
private CommonConfig configFile; private CommonConfig configFile;
public InventoryConfigManager(PlayerKits2 plugin){ public InventoryConfigManager(PlayerKitsF plugin){
this.plugin = plugin; this.plugin = plugin;
this.configFile = new CommonConfig("inventory.yml",plugin,null, false); this.configFile = new CommonConfig("inventory.yml",plugin,null, false);
this.configFile.registerConfig(); this.configFile.registerConfig();

View file

@ -1,20 +1,20 @@
package pk.ajneb97.configs; package dr.bunchy7s.configs;
import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.FileConfiguration;
import pk.ajneb97.PlayerKits2; import dr.bunchy7s.PlayerKitsF;
import pk.ajneb97.configs.model.CommonConfig; import dr.bunchy7s.configs.model.CommonConfig;
import pk.ajneb97.managers.KitItemManager; import dr.bunchy7s.managers.KitItemManager;
import pk.ajneb97.model.Kit; import dr.bunchy7s.model.Kit;
import pk.ajneb97.model.KitAction; import dr.bunchy7s.model.KitAction;
import pk.ajneb97.model.KitRequirements; import dr.bunchy7s.model.KitRequirements;
import pk.ajneb97.model.item.KitItem; import dr.bunchy7s.model.item.KitItem;
import java.io.File; import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
public class KitsConfigManager extends DataFolderConfigManager{ public class KitsConfigManager extends DataFolderConfigManager{
public KitsConfigManager(PlayerKits2 plugin, String folderName){ public KitsConfigManager(PlayerKitsF plugin, String folderName){
super(plugin, folderName); super(plugin, folderName);
} }
@ -134,7 +134,7 @@ public class KitsConfigManager extends DataFolderConfigManager{
} }
// mainPath must include a "." at the end // mainPath must include a "." at the end
public static Kit getKitFromConfig(FileConfiguration config, PlayerKits2 plugin, String name, String mainPath){ public static Kit getKitFromConfig(FileConfiguration config, PlayerKitsF plugin, String name, String mainPath){
KitItemManager kitItemManager = plugin.getKitItemManager(); KitItemManager kitItemManager = plugin.getKitItemManager();
int cooldown = config.contains(mainPath+"cooldown") ? config.getInt(mainPath+"cooldown") : 0; int cooldown = config.contains(mainPath+"cooldown") ? config.getInt(mainPath+"cooldown") : 0;
boolean permissionRequired = config.contains(mainPath+"permission_required") ? config.getBoolean(mainPath+"permission_required") : false; boolean permissionRequired = config.contains(mainPath+"permission_required") ? config.getBoolean(mainPath+"permission_required") : false;

View file

@ -1,9 +1,9 @@
package pk.ajneb97.configs; package dr.bunchy7s.configs;
import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.FileConfiguration;
import pk.ajneb97.PlayerKits2; import dr.bunchy7s.PlayerKitsF;
import pk.ajneb97.configs.model.CommonConfig; import dr.bunchy7s.configs.model.CommonConfig;
import pk.ajneb97.model.Kit; import dr.bunchy7s.model.Kit;
import java.io.IOException; import java.io.IOException;
import java.nio.file.Files; import java.nio.file.Files;
@ -12,7 +12,7 @@ import java.nio.file.Paths;
public class MainConfigManager { public class MainConfigManager {
private PlayerKits2 plugin; private PlayerKitsF plugin;
private CommonConfig configFile; private CommonConfig configFile;
//Options //Options
@ -25,10 +25,9 @@ public class MainConfigManager {
private String firstJoinKit; private String firstJoinKit;
private String newKitDefaultInventory; private String newKitDefaultInventory;
private boolean isMySQL; private boolean isMySQL;
private boolean updateNotify;
private boolean useMiniMessage; private boolean useMiniMessage;
public MainConfigManager(PlayerKits2 plugin){ public MainConfigManager(PlayerKitsF plugin){
this.plugin = plugin; this.plugin = plugin;
this.configFile = new CommonConfig("config.yml",plugin,null, false); this.configFile = new CommonConfig("config.yml",plugin,null, false);
this.configFile.registerConfig(); this.configFile.registerConfig();
@ -44,7 +43,6 @@ public class MainConfigManager {
firstJoinKit = config.getString("first_join_kit"); firstJoinKit = config.getString("first_join_kit");
newKitDefaultInventory = config.getString("new_kit_default_inventory"); newKitDefaultInventory = config.getString("new_kit_default_inventory");
isMySQL = config.getBoolean("mysql_database.enabled"); isMySQL = config.getBoolean("mysql_database.enabled");
updateNotify = config.getBoolean("update_notify");
claimKitShortCommand = config.getBoolean("claim_kit_short_command"); claimKitShortCommand = config.getBoolean("claim_kit_short_command");
useMiniMessage = config.getBoolean("use_minimessage"); useMiniMessage = config.getBoolean("use_minimessage");
newKitDefaultSaveModeOriginal = config.getBoolean("new_kit_default_save_mode_original"); newKitDefaultSaveModeOriginal = config.getBoolean("new_kit_default_save_mode_original");
@ -114,10 +112,6 @@ public class MainConfigManager {
return isMySQL; return isMySQL;
} }
public boolean isUpdateNotify() {
return updateNotify;
}
public boolean isClaimKitShortCommand() { public boolean isClaimKitShortCommand() {
return claimKitShortCommand; return claimKitShortCommand;
} }

View file

@ -1,9 +1,9 @@
package pk.ajneb97.configs; package dr.bunchy7s.configs;
import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.FileConfiguration;
import pk.ajneb97.PlayerKits2; import dr.bunchy7s.PlayerKitsF;
import pk.ajneb97.configs.model.CommonConfig; import dr.bunchy7s.configs.model.CommonConfig;
import pk.ajneb97.managers.MessagesManager; import dr.bunchy7s.managers.MessagesManager;
import java.io.IOException; import java.io.IOException;
import java.nio.file.Files; import java.nio.file.Files;
@ -12,10 +12,10 @@ import java.nio.file.Paths;
public class MessagesConfigManager { public class MessagesConfigManager {
private PlayerKits2 plugin; private PlayerKitsF plugin;
private CommonConfig configFile; private CommonConfig configFile;
public MessagesConfigManager(PlayerKits2 plugin){ public MessagesConfigManager(PlayerKitsF plugin){
this.plugin = plugin; this.plugin = plugin;
this.configFile = new CommonConfig("messages.yml",plugin,null, false); this.configFile = new CommonConfig("messages.yml",plugin,null, false);
this.configFile.registerConfig(); this.configFile.registerConfig();

View file

@ -0,0 +1,104 @@
package dr.bunchy7s.configs;
import org.bukkit.configuration.file.FileConfiguration;
import dr.bunchy7s.PlayerKitsF;
import dr.bunchy7s.configs.model.CommonConfig;
import dr.bunchy7s.libs.FoliaScheduler;
import dr.bunchy7s.model.PlayerData;
import dr.bunchy7s.model.PlayerDataKit;
import dr.bunchy7s.model.internal.GenericCallback;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
public class PlayersConfigManager extends DataFolderConfigManager{
public PlayersConfigManager(PlayerKitsF plugin, String folderName){
super(plugin, folderName);
}
@Override
public void createFiles() {
}
@Override
public void loadConfigs(){
// No use for player config
}
public void loadConfig(UUID uuid, GenericCallback<PlayerData> callback) {
FoliaScheduler.runTaskAsynchronously(plugin, () -> {
PlayerData playerData = null;
CommonConfig playerConfig = getConfigFile(uuid+".yml",false);
if(playerConfig != null) {
// If config exists
FileConfiguration config = playerConfig.getConfig();
String name = config.getString("name");
ArrayList<PlayerDataKit> 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");
PlayerDataKit playerDataKit = new PlayerDataKit(key);
playerDataKit.setCooldown(cooldown);
playerDataKit.setOneTime(oneTime);
playerDataKit.setBought(bought);
playerDataKits.add(playerDataKit);
}
}
playerData = new PlayerData(uuid, name);
playerData.setKits(playerDataKits);
}
PlayerData finalPlayer = playerData;
FoliaScheduler.runTask(plugin, () -> callback.onDone(finalPlayer));
});
}
public void saveConfig(PlayerData playerData){
String playerName = playerData.getName();
CommonConfig playerConfig = getConfigFile(playerData.getUuid()+".yml",true);
FileConfiguration config = playerConfig.getConfig();
config.set("name", playerName);
config.set("kits",null);
for(PlayerDataKit playerDataKit : playerData.getKits()){
String kitName = playerDataKit.getName();
config.set("kits."+kitName+".cooldown",playerDataKit.getCooldown());
config.set("kits."+kitName+".one_time",playerDataKit.isOneTime());
config.set("kits."+kitName+".bought",playerDataKit.isBought());
}
playerConfig.saveConfig();
}
@Override
public void saveConfigs(){
Map<UUID, PlayerData> players = plugin.getPlayerDataManager().getPlayers();
boolean isMySQL = plugin.getConfigsManager().getMainConfigManager().isMySQL();
if(!isMySQL){
for(Map.Entry<UUID, PlayerData> entry : players.entrySet()) {
PlayerData playerData = entry.getValue();
if(playerData.isModified()){
saveConfig(playerData);
}
}
}
}
// Other methods...
public void resetKitForAllPlayers(String kitName){
for(Map.Entry<UUID, PlayerData> entry : plugin.getPlayerDataManager().getPlayers().entrySet()){
entry.getValue().resetKit(kitName);
}
}
}

View file

@ -1,9 +1,9 @@
package pk.ajneb97.configs.model; package dr.bunchy7s.configs.model;
import org.bukkit.configuration.InvalidConfigurationException; import org.bukkit.configuration.InvalidConfigurationException;
import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.configuration.file.YamlConfiguration;
import pk.ajneb97.PlayerKits2; import dr.bunchy7s.PlayerKitsF;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
@ -14,12 +14,12 @@ public class CommonConfig {
private FileConfiguration fileConfiguration = null; private FileConfiguration fileConfiguration = null;
private File file = null; private File file = null;
private String route; private String route;
private PlayerKits2 plugin; private PlayerKitsF plugin;
private String folderName; private String folderName;
private boolean newFile; private boolean newFile;
private boolean isFirstTime; private boolean isFirstTime;
public CommonConfig(String fileName, PlayerKits2 plugin, String folderName, boolean newFile){ public CommonConfig(String fileName, PlayerKitsF plugin, String folderName, boolean newFile){
this.fileName = fileName; this.fileName = fileName;
this.plugin = plugin; this.plugin = plugin;
this.newFile = newFile; this.newFile = newFile;

View file

@ -1,4 +1,4 @@
package pk.ajneb97.database; package dr.bunchy7s.database;
import com.zaxxer.hikari.HikariConfig; import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource; import com.zaxxer.hikari.HikariDataSource;

View file

@ -0,0 +1,211 @@
package dr.bunchy7s.database;
import org.bukkit.Bukkit;
import org.bukkit.configuration.file.FileConfiguration;
import dr.bunchy7s.PlayerKitsF;
import dr.bunchy7s.libs.FoliaScheduler;
import dr.bunchy7s.managers.MessagesManager;
import dr.bunchy7s.model.PlayerData;
import dr.bunchy7s.model.PlayerDataKit;
import dr.bunchy7s.model.internal.GenericCallback;
import dr.bunchy7s.model.internal.SimpleCallback;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.*;
public class MySQLConnection {
private PlayerKitsF plugin;
private HikariConnection connection;
public MySQLConnection(PlayerKitsF plugin){
this.plugin = plugin;
}
public void setupMySql(){
FileConfiguration config = plugin.getConfigsManager().getMainConfigManager().getConfig();
try {
connection = new HikariConnection(config);
connection.getHikari().getConnection();
createTables();
Bukkit.getConsoleSender().sendMessage(MessagesManager.getLegacyColoredMessage(plugin.prefix+" &aSuccessfully connected to the Database."));
}catch(Exception e) {
Bukkit.getConsoleSender().sendMessage(MessagesManager.getLegacyColoredMessage(plugin.prefix+" &cError while connecting to the Database."));
}
}
public Connection getConnection() {
try {
return connection.getHikari().getConnection();
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
public void createTables() {
try(Connection connection = getConnection()){
PreparedStatement statement1 = connection.prepareStatement(
"CREATE TABLE IF NOT EXISTS playerkits_players" +
" (UUID varchar(200) NOT NULL, " +
" PLAYER_NAME varchar(50), " +
" PRIMARY KEY ( UUID ))"
);
statement1.executeUpdate();
PreparedStatement statement2 = connection.prepareStatement(
"CREATE TABLE IF NOT EXISTS playerkits_players_kits" +
" (ID int NOT NULL AUTO_INCREMENT, " +
" UUID varchar(200) NOT NULL, " +
" NAME varchar(100), " +
" COOLDOWN BIGINT, " +
" ONE_TIME BOOLEAN, " +
" BOUGHT BOOLEAN, " +
" PRIMARY KEY ( ID ), " +
" FOREIGN KEY (UUID) REFERENCES playerkits_players(UUID))");
statement2.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}
public void getPlayer(String uuid, GenericCallback<PlayerData> callback){
FoliaScheduler.runTaskAsynchronously(plugin, () -> {
PlayerData player = null;
try(Connection connection = getConnection()){
PreparedStatement statement = connection.prepareStatement(
"SELECT playerkits_players.UUID, playerkits_players.PLAYER_NAME, " +
"playerkits_players_kits.NAME, " +
"playerkits_players_kits.COOLDOWN, " +
"playerkits_players_kits.ONE_TIME, " +
"playerkits_players_kits.BOUGHT " +
"FROM playerkits_players LEFT JOIN playerkits_players_kits " +
"ON playerkits_players.UUID = playerkits_players_kits.UUID " +
"WHERE playerkits_players.UUID = ?");
statement.setString(1, uuid);
ResultSet result = statement.executeQuery();
boolean firstFind = true;
while(result.next()){
UUID resultUuid = UUID.fromString(result.getString("UUID"));
String playerName = result.getString("PLAYER_NAME");
String kitName = result.getString("NAME");
long cooldown = result.getLong("COOLDOWN");
boolean oneTime = result.getBoolean("ONE_TIME");
boolean bought = result.getBoolean("BOUGHT");
if(player == null){
player = new PlayerData(resultUuid,playerName);
}
if(kitName != null){
PlayerDataKit playerDataKit = new PlayerDataKit(kitName);
playerDataKit.setCooldown(cooldown);
playerDataKit.setOneTime(oneTime);
playerDataKit.setBought(bought);
player.addKit(playerDataKit);
}
}
PlayerData finalPlayer = player;
FoliaScheduler.runTask(plugin, () -> callback.onDone(finalPlayer));
} catch (SQLException e) {
e.printStackTrace();
}
});
}
public void createPlayer(PlayerData player, SimpleCallback callback){
FoliaScheduler.runTaskAsynchronously(plugin, () -> {
try(Connection connection = getConnection()){
PreparedStatement statement = connection.prepareStatement(
"INSERT INTO playerkits_players " +
"(UUID, PLAYER_NAME) VALUE (?,?)");
statement.setString(1, player.getUuid().toString());
statement.setString(2, player.getName());
statement.executeUpdate();
FoliaScheduler.runTask(plugin, callback::onDone);
} catch (SQLException e) {
e.printStackTrace();
}
});
}
public void updatePlayerName(PlayerData player){
FoliaScheduler.runTaskAsynchronously(plugin, () -> {
try(Connection connection = getConnection()){
PreparedStatement statement = connection.prepareStatement(
"UPDATE playerkits_players SET " +
"PLAYER_NAME=? WHERE UUID=?");
statement.setString(1, player.getName());
statement.setString(2, player.getUuid().toString());
statement.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
});
}
public void updateKit(PlayerData player,PlayerDataKit kit,boolean mustCreate){
FoliaScheduler.runTaskAsynchronously(plugin, () -> {
try(Connection connection = getConnection()){
PreparedStatement statement = null;
if(mustCreate){
// Insert
statement = connection.prepareStatement(
"INSERT INTO playerkits_players_kits " +
"(UUID, NAME, COOLDOWN, ONE_TIME, BOUGHT) VALUE (?,?,?,?,?)");
statement.setString(1, player.getUuid().toString());
statement.setString(2, kit.getName());
statement.setLong(3, kit.getCooldown());
statement.setBoolean(4, kit.isOneTime());
statement.setBoolean(5, kit.isBought());
}else{
// Update
statement = connection.prepareStatement(
"UPDATE playerkits_players_kits SET " +
"COOLDOWN=?, ONE_TIME=?, BOUGHT=? WHERE UUID=? AND NAME=?");
statement.setLong(1, kit.getCooldown());
statement.setBoolean(2, kit.isOneTime());
statement.setBoolean(3, kit.isBought());
statement.setString(4, player.getUuid().toString());
statement.setString(5, kit.getName());
}
statement.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
});
}
public void resetKit(String uuid,String kitName,boolean all){
FoliaScheduler.runTaskAsynchronously(plugin, () -> {
try(Connection connection = getConnection()){
PreparedStatement statement;
if(all){
statement = connection.prepareStatement(
"DELETE FROM playerkits_players_kits " +
"WHERE NAME=?");
statement.setString(1, kitName);
}else{
statement = connection.prepareStatement(
"DELETE FROM playerkits_players_kits " +
"WHERE UUID=? AND NAME=?");
statement.setString(1, uuid);
statement.setString(2, kitName);
}
statement.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
});
}
}

View file

@ -0,0 +1,143 @@
package dr.bunchy7s.libs;
import org.bukkit.Bukkit;
import org.bukkit.plugin.Plugin;
import org.bukkit.scheduler.BukkitTask;
import java.util.concurrent.TimeUnit;
import java.util.function.Consumer;
/**
* A scheduler utility that provides Folia-compatible task scheduling.
* Uses Paper's region scheduler API which works on both Folia and non-Folia Paper servers.
* On non-Folia servers, the global region scheduler behaves like the main thread scheduler.
*/
public class FoliaScheduler {
private static final boolean FOLIA = checkFolia();
private static boolean checkFolia() {
try {
Class.forName("io.papermc.paper.threadedregions.RegionizedServer");
return true;
} catch (ClassNotFoundException e) {
return false;
}
}
/**
* @return true if the server is running Folia
*/
public static boolean isFolia() {
return FOLIA;
}
/**
* Runs a task on the global region thread (main thread equivalent).
* Replaces {@code Bukkit.getScheduler().runTask(plugin, task)}.
*/
public static void runTask(Plugin plugin, Runnable runnable) {
Bukkit.getGlobalRegionScheduler().run(plugin, task -> runnable.run());
}
/**
* Runs a task on the global region thread after a delay (in ticks).
* Folia requires delay >= 1, so delay 0 is bumped to 1.
* Replaces {@code Bukkit.getScheduler().runTaskLater(plugin, task, delay)}.
*/
public static void runTaskLater(Plugin plugin, Runnable runnable, long delay) {
long safeDelay = Math.max(delay, 1L);
Bukkit.getGlobalRegionScheduler().runDelayed(plugin, task -> runnable.run(), safeDelay);
}
/**
* Runs a repeating task on the global region thread.
* Folia requires delay >= 1, so delay 0 is bumped to 1.
* Replaces {@code Bukkit.getScheduler().runTaskTimer(plugin, task, delay, period)}.
*/
public static BukkitTask runTaskTimer(Plugin plugin, Runnable runnable, long delay, long period) {
long safeDelay = Math.max(delay, 1L);
long safePeriod = Math.max(period, 1L);
io.papermc.paper.threadedregions.scheduler.ScheduledTask scheduledTask =
Bukkit.getGlobalRegionScheduler().runAtFixedRate(plugin, task -> runnable.run(), safeDelay, safePeriod);
return new BukkitTaskWrapper(scheduledTask);
}
/**
* Runs a task asynchronously.
* Replaces {@code Bukkit.getScheduler().runTaskAsynchronously(plugin, task)}.
*/
public static void runTaskAsynchronously(Plugin plugin, Runnable runnable) {
Bukkit.getAsyncScheduler().runNow(plugin, task -> runnable.run());
}
/**
* Runs a task asynchronously after a delay (in ticks).
* The async scheduler uses milliseconds internally, so ticks are converted (1 tick = 50ms).
* Folia requires delay >= 50ms (1 tick), so delay 0 is bumped to 50ms.
* Replaces {@code Bukkit.getScheduler().runTaskLaterAsynchronously(plugin, task, delay)}.
*/
public static void runTaskLaterAsynchronously(Plugin plugin, Runnable runnable, long delayTicks) {
long delayMillis = Math.max(delayTicks * 50L, 50L);
Bukkit.getAsyncScheduler().runDelayed(plugin, task -> runnable.run(), delayMillis, TimeUnit.MILLISECONDS);
}
/**
* Runs a repeating task asynchronously.
* The async scheduler uses milliseconds internally, so ticks are converted (1 tick = 50ms).
* Folia requires delay >= 50ms (1 tick), so delay/period 0 is bumped to 50ms.
* Replaces {@code Bukkit.getScheduler().runTaskTimerAsynchronously(plugin, task, delay, period)}.
*/
public static BukkitTask runTaskTimerAsynchronously(Plugin plugin, Runnable runnable, long delayTicks, long periodTicks) {
long delayMillis = Math.max(delayTicks * 50L, 50L);
long periodMillis = Math.max(periodTicks * 50L, 50L);
io.papermc.paper.threadedregions.scheduler.ScheduledTask scheduledTask =
Bukkit.getAsyncScheduler().runAtFixedRate(plugin, task -> runnable.run(), delayMillis, periodMillis, TimeUnit.MILLISECONDS);
return new BukkitTaskWrapper(scheduledTask);
}
/**
* Cancels all tasks for the given plugin on both the global region and async schedulers.
* Replaces {@code Bukkit.getScheduler().cancelTasks(plugin)}.
*/
public static void cancelTasks(Plugin plugin) {
Bukkit.getGlobalRegionScheduler().cancelTasks(plugin);
Bukkit.getAsyncScheduler().cancelTasks(plugin);
}
/**
* Wraps a Folia {@code ScheduledTask} into a {@code BukkitTask} for backward compatibility.
*/
private static class BukkitTaskWrapper implements BukkitTask {
private final io.papermc.paper.threadedregions.scheduler.ScheduledTask scheduledTask;
BukkitTaskWrapper(io.papermc.paper.threadedregions.scheduler.ScheduledTask scheduledTask) {
this.scheduledTask = scheduledTask;
}
@Override
public int getTaskId() {
return scheduledTask.hashCode();
}
@Override
public Plugin getOwner() {
return null;
}
@Override
public boolean isSync() {
return true;
}
@Override
public boolean isCancelled() {
return scheduledTask.isCancelled();
}
@Override
public void cancel() {
scheduledTask.cancel();
}
}
}

View file

@ -1,15 +1,15 @@
package pk.ajneb97.libs.actionbar; package dr.bunchy7s.libs.actionbar;
import net.md_5.bungee.api.ChatMessageType; import net.md_5.bungee.api.ChatMessageType;
import net.md_5.bungee.api.chat.TextComponent; import net.md_5.bungee.api.chat.TextComponent;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.scheduler.BukkitRunnable; import dr.bunchy7s.PlayerKitsF;
import pk.ajneb97.PlayerKits2; import dr.bunchy7s.api.PlayerKitsAPI;
import pk.ajneb97.api.PlayerKitsAPI; import dr.bunchy7s.libs.FoliaScheduler;
import pk.ajneb97.managers.MessagesManager; import dr.bunchy7s.managers.MessagesManager;
import pk.ajneb97.utils.MiniMessageUtils; import dr.bunchy7s.utils.MiniMessageUtils;
import pk.ajneb97.utils.OtherUtils; import dr.bunchy7s.utils.OtherUtils;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import java.lang.reflect.Method; import java.lang.reflect.Method;
@ -81,28 +81,18 @@ public class ActionBarAPI
} }
} }
public static void sendActionBar(final Player player, final String message, int duration, PlayerKits2 plugin) { public static void sendActionBar(final Player player, final String message, int duration, PlayerKitsF plugin) {
sendActionBar(player, message); sendActionBar(player, message);
if (duration > 0) { if (duration > 0) {
// Sends empty message at the end of the duration. Allows messages shorter than 3 seconds, ensures precision. // Sends empty message at the end of the duration. Allows messages shorter than 3 seconds, ensures precision.
new BukkitRunnable() { FoliaScheduler.runTaskLater(plugin, () -> sendActionBar(player, ""), duration + 1);
@Override
public void run() {
sendActionBar(player, "");
}
}.runTaskLater(plugin, duration + 1);
} }
// Re-sends the messages every 3 seconds so it doesn't go away from the player's screen. // Re-sends the messages every 3 seconds so it doesn't go away from the player's screen.
while (duration > 40) { while (duration > 40) {
duration -= 40; duration -= 40;
new BukkitRunnable() { FoliaScheduler.runTaskLater(plugin, () -> sendActionBar(player, message), duration);
@Override
public void run() {
sendActionBar(player, message);
}
}.runTaskLater(plugin, (long) duration);
} }
} }

View file

@ -1,13 +1,13 @@
package pk.ajneb97.libs.titles; package dr.bunchy7s.libs.titles;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.ChatColor; import org.bukkit.ChatColor;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.event.Listener; import org.bukkit.event.Listener;
import pk.ajneb97.api.PlayerKitsAPI; import dr.bunchy7s.api.PlayerKitsAPI;
import pk.ajneb97.managers.MessagesManager; import dr.bunchy7s.managers.MessagesManager;
import pk.ajneb97.utils.MiniMessageUtils; import dr.bunchy7s.utils.MiniMessageUtils;
import pk.ajneb97.utils.OtherUtils; import dr.bunchy7s.utils.OtherUtils;
import java.lang.reflect.Constructor; import java.lang.reflect.Constructor;

View file

@ -1,4 +1,4 @@
package pk.ajneb97.listeners; package dr.bunchy7s.listeners;
import org.bukkit.ChatColor; import org.bukkit.ChatColor;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
@ -9,16 +9,16 @@ import org.bukkit.event.inventory.ClickType;
import org.bukkit.event.inventory.InventoryClickEvent; import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.event.inventory.InventoryCloseEvent; import org.bukkit.event.inventory.InventoryCloseEvent;
import org.bukkit.event.player.AsyncPlayerChatEvent; import org.bukkit.event.player.AsyncPlayerChatEvent;
import org.bukkit.scheduler.BukkitRunnable; import dr.bunchy7s.PlayerKitsF;
import pk.ajneb97.PlayerKits2; import dr.bunchy7s.libs.FoliaScheduler;
import pk.ajneb97.managers.edit.InventoryEditManager; import dr.bunchy7s.managers.edit.InventoryEditManager;
import pk.ajneb97.model.inventory.InventoryPlayer; import dr.bunchy7s.model.inventory.InventoryPlayer;
import pk.ajneb97.utils.InventoryUtils; import dr.bunchy7s.utils.InventoryUtils;
public class InventoryEditListener implements Listener { public class InventoryEditListener implements Listener {
private PlayerKits2 plugin; private PlayerKitsF plugin;
public InventoryEditListener(PlayerKits2 plugin){ public InventoryEditListener(PlayerKitsF plugin){
this.plugin = plugin; this.plugin = plugin;
} }
@EventHandler @EventHandler
@ -76,12 +76,9 @@ public class InventoryEditListener implements Listener {
InventoryPlayer inventoryPlayer = invManager.getInventoryPlayer(player); InventoryPlayer inventoryPlayer = invManager.getInventoryPlayer(player);
if(inventoryPlayer != null) { if(inventoryPlayer != null) {
event.setCancelled(true); event.setCancelled(true);
new BukkitRunnable(){ FoliaScheduler.runTaskLater(plugin, () -> {
@Override
public void run() {
invManager.writeChat(inventoryPlayer, ChatColor.stripColor(event.getMessage())); invManager.writeChat(inventoryPlayer, ChatColor.stripColor(event.getMessage()));
} }, 1L);
}.runTaskLater(plugin,1L);
} }
} }
} }

View file

@ -1,4 +1,4 @@
package pk.ajneb97.listeners; package dr.bunchy7s.listeners;
import org.bukkit.entity.Entity; import org.bukkit.entity.Entity;
import org.bukkit.entity.EntityType; import org.bukkit.entity.EntityType;

View file

@ -1,4 +1,4 @@
package pk.ajneb97.listeners; package dr.bunchy7s.listeners;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler; import org.bukkit.event.EventHandler;
@ -8,16 +8,15 @@ import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.event.inventory.InventoryCloseEvent; import org.bukkit.event.inventory.InventoryCloseEvent;
import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerQuitEvent; import org.bukkit.event.player.PlayerQuitEvent;
import pk.ajneb97.PlayerKits2; import dr.bunchy7s.PlayerKitsF;
import pk.ajneb97.managers.InventoryManager; import dr.bunchy7s.managers.InventoryManager;
import pk.ajneb97.managers.MessagesManager; import dr.bunchy7s.model.inventory.InventoryPlayer;
import pk.ajneb97.model.inventory.InventoryPlayer; import dr.bunchy7s.utils.InventoryUtils;
import pk.ajneb97.utils.InventoryUtils;
public class PlayerListener implements Listener { public class PlayerListener implements Listener {
private PlayerKits2 plugin; private PlayerKitsF plugin;
public PlayerListener(PlayerKits2 plugin){ public PlayerListener(PlayerKitsF plugin){
this.plugin = plugin; this.plugin = plugin;
} }
@ -25,13 +24,6 @@ public class PlayerListener implements Listener {
public void onJoin(PlayerJoinEvent event){ public void onJoin(PlayerJoinEvent event){
Player player = event.getPlayer(); Player player = event.getPlayer();
plugin.getPlayerDataManager().manageJoin(player); plugin.getPlayerDataManager().manageJoin(player);
//Update notification
String latestVersion = plugin.getUpdateCheckerManager().getLatestVersion();
if(player.isOp() && plugin.getConfigsManager().getMainConfigManager().isUpdateNotify() && !plugin.version.equals(latestVersion)){
player.sendMessage(MessagesManager.getLegacyColoredMessage(plugin.prefix+"&cThere is a new version available. &e(&7"+latestVersion+"&e)"));
player.sendMessage(MessagesManager.getLegacyColoredMessage("&cYou can download it at: &ahttps://modrinth.com/plugin/playerkits-2"));
}
} }
@EventHandler @EventHandler

View file

@ -1,19 +1,19 @@
package pk.ajneb97.managers; package dr.bunchy7s.managers;
import net.milkbowl.vault.economy.Economy; import net.milkbowl.vault.economy.Economy;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.plugin.RegisteredServiceProvider; import org.bukkit.plugin.RegisteredServiceProvider;
import pk.ajneb97.PlayerKits2; import dr.bunchy7s.PlayerKitsF;
public class DependencyManager { public class DependencyManager {
private PlayerKits2 plugin; private PlayerKitsF plugin;
private boolean isPlaceholderAPI; private boolean isPlaceholderAPI;
private Economy vaultEconomy; private Economy vaultEconomy;
private boolean isPaper; private boolean isPaper;
public DependencyManager(PlayerKits2 plugin){ public DependencyManager(PlayerKitsF plugin){
this.plugin = plugin; this.plugin = plugin;
if(Bukkit.getServer().getPluginManager().getPlugin("PlaceholderAPI") != null){ if(Bukkit.getServer().getPluginManager().getPlugin("PlaceholderAPI") != null){

View file

@ -1,4 +1,4 @@
package pk.ajneb97.managers; package dr.bunchy7s.managers;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.FileConfiguration;
@ -7,19 +7,19 @@ import org.bukkit.event.inventory.ClickType;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.inventory.meta.ItemMeta;
import pk.ajneb97.PlayerKits2; import dr.bunchy7s.PlayerKitsF;
import pk.ajneb97.configs.MainConfigManager; import dr.bunchy7s.configs.MainConfigManager;
import pk.ajneb97.model.Kit; import dr.bunchy7s.model.Kit;
import pk.ajneb97.model.KitAction; import dr.bunchy7s.model.KitAction;
import pk.ajneb97.model.internal.GiveKitInstructions; import dr.bunchy7s.model.internal.GiveKitInstructions;
import pk.ajneb97.model.internal.KitPosition; import dr.bunchy7s.model.internal.KitPosition;
import pk.ajneb97.model.internal.KitVariable; import dr.bunchy7s.model.internal.KitVariable;
import pk.ajneb97.model.internal.PlayerKitsMessageResult; import dr.bunchy7s.model.internal.PlayerKitsMessageResult;
import pk.ajneb97.model.inventory.InventoryPlayer; import dr.bunchy7s.model.inventory.InventoryPlayer;
import pk.ajneb97.model.inventory.ItemKitInventory; import dr.bunchy7s.model.inventory.ItemKitInventory;
import pk.ajneb97.model.inventory.KitInventory; import dr.bunchy7s.model.inventory.KitInventory;
import pk.ajneb97.model.item.KitItem; import dr.bunchy7s.model.item.KitItem;
import pk.ajneb97.utils.*; import dr.bunchy7s.utils.*;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
@ -27,11 +27,11 @@ import java.util.List;
public class InventoryManager { public class InventoryManager {
private PlayerKits2 plugin; private PlayerKitsF plugin;
private ArrayList<KitInventory> inventories; private ArrayList<KitInventory> inventories;
private ArrayList<InventoryPlayer> players; private ArrayList<InventoryPlayer> players;
private InventoryRequirementsManager inventoryRequirementsManager; private InventoryRequirementsManager inventoryRequirementsManager;
public InventoryManager(PlayerKits2 plugin){ public InventoryManager(PlayerKitsF plugin){
this.plugin = plugin; this.plugin = plugin;
this.players = new ArrayList<>(); this.players = new ArrayList<>();
this.inventoryRequirementsManager = new InventoryRequirementsManager(plugin,this); this.inventoryRequirementsManager = new InventoryRequirementsManager(plugin,this);

View file

@ -1,26 +1,26 @@
package pk.ajneb97.managers; package dr.bunchy7s.managers;
import me.clip.placeholderapi.PlaceholderAPI; import me.clip.placeholderapi.PlaceholderAPI;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.inventory.meta.ItemMeta;
import pk.ajneb97.PlayerKits2; import dr.bunchy7s.PlayerKitsF;
import pk.ajneb97.model.Kit; import dr.bunchy7s.model.Kit;
import pk.ajneb97.model.KitRequirements; import dr.bunchy7s.model.KitRequirements;
import pk.ajneb97.model.internal.GiveKitInstructions; import dr.bunchy7s.model.internal.GiveKitInstructions;
import pk.ajneb97.model.internal.PlayerKitsMessageResult; import dr.bunchy7s.model.internal.PlayerKitsMessageResult;
import pk.ajneb97.model.inventory.InventoryPlayer; import dr.bunchy7s.model.inventory.InventoryPlayer;
import pk.ajneb97.utils.MiniMessageUtils; import dr.bunchy7s.utils.MiniMessageUtils;
import pk.ajneb97.utils.PlayerUtils; import dr.bunchy7s.utils.PlayerUtils;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
public class InventoryRequirementsManager { public class InventoryRequirementsManager {
private PlayerKits2 plugin; private PlayerKitsF plugin;
private InventoryManager inventoryManager; private InventoryManager inventoryManager;
public InventoryRequirementsManager(PlayerKits2 plugin, InventoryManager inventoryManager){ public InventoryRequirementsManager(PlayerKitsF plugin, InventoryManager inventoryManager){
this.plugin = plugin; this.plugin = plugin;
this.inventoryManager = inventoryManager; this.inventoryManager = inventoryManager;
} }

View file

@ -1,4 +1,4 @@
package pk.ajneb97.managers; package dr.bunchy7s.managers;
import org.bukkit.Color; import org.bukkit.Color;
import org.bukkit.NamespacedKey; import org.bukkit.NamespacedKey;
@ -11,22 +11,22 @@ import org.bukkit.inventory.meta.EnchantmentStorageMeta;
import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.inventory.meta.LeatherArmorMeta; import org.bukkit.inventory.meta.LeatherArmorMeta;
import org.bukkit.inventory.meta.components.CustomModelDataComponent; import org.bukkit.inventory.meta.components.CustomModelDataComponent;
import pk.ajneb97.PlayerKits2; import dr.bunchy7s.PlayerKitsF;
import pk.ajneb97.model.Kit; import dr.bunchy7s.model.Kit;
import pk.ajneb97.model.internal.KitVariable; import dr.bunchy7s.model.internal.KitVariable;
import pk.ajneb97.model.item.*; import dr.bunchy7s.model.item.*;
import pk.ajneb97.utils.ItemUtils; import dr.bunchy7s.utils.ItemUtils;
import pk.ajneb97.utils.MiniMessageUtils; import dr.bunchy7s.utils.MiniMessageUtils;
import pk.ajneb97.utils.OtherUtils; import dr.bunchy7s.utils.OtherUtils;
import pk.ajneb97.utils.ServerVersion; import dr.bunchy7s.utils.ServerVersion;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
public class KitItemManager { public class KitItemManager {
private PlayerKits2 plugin; private PlayerKitsF plugin;
public KitItemManager(PlayerKits2 plugin){ public KitItemManager(PlayerKitsF plugin){
this.plugin = plugin; this.plugin = plugin;
} }
@ -42,7 +42,7 @@ public class KitItemManager {
kitItem.setDurability(item.getDurability()); kitItem.setDurability(item.getDurability());
} }
ServerVersion serverVersion = PlayerKits2.serverVersion; ServerVersion serverVersion = PlayerKitsF.serverVersion;
boolean useMiniMessage = plugin.getConfigsManager().getMainConfigManager().isUseMiniMessage(); boolean useMiniMessage = plugin.getConfigsManager().getMainConfigManager().isUseMiniMessage();
boolean isPaper = plugin.getDependencyManager().isPaper(); boolean isPaper = plugin.getDependencyManager().isPaper();
@ -258,7 +258,7 @@ public class KitItemManager {
meta.setCustomModelData(customModelData); meta.setCustomModelData(customModelData);
} }
ServerVersion serverVersion = PlayerKits2.serverVersion; ServerVersion serverVersion = PlayerKitsF.serverVersion;
if(serverVersion.serverVersionGreaterEqualThan(serverVersion,ServerVersion.v1_21_R3)){ if(serverVersion.serverVersionGreaterEqualThan(serverVersion,ServerVersion.v1_21_R3)){
KitItemCustomModelComponentData kitItemCustomModelComponentData = kitItem.getCustomModelComponentData(); KitItemCustomModelComponentData kitItemCustomModelComponentData = kitItem.getCustomModelComponentData();
if(kitItemCustomModelComponentData != null){ if(kitItemCustomModelComponentData != null){

View file

@ -1,4 +1,4 @@
package pk.ajneb97.managers; package dr.bunchy7s.managers;
import net.milkbowl.vault.economy.Economy; import net.milkbowl.vault.economy.Economy;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
@ -8,34 +8,34 @@ import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.PlayerInventory; import org.bukkit.inventory.PlayerInventory;
import pk.ajneb97.PlayerKits2; import dr.bunchy7s.PlayerKitsF;
import pk.ajneb97.configs.MainConfigManager; import dr.bunchy7s.configs.MainConfigManager;
import pk.ajneb97.model.Kit; import dr.bunchy7s.model.Kit;
import pk.ajneb97.model.KitAction; import dr.bunchy7s.model.KitAction;
import pk.ajneb97.model.KitRequirements; import dr.bunchy7s.model.KitRequirements;
import pk.ajneb97.model.internal.GiveKitInstructions; import dr.bunchy7s.model.internal.GiveKitInstructions;
import pk.ajneb97.model.internal.PlayerKitsMessageResult; import dr.bunchy7s.model.internal.PlayerKitsMessageResult;
import pk.ajneb97.model.inventory.KitInventory; import dr.bunchy7s.model.inventory.KitInventory;
import pk.ajneb97.model.item.KitItem; import dr.bunchy7s.model.item.KitItem;
import pk.ajneb97.utils.ActionUtils; import dr.bunchy7s.utils.ActionUtils;
import pk.ajneb97.utils.OtherUtils; import dr.bunchy7s.utils.OtherUtils;
import pk.ajneb97.utils.PlayerUtils; import dr.bunchy7s.utils.PlayerUtils;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
public class KitsManager { public class KitsManager {
private PlayerKits2 plugin; private PlayerKitsF plugin;
private ArrayList<Kit> kits; private ArrayList<Kit> kits;
public KitsManager(PlayerKits2 plugin){ public KitsManager(PlayerKitsF plugin){
this.plugin = plugin; this.plugin = plugin;
} }
public PlayerKits2 getPlugin() { public PlayerKitsF getPlugin() {
return plugin; return plugin;
} }
public void setPlugin(PlayerKits2 plugin) { public void setPlugin(PlayerKitsF plugin) {
this.plugin = plugin; this.plugin = plugin;
} }

View file

@ -1,10 +1,10 @@
package pk.ajneb97.managers; package dr.bunchy7s.managers;
import net.md_5.bungee.api.ChatColor; import net.md_5.bungee.api.ChatColor;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import pk.ajneb97.api.PlayerKitsAPI; import dr.bunchy7s.api.PlayerKitsAPI;
import pk.ajneb97.utils.MiniMessageUtils; import dr.bunchy7s.utils.MiniMessageUtils;
import pk.ajneb97.utils.OtherUtils; import dr.bunchy7s.utils.OtherUtils;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;

View file

@ -1,14 +1,14 @@
package pk.ajneb97.managers; package dr.bunchy7s.managers;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.scheduler.BukkitRunnable; import dr.bunchy7s.PlayerKitsF;
import pk.ajneb97.PlayerKits2; import dr.bunchy7s.configs.KitsConfigManager;
import pk.ajneb97.configs.KitsConfigManager; import dr.bunchy7s.configs.PlayersConfigManager;
import pk.ajneb97.configs.PlayersConfigManager; import dr.bunchy7s.libs.FoliaScheduler;
import pk.ajneb97.model.*; import dr.bunchy7s.model.*;
import pk.ajneb97.model.item.KitItem; import dr.bunchy7s.model.item.KitItem;
import pk.ajneb97.model.item.KitItemSkullData; import dr.bunchy7s.model.item.KitItemSkullData;
import java.io.File; import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
@ -17,28 +17,25 @@ import java.util.UUID;
public class MigrationManager { public class MigrationManager {
private PlayerKits2 plugin; private PlayerKitsF plugin;
public MigrationManager(PlayerKits2 plugin){ public MigrationManager(PlayerKitsF plugin){
this.plugin = plugin; this.plugin = plugin;
} }
public void migrate(CommandSender sender){ public void migrate(CommandSender sender){
new BukkitRunnable(){ FoliaScheduler.runTaskAsynchronously(plugin, () -> {
@Override
public void run() {
migrateKits(sender); migrateKits(sender);
migratePlayers(sender); migratePlayers(sender);
sender.sendMessage(PlayerKits2.prefix+MessagesManager.getLegacyColoredMessage(" &aMigration completed.")); sender.sendMessage(PlayerKitsF.prefix+MessagesManager.getLegacyColoredMessage(" &aMigration completed."));
} });
}.runTaskAsynchronously(plugin);
} }
public void migrateKits(CommandSender sender){ public void migrateKits(CommandSender sender){
File bStatsFolder = new File(plugin.getDataFolder().getParentFile(), "PlayerKits"); File bStatsFolder = new File(plugin.getDataFolder().getParentFile(), "PlayerKits");
File configFile = new File(bStatsFolder, "kits.yml"); File configFile = new File(bStatsFolder, "kits.yml");
if(!configFile.exists()){ if(!configFile.exists()){
sender.sendMessage(PlayerKits2.prefix+MessagesManager.getLegacyColoredMessage(" &cPlayerKits1 kits.yml file not found.")); sender.sendMessage(PlayerKitsF.prefix+MessagesManager.getLegacyColoredMessage(" &cPlayerKits1 kits.yml file not found."));
return; return;
} }
@ -99,15 +96,15 @@ public class MigrationManager {
kitsConfigManager.saveConfig(kit); kitsConfigManager.saveConfig(kit);
sender.sendMessage(PlayerKits2.prefix+MessagesManager.getLegacyColoredMessage(" &aKit &7"+kitName+" &amigrated.")); sender.sendMessage(PlayerKitsF.prefix+MessagesManager.getLegacyColoredMessage(" &aKit &7"+kitName+" &amigrated."));
}catch(Exception e){ }catch(Exception e){
sender.sendMessage(PlayerKits2.prefix+MessagesManager.getLegacyColoredMessage(" &cError while trying to migrate kit &7"+kitName+"&c, check console.")); sender.sendMessage(PlayerKitsF.prefix+MessagesManager.getLegacyColoredMessage(" &cError while trying to migrate kit &7"+kitName+"&c, check console."));
e.printStackTrace(); e.printStackTrace();
} }
} }
}else{ }else{
sender.sendMessage(PlayerKits2.prefix+MessagesManager.getLegacyColoredMessage(" &cNo kits found.")); sender.sendMessage(PlayerKitsF.prefix+MessagesManager.getLegacyColoredMessage(" &cNo kits found."));
return; return;
} }
@ -119,7 +116,7 @@ public class MigrationManager {
File bStatsFolder = new File(plugin.getDataFolder().getParentFile(), "PlayerKits"); File bStatsFolder = new File(plugin.getDataFolder().getParentFile(), "PlayerKits");
File configFile = new File(bStatsFolder, "players.yml"); File configFile = new File(bStatsFolder, "players.yml");
if(!configFile.exists()){ if(!configFile.exists()){
sender.sendMessage(PlayerKits2.prefix+MessagesManager.getLegacyColoredMessage(" &cPlayerKits1 players.yml file not found.")); sender.sendMessage(PlayerKitsF.prefix+MessagesManager.getLegacyColoredMessage(" &cPlayerKits1 players.yml file not found."));
return; return;
} }
@ -146,9 +143,9 @@ public class MigrationManager {
playersConfigManager.saveConfig(playerData); playersConfigManager.saveConfig(playerData);
sender.sendMessage(PlayerKits2.prefix+MessagesManager.getLegacyColoredMessage(" &aPlayer &7"+name+" &amigrated.")); sender.sendMessage(PlayerKitsF.prefix+MessagesManager.getLegacyColoredMessage(" &aPlayer &7"+name+" &amigrated."));
} catch (Exception e) { } catch (Exception e) {
sender.sendMessage(PlayerKits2.prefix + MessagesManager.getLegacyColoredMessage(" &cError while trying to migrate player data with uuid &7" + uuid + "&c, check console.")); sender.sendMessage(PlayerKitsF.prefix + MessagesManager.getLegacyColoredMessage(" &cError while trying to migrate player data with uuid &7" + uuid + "&c, check console."));
e.printStackTrace(); e.printStackTrace();
} }
} }

View file

@ -1,15 +1,15 @@
package pk.ajneb97.managers; package dr.bunchy7s.managers;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.scheduler.BukkitRunnable; import dr.bunchy7s.PlayerKitsF;
import pk.ajneb97.PlayerKits2; import dr.bunchy7s.configs.PlayersConfigManager;
import pk.ajneb97.configs.PlayersConfigManager; import dr.bunchy7s.database.MySQLConnection;
import pk.ajneb97.database.MySQLConnection; import dr.bunchy7s.libs.FoliaScheduler;
import pk.ajneb97.model.PlayerData; import dr.bunchy7s.model.PlayerData;
import pk.ajneb97.model.internal.GenericCallback; import dr.bunchy7s.model.internal.GenericCallback;
import pk.ajneb97.model.internal.PlayerKitsMessageResult; import dr.bunchy7s.model.internal.PlayerKitsMessageResult;
import pk.ajneb97.utils.OtherUtils; import dr.bunchy7s.utils.OtherUtils;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
@ -18,11 +18,11 @@ import java.util.UUID;
public class PlayerDataManager { public class PlayerDataManager {
private PlayerKits2 plugin; private PlayerKitsF plugin;
private Map<UUID, PlayerData> players; private Map<UUID, PlayerData> players;
private Map<String,UUID> playerNames; private Map<String,UUID> playerNames;
public PlayerDataManager(PlayerKits2 plugin){ public PlayerDataManager(PlayerKitsF plugin){
this.plugin = plugin; this.plugin = plugin;
this.players = new HashMap<>(); this.players = new HashMap<>();
this.playerNames = new HashMap<>(); this.playerNames = new HashMap<>();
@ -159,28 +159,22 @@ public class PlayerDataManager {
public void resetKitForAllPlayers(String kitName, GenericCallback<PlayerKitsMessageResult> callback){ public void resetKitForAllPlayers(String kitName, GenericCallback<PlayerKitsMessageResult> callback){
new BukkitRunnable() { FoliaScheduler.runTaskAsynchronously(plugin, () -> {
@Override
public void run() {
MySQLConnection mySQLConnection = plugin.getMySQLConnection(); MySQLConnection mySQLConnection = plugin.getMySQLConnection();
if (mySQLConnection == null) { if (mySQLConnection == null) {
PlayersConfigManager playerConfigsManager = plugin.getConfigsManager().getPlayersConfigManager(); PlayersConfigManager playerConfigsManager = plugin.getConfigsManager().getPlayersConfigManager();
playerConfigsManager.resetKitForAllPlayers(kitName); playerConfigsManager.resetKitForAllPlayers(kitName);
} }
new BukkitRunnable() { FoliaScheduler.runTask(plugin, () -> {
@Override
public void run() {
players.values().forEach(p -> p.resetKit(kitName)); players.values().forEach(p -> p.resetKit(kitName));
if(plugin.getMySQLConnection() != null){ if(plugin.getMySQLConnection() != null){
plugin.getMySQLConnection().resetKit(null,kitName,true); plugin.getMySQLConnection().resetKit(null,kitName,true);
} }
callback.onDone(PlayerKitsMessageResult.success()); callback.onDone(PlayerKitsMessageResult.success());
} });
}.runTask(plugin); });
}
}.runTaskAsynchronously(plugin);
} }
public void manageJoin(Player player){ public void manageJoin(Player player){
@ -233,12 +227,9 @@ public class PlayerDataManager {
if(playerData != null){ if(playerData != null){
if(plugin.getMySQLConnection() == null) { if(plugin.getMySQLConnection() == null) {
if(playerData.isModified()){ if(playerData.isModified()){
new BukkitRunnable(){ FoliaScheduler.runTaskAsynchronously(plugin, () -> {
@Override
public void run() {
plugin.getConfigsManager().getPlayersConfigManager().saveConfig(playerData); plugin.getConfigsManager().getPlayersConfigManager().saveConfig(playerData);
} });
}.runTaskAsynchronously(plugin);
} }
} }

View file

@ -1,24 +1,24 @@
package pk.ajneb97.managers; package dr.bunchy7s.managers;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import pk.ajneb97.PlayerKits2; import dr.bunchy7s.PlayerKitsF;
import pk.ajneb97.model.Kit; import dr.bunchy7s.model.Kit;
import pk.ajneb97.model.KitAction; import dr.bunchy7s.model.KitAction;
import pk.ajneb97.model.inventory.InventoryPlayer; import dr.bunchy7s.model.inventory.InventoryPlayer;
import pk.ajneb97.model.inventory.ItemKitInventory; import dr.bunchy7s.model.inventory.ItemKitInventory;
import pk.ajneb97.model.inventory.KitInventory; import dr.bunchy7s.model.inventory.KitInventory;
import pk.ajneb97.model.item.KitItem; import dr.bunchy7s.model.item.KitItem;
import pk.ajneb97.model.verify.*; import dr.bunchy7s.model.verify.*;
import pk.ajneb97.utils.ItemUtils; import dr.bunchy7s.utils.ItemUtils;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
public class VerifyManager { public class VerifyManager {
private PlayerKits2 plugin; private PlayerKitsF plugin;
private ArrayList<PKBaseError> errors; private ArrayList<PKBaseError> errors;
private boolean criticalErrors; private boolean criticalErrors;
public VerifyManager(PlayerKits2 plugin) { public VerifyManager(PlayerKitsF plugin) {
this.plugin = plugin; this.plugin = plugin;
this.errors = new ArrayList<PKBaseError>(); this.errors = new ArrayList<PKBaseError>();
this.criticalErrors = false; this.criticalErrors = false;

View file

@ -1,4 +1,4 @@
package pk.ajneb97.managers.dependencies; package dr.bunchy7s.managers.dependencies;
/* /*
* This Metrics class was auto-generated and can be copied into your project if you are * This Metrics class was auto-generated and can be copied into your project if you are

View file

@ -1,4 +1,4 @@
package pk.ajneb97.managers.edit; package dr.bunchy7s.managers.edit;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.Material; import org.bukkit.Material;
@ -7,23 +7,23 @@ import org.bukkit.event.inventory.ClickType;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.inventory.meta.ItemMeta;
import pk.ajneb97.PlayerKits2; import dr.bunchy7s.PlayerKitsF;
import pk.ajneb97.managers.MessagesManager; import dr.bunchy7s.managers.MessagesManager;
import pk.ajneb97.model.Kit; import dr.bunchy7s.model.Kit;
import pk.ajneb97.model.KitAction; import dr.bunchy7s.model.KitAction;
import pk.ajneb97.model.inventory.InventoryPlayer; import dr.bunchy7s.model.inventory.InventoryPlayer;
import pk.ajneb97.utils.InventoryItem; import dr.bunchy7s.utils.InventoryItem;
import pk.ajneb97.utils.OtherUtils; import dr.bunchy7s.utils.OtherUtils;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
public class InventoryEditActionsEditManager { public class InventoryEditActionsEditManager {
private PlayerKits2 plugin; private PlayerKitsF plugin;
private InventoryEditActionsManager inventoryEditActionsManager; private InventoryEditActionsManager inventoryEditActionsManager;
public InventoryEditActionsEditManager(PlayerKits2 plugin, InventoryEditActionsManager inventoryEditActionsManager) { public InventoryEditActionsEditManager(PlayerKitsF plugin, InventoryEditActionsManager inventoryEditActionsManager) {
this.plugin = plugin; this.plugin = plugin;
this.inventoryEditActionsManager = inventoryEditActionsManager; this.inventoryEditActionsManager = inventoryEditActionsManager;
} }
@ -143,8 +143,8 @@ public class InventoryEditActionsEditManager {
public void clickEditAction(InventoryPlayer inventoryPlayer){ public void clickEditAction(InventoryPlayer inventoryPlayer){
Player player = inventoryPlayer.getPlayer(); Player player = inventoryPlayer.getPlayer();
player.sendMessage(MessagesManager.getLegacyColoredMessage(PlayerKits2.prefix+"&7Write the new action to set.")); player.sendMessage(MessagesManager.getLegacyColoredMessage(PlayerKitsF.prefix+"&7Write the new action to set."));
player.sendMessage(MessagesManager.getLegacyColoredMessage(PlayerKits2.prefix+"&fCheck all actions on the wiki: &bhttps://ajneb97.gitbook.io/playerkits-2/actions")); player.sendMessage(MessagesManager.getLegacyColoredMessage(PlayerKitsF.prefix+"&fCheck all actions on the wiki: &bhttps://ajneb97.gitbook.io/playerkits-2/actions"));
player.closeInventory(); player.closeInventory();
inventoryPlayer.setInventoryName("edit_chat_action_slot_" + getType(inventoryPlayer) + "_" + getActionSlot(inventoryPlayer)); inventoryPlayer.setInventoryName("edit_chat_action_slot_" + getType(inventoryPlayer) + "_" + getActionSlot(inventoryPlayer));

View file

@ -1,4 +1,4 @@
package pk.ajneb97.managers.edit; package dr.bunchy7s.managers.edit;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.Material; import org.bukkit.Material;
@ -7,23 +7,23 @@ import org.bukkit.event.inventory.ClickType;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.inventory.meta.ItemMeta;
import pk.ajneb97.PlayerKits2; import dr.bunchy7s.PlayerKitsF;
import pk.ajneb97.managers.MessagesManager; import dr.bunchy7s.managers.MessagesManager;
import pk.ajneb97.model.Kit; import dr.bunchy7s.model.Kit;
import pk.ajneb97.model.KitAction; import dr.bunchy7s.model.KitAction;
import pk.ajneb97.model.inventory.InventoryPlayer; import dr.bunchy7s.model.inventory.InventoryPlayer;
import pk.ajneb97.utils.InventoryItem; import dr.bunchy7s.utils.InventoryItem;
import pk.ajneb97.utils.OtherUtils; import dr.bunchy7s.utils.OtherUtils;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
public class InventoryEditActionsManager { public class InventoryEditActionsManager {
private PlayerKits2 plugin; private PlayerKitsF plugin;
private InventoryEditManager inventoryEditManager; private InventoryEditManager inventoryEditManager;
private InventoryEditActionsEditManager inventoryEditActionsEditManager; private InventoryEditActionsEditManager inventoryEditActionsEditManager;
public InventoryEditActionsManager(PlayerKits2 plugin, InventoryEditManager inventoryEditManager){ public InventoryEditActionsManager(PlayerKitsF plugin, InventoryEditManager inventoryEditManager){
this.plugin = plugin; this.plugin = plugin;
this.inventoryEditManager = inventoryEditManager; this.inventoryEditManager = inventoryEditManager;
this.inventoryEditActionsEditManager = new InventoryEditActionsEditManager(plugin,this); this.inventoryEditActionsEditManager = new InventoryEditActionsEditManager(plugin,this);
@ -109,8 +109,8 @@ public class InventoryEditActionsManager {
public void clickAddAction(InventoryPlayer inventoryPlayer){ public void clickAddAction(InventoryPlayer inventoryPlayer){
Player player = inventoryPlayer.getPlayer(); Player player = inventoryPlayer.getPlayer();
player.sendMessage(MessagesManager.getLegacyColoredMessage(PlayerKits2.prefix+"&7Write the new action to add.")); player.sendMessage(MessagesManager.getLegacyColoredMessage(PlayerKitsF.prefix+"&7Write the new action to add."));
player.sendMessage(MessagesManager.getLegacyColoredMessage(PlayerKits2.prefix+"&fCheck all actions on the wiki: &bhttps://ajneb97.gitbook.io/playerkits-2/actions")); player.sendMessage(MessagesManager.getLegacyColoredMessage(PlayerKitsF.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_","");

View file

@ -1,4 +1,4 @@
package pk.ajneb97.managers.edit; package dr.bunchy7s.managers.edit;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.Material; import org.bukkit.Material;
@ -6,24 +6,24 @@ import org.bukkit.event.inventory.ClickType;
import org.bukkit.event.inventory.InventoryClickEvent; import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import pk.ajneb97.PlayerKits2; import dr.bunchy7s.PlayerKitsF;
import pk.ajneb97.managers.MessagesManager; import dr.bunchy7s.managers.MessagesManager;
import pk.ajneb97.model.Kit; import dr.bunchy7s.model.Kit;
import pk.ajneb97.model.KitAction; import dr.bunchy7s.model.KitAction;
import pk.ajneb97.model.inventory.InventoryPlayer; import dr.bunchy7s.model.inventory.InventoryPlayer;
import pk.ajneb97.model.item.KitItem; import dr.bunchy7s.model.item.KitItem;
import pk.ajneb97.utils.InventoryItem; import dr.bunchy7s.utils.InventoryItem;
import pk.ajneb97.utils.InventoryUtils; import dr.bunchy7s.utils.InventoryUtils;
import pk.ajneb97.utils.OtherUtils; import dr.bunchy7s.utils.OtherUtils;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
public class InventoryEditDisplayManager { public class InventoryEditDisplayManager {
private PlayerKits2 plugin; private PlayerKitsF plugin;
private InventoryEditManager inventoryEditManager; private InventoryEditManager inventoryEditManager;
public InventoryEditDisplayManager(PlayerKits2 plugin, InventoryEditManager inventoryEditManager){ public InventoryEditDisplayManager(PlayerKitsF plugin, InventoryEditManager inventoryEditManager){
this.plugin = plugin; this.plugin = plugin;
this.inventoryEditManager = inventoryEditManager; this.inventoryEditManager = inventoryEditManager;
} }
@ -157,7 +157,7 @@ public class InventoryEditDisplayManager {
} }
}else if(slot == 26){ }else if(slot == 26){
saveKitItem(inventoryPlayer); saveKitItem(inventoryPlayer);
inventoryPlayer.getPlayer().sendMessage(MessagesManager.getLegacyColoredMessage(PlayerKits2.prefix+"&aDisplay item saved.")); inventoryPlayer.getPlayer().sendMessage(MessagesManager.getLegacyColoredMessage(PlayerKitsF.prefix+"&aDisplay item saved."));
} }
} }
} }

View file

@ -1,4 +1,4 @@
package pk.ajneb97.managers.edit; package dr.bunchy7s.managers.edit;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.Material; import org.bukkit.Material;
@ -7,22 +7,22 @@ import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.inventory.meta.ItemMeta;
import pk.ajneb97.PlayerKits2; import dr.bunchy7s.PlayerKitsF;
import pk.ajneb97.managers.KitItemManager; import dr.bunchy7s.managers.KitItemManager;
import pk.ajneb97.managers.MessagesManager; import dr.bunchy7s.managers.MessagesManager;
import pk.ajneb97.model.Kit; import dr.bunchy7s.model.Kit;
import pk.ajneb97.model.inventory.InventoryPlayer; import dr.bunchy7s.model.inventory.InventoryPlayer;
import pk.ajneb97.model.item.KitItem; import dr.bunchy7s.model.item.KitItem;
import pk.ajneb97.utils.*; import dr.bunchy7s.utils.*;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
public class InventoryEditKitItemsManager { public class InventoryEditKitItemsManager {
private PlayerKits2 plugin; private PlayerKitsF plugin;
private InventoryEditManager inventoryEditManager; private InventoryEditManager inventoryEditManager;
public InventoryEditKitItemsManager(PlayerKits2 plugin, InventoryEditManager inventoryEditManager){ public InventoryEditKitItemsManager(PlayerKitsF plugin, InventoryEditManager inventoryEditManager){
this.plugin = plugin; this.plugin = plugin;
this.inventoryEditManager = inventoryEditManager; this.inventoryEditManager = inventoryEditManager;
} }
@ -84,9 +84,9 @@ public class InventoryEditKitItemsManager {
} }
public void clickOffHand(InventoryPlayer inventoryPlayer, Inventory inv, ItemStack clickedItem, int clickedSlot){ public void clickOffHand(InventoryPlayer inventoryPlayer, Inventory inv, ItemStack clickedItem, int clickedSlot){
ServerVersion serverVersion = PlayerKits2.serverVersion; ServerVersion serverVersion = PlayerKitsF.serverVersion;
if(!serverVersion.serverVersionGreaterEqualThan(serverVersion,ServerVersion.v1_9_R1)) { if(!serverVersion.serverVersionGreaterEqualThan(serverVersion,ServerVersion.v1_9_R1)) {
inventoryPlayer.getPlayer().sendMessage(MessagesManager.getLegacyColoredMessage(PlayerKits2.prefix+"&cOffhand only works on 1.9+.")); inventoryPlayer.getPlayer().sendMessage(MessagesManager.getLegacyColoredMessage(PlayerKitsF.prefix+"&cOffhand only works on 1.9+."));
return; return;
} }
String offhand = ItemUtils.getTagStringItem(plugin,clickedItem,"playerkits_offhand"); String offhand = ItemUtils.getTagStringItem(plugin,clickedItem,"playerkits_offhand");
@ -191,7 +191,7 @@ public class InventoryEditKitItemsManager {
inventoryEditManager.openInventory(inventoryPlayer); inventoryEditManager.openInventory(inventoryPlayer);
}else if(slot == 53){ }else if(slot == 53){
saveKitItems(inventoryPlayer); saveKitItems(inventoryPlayer);
inventoryPlayer.getPlayer().sendMessage(MessagesManager.getLegacyColoredMessage(PlayerKits2.prefix+"&aKit Items saved.")); inventoryPlayer.getPlayer().sendMessage(MessagesManager.getLegacyColoredMessage(PlayerKitsF.prefix+"&aKit Items saved."));
} }
}else if(clickType.isRightClick()){ }else if(clickType.isRightClick()){
event.setCancelled(true); event.setCancelled(true);

View file

@ -1,4 +1,4 @@
package pk.ajneb97.managers.edit; package dr.bunchy7s.managers.edit;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.Material; import org.bukkit.Material;
@ -6,29 +6,29 @@ import org.bukkit.entity.Player;
import org.bukkit.event.inventory.ClickType; import org.bukkit.event.inventory.ClickType;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import pk.ajneb97.PlayerKits2; import dr.bunchy7s.PlayerKitsF;
import pk.ajneb97.managers.MessagesManager; import dr.bunchy7s.managers.MessagesManager;
import pk.ajneb97.model.Kit; import dr.bunchy7s.model.Kit;
import pk.ajneb97.model.KitAction; import dr.bunchy7s.model.KitAction;
import pk.ajneb97.model.internal.KitPosition; import dr.bunchy7s.model.internal.KitPosition;
import pk.ajneb97.model.inventory.InventoryPlayer; import dr.bunchy7s.model.inventory.InventoryPlayer;
import pk.ajneb97.model.item.KitItem; import dr.bunchy7s.model.item.KitItem;
import pk.ajneb97.utils.InventoryItem; import dr.bunchy7s.utils.InventoryItem;
import pk.ajneb97.utils.OtherUtils; import dr.bunchy7s.utils.OtherUtils;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
public class InventoryEditManager { public class InventoryEditManager {
private PlayerKits2 plugin; private PlayerKitsF plugin;
private ArrayList<InventoryPlayer> players; private ArrayList<InventoryPlayer> players;
private InventoryEditActionsManager inventoryEditActionsManager; private InventoryEditActionsManager inventoryEditActionsManager;
private InventoryEditDisplayManager inventoryEditDisplayManager; private InventoryEditDisplayManager inventoryEditDisplayManager;
private InventoryEditKitItemsManager inventoryEditKitItemsManager; private InventoryEditKitItemsManager inventoryEditKitItemsManager;
private InventoryEditPositionManager inventoryEditPositionManager; private InventoryEditPositionManager inventoryEditPositionManager;
private InventoryEditRequirementsManager inventoryEditRequirementsManager; private InventoryEditRequirementsManager inventoryEditRequirementsManager;
public InventoryEditManager(PlayerKits2 plugin){ public InventoryEditManager(PlayerKitsF plugin){
this.plugin = plugin; this.plugin = plugin;
this.players = new ArrayList<>(); this.players = new ArrayList<>();
this.inventoryEditActionsManager = new InventoryEditActionsManager(plugin,this); this.inventoryEditActionsManager = new InventoryEditActionsManager(plugin,this);
@ -319,7 +319,7 @@ public class InventoryEditManager {
public void clickCooldown(InventoryPlayer inventoryPlayer){ public void clickCooldown(InventoryPlayer inventoryPlayer){
Player player = inventoryPlayer.getPlayer(); Player player = inventoryPlayer.getPlayer();
player.sendMessage(MessagesManager.getLegacyColoredMessage(PlayerKits2.prefix+"&7Write the new cooldown of the kit (in seconds).")); player.sendMessage(MessagesManager.getLegacyColoredMessage(PlayerKitsF.prefix+"&7Write the new cooldown of the kit (in seconds)."));
player.closeInventory(); player.closeInventory();
inventoryPlayer.setInventoryName("edit_chat_cooldown"); inventoryPlayer.setInventoryName("edit_chat_cooldown");
@ -339,7 +339,7 @@ public class InventoryEditManager {
return; return;
} }
}catch(Exception e){} }catch(Exception e){}
player.sendMessage(MessagesManager.getLegacyColoredMessage(PlayerKits2.prefix+"&cYou must use a valid number.")); player.sendMessage(MessagesManager.getLegacyColoredMessage(PlayerKitsF.prefix+"&cYou must use a valid number."));
} }
public void clickInventory(InventoryPlayer inventoryPlayer, ItemStack item, int slot, ClickType clickType) { public void clickInventory(InventoryPlayer inventoryPlayer, ItemStack item, int slot, ClickType clickType) {

View file

@ -1,4 +1,4 @@
package pk.ajneb97.managers.edit; package dr.bunchy7s.managers.edit;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.Material; import org.bukkit.Material;
@ -7,29 +7,29 @@ import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.scheduler.BukkitRunnable; import dr.bunchy7s.PlayerKitsF;
import pk.ajneb97.PlayerKits2; import dr.bunchy7s.configs.MainConfigManager;
import pk.ajneb97.configs.MainConfigManager; import dr.bunchy7s.libs.FoliaScheduler;
import pk.ajneb97.managers.*; import dr.bunchy7s.managers.*;
import pk.ajneb97.model.Kit; import dr.bunchy7s.model.Kit;
import pk.ajneb97.model.internal.KitVariable; import dr.bunchy7s.model.internal.KitVariable;
import pk.ajneb97.model.inventory.InventoryPlayer; import dr.bunchy7s.model.inventory.InventoryPlayer;
import pk.ajneb97.model.inventory.ItemKitInventory; import dr.bunchy7s.model.inventory.ItemKitInventory;
import pk.ajneb97.model.inventory.KitInventory; import dr.bunchy7s.model.inventory.KitInventory;
import pk.ajneb97.model.item.KitItem; import dr.bunchy7s.model.item.KitItem;
import pk.ajneb97.utils.InventoryItem; import dr.bunchy7s.utils.InventoryItem;
import pk.ajneb97.utils.InventoryUtils; import dr.bunchy7s.utils.InventoryUtils;
import pk.ajneb97.utils.ItemUtils; import dr.bunchy7s.utils.ItemUtils;
import pk.ajneb97.utils.MiniMessageUtils; import dr.bunchy7s.utils.MiniMessageUtils;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
public class InventoryEditPositionManager { public class InventoryEditPositionManager {
private PlayerKits2 plugin; private PlayerKitsF plugin;
private InventoryEditManager inventoryEditManager; private InventoryEditManager inventoryEditManager;
public InventoryEditPositionManager(PlayerKits2 plugin, InventoryEditManager inventoryEditManager){ public InventoryEditPositionManager(PlayerKitsF plugin, InventoryEditManager inventoryEditManager){
this.plugin = plugin; this.plugin = plugin;
this.inventoryEditManager = inventoryEditManager; this.inventoryEditManager = inventoryEditManager;
} }
@ -147,7 +147,7 @@ public class InventoryEditPositionManager {
if(item == null || item.getType().equals(Material.AIR)){ if(item == null || item.getType().equals(Material.AIR)){
//Update position //Update position
setPosition(inventoryPlayer,slot); setPosition(inventoryPlayer,slot);
inventoryPlayer.getPlayer().sendMessage(MessagesManager.getLegacyColoredMessage(PlayerKits2.prefix+"&aKit position updated.")); inventoryPlayer.getPlayer().sendMessage(MessagesManager.getLegacyColoredMessage(PlayerKitsF.prefix+"&aKit position updated."));
return; return;
} }
@ -156,20 +156,17 @@ public class InventoryEditPositionManager {
openInventory(inventoryPlayer,openInventory); openInventory(inventoryPlayer,openInventory);
return; return;
} }
inventoryPlayer.getPlayer().sendMessage(MessagesManager.getLegacyColoredMessage(PlayerKits2.prefix+"&cThis position is occupied.")); inventoryPlayer.getPlayer().sendMessage(MessagesManager.getLegacyColoredMessage(PlayerKitsF.prefix+"&cThis position is occupied."));
} }
} }
public void closeInventory(InventoryPlayer inventoryPlayer){ public void closeInventory(InventoryPlayer inventoryPlayer){
boolean mustReturn = Boolean.parseBoolean(inventoryPlayer.getInventoryName().split(";")[2]); boolean mustReturn = Boolean.parseBoolean(inventoryPlayer.getInventoryName().split(";")[2]);
if(mustReturn){ if(mustReturn){
new BukkitRunnable(){ FoliaScheduler.runTaskLater(plugin, () -> {
@Override
public void run() {
inventoryPlayer.restoreSavedInventoryContents(); inventoryPlayer.restoreSavedInventoryContents();
inventoryEditManager.openInventory(inventoryPlayer); inventoryEditManager.openInventory(inventoryPlayer);
} }, 1L);
}.runTaskLater(plugin,1L);
} }
} }
} }

View file

@ -1,4 +1,4 @@
package pk.ajneb97.managers.edit; package dr.bunchy7s.managers.edit;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.Material; import org.bukkit.Material;
@ -6,21 +6,21 @@ import org.bukkit.entity.Player;
import org.bukkit.event.inventory.ClickType; import org.bukkit.event.inventory.ClickType;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import pk.ajneb97.PlayerKits2; import dr.bunchy7s.PlayerKitsF;
import pk.ajneb97.managers.MessagesManager; import dr.bunchy7s.managers.MessagesManager;
import pk.ajneb97.model.Kit; import dr.bunchy7s.model.Kit;
import pk.ajneb97.model.KitRequirements; import dr.bunchy7s.model.KitRequirements;
import pk.ajneb97.model.inventory.InventoryPlayer; import dr.bunchy7s.model.inventory.InventoryPlayer;
import pk.ajneb97.utils.InventoryItem; import dr.bunchy7s.utils.InventoryItem;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
public class InventoryEditRequirementsManager { public class InventoryEditRequirementsManager {
private PlayerKits2 plugin; private PlayerKitsF plugin;
private InventoryEditManager inventoryEditManager; private InventoryEditManager inventoryEditManager;
public InventoryEditRequirementsManager(PlayerKits2 plugin, InventoryEditManager inventoryEditManager){ public InventoryEditRequirementsManager(PlayerKitsF plugin, InventoryEditManager inventoryEditManager){
this.plugin = plugin; this.plugin = plugin;
this.inventoryEditManager = inventoryEditManager; this.inventoryEditManager = inventoryEditManager;
} }
@ -87,7 +87,7 @@ public class InventoryEditRequirementsManager {
public void clickPrice(InventoryPlayer inventoryPlayer){ public void clickPrice(InventoryPlayer inventoryPlayer){
Player player = inventoryPlayer.getPlayer(); Player player = inventoryPlayer.getPlayer();
player.sendMessage(MessagesManager.getLegacyColoredMessage(PlayerKits2.prefix+"&7Write the new price of the kit.")); player.sendMessage(MessagesManager.getLegacyColoredMessage(PlayerKitsF.prefix+"&7Write the new price of the kit."));
player.closeInventory(); player.closeInventory();
inventoryPlayer.setInventoryName("edit_chat_price"); inventoryPlayer.setInventoryName("edit_chat_price");
@ -112,7 +112,7 @@ public class InventoryEditRequirementsManager {
return; return;
} }
}catch(Exception e){} }catch(Exception e){}
player.sendMessage(MessagesManager.getLegacyColoredMessage(PlayerKits2.prefix+"&cYou must use a valid number.")); player.sendMessage(MessagesManager.getLegacyColoredMessage(PlayerKitsF.prefix+"&cYou must use a valid number."));
} }
public void clickInventory(InventoryPlayer inventoryPlayer, ItemStack item, int slot, ClickType clickType) { public void clickInventory(InventoryPlayer inventoryPlayer, ItemStack item, int slot, ClickType clickType) {

View file

@ -1,8 +1,8 @@
package pk.ajneb97.model; package dr.bunchy7s.model;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import pk.ajneb97.model.item.KitItem; import dr.bunchy7s.model.item.KitItem;
import pk.ajneb97.utils.PlayerUtils; import dr.bunchy7s.utils.PlayerUtils;
import java.util.ArrayList; import java.util.ArrayList;

View file

@ -1,6 +1,6 @@
package pk.ajneb97.model; package dr.bunchy7s.model;
import pk.ajneb97.model.item.KitItem; import dr.bunchy7s.model.item.KitItem;
public class KitAction { public class KitAction {
private String action; private String action;

View file

@ -1,4 +1,4 @@
package pk.ajneb97.model; package dr.bunchy7s.model;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;

View file

@ -1,4 +1,4 @@
package pk.ajneb97.model; package dr.bunchy7s.model;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.UUID; import java.util.UUID;

View file

@ -1,4 +1,4 @@
package pk.ajneb97.model; package dr.bunchy7s.model;
public class PlayerDataKit { public class PlayerDataKit {

View file

@ -1,4 +1,4 @@
package pk.ajneb97.model.internal; package dr.bunchy7s.model.internal;
public interface GenericCallback<T> { public interface GenericCallback<T> {

View file

@ -1,4 +1,4 @@
package pk.ajneb97.model.internal; package dr.bunchy7s.model.internal;
public class GiveKitInstructions { public class GiveKitInstructions {

View file

@ -1,4 +1,4 @@
package pk.ajneb97.model.internal; package dr.bunchy7s.model.internal;
public class KitPosition { public class KitPosition {

View file

@ -1,4 +1,4 @@
package pk.ajneb97.model.internal; package dr.bunchy7s.model.internal;
public class KitVariable { public class KitVariable {
private String variable; private String variable;

View file

@ -1,4 +1,4 @@
package pk.ajneb97.model.internal; package dr.bunchy7s.model.internal;
public class PlayerKitsMessageResult { public class PlayerKitsMessageResult {

View file

@ -1,4 +1,4 @@
package pk.ajneb97.model.internal; package dr.bunchy7s.model.internal;
public interface SimpleCallback { public interface SimpleCallback {

View file

@ -1,4 +1,4 @@
package pk.ajneb97.model.inventory; package dr.bunchy7s.model.inventory;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;

View file

@ -1,6 +1,6 @@
package pk.ajneb97.model.inventory; package dr.bunchy7s.model.inventory;
import pk.ajneb97.model.item.KitItem; import dr.bunchy7s.model.item.KitItem;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;

View file

@ -1,4 +1,4 @@
package pk.ajneb97.model.inventory; package dr.bunchy7s.model.inventory;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;

View file

@ -1,9 +1,9 @@
package pk.ajneb97.model.item; package dr.bunchy7s.model.item;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.inventory.meta.ItemMeta;
import pk.ajneb97.PlayerKits2; import dr.bunchy7s.PlayerKitsF;
import pk.ajneb97.utils.ItemUtils; import dr.bunchy7s.utils.ItemUtils;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -275,7 +275,7 @@ public class KitItem{
this.previewSlot = previewSlot; this.previewSlot = previewSlot;
} }
public void removeOffHandFromEditInventory(PlayerKits2 plugin){ public void removeOffHandFromEditInventory(PlayerKitsF plugin){
//Assumes that has the lore and the nbt //Assumes that has the lore and the nbt
if(originalItem != null){ if(originalItem != null){
ItemMeta meta = originalItem.getItemMeta(); ItemMeta meta = originalItem.getItemMeta();

View file

@ -1,4 +1,4 @@
package pk.ajneb97.model.item; package dr.bunchy7s.model.item;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;

View file

@ -1,4 +1,4 @@
package pk.ajneb97.model.item; package dr.bunchy7s.model.item;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;

View file

@ -1,4 +1,4 @@
package pk.ajneb97.model.item; package dr.bunchy7s.model.item;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;

View file

@ -1,4 +1,4 @@
package pk.ajneb97.model.item; package dr.bunchy7s.model.item;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;

View file

@ -1,4 +1,4 @@
package pk.ajneb97.model.item; package dr.bunchy7s.model.item;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;

View file

@ -1,4 +1,4 @@
package pk.ajneb97.model.item; package dr.bunchy7s.model.item;
public class KitItemSkullData { public class KitItemSkullData {

View file

@ -1,4 +1,4 @@
package pk.ajneb97.model.item; package dr.bunchy7s.model.item;
public class KitItemTrimData { public class KitItemTrimData {

View file

@ -1,4 +1,4 @@
package pk.ajneb97.model.verify; package dr.bunchy7s.model.verify;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;

View file

@ -1,7 +1,7 @@
package pk.ajneb97.model.verify; package dr.bunchy7s.model.verify;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import pk.ajneb97.utils.JSONMessage; import dr.bunchy7s.utils.JSONMessage;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;

View file

@ -1,7 +1,7 @@
package pk.ajneb97.model.verify; package dr.bunchy7s.model.verify;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import pk.ajneb97.utils.JSONMessage; import dr.bunchy7s.utils.JSONMessage;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;

View file

@ -1,7 +1,7 @@
package pk.ajneb97.model.verify; package dr.bunchy7s.model.verify;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import pk.ajneb97.utils.JSONMessage; import dr.bunchy7s.utils.JSONMessage;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;

View file

@ -1,7 +1,7 @@
package pk.ajneb97.model.verify; package dr.bunchy7s.model.verify;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import pk.ajneb97.utils.JSONMessage; import dr.bunchy7s.utils.JSONMessage;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;

View file

@ -1,7 +1,7 @@
package pk.ajneb97.model.verify; package dr.bunchy7s.model.verify;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import pk.ajneb97.utils.JSONMessage; import dr.bunchy7s.utils.JSONMessage;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;

View file

@ -1,7 +1,7 @@
package pk.ajneb97.model.verify; package dr.bunchy7s.model.verify;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import pk.ajneb97.utils.JSONMessage; import dr.bunchy7s.utils.JSONMessage;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;

View file

@ -1,7 +1,7 @@
package pk.ajneb97.model.verify; package dr.bunchy7s.model.verify;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import pk.ajneb97.utils.JSONMessage; import dr.bunchy7s.utils.JSONMessage;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;

View file

@ -1,31 +1,26 @@
package pk.ajneb97.tasks; package dr.bunchy7s.tasks;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import org.bukkit.scheduler.BukkitRunnable; import dr.bunchy7s.PlayerKitsF;
import pk.ajneb97.PlayerKits2; import dr.bunchy7s.libs.FoliaScheduler;
import pk.ajneb97.managers.*; import dr.bunchy7s.managers.*;
import pk.ajneb97.model.inventory.InventoryPlayer; import dr.bunchy7s.model.inventory.InventoryPlayer;
import pk.ajneb97.utils.InventoryUtils; import dr.bunchy7s.utils.InventoryUtils;
import pk.ajneb97.utils.ItemUtils; import dr.bunchy7s.utils.ItemUtils;
import java.util.ArrayList; import java.util.ArrayList;
public class InventoryUpdateTaskManager { public class InventoryUpdateTaskManager {
private PlayerKits2 plugin; private PlayerKitsF plugin;
public InventoryUpdateTaskManager(PlayerKits2 plugin){ public InventoryUpdateTaskManager(PlayerKitsF plugin){
this.plugin = plugin; this.plugin = plugin;
} }
public void start(){ public void start(){
new BukkitRunnable(){ FoliaScheduler.runTaskTimer(plugin, this::execute, 0L, 20L);
@Override
public void run() {
execute();
}
}.runTaskTimer(plugin,0L,20L);
} }
public void execute(){ public void execute(){

View file

@ -0,0 +1,34 @@
package dr.bunchy7s.tasks;
import dr.bunchy7s.PlayerKitsF;
import dr.bunchy7s.libs.FoliaScheduler;
public class PlayerDataSaveTask {
private PlayerKitsF plugin;
private boolean end;
public PlayerDataSaveTask(PlayerKitsF plugin) {
this.plugin = plugin;
this.end = false;
}
public void end() {
end = true;
}
public void start(int seconds) {
long ticks = seconds * 20L;
FoliaScheduler.runTaskTimerAsynchronously(plugin, () -> {
if (end) {
return; // The task will naturally stop being re-scheduled by the timer wrapper
} else {
execute();
}
}, 0L, ticks);
}
public void execute() {
plugin.getConfigsManager().getPlayersConfigManager().saveConfigs();
}
}

View file

@ -1,4 +1,4 @@
package pk.ajneb97.utils; package dr.bunchy7s.utils;
import org.bukkit.*; import org.bukkit.*;
import org.bukkit.command.ConsoleCommandSender; import org.bukkit.command.ConsoleCommandSender;
@ -7,11 +7,12 @@ import org.bukkit.entity.Firework;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.meta.FireworkMeta; import org.bukkit.inventory.meta.FireworkMeta;
import org.bukkit.metadata.FixedMetadataValue; import org.bukkit.metadata.FixedMetadataValue;
import pk.ajneb97.PlayerKits2; import dr.bunchy7s.PlayerKitsF;
import pk.ajneb97.api.PlayerKitsAPI; import dr.bunchy7s.api.PlayerKitsAPI;
import pk.ajneb97.libs.actionbar.ActionBarAPI; import dr.bunchy7s.libs.FoliaScheduler;
import pk.ajneb97.libs.titles.TitleAPI; import dr.bunchy7s.libs.actionbar.ActionBarAPI;
import pk.ajneb97.managers.MessagesManager; import dr.bunchy7s.libs.titles.TitleAPI;
import dr.bunchy7s.managers.MessagesManager;
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method; import java.lang.reflect.Method;
@ -28,8 +29,11 @@ public class ActionUtils {
} }
public static void consoleCommand(String actionLine){ public static void consoleCommand(String actionLine){
// On Folia, dispatchCommand must run on the global region thread
FoliaScheduler.runTask(PlayerKitsAPI.getPlugin(), () -> {
ConsoleCommandSender sender = Bukkit.getConsoleSender(); ConsoleCommandSender sender = Bukkit.getConsoleSender();
Bukkit.dispatchCommand(sender, actionLine); Bukkit.dispatchCommand(sender, actionLine);
});
} }
public static void playerCommand(Player player, String actionLine){ public static void playerCommand(Player player, String actionLine){
@ -46,7 +50,7 @@ public class ActionUtils {
volume = Integer.valueOf(sep[1]); volume = Integer.valueOf(sep[1]);
pitch = Float.valueOf(sep[2]); pitch = Float.valueOf(sep[2]);
}catch(Exception e ) { }catch(Exception e ) {
Bukkit.getConsoleSender().sendMessage(PlayerKits2.prefix+ Bukkit.getConsoleSender().sendMessage(PlayerKitsF.prefix+
MessagesManager.getLegacyColoredMessage("&7Sound Name: &c"+sep[0]+" &7is not valid. Change it in the config!")); MessagesManager.getLegacyColoredMessage("&7Sound Name: &c"+sep[0]+" &7is not valid. Change it in the config!"));
return; return;
} }
@ -72,7 +76,7 @@ public class ActionUtils {
} }
} }
public static void actionbar(Player player, String actionLine, PlayerKits2 plugin){ public static void actionbar(Player player, String actionLine, PlayerKitsF plugin){
String[] sep = actionLine.split(";"); String[] sep = actionLine.split(";");
String text = sep[0]; String text = sep[0];
int duration = Integer.valueOf(sep[1]); int duration = Integer.valueOf(sep[1]);
@ -96,7 +100,7 @@ public class ActionUtils {
TitleAPI.sendTitle(player,fadeIn,stay,fadeOut,title,subtitle); TitleAPI.sendTitle(player,fadeIn,stay,fadeOut,title,subtitle);
} }
public static void firework(Player player,String actionLine,PlayerKits2 plugin){ public static void firework(Player player,String actionLine,PlayerKitsF plugin){
ArrayList<Color> colors = new ArrayList<Color>(); ArrayList<Color> colors = new ArrayList<Color>();
FireworkEffect.Type type = null; FireworkEffect.Type type = null;
ArrayList<Color> fadeColors = new ArrayList<Color>(); ArrayList<Color> fadeColors = new ArrayList<Color>();
@ -127,7 +131,7 @@ public class ActionUtils {
Location location = player.getLocation(); Location location = player.getLocation();
ServerVersion serverVersion = PlayerKits2.serverVersion; ServerVersion serverVersion = PlayerKitsF.serverVersion;
EntityType entityType = null; EntityType entityType = null;
if(serverVersion.serverVersionGreaterEqualThan(serverVersion,ServerVersion.v1_20_R4)){ if(serverVersion.serverVersionGreaterEqualThan(serverVersion,ServerVersion.v1_20_R4)){
entityType = EntityType.FIREWORK_ROCKET; entityType = EntityType.FIREWORK_ROCKET;

View file

@ -1,4 +1,4 @@
package pk.ajneb97.utils; package dr.bunchy7s.utils;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.enchantments.Enchantment; import org.bukkit.enchantments.Enchantment;
@ -6,8 +6,8 @@ import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemFlag; import org.bukkit.inventory.ItemFlag;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.inventory.meta.ItemMeta;
import pk.ajneb97.managers.MessagesManager; import dr.bunchy7s.managers.MessagesManager;
import pk.ajneb97.model.item.KitItemSkullData; import dr.bunchy7s.model.item.KitItemSkullData;
import java.util.List; import java.util.List;

View file

@ -1,4 +1,4 @@
package pk.ajneb97.utils; package dr.bunchy7s.utils;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.event.inventory.InventoryEvent; import org.bukkit.event.inventory.InventoryEvent;

View file

@ -1,4 +1,4 @@
package pk.ajneb97.utils; package dr.bunchy7s.utils;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.InvocationTargetException;
@ -37,8 +37,8 @@ import net.md_5.bungee.api.chat.BaseComponent;
import net.md_5.bungee.chat.ComponentSerializer; import net.md_5.bungee.chat.ComponentSerializer;
import org.bukkit.profile.PlayerProfile; import org.bukkit.profile.PlayerProfile;
import org.bukkit.profile.PlayerTextures; import org.bukkit.profile.PlayerTextures;
import pk.ajneb97.PlayerKits2; import dr.bunchy7s.PlayerKitsF;
import pk.ajneb97.model.item.*; import dr.bunchy7s.model.item.*;
public class ItemUtils { public class ItemUtils {
@ -61,26 +61,26 @@ public class ItemUtils {
return stack; return stack;
} }
public static ItemStack setTagStringItem(PlayerKits2 plugin, ItemStack item, String key, String value) { public static ItemStack setTagStringItem(PlayerKitsF plugin, ItemStack item, String key, String value) {
return plugin.getNmsManager().setTagStringItem(item,key,value); return plugin.getNmsManager().setTagStringItem(item,key,value);
} }
public static String getTagStringItem(PlayerKits2 plugin, ItemStack item, String key) { public static String getTagStringItem(PlayerKitsF plugin, ItemStack item, String key) {
if(item == null || item.getType().equals(Material.AIR)){ if(item == null || item.getType().equals(Material.AIR)){
return null; return null;
} }
return plugin.getNmsManager().getTagStringItem(item,key); return plugin.getNmsManager().getTagStringItem(item,key);
} }
public static ItemStack removeTagItem(PlayerKits2 plugin, ItemStack item, String key) { public static ItemStack removeTagItem(PlayerKitsF plugin, ItemStack item, String key) {
return plugin.getNmsManager().removeTagItem(item,key); return plugin.getNmsManager().removeTagItem(item,key);
} }
public static List<String> getNBT(PlayerKits2 plugin, ItemStack item){ public static List<String> getNBT(PlayerKitsF plugin, ItemStack item){
return plugin.getNmsManager().getNBT(item); return plugin.getNmsManager().getNBT(item);
} }
public static ItemStack setNBT(PlayerKits2 plugin, ItemStack item, List<String> nbtList){ public static ItemStack setNBT(PlayerKitsF plugin, ItemStack item, List<String> nbtList){
return plugin.getNmsManager().setNBT(item,nbtList); return plugin.getNmsManager().setNBT(item,nbtList);
} }
@ -96,7 +96,7 @@ public class ItemUtils {
} }
SkullMeta skullMeta = (SkullMeta) item.getItemMeta(); SkullMeta skullMeta = (SkullMeta) item.getItemMeta();
ServerVersion serverVersion = PlayerKits2.serverVersion; ServerVersion serverVersion = PlayerKitsF.serverVersion;
if(serverVersion.serverVersionGreaterEqualThan(serverVersion,ServerVersion.v1_21_R1)){ if(serverVersion.serverVersionGreaterEqualThan(serverVersion,ServerVersion.v1_21_R1)){
PlayerProfile profile = skullMeta.getOwnerProfile(); PlayerProfile profile = skullMeta.getOwnerProfile();
if(profile != null){ if(profile != null){
@ -179,7 +179,7 @@ public class ItemUtils {
} }
if(texture != null){ if(texture != null){
ServerVersion serverVersion = PlayerKits2.serverVersion; ServerVersion serverVersion = PlayerKitsF.serverVersion;
if(serverVersion.serverVersionGreaterEqualThan(serverVersion,ServerVersion.v1_20_R2)){ if(serverVersion.serverVersionGreaterEqualThan(serverVersion,ServerVersion.v1_20_R2)){
UUID uuid = id != null ? UUID.fromString(id) : UUID.randomUUID(); UUID uuid = id != null ? UUID.fromString(id) : UUID.randomUUID();
PlayerProfile profile = Bukkit.createPlayerProfile(uuid,"playerkits"); PlayerProfile profile = Bukkit.createPlayerProfile(uuid,"playerkits");
@ -249,7 +249,7 @@ public class ItemUtils {
potionEffectsList.add(type+";"+amplifier+";"+duration); potionEffectsList.add(type+";"+amplifier+";"+duration);
} }
} }
ServerVersion serverVersion = PlayerKits2.serverVersion; ServerVersion serverVersion = PlayerKitsF.serverVersion;
if(serverVersion.serverVersionGreaterEqualThan(serverVersion,ServerVersion.v1_9_R1)) { if(serverVersion.serverVersionGreaterEqualThan(serverVersion,ServerVersion.v1_9_R1)) {
if(meta.hasColor()) { if(meta.hasColor()) {
potionColor = meta.getColor().asRGB(); potionColor = meta.getColor().asRGB();
@ -299,7 +299,7 @@ public class ItemUtils {
} }
} }
ServerVersion serverVersion = PlayerKits2.serverVersion; ServerVersion serverVersion = PlayerKitsF.serverVersion;
if(serverVersion.serverVersionGreaterEqualThan(serverVersion,ServerVersion.v1_9_R1)) { if(serverVersion.serverVersionGreaterEqualThan(serverVersion,ServerVersion.v1_9_R1)) {
int color = potionData.getPotionColor(); int color = potionData.getPotionColor();
if(color != 0) { if(color != 0) {
@ -520,12 +520,12 @@ public class ItemUtils {
.withColor(colorsList).withFade(fadeColorsList).build(); .withColor(colorsList).withFade(fadeColorsList).build();
} }
public static List<String> getAttributes(PlayerKits2 plugin, ItemStack item){ public static List<String> getAttributes(PlayerKitsF plugin, ItemStack item){
if(OtherUtils.isLegacy()) { if(OtherUtils.isLegacy()) {
return plugin.getNmsManager().getAttributes(item); return plugin.getNmsManager().getAttributes(item);
}else { }else {
//1.13+ //1.13+
ServerVersion serverVersion = PlayerKits2.serverVersion; ServerVersion serverVersion = PlayerKitsF.serverVersion;
boolean newSystem = serverVersion.serverVersionGreaterEqualThan(serverVersion,ServerVersion.v1_21_R1); boolean newSystem = serverVersion.serverVersionGreaterEqualThan(serverVersion,ServerVersion.v1_21_R1);
ItemMeta meta = item.getItemMeta(); ItemMeta meta = item.getItemMeta();
@ -559,7 +559,7 @@ public class ItemUtils {
return null; return null;
} }
public static ItemStack setAttributes(PlayerKits2 plugin, ItemStack item, List<String> attributes) { public static ItemStack setAttributes(PlayerKitsF plugin, ItemStack item, List<String> attributes) {
if(attributes == null) { if(attributes == null) {
return item; return item;
} }
@ -568,7 +568,7 @@ public class ItemUtils {
return plugin.getNmsManager().setAttributes(item,attributes); return plugin.getNmsManager().setAttributes(item,attributes);
}else { }else {
//1.13+ //1.13+
ServerVersion serverVersion = PlayerKits2.serverVersion; ServerVersion serverVersion = PlayerKitsF.serverVersion;
boolean newSystem = serverVersion.serverVersionGreaterEqualThan(serverVersion,ServerVersion.v1_21_R1); boolean newSystem = serverVersion.serverVersionGreaterEqualThan(serverVersion,ServerVersion.v1_21_R1);
try{ try{
@ -617,10 +617,10 @@ public class ItemUtils {
} }
// 1.21+ only // 1.21+ only
public static void addDummyAttribute(ItemMeta meta,PlayerKits2 plugin){ public static void addDummyAttribute(ItemMeta meta,PlayerKitsF plugin){
try{ try{
AttributeModifier modifier = new AttributeModifier(new NamespacedKey(plugin,"dummy_attribute"),0,AttributeModifier.Operation.ADD_NUMBER,EquipmentSlotGroup.FEET); AttributeModifier modifier = new AttributeModifier(new NamespacedKey(plugin,"dummy_attribute"),0,AttributeModifier.Operation.ADD_NUMBER,EquipmentSlotGroup.FEET);
ServerVersion serverVersion = PlayerKits2.serverVersion; ServerVersion serverVersion = PlayerKitsF.serverVersion;
if(serverVersion.serverVersionGreaterEqualThan(serverVersion,ServerVersion.v1_21_R2)){ if(serverVersion.serverVersionGreaterEqualThan(serverVersion,ServerVersion.v1_21_R2)){
meta.addAttributeModifier(Attribute.GRAVITY, modifier); meta.addAttributeModifier(Attribute.GRAVITY, modifier);
}else{ }else{

View file

@ -1,4 +1,4 @@
package pk.ajneb97.utils; package dr.bunchy7s.utils;
import net.md_5.bungee.api.chat.BaseComponent; import net.md_5.bungee.api.chat.BaseComponent;
import net.md_5.bungee.api.chat.ClickEvent; import net.md_5.bungee.api.chat.ClickEvent;

View file

@ -1,4 +1,4 @@
package pk.ajneb97.utils; package dr.bunchy7s.utils;
import net.kyori.adventure.text.Component; import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.TextReplacementConfig; import net.kyori.adventure.text.TextReplacementConfig;
@ -12,11 +12,11 @@ import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.inventory.meta.ItemMeta;
import pk.ajneb97.PlayerKits2; import dr.bunchy7s.PlayerKitsF;
import pk.ajneb97.managers.InventoryRequirementsManager; import dr.bunchy7s.managers.InventoryRequirementsManager;
import pk.ajneb97.managers.MessagesManager; import dr.bunchy7s.managers.MessagesManager;
import pk.ajneb97.model.internal.KitVariable; import dr.bunchy7s.model.internal.KitVariable;
import pk.ajneb97.model.item.KitItem; import dr.bunchy7s.model.item.KitItem;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -74,7 +74,7 @@ public class MiniMessageUtils {
meta.displayName(MiniMessage.miniMessage().deserialize(name).decoration(TextDecoration.ITALIC, false)); meta.displayName(MiniMessage.miniMessage().deserialize(name).decoration(TextDecoration.ITALIC, false));
} }
public static void setItemLore(ItemMeta meta, List<String> lore, Player player, PlayerKits2 plugin){ public static void setItemLore(ItemMeta meta, List<String> lore, Player player, PlayerKitsF plugin){
List<Component> loreComponent = new ArrayList<>(); List<Component> loreComponent = new ArrayList<>();
for(int i=0;i<lore.size();i++) { for(int i=0;i<lore.size();i++) {
String line = OtherUtils.replaceGlobalVariables(lore.get(i),player,plugin); String line = OtherUtils.replaceGlobalVariables(lore.get(i),player,plugin);

View file

@ -1,18 +1,18 @@
package pk.ajneb97.utils; package dr.bunchy7s.utils;
import me.clip.placeholderapi.PlaceholderAPI; import me.clip.placeholderapi.PlaceholderAPI;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.Color; import org.bukkit.Color;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import pk.ajneb97.PlayerKits2; import dr.bunchy7s.PlayerKitsF;
import pk.ajneb97.api.PlayerKitsAPI; import dr.bunchy7s.api.PlayerKitsAPI;
import pk.ajneb97.managers.MessagesManager; import dr.bunchy7s.managers.MessagesManager;
import java.util.ArrayList; import java.util.ArrayList;
public class OtherUtils { public class OtherUtils {
public static boolean isNew() { public static boolean isNew() {
ServerVersion serverVersion = PlayerKits2.serverVersion; ServerVersion serverVersion = PlayerKitsF.serverVersion;
if(serverVersion.serverVersionGreaterEqualThan(serverVersion,ServerVersion.v1_16_R1)){ if(serverVersion.serverVersionGreaterEqualThan(serverVersion,ServerVersion.v1_16_R1)){
return true; return true;
} }
@ -20,7 +20,7 @@ public class OtherUtils {
} }
public static boolean isLegacy() { public static boolean isLegacy() {
ServerVersion serverVersion = PlayerKits2.serverVersion; ServerVersion serverVersion = PlayerKitsF.serverVersion;
if(serverVersion.serverVersionGreaterEqualThan(serverVersion,ServerVersion.v1_13_R1)) { if(serverVersion.serverVersionGreaterEqualThan(serverVersion,ServerVersion.v1_13_R1)) {
return false; return false;
} }
@ -29,7 +29,7 @@ public class OtherUtils {
// 1.20+ // 1.20+
public static boolean isTrimNew() { public static boolean isTrimNew() {
ServerVersion serverVersion = PlayerKits2.serverVersion; ServerVersion serverVersion = PlayerKitsF.serverVersion;
if(serverVersion.serverVersionGreaterEqualThan(serverVersion,ServerVersion.v1_20_R1)) { if(serverVersion.serverVersionGreaterEqualThan(serverVersion,ServerVersion.v1_20_R1)) {
return true; return true;
}else { }else {
@ -82,7 +82,7 @@ public class OtherUtils {
return null; return null;
} }
public static String replaceGlobalVariables(String text, Player player, PlayerKits2 plugin) { public static String replaceGlobalVariables(String text, Player player, PlayerKitsF plugin) {
if(player == null){ if(player == null){
return text; return text;
} }

View file

@ -1,4 +1,4 @@
package pk.ajneb97.utils; package dr.bunchy7s.utils;
import me.clip.placeholderapi.PlaceholderAPI; import me.clip.placeholderapi.PlaceholderAPI;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
@ -6,7 +6,7 @@ import org.bukkit.Material;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import pk.ajneb97.PlayerKits2; import dr.bunchy7s.PlayerKitsF;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
@ -14,7 +14,7 @@ import java.util.Arrays;
public class PlayerUtils { public class PlayerUtils {
public static ItemStack[] getAllInventoryContents(Player player){ public static ItemStack[] getAllInventoryContents(Player player){
ServerVersion serverVersion = PlayerKits2.serverVersion; ServerVersion serverVersion = PlayerKitsF.serverVersion;
if(!serverVersion.serverVersionGreaterEqualThan(serverVersion,ServerVersion.v1_9_R1)) { if(!serverVersion.serverVersionGreaterEqualThan(serverVersion,ServerVersion.v1_9_R1)) {
ItemStack[] contents = new ItemStack[40]; ItemStack[] contents = new ItemStack[40];
@ -38,7 +38,7 @@ public class PlayerUtils {
public static int getUsedSlots(Player player){ public static int getUsedSlots(Player player){
//ItemStack[] contents = getAllInventoryContents(player); //ItemStack[] contents = getAllInventoryContents(player);
ItemStack[] contents = null; ItemStack[] contents = null;
ServerVersion serverVersion = PlayerKits2.serverVersion; ServerVersion serverVersion = PlayerKitsF.serverVersion;
if(!serverVersion.serverVersionGreaterEqualThan(serverVersion,ServerVersion.v1_9_R1)) { if(!serverVersion.serverVersionGreaterEqualThan(serverVersion,ServerVersion.v1_9_R1)) {
// 1.8 // 1.8
contents = player.getInventory().getContents(); contents = player.getInventory().getContents();

View file

@ -1,4 +1,4 @@
package pk.ajneb97.utils; package dr.bunchy7s.utils;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;

View file

@ -1,12 +1,12 @@
package pk.ajneb97.versions; package dr.bunchy7s.versions;
import org.bukkit.NamespacedKey; import org.bukkit.NamespacedKey;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.persistence.PersistentDataContainer; import org.bukkit.persistence.PersistentDataContainer;
import org.bukkit.persistence.PersistentDataType; import org.bukkit.persistence.PersistentDataType;
import pk.ajneb97.PlayerKits2; import dr.bunchy7s.PlayerKitsF;
import pk.ajneb97.utils.ServerVersion; import dr.bunchy7s.utils.ServerVersion;
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.InvocationTargetException;
import java.util.*; import java.util.*;
@ -15,12 +15,12 @@ public class NMSManager {
private Version version; private Version version;
private ServerVersion serverVersion; private ServerVersion serverVersion;
private PlayerKits2 plugin; private PlayerKitsF plugin;
public NMSManager(PlayerKits2 plugin){ public NMSManager(PlayerKitsF plugin){
this.plugin = plugin; this.plugin = plugin;
this.version = new Version(); this.version = new Version();
this.serverVersion = PlayerKits2.serverVersion; this.serverVersion = PlayerKitsF.serverVersion;
if(serverVersionGreaterEqualThan(ServerVersion.v1_20_R4)){ if(serverVersionGreaterEqualThan(ServerVersion.v1_20_R4)){
return; return;

View file

@ -1,4 +1,4 @@
package pk.ajneb97.versions; package dr.bunchy7s.versions;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.util.HashMap; import java.util.HashMap;

View file

@ -1,119 +0,0 @@
package pk.ajneb97.configs;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.scheduler.BukkitRunnable;
import pk.ajneb97.PlayerKits2;
import pk.ajneb97.configs.model.CommonConfig;
import pk.ajneb97.model.PlayerData;
import pk.ajneb97.model.PlayerDataKit;
import pk.ajneb97.model.internal.GenericCallback;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
public class PlayersConfigManager extends DataFolderConfigManager{
public PlayersConfigManager(PlayerKits2 plugin, String folderName){
super(plugin, folderName);
}
@Override
public void createFiles() {
}
@Override
public void loadConfigs(){
// No use for player config
}
public void loadConfig(UUID uuid, GenericCallback<PlayerData> callback) {
new BukkitRunnable() {
@Override
public void run() {
PlayerData playerData = null;
CommonConfig playerConfig = getConfigFile(uuid+".yml",false);
if(playerConfig != null) {
// If config exists
FileConfiguration config = playerConfig.getConfig();
String name = config.getString("name");
ArrayList<PlayerDataKit> 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");
PlayerDataKit playerDataKit = new PlayerDataKit(key);
playerDataKit.setCooldown(cooldown);
playerDataKit.setOneTime(oneTime);
playerDataKit.setBought(bought);
playerDataKits.add(playerDataKit);
}
}
playerData = new PlayerData(uuid, name);
playerData.setKits(playerDataKits);
}
PlayerData finalPlayer = playerData;
new BukkitRunnable(){
@Override
public void run() {
callback.onDone(finalPlayer);
}
}.runTask(plugin);
}
}.runTaskAsynchronously(plugin);
}
public void saveConfig(PlayerData playerData){
String playerName = playerData.getName();
CommonConfig playerConfig = getConfigFile(playerData.getUuid()+".yml",true);
FileConfiguration config = playerConfig.getConfig();
config.set("name", playerName);
config.set("kits",null);
for(PlayerDataKit playerDataKit : playerData.getKits()){
String kitName = playerDataKit.getName();
config.set("kits."+kitName+".cooldown",playerDataKit.getCooldown());
config.set("kits."+kitName+".one_time",playerDataKit.isOneTime());
config.set("kits."+kitName+".bought",playerDataKit.isBought());
}
playerConfig.saveConfig();
}
@Override
public void saveConfigs(){
Map<UUID, PlayerData> players = plugin.getPlayerDataManager().getPlayers();
boolean isMySQL = plugin.getConfigsManager().getMainConfigManager().isMySQL();
if(!isMySQL){
for(Map.Entry<UUID, PlayerData> entry : players.entrySet()) {
PlayerData playerData = entry.getValue();
if(playerData.isModified()){
saveConfig(playerData);
}
playerData.setModified(false);
}
}
}
public void resetKitForAllPlayers(String kitName){
ArrayList<CommonConfig> configs = getConfigs();
for(CommonConfig commonConfig : configs) {
FileConfiguration config = commonConfig.getConfig();
if(!config.contains("kits."+kitName)){
continue;
}
config.set("kits."+kitName,null);
commonConfig.saveConfig();
}
}
}

View file

@ -1,236 +0,0 @@
package pk.ajneb97.database;
import org.bukkit.Bukkit;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.scheduler.BukkitRunnable;
import pk.ajneb97.PlayerKits2;
import pk.ajneb97.managers.MessagesManager;
import pk.ajneb97.model.PlayerData;
import pk.ajneb97.model.PlayerDataKit;
import pk.ajneb97.model.internal.GenericCallback;
import pk.ajneb97.model.internal.SimpleCallback;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.*;
public class MySQLConnection {
private PlayerKits2 plugin;
private HikariConnection connection;
public MySQLConnection(PlayerKits2 plugin){
this.plugin = plugin;
}
public void setupMySql(){
FileConfiguration config = plugin.getConfigsManager().getMainConfigManager().getConfig();
try {
connection = new HikariConnection(config);
connection.getHikari().getConnection();
createTables();
Bukkit.getConsoleSender().sendMessage(MessagesManager.getLegacyColoredMessage(plugin.prefix+" &aSuccessfully connected to the Database."));
}catch(Exception e) {
Bukkit.getConsoleSender().sendMessage(MessagesManager.getLegacyColoredMessage(plugin.prefix+" &cError while connecting to the Database."));
}
}
public Connection getConnection() {
try {
return connection.getHikari().getConnection();
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
public void createTables() {
try(Connection connection = getConnection()){
PreparedStatement statement1 = connection.prepareStatement(
"CREATE TABLE IF NOT EXISTS playerkits_players" +
" (UUID varchar(200) NOT NULL, " +
" PLAYER_NAME varchar(50), " +
" PRIMARY KEY ( UUID ))"
);
statement1.executeUpdate();
PreparedStatement statement2 = connection.prepareStatement(
"CREATE TABLE IF NOT EXISTS playerkits_players_kits" +
" (ID int NOT NULL AUTO_INCREMENT, " +
" UUID varchar(200) NOT NULL, " +
" NAME varchar(100), " +
" COOLDOWN BIGINT, " +
" ONE_TIME BOOLEAN, " +
" BOUGHT BOOLEAN, " +
" PRIMARY KEY ( ID ), " +
" FOREIGN KEY (UUID) REFERENCES playerkits_players(UUID))");
statement2.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}
public void getPlayer(String uuid, GenericCallback<PlayerData> callback){
new BukkitRunnable(){
@Override
public void run() {
PlayerData player = null;
try(Connection connection = getConnection()){
PreparedStatement statement = connection.prepareStatement(
"SELECT playerkits_players.UUID, playerkits_players.PLAYER_NAME, " +
"playerkits_players_kits.NAME, " +
"playerkits_players_kits.COOLDOWN, " +
"playerkits_players_kits.ONE_TIME, " +
"playerkits_players_kits.BOUGHT " +
"FROM playerkits_players LEFT JOIN playerkits_players_kits " +
"ON playerkits_players.UUID = playerkits_players_kits.UUID " +
"WHERE playerkits_players.UUID = ?");
statement.setString(1, uuid);
ResultSet result = statement.executeQuery();
boolean firstFind = true;
while(result.next()){
UUID uuid = UUID.fromString(result.getString("UUID"));
String playerName = result.getString("PLAYER_NAME");
String kitName = result.getString("NAME");
long cooldown = result.getLong("COOLDOWN");
boolean oneTime = result.getBoolean("ONE_TIME");
boolean bought = result.getBoolean("BOUGHT");
if(player == null){
player = new PlayerData(uuid,playerName);
}
if(kitName != null){
PlayerDataKit playerDataKit = new PlayerDataKit(kitName);
playerDataKit.setCooldown(cooldown);
playerDataKit.setOneTime(oneTime);
playerDataKit.setBought(bought);
player.addKit(playerDataKit);
}
}
PlayerData finalPlayer = player;
new BukkitRunnable(){
@Override
public void run() {
callback.onDone(finalPlayer);
}
}.runTask(plugin);
} catch (SQLException e) {
e.printStackTrace();
}
}
}.runTaskAsynchronously(plugin);
}
public void createPlayer(PlayerData player, SimpleCallback callback){
new BukkitRunnable(){
@Override
public void run() {
try(Connection connection = getConnection()){
PreparedStatement statement = connection.prepareStatement(
"INSERT INTO playerkits_players " +
"(UUID, PLAYER_NAME) VALUE (?,?)");
statement.setString(1, player.getUuid().toString());
statement.setString(2, player.getName());
statement.executeUpdate();
new BukkitRunnable(){
@Override
public void run() {
callback.onDone();
}
}.runTask(plugin);
} catch (SQLException e) {
e.printStackTrace();
}
}
}.runTaskAsynchronously(plugin);
}
public void updatePlayerName(PlayerData player){
new BukkitRunnable(){
@Override
public void run() {
try(Connection connection = getConnection()){
PreparedStatement statement = connection.prepareStatement(
"UPDATE playerkits_players SET " +
"PLAYER_NAME=? WHERE UUID=?");
statement.setString(1, player.getName());
statement.setString(2, player.getUuid().toString());
statement.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}
}.runTaskAsynchronously(plugin);
}
public void updateKit(PlayerData player,PlayerDataKit kit,boolean mustCreate){
new BukkitRunnable(){
@Override
public void run() {
try(Connection connection = getConnection()){
PreparedStatement statement = null;
if(mustCreate){
// Insert
statement = connection.prepareStatement(
"INSERT INTO playerkits_players_kits " +
"(UUID, NAME, COOLDOWN, ONE_TIME, BOUGHT) VALUE (?,?,?,?,?)");
statement.setString(1, player.getUuid().toString());
statement.setString(2, kit.getName());
statement.setLong(3, kit.getCooldown());
statement.setBoolean(4, kit.isOneTime());
statement.setBoolean(5, kit.isBought());
}else{
// Update
statement = connection.prepareStatement(
"UPDATE playerkits_players_kits SET " +
"COOLDOWN=?, ONE_TIME=?, BOUGHT=? WHERE UUID=? AND NAME=?");
statement.setLong(1, kit.getCooldown());
statement.setBoolean(2, kit.isOneTime());
statement.setBoolean(3, kit.isBought());
statement.setString(4, player.getUuid().toString());
statement.setString(5, kit.getName());
}
statement.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}
}.runTaskAsynchronously(plugin);
}
public void resetKit(String uuid,String kitName,boolean all){
new BukkitRunnable(){
@Override
public void run() {
try(Connection connection = getConnection()){
PreparedStatement statement;
if(all){
statement = connection.prepareStatement(
"DELETE FROM playerkits_players_kits " +
"WHERE NAME=?");
statement.setString(1, kitName);
}else{
statement = connection.prepareStatement(
"DELETE FROM playerkits_players_kits " +
"WHERE UUID=? AND NAME=?");
statement.setString(1, uuid);
statement.setString(2, kitName);
}
statement.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}
}.runTaskAsynchronously(plugin);
}
}

View file

@ -1,42 +0,0 @@
package pk.ajneb97.managers;
import pk.ajneb97.model.internal.UpdateCheckerResult;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class UpdateCheckerManager {
private String version;
private String latestVersion;
public UpdateCheckerManager(String version){
this.version = version;
}
public UpdateCheckerResult check(){
try {
HttpURLConnection con = (HttpURLConnection) new URL(
"https://api.spigotmc.org/legacy/update.php?resource=112616").openConnection();
int timed_out = 1500;
con.setConnectTimeout(timed_out);
con.setReadTimeout(timed_out);
latestVersion = new BufferedReader(new InputStreamReader(con.getInputStream())).readLine();
if (latestVersion.length() <= 7) {
if(!version.equals(latestVersion)){
return UpdateCheckerResult.noErrors(latestVersion);
}
}
return UpdateCheckerResult.noErrors(null);
} catch (Exception ex) {
return UpdateCheckerResult.error();
}
}
public String getLatestVersion() {
return latestVersion;
}
}

View file

@ -1,28 +0,0 @@
package pk.ajneb97.model.internal;
public class UpdateCheckerResult {
private String latestVersion;
private boolean error;
public UpdateCheckerResult(String latestVersion, boolean error){
this.latestVersion = latestVersion;
this.error = error;
}
public String getLatestVersion() {
return latestVersion;
}
public boolean isError() {
return error;
}
public static UpdateCheckerResult noErrors(String latestVersion){
return new UpdateCheckerResult(latestVersion,false);
}
public static UpdateCheckerResult error(){
return new UpdateCheckerResult(null,true);
}
}

View file

@ -1,38 +0,0 @@
package pk.ajneb97.tasks;
import org.bukkit.scheduler.BukkitRunnable;
import pk.ajneb97.PlayerKits2;
public class PlayerDataSaveTask {
private PlayerKits2 plugin;
private boolean end;
public PlayerDataSaveTask(PlayerKits2 plugin) {
this.plugin = plugin;
this.end = false;
}
public void end() {
end = true;
}
public void start(int seconds) {
long ticks = seconds* 20L;
new BukkitRunnable() {
@Override
public void run() {
if(end) {
this.cancel();
}else {
execute();
}
}
}.runTaskTimerAsynchronously(plugin, 0L, ticks);
}
public void execute() {
plugin.getConfigsManager().getPlayersConfigManager().saveConfigs();
}
}

View file

@ -42,7 +42,6 @@ new_kit_default_values:
item_flags: item_flags:
- HIDE_ATTRIBUTES - HIDE_ATTRIBUTES
player_data_save_time: 300 player_data_save_time: 300
update_notify: true
use_minimessage: false use_minimessage: false
mysql_database: mysql_database:
enabled: false enabled: false

View file

@ -1,4 +1,4 @@
prefix: "&8[&bPlayerKits&&8] " prefix: "&8[&bPlayerKits&dF&8] "
kitDoesNotExists: "&cThe kit &7%kit% &cdoesn't exists." kitDoesNotExists: "&cThe kit &7%kit% &cdoesn't exists."
kitNoPermissions: "&cYou don't have permissions to claim this kit." kitNoPermissions: "&cYou don't have permissions to claim this kit."
noSpaceError: "&cYou don't have enough space in your inventory." noSpaceError: "&cYou don't have enough space in your inventory."

View file

@ -1,11 +1,12 @@
main: pk.ajneb97.PlayerKits2 main: dr.bunchy7s.PlayerKitsF
version: ${project.version} version: ${project.version}
name: PlayerKits2 name: PlayerKitsF
api-version: 1.13 api-version: 1.13
folia-supported: true
softdepend: [Vault,PlaceholderAPI] softdepend: [Vault,PlaceholderAPI]
author: Ajneb97 author: Ajneb97/bunchy7s
commands: commands:
kit: kit:
description: Main command of PlayerKits2 description: Main command of PlayerKitsF
aliases: [kits,playerkits] aliases: [kits,playerkitsf]