diff --git a/.github/workflows/build-without-pwt.yml b/.github/workflows/build-without-pwt.yml index dc73bd2..b7d66f9 100644 --- a/.github/workflows/build-without-pwt.yml +++ b/.github/workflows/build-without-pwt.yml @@ -27,7 +27,7 @@ jobs: - name: Grant execute permission for gradlew run: chmod +x gradlew - name: Delete Parallel world ticking patch - run: rm patches/server/*-Parallel-world-ticking.patch + run: rm patches/server/*-Parallel-world-ticking.patch patches/api/*-Parallel-world-ticking.patch - name: Apply Patches run: ./gradlew -PsparklypaperImplementationVersionSuffix=without-pwt applyPatches - name: Build diff --git a/patches/api/0001-Parallel-world-ticking.patch b/patches/api/0001-Parallel-world-ticking.patch new file mode 100644 index 0000000..37e1929 --- /dev/null +++ b/patches/api/0001-Parallel-world-ticking.patch @@ -0,0 +1,66 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: MrPowerGamerBR +Date: Thu, 23 Nov 2023 12:08:39 -0300 +Subject: [PATCH] Parallel world ticking + + +diff --git a/src/main/java/co/aikar/timings/Timings.java b/src/main/java/co/aikar/timings/Timings.java +index 9812d668ad945aba486fbf6d5bf83c4292cb5d03..c82b9188c79a0671ca9d09d7cd31e63d5a378e9b 100644 +--- a/src/main/java/co/aikar/timings/Timings.java ++++ b/src/main/java/co/aikar/timings/Timings.java +@@ -55,6 +55,7 @@ public final class Timings { + private static int historyInterval = -1; + private static int historyLength = -1; + private static boolean warnedAboutDeprecationOnEnable; ++ private static boolean warnedAboutParallelWorldTickingOnEnable; // SparklyPaper - parallel world ticking + + private Timings() {} + +@@ -145,6 +146,12 @@ public final class Timings { + * @param enabled Should timings be reported + */ + public static void setTimingsEnabled(boolean enabled) { ++ // SparklyPaper - parallel world ticking ++ if (enabled) { ++ warnAboutParallelWorldTickingOnEnable(); ++ return; ++ } ++ // SparklyPaper end + timingsEnabled = enabled; + warnAboutDeprecationOnEnable(); + reset(); +@@ -180,6 +187,34 @@ public final class Timings { + .build(); + } + ++ // SparklyPaper start - parallel world ticking ++ private static void warnAboutParallelWorldTickingOnEnable() { ++ if (!warnedAboutParallelWorldTickingOnEnable) { ++ Bukkit.getLogger().warning(PlainTextComponentSerializer.plainText().serialize(parallelWorldTickingMessage())); ++ warnedAboutParallelWorldTickingOnEnable = true; ++ } ++ } ++ ++ public static Component parallelWorldTickingMessage() { ++ return Component.text() ++ .color(TextColor.color(0xf3ef91)) ++ .append(Component.text("[!] The timings profiler attempted to be enabled, but was disabled because timings is not compatible with " + Bukkit.getName() + "'s Parallel World Ticking feature.")) ++ .append(Component.newline()) ++ .append( ++ Component.text(" We recommend installing the spark profiler as a replacement: ") ++ .append( ++ Component.text() ++ .content("https://spark.lucko.me/") ++ .clickEvent(ClickEvent.openUrl("https://spark.lucko.me/"))) ++ ) ++ .append(Component.newline()) ++ .append( ++ Component.text(" Or, if you really need timings, get a build without the Parallel World Ticking feature") ++ ) ++ .build(); ++ } ++ // SparklyPaper end ++ + /** + *

Sets whether or not the Timings should monitor at Verbose level.

+ *