Folia support

This commit is contained in:
anon8281 2023-06-26 03:07:55 +03:00 committed by ewof
parent c4a046ff24
commit 8e2165bb8a
5 changed files with 21 additions and 6 deletions

View File

@ -25,6 +25,7 @@ repositories {
dependencies {
implementation("org.bstats:bstats-bukkit:3.0.1")
implementation("net.kyori:adventure-platform-bukkit:4.3.1")
implementation("com.github.Anon8281:UniversalScheduler:0.1.3")
compileOnly("org.spigotmc:spigot-api:1.20-R0.1-SNAPSHOT")
compileOnlyApi("org.jetbrains:annotations:23.0.0")
@ -88,6 +89,7 @@ tasks {
relocate("org.bstats", "me.clip.placeholderapi.metrics")
relocate("net.kyori", "me.clip.placeholderapi.libs.kyori")
relocate("com.github.Anon8281.universalScheduler", "me.clip.placeholderapi.libs.universalScheduler")
}
test {

View File

@ -23,6 +23,9 @@ package me.clip.placeholderapi;
import java.text.SimpleDateFormat;
import java.util.HashMap;
import java.util.Map;
import com.github.Anon8281.universalScheduler.UniversalScheduler;
import com.github.Anon8281.universalScheduler.scheduling.schedulers.TaskScheduler;
import me.clip.placeholderapi.commands.PlaceholderCommandRouter;
import me.clip.placeholderapi.configuration.PlaceholderAPIConfig;
import me.clip.placeholderapi.expansion.PlaceholderExpansion;
@ -52,6 +55,7 @@ public final class PlaceholderAPIPlugin extends JavaPlugin {
@NotNull
private static final Version VERSION;
private static TaskScheduler SCHEDULER;
private static PlaceholderAPIPlugin instance;
static {
@ -140,6 +144,8 @@ public final class PlaceholderAPIPlugin extends JavaPlugin {
@Override
public void onEnable() {
SCHEDULER = UniversalScheduler.getScheduler(this);
setupCommand();
setupMetrics();
setupExpansions();
@ -162,7 +168,7 @@ public final class PlaceholderAPIPlugin extends JavaPlugin {
HandlerList.unregisterAll(this);
Bukkit.getScheduler().cancelTasks(this);
PlaceholderAPIPlugin.getScheduler().cancelTasks(this);
adventure.close();
adventure = null;
@ -213,6 +219,10 @@ public final class PlaceholderAPIPlugin extends JavaPlugin {
return config;
}
public static TaskScheduler getScheduler() {
return SCHEDULER;
}
private void setupCommand() {
final PluginCommand pluginCommand = getCommand("placeholderapi");
if (pluginCommand == null) {
@ -250,8 +260,8 @@ public final class PlaceholderAPIPlugin extends JavaPlugin {
Class.forName("org.bukkit.event.server.ServerLoadEvent");
new ServerLoadEventListener(this);
} catch (final ClassNotFoundException ignored) {
Bukkit.getScheduler()
.runTaskLater(this, () -> getLocalExpansionManager().load(Bukkit.getConsoleSender()), 1);
PlaceholderAPIPlugin.getScheduler()
.runTaskLater(() -> getLocalExpansionManager().load(Bukkit.getConsoleSender()), 1);
}
}

View File

@ -55,7 +55,7 @@ public class UpdateChecker implements Listener {
}
public void fetch() {
Bukkit.getScheduler().runTaskAsynchronously(plugin, () -> {
PlaceholderAPIPlugin.getScheduler().runTaskAsynchronously(() -> {
try {
HttpsURLConnection con = (HttpsURLConnection) new URL(
"https://api.spigotmc.org/legacy/update.php?resource=" + RESOURCE_ID).openConnection();
@ -76,7 +76,7 @@ public class UpdateChecker implements Listener {
return;
}
Bukkit.getScheduler().runTask(plugin, () -> {
PlaceholderAPIPlugin.getScheduler().runTask(() -> {
plugin.getLogger()
.info("An update for PlaceholderAPI (v" + getSpigotVersion() + ") is available at:");
plugin.getLogger()

View File

@ -27,6 +27,8 @@ import java.util.function.BiConsumer;
import java.util.stream.Collector;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import me.clip.placeholderapi.PlaceholderAPIPlugin;
import org.bukkit.Bukkit;
import org.bukkit.plugin.Plugin;
import org.jetbrains.annotations.NotNull;
@ -43,7 +45,7 @@ public final class Futures {
if (Bukkit.isPrimaryThread()) {
consumer.accept(value, exception);
} else {
Bukkit.getScheduler().runTask(plugin, () -> consumer.accept(value, exception));
PlaceholderAPIPlugin.getScheduler().runTask(() -> consumer.accept(value, exception));
}
});
}

View File

@ -6,6 +6,7 @@ author: HelpChat
api-version: "1.13"
description: "An awesome placeholder provider!"
folia-supported: true
commands:
placeholderapi: