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 eee19a1..0d8833e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -21,7 +21,7 @@
placeholderapi
- https://repo.extendedclip.com/content/repositories/placeholderapi/
+ https://repo.extendedclip.com/releases/
jitpack.io
@@ -43,7 +43,7 @@
me.clip
placeholderapi
- 2.11.1
+ 2.11.6
provided
@@ -64,6 +64,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
+
@@ -89,7 +109,7 @@
org.apache.maven.plugins
maven-shade-plugin
- 3.2.4
+ 3.5.2
@@ -107,6 +127,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 304d0c3..4487197 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 850e10b..654e8d4 100644
--- a/src/main/java/pk/ajneb97/libs/actionbar/ActionBarAPI.java
+++ b/src/main/java/pk/ajneb97/libs/actionbar/ActionBarAPI.java
@@ -1,10 +1,10 @@
package pk.ajneb97.libs.actionbar;
+import io.github.projectunified.minelib.scheduler.entity.EntityScheduler;
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.managers.MessagesManager;
import pk.ajneb97.utils.OtherUtils;
@@ -80,23 +80,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 190734b..a337972 100644
--- a/src/main/java/pk/ajneb97/managers/InventoryManager.java
+++ b/src/main/java/pk/ajneb97/managers/InventoryManager.java
@@ -2,7 +2,6 @@
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;
@@ -285,14 +284,14 @@ public void clickOnOpenInventoryItem(InventoryPlayer inventoryPlayer,String open
public void clickOnCommandItem(InventoryPlayer inventoryPlayer,String itemCommands){
String[] sep = itemCommands.split("\\|");
- ConsoleCommandSender sender = Bukkit.getConsoleSender();
for(String c : sep) {
if(c.startsWith("msg %player% ")) {
inventoryPlayer.getPlayer().sendMessage(MessagesManager.getColoredMessage(c.replace("msg %player% ", "")));
}else if(c.equals("close_inventory")){
inventoryPlayer.getPlayer().closeInventory();
}else{
- Bukkit.dispatchCommand(sender, c.replace("%player%", inventoryPlayer.getPlayer().getName()));
+ String command = c.replace("%player%", inventoryPlayer.getPlayer().getName());
+ ActionUtils.consoleCommand(plugin, command);
}
}
}
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 5c75479..316409d 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.getColoredMessage(" &aMigration completed."));
- }
- }.runTaskAsynchronously(plugin);
+ sender.sendMessage(PlayerKits2.prefix+MessagesManager.getColoredMessage(" &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 c19928e..a5ea88e 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 org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.event.inventory.ClickType;
@@ -7,7 +8,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.managers.*;
import pk.ajneb97.model.Kit;
@@ -146,13 +146,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 a1eacea..359af6a 100644
--- a/src/main/java/pk/ajneb97/utils/ActionUtils.java
+++ b/src/main/java/pk/ajneb97/utils/ActionUtils.java
@@ -11,6 +11,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;
@@ -22,13 +23,15 @@ public static void message(Player player,String actionLine) {
player.sendMessage(MessagesManager.getColoredMessage(actionLine));
}
- public static void consoleCommand(String actionLine){
- ConsoleCommandSender sender = Bukkit.getConsoleSender();
- Bukkit.dispatchCommand(sender, actionLine);
+ 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: