diff --git a/README.md b/README.md index a895e1f9..10091e9b 100644 --- a/README.md +++ b/README.md @@ -38,9 +38,12 @@ Please read CONTRIBUTING.md for important guidelines to follow. Submissions must be licensed under the GNU Lesser General Public License v3. # Folia Inquisitors +This Folia support is maintained by the following organizations and people: + [Folia-Inquisitors](https://github.com/orgs/Folia-Inquisitors/repositories) [TechnicallyCoded](https://github.com/TechnicallyCoded) [Yomamaeatstoes](https://github.com/Yomamaeatstoes) +[Loving11ish](https://github.com/Loving11ish) Links ----- diff --git a/gradle.properties b/gradle.properties index b5d88d32..2c13f50c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,2 +1,2 @@ group=com.sk89q.worldguard -version=7.1.0-SNAPSHOT-Custom-Folia +version=7.1.0-SNAPSHOT diff --git a/worldguard-bukkit/build.gradle.kts b/worldguard-bukkit/build.gradle.kts index c2ba9bc3..fd517be2 100644 --- a/worldguard-bukkit/build.gradle.kts +++ b/worldguard-bukkit/build.gradle.kts @@ -24,13 +24,13 @@ dependencies { "api"(project(":worldguard-core")) - "compileOnly"("io.papermc.paper:paper-api:1.20-R0.1-SNAPSHOT") - "runtimeOnly"("org.spigotmc:spigot-api:1.20-R0.1-SNAPSHOT") { + "compileOnly"("io.papermc.paper:paper-api:1.20.2-R0.1-SNAPSHOT") + "runtimeOnly"("org.spigotmc:spigot-api:1.20.2-R0.1-SNAPSHOT") { exclude("junit", "junit") } "api"("com.sk89q.worldedit:worldedit-bukkit:${Versions.WORLDEDIT}") { isTransitive = false } "implementation"("com.google.guava:guava:${Versions.GUAVA}") - "implementation"("com.tcoded:FoliaLib:0.2.3") + "implementation"("com.tcoded:FoliaLib:0.3.1") "compileOnly"("com.sk89q:commandbook:2.3") { isTransitive = false } "shadeOnly"("io.papermc:paperlib:1.0.8") "shadeOnly"("org.bstats:bstats-bukkit:3.0.1") diff --git a/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/BukkitRegionContainer.java b/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/BukkitRegionContainer.java index 0f5e6ed0..065fa0d9 100644 --- a/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/BukkitRegionContainer.java +++ b/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/BukkitRegionContainer.java @@ -96,7 +96,7 @@ public void onChunkUnload(ChunkUnloadEvent event) { }, plugin); int interval = CACHE_INVALIDATION_INTERVAL * 50; - plugin.foliaLib.getImpl().runTimerAsync(cache::invalidateAll, interval, interval, TimeUnit.MILLISECONDS); + plugin.getFoliaLib().getImpl().runTimerAsync(cache::invalidateAll, interval, interval, TimeUnit.MILLISECONDS); // Bukkit.getScheduler().scheduleSyncRepeatingTask(plugin, cache::invalidateAll, CACHE_INVALIDATION_INTERVAL, CACHE_INVALIDATION_INTERVAL); } diff --git a/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/WorldGuardPlugin.java b/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/WorldGuardPlugin.java index 9c44f62b..0741415a 100644 --- a/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/WorldGuardPlugin.java +++ b/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/WorldGuardPlugin.java @@ -114,7 +114,7 @@ public class WorldGuardPlugin extends JavaPlugin { private static final int BSTATS_PLUGIN_ID = 3283; - public FoliaLib foliaLib; + private FoliaLib foliaLib; /** * Construct objects. Actual loading occurs when the plugin is enabled, so @@ -174,7 +174,7 @@ public void onEnable() { } int runDelayMs = BukkitSessionManager.RUN_DELAY * 50; - foliaLib.getImpl().runTimer(sessionManager, runDelayMs, runDelayMs, TimeUnit.MILLISECONDS); + foliaLib.getImpl().runTimerAsync(sessionManager, runDelayMs, runDelayMs, TimeUnit.MILLISECONDS); // getServer().getScheduler().scheduleSyncRepeatingTask(this, sessionManager, BukkitSessionManager.RUN_DELAY, BukkitSessionManager.RUN_DELAY); // Register events @@ -216,25 +216,28 @@ public void onEnable() { } worldListener.registerEvents(); - if (foliaLib.isFolia()) { - for (Player player : Bukkit.getServer().getOnlinePlayers()) { - foliaLib.getImpl().runAtEntity(player, new Runnable() { - @Override - public void run() { - ProcessPlayerEvent event = new ProcessPlayerEvent(player); - Events.fire(event); - } - }); - } - } - else { - Bukkit.getScheduler().runTask(this, () -> { - for (Player player : Bukkit.getServer().getOnlinePlayers()) { - ProcessPlayerEvent event = new ProcessPlayerEvent(player); - Events.fire(event); - } + for (Player player : Bukkit.getServer().getOnlinePlayers()) { + foliaLib.getImpl().runAtEntity(player, (task) -> { + ProcessPlayerEvent event = new ProcessPlayerEvent(player); + Events.fire(event); }); } +// if (foliaLib.isFolia()) { +// for (Player player : Bukkit.getServer().getOnlinePlayers()) { +// foliaLib.getImpl().runAtEntity(player, (task) -> { +// ProcessPlayerEvent event = new ProcessPlayerEvent(player); +// Events.fire(event); +// }); +// } +// } +// else { +// Bukkit.getScheduler().runTask(this, () -> { +// for (Player player : Bukkit.getServer().getOnlinePlayers()) { +// ProcessPlayerEvent event = new ProcessPlayerEvent(player); +// Events.fire(event); +// } +// }); +// } ((SimpleFlagRegistry) WorldGuard.getInstance().getFlagRegistry()).setInitialized(true); ((SimpleDomainRegistry) WorldGuard.getInstance().getDomainRegistry()).setInitialized(true); @@ -290,7 +293,9 @@ private void setupCustomCharts(Metrics metrics) { @Override public void onDisable() { WorldGuard.getInstance().disable(); -// this.getServer().getScheduler().cancelTasks(this); + if (!foliaLib.isFolia()) { + this.getServer().getScheduler().cancelTasks(this); + } foliaLib.getImpl().cancelAllTasks(); } @@ -551,4 +556,7 @@ public PlayerMoveListener getPlayerMoveListener() { return playerMoveListener; } + public FoliaLib getFoliaLib() { + return foliaLib; + } } diff --git a/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/listener/EventAbstractionListener.java b/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/listener/EventAbstractionListener.java index 27e75bb7..d91baf1d 100644 --- a/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/listener/EventAbstractionListener.java +++ b/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/listener/EventAbstractionListener.java @@ -994,7 +994,7 @@ public void onInventoryMoveItem(InventoryMoveItemEvent event) { Hopper hopperCauseHolder = (Hopper) causeHolder; Location location = hopperCauseHolder.getLocation(); - getPlugin().foliaLib.getImpl().runAtLocationLater(location, () -> { + getPlugin().getFoliaLib().getImpl().runAtLocationLater(location, () -> { Block block = location.getBlock(); if (block.getType() == Material.HOPPER) { block.breakNaturally(); diff --git a/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/listener/PlayerMoveListener.java b/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/listener/PlayerMoveListener.java index 786666ad..5bc4c2fb 100644 --- a/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/listener/PlayerMoveListener.java +++ b/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/listener/PlayerMoveListener.java @@ -133,7 +133,7 @@ public void onPlayerMove(PlayerMoveEvent event) { player.teleport(override.clone().add(0, 1, 0)); - getPlugin().foliaLib.getImpl().runAtEntityLater(player, () -> { + getPlugin().getFoliaLib().getImpl().runAtEntityLater(player, () -> { player.teleport(override.clone().add(0, 1, 0)); }, 50, TimeUnit.MILLISECONDS); // Bukkit.getScheduler().runTaskLater(getPlugin(), () -> player.teleport(override.clone().add(0, 1, 0)), 1); diff --git a/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/session/BukkitSessionManager.java b/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/session/BukkitSessionManager.java index 6d6ba51f..21168afc 100644 --- a/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/session/BukkitSessionManager.java +++ b/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/session/BukkitSessionManager.java @@ -72,10 +72,10 @@ public void run() { LocalPlayer localPlayer = WorldGuardPlugin.inst().wrapPlayer(player); Session session = get(localPlayer); - FoliaLib foliaLib = WorldGuardPlugin.inst().foliaLib; + FoliaLib foliaLib = WorldGuardPlugin.inst().getFoliaLib(); ServerImplementation impl = foliaLib.getImpl(); - if (foliaLib.isFolia()) impl.runAtEntity(player, () -> session.tick(localPlayer)); + if (foliaLib.isFolia()) impl.runAtEntity(player, (task) -> session.tick(localPlayer)); else session.tick(localPlayer); } } diff --git a/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/util/report/SchedulerReport.java b/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/util/report/SchedulerReport.java index 81da20ec..e2557786 100644 --- a/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/util/report/SchedulerReport.java +++ b/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/util/report/SchedulerReport.java @@ -25,6 +25,7 @@ import com.google.common.cache.LoadingCache; import com.sk89q.worldedit.util.report.DataReport; import com.sk89q.worldguard.bukkit.WorldGuardPlugin; +import com.tcoded.folialib.wrapper.task.WrappedTask; import org.bukkit.Bukkit; import org.bukkit.scheduler.BukkitTask; @@ -53,7 +54,7 @@ public Optional load(Class clazz) throws Exception { public SchedulerReport() { super("Scheduler"); - append("Error", "MODDED FOLIA VERSION - DO NOT REPORT TO WORLDGUARD"); + append("Error", "FOLIA VERSION - PLEASE REPORT TO WORLDGUARD"); // List tasks = Bukkit.getServer().getScheduler().getPendingTasks(); //// WorldGuardPlugin.inst().foliaLib.getImpl(). diff --git a/worldguard-bukkit/src/main/resources/plugin.yml b/worldguard-bukkit/src/main/resources/plugin.yml index 2c7bf9d3..cdee59d2 100644 --- a/worldguard-bukkit/src/main/resources/plugin.yml +++ b/worldguard-bukkit/src/main/resources/plugin.yml @@ -4,4 +4,4 @@ version: "${internalVersion}" depend: [WorldEdit] softdepend: [CommandBook] api-version: "1.20" -folia-supported: true \ No newline at end of file +folia-supported: true