diff --git a/README.md b/README.md
index f78c534..5824e33 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,16 @@
# PlayerKits2
https://www.spigotmc.org/resources/playerkits-2-fully-configurable-kits-1-8-1-20.112616/
+
+# Unofficial Discord
+
+https://discord.gg/aT9z7q7hX8
+
+# Building instructions
+
+mvn clean install
+# Folia inquisitors
+
+[
](https://github.com/orgs/Folia-Inquisitors/repositories)
+[
](https://github.com/KaspianDev)
+[
](https://github.com/HSGamer)
diff --git a/pom.xml b/pom.xml
index b9116a2..9b3659e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -25,7 +25,7 @@
placeholderapi
- https://repo.extendedclip.com/content/repositories/placeholderapi/
+ https://repo.extendedclip.com/releases/
jitpack.io
@@ -53,7 +53,7 @@
me.clip
placeholderapi
- 2.11.1
+ 2.11.6
provided
@@ -74,6 +74,26 @@
4.0.3
compile
+
+ io.github.projectunified
+ minelib-scheduler-common
+ 1.2.1
+
+
+ io.github.projectunified
+ minelib-scheduler-entity
+ 1.2.1
+
+
+ io.github.projectunified
+ minelib-scheduler-async
+ 1.2.1
+
+
+ io.github.projectunified
+ minelib-scheduler-global
+ 1.2.1
+
@@ -99,7 +119,7 @@
org.apache.maven.plugins
maven-shade-plugin
- 3.2.4
+ 3.5.2
@@ -117,6 +137,10 @@
com.zaxxer.hikari.**
+
+ io.github.projectunified.minelib
+ pk.ajneb97.libs.minelib
+
diff --git a/src/main/java/pk/ajneb97/database/MySQLConnection.java b/src/main/java/pk/ajneb97/database/MySQLConnection.java
index 46b6a0e..5a6853a 100644
--- a/src/main/java/pk/ajneb97/database/MySQLConnection.java
+++ b/src/main/java/pk/ajneb97/database/MySQLConnection.java
@@ -1,8 +1,9 @@
package pk.ajneb97.database;
+import io.github.projectunified.minelib.scheduler.async.AsyncScheduler;
+import io.github.projectunified.minelib.scheduler.global.GlobalScheduler;
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;
@@ -115,7 +116,7 @@ public void createTables() {
}
public void getPlayer(String uuid,PlayerCallback callback){
- new BukkitRunnable(){
+ AsyncScheduler.get(plugin).run(new Runnable(){
@Override
public void run() {
PlayerData player = null;
@@ -154,21 +155,21 @@ public void run() {
}
PlayerData finalPlayer = player;
- new BukkitRunnable(){
+ GlobalScheduler.get(plugin).run(new Runnable(){
@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(){
+ AsyncScheduler.get(plugin).run(new Runnable(){
@Override
public void run() {
try(Connection connection = getConnection()){
@@ -180,21 +181,21 @@ public void run() {
statement.setString(2, player.getName());
statement.executeUpdate();
- new BukkitRunnable(){
+ GlobalScheduler.get(plugin).run(new Runnable(){
@Override
public void run() {
callback.onDone();
}
- }.runTask(plugin);
+ });
} catch (SQLException e) {
e.printStackTrace();
}
}
- }.runTaskAsynchronously(plugin);
+ });
}
public void updatePlayerName(PlayerData player){
- new BukkitRunnable(){
+ AsyncScheduler.get(plugin).run(new Runnable(){
@Override
public void run() {
try(Connection connection = getConnection()){
@@ -209,11 +210,11 @@ public void run() {
e.printStackTrace();
}
}
- }.runTaskAsynchronously(plugin);
+ });
}
public void updateKit(PlayerData player,PlayerDataKit kit,boolean mustCreate){
- new BukkitRunnable(){
+ AsyncScheduler.get(plugin).run(new Runnable(){
@Override
public void run() {
try(Connection connection = getConnection()){
@@ -246,11 +247,11 @@ public void run() {
e.printStackTrace();
}
}
- }.runTaskAsynchronously(plugin);
+ });
}
public void resetKit(String uuid,String kitName,boolean all){
- new BukkitRunnable(){
+ AsyncScheduler.get(plugin).run(new Runnable(){
@Override
public void run() {
try(Connection connection = getConnection()){
@@ -274,6 +275,6 @@ public void run() {
e.printStackTrace();
}
}
- }.runTaskAsynchronously(plugin);
+ });
}
}
diff --git a/src/main/java/pk/ajneb97/libs/actionbar/ActionBarAPI.java b/src/main/java/pk/ajneb97/libs/actionbar/ActionBarAPI.java
index 871615c..e11e831 100644
--- a/src/main/java/pk/ajneb97/libs/actionbar/ActionBarAPI.java
+++ b/src/main/java/pk/ajneb97/libs/actionbar/ActionBarAPI.java
@@ -1,11 +1,11 @@
package pk.ajneb97.libs.actionbar;
+import io.github.projectunified.minelib.scheduler.entity.EntityScheduler;
import net.kyori.adventure.text.minimessage.MiniMessage;
import net.md_5.bungee.api.ChatMessageType;
import net.md_5.bungee.api.chat.TextComponent;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
-import org.bukkit.scheduler.BukkitRunnable;
import pk.ajneb97.PlayerKits2;
import pk.ajneb97.api.PlayerKitsAPI;
import pk.ajneb97.managers.MessagesManager;
@@ -86,23 +86,13 @@ public static void sendActionBar(final Player player, final String message, int
if (duration > 0) {
// Sends empty message at the end of the duration. Allows messages shorter than 3 seconds, ensures precision.
- new BukkitRunnable() {
- @Override
- public void run() {
- sendActionBar(player, "");
- }
- }.runTaskLater(plugin, duration + 1);
+ EntityScheduler.get(plugin, player).runLater(() -> sendActionBar(player, ""), duration + 1);
}
// Re-sends the messages every 3 seconds so it doesn't go away from the player's screen.
while (duration > 40) {
duration -= 40;
- new BukkitRunnable() {
- @Override
- public void run() {
- sendActionBar(player, message);
- }
- }.runTaskLater(plugin, (long) duration);
+ EntityScheduler.get(plugin, player).runLater(() -> sendActionBar(player, message), duration);
}
}
diff --git a/src/main/java/pk/ajneb97/listeners/InventoryEditListener.java b/src/main/java/pk/ajneb97/listeners/InventoryEditListener.java
index ea5be53..87ae1af 100644
--- a/src/main/java/pk/ajneb97/listeners/InventoryEditListener.java
+++ b/src/main/java/pk/ajneb97/listeners/InventoryEditListener.java
@@ -1,5 +1,6 @@
package pk.ajneb97.listeners;
+import io.github.projectunified.minelib.scheduler.entity.EntityScheduler;
import org.bukkit.ChatColor;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
@@ -9,7 +10,6 @@
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.event.inventory.InventoryCloseEvent;
import org.bukkit.event.player.AsyncPlayerChatEvent;
-import org.bukkit.scheduler.BukkitRunnable;
import pk.ajneb97.PlayerKits2;
import pk.ajneb97.managers.edit.InventoryEditManager;
import pk.ajneb97.model.inventory.InventoryPlayer;
@@ -76,12 +76,9 @@ public void onChat(AsyncPlayerChatEvent event){
InventoryPlayer inventoryPlayer = invManager.getInventoryPlayer(player);
if(inventoryPlayer != null) {
event.setCancelled(true);
- new BukkitRunnable(){
- @Override
- public void run() {
- invManager.writeChat(inventoryPlayer, ChatColor.stripColor(event.getMessage()));
- }
- }.runTaskLater(plugin,1L);
+ EntityScheduler.get(plugin, player).run(
+ () -> invManager.writeChat(inventoryPlayer, ChatColor.stripColor(event.getMessage()))
+ );
}
}
}
diff --git a/src/main/java/pk/ajneb97/managers/InventoryManager.java b/src/main/java/pk/ajneb97/managers/InventoryManager.java
index 8932849..53b29bb 100644
--- a/src/main/java/pk/ajneb97/managers/InventoryManager.java
+++ b/src/main/java/pk/ajneb97/managers/InventoryManager.java
@@ -5,7 +5,6 @@
import net.kyori.adventure.text.minimessage.MiniMessage;
import org.bukkit.Bukkit;
import org.bukkit.Material;
-import org.bukkit.command.ConsoleCommandSender;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.event.inventory.ClickType;
diff --git a/src/main/java/pk/ajneb97/managers/KitsManager.java b/src/main/java/pk/ajneb97/managers/KitsManager.java
index 736ee41..0177f1b 100644
--- a/src/main/java/pk/ajneb97/managers/KitsManager.java
+++ b/src/main/java/pk/ajneb97/managers/KitsManager.java
@@ -397,10 +397,10 @@ public void executeAction(Player player,String actionText){
ActionUtils.message(player,actionLine);
break;
case "console_command":
- ActionUtils.consoleCommand(actionLine);
+ ActionUtils.consoleCommand(plugin, actionLine);
break;
case "player_command":
- ActionUtils.playerCommand(player,actionLine);
+ ActionUtils.playerCommand(plugin, player,actionLine);
break;
case "playsound":
ActionUtils.playSound(player,actionLine);
diff --git a/src/main/java/pk/ajneb97/managers/MigrationManager.java b/src/main/java/pk/ajneb97/managers/MigrationManager.java
index 001526b..ccb7a51 100644
--- a/src/main/java/pk/ajneb97/managers/MigrationManager.java
+++ b/src/main/java/pk/ajneb97/managers/MigrationManager.java
@@ -1,8 +1,8 @@
package pk.ajneb97.managers;
+import io.github.projectunified.minelib.scheduler.async.AsyncScheduler;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.file.YamlConfiguration;
-import org.bukkit.scheduler.BukkitRunnable;
import pk.ajneb97.PlayerKits2;
import pk.ajneb97.configs.KitsConfigManager;
import pk.ajneb97.configs.PlayersConfigManager;
@@ -23,15 +23,12 @@ public MigrationManager(PlayerKits2 plugin){
}
public void migrate(CommandSender sender){
- new BukkitRunnable(){
- @Override
- public void run() {
- migrateKits(sender);
- migratePlayers(sender);
+ AsyncScheduler.get(plugin).run(() -> {
+ migrateKits(sender);
+ migratePlayers(sender);
- sender.sendMessage(PlayerKits2.prefix+MessagesManager.getLegacyColoredMessage(" &aMigration completed."));
- }
- }.runTaskAsynchronously(plugin);
+ sender.sendMessage(PlayerKits2.prefix+MessagesManager.getLegacyColoredMessage(" &aMigration completed."));
+ });
}
public void migrateKits(CommandSender sender){
diff --git a/src/main/java/pk/ajneb97/managers/edit/InventoryEditPositionManager.java b/src/main/java/pk/ajneb97/managers/edit/InventoryEditPositionManager.java
index c990386..93e145b 100644
--- a/src/main/java/pk/ajneb97/managers/edit/InventoryEditPositionManager.java
+++ b/src/main/java/pk/ajneb97/managers/edit/InventoryEditPositionManager.java
@@ -1,5 +1,6 @@
package pk.ajneb97.managers.edit;
+import io.github.projectunified.minelib.scheduler.entity.EntityScheduler;
import net.kyori.adventure.text.minimessage.MiniMessage;
import org.bukkit.Bukkit;
import org.bukkit.Material;
@@ -8,7 +9,6 @@
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
-import org.bukkit.scheduler.BukkitRunnable;
import pk.ajneb97.PlayerKits2;
import pk.ajneb97.configs.MainConfigManager;
import pk.ajneb97.managers.*;
@@ -153,13 +153,12 @@ public void clickInventory(InventoryPlayer inventoryPlayer, ItemStack item, int
public void closeInventory(InventoryPlayer inventoryPlayer){
boolean mustReturn = Boolean.parseBoolean(inventoryPlayer.getInventoryName().split(";")[2]);
if(mustReturn){
- new BukkitRunnable(){
- @Override
- public void run() {
- inventoryPlayer.restoreSavedInventoryContents();
- inventoryEditManager.openInventory(inventoryPlayer);
- }
- }.runTaskLater(plugin,1L);
+ EntityScheduler.get(plugin, inventoryPlayer.getPlayer()).run(
+ () -> {
+ inventoryPlayer.restoreSavedInventoryContents();
+ inventoryEditManager.openInventory(inventoryPlayer);
+ }
+ );
}
}
}
diff --git a/src/main/java/pk/ajneb97/tasks/InventoryUpdateTaskManager.java b/src/main/java/pk/ajneb97/tasks/InventoryUpdateTaskManager.java
index 53be133..ed56524 100644
--- a/src/main/java/pk/ajneb97/tasks/InventoryUpdateTaskManager.java
+++ b/src/main/java/pk/ajneb97/tasks/InventoryUpdateTaskManager.java
@@ -1,9 +1,9 @@
package pk.ajneb97.tasks;
+import io.github.projectunified.minelib.scheduler.global.GlobalScheduler;
import org.bukkit.Material;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
-import org.bukkit.scheduler.BukkitRunnable;
import pk.ajneb97.PlayerKits2;
import pk.ajneb97.managers.*;
import pk.ajneb97.model.inventory.InventoryPlayer;
@@ -20,12 +20,7 @@ public InventoryUpdateTaskManager(PlayerKits2 plugin){
}
public void start(){
- new BukkitRunnable(){
- @Override
- public void run() {
- execute();
- }
- }.runTaskTimer(plugin,0L,20L);
+ GlobalScheduler.get(plugin).runTimer(this::execute, 0L, 20L);
}
public void execute(){
diff --git a/src/main/java/pk/ajneb97/tasks/PlayerDataSaveTask.java b/src/main/java/pk/ajneb97/tasks/PlayerDataSaveTask.java
index e573487..5bf8217 100644
--- a/src/main/java/pk/ajneb97/tasks/PlayerDataSaveTask.java
+++ b/src/main/java/pk/ajneb97/tasks/PlayerDataSaveTask.java
@@ -1,6 +1,6 @@
package pk.ajneb97.tasks;
-import org.bukkit.scheduler.BukkitRunnable;
+import io.github.projectunified.minelib.scheduler.async.AsyncScheduler;
import pk.ajneb97.PlayerKits2;
public class PlayerDataSaveTask {
@@ -16,20 +16,16 @@ 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();
- }
+ public void start(int minutes) {
+ long ticks = minutes*60*20;
+ AsyncScheduler.get(plugin).runTimer(() -> {
+ if(end) {
+ return false;
+ }else {
+ execute();
+ return true;
}
-
- }.runTaskTimerAsynchronously(plugin, 0L, ticks);
+ }, 0L, ticks);
}
public void execute() {
diff --git a/src/main/java/pk/ajneb97/utils/ActionUtils.java b/src/main/java/pk/ajneb97/utils/ActionUtils.java
index 790c88a..1cb4266 100644
--- a/src/main/java/pk/ajneb97/utils/ActionUtils.java
+++ b/src/main/java/pk/ajneb97/utils/ActionUtils.java
@@ -13,6 +13,7 @@
import pk.ajneb97.libs.actionbar.ActionBarAPI;
import pk.ajneb97.libs.titles.TitleAPI;
import pk.ajneb97.managers.MessagesManager;
+import io.github.projectunified.minelib.scheduler.global.GlobalScheduler;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
@@ -28,13 +29,15 @@ public static void message(Player player,String actionLine) {
}
}
- public static void consoleCommand(String actionLine){
- ConsoleCommandSender sender = Bukkit.getConsoleSender();
- Bukkit.dispatchCommand(sender, actionLine);
+ public static void consoleCommand(PlayerKits2 plugin, String actionLine){
+ GlobalScheduler.get(plugin).run(() -> {
+ ConsoleCommandSender sender = Bukkit.getConsoleSender();
+ Bukkit.dispatchCommand(sender, actionLine);
+ });
}
- public static void playerCommand(Player player, String actionLine){
- player.performCommand(actionLine);
+ public static void playerCommand(PlayerKits2 plugin, Player player, String actionLine){
+ GlobalScheduler.get(plugin).run(() -> player.performCommand(actionLine));
}
public static void playSound(Player player,String actionLine){
diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml
index 2c0f8c8..c17b8b5 100644
--- a/src/main/resources/plugin.yml
+++ b/src/main/resources/plugin.yml
@@ -4,6 +4,7 @@ name: PlayerKits2
api-version: 1.13
softdepend: [Vault,PlaceholderAPI]
author: Ajneb97
+folia-supported: true
commands:
kit: