From 2fed8574bdac0b8151edddb2c6aab5e95ef9870e Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Thu, 28 Nov 2024 02:54:56 -0500 Subject: [PATCH] Updated Upstream (Paper) --- gradle.properties | 2 +- ...Hide-irrelevant-compilation-warnings.patch | 6 +- patches/api/0002-Gale-branding-changes.patch | 4 +- patches/api/0005-SIMD-support.patch | 6 +- ...0006-Vectorized-map-color-conversion.patch | 6 +- patches/api/0011-Last-tick-time-API.patch | 13 +- patches/server/0001-Gale-project-setup.patch | 10 +- ...Hide-irrelevant-compilation-warnings.patch | 4 +- ...review-features-for-development-runs.patch | 4 +- .../server/0005-Gale-branding-changes.patch | 8 +- patches/server/0006-Gale-metrics.patch | 4 +- patches/server/0008-Gale-configuration.patch | 44 +++--- .../server/0011-Remove-vanilla-profiler.patch | 143 +++++++++--------- ...apelessRecipe-comparison-for-vanilla.patch | 11 +- .../server/0017-Move-random-tick-random.patch | 10 +- ...timize-random-calls-in-chunk-ticking.patch | 14 +- ...e-for-plugins-not-shutting-down-task.patch | 4 +- .../0024-Cache-on-climbable-check.patch | 6 +- .../0028-Reduce-entity-allocations.patch | 4 +- ...029-Remove-lambda-from-ticking-guard.patch | 6 +- patches/server/0030-SIMD-support.patch | 6 +- .../0032-Optimize-entity-coordinate-key.patch | 4 +- ...cow-rotation-when-shearing-mooshroom.patch | 6 +- .../0063-Reduce-array-allocations.patch | 6 +- .../server/0064-Optimize-sun-burn-tick.patch | 6 +- ...Skip-entity-move-if-movement-is-zero.patch | 8 +- ...mes-on-entities-with-fire-resistance.patch | 4 +- ...block-destruction-packet-allocations.patch | 6 +- ...ination-chunk-before-entity-teleport.patch | 4 +- ...chunks-to-activate-climbing-entities.patch | 8 +- ...nnecessary-mob-spawning-computations.patch | 8 +- .../0101-CraftBukkit-UUID-to-world-map.patch | 8 +- .../0103-Specific-interval-TPS-API.patch | 4 +- .../server/0104-5-second-TPS-average.patch | 10 +- .../server/0105-Measure-last-tick-time.patch | 10 +- patches/server/0106-Last-tick-time-API.patch | 9 +- ...heck-has-physics-before-same-vehicle.patch | 4 +- ...gible-planar-movement-multiplication.patch | 4 +- .../server/0115-Add-xor-shift-random.patch | 6 +- ...thread-priority-environment-variable.patch | 4 +- todos.txt | 1 - 41 files changed, 216 insertions(+), 219 deletions(-) diff --git a/gradle.properties b/gradle.properties index 1157e29..bf1bb9e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ group=org.galemc.gale version=1.21.3-R0.1-SNAPSHOT mcVersion=1.21.3 -paperRef=6483ecb8a2b22ecc53cd2c7f48b7d9d22a687b3e +paperRef=d38624bdd8757f167552a278e6a355289aec7c48 org.gradle.caching=false org.gradle.parallel=true diff --git a/patches/api/0001-Hide-irrelevant-compilation-warnings.patch b/patches/api/0001-Hide-irrelevant-compilation-warnings.patch index 465fd59..f714f44 100644 --- a/patches/api/0001-Hide-irrelevant-compilation-warnings.patch +++ b/patches/api/0001-Hide-irrelevant-compilation-warnings.patch @@ -7,10 +7,10 @@ License: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) Gale - https://galemc.org diff --git a/build.gradle.kts b/build.gradle.kts -index 254fd96d3950b4494c7e43547b00b5175ee53c93..855a5eb171ce94444de1313eafacf3558c4cf728 100644 +index e29e5024fa693baae469d47fe77b57118f14627c..0225bbd7773527a34e267a0404ba7db7809d8e5a 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -135,6 +135,15 @@ val generateApiVersioningFile by tasks.registering { +@@ -148,6 +148,15 @@ val generateApiVersioningFile by tasks.registering { } } @@ -26,7 +26,7 @@ index 254fd96d3950b4494c7e43547b00b5175ee53c93..855a5eb171ce94444de1313eafacf355 tasks.jar { from(generateApiVersioningFile.map { it.outputs.files.singleFile }) { into("META-INF/maven/${project.group}/${project.name}") -@@ -194,6 +203,8 @@ tasks.withType { +@@ -207,6 +216,8 @@ tasks.withType { into("build/docs/javadoc") } } diff --git a/patches/api/0002-Gale-branding-changes.patch b/patches/api/0002-Gale-branding-changes.patch index d2c6c7f..5b53a61 100644 --- a/patches/api/0002-Gale-branding-changes.patch +++ b/patches/api/0002-Gale-branding-changes.patch @@ -46,10 +46,10 @@ index 94a9ed024d3859793618152ea559a168bbcbb5e2..e60008693e017bec1b4eb49c84be3898 -. +. diff --git a/build.gradle.kts b/build.gradle.kts -index 855a5eb171ce94444de1313eafacf3558c4cf728..40fed07c4f1d6205dd79021641fc1395816e7354 100644 +index 0225bbd7773527a34e267a0404ba7db7809d8e5a..f7ec84606d8e6c3c3af5ba5fe85fea4c35952c2e 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -153,6 +153,12 @@ tasks.jar { +@@ -166,6 +166,12 @@ tasks.jar { "Automatic-Module-Name" to "org.bukkit" ) } diff --git a/patches/api/0005-SIMD-support.patch b/patches/api/0005-SIMD-support.patch index 721c844..b2d7102 100644 --- a/patches/api/0005-SIMD-support.patch +++ b/patches/api/0005-SIMD-support.patch @@ -13,10 +13,10 @@ As part of: Pufferfish (https://github.com/pufferfish-gg/Pufferfish) Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) diff --git a/build.gradle.kts b/build.gradle.kts -index 40fed07c4f1d6205dd79021641fc1395816e7354..180c44678973f690c05cab9e5aabcd3715aeb021 100644 +index f7ec84606d8e6c3c3af5ba5fe85fea4c35952c2e..3c50294a0a68fd8e9fd4028d41495ad3b9781b1e 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -141,6 +141,7 @@ tasks.withType { +@@ -154,6 +154,7 @@ tasks.withType { compilerArgs.add("-Xlint:-module") compilerArgs.add("-Xlint:-removal") compilerArgs.add("-Xlint:-dep-ann") @@ -24,7 +24,7 @@ index 40fed07c4f1d6205dd79021641fc1395816e7354..180c44678973f690c05cab9e5aabcd37 } // Gale end - hide irrelevant compilation warnings -@@ -211,6 +212,7 @@ tasks.withType { +@@ -224,6 +225,7 @@ tasks.withType { } options.addStringOption("Xdoclint:none", "-quiet") // Gale - hide irrelevant compilation warnings diff --git a/patches/api/0006-Vectorized-map-color-conversion.patch b/patches/api/0006-Vectorized-map-color-conversion.patch index f81c495..335d788 100644 --- a/patches/api/0006-Vectorized-map-color-conversion.patch +++ b/patches/api/0006-Vectorized-map-color-conversion.patch @@ -110,10 +110,10 @@ index 0000000000000000000000000000000000000000..00b16e4aacba50996b81fac81c3f78b6 + +} diff --git a/src/main/java/org/bukkit/map/MapPalette.java b/src/main/java/org/bukkit/map/MapPalette.java -index c80faa079eca1564847070f0338fc98024639829..8a12bac4f9b0c5798ea1bd7d7aa10ad5d7ced579 100644 +index 55a46db9d73885ea967ac929013906b687e476bb..a4cd1c4dc937c9905e91739e6760bf0bc772cabe 100644 --- a/src/main/java/org/bukkit/map/MapPalette.java +++ b/src/main/java/org/bukkit/map/MapPalette.java -@@ -40,7 +40,7 @@ public final class MapPalette { +@@ -45,7 +45,7 @@ public final class MapPalette { } @NotNull @@ -122,7 +122,7 @@ index c80faa079eca1564847070f0338fc98024639829..8a12bac4f9b0c5798ea1bd7d7aa10ad5 c(0, 0, 0, 0), c(0, 0, 0, 0), c(0, 0, 0, 0), c(0, 0, 0, 0), c(89, 125, 39), c(109, 153, 48), c(127, 178, 56), c(67, 94, 29), c(174, 164, 115), c(213, 201, 140), c(247, 233, 163), c(130, 123, 86), -@@ -211,9 +211,15 @@ public final class MapPalette { +@@ -216,9 +216,15 @@ public final class MapPalette { temp.getRGB(0, 0, temp.getWidth(), temp.getHeight(), pixels, 0, temp.getWidth()); byte[] result = new byte[temp.getWidth() * temp.getHeight()]; diff --git a/patches/api/0011-Last-tick-time-API.patch b/patches/api/0011-Last-tick-time-API.patch index 74a96cd..78fdca0 100644 --- a/patches/api/0011-Last-tick-time-API.patch +++ b/patches/api/0011-Last-tick-time-API.patch @@ -23,10 +23,10 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 0dd0d3e2faf82432b621bad95d5d31f7d581ef2b..bc760c528e95a234190f51b2a02101f34f50fb97 100644 +index a1d517e2415a1d4710da39ef5994fe2fbd411db4..68971f1503913175e941ec24db54ab12f023737d 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2994,6 +2994,20 @@ public final class Bukkit { +@@ -3017,6 +3017,20 @@ public final class Bukkit { } // Paper end - Folia region threading API @@ -48,13 +48,13 @@ index 0dd0d3e2faf82432b621bad95d5d31f7d581ef2b..bc760c528e95a234190f51b2a02101f3 public static Server.Spigot spigot() { return server.spigot(); diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index e8346ff64783c505456cc7cd2ed91bc2b063e365..27552fd7422602c0f8cfff158064e61a039270be 100644 +index edcd3ce45053568cb90ca7f69ffc23cb1a782d4e..dc02eb4016e3452ccf7b18a52309f921aac6278a 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2625,4 +2625,30 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2660,4 +2660,29 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi */ - boolean isOwnedByCurrentRegion(@NotNull Entity entity); - // Paper end - Folia region threading API + void allowPausing(@NotNull org.bukkit.plugin.Plugin plugin, boolean value); + // Paper end - API to check if the server is sleeping + + // Gale start - YAPFA - last tick time - API + /** @@ -80,5 +80,4 @@ index e8346ff64783c505456cc7cd2ed91bc2b063e365..27552fd7422602c0f8cfff158064e61a + */ + long getLastTickOversleepTime(); + // Gale end - YAPFA - last tick time - API -+ } diff --git a/patches/server/0001-Gale-project-setup.patch b/patches/server/0001-Gale-project-setup.patch index bcf52ff..088f40a 100644 --- a/patches/server/0001-Gale-project-setup.patch +++ b/patches/server/0001-Gale-project-setup.patch @@ -7,15 +7,15 @@ License: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) Gale - https://galemc.org diff --git a/build.gradle.kts b/build.gradle.kts -index 4998aff0b7cb084dcda15c6a18bbe45e99b6000a..983b6fbc67cc6914b9bcfcd76b15197671750c21 100644 +index faf3e3fd72e8c915e7a4803dacbe1bb576c6663e..7b7054ebe7eb73f56b30fcdf7fe61d50e7b535cb 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -13,7 +13,7 @@ configurations.named(log4jPlugins.compileClasspathConfigurationName) { - val alsoShade: Configuration by configurations.creating +@@ -25,7 +25,7 @@ abstract class MockitoAgentProvider : CommandLineArgumentProvider { + // Paper end - configure mockito agent that is needed in newer java versions dependencies { - implementation(project(":paper-api")) + implementation(project(":gale-api")) // Gale start - project setup - Depend on own API // Paper start - implementation("org.jline:jline-terminal-jansi:3.21.0") - implementation("net.minecrell:terminalconsoleappender:1.3.0") + implementation("org.jline:jline-terminal-ffm:3.27.1") // use ffm on java 22+ + implementation("org.jline:jline-terminal-jni:3.27.1") // fall back to jni on java 21 diff --git a/patches/server/0003-Hide-irrelevant-compilation-warnings.patch b/patches/server/0003-Hide-irrelevant-compilation-warnings.patch index 39cbf78..6086915 100644 --- a/patches/server/0003-Hide-irrelevant-compilation-warnings.patch +++ b/patches/server/0003-Hide-irrelevant-compilation-warnings.patch @@ -7,10 +7,10 @@ License: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) Gale - https://galemc.org diff --git a/build.gradle.kts b/build.gradle.kts -index d600158c16341591ec7cd08d7c2894fb34fdab4b..5cc16e573241106d2a8b67c2f6e1a9338cfe6708 100644 +index 7b7054ebe7eb73f56b30fcdf7fe61d50e7b535cb..5e37caba6b6ac2dc4b11a15e17bc67ab5ec5b1c4 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -72,6 +72,15 @@ paperweight { +@@ -86,6 +86,15 @@ paperweight { craftBukkitPackageVersion.set("v1_21_R2") // also needs to be updated in MappingEnvironment } diff --git a/patches/server/0004-Enable-preview-features-for-development-runs.patch b/patches/server/0004-Enable-preview-features-for-development-runs.patch index 1c89669..70e6037 100644 --- a/patches/server/0004-Enable-preview-features-for-development-runs.patch +++ b/patches/server/0004-Enable-preview-features-for-development-runs.patch @@ -7,10 +7,10 @@ License: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) Gale - https://galemc.org diff --git a/build.gradle.kts b/build.gradle.kts -index 381b4b5d2cc54497c7db46218acc58313552ad78..adb8c4f3ed3cb22b62a4b4eb867b197b10cfac54 100644 +index 5e37caba6b6ac2dc4b11a15e17bc67ab5ec5b1c4..1bbd7458f6031cedde5c7efa652481bf4c66b5d6 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -190,6 +190,7 @@ fun TaskContainer.registerRunTask( +@@ -209,6 +209,7 @@ fun TaskContainer.registerRunTask( val memoryGb = providers.gradleProperty("paper.runMemoryGb").getOrElse("2") minHeapSize = "${memoryGb}G" maxHeapSize = "${memoryGb}G" diff --git a/patches/server/0005-Gale-branding-changes.patch b/patches/server/0005-Gale-branding-changes.patch index 4c92aa5..ca77b45 100644 --- a/patches/server/0005-Gale-branding-changes.patch +++ b/patches/server/0005-Gale-branding-changes.patch @@ -221,10 +221,10 @@ index 94a9ed024d3859793618152ea559a168bbcbb5e2..e60008693e017bec1b4eb49c84be3898 -. +. diff --git a/build.gradle.kts b/build.gradle.kts -index c8c3599a780bbc02a1ead1fe66498733ea4075c2..ead700089f8867e38699db409c13162f1014f58a 100644 +index 1bbd7458f6031cedde5c7efa652481bf4c66b5d6..e3bed8a7f6a9b985c28551b2dfb03456b802380d 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -94,14 +94,14 @@ tasks.jar { +@@ -108,14 +108,14 @@ tasks.jar { val gitBranch = git("rev-parse", "--abbrev-ref", "HEAD").getText().trim() // Paper attributes( "Main-Class" to "org.bukkit.craftbukkit.Main", @@ -244,7 +244,7 @@ index c8c3599a780bbc02a1ead1fe66498733ea4075c2..ead700089f8867e38699db409c13162f "Build-Number" to (build ?: ""), "Build-Time" to Instant.now().toString(), "Git-Branch" to gitBranch, // Paper -@@ -242,3 +242,22 @@ tasks.registerRunTask("runReobfPaperclip") { +@@ -261,3 +261,22 @@ tasks.registerRunTask("runReobfPaperclip") { classpath(rootProject.tasks.named("createReobfPaperclipJar").flatMap { it.outputZip }) mainClass.set(null as String?) } @@ -486,7 +486,7 @@ index 6fef86e47e37eab6721cfd67d494afb25a2ded68..29aa7549e0082f0061a94b5b2f59aeec // (async tasks must live with race-conditions if they attempt to cancel between these few lines of code) } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 83020837e29ee627b1081daddb4bdee147b95af3..71d526cf165ff63a7344e19864eed409f3952fbb 100644 +index 507f908916cbeb592496f963b46e4c2121a7b5e3..e57be8cbe35fdc2ae41b3a0278d244672a303059 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -505,7 +505,7 @@ public final class CraftMagicNumbers implements UnsafeValues { diff --git a/patches/server/0006-Gale-metrics.patch b/patches/server/0006-Gale-metrics.patch index 56b18a9..29126e8 100644 --- a/patches/server/0006-Gale-metrics.patch +++ b/patches/server/0006-Gale-metrics.patch @@ -7,13 +7,13 @@ License: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) Gale - https://galemc.org diff --git a/src/main/java/ca/spottedleaf/moonrise/common/util/MoonriseCommon.java b/src/main/java/ca/spottedleaf/moonrise/common/util/MoonriseCommon.java -index c125c70a68130be373acc989053a6c0e487be924..bd43c483c2f0837d3d4db9e0a9bc624c8c7b65ba 100644 +index 632920e04686d8a0fd0a60e87348be1fe7862a3c..ba0dd850f90564fab3a5b922bb28d24490180417 100644 --- a/src/main/java/ca/spottedleaf/moonrise/common/util/MoonriseCommon.java +++ b/src/main/java/ca/spottedleaf/moonrise/common/util/MoonriseCommon.java @@ -11,6 +11,10 @@ import java.util.function.Consumer; public final class MoonriseCommon { - private static final Logger LOGGER = LoggerFactory.getLogger(MoonriseCommon.class); + private static final Logger LOGGER = LogUtils.getClassLogger(); + // Gale start - metrics - chunk system IO threads + public static int chunkSystemIOThreads; + public static int chunkSystemWorkerThreads; diff --git a/patches/server/0008-Gale-configuration.patch b/patches/server/0008-Gale-configuration.patch index 3d58082..407b3fe 100644 --- a/patches/server/0008-Gale-configuration.patch +++ b/patches/server/0008-Gale-configuration.patch @@ -13,10 +13,10 @@ As part of: Paper (https://github.com/PaperMC/Paper) Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) diff --git a/src/main/java/io/papermc/paper/configuration/Configurations.java b/src/main/java/io/papermc/paper/configuration/Configurations.java -index 87e5f614ba988547a827486740db217e28585773..cdb216e596f83139a63864fd6a9e4cf025dfb22e 100644 +index 8cf720f08514e8e4f62f4ad196f1277bd761c6b2..63afa5284028f3c423d19c2d5cb35b83c89050fd 100644 --- a/src/main/java/io/papermc/paper/configuration/Configurations.java +++ b/src/main/java/io/papermc/paper/configuration/Configurations.java -@@ -96,7 +96,7 @@ public abstract class Configurations { +@@ -94,7 +94,7 @@ public abstract class Configurations { }; } @@ -25,7 +25,7 @@ index 87e5f614ba988547a827486740db217e28585773..cdb216e596f83139a63864fd6a9e4cf0 return node -> { ObjectMapper.Factory factory = (ObjectMapper.Factory) Objects.requireNonNull(node.options().serializers().get(type)); ObjectMapper.Mutable mutable = (ObjectMapper.Mutable) factory.get(type); -@@ -170,7 +170,7 @@ public abstract class Configurations { +@@ -168,7 +168,7 @@ public abstract class Configurations { final YamlConfigurationLoader loader = result.loader(); final ConfigurationNode node = loader.load(); if (result.isNewFile()) { // add version to new files @@ -34,7 +34,7 @@ index 87e5f614ba988547a827486740db217e28585773..cdb216e596f83139a63864fd6a9e4cf0 } else { this.verifyWorldConfigVersion(contextMap, node); } -@@ -232,7 +232,7 @@ public abstract class Configurations { +@@ -230,7 +230,7 @@ public abstract class Configurations { .build(); final ConfigurationNode worldNode = worldLoader.load(); if (newFile) { // set the version field if new file @@ -43,7 +43,7 @@ index 87e5f614ba988547a827486740db217e28585773..cdb216e596f83139a63864fd6a9e4cf0 } else { this.verifyWorldConfigVersion(contextMap, worldNode); } -@@ -358,4 +358,25 @@ public abstract class Configurations { +@@ -356,4 +356,25 @@ public abstract class Configurations { return "ContextKey{" + this.name + "}"; } } @@ -70,10 +70,10 @@ index 87e5f614ba988547a827486740db217e28585773..cdb216e596f83139a63864fd6a9e4cf0 + } diff --git a/src/main/java/io/papermc/paper/configuration/PaperConfigurations.java b/src/main/java/io/papermc/paper/configuration/PaperConfigurations.java -index 1029b6de6f36b08bf634b4056ef5701383f6f258..1dd9531ffa272b8248f78a9ec029edcd15339b5a 100644 +index c5644d8d64f12073e39bc6ed79c8714f4560ff89..b993d3e2e9d987115129067e3a51060880453ee2 100644 --- a/src/main/java/io/papermc/paper/configuration/PaperConfigurations.java +++ b/src/main/java/io/papermc/paper/configuration/PaperConfigurations.java -@@ -323,7 +323,7 @@ public class PaperConfigurations extends Configurations globalConfig() { + // Gale start - Gale configuration -+ public static FieldDiscoverer galeWorldConfig(Configurations.ContextMap contextMap) { ++ public static FieldDiscoverer galeWorldConfig(io.papermc.paper.configuration.Configurations.ContextMap contextMap) { + final Map, Object> overrides = Map.of( + org.galemc.gale.configuration.GaleWorldConfiguration.class, new org.galemc.gale.configuration.GaleWorldConfiguration( -+ contextMap.require(PaperConfigurations.SPIGOT_WORLD_CONFIG_CONTEXT_KEY).get(), -+ contextMap.require(Configurations.WORLD_KEY) ++ contextMap.require(io.papermc.paper.configuration.PaperConfigurations.SPIGOT_WORLD_CONFIG_CONTEXT_KEY).get(), ++ contextMap.require(io.papermc.paper.configuration.Configurations.WORLD_KEY) + ) + ); + return new InnerClassFieldDiscoverer(overrides); @@ -144,7 +144,7 @@ index 8f23276796037d048eb114952891a01a40971b3e..e8f527d7c09be660b539ec2b7a77e018 } } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 64b56abf8900d0424100da460fc68ac964394793..36f4c7d14e047141f31887e10f0ac3297e70fecf 100644 +index c26e3a239441376f2694782d4f07943538677c71..39e166379617630ca9cbad0f5dc4647d183a7570 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -327,6 +327,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop WorldDataServer public ServerLevel(MinecraftServer minecraftserver, Executor executor, LevelStorageSource.LevelStorageAccess convertable_conversionsession, PrimaryLevelData iworlddataserver, ResourceKey resourcekey, LevelStem worlddimension, ChunkProgressListener worldloadlistener, boolean flag, long i, List list, boolean flag1, @Nullable RandomSequences randomsequences, org.bukkit.World.Environment env, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider) { @@ -234,7 +234,7 @@ index 5964d601c05176f48167cc92057a59e52a4da92b..d406eebb7efb00b79128bdceb71d51be this.convertable = convertable_conversionsession; this.uuid = WorldUUID.getUUID(convertable_conversionsession.levelDirectory.path().toFile()); diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 022de445bbbb869c38be4972c98dcf1c665539ec..8f7be1091b16732b481bb344f0ad1164ee418950 100644 +index 0de2b79481352b52438dde284262019b29949ad8..5ac5b21b5193cadeaa16250747be3b6685ca21ff 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -172,6 +172,12 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl @@ -268,10 +268,10 @@ index 022de445bbbb869c38be4972c98dcf1c665539ec..8f7be1091b16732b481bb344f0ad1164 this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index dfddcfb1fe1679adaecf75375757dca720e76ce1..49ff0dd8589c96888aa40076bdd029040b369ace 100644 +index ac8af406180bc680d46e8edc3da0fc2e5211345a..269e3937b4ad1bdf04faa214245a2accbdc3a225 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1074,6 +1074,7 @@ public final class CraftServer implements Server { +@@ -1086,6 +1086,7 @@ public final class CraftServer implements Server { org.spigotmc.SpigotConfig.init((File) this.console.options.valueOf("spigot-settings")); // Spigot this.console.paperConfigurations.reloadConfigs(this.console); @@ -279,7 +279,7 @@ index dfddcfb1fe1679adaecf75375757dca720e76ce1..49ff0dd8589c96888aa40076bdd02904 for (ServerLevel world : this.console.getAllLevels()) { // world.serverLevelData.setDifficulty(config.difficulty); // Paper - per level difficulty world.setSpawnSettings(world.serverLevelData.getDifficulty() != Difficulty.PEACEFUL && config.spawnMonsters); // Paper - per level difficulty (from MinecraftServer#setDifficulty(ServerLevel, Difficulty, boolean)) -@@ -3019,6 +3020,14 @@ public final class CraftServer implements Server { +@@ -3031,6 +3032,14 @@ public final class CraftServer implements Server { return CraftServer.this.console.paperConfigurations.createLegacyObject(CraftServer.this.console); } diff --git a/patches/server/0011-Remove-vanilla-profiler.patch b/patches/server/0011-Remove-vanilla-profiler.patch index 35d25f6..f93c070 100644 --- a/patches/server/0011-Remove-vanilla-profiler.patch +++ b/patches/server/0011-Remove-vanilla-profiler.patch @@ -172,7 +172,7 @@ index e9775b4506909bee65a74964f0d5391a0513de1d..1c4dd8acdcd571aceffe4b78599ca2c7 } } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 36f4c7d14e047141f31887e10f0ac3297e70fecf..4ac560e7af98a7387f9c3a6338ff90d0d57e010d 100644 +index 39e166379617630ca9cbad0f5dc4647d183a7570..70ce9cbd961d50f796ef85504d26e7d9d1b919da 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -111,19 +111,8 @@ import net.minecraft.util.datafix.DataFixers; @@ -209,7 +209,7 @@ index 36f4c7d14e047141f31887e10f0ac3297e70fecf..4ac560e7af98a7387f9c3a6338ff90d0 private ServerConnectionListener connection; public final ChunkProgressListenerFactory progressListenerFactory; @Nullable -@@ -429,12 +411,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { return false; -@@ -1338,7 +1299,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 0 && this.tickCount % autosavePeriod == 0; try { this.isSaving = true; -@@ -1689,11 +1627,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { entityplayer.connection.suspendFlushing(); }); -@@ -1816,9 +1744,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop chunks) { -@@ -543,8 +522,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon +@@ -546,8 +525,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon // Paper end - chunk tick iteration optimisation } @@ -881,7 +881,7 @@ index 381b2535d598094990af532b72b15eadc13208ad..0f9ea834c02114ad864abd13382665c0 int j = this.distanceManager.getNaturalSpawnChunkCount(); // Paper start - Optional per player mob spawns final int naturalSpawnChunkCount = j; -@@ -571,7 +549,6 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon +@@ -574,7 +552,6 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon // Paper end - Optional per player mob spawns this.lastSpawnState = spawnercreature_d; @@ -889,7 +889,7 @@ index 381b2535d598094990af532b72b15eadc13208ad..0f9ea834c02114ad864abd13382665c0 boolean flag = this.level.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING) && !this.level.players().isEmpty(); // CraftBukkit int k = this.level.getGameRules().getInt(GameRules.RULE_RANDOMTICKING); List list1; -@@ -609,7 +586,6 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon +@@ -612,7 +589,6 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon } } @@ -897,7 +897,7 @@ index 381b2535d598094990af532b72b15eadc13208ad..0f9ea834c02114ad864abd13382665c0 if (flag) { this.level.tickCustomSpawners(this.spawnEnemies, this.spawnFriendlies); } -@@ -807,7 +783,6 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon +@@ -810,7 +786,6 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon @Override protected void doRunTask(Runnable task) { @@ -906,7 +906,7 @@ index 381b2535d598094990af532b72b15eadc13208ad..0f9ea834c02114ad864abd13382665c0 } diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index d406eebb7efb00b79128bdceb71d51be4efbce4c..3401602c57337e96012c2768b38f523ca7dd6798 100644 +index 73bed8c899d146893e7e2f845b7bbf991d5d8a1f..af783a62991cf996cf488ac7bdb7335082609337 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -79,8 +79,6 @@ import net.minecraft.util.ProgressListener; @@ -918,7 +918,7 @@ index d406eebb7efb00b79128bdceb71d51be4efbce4c..3401602c57337e96012c2768b38f523c import net.minecraft.util.valueproviders.IntProvider; import net.minecraft.util.valueproviders.UniformInt; import net.minecraft.world.DifficultyInstance; -@@ -703,18 +701,13 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -710,18 +708,13 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe } public void tick(BooleanSupplier shouldKeepTicking) { @@ -937,7 +937,7 @@ index d406eebb7efb00b79128bdceb71d51be4efbce4c..3401602c57337e96012c2768b38f523c } int i = this.getGameRules().getInt(GameRules.RULE_PLAYERS_SLEEPING_PERCENTAGE); -@@ -745,30 +738,22 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -752,30 +745,22 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe this.tickTime(); } @@ -968,7 +968,7 @@ index d406eebb7efb00b79128bdceb71d51be4efbce4c..3401602c57337e96012c2768b38f523c boolean flag1 = !paperConfig().unsupportedSettings.disableWorldTickingWhenEmpty || !this.players.isEmpty() || !this.getForcedChunks().isEmpty(); // CraftBukkit - this prevents entity cleanup, other issues on servers with no players // Paper - restore this if (flag1) { -@@ -776,20 +761,15 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -783,20 +768,15 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe } if (flag1 || this.emptyTime++ < 300) { @@ -989,7 +989,7 @@ index d406eebb7efb00b79128bdceb71d51be4efbce4c..3401602c57337e96012c2768b38f523c if (true) { // Paper - rewrite chunk system Entity entity1 = entity.getVehicle(); -@@ -801,20 +781,15 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -808,20 +788,15 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe entity.stopRiding(); } @@ -1010,7 +1010,7 @@ index d406eebb7efb00b79128bdceb71d51be4efbce4c..3401602c57337e96012c2768b38f523c } @Override -@@ -830,9 +805,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -837,9 +812,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe long i = this.levelData.getGameTime() + 1L; this.serverLevelData.setGameTime(i); @@ -1020,7 +1020,7 @@ index d406eebb7efb00b79128bdceb71d51be4efbce4c..3401602c57337e96012c2768b38f523c if (this.serverLevelData.getGameRules().getBoolean(GameRules.RULE_DAYLIGHT)) { this.setDayTime(this.levelData.getDayTime() + 1L); } -@@ -920,9 +893,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -927,9 +900,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe boolean flag = this.isRaining(); int j = chunkcoordintpair.getMinBlockX(); int k = chunkcoordintpair.getMinBlockZ(); @@ -1030,7 +1030,7 @@ index d406eebb7efb00b79128bdceb71d51be4efbce4c..3401602c57337e96012c2768b38f523c if (!this.paperConfig().environment.disableThunder && flag && this.isThundering() && this.spigotConfig.thunderChance > 0 && simpleRandom.nextInt(this.spigotConfig.thunderChance) == 0) { // Spigot // Paper - Option to disable thunder // Paper - optimise random ticking BlockPos blockposition = this.findLightningTargetAround(this.getBlockRandomPos(j, 0, k, 15)); -@@ -951,8 +922,6 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -958,8 +929,6 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe } } @@ -1039,7 +1039,7 @@ index d406eebb7efb00b79128bdceb71d51be4efbce4c..3401602c57337e96012c2768b38f523c if (!this.paperConfig().environment.disableIceAndSnow) { // Paper - Option to disable ice and snow for (int l = 0; l < randomTickSpeed; ++l) { if (simpleRandom.nextInt(48) == 0) { // Paper - optimise random ticking -@@ -961,12 +930,9 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -968,12 +937,9 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe } } // Paper - Option to disable ice and snow @@ -1052,7 +1052,7 @@ index d406eebb7efb00b79128bdceb71d51be4efbce4c..3401602c57337e96012c2768b38f523c } @VisibleForTesting -@@ -1286,19 +1252,14 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -1293,19 +1259,14 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe }*/ // Paper - comment out EAR 2 // Spigot end entity.setOldPosAndRot(); @@ -1073,7 +1073,7 @@ index d406eebb7efb00b79128bdceb71d51be4efbce4c..3401602c57337e96012c2768b38f523c Iterator iterator = entity.getPassengers().iterator(); while (iterator.hasNext()) { -@@ -1321,12 +1282,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -1328,12 +1289,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe if (passenger instanceof Player || this.entityTickList.contains(passenger)) { passenger.setOldPosAndRot(); ++passenger.tickCount; @@ -1086,7 +1086,7 @@ index d406eebb7efb00b79128bdceb71d51be4efbce4c..3401602c57337e96012c2768b38f523c // Paper start - EAR 2 if (isActive) { passenger.rideTick(); -@@ -1338,7 +1294,6 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -1345,7 +1301,6 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe vehicle.positionRider(passenger); } // Paper end - EAR 2 @@ -1095,7 +1095,7 @@ index d406eebb7efb00b79128bdceb71d51be4efbce4c..3401602c57337e96012c2768b38f523c while (iterator.hasNext()) { diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index cffbd3300967e5d80b5973b35a76235bb2aa1b73..a0d940312e37d7b74df7103878ff547a45fc5c05 100644 +index 5a8f396d47577f087abb415c972fd4f51e50faba..bfda30ebaaa02986dd0d4134ede5c822a19b03bc 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -102,8 +102,6 @@ import net.minecraft.tags.FluidTags; @@ -1252,7 +1252,7 @@ index 0aaab6a2a10bf012c9d275f7cee2095c8fbb8809..0d8f20035e051af8143dea154593f8a6 protected abstract T prepare(ResourceManager manager, ProfilerFiller profiler); diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 8be1b051543cda2b2e9e3d337834757e53f442de..47246af8ee1089ecbe4002236035e69bc61fbe46 100644 +index a15546e433ebba6c0de01bdaaef201a3d99a87b5..cd4461c175e88b9dd6f05a8bcd9363de60725370 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -84,8 +84,6 @@ import net.minecraft.tags.FluidTags; @@ -1264,7 +1264,7 @@ index 8be1b051543cda2b2e9e3d337834757e53f442de..47246af8ee1089ecbe4002236035e69b import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.Nameable; -@@ -925,9 +923,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -889,9 +887,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess // CraftBukkit end public void baseTick() { @@ -1274,7 +1274,7 @@ index 8be1b051543cda2b2e9e3d337834757e53f442de..47246af8ee1089ecbe4002236035e69b if (firstTick && this instanceof net.minecraft.world.entity.NeutralMob neutralMob) neutralMob.tickInitialPersistentAnger(level); // Paper - Prevent entity loading causing async lookups this.inBlockState = null; if (this.isPassenger() && this.getVehicle().isRemoved()) { -@@ -995,8 +990,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -959,8 +954,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess Leashable.tickLeash(worldserver, (Entity & Leashable) this); // CraftBukkit - decompile error } } @@ -1283,7 +1283,7 @@ index 8be1b051543cda2b2e9e3d337834757e53f442de..47246af8ee1089ecbe4002236035e69b } public void setSharedFlagOnFire(boolean onFire) { -@@ -1222,9 +1215,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1186,9 +1179,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } } @@ -1293,7 +1293,7 @@ index 8be1b051543cda2b2e9e3d337834757e53f442de..47246af8ee1089ecbe4002236035e69b if (this.stuckSpeedMultiplier.lengthSqr() > 1.0E-7D) { movement = movement.multiply(this.stuckSpeedMultiplier); this.stuckSpeedMultiplier = Vec3.ZERO; -@@ -1233,7 +1223,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1197,7 +1187,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess // Paper start - ignore movement changes while inactive. if (isTemporarilyActive && !(this instanceof ItemEntity) && movement == getDeltaMovement() && type == MoverType.SELF) { setDeltaMovement(Vec3.ZERO); @@ -1301,7 +1301,7 @@ index 8be1b051543cda2b2e9e3d337834757e53f442de..47246af8ee1089ecbe4002236035e69b return; } // Paper end -@@ -1254,8 +1243,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1218,8 +1207,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess this.setPos(this.getX() + vec3d1.x, this.getY() + vec3d1.y, this.getZ() + vec3d1.z); } @@ -1310,7 +1310,7 @@ index 8be1b051543cda2b2e9e3d337834757e53f442de..47246af8ee1089ecbe4002236035e69b boolean flag = !Mth.equal(movement.x, vec3d1.x); boolean flag1 = !Mth.equal(movement.z, vec3d1.z); -@@ -1277,7 +1264,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1241,7 +1228,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } if (this.isRemoved()) { @@ -1318,7 +1318,7 @@ index 8be1b051543cda2b2e9e3d337834757e53f442de..47246af8ee1089ecbe4002236035e69b } else { if (this.horizontalCollision) { Vec3 vec3d2 = this.getDeltaMovement(); -@@ -1326,7 +1312,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1290,7 +1276,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess float f = this.getBlockSpeedFactor(); this.setDeltaMovement(this.getDeltaMovement().multiply((double) f, 1.0D, (double) f)); @@ -1326,7 +1326,7 @@ index 8be1b051543cda2b2e9e3d337834757e53f442de..47246af8ee1089ecbe4002236035e69b } } // Paper start - detailed watchdog information -@@ -3472,9 +3457,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -3436,9 +3421,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess this.processPortalCooldown(); if (this.portalProcess != null) { if (this.portalProcess.processPortalTeleportation(worldserver, this, this.canUsePortal(false))) { @@ -1336,7 +1336,7 @@ index 8be1b051543cda2b2e9e3d337834757e53f442de..47246af8ee1089ecbe4002236035e69b this.setPortalCooldown(); TeleportTransition teleporttransition = this.portalProcess.getPortalDestination(worldserver, this); -@@ -3485,8 +3467,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -3449,8 +3431,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess this.teleport(teleporttransition); } } @@ -1345,7 +1345,7 @@ index 8be1b051543cda2b2e9e3d337834757e53f442de..47246af8ee1089ecbe4002236035e69b } else if (this.portalProcess.hasExpired()) { this.portalProcess = null; } -@@ -4008,16 +3988,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -3972,16 +3952,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess entity.teleport(this.calculatePassengerTransition(teleportTarget, entity)); } @@ -1362,7 +1362,7 @@ index 8be1b051543cda2b2e9e3d337834757e53f442de..47246af8ee1089ecbe4002236035e69b return this; } -@@ -4039,12 +4015,8 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -4003,12 +3979,8 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } } @@ -1375,7 +1375,7 @@ index 8be1b051543cda2b2e9e3d337834757e53f442de..47246af8ee1089ecbe4002236035e69b return null; } else { // Paper start - Fix item duplication and teleport issues -@@ -4070,7 +4042,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -4034,7 +4006,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess world.resetEmptyTime(); teleportTarget.postTeleportTransition().onTransition(entity); @@ -1384,7 +1384,7 @@ index 8be1b051543cda2b2e9e3d337834757e53f442de..47246af8ee1089ecbe4002236035e69b } } diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index e86314de8d908a0c3e9f17d3e163c11180cf3f59..098bedc39031b03a4cab24c0c02983e89174cead 100644 +index f36a075dbee2b96d01899e02460b1d8443e91749..b1af5a5eafcd7e090beb36b1a1734e3f1a063f03 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -73,8 +73,6 @@ import net.minecraft.tags.FluidTags; @@ -1414,7 +1414,7 @@ index e86314de8d908a0c3e9f17d3e163c11180cf3f59..098bedc39031b03a4cab24c0c02983e8 } @Override -@@ -3316,12 +3311,8 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3338,12 +3333,8 @@ public abstract class LivingEntity extends Entity implements Attackable { } this.run += (f3 - this.run) * 0.3F; @@ -1427,7 +1427,7 @@ index e86314de8d908a0c3e9f17d3e163c11180cf3f59..098bedc39031b03a4cab24c0c02983e8 // Paper start - stop large pitch and yaw changes from crashing the server this.yRotO += Math.round((this.getYRot() - this.yRotO) / 360.0F) * 360.0F; -@@ -3333,7 +3324,6 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3355,7 +3346,6 @@ public abstract class LivingEntity extends Entity implements Attackable { this.yHeadRotO += Math.round((this.yHeadRot - this.yHeadRotO) / 360.0F) * 360.0F; // Paper end @@ -1435,7 +1435,7 @@ index e86314de8d908a0c3e9f17d3e163c11180cf3f59..098bedc39031b03a4cab24c0c02983e8 this.animStep += f2; if (this.isFallFlying()) { ++this.fallFlyTicks; -@@ -3563,21 +3553,15 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3585,21 +3575,15 @@ public abstract class LivingEntity extends Entity implements Attackable { } this.setDeltaMovement(d0, d1, d2); @@ -1457,7 +1457,7 @@ index e86314de8d908a0c3e9f17d3e163c11180cf3f59..098bedc39031b03a4cab24c0c02983e8 if (this.jumping && this.isAffectedByFluids()) { double d3; -@@ -3604,8 +3588,6 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3626,8 +3610,6 @@ public abstract class LivingEntity extends Entity implements Attackable { this.noJumpDelay = 0; } @@ -1466,7 +1466,7 @@ index e86314de8d908a0c3e9f17d3e163c11180cf3f59..098bedc39031b03a4cab24c0c02983e8 this.xxa *= 0.98F; this.zza *= 0.98F; if (this.isFallFlying()) { -@@ -3638,8 +3620,6 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3660,8 +3642,6 @@ public abstract class LivingEntity extends Entity implements Attackable { } this.calculateEntityAnimation(this instanceof FlyingAnimal); @@ -1475,7 +1475,7 @@ index e86314de8d908a0c3e9f17d3e163c11180cf3f59..098bedc39031b03a4cab24c0c02983e8 if (!this.level().isClientSide && !this.isDeadOrDying() && !this.freezeLocked) { // Paper - Freeze Tick Lock API int i = this.getTicksFrozen(); -@@ -3660,15 +3640,13 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3682,15 +3662,13 @@ public abstract class LivingEntity extends Entity implements Attackable { } } @@ -1940,7 +1940,7 @@ index 35b0c5c322864e2f5ae5a412296072f268adcd05..50b559a92b54c0be7624b1aebc705375 } diff --git a/src/main/java/net/minecraft/world/entity/monster/breeze/Breeze.java b/src/main/java/net/minecraft/world/entity/monster/breeze/Breeze.java -index a16fd9c4679e874ad2d499f3c00c2ddfd780a7a5..5214b332acce9ad4096776bb4f0d263ec70dbc7b 100644 +index 489644b66266257828fd216e4298bd6d33f7777b..2e6b6ef451cd3caa1fde466e5c670b7f17814753 100644 --- a/src/main/java/net/minecraft/world/entity/monster/breeze/Breeze.java +++ b/src/main/java/net/minecraft/world/entity/monster/breeze/Breeze.java @@ -12,8 +12,6 @@ import net.minecraft.sounds.SoundEvent; @@ -1952,16 +1952,17 @@ index a16fd9c4679e874ad2d499f3c00c2ddfd780a7a5..5214b332acce9ad4096776bb4f0d263e import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.entity.AnimationState; import net.minecraft.world.entity.Entity; -@@ -235,12 +233,8 @@ public class Breeze extends Monster { +@@ -236,13 +234,8 @@ public class Breeze extends Monster { @Override protected void customServerAiStep(ServerLevel world) { -- ProfilerFiller profilerFiller = Profiler.get(); -- profilerFiller.push("breezeBrain"); +- ProfilerFiller gameprofilerfiller = Profiler.get(); +- +- gameprofilerfiller.push("breezeBrain"); this.getBrain().tick(world, this); -- profilerFiller.popPush("breezeActivityUpdate"); +- gameprofilerfiller.popPush("breezeActivityUpdate"); BreezeAi.updateActivity(this); -- profilerFiller.pop(); +- gameprofilerfiller.pop(); super.customServerAiStep(world); } @@ -2113,7 +2114,7 @@ index b7a34f1c4d7b5ef3f7a843d152e33c839dcdedd5..08c780e9e1e167b84f70dce691bb564c this.assignProfessionWhenSpawned = false; } diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 8f7be1091b16732b481bb344f0ad1164ee418950..a0cbeefb01aadfb1aa06d7216d222351c0805422 100644 +index 5ac5b21b5193cadeaa16250747be3b6685ca21ff..37ed8ec7cac117e674d39a3dbc3ce8b99e4459e9 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -35,8 +35,6 @@ import net.minecraft.util.AbortableIterationConsumer; @@ -2177,7 +2178,7 @@ index 8f7be1091b16732b481bb344f0ad1164ee418950..a0cbeefb01aadfb1aa06d7216d222351 if (maxCount != Integer.MAX_VALUE) { ((ca.spottedleaf.moonrise.patches.chunk_system.level.ChunkSystemLevel)this).moonrise$getEntityLookup().getEntities(byType, boundingBox, into, predicate, maxCount); diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java -index 5297798c2be1ba85569c2b92ed221956bf75477a..3c7da8e11aad02d2b87c8913762e2f3f6040257b 100644 +index c1b76a1ebc1eea7ab70cf61d8175a31794dd122a..2febef53fc1c2bbacab94feb5de4e6934e47038e 100644 --- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java +++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java @@ -24,8 +24,6 @@ import net.minecraft.tags.BlockTags; diff --git a/patches/server/0014-Simpler-ShapelessRecipe-comparison-for-vanilla.patch b/patches/server/0014-Simpler-ShapelessRecipe-comparison-for-vanilla.patch index 683cd44..202ba9a 100644 --- a/patches/server/0014-Simpler-ShapelessRecipe-comparison-for-vanilla.patch +++ b/patches/server/0014-Simpler-ShapelessRecipe-comparison-for-vanilla.patch @@ -37,7 +37,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/src/main/java/net/minecraft/world/item/crafting/ShapelessRecipe.java b/src/main/java/net/minecraft/world/item/crafting/ShapelessRecipe.java -index 6ec7b234b468755835107be40d0080222c0b9263..4e09c158a3e767754abc0df9410c736016ef0704 100644 +index 12f95bee2a69fd5df7c4a165537e01299e60c5f6..6567b103b27db2841d67c8f296ba6c57781b2b65 100644 --- a/src/main/java/net/minecraft/world/item/crafting/ShapelessRecipe.java +++ b/src/main/java/net/minecraft/world/item/crafting/ShapelessRecipe.java @@ -31,8 +31,15 @@ public class ShapelessRecipe implements CraftingRecipe { @@ -56,7 +56,7 @@ index 6ec7b234b468755835107be40d0080222c0b9263..4e09c158a3e767754abc0df9410c7360 this.group = group; this.category = category; this.result = result; -@@ -80,6 +87,29 @@ public class ShapelessRecipe implements CraftingRecipe { +@@ -80,6 +87,28 @@ public class ShapelessRecipe implements CraftingRecipe { } public boolean matches(CraftingInput input, Level world) { @@ -82,10 +82,9 @@ index 6ec7b234b468755835107be40d0080222c0b9263..4e09c158a3e767754abc0df9410c7360 + return ingredients.isEmpty(); + } + // Gale end - Airplane - simpler ShapelessRecipe comparison for vanilla -+ - return input.ingredientCount() != this.ingredients.size() ? false : (input.size() == 1 && this.ingredients.size() == 1 ? ((Ingredient) this.ingredients.getFirst()).test(input.getItem(0)) : input.stackedContents().canCraft((Recipe) this, (StackedContents.Output) null)); - } - + // Paper start - Improve exact choice recipe ingredients & unwrap ternary + if (input.ingredientCount() != this.ingredients.size()) { + return false; diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftShapelessRecipe.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftShapelessRecipe.java index 7c989318dc7ad89bb0d9143fcaac1e4bba6f5907..a90b294a99072ab576e61ddacb60a036cb7f0f5a 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftShapelessRecipe.java diff --git a/patches/server/0017-Move-random-tick-random.patch b/patches/server/0017-Move-random-tick-random.patch index 338de31..9e9f169 100644 --- a/patches/server/0017-Move-random-tick-random.patch +++ b/patches/server/0017-Move-random-tick-random.patch @@ -19,27 +19,27 @@ require it to be initialized earlier. By moving it to the superclass, we initialize it earlier, ensuring that it is available sooner. diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 3401602c57337e96012c2768b38f523ca7dd6798..91042db25973e6a9fefebef2bc8f1471ddf34e58 100644 +index af783a62991cf996cf488ac7bdb7335082609337..d0b36a5340776e18469b35e0459b3b5d26c051c2 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -836,8 +836,6 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -843,8 +843,6 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe } // Paper start - optimise random ticking -- private final ca.spottedleaf.moonrise.common.util.SimpleRandom simpleRandom = new ca.spottedleaf.moonrise.common.util.SimpleRandom(0L); +- private final ca.spottedleaf.moonrise.common.util.SimpleThreadUnsafeRandom simpleRandom = new ca.spottedleaf.moonrise.common.util.SimpleThreadUnsafeRandom(net.minecraft.world.level.levelgen.RandomSupport.generateUniqueSeed()); - private void optimiseRandomTick(final LevelChunk chunk, final int tickSpeed) { final LevelChunkSection[] sections = chunk.getSections(); final int minSection = ca.spottedleaf.moonrise.common.util.WorldUtil.getMinSection((ServerLevel)(Object)this); diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index a0cbeefb01aadfb1aa06d7216d222351c0805422..1e1e3a0951a852171601199524e7181e115d9931 100644 +index 37ed8ec7cac117e674d39a3dbc3ce8b99e4459e9..5419efc40cd27c532acff423edaa259edacd862a 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -185,6 +185,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl public final Map explosionDensityCache = new HashMap<>(); // Paper - Optimize explosions public java.util.ArrayDeque redstoneUpdateInfos; // Paper - Faster redstone torch rapid clock removal; Move from Map in BlockRedstoneTorch to here -+ public final ca.spottedleaf.moonrise.common.util.SimpleRandom simpleRandom = new ca.spottedleaf.moonrise.common.util.SimpleRandom(0L); // Gale - Pufferfish - move random tick random ++ public final ca.spottedleaf.moonrise.common.util.SimpleThreadUnsafeRandom simpleRandom = new ca.spottedleaf.moonrise.common.util.SimpleThreadUnsafeRandom(net.minecraft.world.level.levelgen.RandomSupport.generateUniqueSeed()); // Gale - Pufferfish - move random tick random + public CraftWorld getWorld() { return this.world; diff --git a/patches/server/0018-Optimize-random-calls-in-chunk-ticking.patch b/patches/server/0018-Optimize-random-calls-in-chunk-ticking.patch index f9c0574..1c29739 100644 --- a/patches/server/0018-Optimize-random-calls-in-chunk-ticking.patch +++ b/patches/server/0018-Optimize-random-calls-in-chunk-ticking.patch @@ -52,10 +52,10 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -index 0f9ea834c02114ad864abd13382665c02cb69ba4..9b42517eed2dd8644c9db759690f09aeef6ab3b2 100644 +index 2b8c4ee8ad8eb96060e82911c07b01f7b01a4329..370d8ab3cb7f4b066d94b2f4eeda794b79179fa7 100644 --- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java +++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -@@ -465,6 +465,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon +@@ -468,6 +468,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon this.lastInhabitedUpdate = i; if (!this.level.isDebug()) { @@ -64,19 +64,19 @@ index 0f9ea834c02114ad864abd13382665c02cb69ba4..9b42517eed2dd8644c9db759690f09ae List list = this.tickingChunks; diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 91042db25973e6a9fefebef2bc8f1471ddf34e58..ac903433a7ab524e1f65f23fa943ee0aeaf8fa6d 100644 +index d0b36a5340776e18469b35e0459b3b5d26c051c2..b424fe78d3c9410e6d6378a7f104cfd5069f0d1e 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -885,6 +885,8 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -892,6 +892,8 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe } // Paper end - optimise random ticking + private int currentIceAndSnowTick = 0; protected void resetIceAndSnowTick() { this.currentIceAndSnowTick = this.simpleRandom.nextInt(16); } // Gale - Airplane - optimize random calls in chunk ticking + public void tickChunk(LevelChunk chunk, int randomTickSpeed) { - final ca.spottedleaf.moonrise.common.util.SimpleRandom simpleRandom = this.simpleRandom; // Paper - optimise random ticking + final ca.spottedleaf.moonrise.common.util.SimpleThreadUnsafeRandom simpleRandom = this.simpleRandom; // Paper - optimise random ticking ChunkPos chunkcoordintpair = chunk.getPos(); -@@ -892,7 +894,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -899,7 +901,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe int j = chunkcoordintpair.getMinBlockX(); int k = chunkcoordintpair.getMinBlockZ(); @@ -85,7 +85,7 @@ index 91042db25973e6a9fefebef2bc8f1471ddf34e58..ac903433a7ab524e1f65f23fa943ee0a BlockPos blockposition = this.findLightningTargetAround(this.getBlockRandomPos(j, 0, k, 15)); if (this.isRainingAt(blockposition)) { -@@ -920,7 +922,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -927,7 +929,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe } } diff --git a/patches/server/0023-Print-stack-trace-for-plugins-not-shutting-down-task.patch b/patches/server/0023-Print-stack-trace-for-plugins-not-shutting-down-task.patch index 3e5f891..d1f23f1 100644 --- a/patches/server/0023-Print-stack-trace-for-plugins-not-shutting-down-task.patch +++ b/patches/server/0023-Print-stack-trace-for-plugins-not-shutting-down-task.patch @@ -31,10 +31,10 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 9009da78ba2d7751b974123ce76a37af98189b6a..b7342208b5d72f82c6d095cac379356d57f97486 100644 +index 269e3937b4ad1bdf04faa214245a2accbdc3a225..50ca138f183529b71790c6c458e1b815c04d4971 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1168,6 +1168,13 @@ public final class CraftServer implements Server { +@@ -1180,6 +1180,13 @@ public final class CraftServer implements Server { plugin.getPluginMeta().getDisplayName(), "This plugin is not properly shutting down its async tasks when it is being shut down. This task may throw errors during the final shutdown logs and might not complete before process dies." )); diff --git a/patches/server/0024-Cache-on-climbable-check.patch b/patches/server/0024-Cache-on-climbable-check.patch index 9bdb28d..76567ab 100644 --- a/patches/server/0024-Cache-on-climbable-check.patch +++ b/patches/server/0024-Cache-on-climbable-check.patch @@ -31,10 +31,10 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 098bedc39031b03a4cab24c0c02983e89174cead..206a1461178706e56f4b3c92c9121dd4177edd4c 100644 +index b1af5a5eafcd7e090beb36b1a1734e3f1a063f03..fbb1b17ade83e0fe043765369d53e140771778c9 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -2109,6 +2109,20 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -2115,6 +2115,20 @@ public abstract class LivingEntity extends Entity implements Attackable { return this.lastClimbablePos; } @@ -56,7 +56,7 @@ index 098bedc39031b03a4cab24c0c02983e89174cead..206a1461178706e56f4b3c92c9121dd4 if (this.isSpectator()) { return false; diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java -index bd7c37123c70d2afdef252f39548725d4ef318ed..24536f70309f802d45714e06bace339f1d9f1013 100644 +index 1d438ef44cbe4d1eedfba36d8fe5d2ad53464921..9cee5e8b9188b094a2428da5d9cf42db1c18f7a3 100644 --- a/src/main/java/org/spigotmc/ActivationRange.java +++ b/src/main/java/org/spigotmc/ActivationRange.java @@ -295,7 +295,7 @@ public class ActivationRange diff --git a/patches/server/0028-Reduce-entity-allocations.patch b/patches/server/0028-Reduce-entity-allocations.patch index 76a31c6..02ce46d 100644 --- a/patches/server/0028-Reduce-entity-allocations.patch +++ b/patches/server/0028-Reduce-entity-allocations.patch @@ -31,10 +31,10 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 47246af8ee1089ecbe4002236035e69bc61fbe46..dfaa2b671ec33f3e275b532f5adb20ce10205163 100644 +index cd4461c175e88b9dd6f05a8bcd9363de60725370..44028368322ac91a4f6848f632d51d34269cb64a 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -446,6 +446,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -403,6 +403,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess return this.originWorld; } // Paper end - Entity origin API diff --git a/patches/server/0029-Remove-lambda-from-ticking-guard.patch b/patches/server/0029-Remove-lambda-from-ticking-guard.patch index f5a8a99..69163bd 100644 --- a/patches/server/0029-Remove-lambda-from-ticking-guard.patch +++ b/patches/server/0029-Remove-lambda-from-ticking-guard.patch @@ -31,10 +31,10 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index ac903433a7ab524e1f65f23fa943ee0aeaf8fa6d..254c80c60bdeaf8d3b65777648f7e863a4480a31 100644 +index b424fe78d3c9410e6d6378a7f104cfd5069f0d1e..cd73c5bc1cd56a4e7bbac5171015cd6904acf68d 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -781,7 +781,20 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -788,7 +788,20 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe entity.stopRiding(); } @@ -57,7 +57,7 @@ index ac903433a7ab524e1f65f23fa943ee0aeaf8fa6d..254c80c60bdeaf8d3b65777648f7e863 } } diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 1e1e3a0951a852171601199524e7181e115d9931..7352adfa3341efcb1b3342d4055d4def83fad120 100644 +index 5419efc40cd27c532acff423edaa259edacd862a..f019e1eb20a8ec3a57e5d90386cb10244ddfcb66 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -1489,15 +1489,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl diff --git a/patches/server/0030-SIMD-support.patch b/patches/server/0030-SIMD-support.patch index 83ed5d6..32d2f88 100644 --- a/patches/server/0030-SIMD-support.patch +++ b/patches/server/0030-SIMD-support.patch @@ -13,10 +13,10 @@ As part of: Pufferfish (https://github.com/pufferfish-gg/Pufferfish) Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) diff --git a/build.gradle.kts b/build.gradle.kts -index ead700089f8867e38699db409c13162f1014f58a..a19a0ecf3a6af07b0f7fe687e7fada392f37a4d1 100644 +index e3bed8a7f6a9b985c28551b2dfb03456b802380d..579877ba9bf17f40313c05ad5b1b219cf4b59ab3 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -78,6 +78,7 @@ tasks.withType { +@@ -92,6 +92,7 @@ tasks.withType { compilerArgs.add("-Xlint:-module") compilerArgs.add("-Xlint:-removal") compilerArgs.add("-Xlint:-dep-ann") @@ -24,7 +24,7 @@ index ead700089f8867e38699db409c13162f1014f58a..a19a0ecf3a6af07b0f7fe687e7fada39 } // Gale end - hide irrelevant compilation warnings -@@ -191,6 +192,7 @@ fun TaskContainer.registerRunTask( +@@ -210,6 +211,7 @@ fun TaskContainer.registerRunTask( minHeapSize = "${memoryGb}G" maxHeapSize = "${memoryGb}G" jvmArgs("--enable-preview") // Gale - enable preview features for development runs diff --git a/patches/server/0032-Optimize-entity-coordinate-key.patch b/patches/server/0032-Optimize-entity-coordinate-key.patch index 297bdcf..d2ee24a 100644 --- a/patches/server/0032-Optimize-entity-coordinate-key.patch +++ b/patches/server/0032-Optimize-entity-coordinate-key.patch @@ -35,10 +35,10 @@ index 31b92bd48828cbea25b44a9f0f96886347aa1ae6..036c1a287db04c0191e5f84b027ea68d public static long getChunkKey(final ChunkPos pos) { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index dfaa2b671ec33f3e275b532f5adb20ce10205163..77d7fd1d521427d18c7aff978ade74280eaf4846 100644 +index 44028368322ac91a4f6848f632d51d34269cb64a..d7c0a78c17de70037cca43bea758edcbe457cd73 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -316,7 +316,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -272,7 +272,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess public double yo; public double zo; private Vec3 position; diff --git a/patches/server/0056-Fix-cow-rotation-when-shearing-mooshroom.patch b/patches/server/0056-Fix-cow-rotation-when-shearing-mooshroom.patch index 12852ac..fa25bf7 100644 --- a/patches/server/0056-Fix-cow-rotation-when-shearing-mooshroom.patch +++ b/patches/server/0056-Fix-cow-rotation-when-shearing-mooshroom.patch @@ -37,7 +37,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java -index feeb7bc34ae02e44d7f13f0bae5d175ef924c53a..8ac72f18edaadba69652f8c2f7d672e81a5433da 100644 +index eea02ea0d99425a60575f5fa729782494d579080..0047c9f3c6dc901944187784e42cd09a3c6b460c 100644 --- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java +++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java @@ -195,6 +195,15 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder { - for (final ItemStack drop : drops) { + drops.forEach(drop -> { + ItemEntity entityitem = new ItemEntity(this.level(), this.getX(), this.getY(1.0D), this.getZ(), drop); diff --git a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java index fff9f552a9b3cc4913837077857c78826bf1bdb0..3fa354ceef3ec5ab9bca3f13f23aca586dfe09c4 100644 --- a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java diff --git a/patches/server/0063-Reduce-array-allocations.patch b/patches/server/0063-Reduce-array-allocations.patch index 951d287..0704448 100644 --- a/patches/server/0063-Reduce-array-allocations.patch +++ b/patches/server/0063-Reduce-array-allocations.patch @@ -324,10 +324,10 @@ index 90ca25c4aaf92a5639839a7cdaee2ffcdb75efa7..d3219e3d36ef96bb43c2cb7d86f14ef7 OptionSpec optionspec11 = optionparser.accepts("port").withRequiredArg().ofType(Integer.class).defaultsTo(-1, new Integer[0]); OptionSpec optionspec12 = optionparser.accepts("serverId").withRequiredArg(); diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 254c80c60bdeaf8d3b65777648f7e863a4480a31..c45121f6c4ed3b6bd9faf3f3d3bbddd647a48eae 100644 +index cd73c5bc1cd56a4e7bbac5171015cd6904acf68d..05a150bd6f29006d0aeaa91356f40deca02cb164 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -1243,7 +1243,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -1250,7 +1250,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe public static List getCurrentlyTickingEntities() { Entity ticking = currentlyTickingEntity.get(); @@ -469,7 +469,7 @@ index 2490a42c9c35c7e080279ef8566288a28362d167..542916b15fd42d8262b24ead91f146cd String[] strings = new String[pattern.size() - l - k]; diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 7352adfa3341efcb1b3342d4055d4def83fad120..51d8b22d30ae2271005a5377e2463a7f6bd85674 100644 +index f019e1eb20a8ec3a57e5d90386cb10244ddfcb66..dd4d40a14cef268fe992f2c5ba523748fb619bd9 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -1748,7 +1748,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl diff --git a/patches/server/0064-Optimize-sun-burn-tick.patch b/patches/server/0064-Optimize-sun-burn-tick.patch index 10c0e42..58492e0 100644 --- a/patches/server/0064-Optimize-sun-burn-tick.patch +++ b/patches/server/0064-Optimize-sun-burn-tick.patch @@ -13,10 +13,10 @@ As part of: JettPack (https://gitlab.com/Titaniumtown/JettPack) Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 77d7fd1d521427d18c7aff978ade74280eaf4846..c138217b0b4a300ba9084a7917ce43e9b56a66c7 100644 +index d7c0a78c17de70037cca43bea758edcbe457cd73..1a03a415d17fec083beaaafb0fc9da1f00f514de 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -315,7 +315,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -271,7 +271,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess public double xo; public double yo; public double zo; @@ -25,7 +25,7 @@ index 77d7fd1d521427d18c7aff978ade74280eaf4846..c138217b0b4a300ba9084a7917ce43e9 public BlockPos blockPosition; // Gale - Pufferfish - optimize entity coordinate key - private -> public private ChunkPos chunkPosition; private Vec3 deltaMovement; -@@ -2181,9 +2181,19 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -2145,9 +2145,19 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess /** @deprecated */ @Deprecated public float getLightLevelDependentMagicValue() { diff --git a/patches/server/0080-Skip-entity-move-if-movement-is-zero.patch b/patches/server/0080-Skip-entity-move-if-movement-is-zero.patch index b7d8203..99a90fb 100644 --- a/patches/server/0080-Skip-entity-move-if-movement-is-zero.patch +++ b/patches/server/0080-Skip-entity-move-if-movement-is-zero.patch @@ -13,10 +13,10 @@ As part of: VMP (https://github.com/RelativityMC/VMP-fabric) Licensed under: MIT (https://opensource.org/licenses/MIT) diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index c138217b0b4a300ba9084a7917ce43e9b56a66c7..3ae8e7e7daec2482429a9f669cf62c494ee095d3 100644 +index 1a03a415d17fec083beaaafb0fc9da1f00f514de..6604efeaf2eddfc109d05b45b4e36378862054c0 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -324,6 +324,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -280,6 +280,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess public float yRotO; public float xRotO; private AABB bb; @@ -24,7 +24,7 @@ index c138217b0b4a300ba9084a7917ce43e9b56a66c7..3ae8e7e7daec2482429a9f669cf62c49 public boolean onGround; public boolean horizontalCollision; public boolean verticalCollision; -@@ -1192,6 +1193,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1156,6 +1157,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess // Paper end - detailed watchdog information public void move(MoverType type, Vec3 movement) { @@ -36,7 +36,7 @@ index c138217b0b4a300ba9084a7917ce43e9b56a66c7..3ae8e7e7daec2482429a9f669cf62c49 final Vec3 originalMovement = movement; // Paper - Expose pre-collision velocity // Paper start - detailed watchdog information ca.spottedleaf.moonrise.common.util.TickThread.ensureTickThread("Cannot move an entity off-main"); -@@ -4411,6 +4417,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -4375,6 +4381,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } public final void setBoundingBox(AABB boundingBox) { diff --git a/patches/server/0085-Hide-flames-on-entities-with-fire-resistance.patch b/patches/server/0085-Hide-flames-on-entities-with-fire-resistance.patch index e3e2d62..3b913ff 100644 --- a/patches/server/0085-Hide-flames-on-entities-with-fire-resistance.patch +++ b/patches/server/0085-Hide-flames-on-entities-with-fire-resistance.patch @@ -13,10 +13,10 @@ As part of: Slice (https://github.com/Cryptite/Slice) Licensed under: MIT (https://opensource.org/licenses/MIT) diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 3ae8e7e7daec2482429a9f669cf62c494ee095d3..4bea126e025fcb5d8a626ea608d1839f493a3301 100644 +index 6604efeaf2eddfc109d05b45b4e36378862054c0..ce11e73e7a91c9d45f62552ab1cd7bec47b2a879 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -982,7 +982,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -946,7 +946,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess this.checkBelowWorld(); if (!this.level().isClientSide) { diff --git a/patches/server/0087-Reduce-block-destruction-packet-allocations.patch b/patches/server/0087-Reduce-block-destruction-packet-allocations.patch index cef7c91..54d9570 100644 --- a/patches/server/0087-Reduce-block-destruction-packet-allocations.patch +++ b/patches/server/0087-Reduce-block-destruction-packet-allocations.patch @@ -13,10 +13,10 @@ As part of: SportPaper (https://github.com/Electroid/SportPaper) Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index c45121f6c4ed3b6bd9faf3f3d3bbddd647a48eae..b6a624c4e8b2a47e7b0b8d1275111ece7036c117 100644 +index 05a150bd6f29006d0aeaa91356f40deca02cb164..86b2898d967d811d4727b5d0eb5f579fbc752590 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -1611,7 +1611,17 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -1618,7 +1618,17 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe @Override public void destroyBlockProgress(int entityId, BlockPos pos, int progress) { @@ -35,7 +35,7 @@ index c45121f6c4ed3b6bd9faf3f3d3bbddd647a48eae..b6a624c4e8b2a47e7b0b8d1275111ece // CraftBukkit start Player entityhuman = null; -@@ -1645,7 +1655,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -1652,7 +1662,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe // CraftBukkit end if (d0 * d0 + d1 * d1 + d2 * d2 < 1024.0D) { diff --git a/patches/server/0093-Load-portal-destination-chunk-before-entity-teleport.patch b/patches/server/0093-Load-portal-destination-chunk-before-entity-teleport.patch index d77fcfe..bc2390e 100644 --- a/patches/server/0093-Load-portal-destination-chunk-before-entity-teleport.patch +++ b/patches/server/0093-Load-portal-destination-chunk-before-entity-teleport.patch @@ -13,10 +13,10 @@ As part of: MultiPaper (https://github.com/MultiPaper/MultiPaper) Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 4bea126e025fcb5d8a626ea608d1839f493a3301..bb2e9a6e53dc353685cd914df975f87c27cad29b 100644 +index ce11e73e7a91c9d45f62552ab1cd7bec47b2a879..4865759b5ad05997b7777a8cd036967083c2ef39 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -4042,6 +4042,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -4006,6 +4006,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess if (entity == null) { return null; } else { diff --git a/patches/server/0095-Don-t-load-chunks-to-activate-climbing-entities.patch b/patches/server/0095-Don-t-load-chunks-to-activate-climbing-entities.patch index 1593674..7e492aa 100644 --- a/patches/server/0095-Don-t-load-chunks-to-activate-climbing-entities.patch +++ b/patches/server/0095-Don-t-load-chunks-to-activate-climbing-entities.patch @@ -7,10 +7,10 @@ License: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) Gale - https://galemc.org diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index bb2e9a6e53dc353685cd914df975f87c27cad29b..e1545f8fa67c4144f44927c65931a63b4a7c1bff 100644 +index 4865759b5ad05997b7777a8cd036967083c2ef39..205319053d1cadeebc2e3475330f220bccef7f6b 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -4955,6 +4955,16 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -4919,6 +4919,16 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess return this.inBlockState; } @@ -28,10 +28,10 @@ index bb2e9a6e53dc353685cd914df975f87c27cad29b..e1545f8fa67c4144f44927c65931a63b return this.chunkPosition; } diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 91c97580123701b4bafb7502d2947fda91dc9cc0..9f4ffbeb8ab4581dab95674f1e4bb78e86deeb7e 100644 +index 887adb618a6eb158b53a96e57d785583a3ac322f..9551c2b75687bd036aaabd9593df7d96c062ab90 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -2126,19 +2126,43 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -2132,19 +2132,43 @@ public abstract class LivingEntity extends Entity implements Attackable { public boolean onClimbableCached() { if (!this.blockPosition().equals(this.lastClimbingPosition)) { diff --git a/patches/server/0098-Skip-unnecessary-mob-spawning-computations.patch b/patches/server/0098-Skip-unnecessary-mob-spawning-computations.patch index 5c5544e..28ac8c2 100644 --- a/patches/server/0098-Skip-unnecessary-mob-spawning-computations.patch +++ b/patches/server/0098-Skip-unnecessary-mob-spawning-computations.patch @@ -13,10 +13,10 @@ As part of: MultiPaper (https://github.com/MultiPaper/MultiPaper) Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -index 9b42517eed2dd8644c9db759690f09aeef6ab3b2..4d416ef3a1c528a1ce221aed43b8823f90a3df49 100644 +index 370d8ab3cb7f4b066d94b2f4eeda794b79179fa7..4d0ac11bc9d72821e303ae357cf12576ef5d6993 100644 --- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java +++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -@@ -524,10 +524,15 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon +@@ -527,10 +527,15 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon } private void tickChunks(long timeDelta, List chunks) { // Gale - Purpur - remove vanilla profiler @@ -33,7 +33,7 @@ index 9b42517eed2dd8644c9db759690f09aeef6ab3b2..4d416ef3a1c528a1ce221aed43b8823f if ((this.spawnFriendlies || this.spawnEnemies) && this.level.paperConfig().entities.spawning.perPlayerMobSpawns) { // don't count mobs when animals and monsters are disabled // re-set mob counts for (ServerPlayer player : this.level.players) { -@@ -550,11 +555,15 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon +@@ -553,11 +558,15 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon // Paper end - Optional per player mob spawns this.lastSpawnState = spawnercreature_d; @@ -51,7 +51,7 @@ index 9b42517eed2dd8644c9db759690f09aeef6ab3b2..4d416ef3a1c528a1ce221aed43b8823f // Paper start - PlayerNaturallySpawnCreaturesEvent int chunkRange = level.spigotConfig.mobSpawnRange; chunkRange = (chunkRange > level.spigotConfig.viewDistance) ? (byte) level.spigotConfig.viewDistance : chunkRange; -@@ -593,6 +602,20 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon +@@ -596,6 +605,20 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon } diff --git a/patches/server/0101-CraftBukkit-UUID-to-world-map.patch b/patches/server/0101-CraftBukkit-UUID-to-world-map.patch index 9945ec4..da0bd06 100644 --- a/patches/server/0101-CraftBukkit-UUID-to-world-map.patch +++ b/patches/server/0101-CraftBukkit-UUID-to-world-map.patch @@ -13,7 +13,7 @@ As part of: MultiPaper (https://github.com/MultiPaper/MultiPaper) Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index c32a5ad0ce36fcc5a91484da6a8631814c6b61eb..6aaa1dc71551a5a7ff6605309de6a23d0e96682a 100644 +index 50ca138f183529b71790c6c458e1b815c04d4971..6f3ab640cbebce1b0b3b8dfedc59a426b293f462 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -284,6 +284,7 @@ public final class CraftServer implements Server { @@ -24,7 +24,7 @@ index c32a5ad0ce36fcc5a91484da6a8631814c6b61eb..6aaa1dc71551a5a7ff6605309de6a23d // private final Map, Registry> registries = new HashMap<>(); // Paper - replace with RegistryAccess private YamlConfiguration configuration; private YamlConfiguration commandsConfiguration; -@@ -1495,6 +1496,7 @@ public final class CraftServer implements Server { +@@ -1507,6 +1508,7 @@ public final class CraftServer implements Server { this.getLogger().log(Level.SEVERE, null, ex); } @@ -32,7 +32,7 @@ index c32a5ad0ce36fcc5a91484da6a8631814c6b61eb..6aaa1dc71551a5a7ff6605309de6a23d this.worlds.remove(world.getName().toLowerCase(Locale.ROOT)); this.console.removeLevel(handle); return true; -@@ -1513,12 +1515,7 @@ public final class CraftServer implements Server { +@@ -1525,12 +1527,7 @@ public final class CraftServer implements Server { @Override public World getWorld(UUID uid) { @@ -46,7 +46,7 @@ index c32a5ad0ce36fcc5a91484da6a8631814c6b61eb..6aaa1dc71551a5a7ff6605309de6a23d } // Paper start -@@ -1536,6 +1533,7 @@ public final class CraftServer implements Server { +@@ -1548,6 +1545,7 @@ public final class CraftServer implements Server { System.out.println("World " + world.getName() + " is a duplicate of another world and has been prevented from loading. Please delete the uid.dat file from " + world.getName() + "'s world directory if you want to be able to load the duplicate world."); return; } diff --git a/patches/server/0103-Specific-interval-TPS-API.patch b/patches/server/0103-Specific-interval-TPS-API.patch index 2e80632..b846094 100644 --- a/patches/server/0103-Specific-interval-TPS-API.patch +++ b/patches/server/0103-Specific-interval-TPS-API.patch @@ -7,10 +7,10 @@ License: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) Gale - https://galemc.org diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 6aaa1dc71551a5a7ff6605309de6a23d0e96682a..5d1514070b671835d022add4fc99bd896d5c2463 100644 +index 6f3ab640cbebce1b0b3b8dfedc59a426b293f462..c89181402150c0ccaec9df08513b9f9b98be5fa2 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -3068,6 +3068,24 @@ public final class CraftServer implements Server { +@@ -3080,6 +3080,24 @@ public final class CraftServer implements Server { }; } diff --git a/patches/server/0104-5-second-TPS-average.patch b/patches/server/0104-5-second-TPS-average.patch index e9c5671..d4271dc 100644 --- a/patches/server/0104-5-second-TPS-average.patch +++ b/patches/server/0104-5-second-TPS-average.patch @@ -58,10 +58,10 @@ index 12b327eea95e0de9e9c39b7d039badee8ec46508..6178f0212214a2a075cea60c758dca79 } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 4ac560e7af98a7387f9c3a6338ff90d0d57e010d..34715de444d13373fb535c1940e0ad4e7dea67da 100644 +index 70ce9cbd961d50f796ef85504d26e7d9d1b919da..7433aab37bebccc6a6a738b49ce170ab90f110de 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1155,6 +1155,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { -@@ -1454,6 +1462,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop