9
0
mirror of https://github.com/Dreeam-qwq/Gale.git synced 2025-12-28 02:59:12 +00:00

Updated Upstream (Paper)

This commit is contained in:
Dreeam
2024-11-28 02:54:56 -05:00
parent cc43292ecb
commit 2fed8574bd
41 changed files with 216 additions and 219 deletions

View File

@@ -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

View File

@@ -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<Javadoc> {
@@ -207,6 +216,8 @@ tasks.withType<Javadoc> {
into("build/docs/javadoc")
}
}

View File

@@ -46,10 +46,10 @@ index 94a9ed024d3859793618152ea559a168bbcbb5e2..e60008693e017bec1b4eb49c84be3898
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
+<https://www.gnu.org/philosophy/why-not-lgpl.html>.
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"
)
}

View File

@@ -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<JavaCompile> {
@@ -154,6 +154,7 @@ tasks.withType<JavaCompile> {
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<Javadoc> {
@@ -224,6 +225,7 @@ tasks.withType<Javadoc> {
}
options.addStringOption("Xdoclint:none", "-quiet") // Gale - hide irrelevant compilation warnings

View File

@@ -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()];

View File

@@ -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
+
}

View File

@@ -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

View File

@@ -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
}

View File

@@ -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"

View File

@@ -221,10 +221,10 @@ index 94a9ed024d3859793618152ea559a168bbcbb5e2..e60008693e017bec1b4eb49c84be3898
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
+<https://www.gnu.org/philosophy/why-not-lgpl.html>.
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<io.papermc.paperweight.tasks.CreatePaperclipJar>("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 {

View File

@@ -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;

View File

@@ -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<G, W> {
@@ -94,7 +94,7 @@ public abstract class Configurations<G, W> {
};
}
@@ -25,7 +25,7 @@ index 87e5f614ba988547a827486740db217e28585773..cdb216e596f83139a63864fd6a9e4cf0
return node -> {
ObjectMapper.Factory factory = (ObjectMapper.Factory) Objects.requireNonNull(node.options().serializers().get(type));
ObjectMapper.Mutable<T> mutable = (ObjectMapper.Mutable<T>) factory.get(type);
@@ -170,7 +170,7 @@ public abstract class Configurations<G, W> {
@@ -168,7 +168,7 @@ public abstract class Configurations<G, W> {
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<G, W> {
@@ -230,7 +230,7 @@ public abstract class Configurations<G, W> {
.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<G, W> {
@@ -356,4 +356,25 @@ public abstract class Configurations<G, W> {
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<GlobalConfiguration, Wor
@@ -326,7 +326,7 @@ public class PaperConfigurations extends Configurations<GlobalConfiguration, Wor
}
}
@@ -82,7 +82,7 @@ index 1029b6de6f36b08bf634b4056ef5701383f6f258..1dd9531ffa272b8248f78a9ec029edcd
return createWorldContextMap(level.convertable.levelDirectory.path(), level.serverLevelData.getLevelName(), level.dimension().location(), level.spigotConfig, level.registryAccess(), level.getGameRules());
}
@@ -426,17 +426,6 @@ public class PaperConfigurations extends Configurations<GlobalConfiguration, Wor
@@ -429,17 +429,6 @@ public class PaperConfigurations extends Configurations<GlobalConfiguration, Wor
return Files.exists(legacyConfig) && Files.isRegularFile(legacyConfig);
}
@@ -100,7 +100,7 @@ index 1029b6de6f36b08bf634b4056ef5701383f6f258..1dd9531ffa272b8248f78a9ec029edcd
@Deprecated
public static YamlConfiguration loadLegacyConfigFile(File configFile) throws Exception {
YamlConfiguration config = new YamlConfiguration();
@@ -459,9 +448,16 @@ public class PaperConfigurations extends Configurations<GlobalConfiguration, Wor
@@ -462,9 +451,16 @@ public class PaperConfigurations extends Configurations<GlobalConfiguration, Wor
}
// Symlinks are not correctly checked in createDirectories
@@ -119,20 +119,20 @@ index 1029b6de6f36b08bf634b4056ef5701383f6f258..1dd9531ffa272b8248f78a9ec029edcd
+ // Gale end - Gale configuration
}
diff --git a/src/main/java/io/papermc/paper/configuration/mapping/InnerClassFieldDiscoverer.java b/src/main/java/io/papermc/paper/configuration/mapping/InnerClassFieldDiscoverer.java
index 8f23276796037d048eb114952891a01a40971b3e..e8f527d7c09be660b539ec2b7a77e0182748b526 100644
index 05339a176083af667c16f77d76dc1878dafce3f0..9ca55cba185b9de566f911b08d671bee50bca075 100644
--- a/src/main/java/io/papermc/paper/configuration/mapping/InnerClassFieldDiscoverer.java
+++ b/src/main/java/io/papermc/paper/configuration/mapping/InnerClassFieldDiscoverer.java
@@ -48,7 +48,19 @@ public final class InnerClassFieldDiscoverer implements FieldDiscoverer<Map<Fiel
@@ -46,7 +46,19 @@ public final class InnerClassFieldDiscoverer implements FieldDiscoverer<Map<Fiel
return new InnerClassFieldDiscoverer(overrides);
}
- public static FieldDiscoverer<?> 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<Class<?>, 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<TickTa
@@ -155,7 +155,7 @@ index 64b56abf8900d0424100da460fc68ac964394793..36f4c7d14e047141f31887e10f0ac329
public boolean isIteratingOverLevels = false; // Paper - Throw exception on world create while being ticked
public volatile Thread shutdownThread; // Paper
@@ -510,6 +511,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -511,6 +512,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
Runtime.getRuntime().addShutdownHook(new org.bukkit.craftbukkit.util.ServerShutdownThread(this));
// CraftBukkit end
this.paperConfigurations = services.paperConfigurations(); // Paper - add paper configuration files
@@ -221,10 +221,10 @@ index 17a158ff6ce6520b69a5a0032ba4c05449dd0cf8..9ce281e220089ea2a9218c25879f42aa
// Paper start - fix converting txt to json file; convert old users earlier after PlayerList creation but before file load/save
if (this.convertOldUsers()) {
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 5964d601c05176f48167cc92057a59e52a4da92b..d406eebb7efb00b79128bdceb71d51be4efbce4c 100644
index b4027f5cf90935a1fe3ab2c28b0bcbb55a7b541b..73bed8c899d146893e7e2f845b7bbf991d5d8a1f 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -590,7 +590,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -597,7 +597,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
// Add env and gen to constructor, IWorldDataServer -> WorldDataServer
public ServerLevel(MinecraftServer minecraftserver, Executor executor, LevelStorageSource.LevelStorageAccess convertable_conversionsession, PrimaryLevelData iworlddataserver, ResourceKey<Level> resourcekey, LevelStem worlddimension, ChunkProgressListener worldloadlistener, boolean flag, long i, List<CustomSpawner> 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);
}

View File

@@ -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<TickTa
@@ -430,12 +412,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
public MinecraftServer(OptionSet options, WorldLoader.DataLoadContext worldLoader, Thread thread, LevelStorageSource.LevelStorageAccess convertable_conversionsession, PackRepository resourcepackrepository, WorldStem worldstem, Proxy proxy, DataFixer datafixer, Services services, ChunkProgressListenerFactory worldloadlistenerfactory) {
super("Server");
SERVER = this; // Paper - better singleton
@@ -222,7 +222,7 @@ index 36f4c7d14e047141f31887e10f0ac3297e70fecf..4ac560e7af98a7387f9c3a6338ff90d0
this.random = RandomSource.create();
this.port = -1;
this.levels = Maps.newLinkedHashMap();
@@ -1048,9 +1024,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1049,9 +1025,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
org.spigotmc.WatchdogThread.doStop(); // Paper
// Paper end
// CraftBukkit end
@@ -232,7 +232,7 @@ index 36f4c7d14e047141f31887e10f0ac3297e70fecf..4ac560e7af98a7387f9c3a6338ff90d0
MinecraftServer.LOGGER.info("Stopping server");
Commands.COMMAND_SENDING_POOL.shutdownNow(); // Paper - Perf: Async command map building; Shutdown and don't bother finishing
@@ -1310,22 +1283,10 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1311,22 +1284,10 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
boolean flag = i == 0L;
@@ -255,7 +255,7 @@ index 36f4c7d14e047141f31887e10f0ac3297e70fecf..4ac560e7af98a7387f9c3a6338ff90d0
this.tickFrame.start();
this.tickServer(flag ? () -> {
return false;
@@ -1338,7 +1299,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1339,7 +1300,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
// Paper end - rewrite chunk system
this.tickFrame.end();
@@ -263,7 +263,7 @@ index 36f4c7d14e047141f31887e10f0ac3297e70fecf..4ac560e7af98a7387f9c3a6338ff90d0
this.mayHaveDelayedTasks = true;
this.delayedTasksMaxNextTickTimeNanos = Math.max(Util.getNanos() + i, this.nextTickTimeNanos);
this.startMeasuringTaskExecutionTime();
@@ -1348,26 +1308,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1349,26 +1309,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.tickRateManager.endTickWork();
}
@@ -290,7 +290,7 @@ index 36f4c7d14e047141f31887e10f0ac3297e70fecf..4ac560e7af98a7387f9c3a6338ff90d0
this.isReady = true;
JvmProfiler.INSTANCE.onServerTick(this.smoothedTickTimeMillis);
@@ -1574,7 +1515,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1575,7 +1516,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
public void doRunTask(TickTask ticktask) { // CraftBukkit - decompile error
@@ -298,7 +298,7 @@ index 36f4c7d14e047141f31887e10f0ac3297e70fecf..4ac560e7af98a7387f9c3a6338ff90d0
super.doRunTask(ticktask);
}
@@ -1669,12 +1609,10 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1671,12 +1611,10 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
--this.ticksUntilAutosave;
// Paper start - Incremental chunk and player saving
@@ -311,7 +311,7 @@ index 36f4c7d14e047141f31887e10f0ac3297e70fecf..4ac560e7af98a7387f9c3a6338ff90d0
final boolean fullSave = autosavePeriod > 0 && this.tickCount % autosavePeriod == 0;
try {
this.isSaving = true;
@@ -1689,11 +1627,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1691,11 +1629,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
} finally {
this.isSaving = false;
}
@@ -323,7 +323,7 @@ index 36f4c7d14e047141f31887e10f0ac3297e70fecf..4ac560e7af98a7387f9c3a6338ff90d0
this.runAllTasks(); // Paper - move runAllTasks() into full server tick (previously for timings)
this.server.spark.executeMainThreadTasks(); // Paper - spark
// Paper start - Server Tick Events
@@ -1702,7 +1637,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1704,7 +1639,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
new com.destroystokyo.paper.event.server.ServerTickEndEvent(this.tickCount, ((double)(endTime - lastTick) / 1000000D), remaining).callEvent();
// Paper end - Server Tick Events
this.server.spark.tickEnd(((double)(endTime - lastTick) / 1000000D)); // Paper - spark
@@ -331,7 +331,7 @@ index 36f4c7d14e047141f31887e10f0ac3297e70fecf..4ac560e7af98a7387f9c3a6338ff90d0
long k = Util.getNanos() - i;
int l = this.tickCount % 100;
@@ -1716,17 +1650,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1718,17 +1652,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.tickTimes60s.add(this.tickCount, k);
// Paper end - Add tick times API and /mspt command
this.logTickMethodTime(i);
@@ -349,7 +349,7 @@ index 36f4c7d14e047141f31887e10f0ac3297e70fecf..4ac560e7af98a7387f9c3a6338ff90d0
MinecraftServer.LOGGER.debug("Autosave finished");
}
@@ -1795,8 +1725,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1797,8 +1727,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
protected void tickChildren(BooleanSupplier shouldKeepTicking) {
@@ -358,7 +358,7 @@ index 36f4c7d14e047141f31887e10f0ac3297e70fecf..4ac560e7af98a7387f9c3a6338ff90d0
this.getPlayerList().getPlayers().forEach((entityplayer) -> {
entityplayer.connection.suspendFlushing();
});
@@ -1816,9 +1744,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1818,9 +1746,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
});
// Paper end - Folia scheduler API
io.papermc.paper.adventure.providers.ClickCallbackProviderImpl.CALLBACK_MANAGER.handleQueue(this.tickCount); // Paper
@@ -368,7 +368,7 @@ index 36f4c7d14e047141f31887e10f0ac3297e70fecf..4ac560e7af98a7387f9c3a6338ff90d0
//Iterator iterator = this.getAllLevels().iterator(); // Paper - Throw exception on world create while being ticked; moved down
// CraftBukkit start
@@ -1856,21 +1782,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1858,21 +1784,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
net.minecraft.world.level.block.entity.HopperBlockEntity.skipHopperEvents = worldserver.paperConfig().hopper.disableMoveEvent || org.bukkit.event.inventory.InventoryMoveItemEvent.getHandlerList().getRegisteredListeners().length == 0; // Paper - Perf: Optimize Hoppers
worldserver.updateLagCompensationTick(); // Paper - lag compensation
@@ -390,7 +390,7 @@ index 36f4c7d14e047141f31887e10f0ac3297e70fecf..4ac560e7af98a7387f9c3a6338ff90d0
try {
worldserver.tick(shouldKeepTicking);
} catch (Throwable throwable) {
@@ -1880,27 +1797,20 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1882,27 +1799,20 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
throw new ReportedException(crashreport);
}
@@ -418,7 +418,7 @@ index 36f4c7d14e047141f31887e10f0ac3297e70fecf..4ac560e7af98a7387f9c3a6338ff90d0
iterator = this.playerList.getPlayers().iterator();
while (iterator.hasNext()) {
@@ -1909,8 +1819,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1911,8 +1821,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
entityplayer.connection.chunkSender.sendNextChunks(entityplayer);
entityplayer.connection.resumeFlushing();
}
@@ -427,7 +427,7 @@ index 36f4c7d14e047141f31887e10f0ac3297e70fecf..4ac560e7af98a7387f9c3a6338ff90d0
}
public void tickConnection() {
@@ -1922,9 +1830,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1924,9 +1832,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
public void forceTimeSynchronization() {
@@ -437,7 +437,7 @@ index 36f4c7d14e047141f31887e10f0ac3297e70fecf..4ac560e7af98a7387f9c3a6338ff90d0
Iterator iterator = this.getAllLevels().iterator();
while (iterator.hasNext()) {
@@ -1932,8 +1837,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1934,8 +1839,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.synchronizeTime(worldserver);
}
@@ -446,7 +446,7 @@ index 36f4c7d14e047141f31887e10f0ac3297e70fecf..4ac560e7af98a7387f9c3a6338ff90d0
}
public boolean isLevelEnabled(Level world) {
@@ -2885,50 +2788,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -2887,50 +2790,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
// CraftBukkit end
@@ -497,7 +497,7 @@ index 36f4c7d14e047141f31887e10f0ac3297e70fecf..4ac560e7af98a7387f9c3a6338ff90d0
public Path getWorldPath(LevelResource worldSavePath) {
return this.storageSource.getLevelPath(worldSavePath);
}
@@ -2978,25 +2837,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -2980,25 +2839,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
return this.isSaving;
}
@@ -523,7 +523,7 @@ index 36f4c7d14e047141f31887e10f0ac3297e70fecf..4ac560e7af98a7387f9c3a6338ff90d0
public int getMaxChainedNeighborUpdates() {
return 1000000;
}
@@ -3109,56 +2949,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -3111,56 +2951,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
}
@@ -744,7 +744,7 @@ index 7ea8c13c9993576c1408e710d3ceb9947b09090d..6a0a44ecc7ee6e838574b82f2faf5dcb
private int getRadiusForLayer(ChunkStatus status, boolean generate) {
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
index 5b3a886c624b36557cbfaccdc3fb05a46a4ba36a..d72c49b7861f049ebc32f7bb15345243c4be5838 100644
index e6af9b8793812e2007971c9040fb54b6af068081..d616086ffd84c395bc1f9651076bff624048010f 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -65,8 +65,6 @@ import net.minecraft.server.network.ServerPlayerConnection;
@@ -774,7 +774,7 @@ index 5b3a886c624b36557cbfaccdc3fb05a46a4ba36a..d72c49b7861f049ebc32f7bb15345243
public boolean hasWork() {
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
index 381b2535d598094990af532b72b15eadc13208ad..0f9ea834c02114ad864abd13382665c02cb69ba4 100644
index 82110c9af65479a918ba519e197ba880f5fcc24d..2b8c4ee8ad8eb96060e82911c07b01f7b01a4329 100644
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
@@ -26,8 +26,6 @@ import net.minecraft.network.protocol.Packet;
@@ -786,7 +786,7 @@ index 381b2535d598094990af532b72b15eadc13208ad..0f9ea834c02114ad864abd13382665c0
import net.minecraft.util.thread.BlockableEventLoop;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.ai.village.poi.PoiManager;
@@ -436,38 +434,28 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
@@ -439,38 +437,28 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
// CraftBukkit start - modelled on below
public void purgeUnload() {
if (true) return; // Paper - rewrite chunk system
@@ -825,7 +825,7 @@ index 381b2535d598094990af532b72b15eadc13208ad..0f9ea834c02114ad864abd13382665c0
this.clearCache();
}
@@ -477,34 +465,26 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
@@ -480,34 +468,26 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
this.lastInhabitedUpdate = i;
if (!this.level.isDebug()) {
@@ -863,7 +863,7 @@ index 381b2535d598094990af532b72b15eadc13208ad..0f9ea834c02114ad864abd13382665c0
Iterator iterator = this.chunkHoldersToBroadcast.iterator();
while (iterator.hasNext()) {
@@ -517,7 +497,6 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
@@ -520,7 +500,6 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
}
this.chunkHoldersToBroadcast.clear();
@@ -871,7 +871,7 @@ index 381b2535d598094990af532b72b15eadc13208ad..0f9ea834c02114ad864abd13382665c0
}
private void collectTickingChunks(List<LevelChunk> 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;

View File

@@ -37,7 +37,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
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

View File

@@ -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<ServerExplosion.CacheKey, Float> explosionDensityCache = new HashMap<>(); // Paper - Optimize explosions
public java.util.ArrayDeque<net.minecraft.world.level.block.RedstoneTorchBlock.Toggle> 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;

View File

@@ -52,10 +52,10 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
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<LevelChunk> 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
}
}

View File

@@ -31,10 +31,10 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
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."
));

View File

@@ -31,10 +31,10 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
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

View File

@@ -31,10 +31,10 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
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

View File

@@ -31,10 +31,10 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
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

View File

@@ -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<JavaCompile> {
@@ -92,6 +92,7 @@ tasks.withType<JavaCompile> {
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

View File

@@ -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;

View File

@@ -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<Mushroo
@@ -54,8 +54,8 @@ index feeb7bc34ae02e44d7f13f0bae5d175ef924c53a..8ac72f18edaadba69652f8c2f7d672e8
+ }
+ // Gale end - Purpur - fix cow rotation when shearing mooshroom
// Paper start - custom shear drops; moved drop generation to separate method
drops.forEach(itemstack1 -> {
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

View File

@@ -324,10 +324,10 @@ index 90ca25c4aaf92a5639839a7cdaee2ffcdb75efa7..d3219e3d36ef96bb43c2cb7d86f14ef7
OptionSpec<Integer> optionspec11 = optionparser.accepts("port").withRequiredArg().ofType(Integer.class).defaultsTo(-1, new Integer[0]);
OptionSpec<String> 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<Entity> 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

View File

@@ -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() {

View File

@@ -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) {

View File

@@ -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) {

View File

@@ -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) {

View File

@@ -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 {

View File

@@ -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)) {

View File

@@ -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<LevelChunk> 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
}

View File

@@ -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<Class<?>, 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;
}

View File

@@ -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 {
};
}

View File

@@ -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<TickTa
@@ -1156,6 +1156,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
private static final long MAX_CATCHUP_BUFFER = TICK_TIME * TPS * 60L;
private long lastTick = 0;
private long catchupTime = 0;
@@ -69,7 +69,7 @@ index 4ac560e7af98a7387f9c3a6338ff90d0d57e010d..34715de444d13373fb535c1940e0ad4e
public final RollingAverage tps1 = new RollingAverage(60);
public final RollingAverage tps5 = new RollingAverage(60 * 5);
public final RollingAverage tps15 = new RollingAverage(60 * 15);
@@ -1268,6 +1269,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1269,6 +1270,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
if (++MinecraftServer.currentTick % MinecraftServer.SAMPLE_INTERVAL == 0) {
final long diff = currentTime - tickSection;
final java.math.BigDecimal currentTps = TPS_BASE.divide(new java.math.BigDecimal(diff), 30, java.math.RoundingMode.HALF_UP);
@@ -78,10 +78,10 @@ index 4ac560e7af98a7387f9c3a6338ff90d0d57e010d..34715de444d13373fb535c1940e0ad4e
tps5.add(currentTps, diff);
tps15.add(currentTps, diff);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 5d1514070b671835d022add4fc99bd896d5c2463..097ed1ea3e3c3a2758ecc1a5cdebab3b70c23fcb 100644
index c89181402150c0ccaec9df08513b9f9b98be5fa2..7308c2177f81455792819d622c3702a140741de2 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -3068,8 +3068,27 @@ public final class CraftServer implements Server {
@@ -3080,8 +3080,27 @@ public final class CraftServer implements Server {
};
}

View File

@@ -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/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index b033967d20094e04e300762db40d193a1dc0065f..2f8980abffdff243b85c720b91c4feb30df769aa 100644
index 7433aab37bebccc6a6a738b49ce170ab90f110de..7759fe7b458b681589b47932197961722676ada7 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1203,6 +1203,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1204,6 +1204,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
// Paper end
// Spigot End
@@ -38,7 +38,7 @@ index b033967d20094e04e300762db40d193a1dc0065f..2f8980abffdff243b85c720b91c4feb3
protected void runServer() {
try {
long serverStartTime = Util.getNanos(); // Paper
@@ -1288,11 +1293,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1289,11 +1294,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
//MinecraftServer.currentTick = (int) (System.currentTimeMillis() / 50); // CraftBukkit // Paper - don't overwrite current tick time
lastTick = currentTime;
this.nextTickTimeNanos += i;
@@ -52,7 +52,7 @@ index b033967d20094e04e300762db40d193a1dc0065f..2f8980abffdff243b85c720b91c4feb3
// Paper start - rewrite chunk system
final Throwable crash = this.chunkSystemCrash;
if (crash != null) {
@@ -1447,6 +1454,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1448,6 +1455,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
protected void waitUntilNextTick() {
this.runAllTasks();
this.waitingForNextTick = true;
@@ -60,7 +60,7 @@ index b033967d20094e04e300762db40d193a1dc0065f..2f8980abffdff243b85c720b91c4feb3
try {
this.managedBlock(() -> {
@@ -1454,6 +1462,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1455,6 +1463,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
});
} finally {
this.waitingForNextTick = false;

View File

@@ -23,13 +23,13 @@ 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/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 097ed1ea3e3c3a2758ecc1a5cdebab3b70c23fcb..0638dea2736c286b0848a632e7e948ba895e4a35 100644
index 7308c2177f81455792819d622c3702a140741de2..c11f638e120ae4989d110f55c4569dd67b6f3260 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -3297,4 +3297,22 @@ public final class CraftServer implements Server {
return this.potionBrewer;
@@ -3321,4 +3321,21 @@ public final class CraftServer implements Server {
this.console.addPluginAllowingSleep(plugin.getName(), value);
}
// Paper end
// Paper end - API to check if the server is sleeping
+
+ // Gale start - YAPFA - last tick time - API
+ @Override
@@ -47,5 +47,4 @@ index 097ed1ea3e3c3a2758ecc1a5cdebab3b70c23fcb..0638dea2736c286b0848a632e7e948ba
+ return MinecraftServer.lastTickOversleepTime;
+ }
+ // Gale end - YAPFA - last tick time - API
+
}

View File

@@ -16,10 +16,10 @@ As part of: Akarin (https://github.com/Akarin-project/Akarin)
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 e1545f8fa67c4144f44927c65931a63b4a7c1bff..01440cb38871c4b5422c03f765da49bd732bc49d 100644
index 205319053d1cadeebc2e3475330f220bccef7f6b..85aa260096e4be778deae65340eac5646ff1fe41 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2326,8 +2326,8 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -2290,8 +2290,8 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
public void playerTouch(Player player) {}
public void push(Entity entity) {

View File

@@ -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 01440cb38871c4b5422c03f765da49bd732bc49d..791ba3b5d4c1f7ecc1473c25902de8b7757814c6 100644
index 85aa260096e4be778deae65340eac5646ff1fe41..f70d8dc85f007cbc990fcf49530ad3f3d192f1ed 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -1322,9 +1322,17 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -1286,9 +1286,17 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
}

View File

@@ -66,10 +66,10 @@ index 6a465d9b12c92b5385c394fef7456630be97c04d..8c2b40b412edc75f7f1f00315c98744c
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index d41c81158c00931e6b11093cce141f6a3085ba05..7fe89b9ffec6d8907d69ed9e7a9859eadfbdb58d 100644
index 8f234b46c24a0ae08aa5f8190c5b27e1f62dfbab..1ae7a8a1dc5bb6f4c4f4ae9d6024d6a4a792066c 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -295,7 +295,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -287,7 +287,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
}
// Paper end
@@ -548,7 +548,7 @@ index 0000000000000000000000000000000000000000..60dc2c1deb0749168d03c5d94136e613
+ }
+}
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
index 21363541030d0381a8e139b409453b57a4eb6eaf..93f82e84abad1bdaabf59169415991acaf3f074d 100644
index f1581caf54012ce4d4b9aecbc56b5b815c67a423..5d1cc9b9150f84bb84cef5dd741e72787c02f089 100644
--- a/src/main/java/org/spigotmc/ActivationRange.java
+++ b/src/main/java/org/spigotmc/ActivationRange.java
@@ -92,7 +92,7 @@ public class ActivationRange

View File

@@ -7,7 +7,7 @@ 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/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 2f8980abffdff243b85c720b91c4feb30df769aa..3f160c55b356ab943c94c94294fbf4657a45da7f 100644
index 7759fe7b458b681589b47932197961722676ada7..ffc69e4eab4a28dd0066b322de852577b4c392b9 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -195,6 +195,8 @@ import org.bukkit.event.server.ServerLoadEvent;
@@ -19,7 +19,7 @@ index 2f8980abffdff243b85c720b91c4feb30df769aa..3f160c55b356ab943c94c94294fbf465
private static MinecraftServer SERVER; // Paper
public static final Logger LOGGER = LogUtils.getLogger();
public static final net.kyori.adventure.text.logger.slf4j.ComponentLogger COMPONENT_LOGGER = net.kyori.adventure.text.logger.slf4j.ComponentLogger.logger(LOGGER.getName()); // Paper
@@ -333,6 +335,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -334,6 +336,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
S s0 = serverFactory.apply(thread); // CraftBukkit - decompile error
atomicreference.set(s0);

View File

@@ -1,5 +1,4 @@
## TODOs
Check chunk sys threads in gale metrics
Do a benchmark for `Remove streams and iterators from range check`, getEffectiveRange in ChunkMap
Do benchmark for reduce entity fluid lookup on 1.21.3
Block shape pair key hashcode cache