Updated Upstream(Folia)

This commit is contained in:
MrHua269
2024-01-27 14:38:04 +00:00
parent 2616bd9df6
commit c5a7fbccbf
41 changed files with 229 additions and 291 deletions

View File

@@ -1,7 +1,7 @@
group = me.earthme.luminol
version = 1.20.4-R0.1-SNAPSHOT
foliaCommit = 4d78338afea610ea8aee20aa0f3cbb36f443640a
foliaCommit = 7bc26ecc74fed21699033d5e7ed5d003796b60cf
org.gradle.caching = true
org.gradle.parallel = true

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Fix build
diff --git a/build.gradle.kts b/build.gradle.kts
index 38352926640d97449256d50ebdec619ce9e695a0..e8421c841d20855eaa262b55115584f14d0f25cf 100644
index 959e62d800de05b2dd77a252f442c3daf8438490..b9c5ef4d15aa97a380419912e3ee09d094ae752e 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -14,7 +14,7 @@ val alsoShade: Configuration by configurations.creating
@@ -17,7 +17,7 @@ index 38352926640d97449256d50ebdec619ce9e695a0..e8421c841d20855eaa262b55115584f1
implementation("io.papermc.paper:paper-mojangapi:${project.version}") {
exclude("io.papermc.paper", "paper-api")
}
@@ -74,7 +74,7 @@ tasks.jar {
@@ -73,7 +73,7 @@ tasks.jar {
attributes(
"Main-Class" to "org.bukkit.craftbukkit.Main",
"Implementation-Title" to "CraftBukkit",

View File

@@ -51,10 +51,10 @@ index e2f704c115fd6e00960bb56bb0779f1100c89c17..72b9343979de5aa8bb399cbe7cb8a795
return history != null ? TextComponent.ofChildren(updateMessage, Component.newline(), history) : updateMessage;
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 9ea861c1531c5f9d8a87e45512336eba3bddf06a..f81025798943c123b4e7f621014fe1f8a89ff02b 100644
index 4383528df7627c5eb7cba1218f1b4e524e4fe956..b2e33a1a29c67f6f9768f547adeb34632548c7d0 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1965,7 +1965,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1951,7 +1951,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@DontObfuscate
public String getServerModName() {
@@ -64,7 +64,7 @@ index 9ea861c1531c5f9d8a87e45512336eba3bddf06a..f81025798943c123b4e7f621014fe1f8
public SystemReport fillSystemReport(SystemReport details) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index bea388ced64da6192166f6f8461abdc0921ed7b0..46496032f2f6535d2af2c39af49ae8d168452951 100644
index f97f764c70243a57e78b62af9971677d5e49c66d..1d8681ee2c71c06a596a6eff650753a358de22c1 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -264,7 +264,7 @@ import javax.annotation.Nullable; // Paper

View File

@@ -1,11 +1,11 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: M2ke4U <79621885+MrHua269@users.noreply.github.com>
Date: Sat, 23 Dec 2023 22:02:49 +0800
From: MrHua269 <novau233@163.com>
Date: Sat, 27 Jan 2024 07:36:28 +0000
Subject: [PATCH] Added empty luminol config
diff --git a/build.gradle.kts b/build.gradle.kts
index e8421c841d20855eaa262b55115584f14d0f25cf..6adb602bc83c1c4f57a10a4391db901463e565d4 100644
index b9c5ef4d15aa97a380419912e3ee09d094ae752e..83660616a26d989ce441e17acab103ab166304d8 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -19,6 +19,7 @@ dependencies {
@@ -122,7 +122,7 @@ index 0000000000000000000000000000000000000000..1f9ff0fc33fa36c90fc4cbbd21b7b790
+ }
+}
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index 12af517a7dd8c0bb2bc55ab3eb0e68a074011bb5..f3c28b5dff487813a61ebf531c2ee77e4d2071cc 100644
index 98ea5cecac2ab647acfb4d8bbea8ada9872cc4cd..e5eeb361fc29c831a76f87c60896b5dd23f58736 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -19,6 +19,8 @@ import java.util.Locale;
@@ -134,16 +134,16 @@ index 12af517a7dd8c0bb2bc55ab3eb0e68a074011bb5..f3c28b5dff487813a61ebf531c2ee77e
import net.minecraft.DefaultUncaughtExceptionHandler;
import net.minecraft.DefaultUncaughtExceptionHandlerWithName;
import net.minecraft.SharedConstants;
@@ -206,6 +208,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -205,6 +207,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
org.spigotmc.SpigotConfig.registerCommands();
// Spigot end
// Paper start
io.papermc.paper.util.ObfHelper.INSTANCE.getClass(); // Paper - load mappings for stacktrace deobf and etc.
+ LuminolConfig.init(); //Luminol
paperConfigurations.initializeGlobalConfiguration(this.registryAccess());
paperConfigurations.initializeWorldDefaultsConfiguration(this.registryAccess());
// Paper start - moved up to right after PlayerList creation but before file load/save
// Paper start - initialize global and world-defaults configuration
this.paperConfigurations.initializeGlobalConfiguration(this.registryAccess());
this.paperConfigurations.initializeWorldDefaultsConfiguration(this.registryAccess());
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index fdb5237935a13322d8e7332b199308513b9f8e9b..466f7f7d6ae5b0f4d2ce5f61a45e03e2d50fc4ec 100644
index 653728709b275fee822e55a511e67ec11fdc48f7..daf8c44ec34fad2330d23e9f32c26ed67597bf0c 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -38,6 +38,8 @@ import java.util.stream.Collectors;
@@ -155,7 +155,7 @@ index fdb5237935a13322d8e7332b199308513b9f8e9b..466f7f7d6ae5b0f4d2ce5f61a45e03e2
import net.minecraft.CrashReport;
import net.minecraft.CrashReportCategory;
import net.minecraft.Util;
@@ -773,6 +775,8 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -772,6 +774,8 @@ public class ServerLevel extends Level implements WorldGenLevel {
}
// Folia end - region threading
@@ -164,7 +164,7 @@ index fdb5237935a13322d8e7332b199308513b9f8e9b..466f7f7d6ae5b0f4d2ce5f61a45e03e2
// 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) {
// IRegistryCustom.Dimension iregistrycustom_dimension = minecraftserver.registryAccess(); // CraftBukkit - decompile error
@@ -857,6 +861,12 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -856,6 +860,12 @@ public class ServerLevel extends Level implements WorldGenLevel {
this.chunkTaskScheduler = new io.papermc.paper.chunk.system.scheduling.ChunkTaskScheduler(this, io.papermc.paper.chunk.system.scheduling.ChunkTaskScheduler.workerThreads); // Paper - rewrite chunk system
this.entityLookup = new io.papermc.paper.chunk.system.entity.EntityLookup(this, new EntityCallbacks()); // Paper - rewrite chunk system
this.updateTickData(); // Folia - region threading - make sure it is initialised before ticked

View File

@@ -1,6 +1,6 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: M2ke4U <79621885+MrHua269@users.noreply.github.com>
Date: Sun, 26 Nov 2023 11:17:37 +0800
From: MrHua269 <novau233@163.com>
Date: Sat, 27 Jan 2024 07:37:51 +0000
Subject: [PATCH] Add config for server brand name
@@ -26,7 +26,7 @@ index 5d7110a33957a597592cacb864c947eb053e8563..25cda48a6ab9a703d64c391007f5c32c
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index f81025798943c123b4e7f621014fe1f8a89ff02b..a4887e49e6bf6010ef46aa99d4ceac69c12525b9 100644
index b2e33a1a29c67f6f9768f547adeb34632548c7d0..26b85e3caf2671159b36963296777ecdf70a0231 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -54,6 +54,8 @@ import java.util.stream.Collectors;
@@ -38,7 +38,7 @@ index f81025798943c123b4e7f621014fe1f8a89ff02b..a4887e49e6bf6010ef46aa99d4ceac69
import net.minecraft.CrashReport;
import net.minecraft.ReportedException;
import net.minecraft.SharedConstants;
@@ -1965,7 +1967,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1951,7 +1953,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@DontObfuscate
public String getServerModName() {

View File

@@ -1,6 +1,6 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: M2ke4U <79621885+MrHua269@users.noreply.github.com>
Date: Sun, 24 Dec 2023 08:12:09 +0800
From: MrHua269 <novau233@163.com>
Date: Sat, 27 Jan 2024 07:40:23 +0000
Subject: [PATCH] Add config for unsafe teleportation
@@ -27,7 +27,7 @@ index 1f9ff0fc33fa36c90fc4cbbd21b7b790de581632..36ca0b94d29d81e5f1f2aff4a38ead0b
public static <T> T get(String key,T def){
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 0a060023da8c1ca1e4a0646e94170c8f489f48b1..2461ac52e007fe20fe36b607795000cddcb058e6 100644
index cc4eb106b3ff1953de11f1faa7c04f3f9982fca2..1cc5acb21363aae7020a0ebf23c00caeab5074b7 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -24,6 +24,8 @@ import java.util.function.BiConsumer;
@@ -48,7 +48,7 @@ index 0a060023da8c1ca1e4a0646e94170c8f489f48b1..2461ac52e007fe20fe36b607795000cd
ServerLevel world = this.portalWorld;
this.portalBlock = null;
diff --git a/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java b/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java
index c82ebcac07033d887af499f81520982fbe5ed4f1..f2063a38f7d0aaef58a02d5ea29f1c3975347ede 100644
index a0c1db8cfebaa0344012cc0af18d6231cdcdcbb8..96cc3cb8448b58f9ab11558821251996e7560079 100644
--- a/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java
@@ -8,6 +8,7 @@ import net.minecraft.server.level.ServerLevel;

View File

@@ -1,6 +1,6 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: M2ke4U <79621885+MrHua269@users.noreply.github.com>
Date: Sun, 24 Dec 2023 08:20:29 +0800
From: MrHua269 <novau233@163.com>
Date: Sat, 27 Jan 2024 07:45:55 +0000
Subject: [PATCH] Add config for void trading
@@ -25,15 +25,15 @@ index 9db3bdd7a7d0b2a110e927ee4781eee489d0da9b..dffa9db569fcef2feec75072fe86c9a6
public static <T> T get(String key,T def){
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index c549683a664d1b6af91f50d92f7a7982b7c332cd..85ce1d7b5e5578076789619fc7bdf2bbf28eb899 100644
index daf8c44ec34fad2330d23e9f32c26ed67597bf0c..fd158c56cb73c2107a073f1cd68a87658c8eb1d9 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -3078,7 +3078,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -3077,7 +3077,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
// Spigot Start
if (entity.getBukkitEntity() instanceof org.bukkit.inventory.InventoryHolder && (!(entity instanceof ServerPlayer) || entity.getRemovalReason() != Entity.RemovalReason.KILLED)) { // SPIGOT-6876: closeInventory clears death message
// Paper start
// Paper start - Fix merchant inventory not closing on entity removal
- if (entity.getBukkitEntity() instanceof org.bukkit.inventory.Merchant merchant && merchant.getTrader() != null) {
+ if (!LuminolConfig.enableVoidTrading && (entity.getBukkitEntity() instanceof org.bukkit.inventory.Merchant merchant && merchant.getTrader() != null)) { //Luminol - Add config for void trading
merchant.getTrader().closeInventory(org.bukkit.event.inventory.InventoryCloseEvent.Reason.UNLOADED);
}
// Paper end
// Paper end - Fix merchant inventory not closing on entity removal

View File

@@ -1,6 +1,6 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: M2ke4U <79621885+MrHua269@users.noreply.github.com>
Date: Sun, 24 Dec 2023 08:22:56 +0800
From: MrHua269 <novau233@163.com>
Date: Sat, 27 Jan 2024 07:49:42 +0000
Subject: [PATCH] Add config for incorrect tripwire updating fixing
@@ -25,7 +25,7 @@ index dffa9db569fcef2feec75072fe86c9a6ded80aa4..a49da370c91211d4e2274f72d62c911a
public static <T> T get(String key,T def){
diff --git a/src/main/java/net/minecraft/world/level/block/TripWireHookBlock.java b/src/main/java/net/minecraft/world/level/block/TripWireHookBlock.java
index a3cef4ac925d09ad8789a59b46df134cf25c282a..f40221025e1140919d45191d0210986245687bae 100644
index 0f6ea0adb4b99d934e1a3fcb92562dffb2a45f63..023731d23c0610e1a42bf308866509aef464e299 100644
--- a/src/main/java/net/minecraft/world/level/block/TripWireHookBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/TripWireHookBlock.java
@@ -4,6 +4,8 @@ import com.google.common.base.MoreObjects;
@@ -41,7 +41,7 @@ index a3cef4ac925d09ad8789a59b46df134cf25c282a..f40221025e1140919d45191d02109862
boolean flag7 = (Boolean) iblockdata2.getValue(TripWireBlock.POWERED);
flag5 |= flag6 && flag7;
- if (k != i || !tripWireBeingRemoved || !flag6) // Paper - don't update the tripwire again if being removed and not disarmed
- if (k != i || !tripWireBeingRemoved || !flag6) // Paper - fix tripwire state inconsistency; don't update the tripwire again if being removed and not disarmed
+ if (k != i || !tripWireBeingRemoved || !flag6 || LuminolConfig.allowIncorrectTripwireUpdating) // Paper - don't update the tripwire again if being removed and not disarmed //Luminol - Add config for incorrect tripwire updating fixing
aiblockdata[k] = iblockdata2;
if (k == i) {

View File

@@ -1,6 +1,6 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: MrHua269 <novau233@163.com>
Date: Mon, 1 Jan 2024 08:11:33 +0000
Date: Sat, 27 Jan 2024 07:55:42 +0000
Subject: [PATCH] Add config for chat sign
@@ -56,7 +56,7 @@ index 72a8aa676836fcb3b4578689d16af65e18f55bbe..04653d58f2493d796e61bc97f0481cb6
@Nullable
public MessageSignature get(String argumentName) {
diff --git a/src/main/java/net/minecraft/network/FriendlyByteBuf.java b/src/main/java/net/minecraft/network/FriendlyByteBuf.java
index a5bcad412fb1ac3b6a3eee3f4618dc6c1ca66936..dcf5dae7d31a3e2271ba576d7e95817210bc7fd6 100644
index b863249ff7e13cf4939c8961601f0564c62fd661..4e9bfce4fd188e832c15feedebe4d10b6873b764 100644
--- a/src/main/java/net/minecraft/network/FriendlyByteBuf.java
+++ b/src/main/java/net/minecraft/network/FriendlyByteBuf.java
@@ -48,6 +48,8 @@ import java.util.function.Function;
@@ -78,7 +78,7 @@ index a5bcad412fb1ac3b6a3eee3f4618dc6c1ca66936..dcf5dae7d31a3e2271ba576d7e958172
public static final int DEFAULT_NBT_QUOTA = 2097152;
@@ -143,6 +147,17 @@ public class FriendlyByteBuf extends ByteBuf {
// Paper end - Adventure
// Paper end - Adventure; add max length parameter
DataResult<JsonElement> dataresult = codec.encodeStart(JsonOps.INSTANCE, value);
+
@@ -94,4 +94,4 @@ index a5bcad412fb1ac3b6a3eee3f4618dc6c1ca66936..dcf5dae7d31a3e2271ba576d7e958172
+
this.writeUtf(FriendlyByteBuf.GSON.toJson((JsonElement) Util.getOrThrow(dataresult, (s) -> {
return new EncoderException("Failed to encode: " + s + " " + value);
})), maxLength); // Paper - Adventure
})), maxLength); // Paper - Adventure; add max length parameter

View File

@@ -1,6 +1,6 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: M2ke4U <79621885+MrHua269@users.noreply.github.com>
Date: Sun, 24 Dec 2023 08:58:15 +0800
From: MrHua269 <novau233@163.com>
Date: Sat, 27 Jan 2024 07:55:57 +0000
Subject: [PATCH] Add config for vanilla random
@@ -25,10 +25,10 @@ index 8d1ce8eae252fcf05b6a62d2dc467d6d503d3df4..89d8ffc947d265e0e81943ad851e868b
public static <T> T get(String key,T def){
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index dbcb87e9a549392ddad79548f2cd9ecd54c9ce89..76a33e322c77b95cbd1a524fc98cf73b954fd5be 100644
index 1cc5acb21363aae7020a0ebf23c00caeab5074b7..5e78570110dd57cac16e073e3051f76460e19540 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -573,7 +573,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -575,7 +575,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
this.bb = Entity.INITIAL_AABB;
this.stuckSpeedMultiplier = Vec3.ZERO;
this.nextStep = 1.0F;

View File

@@ -1,6 +1,6 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: M2ke4U <79621885+MrHua269@users.noreply.github.com>
Date: Sun, 24 Dec 2023 09:11:06 +0800
From: MrHua269 <novau233@163.com>
Date: Sat, 27 Jan 2024 07:59:46 +0000
Subject: [PATCH] Kaiiju region format settings
@@ -75,7 +75,7 @@ index 74573c50c903cfbe5f9617be5b75c21647f05a91..3d526d7cfb313e419de89be1b2756519
public static <T> T get(String key,T def){
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index a4887e49e6bf6010ef46aa99d4ceac69c12525b9..223a83952b251fbc36a1087aa9c46e56ad42b5cc 100644
index 26b85e3caf2671159b36963296777ecdf70a0231..f53c689db8f330708d1ad683951b113bca11a139 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -927,7 +927,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa

View File

@@ -1,11 +1,11 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: M2ke4U <79621885+MrHua269@users.noreply.github.com>
Date: Sun, 24 Dec 2023 09:12:51 +0800
From: MrHua269 <novau233@163.com>
Date: Sat, 27 Jan 2024 08:05:11 +0000
Subject: [PATCH] Kaiiju Add linear region format
diff --git a/build.gradle.kts b/build.gradle.kts
index 6adb602bc83c1c4f57a10a4391db901463e565d4..d42e234ebbfa397db8f51c2d5deca718a31b9db9 100644
index 83660616a26d989ce441e17acab103ab166304d8..1bdeb0e9d0c04509d7ed4003f6b79c806dc55eed 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -19,6 +19,10 @@ dependencies {
@@ -592,7 +592,7 @@ index 3d526d7cfb313e419de89be1b275651982be42c7..90a6cfd011aaefe66fda79f887380ab2
public static <T> T get(String key,T def){
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
index c0aaa5ff3839698e262270f2bc315d39c31620ea..0b1502f7a7691570eeffa37eaa146d504ff88243 100644
index 4c160f62336acdbcd835ebbf7f683205a776ce79..d01443026d0d85e017464cdd46d08f37386d46ef 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -211,7 +211,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -639,10 +639,10 @@ index c0aaa5ff3839698e262270f2bc315d39c31620ea..0b1502f7a7691570eeffa37eaa146d50
regionFile.setStatus(chunkPos.x, chunkPos.z, ChunkSerializer.getStatus(compound));
}
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 47530f4300213b7a2c3fdba003f669709f4fb770..211ad42151b9c3949b1c2f2d306ac1d9f88d2c9c 100644
index fd158c56cb73c2107a073f1cd68a87658c8eb1d9..ec95159ba13e75ee8fc495307f19b587d3b80cf1 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -455,8 +455,8 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -454,8 +454,8 @@ public class ServerLevel extends Level implements WorldGenLevel {
private static final class EntityRegionFileStorage extends net.minecraft.world.level.chunk.storage.RegionFileStorage {
@@ -653,7 +653,7 @@ index 47530f4300213b7a2c3fdba003f669709f4fb770..211ad42151b9c3949b1c2f2d306ac1d9
}
protected void write(ChunkPos pos, net.minecraft.nbt.CompoundTag nbt) throws IOException {
@@ -819,7 +819,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -818,7 +818,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
// CraftBukkit end
boolean flag2 = minecraftserver.forceSynchronousWrites();
DataFixer datafixer = minecraftserver.getFixerUpper();
@@ -727,10 +727,10 @@ index 5150d447c9dc2f539446749c8bee102050bab4ed..187ff795192c7eb56dffafa1ff6fa306
}
diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/ChunkStorage.java b/src/main/java/net/minecraft/world/level/chunk/storage/ChunkStorage.java
index 8ebecb588058da174b0e0e19e54fcddfeeca1422..1d880f27dd147da683fc30ed6f1bfa43ecdb7d93 100644
index 4a84ada69c6abc8f2743579d4451e639836274b4..ba2433b636f137c4b282df9fa3718cfff7c94919 100644
--- a/src/main/java/net/minecraft/world/level/chunk/storage/ChunkStorage.java
+++ b/src/main/java/net/minecraft/world/level/chunk/storage/ChunkStorage.java
@@ -37,11 +37,11 @@ public class ChunkStorage implements AutoCloseable {
@@ -37,11 +37,12 @@ public class ChunkStorage implements AutoCloseable {
public final RegionFileStorage regionFileCache;
// Paper end - async chunk loading
@@ -739,13 +739,14 @@ index 8ebecb588058da174b0e0e19e54fcddfeeca1422..1d880f27dd147da683fc30ed6f1bfa43
this.fixerUpper = dataFixer;
// Paper start - async chunk io
// remove IO worker
- this.regionFileCache = new RegionFileStorage(directory, dsync, true); // Paper - nuke IOWorker // Paper
+ this.regionFileCache = new RegionFileStorage(format, linearCompression, directory, dsync, true); // Paper - nuke IOWorker // Paper
- this.regionFileCache = new RegionFileStorage(directory, dsync, true); // Paper - nuke IOWorker // Paper - Attempt to recalculate regionfile header if it is corrupt
+
+ this.regionFileCache = new RegionFileStorage(format,linearCompression,directory, dsync, true); // Paper - nuke IOWorker // Paper - Attempt to recalculate regionfile header if it is corrupt
// Paper end - async chunk io
}
diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/RegionFile.java b/src/main/java/net/minecraft/world/level/chunk/storage/RegionFile.java
index 9248769e6d357f6eec68945fd7700e79b2942c41..024870a31469c40cd680be0399ce0e0e73839a0f 100644
index 22de360e6775943c0c8bd5717c78d49b45e70d6d..04c9230a76c0c0e0c69c5a71853a92e05037c7d7 100644
--- a/src/main/java/net/minecraft/world/level/chunk/storage/RegionFile.java
+++ b/src/main/java/net/minecraft/world/level/chunk/storage/RegionFile.java
@@ -26,7 +26,7 @@ import net.minecraft.nbt.NbtIo; // Paper
@@ -757,7 +758,7 @@ index 9248769e6d357f6eec68945fd7700e79b2942c41..024870a31469c40cd680be0399ce0e0e
private static final Logger LOGGER = LogUtils.getLogger();
private static final int SECTOR_BYTES = 4096;
@@ -50,6 +50,16 @@ public class RegionFile implements AutoCloseable {
@@ -50,6 +50,17 @@ public class RegionFile implements AutoCloseable {
public final java.util.concurrent.locks.ReentrantLock fileLock = new java.util.concurrent.locks.ReentrantLock(); // Paper
public final Path regionFile; // Paper
@@ -771,10 +772,11 @@ index 9248769e6d357f6eec68945fd7700e79b2942c41..024870a31469c40cd680be0399ce0e0e
+ }
+ // Kaiiju end
+
// Paper start - try to recover from RegionFile header corruption
+
// Paper start - Attempt to recalculate regionfile header if it is corrupt
private static long roundToSectors(long bytes) {
long sectors = bytes >>> 12; // 4096 = 2^12
@@ -128,7 +138,7 @@ public class RegionFile implements AutoCloseable {
@@ -128,7 +139,7 @@ public class RegionFile implements AutoCloseable {
}
// note: only call for CHUNK regionfiles
@@ -783,7 +785,7 @@ index 9248769e6d357f6eec68945fd7700e79b2942c41..024870a31469c40cd680be0399ce0e0e
if (!this.canRecalcHeader) {
return false;
}
@@ -954,10 +964,10 @@ public class RegionFile implements AutoCloseable {
@@ -954,10 +965,10 @@ public class RegionFile implements AutoCloseable {
private static int getChunkIndex(int x, int z) {
return (x & 31) + (z & 31) * 32;
}
@@ -796,7 +798,7 @@ index 9248769e6d357f6eec68945fd7700e79b2942c41..024870a31469c40cd680be0399ce0e0e
final int offset = getChunkIndex(x, z);
boolean previous = this.oversized[offset] == 1;
this.oversized[offset] = (byte) (oversized ? 1 : 0);
@@ -996,7 +1006,7 @@ public class RegionFile implements AutoCloseable {
@@ -996,7 +1007,7 @@ public class RegionFile implements AutoCloseable {
return this.regionFile.getParent().resolve(this.regionFile.getFileName().toString().replaceAll("\\.mca$", "") + "_oversized_" + x + "_" + z + ".nbt");
}
@@ -806,7 +808,7 @@ index 9248769e6d357f6eec68945fd7700e79b2942c41..024870a31469c40cd680be0399ce0e0e
try (DataInputStream out = new DataInputStream(new java.io.BufferedInputStream(new InflaterInputStream(Files.newInputStream(file))))) {
return NbtIo.read((java.io.DataInput) out);
diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/RegionFileStorage.java b/src/main/java/net/minecraft/world/level/chunk/storage/RegionFileStorage.java
index db571f658f636cdda1dcdbaffa0c4da67fae11ad..21537b14c6c6789da3db04577f1c93998397678d 100644
index 31dddd4776d71872d1c471519e4e46432df282f2..402a14e6b20da2d69e0f614b8a27fba9a8f9adcd 100644
--- a/src/main/java/net/minecraft/world/level/chunk/storage/RegionFileStorage.java
+++ b/src/main/java/net/minecraft/world/level/chunk/storage/RegionFileStorage.java
@@ -21,9 +21,13 @@ public class RegionFileStorage implements AutoCloseable {
@@ -1060,7 +1062,7 @@ index 4aac1979cf57300825a999c876fcf24d3170e68e..3b96582f15d0985b670b5b5a1548800d
this.factory = factory;
this.fixerUpper = dataFixer;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 085eebd879bc514dc9f785ea31fc6c0f7a066953..2aa03157d4272233db762bf4d1c716ea6cb3085d 100644
index 6bb19a9a4150f516c32bc155eafe99fc1afb75b1..77900dde881b260b73b87664484cce55e60a9900 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -569,7 +569,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {

View File

@@ -1,6 +1,6 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: M2ke4U <79621885+MrHua269@users.noreply.github.com>
Date: Sun, 24 Dec 2023 09:14:26 +0800
From: MrHua269 <novau233@163.com>
Date: Sat, 27 Jan 2024 11:36:40 +0000
Subject: [PATCH] Add a simple tpsbar
@@ -318,7 +318,7 @@ index 0000000000000000000000000000000000000000..59c39402d896d0ba75a9ca7e6c74a01a
+ }
+}
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index f3c28b5dff487813a61ebf531c2ee77e4d2071cc..0f265202b18d28a22f0ace6381482b60ab5b5205 100644
index e5eeb361fc29c831a76f87c60896b5dd23f58736..59de20edb5a770a380c26f13ba1b830e3c0c1875 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -1,20 +1,16 @@
@@ -353,7 +353,7 @@ index f3c28b5dff487813a61ebf531c2ee77e4d2071cc..0f265202b18d28a22f0ace6381482b60
//Util.shutdownExecutors(); // Paper - moved into super
SkullBlockEntity.clear();
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 3d2b059254fdc08d1e4f9281946028a46884d7c8..fa3643090a3ae166944ef70de742120892570fb4 100644
index bd9edb8271e3111431d45eb908d8336e0e7e23bc..90969df697f3f0d6d77d8584924c28a844c1535d 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -285,6 +285,7 @@ public class ServerPlayer extends Player {
@@ -365,7 +365,7 @@ index 3d2b059254fdc08d1e4f9281946028a46884d7c8..fa3643090a3ae166944ef70de7421208
public io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances getViewDistances() {
return this.viewDistances.get();
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index f02a72c0589960d2c60e4155b3b9e0ddd22067d8..5ab0a11e5f355277a29791d74d9f0d760009b8e4 100644
index 003684843c2a9fc709619c1de8cf73dbb1b25c42..c41537b78922f85e8c7099be0b38f341b8c531a6 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2284,6 +2284,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {

View File

@@ -1,6 +1,6 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: M2ke4U <79621885+MrHua269@users.noreply.github.com>
Date: Sun, 24 Dec 2023 09:15:02 +0800
From: MrHua269 <novau233@163.com>
Date: Sat, 27 Jan 2024 11:37:04 +0000
Subject: [PATCH] Petal Reduce sensor work
@@ -27,7 +27,7 @@ index 0657fce8aabb956a400b3cead53c28ef52e67fe9..c3a481cb7bea0619b1af0e3203e9d885
public static <T> T get(String key,T def){
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index 51628bf76f80c6ad9d7feb127377f004adce9669..b53435bc8303924cbfef0453dc2cc71a7168b2d8 100644
index 4e770f3b781be4c282d1e81c327fb2fb06b5af1f..f2526900699319f12aa8efa3da19537296f8897a 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -10,6 +10,8 @@ import java.util.Optional;

View File

@@ -1,6 +1,6 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: M2ke4U <79621885+MrHua269@users.noreply.github.com>
Date: Sun, 24 Dec 2023 09:18:06 +0800
From: MrHua269 <novau233@163.com>
Date: Sat, 27 Jan 2024 11:37:52 +0000
Subject: [PATCH] Add config for username check
@@ -25,7 +25,7 @@ index c3a481cb7bea0619b1af0e3203e9d88514e84c62..0929a5a167691bde7dedaa1e2812b34a
if (tpsbarEnabled){
initTpsbar();
diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
index c18fc39db6480f0942128a5512970fdce074b7c6..fb5882d627d122a569277f96a223f15c32bc0686 100644
index d809dd5f6aa39fcd7583d7db822450297225eb49..2bb775563c6672349aa6b6f1b2821006ec48eb09 100644
--- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
@@ -44,6 +44,7 @@ import org.bukkit.craftbukkit.util.Waitable;

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Pufferfish Cache climbing check for activation
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 1c8f5e9741181482976912c808817a4bc896936e..c5d038a00d2fcc17ba813c14e355729c4529dd74 100644
index 5e78570110dd57cac16e073e3051f76460e19540..ec20ae65db0b3d835b58b471f90f3862283423e6 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -309,7 +309,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -311,7 +311,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
public double yo;
public double zo;
private Vec3 position;
@@ -18,7 +18,7 @@ index 1c8f5e9741181482976912c808817a4bc896936e..c5d038a00d2fcc17ba813c14e355729c
private Vec3 deltaMovement;
private float yRot;
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index abf455d165004240e0b5fd96543f7da7c520e729..23ee7bdb337ee5e13ebe28f890c230a09b15fcf6 100644
index 8d8c80a41e01df4d0fef7d045b9c5d283a8f168d..81cf3721fd93af5ee307226cdea926d3ad443f77 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -142,7 +142,6 @@ import org.bukkit.event.entity.EntityTeleportEvent;
@@ -29,7 +29,7 @@ index abf455d165004240e0b5fd96543f7da7c520e729..23ee7bdb337ee5e13ebe28f890c230a0
public abstract class LivingEntity extends Entity implements Attackable {
@@ -2012,6 +2011,20 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -2013,6 +2012,20 @@ public abstract class LivingEntity extends Entity implements Attackable {
return this.lastClimbablePos;
}
@@ -51,10 +51,10 @@ index abf455d165004240e0b5fd96543f7da7c520e729..23ee7bdb337ee5e13ebe28f890c230a0
if (this.isSpectator()) {
return false;
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
index ea605188aad5476e8e473bc9c6c2a7c29eeed136..2445509e34717a0dfb28d7d75ec1b8a1b1c1366b 100644
index 5f1dee3a1d5a7b0391bad60b53eda1c5586058aa..e960c307434736af5a0fff626d6bccf5cd46f35d 100644
--- a/src/main/java/org/spigotmc/ActivationRange.java
+++ b/src/main/java/org/spigotmc/ActivationRange.java
@@ -305,7 +305,7 @@ public class ActivationRange
@@ -306,7 +306,7 @@ public class ActivationRange
if ( entity instanceof LivingEntity )
{
LivingEntity living = (LivingEntity) entity;

View File

@@ -25,7 +25,7 @@ index 0929a5a167691bde7dedaa1e2812b34ad69913d6..de0855656ad3882b182aa5674fd01172
public static <T> T get(String key,T def){
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index d578a2235e9ee66c030906dd5accc18384805d09..374a15b18a1355b8415e392228bf9d7eeab7d3ad 100644
index 81cf3721fd93af5ee307226cdea926d3ad443f77..c224488866c901604de744c59c7dbd3881251199 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -19,6 +19,8 @@ import java.util.Optional;
@@ -46,7 +46,7 @@ index d578a2235e9ee66c030906dd5accc18384805d09..374a15b18a1355b8415e392228bf9d7e
this.hurt(this.damageSources().inWall(), 1.0F);
} else if (flag && !this.level().getWorldBorder().isWithinBounds(this.getBoundingBox())) {
double d0 = this.level().getWorldBorder().getDistanceToBorder(this) + this.level().getWorldBorder().getDamageSafeZone();
@@ -1418,6 +1420,19 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -1419,6 +1421,19 @@ public abstract class LivingEntity extends Entity implements Attackable {
return this.getHealth() <= 0.0F;
}
@@ -67,7 +67,7 @@ index d578a2235e9ee66c030906dd5accc18384805d09..374a15b18a1355b8415e392228bf9d7e
public boolean hurt(DamageSource source, float amount) {
if (this.isInvulnerableTo(source)) {
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
index c9a4feb4a52c0eb621b120e5b8c18d0a74dae0cd..256598e058db1fd34d36390e45ab9903768343cb 100644
index ac9eaeaf7df1e84ee588f371628c0a10784d50bc..ea8883b0661e894a466eca24bfc247ac37f40a81 100644
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
@@ -150,6 +150,13 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob

View File

@@ -1,6 +1,6 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: M2ke4U <79621885+MrHua269@users.noreply.github.com>
Date: Sun, 26 Nov 2023 16:08:46 +0800
From: MrHua269 <novau233@163.com>
Date: Sat, 27 Jan 2024 11:55:08 +0000
Subject: [PATCH] Pufferfish Improve container checking with a bitset
@@ -362,7 +362,7 @@ index a71414397bd45ee7bcacfeef0041d80dfa25f114..d66806565770cb03a21794f99e5c4b0f
@Override
diff --git a/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java
index 72779080969fe9f058c19533ffc9dad5f9c47086..c90d578643490709936545ee9cbd41c8671eeb7a 100644
index 26ff1a3d07c92f7035020d08d35116f7feede600..009263f6aab41608d7e17bebbed6f962fcb55634 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java
@@ -47,7 +47,10 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen
@@ -421,14 +421,14 @@ index 72779080969fe9f058c19533ffc9dad5f9c47086..c90d578643490709936545ee9cbd41c8
private static boolean isFullContainer(Container inventory, Direction direction) {
+ if (true) return inventory.isCompletelyFull(direction); // Pufferfish - use bitsets
// Paper start - optimize hoppers
// Paper start - Perf: Optimize Hoppers
if (inventory instanceof WorldlyContainer worldlyContainer) {
for (final int slot : worldlyContainer.getSlotsForFace(direction)) {
@@ -515,7 +542,11 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen
}
private static boolean isEmptyContainer(Container inv, Direction facing) {
- return allMatch(inv, facing, IS_EMPTY_TEST);
- return allMatch(inv, facing, IS_EMPTY_TEST); // Paper - Perf: Optimize Hoppers
+ // Paper start
+ // Pufferfish start - use bitsets
+ //return allMatch(inv, facing, IS_EMPTY_TEST);
@@ -459,13 +459,13 @@ index 72779080969fe9f058c19533ffc9dad5f9c47086..c90d578643490709936545ee9cbd41c8
public static void entityInside(Level world, BlockPos pos, BlockState state, Entity entity, HopperBlockEntity blockEntity) {
diff --git a/src/main/java/net/minecraft/world/level/block/entity/RandomizableContainerBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/RandomizableContainerBlockEntity.java
index 64875525df244db838560f5fefb7b1b07b0f1f51..1436fdbe31c8cdf05ac56f20224fe91de4b1c0c3 100644
index a94300a457b25f0e33a8eeabba6dd5720ca9ab1e..b41635dd0569ff7df909df492d3e850aef7214be 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/RandomizableContainerBlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/RandomizableContainerBlockEntity.java
@@ -94,12 +94,7 @@ public abstract class RandomizableContainerBlockEntity extends BaseContainerBloc
public boolean isEmpty() {
this.unpackLootTable((Player)null);
// Paper start
// Paper start - Perf: Optimize Hoppers
- for (final ItemStack itemStack : this.getItems()) {
- if (!itemStack.isEmpty()) {
- return false;
@@ -473,6 +473,6 @@ index 64875525df244db838560f5fefb7b1b07b0f1f51..1436fdbe31c8cdf05ac56f20224fe91d
- }
- return true;
+ return this.isCompletelyEmpty(null); // Pufferfish - use super
// Paper end
// Paper end - Perf: Optimize Hoppers
}

View File

@@ -57,10 +57,10 @@ index de0855656ad3882b182aa5674fd0117288268e71..d0c0b4daec59f23a989a8b8f66ea3c70
public static <T> T get(String key,T def){
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index abf7fc1e7a05a741e9258af014411d4ac5e6626c..453b0bee24d4c3e5d673463a55a192d28f18c0a8 100644
index ba93f5edc848a71705677acfd0016a68ac357116..4c7441f4624e71b0689d03b2f8cc39938f69710f 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -806,6 +806,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -808,6 +808,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
}
public void tick() {
@@ -74,7 +74,7 @@ index abf7fc1e7a05a741e9258af014411d4ac5e6626c..453b0bee24d4c3e5d673463a55a192d2
}
diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java
index d37a7f2ab6a8041d3bfeed600d15f77d253140f6..cb850c18ca101d5b7c80746fca333d31cc770407 100644
index dc83dc377aff965222006e3eaaceb57692d2604f..ca7eb18785f13bf4bbbf60acad54f6e00509cb3e 100644
--- a/src/main/java/net/minecraft/world/entity/EntityType.java
+++ b/src/main/java/net/minecraft/world/entity/EntityType.java
@@ -313,6 +313,7 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT

View File

@@ -1,6 +1,6 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: M2ke4U <79621885+MrHua269@users.noreply.github.com>
Date: Sun, 24 Dec 2023 10:28:09 +0800
From: MrHua269 <novau233@163.com>
Date: Sat, 27 Jan 2024 12:23:09 +0000
Subject: [PATCH] Pufferfish Dynamic Activation of Brain
@@ -84,10 +84,10 @@ index 11c1a367fbc25cb63738a00ad93fb0b0b3500e7d..4f6af1fa55047e7be9e57c1dd1c60e9d
public static <T> T get(String key,T def){
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 211ad42151b9c3949b1c2f2d306ac1d9f88d2c9c..c98c9d6b73973304d3a75b4bc1f6fc2518319619 100644
index ec95159ba13e75ee8fc495307f19b587d3b80cf1..a07694156d3aefc4939581f7cb74009db6528f9a 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -1004,6 +1004,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -1003,6 +1003,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
this.timings.entityTick.startTiming(); // Spigot
profiler.startTimer(ca.spottedleaf.leafprofiler.LProfilerRegistry.ENTITY_TICK); try { // Folia - profiler
regionizedWorldData.forEachTickingEntity((entity) -> { // Folia - regionised ticking
@@ -96,10 +96,10 @@ index 211ad42151b9c3949b1c2f2d306ac1d9f88d2c9c..c98c9d6b73973304d3a75b4bc1f6fc25
if (false && this.shouldDiscardEntity(entity)) { // CraftBukkit - We prevent spawning in general, so this butchering is not needed
entity.discard();
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index ee3f366bc8df9e57a90f9dc7f85b7939a9c410c0..79f5582f6956c59aee3fbbf676866c5814c388d0 100644
index 4c7441f4624e71b0689d03b2f8cc39938f69710f..67be79d5b458a30d080a4f68803d20b7b3df4c7f 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -440,6 +440,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -442,6 +442,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
return this.originWorld;
}
// Paper end
@@ -112,7 +112,7 @@ index ee3f366bc8df9e57a90f9dc7f85b7939a9c410c0..79f5582f6956c59aee3fbbf676866c58
return this.yRot;
}
diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java
index 09923fb6424754e98a91e9ee75bc0d49daa3092c..133fbfd57b8c2bbf4b4abeff96b42d6a65a4717b 100644
index ca7eb18785f13bf4bbbf60acad54f6e00509cb3e..359b2ee9b9f60517cc1051719afb65bde425a563 100644
--- a/src/main/java/net/minecraft/world/entity/EntityType.java
+++ b/src/main/java/net/minecraft/world/entity/EntityType.java
@@ -305,6 +305,7 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT
@@ -124,7 +124,7 @@ index 09923fb6424754e98a91e9ee75bc0d49daa3092c..133fbfd57b8c2bbf4b4abeff96b42d6a
private String descriptionId;
@Nullable
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index 08445ce85630d9716baec9f806b1bc031ea5c5c1..db5977b819ec1bc0eb5c24f4dfc3a6cc135e4b68 100644
index f2526900699319f12aa8efa3da19537296f8897a..0672f9ae2aa22247efde11915cbc3004164d2b30 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -235,10 +235,10 @@ public abstract class Mob extends LivingEntity implements Targeting {
@@ -206,7 +206,7 @@ index 5ad5f22e5aa26445e5eb229958e7bf356bdd460e..d241ca4d0295f9fce39c11197bd435cf
this.level().getProfiler().pop();
this.level().getProfiler().push("allayActivityUpdate");
diff --git a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
index 387006271c246362b0df1bfcadca7b7096660003..9158c5a507904c46a8fe2fdad9a0b6ba3a9b2460 100644
index b21e180641d17438997a80e5bcb0ec7998d24a2e..33c160994f70f71446d665e7487913437c9f9db4 100644
--- a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
+++ b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
@@ -275,9 +275,11 @@ public class Axolotl extends Animal implements LerpingModel, VariantHolder<Axolo
@@ -254,7 +254,7 @@ index 4aeab90e778629c355189dfe79c39c4b21f5f5ac..6ed4ac06c76b8d0d6e8db778cade15db
this.level().getProfiler().pop();
this.level().getProfiler().push("tadpoleActivityUpdate");
diff --git a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
index 111a244087e24f25ba8524a46a228da10cd9498a..ff12ba2b79cb2e7e0bfd0e3b58ff6cb9e770092b 100644
index 5d247ac38fe8a61603b3d934f3000bcda773142b..2e4177cfb02616ef6fa689f6d378976e39484cfb 100644
--- a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
+++ b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
@@ -191,9 +191,11 @@ public class Goat extends Animal {
@@ -270,7 +270,7 @@ index 111a244087e24f25ba8524a46a228da10cd9498a..ff12ba2b79cb2e7e0bfd0e3b58ff6cb9
this.level().getProfiler().pop();
this.level().getProfiler().push("goatActivityUpdate");
diff --git a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
index 4257f2282152aee09533c9a2e53018d3e49effa4..e703320717ff620a19ff76d1c10066117c9895d5 100644
index 01a2016ac82807d28ffe407b7dbb74bdbcde503e..9921b160fb21f72fbd28fe81ea66fbc3dc05f83f 100644
--- a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
+++ b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
@@ -128,9 +128,11 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
@@ -286,7 +286,7 @@ index 4257f2282152aee09533c9a2e53018d3e49effa4..e703320717ff620a19ff76d1c1006611
this.level().getProfiler().pop();
HoglinAi.updateActivity(this);
diff --git a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
index 6407ddef8442fce4f310ac4babf3e3de0dd5fc9a..cfdc1650783d6855e0d4f33ec68aab48dbee09f0 100644
index a9813da7f2b248f98f22e0ad2e7842915025ec12..83d83e3f84bb6bd58761671c6cd4c8683545ff4c 100644
--- a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
+++ b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
@@ -300,9 +300,11 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
@@ -302,7 +302,7 @@ index 6407ddef8442fce4f310ac4babf3e3de0dd5fc9a..cfdc1650783d6855e0d4f33ec68aab48
this.level().getProfiler().pop();
PiglinAi.updateActivity(this);
diff --git a/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java b/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java
index 9f1b7c629644931074293151ed58a523ca6d488c..58a7e61e02b7d72326ed4d57ee514adb63b3873c 100644
index 937f81a859953498abe73bea560c86e6560e1c33..0a151c679b0dc943598180942d6d4b3886211688 100644
--- a/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java
+++ b/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java
@@ -273,11 +273,13 @@ public class Warden extends Monster implements VibrationSystem {
@@ -320,7 +320,7 @@ index 9f1b7c629644931074293151ed58a523ca6d488c..58a7e61e02b7d72326ed4d57ee514adb
this.level().getProfiler().pop();
super.customServerAiStep();
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index c8de034a2bf4654bad9a6e8a9aa831b2f90fad14..e9f84817d3585890955febdcbf70253168f7bc54 100644
index a7857a7d141a552f800d7becd130e0cf1660e886..8a93eaf8dbabb10c67e94986853103f88291f11d 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -142,6 +142,8 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@@ -354,7 +354,7 @@ index c8de034a2bf4654bad9a6e8a9aa831b2f90fad14..e9f84817d3585890955febdcbf702531
if (this.assignProfessionWhenSpawned) {
this.assignProfessionWhenSpawned = false;
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
index 22daed525b023998a05884db603e2c7385ce0873..e77e1c60a611c49489c65d66e54236a86c3093e3 100644
index e960c307434736af5a0fff626d6bccf5cd46f35d..1690809e85ad4e65e09097f1db0139137bc335ed 100644
--- a/src/main/java/org/spigotmc/ActivationRange.java
+++ b/src/main/java/org/spigotmc/ActivationRange.java
@@ -1,5 +1,6 @@
@@ -375,10 +375,10 @@ index 22daed525b023998a05884db603e2c7385ce0873..e77e1c60a611c49489c65d66e54236a8
public class ActivationRange
{
@@ -230,6 +235,25 @@ public class ActivationRange
@@ -231,6 +236,25 @@ public class ActivationRange
}
// Paper end - configurable marker ticking
ActivationRange.activateEntity(entity);
// Paper end - Configurable marker ticking
ActivationRange.activateEntity(entity, bbByType); // Folia - threaded regions
+
+ // Pufferfish start
+ if (LuminolConfig.dearEnabled && entity.getType().dabEnabled) {
@@ -401,7 +401,7 @@ index 22daed525b023998a05884db603e2c7385ce0873..e77e1c60a611c49489c65d66e54236a8
}
// Paper end
}
@@ -246,12 +270,12 @@ public class ActivationRange
@@ -247,12 +271,12 @@ public class ActivationRange
if ( io.papermc.paper.threadedregions.RegionizedServer.getCurrentTick() > entity.activatedTick ) // Folia - threaded regions
{
if ( entity.defaultActivationState )
@@ -410,7 +410,7 @@ index 22daed525b023998a05884db603e2c7385ce0873..e77e1c60a611c49489c65d66e54236a8
entity.activatedTick = io.papermc.paper.threadedregions.RegionizedServer.getCurrentTick(); // Folia - threaded regions
return;
}
if ( entity.activationType.boundingBox.intersects( entity.getBoundingBox() ) )
if ( bbByType[entity.activationType.ordinal()].intersects( entity.getBoundingBox() ) ) // Folia - threaded regions
- {
+ { // Pufferfish - diff on change
entity.activatedTick = io.papermc.paper.threadedregions.RegionizedServer.getCurrentTick(); // Folia - threaded regions

View File

@@ -1,6 +1,6 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: M2ke4U <79621885+MrHua269@users.noreply.github.com>
Date: Sun, 26 Nov 2023 17:08:22 +0800
From: MrHua269 <novau233@163.com>
Date: Sat, 27 Jan 2024 12:27:05 +0000
Subject: [PATCH] Gale Variable entity wake-up duration
@@ -25,10 +25,10 @@ index 4f6af1fa55047e7be9e57c1dd1c60e9d96d12187..793dc5b35e9a0665d486a74ce5b776b4
public static <T> T get(String key,T def){
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
index e77e1c60a611c49489c65d66e54236a86c3093e3..51adf24b9274b6bc78ef94e77a0b2d73b1f2bbbb 100644
index 1690809e85ad4e65e09097f1db0139137bc335ed..ee691edd1ee2c97df0ea925a546a13492254f426 100644
--- a/src/main/java/org/spigotmc/ActivationRange.java
+++ b/src/main/java/org/spigotmc/ActivationRange.java
@@ -76,28 +76,40 @@ public class ActivationRange
@@ -76,28 +76,41 @@ public class ActivationRange
if (entity.activationType == ActivationType.VILLAGER) {
if (inactiveFor > config.wakeUpInactiveVillagersEvery && worldData.wakeupInactiveRemainingVillagers > 0) { // Folia - threaded regions
worldData.wakeupInactiveRemainingVillagers--; // Folia - threaded regions
@@ -59,7 +59,7 @@ index e77e1c60a611c49489c65d66e54236a86c3093e3..51adf24b9274b6bc78ef94e77a0b2d73
// Paper end
+ // Gale start - variable entity wake-up duration
+ private static final java.util.Random wakeUpDurationRandom = new java.util.Random();
+ private static final java.util.concurrent.ThreadLocalRandom wakeUpDurationRandom = java.util.concurrent.ThreadLocalRandom.current();
+
+ private static int getWakeUpDurationWithVariance(Entity entity, int wakeUpDuration) {
+ double deviation = LuminolConfig.entityWakeUpDurationRatioStandardDeviation;
@@ -70,6 +70,7 @@ index e77e1c60a611c49489c65d66e54236a86c3093e3..51adf24b9274b6bc78ef94e77a0b2d73
+ }
+ // Gale end - variable entity wake-up duration
+
static AABB maxBB = new AABB( 0, 0, 0, 0, 0, 0 );
+
// Folia - threaded regions - replaced by local variable
/**

View File

@@ -25,7 +25,7 @@ index 793dc5b35e9a0665d486a74ce5b776b43b941ee2..fcd532898e099a809969603941b90fdd
public static <T> T get(String key,T def){
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 754905c0b88d0871e3294d204ac44e4c918956af..67a51552433949c94697be9abbe224315b37e9ef 100644
index 67be79d5b458a30d080a4f68803d20b7b3df4c7f..bf055d7bd246c5a80a60111134f4db15920a46c5 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -5404,6 +5404,16 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -46,10 +46,10 @@ index 754905c0b88d0871e3294d204ac44e4c918956af..67a51552433949c94697be9abbe22431
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 ffec3fece0e9cc6ad3403303fc3db7bb71c16a78..153f86144061095511a88b98f4ba39b5b1fae879 100644
index c224488866c901604de744c59c7dbd3881251199..00990c41986ec717a318f756e1a73a0a94a82b39 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -2033,19 +2033,43 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -2034,19 +2034,43 @@ public abstract class LivingEntity extends Entity implements Attackable {
public boolean onClimableCached() {
if (!this.blockPosition().equals(this.lastClimbingPosition)) {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Gale Optimize sun burn tick
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 67a51552433949c94697be9abbe224315b37e9ef..5aec853338f73028fe0d4aadaceb3b48e7e38bde 100644
index bf055d7bd246c5a80a60111134f4db15920a46c5..39f86f7007544120d3b83c761dc65f899db3c470 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -308,7 +308,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -310,7 +310,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
public double xo;
public double yo;
public double zo;
@@ -17,7 +17,7 @@ index 67a51552433949c94697be9abbe224315b37e9ef..5aec853338f73028fe0d4aadaceb3b48
public BlockPos blockPosition; // Pufferfish - private->public
private ChunkPos chunkPosition;
private Vec3 deltaMovement;
@@ -2030,9 +2030,17 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -2032,9 +2032,17 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
/** @deprecated */
@Deprecated
public float getLightLevelDependentMagicValue() {
@@ -37,7 +37,7 @@ index 67a51552433949c94697be9abbe224315b37e9ef..5aec853338f73028fe0d4aadaceb3b48
this.absMoveTo(x, y, z);
this.setYRot(yaw % 360.0F);
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index 821bdc66b93e24c20ea85187f8333bf20532c586..69c155d062b345e4bc160b7ee612130b1ba426aa 100644
index 0672f9ae2aa22247efde11915cbc3004164d2b30..c8dad4bde8d0b40f69c2015b86118306448ca38a 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -1741,13 +1741,29 @@ public abstract class Mob extends LivingEntity implements Targeting {

View File

@@ -1,6 +1,6 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: M2ke4U <79621885+MrHua269@users.noreply.github.com>
Date: Sun, 26 Nov 2023 17:30:32 +0800
From: MrHua269 <novau233@163.com>
Date: Sat, 27 Jan 2024 12:45:40 +0000
Subject: [PATCH] Gale Reduce acquire POI for stuck entities
@@ -40,14 +40,12 @@ index fcd532898e099a809969603941b90fdd415b03c3..d032786938db9725e1be72dae63a1387
public static <T> T get(String key,T def){
diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/AcquirePoi.java b/src/main/java/net/minecraft/world/entity/ai/behavior/AcquirePoi.java
index 8f8b29f80d1573981ccffd207dd6e0941e71a352..ba4cdaf499c7ffef0c7fbdd575bdba841bcb7282 100644
index abcc3ef59475ac170fd10b4dd4a4f3371faf17e0..961d3df1ca72d36ed7f0008bac346c95e07a0288 100644
--- a/src/main/java/net/minecraft/world/entity/ai/behavior/AcquirePoi.java
+++ b/src/main/java/net/minecraft/world/entity/ai/behavior/AcquirePoi.java
@@ -7,12 +7,14 @@ import java.util.HashSet;
import java.util.Optional;
import java.util.Set;
@@ -9,10 +9,13 @@ import java.util.Set;
import java.util.function.Predicate;
-import java.util.stream.Collectors;
import java.util.stream.Collectors;
import javax.annotation.Nullable;
+
+import me.earthme.luminol.LuminolConfig;
@@ -59,7 +57,7 @@ index 8f8b29f80d1573981ccffd207dd6e0941e71a352..ba4cdaf499c7ffef0c7fbdd575bdba84
import net.minecraft.util.RandomSource;
import net.minecraft.world.entity.Mob;
import net.minecraft.world.entity.PathfinderMob;
@@ -26,6 +28,13 @@ import org.apache.commons.lang3.mutable.MutableLong;
@@ -26,6 +29,13 @@ import org.apache.commons.lang3.mutable.MutableLong;
public class AcquirePoi {
public static final int SCAN_RANGE = 48;
@@ -73,7 +71,7 @@ index 8f8b29f80d1573981ccffd207dd6e0941e71a352..ba4cdaf499c7ffef0c7fbdd575bdba84
public static BehaviorControl<PathfinderMob> create(Predicate<Holder<PoiType>> poiPredicate, MemoryModuleType<GlobalPos> poiPosModule, boolean onlyRunIfChild, Optional<Byte> entityStatus) {
return create(poiPredicate, poiPosModule, poiPosModule, onlyRunIfChild, entityStatus);
}
@@ -42,12 +51,13 @@ public class AcquirePoi {
@@ -42,12 +52,13 @@ public class AcquirePoi {
return false;
} else if (mutableLong.getValue() == 0L) {
mutableLong.setValue(world.getGameTime() + (long)world.random.nextInt(20));
@@ -83,7 +81,7 @@ index 8f8b29f80d1573981ccffd207dd6e0941e71a352..ba4cdaf499c7ffef0c7fbdd575bdba84
return false;
} else {
mutableLong.setValue(time + 20L + (long)world.getRandom().nextInt(20));
- if (entity.getNavigation().isStuck()) mutableLong.add(200); // Paper - Wait an additional 10s to check again if they're stuck
- if (entity.getNavigation().isStuck()) mutableLong.add(200); // Paper - Perf: Wait an additional 10s to check again if they're stuck
+ addAdditionalTimeToMutableLongIfEntityIsStuck(mutableLong, world, entity); // Gale - Airplane - reduce acquire POI for stuck entities
PoiManager poiManager = world.getPoiManager();
long2ObjectMap.long2ObjectEntrySet().removeIf((entry) -> {

View File

@@ -1,24 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: M2ke4U <79621885+MrHua269@users.noreply.github.com>
Date: Sun, 26 Nov 2023 17:30:32 +0800
Subject: [PATCH] Gale Skip secondary POI sensor if absent
diff --git a/src/main/java/net/minecraft/world/entity/ai/sensing/SecondaryPoiSensor.java b/src/main/java/net/minecraft/world/entity/ai/sensing/SecondaryPoiSensor.java
index cb1d91f9fe98f21c2afbe3894dfd9bca3bdd3ba6..75dc06a3041bfdfb08c914eb50cfa282ae9eb2fe 100644
--- a/src/main/java/net/minecraft/world/entity/ai/sensing/SecondaryPoiSensor.java
+++ b/src/main/java/net/minecraft/world/entity/ai/sensing/SecondaryPoiSensor.java
@@ -22,6 +22,13 @@ public class SecondaryPoiSensor extends Sensor<Villager> {
@Override
protected void doTick(ServerLevel world, Villager entity) {
+ // Gale start - Lithium - skip secondary POI sensor if absent
+ var secondaryPoi = entity.getVillagerData().getProfession().secondaryPoi();
+ if (secondaryPoi.isEmpty()) {
+ entity.getBrain().eraseMemory(MemoryModuleType.SECONDARY_JOB_SITE);
+ return;
+ }
+ // Gale end - Lithium - skip secondary POI sensor if absent
ResourceKey<Level> resourceKey = world.dimension();
BlockPos blockPos = entity.blockPosition();
List<GlobalPos> list = Lists.newArrayList();

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Kaiiju Vanilla end portal teleportation
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 5aec853338f73028fe0d4aadaceb3b48e7e38bde..8f019df26a9ad0dbb8e3ca96c9feddf1453074c5 100644
index 39f86f7007544120d3b83c761dc65f899db3c470..589810272fef6fa47076b05c266a20402d7d8f0d 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -4162,12 +4162,17 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S

View File

@@ -25,7 +25,7 @@ index d032786938db9725e1be72dae63a1387bcb69d79..dcc52141b34b87a67c3d6070b68b58af
if (tpsbarEnabled){
initTpsbar();
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 1ab8b0ff1981682c38f6cfe29091f2e335392c44..b904c458cd604187c063117c74b527a4cd06944f 100644
index 90969df697f3f0d6d77d8584924c28a844c1535d..47fbda55317e27d9f5fac583f529ae1215f43052 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -17,6 +17,9 @@ import java.util.OptionalInt;

View File

@@ -1,6 +1,6 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: M2ke4U <79621885+MrHua269@users.noreply.github.com>
Date: Sun, 24 Dec 2023 11:24:33 +0800
From: MrHua269 <novau233@163.com>
Date: Sat, 27 Jan 2024 13:13:12 +0000
Subject: [PATCH] Add config for offline mode warning
@@ -25,13 +25,13 @@ index dcc52141b34b87a67c3d6070b68b58af4a7c4f26..8bf7a0235ed292d6cb3beca9b786a691
if (tpsbarEnabled){
initTpsbar();
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index 0f265202b18d28a22f0ace6381482b60ab5b5205..28bc6a8c59f7835f6fb5e4d9ad7c05386010520c 100644
index 59de20edb5a770a380c26f13ba1b830e3c0c1875..551f80fc56fa620ebfab2b80b3e9a32c90b3fff0 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -278,7 +278,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
String proxyFlavor = (io.papermc.paper.configuration.GlobalConfiguration.get().proxies.velocity.enabled) ? "Velocity" : "BungeeCord";
String proxyLink = (io.papermc.paper.configuration.GlobalConfiguration.get().proxies.velocity.enabled) ? "https://docs.papermc.io/velocity/security" : "http://www.spigotmc.org/wiki/firewall-guide/";
// Paper end
// Paper end - Add Velocity IP Forwarding Support
- if (!this.usesAuthentication()) {
+ if (!this.usesAuthentication() && !LuminolConfig.disableOfflineModeWarning) { //Luminol - Add config for offline mod warning
DedicatedServer.LOGGER.warn("**** SERVER IS RUNNING IN OFFLINE/INSECURE MODE!");

View File

@@ -1,6 +1,6 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: M2ke4U <79621885+MrHua269@users.noreply.github.com>
Date: Wed, 6 Dec 2023 23:43:00 +0800
From: MrHua269 <novau233@163.com>
Date: Sat, 27 Jan 2024 13:21:55 +0000
Subject: [PATCH] Kaiiju Async path processing
@@ -475,7 +475,7 @@ index 0000000000000000000000000000000000000000..130d61324679c8600faa52255f3ad99f
+ }
+}
diff --git a/src/main/java/me/earthme/luminol/LuminolConfig.java b/src/main/java/me/earthme/luminol/LuminolConfig.java
index 7ada58f2fa83a47908723bdf1e5c5fbbc2f5ffa9..dee892ef5f999b693507e7de909d639ce7875780 100644
index 8bf7a0235ed292d6cb3beca9b786a69148e0b4d9..ca54cc28282ac6441098215d6e1a3531c3f68b83 100644
--- a/src/main/java/me/earthme/luminol/LuminolConfig.java
+++ b/src/main/java/me/earthme/luminol/LuminolConfig.java
@@ -11,6 +11,7 @@ import org.apache.logging.log4j.LogManager;
@@ -486,7 +486,7 @@ index 7ada58f2fa83a47908723bdf1e5c5fbbc2f5ffa9..dee892ef5f999b693507e7de909d639c
import java.util.*;
import java.io.File;
import java.io.IOException;
@@ -58,7 +59,9 @@ public class LuminolConfig {
@@ -57,7 +58,9 @@ public class LuminolConfig {
public static double entityWakeUpDurationRatioStandardDeviation = 0.2;
public static boolean loadChunksToActiveClimbingEntities = false;
public static int acquirePoiForStuckEntityInterval = 60;
@@ -497,7 +497,7 @@ index 7ada58f2fa83a47908723bdf1e5c5fbbc2f5ffa9..dee892ef5f999b693507e7de909d639c
public static void init() throws IOException {
PARENT_FOLDER.mkdir();
@@ -175,6 +178,16 @@ public class LuminolConfig {
@@ -173,6 +176,16 @@ public class LuminolConfig {
entityWakeUpDurationRatioStandardDeviation = get("optimizations.entity_wakeup_duration_ratio_standard_deviation",entityWakeUpDurationRatioStandardDeviation);
loadChunksToActiveClimbingEntities = get("optimizations.load_chunks_to_active_climbing_entities",loadChunksToActiveClimbingEntities);
acquirePoiForStuckEntityInterval = get("optimizations.acquire_poi_for_stuck_entity_interval", acquirePoiForStuckEntityInterval);
@@ -515,7 +515,7 @@ index 7ada58f2fa83a47908723bdf1e5c5fbbc2f5ffa9..dee892ef5f999b693507e7de909d639c
public static <T> T get(String key,T def){
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index 88c93fb45769d85a77f3ae1bfe6ffa0bbf9cdfdf..3cf40268ed84e70e5c10558df0b3602fbc603484 100644
index c8dad4bde8d0b40f69c2015b86118306448ca38a..07397dbfcd85f01e2b6df1180adc1db640717f5e 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -298,6 +298,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
@@ -527,10 +527,10 @@ index 88c93fb45769d85a77f3ae1bfe6ffa0bbf9cdfdf..3cf40268ed84e70e5c10558df0b3602f
if (this.target != null && (!io.papermc.paper.util.TickThread.isTickThreadFor(this.target) || this.target.isRemoved())) {
this.target = null;
diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/AcquirePoi.java b/src/main/java/net/minecraft/world/entity/ai/behavior/AcquirePoi.java
index ba4cdaf499c7ffef0c7fbdd575bdba841bcb7282..6e8e0afb5ec86358f4e3eb929b590fdea1564d21 100644
index 961d3df1ca72d36ed7f0008bac346c95e07a0288..de6ecdbbe2b90f10ea673c3cc4f4a89e30449866 100644
--- a/src/main/java/net/minecraft/world/entity/ai/behavior/AcquirePoi.java
+++ b/src/main/java/net/minecraft/world/entity/ai/behavior/AcquirePoi.java
@@ -78,6 +78,40 @@ public class AcquirePoi {
@@ -79,6 +79,40 @@ public class AcquirePoi {
io.papermc.paper.util.PoiAccess.findNearestPoiPositions(poiManager, poiPredicate, predicate2, entity.blockPosition(), 48, 48*48, PoiManager.Occupancy.HAS_SPACE, false, 5, poiposes);
Set<Pair<Holder<PoiType>, BlockPos>> set = new java.util.HashSet<>(poiposes);
// Paper end - optimise POI access
@@ -571,7 +571,7 @@ index ba4cdaf499c7ffef0c7fbdd575bdba841bcb7282..6e8e0afb5ec86358f4e3eb929b590fde
Path path = findPathToPois(entity, set);
if (path != null && path.canReach()) {
BlockPos blockPos = path.getTarget();
@@ -99,6 +133,7 @@ public class AcquirePoi {
@@ -100,6 +134,7 @@ public class AcquirePoi {
});
}
}
@@ -1116,7 +1116,7 @@ index 61162ecd43dc5e6f7898daecdec49f444e6d869b..26cdfe0dcf16c252648561f83e4d6a67
}
diff --git a/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java b/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java
index 58a7e61e02b7d72326ed4d57ee514adb63b3873c..600e7860534d66fb4b7d305e3695ec6d25c97e67 100644
index 0a151c679b0dc943598180942d6d4b3886211688..af816e10faf7d257f267de6b039f61239a9d453a 100644
--- a/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java
+++ b/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java
@@ -604,6 +604,16 @@ public class Warden extends Monster implements VibrationSystem {
@@ -1191,7 +1191,7 @@ index eea4c932d909145e7af848cf76e3f49dbb2deff2..7160459ec8ba81f66a85082a1fe7b063
return false;
} else if (o.nodes.size() != this.nodes.size()) {
diff --git a/src/main/java/net/minecraft/world/level/pathfinder/PathFinder.java b/src/main/java/net/minecraft/world/level/pathfinder/PathFinder.java
index d23481453717f715124156b5d83f6448f720d049..d806d941fe0610d84a50cf4c2051fb26b612efa8 100644
index 1d51e113b17a5c522fa7812b1c1f38bf790d8335..72dd47dfa7e94317d30ab2da7081aebc3b39588e 100644
--- a/src/main/java/net/minecraft/world/level/pathfinder/PathFinder.java
+++ b/src/main/java/net/minecraft/world/level/pathfinder/PathFinder.java
@@ -24,37 +24,80 @@ public class PathFinder {
@@ -1230,13 +1230,13 @@ index d23481453717f715124156b5d83f6448f720d049..d806d941fe0610d84a50cf4c2051fb26
+ dev.kaiijumc.kaiiju.path.NodeEvaluatorCache.removeNodeEvaluator(nodeEvaluator); // Kaiiju - petal - handle nodeEvaluatorGenerator
return null;
} else {
// Paper start - remove streams - and optimize collection
// Paper start - Perf: remove streams and optimize collection
List<Map.Entry<Target, BlockPos>> map = Lists.newArrayList();
for (BlockPos pos : positions) {
- map.add(new java.util.AbstractMap.SimpleEntry<>(this.nodeEvaluator.getGoal(pos.getX(), pos.getY(), pos.getZ()), pos));
+ map.add(new java.util.AbstractMap.SimpleEntry<>(nodeEvaluator.getGoal(pos.getX(), pos.getY(), pos.getZ()), pos)); // Kaiiju - petal - handle nodeEvaluatorGenerator
}
// Paper end
// Paper end - Perf: remove streams and optimize collection
- Path path = this.findPath(world.getProfiler(), node, map, followRange, distance, rangeMultiplier);
- this.nodeEvaluator.done();
- return path;
@@ -1264,7 +1264,7 @@ index d23481453717f715124156b5d83f6448f720d049..d806d941fe0610d84a50cf4c2051fb26
- @Nullable
+ //@Nullable // Kaiiju - Always not null
// Paper start - optimize collection
// Paper start - Perf: remove streams and optimize collection - optimize collection
private Path findPath(ProfilerFiller profiler, Node startNode, List<Map.Entry<Target, BlockPos>> positions, float followRange, int distance, float rangeMultiplier) {
profiler.push("find_path");
profiler.markForCharting(MetricCategory.PATH_FINDING);
@@ -1299,7 +1299,7 @@ index d23481453717f715124156b5d83f6448f720d049..d806d941fe0610d84a50cf4c2051fb26
}
+ //noinspection ConstantConditions // Kaiiju - petal - ignore this warning, we know that the above loop always runs at least once since positions is not empty
return best;
// Paper end
// Paper end - Perf: remove streams and optimize collection
}
diff --git a/src/main/java/net/minecraft/world/level/pathfinder/SwimNodeEvaluator.java b/src/main/java/net/minecraft/world/level/pathfinder/SwimNodeEvaluator.java
index 0e2b14e7dfedf209d63279c81723fd7955122d78..079b278e2e262af433bb5bd0c12b3d8db4fa12fc 100644

View File

@@ -1,39 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: M2ke4U <79621885+MrHua269@users.noreply.github.com>
Date: Sun, 24 Dec 2023 11:24:54 +0800
Subject: [PATCH] Add config for root user warning
diff --git a/src/main/java/me/earthme/luminol/LuminolConfig.java b/src/main/java/me/earthme/luminol/LuminolConfig.java
index 8bf7a0235ed292d6cb3beca9b786a69148e0b4d9..7ada58f2fa83a47908723bdf1e5c5fbbc2f5ffa9 100644
--- a/src/main/java/me/earthme/luminol/LuminolConfig.java
+++ b/src/main/java/me/earthme/luminol/LuminolConfig.java
@@ -33,6 +33,7 @@ public class LuminolConfig {
public static boolean disableUsernameCheck = false;
public static boolean disableOfflineModeWarning = false;
public static boolean fixSpectorTeleportFolia = false;
+ public static boolean disableRootUserWarning = false;
public static boolean safeTeleportation = true;
public static boolean enableSandDuping = false;
@@ -134,6 +135,7 @@ public class LuminolConfig {
disableUsernameCheck = get("misc.disable_username_check",disableUsernameCheck,"Disable username check that can accept usernames with other characters(such as Chinese).Not recommended to use");
fixSpectorTeleportFolia = get("misc.fix_folia_spector_teleport",fixSpectorTeleportFolia);
disableOfflineModeWarning = get("misc.disable_offline_mode_warning",disableOfflineModeWarning);
+ disableRootUserWarning = get("misc.disable_root_user_warning",disableRootUserWarning);
if (tpsbarEnabled){
initTpsbar();
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index 28bc6a8c59f7835f6fb5e4d9ad7c05386010520c..d871534ebe7134caacca18d913458628bf2f0403 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -178,7 +178,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
}
// Paper start - detect running as root
- if (io.papermc.paper.util.ServerEnvironment.userIsRootOrAdmin()) {
+ if (io.papermc.paper.util.ServerEnvironment.userIsRootOrAdmin() && !LuminolConfig.disableRootUserWarning) { //Luminol - Add config for root user warning
DedicatedServer.LOGGER.warn("****************************");
DedicatedServer.LOGGER.warn("YOU ARE RUNNING THIS SERVER AS AN ADMINISTRATIVE OR ROOT USER. THIS IS NOT ADVISED.");
DedicatedServer.LOGGER.warn("YOU ARE OPENING YOURSELF UP TO POTENTIAL RISKS WHEN DOING THIS.");

View File

@@ -1,6 +1,6 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: M2ke4U <79621885+MrHua269@users.noreply.github.com>
Date: Sun, 24 Dec 2023 11:50:17 +0800
From: MrHua269 <novau233@163.com>
Date: Sat, 27 Jan 2024 13:24:20 +0000
Subject: [PATCH] Optimize mob spawning(Async mob spawn state calc)
@@ -209,7 +209,7 @@ index 7ca275826609bcf96f103a8c50beaa47c3b4068b..dc5399bd5dba9dd33a7cfd644327c256
public int patrolSpawnerNextTick = 0;
public int phantomSpawnerNextTick = 0;
diff --git a/src/main/java/me/earthme/luminol/LuminolConfig.java b/src/main/java/me/earthme/luminol/LuminolConfig.java
index dee892ef5f999b693507e7de909d639ce7875780..6edafcdbc188cd6c78e4c4237363e41d927a665e 100644
index ca54cc28282ac6441098215d6e1a3531c3f68b83..c79070eb6bb71d473fab758ae9d826276ae7eea6 100644
--- a/src/main/java/me/earthme/luminol/LuminolConfig.java
+++ b/src/main/java/me/earthme/luminol/LuminolConfig.java
@@ -2,6 +2,7 @@ package me.earthme.luminol;
@@ -220,7 +220,7 @@ index dee892ef5f999b693507e7de909d639ce7875780..6edafcdbc188cd6c78e4c4237363e41d
import me.earthme.luminol.commands.TpsBarCommand;
import me.earthme.luminol.functions.GlobalServerTpsBar;
import net.minecraft.core.registries.BuiltInRegistries;
@@ -62,6 +63,7 @@ public class LuminolConfig {
@@ -61,6 +62,7 @@ public class LuminolConfig {
public static boolean asyncPathProcessing = false;
public static int asyncPathProcessingMaxThreads = 0;
public static int asyncPathProcessingKeepalive = 60;
@@ -228,7 +228,7 @@ index dee892ef5f999b693507e7de909d639ce7875780..6edafcdbc188cd6c78e4c4237363e41d
public static void init() throws IOException {
PARENT_FOLDER.mkdir();
@@ -188,6 +190,8 @@ public class LuminolConfig {
@@ -186,6 +188,8 @@ public class LuminolConfig {
asyncPathProcessingMaxThreads = Math.max(Runtime.getRuntime().availableProcessors() / 4, 1);
if (!asyncPathProcessing)
asyncPathProcessingMaxThreads = 0;
@@ -444,7 +444,7 @@ index 88db5ada13329a5fe0d0fb652d2c8a8d561649e8..d249827d121144e8b00ce174ffcdd2bd
public void removeTicketsOnClosing() {
diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
index 5caca2a34849189ea42d2699f6d8672e0d7251cb..b21243d494fd1989e7d6c2b98b08e090dc2f38b7 100644
index 1d082e977442790504e3ca70a90dabd69b522622..6fdfeb6920a6db79eb2d374ad120482a5103ccaf 100644
--- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java
+++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
@@ -1,6 +1,9 @@

View File

@@ -1,14 +1,14 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: MrHua269 <novau233@163.com>
Date: Mon, 1 Jan 2024 08:13:11 +0000
Date: Sat, 27 Jan 2024 13:25:30 +0000
Subject: [PATCH] Purpur use alternative keep alive
diff --git a/src/main/java/me/earthme/luminol/LuminolConfig.java b/src/main/java/me/earthme/luminol/LuminolConfig.java
index 6edafcdbc188cd6c78e4c4237363e41d927a665e..a62680768068b611fe723fedeb617d42c643e59e 100644
index c79070eb6bb71d473fab758ae9d826276ae7eea6..ea9fe545a92ab555479fc518519be5d9f60efe11 100644
--- a/src/main/java/me/earthme/luminol/LuminolConfig.java
+++ b/src/main/java/me/earthme/luminol/LuminolConfig.java
@@ -64,6 +64,7 @@ public class LuminolConfig {
@@ -63,6 +63,7 @@ public class LuminolConfig {
public static int asyncPathProcessingMaxThreads = 0;
public static int asyncPathProcessingKeepalive = 60;
public static boolean enableAsyncMobSpawning = false;
@@ -16,7 +16,7 @@ index 6edafcdbc188cd6c78e4c4237363e41d927a665e..a62680768068b611fe723fedeb617d42
public static void init() throws IOException {
PARENT_FOLDER.mkdir();
@@ -192,6 +193,7 @@ public class LuminolConfig {
@@ -190,6 +191,7 @@ public class LuminolConfig {
asyncPathProcessingMaxThreads = 0;
enableAsyncMobSpawning = get("optimizations.enable_async_mob_spawning",enableAsyncMobSpawning);
RegionizedWorldData.initMobSpawningExecutor();
@@ -25,7 +25,7 @@ index 6edafcdbc188cd6c78e4c4237363e41d927a665e..a62680768068b611fe723fedeb617d42
public static <T> T get(String key,T def){
diff --git a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
index 062cc713ef5239f934139bb9e4071cf958e57e32..771f9735805c21ad5b3fe40c641ecc102c92637a 100644
index bdeb70fdcd2985c9ffd7cfb77f75d1bd1eb49a02..87922e561b4949e7b4ea124f3ecdcd94792825a3 100644
--- a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
@@ -51,6 +51,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack

View File

@@ -1,6 +1,6 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: M2ke4U <79621885+MrHua269@users.noreply.github.com>
Date: Sun, 24 Dec 2023 11:52:22 +0800
From: MrHua269 <novau233@163.com>
Date: Sat, 27 Jan 2024 13:26:53 +0000
Subject: [PATCH] Leaves Protocol Core
@@ -36,7 +36,7 @@ index af86f752c33a2990405fea058b7c41c437ba9d46..bada9fae1e7178162429e1f5a1608b9c
}
diff --git a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
index 771f9735805c21ad5b3fe40c641ecc102c92637a..45fe935f424f46900fd2b7bbc79f90097a1d16f5 100644
index 87922e561b4949e7b4ea124f3ecdcd94792825a3..d459013788b077aacd6acd527b1cb39685d5303f 100644
--- a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
@@ -139,6 +139,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack
@@ -56,7 +56,7 @@ index 771f9735805c21ad5b3fe40c641ecc102c92637a..45fe935f424f46900fd2b7bbc79f9009
} catch (Exception ex) {
ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t register custom payload", ex);
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index ded539dd20a2d037fa5d175be06d59dd76660ffe..a7b75e8dca72be03153fcd59e25e10238bb65560 100644
index 5d4876fc53eb12ee8e4a0159177e05cee847f077..8d776e633f6b61b06c3ed1dcfcd86141a9feab8c 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -433,6 +433,8 @@ public abstract class PlayerList {
@@ -73,11 +73,11 @@ index ded539dd20a2d037fa5d175be06d59dd76660ffe..a7b75e8dca72be03153fcd59e25e1023
}
public net.kyori.adventure.text.Component remove(ServerPlayer entityplayer, net.kyori.adventure.text.Component leaveMessage) {
+ top.leavesmc.leaves.protocol.core.LeavesProtocolManager.handlePlayerLeave(entityplayer); // Leaves - protocol
// Paper end
// Paper end - Fix kick event leave message not being sent
ServerLevel worldserver = entityplayer.serverLevel();
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 75adb89ba0726781fc80bc244a5bf75dbf6b2a24..d090d3e7240091b18afb9f56fb1318bc10ec25cf 100644
index 1d8681ee2c71c06a596a6eff650753a358de22c1..39099a6fcb431faf329fff2774988cf64189b43f 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -469,6 +469,7 @@ public final class CraftServer implements Server {
@@ -88,7 +88,7 @@ index 75adb89ba0726781fc80bc244a5bf75dbf6b2a24..d090d3e7240091b18afb9f56fb1318bc
}
public boolean getCommandBlockOverride(String command) {
@@ -1110,6 +1111,7 @@ public final class CraftServer implements Server {
@@ -1112,6 +1113,7 @@ public final class CraftServer implements Server {
io.papermc.paper.command.PaperCommands.registerCommands(this.console); // Paper
this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*");
this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions");

View File

@@ -1,14 +1,14 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: M2ke4U <79621885+MrHua269@users.noreply.github.com>
Date: Sun, 17 Dec 2023 21:01:59 +0800
From: MrHua269 <novau233@163.com>
Date: Sat, 27 Jan 2024 13:29:09 +0000
Subject: [PATCH] Leaves PCA sync protocol
diff --git a/src/main/java/me/earthme/luminol/LuminolConfig.java b/src/main/java/me/earthme/luminol/LuminolConfig.java
index a62680768068b611fe723fedeb617d42c643e59e..cfe9a8eb705039ee7e2dc9262e1355c4b0f664bb 100644
index ea9fe545a92ab555479fc518519be5d9f60efe11..2589f04a33b99f812cfc9b471398d5fd4afb7012 100644
--- a/src/main/java/me/earthme/luminol/LuminolConfig.java
+++ b/src/main/java/me/earthme/luminol/LuminolConfig.java
@@ -66,6 +66,10 @@ public class LuminolConfig {
@@ -65,6 +65,10 @@ public class LuminolConfig {
public static boolean enableAsyncMobSpawning = false;
public static boolean useAlternateKeepAlive = false;
@@ -19,7 +19,7 @@ index a62680768068b611fe723fedeb617d42c643e59e..cfe9a8eb705039ee7e2dc9262e1355c4
public static void init() throws IOException {
PARENT_FOLDER.mkdir();
@@ -194,6 +198,9 @@ public class LuminolConfig {
@@ -192,6 +196,9 @@ public class LuminolConfig {
enableAsyncMobSpawning = get("optimizations.enable_async_mob_spawning",enableAsyncMobSpawning);
RegionizedWorldData.initMobSpawningExecutor();
useAlternateKeepAlive = get("optimizations.enable_alternative_keep_alive_handling",useAlternateKeepAlive,"Enabling this sends a keepalive packet once per second to a player, and only kicks for timeout if none of them were responded to in 30 seconds. Responding to any of them in any order will keep the player connected. AKA, it won't kick your players because one packet gets dropped somewhere along the lines(From purpur)");
@@ -30,7 +30,7 @@ index a62680768068b611fe723fedeb617d42c643e59e..cfe9a8eb705039ee7e2dc9262e1355c4
public static <T> T get(String key,T def){
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
index 63bbb5723f587788a65cc1cdac4cea94d96f254b..4417a30b7392404de1081469b90cceea032a8437 100644
index 815eb15086976b8f9e03bf8182d9ed50aec14720..2d8d7eebff351987b4d184afa5b6b32ac524cd78 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
@@ -373,6 +373,11 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
@@ -46,7 +46,7 @@ index 63bbb5723f587788a65cc1cdac4cea94d96f254b..4417a30b7392404de1081469b90cceea
this.updateContainerEquipment();
diff --git a/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java b/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java
index ce728f062794e239d1dfdf842d7d0c725f77fba7..a3200593788525c7f18420036044bfdccfaf40fc 100644
index d2fbeb0e4e3e681b22455b9cf2d125dcb4de0a56..49fcd1d78e97f1e63024ef7d65b47602a0abc0a7 100644
--- a/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java
@@ -64,6 +64,15 @@ public abstract class AbstractVillager extends AgeableMob implements InventoryCa
@@ -85,10 +85,10 @@ index e7115f1635821e0aab32e8aeea6914388dc24639..6593ae2dad5d1f7d8e403d08cd425a64
@Override
public boolean stillValid(Player player) {
diff --git a/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java
index a18aadbf7ae83713e1f2b21553185d8000bc7699..4b174bed02fb98f798f9444e03fc866baf1e1a07 100644
index ca17d9953ec207f64ed7386f116d9db540282a75..e89d248247d3c61fbec0c98c09b586e34d9a245f 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java
@@ -569,6 +569,16 @@ public abstract class AbstractFurnaceBlockEntity extends BaseContainerBlockEntit
@@ -570,6 +570,16 @@ public abstract class AbstractFurnaceBlockEntity extends BaseContainerBlockEntit
}
@@ -127,7 +127,7 @@ index 416aa989ebb18a8741cc9d605a1180ab830f6643..b73c3dc28a95279285e911bfed3bc3d3
protected Component getDefaultName() {
return Component.translatable("container.barrel");
diff --git a/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java
index dfd364ac4b7551a13c4c6c100b5e62c0dfb10595..e965d88fa4021fbf85dc660f22ec52bb33bdd317 100644
index 560a6e7b7888a87011aa48d7c9a17949bf086f8d..9e5dd6d920ab8805f71519a0ff74f1888ec5bc0e 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java
@@ -4,6 +4,7 @@ import com.google.common.collect.Lists;
@@ -174,7 +174,7 @@ index dfd364ac4b7551a13c4c6c100b5e62c0dfb10595..e965d88fa4021fbf85dc660f22ec52bb
+ // Leaves end - pca
// CraftBukkit start
} else {
tileentitybeehive_hivebee.exitTickCounter = tileentitybeehive_hivebee.minOccupationTicks / 2; // Not strictly Vanilla behaviour in cases where bees cannot spawn but still reasonable // Paper - use exitTickCounter to keep actual bee life
tileentitybeehive_hivebee.exitTickCounter = tileentitybeehive_hivebee.minOccupationTicks / 2; // Not strictly Vanilla behaviour in cases where bees cannot spawn but still reasonable // Paper - Fix bees aging inside hives; use exitTickCounter to keep actual bee life
@@ -385,6 +402,11 @@ public class BeehiveBlockEntity extends BlockEntity {
this.maxBees = nbt.getInt("Bukkit.MaxEntities");
}
@@ -188,7 +188,7 @@ index dfd364ac4b7551a13c4c6c100b5e62c0dfb10595..e965d88fa4021fbf85dc660f22ec52bb
@Override
diff --git a/src/main/java/net/minecraft/world/level/block/entity/BrewingStandBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BrewingStandBlockEntity.java
index 526d1bfd5ad0de7bcfd0c2da902515f3dec94c54..66758af67aca2c726b2f5b451f3f7197102af22f 100644
index 4a62ac73dd89bc3c2aed1e58152e93c5043c6633..2d5230a001b933337d90972357b8c7b4e6f88bdd 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/BrewingStandBlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/BrewingStandBlockEntity.java
@@ -333,6 +333,16 @@ public class BrewingStandBlockEntity extends BaseContainerBlockEntity implements
@@ -251,7 +251,7 @@ index 881379681c39230a00b3a1f11cd87498984396c7..51fae4d72eed9e4224a8abe1a0b65208
protected Component getDefaultName() {
return Component.translatable("container.dispenser");
diff --git a/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java
index c90d578643490709936545ee9cbd41c8671eeb7a..3527a3cc76d3b1ad1319f1eebe31fd4d9e8aa039 100644
index 009263f6aab41608d7e17bebbed6f962fcb55634..a6bc5d7e848470118d4520962fc9652b9637f799 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java
@@ -155,6 +155,16 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen

View File

@@ -1,14 +1,14 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: M2ke4U <79621885+MrHua269@users.noreply.github.com>
Date: Thu, 21 Dec 2023 19:50:41 +0800
From: MrHua269 <novau233@163.com>
Date: Sat, 27 Jan 2024 13:31:02 +0000
Subject: [PATCH] Leaves Bladeren protocol
diff --git a/src/main/java/me/earthme/luminol/LuminolConfig.java b/src/main/java/me/earthme/luminol/LuminolConfig.java
index cfe9a8eb705039ee7e2dc9262e1355c4b0f664bb..a0fd4fec133617893487586fd52e3a3a864871b4 100644
index 2589f04a33b99f812cfc9b471398d5fd4afb7012..277623f29ca4a00432d70f40612f3ae247f09144 100644
--- a/src/main/java/me/earthme/luminol/LuminolConfig.java
+++ b/src/main/java/me/earthme/luminol/LuminolConfig.java
@@ -68,6 +68,7 @@ public class LuminolConfig {
@@ -67,6 +67,7 @@ public class LuminolConfig {
public static boolean pcaSyncProtocol = false;
public static String pcaSyncPlayerEntity = "NOBODY";
@@ -16,7 +16,7 @@ index cfe9a8eb705039ee7e2dc9262e1355c4b0f664bb..a0fd4fec133617893487586fd52e3a3a
public static void init() throws IOException {
@@ -201,6 +202,7 @@ public class LuminolConfig {
@@ -199,6 +200,7 @@ public class LuminolConfig {
pcaSyncProtocol = get("gameplay.enable_pca_sync_protocol",pcaSyncProtocol);
pcaSyncPlayerEntity = get("gameplay.pca_sync_player_entity",pcaSyncPlayerEntity,"Available values: NOBODY,EVERYBODY,OPS,OPS_AND_SELF");

View File

@@ -1,14 +1,14 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: M2ke4U <79621885+MrHua269@users.noreply.github.com>
Date: Thu, 21 Dec 2023 20:06:50 +0800
From: MrHua269 <novau233@163.com>
Date: Sat, 27 Jan 2024 13:33:13 +0000
Subject: [PATCH] Leaves Bladeren mspt sync protocol
diff --git a/src/main/java/me/earthme/luminol/LuminolConfig.java b/src/main/java/me/earthme/luminol/LuminolConfig.java
index a0fd4fec133617893487586fd52e3a3a864871b4..d19f423debbeaedf955977c02aaf5f8e0016bea3 100644
index 277623f29ca4a00432d70f40612f3ae247f09144..36e8870f89b58d3f01e671480da4c64a502ab7b8 100644
--- a/src/main/java/me/earthme/luminol/LuminolConfig.java
+++ b/src/main/java/me/earthme/luminol/LuminolConfig.java
@@ -69,6 +69,9 @@ public class LuminolConfig {
@@ -68,6 +68,9 @@ public class LuminolConfig {
public static boolean pcaSyncProtocol = false;
public static String pcaSyncPlayerEntity = "NOBODY";
public static boolean bladerenLeavesProtocol = false;
@@ -18,7 +18,7 @@ index a0fd4fec133617893487586fd52e3a3a864871b4..d19f423debbeaedf955977c02aaf5f8e
public static void init() throws IOException {
@@ -203,6 +206,8 @@ public class LuminolConfig {
@@ -201,6 +204,8 @@ public class LuminolConfig {
pcaSyncProtocol = get("gameplay.enable_pca_sync_protocol",pcaSyncProtocol);
pcaSyncPlayerEntity = get("gameplay.pca_sync_player_entity",pcaSyncPlayerEntity,"Available values: NOBODY,EVERYBODY,OPS,OPS_AND_SELF");
bladerenLeavesProtocol = get("gameplay.bladeren_leaves_protocol",bladerenLeavesProtocol);

View File

@@ -1,14 +1,14 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: M2ke4U <79621885+MrHua269@users.noreply.github.com>
Date: Sun, 24 Dec 2023 12:10:17 +0800
From: MrHua269 <novau233@163.com>
Date: Sat, 27 Jan 2024 13:34:42 +0000
Subject: [PATCH] Leaves Syncmatica Protocol
diff --git a/src/main/java/me/earthme/luminol/LuminolConfig.java b/src/main/java/me/earthme/luminol/LuminolConfig.java
index d19f423debbeaedf955977c02aaf5f8e0016bea3..875afb57c7f0c4e3d0bc752d86a8308147eee31a 100644
index 36e8870f89b58d3f01e671480da4c64a502ab7b8..6626961d57fff6475ec82da57941d8dad6455bc6 100644
--- a/src/main/java/me/earthme/luminol/LuminolConfig.java
+++ b/src/main/java/me/earthme/luminol/LuminolConfig.java
@@ -71,6 +71,9 @@ public class LuminolConfig {
@@ -70,6 +70,9 @@ public class LuminolConfig {
public static boolean bladerenLeavesProtocol = false;
public static boolean msptSyncProtocol = false;
public static int msptSyncTickInterval = 20;
@@ -18,7 +18,7 @@ index d19f423debbeaedf955977c02aaf5f8e0016bea3..875afb57c7f0c4e3d0bc752d86a83081
@@ -208,6 +211,9 @@ public class LuminolConfig {
@@ -206,6 +209,9 @@ public class LuminolConfig {
bladerenLeavesProtocol = get("gameplay.bladeren_leaves_protocol",bladerenLeavesProtocol);
msptSyncProtocol = get("gameplay.bladeren_mspt_sync_protocol",bladerenLeavesProtocol);
msptSyncTickInterval = get("gameplay.bladeren_mspt_sync_interval",msptSyncTickInterval);
@@ -29,7 +29,7 @@ index d19f423debbeaedf955977c02aaf5f8e0016bea3..875afb57c7f0c4e3d0bc752d86a83081
public static <T> T get(String key,T def){
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index de25bf4893ac741fe687ab9bb0aa975db8686400..e82f4fa9a56840f4698865f41ada62fb3d5444dc 100644
index f6e4d034379d40b39c2ed3de13fa263bc83758ea..dfeaf0755374fe84367238cc5153bf5326299fbe 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -307,6 +307,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl

View File

@@ -1,6 +1,6 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: MrHua269 <novau233@163.com>
Date: Wed, 17 Jan 2024 14:10:33 +0000
Date: Sat, 27 Jan 2024 13:37:13 +0000
Subject: [PATCH] Leaves Fix Bladeren Protocol
@@ -92,15 +92,15 @@ index d696f001d2576d1b61cc732c81f22eb52205072b..92ad6e9b1c0d9640b80c1ebe739c613d
boolean ignoreId() default false;
}
diff --git a/src/main/java/top/leavesmc/leaves/protocol/syncmatica/CommunicationManager.java b/src/main/java/top/leavesmc/leaves/protocol/syncmatica/CommunicationManager.java
index 6325f6441e28d915514e6b0ee9b450610e99b2c2..19277aa7b9bd16b3e70d581d38a4c28e60165f65 100644
index fc229f23076147304754a267bcc345cc836b648b..4c2aa74795b0883f280eaa721a83ea6891ffdab2 100644
--- a/src/main/java/top/leavesmc/leaves/protocol/syncmatica/CommunicationManager.java
+++ b/src/main/java/top/leavesmc/leaves/protocol/syncmatica/CommunicationManager.java
@@ -97,7 +97,7 @@ public class CommunicationManager {
@@ -90,7 +90,7 @@ public class CommunicationManager {
playerMap.remove(oldPlayer);
}
- @ProtocolHandler.PayloadReceiver(payload = LeavesProtocolManager.LeavesPayload.class, ignoreId = true)
+ @ProtocolHandler.PayloadReceiver(payload = LeavesProtocolManager.LeavesPayload.class, ignoreId = true, payloadId = "")
public static void onPacketGet(ServerPlayer player, LeavesProtocolManager.LeavesPayload payload) {
if (!LuminolConfig.syncmaticaProtocol){
return;
onPacket(player.connection.exchangeTarget, payload.id(), payload.data());
}

View File

@@ -1,6 +1,6 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: MrHua269 <novau233@163.com>
Date: Mon, 8 Jan 2024 12:19:29 +0000
Date: Sat, 27 Jan 2024 13:38:56 +0000
Subject: [PATCH] Do not process any packet if the leaves protocol supports are
disabled
@@ -31,7 +31,7 @@ index de92ebdf9d51a4f9a58a7650b09f070e51710ef0..b309963dcf41f16a7b53e4cc28169755
if (compoundTag.getString("Value").equals("true")) {
onPlayerSubmit(player);
diff --git a/src/main/java/top/leavesmc/leaves/protocol/syncmatica/CommunicationManager.java b/src/main/java/top/leavesmc/leaves/protocol/syncmatica/CommunicationManager.java
index fc229f23076147304754a267bcc345cc836b648b..6325f6441e28d915514e6b0ee9b450610e99b2c2 100644
index 4c2aa74795b0883f280eaa721a83ea6891ffdab2..19277aa7b9bd16b3e70d581d38a4c28e60165f65 100644
--- a/src/main/java/top/leavesmc/leaves/protocol/syncmatica/CommunicationManager.java
+++ b/src/main/java/top/leavesmc/leaves/protocol/syncmatica/CommunicationManager.java
@@ -2,6 +2,7 @@ package top.leavesmc.leaves.protocol.syncmatica;
@@ -64,7 +64,7 @@ index fc229f23076147304754a267bcc345cc836b648b..6325f6441e28d915514e6b0ee9b45061
if (potentialMessageTarget != null) {
@@ -92,6 +99,9 @@ public class CommunicationManager {
@ProtocolHandler.PayloadReceiver(payload = LeavesProtocolManager.LeavesPayload.class, ignoreId = true)
@ProtocolHandler.PayloadReceiver(payload = LeavesProtocolManager.LeavesPayload.class, ignoreId = true, payloadId = "")
public static void onPacketGet(ServerPlayer player, LeavesProtocolManager.LeavesPayload payload) {
+ if (!LuminolConfig.syncmaticaProtocol){
+ return;

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Piston fixes from molean server
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 3a5c8f1f9a8173777b00d43c15e8e313526d3e28..9bd6d4881280196a437161a9375ac8ee5e0f9231 100644
index 589810272fef6fa47076b05c266a20402d7d8f0d..4cdb0e62a3027ae292e1d818e1a06a47496676af 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -1428,7 +1428,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -1438,7 +1438,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
if (movement.lengthSqr() <= 1.0E-7D) {
return movement;
} else {
@@ -18,10 +18,10 @@ index 3a5c8f1f9a8173777b00d43c15e8e313526d3e28..9bd6d4881280196a437161a9375ac8ee
if (i != this.pistonDeltasGameTime) {
Arrays.fill(this.pistonDeltas, 0.0D);
diff --git a/src/main/java/net/minecraft/world/level/block/piston/PistonBaseBlock.java b/src/main/java/net/minecraft/world/level/block/piston/PistonBaseBlock.java
index cdcf11fb9e4690d74b30fe0ade842d6574464624..141b806493f25854fc49f90816cd22e7d5d74e6f 100644
index 1818ab63209017b45a46a80802d500f2d042a208..157255e0fdcd2531ba3635d44bf57a84f454bb9b 100644
--- a/src/main/java/net/minecraft/world/level/block/piston/PistonBaseBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/piston/PistonBaseBlock.java
@@ -139,7 +139,7 @@ public class PistonBaseBlock extends DirectionalBlock {
@@ -152,7 +152,7 @@ public class PistonBaseBlock extends DirectionalBlock {
if (tileentity instanceof PistonMovingBlockEntity) {
PistonMovingBlockEntity tileentitypiston = (PistonMovingBlockEntity) tileentity;

View File

@@ -1,14 +1,14 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: MrHua269 <novau233@163.com>
Date: Fri, 26 Jan 2024 11:07:22 +0000
Date: Sat, 27 Jan 2024 13:43:43 +0000
Subject: [PATCH] Teleport async if the entity was moving to another region
diff --git a/src/main/java/me/earthme/luminol/LuminolConfig.java b/src/main/java/me/earthme/luminol/LuminolConfig.java
index 875afb57c7f0c4e3d0bc752d86a8308147eee31a..7b478affcf01e4eca7a1c881e32fb0c3e7a9ee00 100644
index 6626961d57fff6475ec82da57941d8dad6455bc6..a535ab9432010b15dfb07f206d15c285d1f76597 100644
--- a/src/main/java/me/earthme/luminol/LuminolConfig.java
+++ b/src/main/java/me/earthme/luminol/LuminolConfig.java
@@ -42,6 +42,8 @@ public class LuminolConfig {
@@ -41,6 +41,8 @@ public class LuminolConfig {
public static boolean enableVoidTrading = false;
public static boolean allowIncorrectTripwireUpdating = false;
public static boolean useVanillaRandomSource = false;
@@ -17,7 +17,7 @@ index 875afb57c7f0c4e3d0bc752d86a8308147eee31a..7b478affcf01e4eca7a1c881e32fb0c3
public static RegionFileFormat regionFormatName = RegionFileFormat.ANVIL;
public static int regionFormatLinearCompressionLevel = 1;
@@ -163,6 +165,8 @@ public class LuminolConfig {
@@ -161,6 +163,8 @@ public class LuminolConfig {
enableVoidTrading = get("fixes.enable_void_trading",enableVoidTrading);
allowIncorrectTripwireUpdating = get("fixes.allow_incorrect_trip_wire_updaing",allowIncorrectTripwireUpdating);
useVanillaRandomSource = get("fixes.use_vanilla_random_source",useVanillaRandomSource,"RNG feature related");
@@ -27,7 +27,7 @@ index 875afb57c7f0c4e3d0bc752d86a8308147eee31a..7b478affcf01e4eca7a1c881e32fb0c3
regionFormatName = RegionFileFormat.fromString(get("save.region-format.format", regionFormatName.name()));
if (regionFormatName.equals(RegionFileFormat.INVALID)) {
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 8f019df26a9ad0dbb8e3ca96c9feddf1453074c5..82747dc7ab3d7d094c6e225be7898216c9e96b52 100644
index 4cdb0e62a3027ae292e1d818e1a06a47496676af..235f96fd0f2c74356f986017f514d2805f88ef46 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -7,6 +7,7 @@ import com.google.common.collect.Lists;
@@ -38,7 +38,7 @@ index 8f019df26a9ad0dbb8e3ca96c9feddf1453074c5..82747dc7ab3d7d094c6e225be7898216
import it.unimi.dsi.fastutil.objects.Object2DoubleArrayMap;
import it.unimi.dsi.fastutil.objects.Object2DoubleMap;
import java.util.Arrays;
@@ -1092,9 +1093,39 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -1094,9 +1095,39 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
}
// Paper end - detailed watchdog information