From 3bdb0ce536424023a66bd543c79aea0531e6e5f4 Mon Sep 17 00:00:00 2001 From: alexcrea <42614139+alexcrea@users.noreply.github.com> Date: Fri, 13 Sep 2024 14:06:39 +0200 Subject: [PATCH] Moved "isFolia" to main module to avoid error on java version under 1.21 Also moved folia scheduler to another nms module allowing support of folia 1.20.4 --- .../dependency/scheduler/FoliaScheduler.kt | 26 +++++-------------- .../cuanvil/dependency/DependencyManager.kt | 12 ++++++++- 2 files changed, 18 insertions(+), 20 deletions(-) rename nms/{v1_21R1 => v1_20R3}/src/main/kotlin/xyz/alexcrea/cuanvil/dependency/scheduler/FoliaScheduler.kt (56%) diff --git a/nms/v1_21R1/src/main/kotlin/xyz/alexcrea/cuanvil/dependency/scheduler/FoliaScheduler.kt b/nms/v1_20R3/src/main/kotlin/xyz/alexcrea/cuanvil/dependency/scheduler/FoliaScheduler.kt similarity index 56% rename from nms/v1_21R1/src/main/kotlin/xyz/alexcrea/cuanvil/dependency/scheduler/FoliaScheduler.kt rename to nms/v1_20R3/src/main/kotlin/xyz/alexcrea/cuanvil/dependency/scheduler/FoliaScheduler.kt index 3318b94..a9bd79f 100644 --- a/nms/v1_21R1/src/main/kotlin/xyz/alexcrea/cuanvil/dependency/scheduler/FoliaScheduler.kt +++ b/nms/v1_20R3/src/main/kotlin/xyz/alexcrea/cuanvil/dependency/scheduler/FoliaScheduler.kt @@ -10,13 +10,12 @@ class FoliaScheduler : TaskScheduler { override fun scheduleGlobally(plugin: Plugin, task: Runnable, time: Long): Any? { if(time < 1){ return Bukkit.getGlobalRegionScheduler().run( - plugin, - Consumer { scheduledTask: ScheduledTask? -> task.run() } - ) + plugin + ) { scheduledTask: ScheduledTask? -> task.run() } } return Bukkit.getGlobalRegionScheduler().runDelayed( plugin, - Consumer { scheduledTask: ScheduledTask? -> task.run() }, + { scheduledTask: ScheduledTask? -> task.run() }, time ) } @@ -26,27 +25,16 @@ class FoliaScheduler : TaskScheduler { if(time < 1){ return entity.scheduler.run( plugin, - Consumer { scheduledTask: ScheduledTask? -> task.run() }, - Runnable {} + { scheduledTask: ScheduledTask? -> task.run() }, + {} ) } return entity.scheduler.runDelayed( plugin, - Consumer { scheduledTask: ScheduledTask? -> task.run() }, - Runnable {}, + { scheduledTask: ScheduledTask? -> task.run() }, + {}, time ) } - - companion object { - fun isFolia(): Boolean { - try { - Class.forName("io.papermc.paper.threadedregions.RegionizedServer") - return true - } catch (e: ClassNotFoundException) { - return false - } - } - } } diff --git a/src/main/kotlin/xyz/alexcrea/cuanvil/dependency/DependencyManager.kt b/src/main/kotlin/xyz/alexcrea/cuanvil/dependency/DependencyManager.kt index 0a5246b..f122068 100644 --- a/src/main/kotlin/xyz/alexcrea/cuanvil/dependency/DependencyManager.kt +++ b/src/main/kotlin/xyz/alexcrea/cuanvil/dependency/DependencyManager.kt @@ -25,7 +25,7 @@ object DependencyManager { val pluginManager = Bukkit.getPluginManager() // Bukkit or Paper scheduler ? - isFolia = FoliaScheduler.isFolia() + isFolia = testIsFolia() scheduler = if(isFolia) { CustomAnvil.instance.logger.info("Folia detected... Custom Anvil Folia support is experimental. issues are more likely to happens.") @@ -92,4 +92,14 @@ object DependencyManager { return bypass } + + private fun testIsFolia(): Boolean { + try { + Class.forName("io.papermc.paper.threadedregions.RegionizedServer") + return true + } catch (e: ClassNotFoundException) { + return false + } + } + }