diff --git a/pom.xml b/pom.xml
index a65c14ed7..5a7359abc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -11,7 +11,7 @@
UTF-8
chancesd
https://sonarcloud.io
- 3.18.18
+ 4.0-SNAPSHOT
@@ -27,7 +27,6 @@
pvpmanager
- pvpmanager-folia
@@ -51,10 +50,6 @@
true
true
true
-
- com.massivecraft:FactionsUUID
- com.massivecraft:MassiveCore
-
post-clean
@@ -75,9 +70,8 @@
maven-compiler-plugin
3.13.0
-
- 1.8
- true
+
+ 17
true
true
diff --git a/pvpmanager-folia/pom.xml b/pvpmanager-folia/pom.xml
deleted file mode 100644
index 0d0f383ae..000000000
--- a/pvpmanager-folia/pom.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
- 4.0.0
-
- me.chancesd.pvpmanager
- pvpmanager-parent
- ${revision}
-
-
- pvpmanager-folia
-
-
- UTF-8
-
-
-
-
-
- papermc
- https://repo.papermc.io/repository/maven-public/
-
-
-
-
-
-
- dev.folia
- folia-api
- 1.20.4-R0.1-SNAPSHOT
- provided
-
-
-
-
diff --git a/pvpmanager-folia/src/main/java/me/chancesd/pvpmanager/utils/FoliaProvider.java b/pvpmanager-folia/src/main/java/me/chancesd/pvpmanager/utils/FoliaProvider.java
deleted file mode 100644
index d1bc27ab1..000000000
--- a/pvpmanager-folia/src/main/java/me/chancesd/pvpmanager/utils/FoliaProvider.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package me.chancesd.pvpmanager.utils;
-
-import java.util.concurrent.CompletableFuture;
-import java.util.concurrent.TimeUnit;
-
-import org.bukkit.Bukkit;
-import org.bukkit.Location;
-import org.bukkit.entity.Entity;
-import org.bukkit.entity.Player;
-import org.bukkit.plugin.java.JavaPlugin;
-import org.jetbrains.annotations.NotNull;
-
-public class FoliaProvider implements SchedulerProvider {
-
- @NotNull
- private final JavaPlugin plugin;
-
- public FoliaProvider(@NotNull final JavaPlugin plugin) {
- this.plugin = plugin;
- }
-
- @Override
- public void runPlatformAsync(final Runnable task) {
- Bukkit.getAsyncScheduler().runNow(plugin, scheduledTask -> task.run());
- }
-
- @Override
- public void runPlatformAsyncTimer(final Runnable task, final long delay, final long period) {
- Bukkit.getAsyncScheduler().runAtFixedRate(plugin, scheduledTask -> task.run(), delay / 20, period / 20, TimeUnit.SECONDS);
- }
-
- @Override
- public void runTask(final Runnable task) {
- Bukkit.getGlobalRegionScheduler().execute(plugin, task);
- }
-
- @Override
- public void runTask(final Runnable task, final Entity entity) {
- entity.getScheduler().run(plugin, scheduledTask -> task.run(), task);
- }
-
- @Override
- public void runTaskLater(final Runnable task, final Entity entity, final long delay) {
- entity.getScheduler().runDelayed(plugin, scheduledTask -> task.run(), task, delay);
- }
-
- @Override
- public void runTaskTimer(final Runnable task, final long delay, final long period) {
- Bukkit.getGlobalRegionScheduler().runAtFixedRate(plugin, scheduledTask -> task.run(), delay, period);
- }
-
- @Override
- public void executeConsoleCommand(final String command) {
- Bukkit.getGlobalRegionScheduler().execute(plugin, () -> Bukkit.dispatchCommand(Bukkit.getConsoleSender(), command));
- }
-
- @Override
- public void executePlayerCommand(final Player player, final String command) {
- player.performCommand(command);
- }
-
- @Override
- public boolean isPrimaryThread() {
- return Bukkit.isGlobalTickThread();
- }
-
- @Override
- public CompletableFuture teleport(final Player player, final Location loc) {
- return player.teleportAsync(loc);
- }
-
- @Override
- public void cancelAllTasks() {
- Bukkit.getAsyncScheduler().cancelTasks(plugin);
- Bukkit.getGlobalRegionScheduler().cancelTasks(plugin);
- }
-
-}
diff --git a/pvpmanager-folia/src/main/java/me/chancesd/pvpmanager/utils/SchedulerProvider.java b/pvpmanager-folia/src/main/java/me/chancesd/pvpmanager/utils/SchedulerProvider.java
deleted file mode 100644
index 39293b397..000000000
--- a/pvpmanager-folia/src/main/java/me/chancesd/pvpmanager/utils/SchedulerProvider.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package me.chancesd.pvpmanager.utils;
-
-import java.util.concurrent.CompletableFuture;
-
-import org.bukkit.Location;
-import org.bukkit.entity.Entity;
-import org.bukkit.entity.Player;
-import org.jetbrains.annotations.NotNull;
-
-public interface SchedulerProvider {
-
- public void runPlatformAsync(final Runnable task);
-
- public void runPlatformAsyncTimer(final Runnable task, final long delay, final long period);
-
- public void runTask(final Runnable task);
-
- public void runTask(final Runnable task, final Entity entity);
-
- public void runTaskLater(final Runnable task, final Entity entity, final long delay);
-
- public void runTaskTimer(final Runnable task, final long delay, final long period);
-
- public void executeConsoleCommand(final String command);
-
- public void executePlayerCommand(final Player player, final String command);
-
- public boolean isPrimaryThread();
-
- public CompletableFuture teleport(Player player, @NotNull Location loc);
-
- public void cancelAllTasks();
-
-}
diff --git a/pvpmanager/pom.xml b/pvpmanager/pom.xml
index 1151a097d..489d49518 100644
--- a/pvpmanager/pom.xml
+++ b/pvpmanager/pom.xml
@@ -8,7 +8,6 @@
${revision}
- me.NoChance.PvPManager
pvpmanager
jar
@@ -59,6 +58,12 @@
https://repo.md-5.net/content/groups/public/
+
+
+ krypton
+ https://repo.kryptonmc.org/releases
+
+
codemc-repo
https://repo.codemc.org/repository/maven-public
@@ -121,6 +126,19 @@
provided
+
+ io.papermc.paper
+ paper-api
+ 1.21-R0.1-SNAPSHOT
+ provided
+
+
+ *
+ *
+
+
+
+
net.sacredlabyrinth.phaed.simpleclans
@@ -202,6 +220,14 @@
+
+
+ me.neznamy
+ tab-api
+ 4.0.2
+ provided
+
+
com.github.TownyAdvanced
@@ -232,24 +258,13 @@
provided
-
-
- com.zaxxer
- HikariCP
- 4.0.3
- provided
-
-
- org.xerial
- sqlite-jdbc
- 3.46.0.0
- test
-
+
- org.apache.logging.log4j
- log4j-core
- 2.23.1
+ com.github.TechFortress
+ GriefPrevention
+ 16.14.0
provided
+ true
@@ -271,17 +286,30 @@
5.12.0
test
-
-
- me.chancesd.pvpmanager
- pvpmanager-folia
- ${revision}
+ com.zaxxer
+ HikariCP
+ 5.1.0
+ test
+
+ org.xerial
+ sqlite-jdbc
+ 3.45.3.0
+ test
+
+
+ org.apache.logging.log4j
+ log4j-core
+ 2.23.1
+ test
+
+
+
me.chancesd.sdutils
sdutils
- 1.2-SNAPSHOT
+ 1.3-SNAPSHOT
\ No newline at end of file
diff --git a/pvpmanager/src/main/java/me/NoChance/PvPManager/Commands/PvPOverride.java b/pvpmanager/src/main/java/me/NoChance/PvPManager/Commands/PvPOverride.java
deleted file mode 100644
index d61023118..000000000
--- a/pvpmanager/src/main/java/me/NoChance/PvPManager/Commands/PvPOverride.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package me.NoChance.PvPManager.Commands;
-
-import org.bukkit.ChatColor;
-import org.bukkit.command.Command;
-import org.bukkit.command.CommandExecutor;
-import org.bukkit.command.CommandSender;
-import org.bukkit.entity.Player;
-
-import me.NoChance.PvPManager.PvPlayer;
-import me.NoChance.PvPManager.Managers.PlayerHandler;
-import me.NoChance.PvPManager.Settings.Messages;
-
-public class PvPOverride implements CommandExecutor {
-
- private final PlayerHandler ph;
-
- public PvPOverride(final PlayerHandler ph) {
- this.ph = ph;
- }
-
- @Override
- public final boolean onCommand(final CommandSender sender, final Command cmd, final String label, final String[] args) {
- if (sender instanceof Player) {
- final PvPlayer pvPlayer = ph.get((Player) sender);
- final boolean override = pvPlayer.toggleOverride();
- pvPlayer.message(Messages.PREFIXMSG + ChatColor.DARK_GREEN + "PvP Override set to: " + ChatColor.GOLD + override);
- }
- return true;
- }
-
-}
diff --git a/pvpmanager/src/main/java/me/NoChance/PvPManager/Commands/PvPStatus.java b/pvpmanager/src/main/java/me/NoChance/PvPManager/Commands/PvPStatus.java
deleted file mode 100644
index f3faf48d9..000000000
--- a/pvpmanager/src/main/java/me/NoChance/PvPManager/Commands/PvPStatus.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package me.NoChance.PvPManager.Commands;
-
-import org.bukkit.Bukkit;
-import org.bukkit.command.Command;
-import org.bukkit.command.CommandExecutor;
-import org.bukkit.command.CommandSender;
-import org.bukkit.entity.Player;
-
-import me.NoChance.PvPManager.PvPlayer;
-import me.NoChance.PvPManager.Managers.PlayerHandler;
-import me.NoChance.PvPManager.Settings.Messages;
-import me.NoChance.PvPManager.Utils.CombatUtils;
-
-public class PvPStatus implements CommandExecutor {
-
- private final PlayerHandler ph;
-
- public PvPStatus(final PlayerHandler ph) {
- this.ph = ph;
- }
-
- @Override
- public final boolean onCommand(final CommandSender sender, final Command cmd, final String label, final String[] args) {
- PvPlayer target;
- if (args.length == 0 && sender instanceof Player) {
- final Player player = (Player) sender;
- final PvPlayer pvpPlayer = ph.get(player);
- if (!pvpPlayer.hasPvPEnabled()) {
- pvpPlayer.message(Messages.getSelfStatusDisabled());
- return true;
- }
- pvpPlayer.message(Messages.getSelfStatusEnabled());
- return true;
- } else if (args.length == 1 && sender.hasPermission("pvpmanager.pvpstatus.others")) {
- if (CombatUtils.isOnline(args[0])) {
- target = ph.get(Bukkit.getPlayer(args[0]));
- if (!target.hasPvPEnabled()) {
- sender.sendMessage(Messages.getOthersStatusDisabled().replace("%p", args[0]));
- return true;
- }
- sender.sendMessage(Messages.getOtherStatusEnabled().replace("%p", args[0]));
- return true;
- }
- sender.sendMessage(Messages.getErrorPlayerNotFound().replace("%p", args[0]));
- return true;
- }
- return false;
- }
-
-}
diff --git a/pvpmanager/src/main/java/me/NoChance/PvPManager/Dependencies/ForceToggleDependency.java b/pvpmanager/src/main/java/me/NoChance/PvPManager/Dependencies/ForceToggleDependency.java
deleted file mode 100644
index ae8caae76..000000000
--- a/pvpmanager/src/main/java/me/NoChance/PvPManager/Dependencies/ForceToggleDependency.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package me.NoChance.PvPManager.Dependencies;
-
-import org.bukkit.entity.Player;
-
-import me.NoChance.PvPManager.Player.CancelResult;
-
-public interface ForceToggleDependency extends Dependency {
-
- public boolean shouldDisable(Player player);
-
- public boolean shouldDisable(Player attacker, Player defender, CancelResult reason);
-
- public default boolean shouldDisableProtection() {
- return getConfigBoolean("No Protection In War", true);
- }
-
-}
diff --git a/pvpmanager/src/main/java/me/NoChance/PvPManager/Dependencies/Hooks/KingdomsXHook.java b/pvpmanager/src/main/java/me/NoChance/PvPManager/Dependencies/Hooks/KingdomsXHook.java
deleted file mode 100644
index 0e04837d8..000000000
--- a/pvpmanager/src/main/java/me/NoChance/PvPManager/Dependencies/Hooks/KingdomsXHook.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package me.NoChance.PvPManager.Dependencies.Hooks;
-
-import org.bukkit.entity.Player;
-import org.kingdoms.constants.player.KingdomPlayer;
-import org.kingdoms.main.Kingdoms;
-
-import me.NoChance.PvPManager.Dependencies.BaseDependency;
-import me.NoChance.PvPManager.Dependencies.ForceToggleDependency;
-import me.NoChance.PvPManager.Dependencies.Hook;
-import me.NoChance.PvPManager.Player.CancelResult;
-import me.chancesd.sdutils.utils.Log;
-
-public class KingdomsXHook extends BaseDependency implements ForceToggleDependency {
-
- public KingdomsXHook(final Hook hook) {
- super(hook);
- Log.debug(Kingdoms.get().toString());
- }
-
- @Override
- public boolean shouldDisable(final Player player) {
- final KingdomPlayer kingdomPlayer = KingdomPlayer.getKingdomPlayer(player);
- return kingdomPlayer.isInvading(); // hopefully this also returns true if they're being invaded
- }
-
- @Override
- public boolean shouldDisable(final Player attacker, final Player defender, final CancelResult reason) {
- return shouldDisable(attacker) && shouldDisable(defender);
- }
-
-}
diff --git a/pvpmanager/src/main/java/me/NoChance/PvPManager/Libraries/Metrics/CustomMetrics.java b/pvpmanager/src/main/java/me/NoChance/PvPManager/Libraries/Metrics/CustomMetrics.java
deleted file mode 100644
index be0b06ee1..000000000
--- a/pvpmanager/src/main/java/me/NoChance/PvPManager/Libraries/Metrics/CustomMetrics.java
+++ /dev/null
@@ -1,155 +0,0 @@
-package me.NoChance.PvPManager.Libraries.Metrics;
-
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.concurrent.Callable;
-
-import org.bukkit.Bukkit;
-
-import me.NoChance.PvPManager.PvPManager;
-import me.NoChance.PvPManager.Dependencies.Dependency;
-import me.NoChance.PvPManager.Dependencies.Hook;
-import me.NoChance.PvPManager.Settings.Settings;
-import me.chancesd.sdutils.metrics.Metrics;
-
-public class CustomMetrics {
-
- public CustomMetrics(final PvPManager plugin) {
- if (Settings.isReloading())
- return;
- initMetrics(plugin);
- }
-
- private void initMetrics(final PvPManager plugin) {
-
- final Metrics metrics = new Metrics(plugin, 5653, Settings.isOptOutMetrics());
-
- metrics.addCustomChart(new Metrics.SimplePie("time_in_combat", new Callable() {
- @Override
- public String call() {
- return Settings.isInCombatEnabled() ? Settings.getTimeInCombat() + " seconds" : "Disabled";
- }
- }));
-
- metrics.addCustomChart(new Metrics.DrilldownPie("features", new Callable