From 299cc10748d5b876cbee2264f091b4dfb429eab2 Mon Sep 17 00:00:00 2001 From: M2ke4U <79621885+MrHua269@users.noreply.github.com> Date: Sun, 24 Dec 2023 12:14:19 +0800 Subject: [PATCH] Updated to dev/1.20.4 cd713b8ea2e7a57a37a99755d8d84b7fa0c9f170 --- .github/workflows/build.yml | 14 +- build.gradle.kts | 2 - gradle.properties | 4 +- patches/api/0001-Added-maven-publish.patch | 8 +- patches/server/0001-Fix-build.patch | 12 +- patches/server/0002-Rebrand-to-Luminol.patch | 8 +- .../0003-Added-empty-luminol-config.patch | 20 +-- ...004-Add-config-for-server-brand-name.patch | 6 +- ...-Add-config-for-unsafe-teleportation.patch | 27 ++-- .../0006-Add-config-for-sand-duping.patch | 4 +- .../0007-Add-config-for-void-trading.patch | 6 +- ...r-incorrect-tripwire-updating-fixing.patch | 26 ++-- .../0009-Add-config-for-chat-sign.patch | 21 +-- .../0010-Add-config-for-vanilla-random.patch | 6 +- ...12-Add-logger-field-to-LuminolConfig.patch | 2 +- .../0013-Kaiiju-region-format-settings.patch | 8 +- ...0014-Kaiiju-Add-linear-region-format.patch | 20 +-- patches/server/0015-Add-a-simple-tpsbar.patch | 18 +-- .../0016-Petal-Reduce-sensor-work.patch | 8 +- .../0017-Add-config-for-username-check.patch | 35 ++--- ...rfish-Optimize-entity-coordinate-key.patch | 4 +- ...-Cache-climbing-check-for-activation.patch | 8 +- ...0021-Pufferfish-Optimize-suffocation.patch | 10 +- ...ove-container-checking-with-a-bitset.patch | 6 +- ...ce-entity-fluid-lookups-if-no-fluids.patch | 8 +- ...check-for-spooky-season-once-an-hour.patch | 4 +- .../server/0028-Pufferfish-Entity-TTL.patch | 8 +- ...fish-Reduce-projectile-chunk-loading.patch | 4 +- ...fferfish-Dynamic-Activation-of-Brain.patch | 36 ++--- ...chunks-to-activate-climbing-entities.patch | 8 +- .../0033-Gale-Optimize-sun-burn-tick.patch | 10 +- ...iju-Vanilla-end-portal-teleportation.patch | 8 +- ...y-fixing-folia-spector-teleportation.patch | 12 +- ...-Add-config-for-offline-mode-warning.patch | 4 +- ...039-Add-config-for-root-user-warning.patch | 4 +- .../0040-Kaiiju-Async-path-processing.patch | 30 ++-- ...-spawning-Async-mob-spawn-state-calc.patch | 143 ++++++++---------- .../0042-Added-back-worldborder-command.patch | 19 --- ...2-Purpur-use-alternative-keep-alive.patch} | 4 +- ....patch => 0043-Leaves-Protocol-Core.patch} | 18 +-- ...ch => 0044-Leaves-PCA-sync-protocol.patch} | 6 +- ...ch => 0045-Leaves-Bladeren-protocol.patch} | 0 ...-Leaves-Bladeren-mspt-sync-protocol.patch} | 0 ... => 0047-Leaves-Syncmatica-Protocol.patch} | 12 +- 44 files changed, 293 insertions(+), 328 deletions(-) delete mode 100644 patches/server/0042-Added-back-worldborder-command.patch rename patches/server/{0043-Purpur-use-alternative-keep-alive.patch => 0042-Purpur-use-alternative-keep-alive.patch} (97%) rename patches/server/{0044-Leaves-Protocol-Core.patch => 0043-Leaves-Protocol-Core.patch} (97%) rename patches/server/{0045-Leaves-PCA-sync-protocol.patch => 0044-Leaves-PCA-sync-protocol.patch} (99%) rename patches/server/{0046-Leaves-Bladeren-protocol.patch => 0045-Leaves-Bladeren-protocol.patch} (100%) rename patches/server/{0047-Leaves-Bladeren-mspt-sync-protocol.patch => 0046-Leaves-Bladeren-mspt-sync-protocol.patch} (100%) rename patches/server/{0048-Leaves-Syncmatica-Protocol.patch => 0047-Leaves-Syncmatica-Protocol.patch} (99%) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7b63afe..ab8b98b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -5,13 +5,13 @@ # This workflow will build a Java project with Gradle and cache/restore any dependencies to improve the workflow execution time # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-gradle -name: LuminolCI - Ver/1.20.2 +name: LuminolCI - Ver/1.20.4 on: push: - branches: [ "ver/1.20.2" ] + branches: [ "ver/1.20.4" ] pull_request: - branches: [ "ver/1.20.2" ] + branches: [ "ver/1.20.4" ] permissions: write-all @@ -51,13 +51,13 @@ jobs: export GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }} ./gradlew publish - name: Rename jar file - run: mv build/libs/Luminol-paperclip-1.20.2-R0.1-SNAPSHOT-reobf.jar build/libs/luminol-1.20.2-paperclip.jar + run: mv build/libs/Luminol-paperclip-1.20.4-R0.1-SNAPSHOT-reobf.jar build/libs/luminol-1.20.4-paperclip.jar - name: Release Artifacts uses: svenstaro/upload-release-action@v2 with: - release_name: "Luminol MC1.20.2 - ${{ github.event.repository.updated_at}}" - tag: "1.20.2-${{ github.run_id }}" + release_name: "Luminol MC1.20.4 - ${{ github.event.repository.updated_at}}" + tag: "1.20.4-${{ github.run_id }}" repo_token: "${{ secrets.GITHUB_TOKEN }}" - file: "build/libs/luminol-1.20.2-paperclip.jar" + file: "build/libs/luminol-1.20.4-paperclip.jar" file_glob: true prerelease: false diff --git a/build.gradle.kts b/build.gradle.kts index eb0b91e..be32272 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,5 +1,3 @@ -import io.papermc.paperweight.util.constants.* - plugins { java `maven-publish` diff --git a/gradle.properties b/gradle.properties index 02bad58..0cdc3f2 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,7 +1,7 @@ group = me.earthme.luminol -version = 1.20.2-R0.1-SNAPSHOT +version = 1.20.4-R0.1-SNAPSHOT -foliaCommit = 1e5e2154c9f88d788cecf0b9fcc77ece7d1f8663 +foliaCommit = cd713b8ea2e7a57a37a99755d8d84b7fa0c9f170 org.gradle.caching = true org.gradle.parallel = true diff --git a/patches/api/0001-Added-maven-publish.patch b/patches/api/0001-Added-maven-publish.patch index 79ebf67..cdbb7e1 100644 --- a/patches/api/0001-Added-maven-publish.patch +++ b/patches/api/0001-Added-maven-publish.patch @@ -1,15 +1,15 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: M2ke4U <79621885+MrHua269@users.noreply.github.com> -Date: Sun, 26 Nov 2023 18:04:47 +0800 +Date: Sun, 24 Dec 2023 12:11:45 +0800 Subject: [PATCH] Added maven publish diff --git a/build.gradle.kts b/build.gradle.kts -index 639651972fddce4dff63a0f0a7e566a15b9e2dd6..890820cb36e4cadeadb4c2d7cd961a73b065a217 100644 +index 3e3ea0e4e4ceb3283ad2b99957e3795d66a9a716..0f1846c506cbe25cdd37b8f4b7fd9f7aef2bf0b9 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -168,3 +168,23 @@ tasks.check { - dependsOn(scanJar) +@@ -199,3 +199,23 @@ tasks.check { + dependsOn(scanJarForOldGeneratedCode) } // Paper end + diff --git a/patches/server/0001-Fix-build.patch b/patches/server/0001-Fix-build.patch index 43a5020..898379d 100644 --- a/patches/server/0001-Fix-build.patch +++ b/patches/server/0001-Fix-build.patch @@ -1,23 +1,23 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: M2ke4U <79621885+MrHua269@users.noreply.github.com> -Date: Sun, 26 Nov 2023 08:20:14 +0800 +Date: Sat, 23 Dec 2023 21:46:22 +0800 Subject: [PATCH] Fix build diff --git a/build.gradle.kts b/build.gradle.kts -index 0cd12a854e544e867abfd94c18a9f138ba57e587..d295ee01481b088a376691de7c0927e95d7a68a8 100644 +index 03abea227c555decd559dd58b33913127f3549a4..44b3fc01d8fdce55cffe77b7b02b07b95e182870 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -14,7 +14,7 @@ val alsoShade: Configuration by configurations.creating - +@@ -28,7 +28,7 @@ repositories { dependencies { + extraRuntime(platform("net.kyori:adventure-bom:4.15.0-SNAPSHOT")) // Folia start - implementation(project(":folia-api")) -+ implementation(project(":luminol-api")) //Luminol ++ implementation(project(":luminol-api"))//Luminol implementation("io.papermc.paper:paper-mojangapi:${project.version}") { exclude("io.papermc.paper", "paper-api") } -@@ -74,7 +74,7 @@ tasks.jar { +@@ -88,7 +88,7 @@ tasks.jar { attributes( "Main-Class" to "org.bukkit.craftbukkit.Main", "Implementation-Title" to "CraftBukkit", diff --git a/patches/server/0002-Rebrand-to-Luminol.patch b/patches/server/0002-Rebrand-to-Luminol.patch index 50a5d2d..55d6c81 100644 --- a/patches/server/0002-Rebrand-to-Luminol.patch +++ b/patches/server/0002-Rebrand-to-Luminol.patch @@ -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 4b189b54c8f326939a7b9ffdfb35edfb7d8cee63..781612b6fc3d020e832164ebce231961dd68e24e 100644 +index 9ea861c1531c5f9d8a87e45512336eba3bddf06a..f81025798943c123b4e7f621014fe1f8a89ff02b 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1833,7 +1833,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop -Date: Sun, 26 Nov 2023 10:40:56 +0800 +Date: Sat, 23 Dec 2023 22:02:49 +0800 Subject: [PATCH] Added empty luminol config diff --git a/build.gradle.kts b/build.gradle.kts -index d295ee01481b088a376691de7c0927e95d7a68a8..54d761d7e4733c12fbb4957acd509d278ae11316 100644 +index 44b3fc01d8fdce55cffe77b7b02b07b95e182870..76b3ea0c8976a2b12d3e1324c0a39d7a56ec89b1 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -19,6 +19,7 @@ dependencies { +@@ -33,6 +33,7 @@ dependencies { exclude("io.papermc.paper", "paper-api") } // Folia end @@ -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 05d8cabd2294456e3c8df60265f8b035990dd896..f0bf57a7acd77eeffbeeb6743ba58166823022fd 100644 +index 12af517a7dd8c0bb2bc55ab3eb0e68a074011bb5..f3c28b5dff487813a61ebf531c2ee77e4d2071cc 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; @@ -139,11 +139,11 @@ index 05d8cabd2294456e3c8df60265f8b035990dd896..f0bf57a7acd77eeffbeeb6743ba58166 // Paper start io.papermc.paper.util.ObfHelper.INSTANCE.getClass(); // Paper - load mappings for stacktrace deobf and etc. + LuminolConfig.init(); //Luminol - paperConfigurations.initializeGlobalConfiguration(); - paperConfigurations.initializeWorldDefaultsConfiguration(); + paperConfigurations.initializeGlobalConfiguration(this.registryAccess()); + paperConfigurations.initializeWorldDefaultsConfiguration(this.registryAccess()); // Paper start - moved up to right after PlayerList creation but before file load/save diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 724aa1d8147ea2fb5e46d291adacfb7e1f5b5f62..e274c501e2455845f6f9a4614802336205362b69 100644 +index 8cf413e42d560d90dfcbcb1d61ed410e992a8f4c..619429466bec3c1c88c5f2b50254877528ac5a37 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; @@ -153,9 +153,9 @@ index 724aa1d8147ea2fb5e46d291adacfb7e1f5b5f62..e274c501e2455845f6f9a46148023362 + +import me.earthme.luminol.LuminolConfig; import net.minecraft.CrashReport; + import net.minecraft.CrashReportCategory; import net.minecraft.Util; - import net.minecraft.core.BlockPos; -@@ -766,6 +768,8 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -768,6 +770,8 @@ public class ServerLevel extends Level implements WorldGenLevel { } // Folia end - region threading @@ -164,7 +164,7 @@ index 724aa1d8147ea2fb5e46d291adacfb7e1f5b5f62..e274c501e2455845f6f9a46148023362 // Add env and gen to constructor, IWorldDataServer -> WorldDataServer public ServerLevel(MinecraftServer minecraftserver, Executor executor, LevelStorageSource.LevelStorageAccess convertable_conversionsession, PrimaryLevelData iworlddataserver, ResourceKey resourcekey, LevelStem worlddimension, ChunkProgressListener worldloadlistener, boolean flag, long i, List list, boolean flag1, @Nullable RandomSequences randomsequences, org.bukkit.World.Environment env, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider) { // IRegistryCustom.Dimension iregistrycustom_dimension = minecraftserver.registryAccess(); // CraftBukkit - decompile error -@@ -850,6 +854,12 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -852,6 +856,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 diff --git a/patches/server/0004-Add-config-for-server-brand-name.patch b/patches/server/0004-Add-config-for-server-brand-name.patch index 6f0869e..45ab1e5 100644 --- a/patches/server/0004-Add-config-for-server-brand-name.patch +++ b/patches/server/0004-Add-config-for-server-brand-name.patch @@ -26,10 +26,10 @@ index 5d7110a33957a597592cacb864c947eb053e8563..25cda48a6ab9a703d64c391007f5c32c } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 781612b6fc3d020e832164ebce231961dd68e24e..03165a7791aeac54e44391bbb0f432b613369bfa 100644 +index f81025798943c123b4e7f621014fe1f8a89ff02b..a4887e49e6bf6010ef46aa99d4ceac69c12525b9 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -53,6 +53,8 @@ import java.util.stream.Collectors; +@@ -54,6 +54,8 @@ import java.util.stream.Collectors; import java.util.stream.Stream; import javax.annotation.Nullable; import javax.imageio.ImageIO; @@ -38,7 +38,7 @@ index 781612b6fc3d020e832164ebce231961dd68e24e..03165a7791aeac54e44391bbb0f432b6 import net.minecraft.CrashReport; import net.minecraft.ReportedException; import net.minecraft.SharedConstants; -@@ -1833,7 +1835,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop -Date: Sun, 26 Nov 2023 11:18:04 +0800 +Date: Sun, 24 Dec 2023 08:12:09 +0800 Subject: [PATCH] Add config for unsafe teleportation @@ -27,7 +27,7 @@ index 1f9ff0fc33fa36c90fc4cbbd21b7b790de581632..36ca0b94d29d81e5f1f2aff4a38ead0b public static 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 385d5bc08928dd990b690b926e174af86f178c64..e357ed9607889536ecd0e6ea8b59c97d3dab631f 100644 +index 65ae803da6fa395c9ad031460fc76077da62aeec..c31aa01dc355b5ca475f4f79049044034d730bb9 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; @@ -39,7 +39,7 @@ index 385d5bc08928dd990b690b926e174af86f178c64..e357ed9607889536ecd0e6ea8b59c97d import net.minecraft.BlockUtil; import net.minecraft.CrashReport; import net.minecraft.CrashReportCategory; -@@ -4001,6 +4003,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4056,6 +4058,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S protected boolean tryEndPortal() { io.papermc.paper.util.TickThread.ensureTickThread(this, "Cannot portal entity async"); @@ -48,17 +48,10 @@ index 385d5bc08928dd990b690b926e174af86f178c64..e357ed9607889536ecd0e6ea8b59c97d 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 41d7cff39fc37955877668337689b4b26cd8c7cf..ca5799c618bec3d0abc4566d82a29bcc767c6f1f 100644 +index c82ebcac07033d887af499f81520982fbe5ed4f1..f2063a38f7d0aaef58a02d5ea29f1c3975347ede 100644 --- a/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java +++ b/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java -@@ -1,5 +1,6 @@ - package net.minecraft.world.level.block; - -+import me.earthme.luminol.LuminolConfig; - import net.minecraft.core.BlockPos; - import net.minecraft.core.particles.ParticleTypes; - import net.minecraft.resources.ResourceKey; -@@ -7,6 +8,7 @@ import net.minecraft.server.level.ServerLevel; +@@ -8,6 +8,7 @@ import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; import net.minecraft.util.RandomSource; import net.minecraft.world.entity.Entity; @@ -66,7 +59,15 @@ index 41d7cff39fc37955877668337689b4b26cd8c7cf..ca5799c618bec3d0abc4566d82a29bcc import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.Level; -@@ -53,6 +55,13 @@ public class EndPortalBlock extends BaseEntityBlock { +@@ -25,6 +26,7 @@ import net.minecraft.world.phys.shapes.VoxelShape; + import org.bukkit.event.entity.EntityPortalEnterEvent; + import org.bukkit.event.player.PlayerTeleportEvent; + // CraftBukkit end ++import me.earthme.luminol.LuminolConfig; + + public class EndPortalBlock extends BaseEntityBlock { + +@@ -61,6 +63,13 @@ public class EndPortalBlock extends BaseEntityBlock { // return; // CraftBukkit - always fire event in case plugins wish to change it } diff --git a/patches/server/0006-Add-config-for-sand-duping.patch b/patches/server/0006-Add-config-for-sand-duping.patch index e661044..3b2daaa 100644 --- a/patches/server/0006-Add-config-for-sand-duping.patch +++ b/patches/server/0006-Add-config-for-sand-duping.patch @@ -1,6 +1,6 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: M2ke4U <79621885+MrHua269@users.noreply.github.com> -Date: Sat, 25 Nov 2023 18:17:52 +0800 +Date: Sun, 24 Dec 2023 08:18:35 +0800 Subject: [PATCH] Add config for sand duping @@ -25,7 +25,7 @@ index 36ca0b94d29d81e5f1f2aff4a38ead0b363dd1c7..9db3bdd7a7d0b2a110e927ee4781eee4 public static T get(String key,T def){ diff --git a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java -index 8e348099d6b3eb4510405d76453d70e7cadeebf6..cf72aa13fce00bf21c036c14a605ea7c6090d5f0 100644 +index acf2bfe7421774c1a8d8ac1a23b34880df6cab6a..2af822f94306ae3d839e3acbb5a5fedd1bfcecbb 100644 --- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java +++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java @@ -4,6 +4,8 @@ import com.mojang.logging.LogUtils; diff --git a/patches/server/0007-Add-config-for-void-trading.patch b/patches/server/0007-Add-config-for-void-trading.patch index 02128c2..2124f20 100644 --- a/patches/server/0007-Add-config-for-void-trading.patch +++ b/patches/server/0007-Add-config-for-void-trading.patch @@ -1,6 +1,6 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: M2ke4U <79621885+MrHua269@users.noreply.github.com> -Date: Sat, 25 Nov 2023 18:22:09 +0800 +Date: Sun, 24 Dec 2023 08:20:29 +0800 Subject: [PATCH] Add config for void trading @@ -25,10 +25,10 @@ index 9db3bdd7a7d0b2a110e927ee4781eee489d0da9b..dffa9db569fcef2feec75072fe86c9a6 public static 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 e274c501e2455845f6f9a4614802336205362b69..722a5ec7f8e4995ac7025ca0785145d46bd66fcd 100644 +index 619429466bec3c1c88c5f2b50254877528ac5a37..b0869424cf9d980965d3cb584e4458fee5eac7be 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -3026,7 +3026,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -3072,7 +3072,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 diff --git a/patches/server/0008-Add-config-for-incorrect-tripwire-updating-fixing.patch b/patches/server/0008-Add-config-for-incorrect-tripwire-updating-fixing.patch index f379fe1..616d367 100644 --- a/patches/server/0008-Add-config-for-incorrect-tripwire-updating-fixing.patch +++ b/patches/server/0008-Add-config-for-incorrect-tripwire-updating-fixing.patch @@ -1,6 +1,6 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: M2ke4U <79621885+MrHua269@users.noreply.github.com> -Date: Sat, 25 Nov 2023 18:25:37 +0800 +Date: Sun, 24 Dec 2023 08:22:56 +0800 Subject: [PATCH] Add config for incorrect tripwire updating fixing @@ -25,24 +25,24 @@ index dffa9db569fcef2feec75072fe86c9a6ded80aa4..a49da370c91211d4e2274f72d62c911a public static 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 004dce26ff073f1de52a84cd425c4f60fdab5e50..ef150d50ff076c80ee62c3c413745fa312c9d289 100644 +index a3cef4ac925d09ad8789a59b46df134cf25c282a..f40221025e1140919d45191d0210986245687bae 100644 --- a/src/main/java/net/minecraft/world/level/block/TripWireHookBlock.java +++ b/src/main/java/net/minecraft/world/level/block/TripWireHookBlock.java -@@ -2,6 +2,8 @@ package net.minecraft.world.level.block; - - import com.google.common.base.MoreObjects; +@@ -4,6 +4,8 @@ import com.google.common.base.MoreObjects; + import com.mojang.serialization.MapCodec; + import java.util.Optional; import javax.annotation.Nullable; + +import me.earthme.luminol.LuminolConfig; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.server.level.ServerLevel; -@@ -147,7 +149,7 @@ public class TripWireHookBlock extends Block { - boolean flag7 = (Boolean) iblockdata2.getValue(TripWireBlock.POWERED); +@@ -162,7 +164,7 @@ public class TripWireHookBlock extends Block { + 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 || 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) { - world.scheduleTick(pos, (Block) this, 10); + 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 || 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) { + world.scheduleTick(pos, block, 10); diff --git a/patches/server/0009-Add-config-for-chat-sign.patch b/patches/server/0009-Add-config-for-chat-sign.patch index c295a36..805f20c 100644 --- a/patches/server/0009-Add-config-for-chat-sign.patch +++ b/patches/server/0009-Add-config-for-chat-sign.patch @@ -1,6 +1,6 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: M2ke4U <79621885+MrHua269@users.noreply.github.com> -Date: Sat, 25 Nov 2023 18:31:24 +0800 +Date: Sun, 24 Dec 2023 08:55:39 +0800 Subject: [PATCH] Add config for chat sign @@ -78,7 +78,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 2e395962b555bef0ce1a98e1d768e7738f011535..11a9bc78c34b9f6bfff1ebf979be55b9bbbbed55 100644 +index b13bc90b28b02f5e80d935bfcba727f92c5e4c4f..a14bb05e75ce9e10141854ebe3d7f1ed5045a3b1 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; @@ -90,15 +90,16 @@ index 2e395962b555bef0ce1a98e1d768e7738f011535..11a9bc78c34b9f6bfff1ebf979be55b9 import net.minecraft.Util; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; -@@ -65,6 +67,7 @@ import net.minecraft.nbt.NbtIo; - import net.minecraft.nbt.Tag; - import net.minecraft.network.chat.Component; - import net.minecraft.network.chat.MutableComponent; +@@ -83,6 +85,8 @@ import org.joml.Vector3f; + + import org.bukkit.craftbukkit.inventory.CraftItemStack; // CraftBukkit + +import net.minecraft.network.protocol.status.ServerStatus; - import net.minecraft.resources.ResourceKey; - import net.minecraft.resources.ResourceLocation; - import net.minecraft.util.Crypt; -@@ -137,6 +140,17 @@ public class FriendlyByteBuf extends ByteBuf { ++ + public class FriendlyByteBuf extends ByteBuf { + + public static final int DEFAULT_NBT_QUOTA = 2097152; +@@ -138,6 +142,17 @@ public class FriendlyByteBuf extends ByteBuf { public void writeJsonWithCodec(Codec codec, T value) { DataResult dataresult = codec.encodeStart(JsonOps.INSTANCE, value); diff --git a/patches/server/0010-Add-config-for-vanilla-random.patch b/patches/server/0010-Add-config-for-vanilla-random.patch index c1a6603..a104cb7 100644 --- a/patches/server/0010-Add-config-for-vanilla-random.patch +++ b/patches/server/0010-Add-config-for-vanilla-random.patch @@ -1,6 +1,6 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: M2ke4U <79621885+MrHua269@users.noreply.github.com> -Date: Sat, 25 Nov 2023 19:03:34 +0800 +Date: Sun, 24 Dec 2023 08:58:15 +0800 Subject: [PATCH] Add config for vanilla random @@ -25,10 +25,10 @@ index 8d1ce8eae252fcf05b6a62d2dc467d6d503d3df4..89d8ffc947d265e0e81943ad851e868b public static 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 e357ed9607889536ecd0e6ea8b59c97d3dab631f..cb32a3851a315f1f1b4fb6d26fdffbcb471bfc06 100644 +index c31aa01dc355b5ca475f4f79049044034d730bb9..eaee2eaa21651365b708b09a8377a7a0dfb4a6b7 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -569,7 +569,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -574,7 +574,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S this.bb = Entity.INITIAL_AABB; this.stuckSpeedMultiplier = Vec3.ZERO; this.nextStep = 1.0F; diff --git a/patches/server/0012-Add-logger-field-to-LuminolConfig.patch b/patches/server/0012-Add-logger-field-to-LuminolConfig.patch index 9a8a4d0..f6da92c 100644 --- a/patches/server/0012-Add-logger-field-to-LuminolConfig.patch +++ b/patches/server/0012-Add-logger-field-to-LuminolConfig.patch @@ -1,6 +1,6 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: M2ke4U <79621885+MrHua269@users.noreply.github.com> -Date: Sat, 25 Nov 2023 19:26:01 +0800 +Date: Sun, 24 Dec 2023 09:09:49 +0800 Subject: [PATCH] Add logger field to LuminolConfig diff --git a/patches/server/0013-Kaiiju-region-format-settings.patch b/patches/server/0013-Kaiiju-region-format-settings.patch index 1cf6a6a..e51b0de 100644 --- a/patches/server/0013-Kaiiju-region-format-settings.patch +++ b/patches/server/0013-Kaiiju-region-format-settings.patch @@ -1,6 +1,6 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: M2ke4U <79621885+MrHua269@users.noreply.github.com> -Date: Sat, 25 Nov 2023 21:28:45 +0800 +Date: Sun, 24 Dec 2023 09:11:06 +0800 Subject: [PATCH] Kaiiju region format settings @@ -75,10 +75,10 @@ index 74573c50c903cfbe5f9617be5b75c21647f05a91..3d526d7cfb313e419de89be1b2756519 public static 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 03165a7791aeac54e44391bbb0f432b613369bfa..675bbf1f69011f7f95fabc050c9877d6e70070b2 100644 +index a4887e49e6bf6010ef46aa99d4ceac69c12525b9..223a83952b251fbc36a1087aa9c46e56ad42b5cc 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -882,7 +882,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop -Date: Sun, 26 Nov 2023 11:30:57 +0800 +Date: Sun, 24 Dec 2023 09:12:51 +0800 Subject: [PATCH] Kaiiju Add linear region format diff --git a/build.gradle.kts b/build.gradle.kts -index 54d761d7e4733c12fbb4957acd509d278ae11316..8a926993088d33983f75071b3320dd67c3e857c3 100644 +index 76b3ea0c8976a2b12d3e1324c0a39d7a56ec89b1..5c0f87b6e2244ee6446bfac9438f3f2320d5a964 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -19,6 +19,10 @@ dependencies { +@@ -33,6 +33,10 @@ dependencies { exclude("io.papermc.paper", "paper-api") } // Folia end @@ -639,10 +639,10 @@ index 50597a8b45bbd7dcc40b361da78358d9d01f5484..4709782f3e858edfa6ce25696462eb45 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 722a5ec7f8e4995ac7025ca0785145d46bd66fcd..561681deaf647277ecde64eed4cfbd9f38b5fed1 100644 +index b0869424cf9d980965d3cb584e4458fee5eac7be..1c39d01d46522d7120653c0437e6b0d3fc76ce3e 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -453,8 +453,8 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -455,8 +455,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 722a5ec7f8e4995ac7025ca0785145d46bd66fcd..561681deaf647277ecde64eed4cfbd9f } protected void write(ChunkPos pos, net.minecraft.nbt.CompoundTag nbt) throws IOException { -@@ -812,7 +812,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -814,7 +814,7 @@ public class ServerLevel extends Level implements WorldGenLevel { // CraftBukkit end boolean flag2 = minecraftserver.forceSynchronousWrites(); DataFixer datafixer = minecraftserver.getFixerUpper(); @@ -663,12 +663,12 @@ index 722a5ec7f8e4995ac7025ca0785145d46bd66fcd..561681deaf647277ecde64eed4cfbd9f // this.entityManager = new PersistentEntitySectionManager<>(Entity.class, new ServerLevel.EntityCallbacks(), entitypersistentstorage, this.entitySliceManager); // Paper // Paper - rewrite chunk system StructureTemplateManager structuretemplatemanager = minecraftserver.getStructureManager(); diff --git a/src/main/java/net/minecraft/util/worldupdate/WorldUpgrader.java b/src/main/java/net/minecraft/util/worldupdate/WorldUpgrader.java -index e16ef1b7c0bfe6d6194c09f6787a50fd9b28f55e..cc70b729663bececec45a03ec21a94792e5f2052 100644 +index f2a7cb6ebed7a4b4019a09af2a025f624f6fe9c9..8b8540ff42f3fb224920969ea00d25161986169c 100644 --- a/src/main/java/net/minecraft/util/worldupdate/WorldUpgrader.java +++ b/src/main/java/net/minecraft/util/worldupdate/WorldUpgrader.java @@ -61,7 +61,7 @@ public class WorldUpgrader { private volatile int skipped; - private final Object2FloatMap> progressMap = Object2FloatMaps.synchronize(new Object2FloatOpenCustomHashMap(Util.identityStrategy())); + private final Reference2FloatMap> progressMap = Reference2FloatMaps.synchronize(new Reference2FloatOpenHashMap()); private volatile Component status = Component.translatable("optimizeWorld.stage.counting"); - public static final Pattern REGEX = Pattern.compile("^r\\.(-?[0-9]+)\\.(-?[0-9]+)\\.mca$"); + public static Pattern REGEX = Pattern.compile("^r\\.(-?[0-9]+)\\.(-?[0-9]+)\\.(linear | mca)$"); // Kaiiju @@ -1060,10 +1060,10 @@ 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 bcbf7ba7c687ecaa530d4de3af45ebeb80dd15c5..f19db38e64854d051d4d8dbbb3ff4236b5d4537b 100644 +index a0eeba6f3b55e5fc0f5f92a1b7bee4f721910f63..b71e0e0845143362e4a78440217c63e3847ea002 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -561,7 +561,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -570,7 +570,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { return true; } diff --git a/patches/server/0015-Add-a-simple-tpsbar.patch b/patches/server/0015-Add-a-simple-tpsbar.patch index dbcf617..72673de 100644 --- a/patches/server/0015-Add-a-simple-tpsbar.patch +++ b/patches/server/0015-Add-a-simple-tpsbar.patch @@ -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 15:19:16 +0800 +Date: Sun, 24 Dec 2023 09:14:26 +0800 Subject: [PATCH] Add a simple tpsbar @@ -109,7 +109,7 @@ index 0000000000000000000000000000000000000000..ac8f0e3bf130ba6dfd7202e2f4803522 +} diff --git a/src/main/java/me/earthme/luminol/functions/GlobalServerTpsBar.java b/src/main/java/me/earthme/luminol/functions/GlobalServerTpsBar.java new file mode 100644 -index 0000000000000000000000000000000000000000..baec715e0c20e920ccb99f2f07d84fcb6f2b434e +index 0000000000000000000000000000000000000000..59c39402d896d0ba75a9ca7e6c74a01a7420757b --- /dev/null +++ b/src/main/java/me/earthme/luminol/functions/GlobalServerTpsBar.java @@ -0,0 +1,204 @@ @@ -318,7 +318,7 @@ index 0000000000000000000000000000000000000000..baec715e0c20e920ccb99f2f07d84fcb + } +} diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java -index f0bf57a7acd77eeffbeeb6743ba58166823022fd..4a1e068c27853a38db0641806626e7ac740bd8de 100644 +index f3c28b5dff487813a61ebf531c2ee77e4d2071cc..0f265202b18d28a22f0ace6381482b60ab5b5205 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 @@ @@ -344,7 +344,7 @@ index f0bf57a7acd77eeffbeeb6743ba58166823022fd..4a1e068c27853a38db0641806626e7ac import java.util.Locale; import java.util.Optional; import java.util.function.BooleanSupplier; -@@ -829,6 +825,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface +@@ -830,6 +826,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface @Override public void stopServer() { @@ -353,10 +353,10 @@ index f0bf57a7acd77eeffbeeb6743ba58166823022fd..4a1e068c27853a38db0641806626e7ac //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 97bfb92e52c3c5ef1cd22afe2b97c204eb45025a..d7a280427442bac8cc8ccb542d24d4e0901df70a 100644 +index a22173984c418e648ae5308de26fbd5f9cbe6973..1ab8b0ff1981682c38f6cfe29091f2e335392c44 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -278,6 +278,7 @@ public class ServerPlayer extends Player { +@@ -285,6 +285,7 @@ public class ServerPlayer extends Player { // Paper start - replace player chunk loader private final java.util.concurrent.atomic.AtomicReference viewDistances = new java.util.concurrent.atomic.AtomicReference<>(new io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances(-1, -1, -1)); public io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.PlayerChunkLoaderData chunkLoader; @@ -365,10 +365,10 @@ index 97bfb92e52c3c5ef1cd22afe2b97c204eb45025a..d7a280427442bac8cc8ccb542d24d4e0 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 6c8f6e26687b557fcdcd65c657d8b35d3fde805e..06c92a2d3ecb3b747c2303819f72c1c41967af8c 100644 +index fca4f9a50e57a2b40c7bca92d975b72da1075fa3..9fe9611159bb6c63536168559ecc816dc091d037 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2216,6 +2216,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2237,6 +2237,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { handle.expToDrop = data.getInt("expToDrop"); handle.keepLevel = data.getBoolean("keepLevel"); } @@ -379,7 +379,7 @@ index 6c8f6e26687b557fcdcd65c657d8b35d3fde805e..06c92a2d3ecb3b747c2303819f72c1c4 } } -@@ -2237,6 +2241,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2258,6 +2262,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { data.putLong("lastPlayed", System.currentTimeMillis()); data.putString("lastKnownName", handle.getScoreboardName()); diff --git a/patches/server/0016-Petal-Reduce-sensor-work.patch b/patches/server/0016-Petal-Reduce-sensor-work.patch index 4032f6f..f5e7739 100644 --- a/patches/server/0016-Petal-Reduce-sensor-work.patch +++ b/patches/server/0016-Petal-Reduce-sensor-work.patch @@ -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 15:36:59 +0800 +Date: Sun, 24 Dec 2023 09:15:02 +0800 Subject: [PATCH] Petal Reduce sensor work @@ -27,10 +27,10 @@ index 0657fce8aabb956a400b3cead53c28ef52e67fe9..c3a481cb7bea0619b1af0e3203e9d885 public static 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 4e9d510646abbc2d2b6f2d935f7416b6872eb234..d3f8aa29b05a3813c0ec6e2ea5a253868abd6b07 100644 +index 51628bf76f80c6ad9d7feb127377f004adce9669..b53435bc8303924cbfef0453dc2cc71a7168b2d8 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -9,6 +9,8 @@ import java.util.Optional; +@@ -10,6 +10,8 @@ import java.util.Optional; import java.util.UUID; import java.util.function.Predicate; import javax.annotation.Nullable; @@ -39,7 +39,7 @@ index 4e9d510646abbc2d2b6f2d935f7416b6872eb234..d3f8aa29b05a3813c0ec6e2ea5a25386 import net.minecraft.core.BlockPos; import net.minecraft.core.NonNullList; import net.minecraft.core.Vec3i; -@@ -924,10 +926,11 @@ public abstract class Mob extends LivingEntity implements Targeting { +@@ -925,10 +927,11 @@ public abstract class Mob extends LivingEntity implements Targeting { return; } // Paper end diff --git a/patches/server/0017-Add-config-for-username-check.patch b/patches/server/0017-Add-config-for-username-check.patch index 9a602e7..134c2e9 100644 --- a/patches/server/0017-Add-config-for-username-check.patch +++ b/patches/server/0017-Add-config-for-username-check.patch @@ -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 15:56:26 +0800 +Date: Sun, 24 Dec 2023 09:18:06 +0800 Subject: [PATCH] Add config for username check @@ -25,28 +25,23 @@ 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 f7c2d6d82ee1b5975cd114934b7beaec3d5d490d..f26c44bb8c4e3d8556c8c5ac7389e02381239594 100644 +index c18fc39db6480f0942128a5512970fdce074b7c6..fb5882d627d122a569277f96a223f15c32bc0686 100644 --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -@@ -16,6 +16,8 @@ import java.util.concurrent.atomic.AtomicInteger; - import javax.annotation.Nullable; - import javax.crypto.Cipher; - import javax.crypto.SecretKey; -+ +@@ -44,6 +44,7 @@ import org.bukkit.craftbukkit.util.Waitable; + import org.bukkit.event.player.AsyncPlayerPreLoginEvent; + import org.bukkit.event.player.PlayerPreLoginEvent; + // CraftBukkit end +import me.earthme.luminol.LuminolConfig; - import net.minecraft.DefaultUncaughtExceptionHandler; - import net.minecraft.core.UUIDUtil; - import net.minecraft.network.Connection; -@@ -162,10 +164,10 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, + + public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, TickablePacketListener { + +@@ -143,7 +144,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, @Override public void handleHello(ServerboundHelloPacket packet) { Validate.validState(this.state == ServerLoginPacketListenerImpl.State.HELLO, "Unexpected hello packet", new Object[0]); -- Validate.validState(ServerLoginPacketListenerImpl.isValidUsername(packet.name()), "Invalid characters in username", new Object[0]); -+ if (!LuminolConfig.disableUsernameCheck) Validate.validState(ServerLoginPacketListenerImpl.isValidUsername(packet.name()), "Invalid characters in username", new Object[0]); //Luminol - Add config for usename check - // Paper start - validate usernames - if (io.papermc.paper.configuration.GlobalConfiguration.get().proxies.isProxyOnlineMode() && io.papermc.paper.configuration.GlobalConfiguration.get().unsupportedSettings.performUsernameValidation) { -- if (!this.iKnowThisMayNotBeTheBestIdeaButPleaseDisableUsernameValidation && !validateUsername(packet.name())) { -+ if (!this.iKnowThisMayNotBeTheBestIdeaButPleaseDisableUsernameValidation && !validateUsername(packet.name()) && !LuminolConfig.disableUsernameCheck) { //Luminol - Add config for username check - ServerLoginPacketListenerImpl.this.disconnect("Failed to verify username!"); - return; - } +- if (io.papermc.paper.configuration.GlobalConfiguration.get().proxies.isProxyOnlineMode() && io.papermc.paper.configuration.GlobalConfiguration.get().unsupportedSettings.performUsernameValidation && !this.iKnowThisMayNotBeTheBestIdeaButPleaseDisableUsernameValidation) Validate.validState(Player.isValidUsername(packet.name()), "Invalid characters in username", new Object[0]); // Paper - config username validation ++ if (io.papermc.paper.configuration.GlobalConfiguration.get().proxies.isProxyOnlineMode() && io.papermc.paper.configuration.GlobalConfiguration.get().unsupportedSettings.performUsernameValidation && !this.iKnowThisMayNotBeTheBestIdeaButPleaseDisableUsernameValidation && !LuminolConfig.disableUsernameCheck) Validate.validState(Player.isValidUsername(packet.name()), "Invalid characters in username", new Object[0]); // Paper - config username validation //Luminol - Add config for username check + this.requestedUsername = packet.name(); + GameProfile gameprofile = this.server.getSingleplayerProfile(); + diff --git a/patches/server/0018-Pufferfish-Optimize-entity-coordinate-key.patch b/patches/server/0018-Pufferfish-Optimize-entity-coordinate-key.patch index cc4e956..47dcd40 100644 --- a/patches/server/0018-Pufferfish-Optimize-entity-coordinate-key.patch +++ b/patches/server/0018-Pufferfish-Optimize-entity-coordinate-key.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Pufferfish Optimize entity coordinate key diff --git a/src/main/java/io/papermc/paper/util/MCUtil.java b/src/main/java/io/papermc/paper/util/MCUtil.java -index 8f91b7f44baaf62b829a81afc0633311e6c13f19..a149d98be7b4744f18d4ed4940881e13a76e4a7c 100644 +index 1f0ec6add54b7503415d5f4141fe2b6046f1ec69..8ec8084195e0400de76460b445012d605fe05724 100644 --- a/src/main/java/io/papermc/paper/util/MCUtil.java +++ b/src/main/java/io/papermc/paper/util/MCUtil.java -@@ -213,7 +213,7 @@ public final class MCUtil { +@@ -212,7 +212,7 @@ public final class MCUtil { } public static long getCoordinateKey(final Entity entity) { diff --git a/patches/server/0019-Pufferfish-Cache-climbing-check-for-activation.patch b/patches/server/0019-Pufferfish-Cache-climbing-check-for-activation.patch index 3323031..75d7f02 100644 --- a/patches/server/0019-Pufferfish-Cache-climbing-check-for-activation.patch +++ b/patches/server/0019-Pufferfish-Cache-climbing-check-for-activation.patch @@ -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 cb32a3851a315f1f1b4fb6d26fdffbcb471bfc06..3c9ec0f5fef49b0abc42382551de11ab942b3b20 100644 +index eaee2eaa21651365b708b09a8377a7a0dfb4a6b7..3bb40f6bd581113fda36df2ad73f95899c012a44 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 { +@@ -309,7 +309,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S public double yo; public double zo; private Vec3 position; @@ -18,7 +18,7 @@ index cb32a3851a315f1f1b4fb6d26fdffbcb471bfc06..3c9ec0f5fef49b0abc42382551de11ab 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 82996d0c2891871bd6ef9ff81aef123add08ebda..51dee7adc0dc534fac66bf3e8709865157dd763b 100644 +index 15e441ba4d5286e7bf677f7c0ad5fb8f62437d72..d578a2235e9ee66c030906dd5accc18384805d09 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 82996d0c2891871bd6ef9ff81aef123add08ebda..51dee7adc0dc534fac66bf3e87098651 public abstract class LivingEntity extends Entity implements Attackable { -@@ -2006,6 +2005,20 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -2012,6 +2011,20 @@ public abstract class LivingEntity extends Entity implements Attackable { return this.lastClimbablePos; } diff --git a/patches/server/0021-Pufferfish-Optimize-suffocation.patch b/patches/server/0021-Pufferfish-Optimize-suffocation.patch index 5930c45..9f489e9 100644 --- a/patches/server/0021-Pufferfish-Optimize-suffocation.patch +++ b/patches/server/0021-Pufferfish-Optimize-suffocation.patch @@ -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:05:32 +0800 +Date: Sun, 24 Dec 2023 09:52:30 +0800 Subject: [PATCH] Pufferfish Optimize suffocation @@ -25,7 +25,7 @@ index 0929a5a167691bde7dedaa1e2812b34ad69913d6..de0855656ad3882b182aa5674fd01172 public static 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 51dee7adc0dc534fac66bf3e8709865157dd763b..f13d26b280f095d006ffccb36af66bb7487cb8da 100644 +index d578a2235e9ee66c030906dd5accc18384805d09..374a15b18a1355b8415e392228bf9d7eeab7d3ad 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; @@ -37,7 +37,7 @@ index 51dee7adc0dc534fac66bf3e8709865157dd763b..f13d26b280f095d006ffccb36af66bb7 import net.minecraft.BlockUtil; import net.minecraft.advancements.CriteriaTriggers; import net.minecraft.commands.arguments.EntityAnchorArgument; -@@ -420,7 +422,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -419,7 +421,7 @@ public abstract class LivingEntity extends Entity implements Attackable { boolean flag = this instanceof net.minecraft.world.entity.player.Player; if (!this.level().isClientSide) { @@ -46,7 +46,7 @@ index 51dee7adc0dc534fac66bf3e8709865157dd763b..f13d26b280f095d006ffccb36af66bb7 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(); -@@ -1410,6 +1412,19 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1418,6 +1420,19 @@ public abstract class LivingEntity extends Entity implements Attackable { return this.getHealth() <= 0.0F; } @@ -67,7 +67,7 @@ index 51dee7adc0dc534fac66bf3e8709865157dd763b..f13d26b280f095d006ffccb36af66bb7 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 1e07febcf7a3dfb281728cc5e3e4f15dd776d7e0..c65ab566c6241dd6a44bd11a449ef0c4b2f6dc65 100644 +index c9a4feb4a52c0eb621b120e5b8c18d0a74dae0cd..256598e058db1fd34d36390e45ab9903768343cb 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 diff --git a/patches/server/0024-Pufferfish-Improve-container-checking-with-a-bitset.patch b/patches/server/0024-Pufferfish-Improve-container-checking-with-a-bitset.patch index 4b33cf5..770251d 100644 --- a/patches/server/0024-Pufferfish-Improve-container-checking-with-a-bitset.patch +++ b/patches/server/0024-Pufferfish-Improve-container-checking-with-a-bitset.patch @@ -237,7 +237,7 @@ index d6cbe98e67fdbf8db46338a88ab1356dd63b50a3..20dd3a63b2f955b05a75eb240e33ae4c int LARGE_MAX_STACK_SIZE = 64; int DEFAULT_DISTANCE_LIMIT = 8; diff --git a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecartContainer.java b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecartContainer.java -index 00187fbbeddfc17e1b6887f8bf0f50da23938470..f64edfdb03f99624daf1e05b5dc86d845c3018b6 100644 +index 6d23c39e4eadf23616080d6d08672e13b5d3c37d..e7115f1635821e0aab32e8aeea6914388dc24639 100644 --- a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecartContainer.java +++ b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecartContainer.java @@ -27,7 +27,10 @@ import org.bukkit.inventory.InventoryHolder; @@ -459,10 +459,10 @@ 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 3e638f12956e57548f76c7e2403ba370f7baa249..02364a148b347e3669275553004391e31d77c0b5 100644 +index 64875525df244db838560f5fefb7b1b07b0f1f51..1436fdbe31c8cdf05ac56f20224fe91de4b1c0c3 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 -@@ -96,12 +96,7 @@ public abstract class RandomizableContainerBlockEntity extends BaseContainerBloc +@@ -94,12 +94,7 @@ public abstract class RandomizableContainerBlockEntity extends BaseContainerBloc public boolean isEmpty() { this.unpackLootTable((Player)null); // Paper start diff --git a/patches/server/0026-Pufferfish-Reduce-entity-fluid-lookups-if-no-fluids.patch b/patches/server/0026-Pufferfish-Reduce-entity-fluid-lookups-if-no-fluids.patch index 7e96f61..25d8a0e 100644 --- a/patches/server/0026-Pufferfish-Reduce-entity-fluid-lookups-if-no-fluids.patch +++ b/patches/server/0026-Pufferfish-Reduce-entity-fluid-lookups-if-no-fluids.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Pufferfish Reduce entity fluid lookups if no fluids diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 3c9ec0f5fef49b0abc42382551de11ab942b3b20..967c7a953084dc68a0ecd4b1a0f13ead7e72cb3d 100644 +index 3bb40f6bd581113fda36df2ad73f95899c012a44..030c9d2e2c203375a3cc88da1c2e08fb23dcf60a 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -5132,16 +5132,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -5200,16 +5200,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S } public boolean updateFluidHeightAndDoFluidPushing(TagKey tag, double speed) { @@ -34,7 +34,7 @@ index 3c9ec0f5fef49b0abc42382551de11ab942b3b20..967c7a953084dc68a0ecd4b1a0f13ead double d1 = 0.0D; boolean flag = this.isPushedByFluid(); boolean flag1 = false; -@@ -5149,14 +5151,61 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -5217,14 +5219,61 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S int k1 = 0; BlockPos.MutableBlockPos blockposition_mutableblockposition = new BlockPos.MutableBlockPos(); @@ -102,7 +102,7 @@ index 3c9ec0f5fef49b0abc42382551de11ab942b3b20..967c7a953084dc68a0ecd4b1a0f13ead if (d2 >= axisalignedbb.minY) { flag1 = true; -@@ -5178,9 +5227,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -5246,9 +5295,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S // CraftBukkit end } } diff --git a/patches/server/0027-Pufferfish-Only-check-for-spooky-season-once-an-hour.patch b/patches/server/0027-Pufferfish-Only-check-for-spooky-season-once-an-hour.patch index 1e35d6c..f80b3d4 100644 --- a/patches/server/0027-Pufferfish-Only-check-for-spooky-season-once-an-hour.patch +++ b/patches/server/0027-Pufferfish-Only-check-for-spooky-season-once-an-hour.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Pufferfish Only check for spooky season once an hour diff --git a/src/main/java/net/minecraft/world/entity/ambient/Bat.java b/src/main/java/net/minecraft/world/entity/ambient/Bat.java -index 5beaa849a250ea005733250ad3edfa8382224667..2028ae6cc50d86c579ec062536e8c6339196ce09 100644 +index 6b614818b14ecfc8fc82b523eeb7e21fdf9bf1ba..1029fbda5042373886d0909d348cc39e44c95ab1 100644 --- a/src/main/java/net/minecraft/world/entity/ambient/Bat.java +++ b/src/main/java/net/minecraft/world/entity/ambient/Bat.java @@ -3,6 +3,10 @@ package net.minecraft.world.entity.ambient; @@ -19,7 +19,7 @@ index 5beaa849a250ea005733250ad3edfa8382224667..2028ae6cc50d86c579ec062536e8c633 import net.minecraft.core.BlockPos; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.syncher.EntityDataAccessor; -@@ -237,13 +241,25 @@ public class Bat extends AmbientCreature { +@@ -241,13 +245,25 @@ public class Bat extends AmbientCreature { } } diff --git a/patches/server/0028-Pufferfish-Entity-TTL.patch b/patches/server/0028-Pufferfish-Entity-TTL.patch index 361ec7d..441ce7a 100644 --- a/patches/server/0028-Pufferfish-Entity-TTL.patch +++ b/patches/server/0028-Pufferfish-Entity-TTL.patch @@ -57,10 +57,10 @@ index de0855656ad3882b182aa5674fd0117288268e71..d0c0b4daec59f23a989a8b8f66ea3c70 public static 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 967c7a953084dc68a0ecd4b1a0f13ead7e72cb3d..8bdaab46c2e128aa58d13101170ce358146377a8 100644 +index 030c9d2e2c203375a3cc88da1c2e08fb23dcf60a..ec7b7923ebdfb07c5a07e5e58aa3d66ac269c225 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -798,6 +798,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -803,6 +803,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S } public void tick() { @@ -74,10 +74,10 @@ index 967c7a953084dc68a0ecd4b1a0f13ead7e72cb3d..8bdaab46c2e128aa58d13101170ce358 } diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java -index 3f3494c20cd15a721090f1b36293562a6b834b14..4d60ac50a1d3860f2a2e9265aef9507d790220a3 100644 +index a3a6c10f5b4157062a8a8d5ee4638c4e9d6fcf62..09923fb6424754e98a91e9ee75bc0d49daa3092c 100644 --- a/src/main/java/net/minecraft/world/entity/EntityType.java +++ b/src/main/java/net/minecraft/world/entity/EntityType.java -@@ -309,6 +309,7 @@ public class EntityType implements FeatureElement, EntityTypeT +@@ -313,6 +313,7 @@ public class EntityType implements FeatureElement, EntityTypeT private ResourceLocation lootTable; private final EntityDimensions dimensions; private final FeatureFlagSet requiredFeatures; diff --git a/patches/server/0029-Pufferfish-Reduce-projectile-chunk-loading.patch b/patches/server/0029-Pufferfish-Reduce-projectile-chunk-loading.patch index e6c5193..21c47ce 100644 --- a/patches/server/0029-Pufferfish-Reduce-projectile-chunk-loading.patch +++ b/patches/server/0029-Pufferfish-Reduce-projectile-chunk-loading.patch @@ -27,7 +27,7 @@ index d0c0b4daec59f23a989a8b8f66ea3c704b0e309c..11c1a367fbc25cb63738a00ad93fb0b0 public static T get(String key,T def){ diff --git a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java -index 0c8f90a904c01105ba5fa6a8037150697bc2621e..527168199605c8c606c6dde563e4fe096b6f17ac 100644 +index dd204b547ea0981cf82c567cc497364ee221f09b..986ed887a771bc64474412e6c1944e59ae125248 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java +++ b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java @@ -4,6 +4,8 @@ import com.google.common.base.MoreObjects; @@ -39,7 +39,7 @@ index 0c8f90a904c01105ba5fa6a8037150697bc2621e..527168199605c8c606c6dde563e4fe09 import net.minecraft.core.BlockPos; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.protocol.Packet; -@@ -44,6 +46,36 @@ public abstract class Projectile extends Entity implements TraceableEntity { +@@ -45,6 +47,36 @@ public abstract class Projectile extends Entity implements TraceableEntity { super(type, world); } diff --git a/patches/server/0030-Pufferfish-Dynamic-Activation-of-Brain.patch b/patches/server/0030-Pufferfish-Dynamic-Activation-of-Brain.patch index 5517e33..7d48e18 100644 --- a/patches/server/0030-Pufferfish-Dynamic-Activation-of-Brain.patch +++ b/patches/server/0030-Pufferfish-Dynamic-Activation-of-Brain.patch @@ -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:44:23 +0800 +Date: Sun, 24 Dec 2023 10:28:09 +0800 Subject: [PATCH] Pufferfish Dynamic Activation of Brain @@ -84,10 +84,10 @@ index 11c1a367fbc25cb63738a00ad93fb0b0b3500e7d..4f6af1fa55047e7be9e57c1dd1c60e9d public static 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 561681deaf647277ecde64eed4cfbd9f38b5fed1..2ba86122ccb444908c35ea5cc1e245f5068a054a 100644 +index 1c39d01d46522d7120653c0437e6b0d3fc76ce3e..d4fbc4537f614c803fa9c4c13077a7870c3c692f 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -982,6 +982,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -999,6 +999,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 561681deaf647277ecde64eed4cfbd9f38b5fed1..2ba86122ccb444908c35ea5cc1e245f5 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 8bdaab46c2e128aa58d13101170ce358146377a8..56efbcc29adca0239ef09a269f0899a3a6e2801b 100644 +index ec7b7923ebdfb07c5a07e5e58aa3d66ac269c225..06f859e9e98c1cfd7161a43f93aa2b60eee9d666 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -436,6 +436,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -441,6 +441,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S return this.originWorld; } // Paper end @@ -112,10 +112,10 @@ index 8bdaab46c2e128aa58d13101170ce358146377a8..56efbcc29adca0239ef09a269f0899a3 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 4d60ac50a1d3860f2a2e9265aef9507d790220a3..0867c85964952ec118ea7517cd5ef570be1ee982 100644 +index 09923fb6424754e98a91e9ee75bc0d49daa3092c..133fbfd57b8c2bbf4b4abeff96b42d6a65a4717b 100644 --- a/src/main/java/net/minecraft/world/entity/EntityType.java +++ b/src/main/java/net/minecraft/world/entity/EntityType.java -@@ -301,6 +301,7 @@ public class EntityType implements FeatureElement, EntityTypeT +@@ -305,6 +305,7 @@ public class EntityType implements FeatureElement, EntityTypeT private final boolean canSpawnFarFromPlayer; private final int clientTrackingRange; private final int updateInterval; @@ -124,10 +124,10 @@ index 4d60ac50a1d3860f2a2e9265aef9507d790220a3..0867c85964952ec118ea7517cd5ef570 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 d3f8aa29b05a3813c0ec6e2ea5a253868abd6b07..54e821351e46d25e8b0ead52d2c8dfecd1957544 100644 +index b53435bc8303924cbfef0453dc2cc71a7168b2d8..e891477f946265b40cbfbbb7b66049837ad03105 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -234,10 +234,10 @@ public abstract class Mob extends LivingEntity implements Targeting { +@@ -235,10 +235,10 @@ public abstract class Mob extends LivingEntity implements Targeting { @Override public void inactiveTick() { super.inactiveTick(); @@ -140,7 +140,7 @@ index d3f8aa29b05a3813c0ec6e2ea5a253868abd6b07..54e821351e46d25e8b0ead52d2c8dfec this.targetSelector.tick(); } } -@@ -934,16 +934,20 @@ public abstract class Mob extends LivingEntity implements Targeting { +@@ -935,16 +935,20 @@ public abstract class Mob extends LivingEntity implements Targeting { if (i % 2 != 0 && this.tickCount > 1) { this.level().getProfiler().push("targetSelector"); @@ -206,10 +206,10 @@ 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 d5b97d4316390028f54aa9bb9fa52b0b003e32a0..b4793b88688bd568a428aa520e880f0038de45a7 100644 +index 387006271c246362b0df1bfcadca7b7096660003..9158c5a507904c46a8fe2fdad9a0b6ba3a9b2460 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 -@@ -280,9 +280,11 @@ public class Axolotl extends Animal implements LerpingModel, VariantHolder { - return true; +@@ -159,9 +159,11 @@ public class Frog extends Animal implements VariantHolder { + } + private int behaviorTick = 0; // Pufferfish @@ -302,10 +302,10 @@ 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 b2bc3a832c310448046ccde37a04918aa6d63197..5e43912708f9074dee1bb351efa737a7e6796fc3 100644 +index 9f1b7c629644931074293151ed58a523ca6d488c..58a7e61e02b7d72326ed4d57ee514adb63b3873c 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 -@@ -272,11 +272,13 @@ public class Warden extends Monster implements VibrationSystem { +@@ -273,11 +273,13 @@ public class Warden extends Monster implements VibrationSystem { } @@ -320,7 +320,7 @@ index b2bc3a832c310448046ccde37a04918aa6d63197..5e43912708f9074dee1bb351efa737a7 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 4e9ccc518f37755e86687653f7724240db754682..a94661deaa6e1288bb957dc5d7711c5d03b9e460 100644 +index c8de034a2bf4654bad9a6e8a9aa831b2f90fad14..e9f84817d3585890955febdcbf70253168f7bc54 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 diff --git a/patches/server/0032-Gale-Don-t-load-chunks-to-activate-climbing-entities.patch b/patches/server/0032-Gale-Don-t-load-chunks-to-activate-climbing-entities.patch index 90ed9c4..4754c88 100644 --- a/patches/server/0032-Gale-Don-t-load-chunks-to-activate-climbing-entities.patch +++ b/patches/server/0032-Gale-Don-t-load-chunks-to-activate-climbing-entities.patch @@ -25,10 +25,10 @@ index 793dc5b35e9a0665d486a74ce5b776b43b941ee2..fcd532898e099a809969603941b90fdd public static 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 56efbcc29adca0239ef09a269f0899a3a6e2801b..54daa1744c89e98136d0f594a35119d5fd3d6bc8 100644 +index 06f859e9e98c1cfd7161a43f93aa2b60eee9d666..650a836324b15e90044a1ae1241679bd37354f85 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -5330,6 +5330,16 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -5398,6 +5398,16 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S return this.feetBlockState; } @@ -46,10 +46,10 @@ index 56efbcc29adca0239ef09a269f0899a3a6e2801b..54daa1744c89e98136d0f594a35119d5 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 f13d26b280f095d006ffccb36af66bb7487cb8da..ecbacbed29af51d949122b21c3ae9fc95885c6d8 100644 +index 374a15b18a1355b8415e392228bf9d7eeab7d3ad..fa53f80acf9706fd61cb8133c6b8d46d64a9327d 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -2027,19 +2027,43 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -2033,19 +2033,43 @@ public abstract class LivingEntity extends Entity implements Attackable { public boolean onClimableCached() { if (!this.blockPosition().equals(this.lastClimbingPosition)) { diff --git a/patches/server/0033-Gale-Optimize-sun-burn-tick.patch b/patches/server/0033-Gale-Optimize-sun-burn-tick.patch index cb783cc..f502f04 100644 --- a/patches/server/0033-Gale-Optimize-sun-burn-tick.patch +++ b/patches/server/0033-Gale-Optimize-sun-burn-tick.patch @@ -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 54daa1744c89e98136d0f594a35119d5fd3d6bc8..6f3e87661c3181b6537e4d6d96e50d8d5680c040 100644 +index 650a836324b15e90044a1ae1241679bd37354f85..8b77a86a5757ee00eeb842fb9a3bdc296744f48b 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -307,7 +307,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -308,7 +308,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S public double xo; public double yo; public double zo; @@ -17,7 +17,7 @@ index 54daa1744c89e98136d0f594a35119d5fd3d6bc8..6f3e87661c3181b6537e4d6d96e50d8d public BlockPos blockPosition; // Pufferfish - private->public private ChunkPos chunkPosition; private Vec3 deltaMovement; -@@ -2026,9 +2026,17 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2031,9 +2031,17 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S /** @deprecated */ @Deprecated public float getLightLevelDependentMagicValue() { @@ -37,10 +37,10 @@ index 54daa1744c89e98136d0f594a35119d5fd3d6bc8..6f3e87661c3181b6537e4d6d96e50d8d 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 54e821351e46d25e8b0ead52d2c8dfecd1957544..394913950ac8fbcfcdbce817bac95f3b6604beb7 100644 +index e891477f946265b40cbfbbb7b66049837ad03105..88c93fb45769d85a77f3ae1bfe6ffa0bbf9cdfdf 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -1736,13 +1736,29 @@ public abstract class Mob extends LivingEntity implements Targeting { +@@ -1737,13 +1737,29 @@ public abstract class Mob extends LivingEntity implements Targeting { } diff --git a/patches/server/0036-Kaiiju-Vanilla-end-portal-teleportation.patch b/patches/server/0036-Kaiiju-Vanilla-end-portal-teleportation.patch index 59bc520..e5061a8 100644 --- a/patches/server/0036-Kaiiju-Vanilla-end-portal-teleportation.patch +++ b/patches/server/0036-Kaiiju-Vanilla-end-portal-teleportation.patch @@ -5,10 +5,10 @@ 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 6f3e87661c3181b6537e4d6d96e50d8d5680c040..3a5c8f1f9a8173777b00d43c15e8e313526d3e28 100644 +index 8b77a86a5757ee00eeb842fb9a3bdc296744f48b..885497da8152c5a9857bc4da1393dd0c9cd4339a 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -4108,12 +4108,17 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4163,12 +4163,17 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S targetPos, 16, // load 16 blocks to be safe from block physics ca.spottedleaf.concurrentutil.executor.standard.PrioritisedExecutor.Priority.HIGH, (chunks) -> { @@ -28,7 +28,7 @@ index 6f3e87661c3181b6537e4d6d96e50d8d5680c040..3a5c8f1f9a8173777b00d43c15e8e313 ); } ); -@@ -4300,6 +4305,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4355,6 +4360,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S if (!this.canPortalAsync(takePassengers)) { return false; } @@ -39,7 +39,7 @@ index 6f3e87661c3181b6537e4d6d96e50d8d5680c040..3a5c8f1f9a8173777b00d43c15e8e313 Vec3 initialPosition = this.position(); ChunkPos initialPositionChunk = new ChunkPos( -@@ -4358,7 +4367,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4413,7 +4422,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S // place passengerTree.root.placeInAsync( originWorld, destination, Entity.TELEPORT_FLAG_LOAD_CHUNK | (takePassengers ? Entity.TELEPORT_FLAG_TELEPORT_PASSENGERS : 0L), diff --git a/patches/server/0037-Try-fixing-folia-spector-teleportation.patch b/patches/server/0037-Try-fixing-folia-spector-teleportation.patch index 8b20125..a92a8e7 100644 --- a/patches/server/0037-Try-fixing-folia-spector-teleportation.patch +++ b/patches/server/0037-Try-fixing-folia-spector-teleportation.patch @@ -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 21:23:06 +0800 +Date: Sun, 24 Dec 2023 11:24:04 +0800 Subject: [PATCH] Try fixing folia spector teleportation @@ -25,12 +25,12 @@ 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 d7a280427442bac8cc8ccb542d24d4e0901df70a..755294e3f5b3fbcfbdc0cc85627b2487663ce591 100644 +index 1ab8b0ff1981682c38f6cfe29091f2e335392c44..b904c458cd604187c063117c74b527a4cd06944f 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -18,6 +18,9 @@ import java.util.Optional; - import java.util.OptionalInt; +@@ -17,6 +17,9 @@ import java.util.OptionalInt; import java.util.Set; + import java.util.stream.Collectors; import javax.annotation.Nullable; + +import io.papermc.paper.util.TickThread; @@ -38,7 +38,7 @@ index d7a280427442bac8cc8ccb542d24d4e0901df70a..755294e3f5b3fbcfbdc0cc85627b2487 import net.minecraft.BlockUtil; import net.minecraft.ChatFormatting; import net.minecraft.CrashReport; -@@ -836,18 +839,7 @@ public class ServerPlayer extends Player { +@@ -843,18 +846,7 @@ public class ServerPlayer extends Player { Entity entity = this.getCamera(); @@ -58,7 +58,7 @@ index d7a280427442bac8cc8ccb542d24d4e0901df70a..755294e3f5b3fbcfbdc0cc85627b2487 CriteriaTriggers.TICK.trigger(this); if (this.levitationStartPos != null) { CriteriaTriggers.LEVITATION.trigger(this, this.levitationStartPos, this.tickCount - this.levitationStartTime); -@@ -856,6 +848,38 @@ public class ServerPlayer extends Player { +@@ -863,6 +855,38 @@ public class ServerPlayer extends Player { this.trackStartFallingPosition(); this.trackEnteredOrExitedLavaOnVehicle(); this.advancements.flushDirty(this); diff --git a/patches/server/0038-Add-config-for-offline-mode-warning.patch b/patches/server/0038-Add-config-for-offline-mode-warning.patch index e88e9d1..2544617 100644 --- a/patches/server/0038-Add-config-for-offline-mode-warning.patch +++ b/patches/server/0038-Add-config-for-offline-mode-warning.patch @@ -1,6 +1,6 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: M2ke4U <79621885+MrHua269@users.noreply.github.com> -Date: Wed, 29 Nov 2023 21:15:32 +0800 +Date: Sun, 24 Dec 2023 11:24:33 +0800 Subject: [PATCH] Add config for offline mode warning @@ -25,7 +25,7 @@ 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 4a1e068c27853a38db0641806626e7ac740bd8de..4cc62104942e58ededd5c838f4bd5c4db0d574d4 100644 +index 0f265202b18d28a22f0ace6381482b60ab5b5205..28bc6a8c59f7835f6fb5e4d9ad7c05386010520c 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 diff --git a/patches/server/0039-Add-config-for-root-user-warning.patch b/patches/server/0039-Add-config-for-root-user-warning.patch index 7651a41..a0fe77a 100644 --- a/patches/server/0039-Add-config-for-root-user-warning.patch +++ b/patches/server/0039-Add-config-for-root-user-warning.patch @@ -1,6 +1,6 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: M2ke4U <79621885+MrHua269@users.noreply.github.com> -Date: Thu, 30 Nov 2023 22:41:04 +0800 +Date: Sun, 24 Dec 2023 11:24:54 +0800 Subject: [PATCH] Add config for root user warning @@ -25,7 +25,7 @@ index 8bf7a0235ed292d6cb3beca9b786a69148e0b4d9..7ada58f2fa83a47908723bdf1e5c5fbb 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 4cc62104942e58ededd5c838f4bd5c4db0d574d4..964777e992974dc02ee106ec47efd2e04f3b76c3 100644 +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 diff --git a/patches/server/0040-Kaiiju-Async-path-processing.patch b/patches/server/0040-Kaiiju-Async-path-processing.patch index 45d3fdf..4a0b0b1 100644 --- a/patches/server/0040-Kaiiju-Async-path-processing.patch +++ b/patches/server/0040-Kaiiju-Async-path-processing.patch @@ -515,10 +515,10 @@ index 7ada58f2fa83a47908723bdf1e5c5fbbc2f5ffa9..dee892ef5f999b693507e7de909d639c public static 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 394913950ac8fbcfcdbce817bac95f3b6604beb7..fcf22d62b2bb61807ab54a3e4dca8500d9a1f8a7 100644 +index 88c93fb45769d85a77f3ae1bfe6ffa0bbf9cdfdf..3cf40268ed84e70e5c10558df0b3602fbc603484 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -297,6 +297,7 @@ public abstract class Mob extends LivingEntity implements Targeting { +@@ -298,6 +298,7 @@ public abstract class Mob extends LivingEntity implements Targeting { @Nullable @Override public LivingEntity getTarget() { @@ -1008,10 +1008,10 @@ index 8db20db72cd51046213625fac46c35854c59ec5d..d40e00a0a8726c920ea43aaa1ed68005 } } diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java -index 25fd3aea2d66503018637781ccb8b5690c02e57b..3eb38f2ad12ee459dfaf0e9f917633c8db6d58e3 100644 +index cbb0ebf003f5d832be1937aa886802df3f06b12a..32138d22024c027a00502658aed0c0d6df58ce1a 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Bee.java +++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java -@@ -1077,7 +1077,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { +@@ -1084,7 +1084,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { } else { Bee.this.pathfindRandomlyTowards(Bee.this.hivePos); } @@ -1020,7 +1020,7 @@ index 25fd3aea2d66503018637781ccb8b5690c02e57b..3eb38f2ad12ee459dfaf0e9f917633c8 boolean flag = this.pathfindDirectlyTowards(Bee.this.hivePos); if (!flag) { -@@ -1139,7 +1139,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { +@@ -1146,7 +1146,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { } else { Path pathentity = Bee.this.navigation.getPath(); @@ -1030,10 +1030,10 @@ index 25fd3aea2d66503018637781ccb8b5690c02e57b..3eb38f2ad12ee459dfaf0e9f917633c8 } } diff --git a/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java b/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java -index c8e3d47b3f2dc919cca8ad397095437f1da6c762..dc7c35492c9481a45891ad32b45d7d46bc492461 100644 +index e88b058c0734e436ef24bab6364b206c13e5a9c2..613c04314d2693af4889a665e17f272b2af01db3 100644 --- a/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java +++ b/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java -@@ -390,6 +390,17 @@ public class Frog extends Animal implements VariantHolder { +@@ -385,6 +385,17 @@ public class Frog extends Animal implements VariantHolder { super(frog, world); } @@ -1051,7 +1051,7 @@ index c8e3d47b3f2dc919cca8ad397095437f1da6c762..dc7c35492c9481a45891ad32b45d7d46 @Override public boolean canCutCorner(BlockPathTypes nodeType) { return nodeType != BlockPathTypes.WATER_BORDER && super.canCutCorner(nodeType); -@@ -399,6 +410,11 @@ public class Frog extends Animal implements VariantHolder { +@@ -394,6 +405,11 @@ public class Frog extends Animal implements VariantHolder { protected PathFinder createPathFinder(int range) { this.nodeEvaluator = new Frog.FrogNodeEvaluator(true); this.nodeEvaluator.setCanPassDoors(true); @@ -1064,7 +1064,7 @@ index c8e3d47b3f2dc919cca8ad397095437f1da6c762..dc7c35492c9481a45891ad32b45d7d46 } } diff --git a/src/main/java/net/minecraft/world/entity/monster/Drowned.java b/src/main/java/net/minecraft/world/entity/monster/Drowned.java -index 991d728db2a3b64316fc2102cf3aee470327a62e..c99de04d082f7f9b08d25730460385c400b1b975 100644 +index 485d14d71fb26e6e0d00a43da040bf63d696b66a..b60559381786cf841c581781ef3406ad50195592 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Drowned.java +++ b/src/main/java/net/minecraft/world/entity/monster/Drowned.java @@ -216,7 +216,6 @@ public class Drowned extends Zombie implements RangedAttackMob { @@ -1116,10 +1116,10 @@ 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 5e43912708f9074dee1bb351efa737a7e6796fc3..6b3279c74148e3e93364fe0859b543fba4e6933c 100644 +index 58a7e61e02b7d72326ed4d57ee514adb63b3873c..600e7860534d66fb4b7d305e3695ec6d25c97e67 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 -@@ -603,6 +603,16 @@ public class Warden extends Monster implements VibrationSystem { +@@ -604,6 +604,16 @@ public class Warden extends Monster implements VibrationSystem { protected PathFinder createPathFinder(int range) { this.nodeEvaluator = new WalkNodeEvaluator(); this.nodeEvaluator.setCanPassDoors(true); @@ -1137,10 +1137,10 @@ index 5e43912708f9074dee1bb351efa737a7e6796fc3..6b3279c74148e3e93364fe0859b543fb @Override protected float distance(Node a, Node b) { diff --git a/src/main/java/net/minecraft/world/level/block/ShulkerBoxBlock.java b/src/main/java/net/minecraft/world/level/block/ShulkerBoxBlock.java -index d5fe3b8e2f5a8899f6afeb0600764284a617f261..4f15b9e4b1aba5375a2572ff28cea4e3d96eb82d 100644 +index 42407c5c0c09cd9d19bc7af92af8868bb038c686..39ed19562210f1329b22c630e667578473cda7cb 100644 --- a/src/main/java/net/minecraft/world/level/block/ShulkerBoxBlock.java +++ b/src/main/java/net/minecraft/world/level/block/ShulkerBoxBlock.java -@@ -238,6 +238,7 @@ public class ShulkerBoxBlock extends BaseEntityBlock { +@@ -254,6 +254,7 @@ public class ShulkerBoxBlock extends BaseEntityBlock { @Override public VoxelShape getShape(BlockState state, BlockGetter world, BlockPos pos, CollisionContext context) { @@ -1149,10 +1149,10 @@ index d5fe3b8e2f5a8899f6afeb0600764284a617f261..4f15b9e4b1aba5375a2572ff28cea4e3 return blockEntity instanceof ShulkerBoxBlockEntity ? Shapes.create(((ShulkerBoxBlockEntity)blockEntity).getBoundingBox(state)) : Shapes.block(); } diff --git a/src/main/java/net/minecraft/world/level/block/piston/MovingPistonBlock.java b/src/main/java/net/minecraft/world/level/block/piston/MovingPistonBlock.java -index e941a4ce35c1bcc84836d04fb97cb1e7f292ae42..26f3c25f2dfda5f7c6213746efa8b883b655d2e1 100644 +index d3d1ad7901411574b85b0febd1c7ddaa8ad7c9f4..850065df2b95b0967660f246cd007bf9f53e26df 100644 --- a/src/main/java/net/minecraft/world/level/block/piston/MovingPistonBlock.java +++ b/src/main/java/net/minecraft/world/level/block/piston/MovingPistonBlock.java -@@ -102,6 +102,7 @@ public class MovingPistonBlock extends BaseEntityBlock { +@@ -110,6 +110,7 @@ public class MovingPistonBlock extends BaseEntityBlock { @Override public VoxelShape getCollisionShape(BlockState state, BlockGetter world, BlockPos pos, CollisionContext context) { diff --git a/patches/server/0041-Optimize-mob-spawning-Async-mob-spawn-state-calc.patch b/patches/server/0041-Optimize-mob-spawning-Async-mob-spawn-state-calc.patch index f85d2b8..96c1b6c 100644 --- a/patches/server/0041-Optimize-mob-spawning-Async-mob-spawn-state-calc.patch +++ b/patches/server/0041-Optimize-mob-spawning-Async-mob-spawn-state-calc.patch @@ -1,6 +1,6 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: M2ke4U <79621885+MrHua269@users.noreply.github.com> -Date: Sat, 9 Dec 2023 22:19:49 +0800 +Date: Sun, 24 Dec 2023 11:50:17 +0800 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 e8cd180bab5c196db09ded74aea676b4412fc6e9..534f54be1495b1a8f754bec0eb1aba8306c1d902 100644 +index dee892ef5f999b693507e7de909d639ce7875780..6edafcdbc188cd6c78e4c4237363e41d927a665e 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; @@ -315,17 +315,10 @@ index 0000000000000000000000000000000000000000..88d5b188ccfb17fe1ae4b08f32565f27 + } +} diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -index b9b1dfe04eda8498f0ceff0aee66489d2a02b814..c470eafef884075b6e4d170adc2ced96a4beb517 100644 +index d248c0492a34c11fb96c9dd6f0a3d180ee846c51..193840b685df67bc72e4467bda74718f5b45732b 100644 --- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java +++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -@@ -11,13 +11,15 @@ import java.util.Collections; - import java.util.Iterator; - import java.util.List; - import java.util.Objects; --import java.util.Optional; - import java.util.concurrent.CompletableFuture; - import java.util.concurrent.Executor; - import java.util.function.BooleanSupplier; +@@ -17,6 +17,9 @@ import java.util.function.BooleanSupplier; import java.util.function.Consumer; import java.util.function.Supplier; import javax.annotation.Nullable; @@ -335,80 +328,76 @@ index b9b1dfe04eda8498f0ceff0aee66489d2a02b814..c470eafef884075b6e4d170adc2ced96 import net.minecraft.Util; import net.minecraft.core.BlockPos; import net.minecraft.core.SectionPos; -@@ -487,32 +489,38 @@ public class ServerChunkCache extends ChunkSource { - this.level.timings.countNaturalMobs.startTiming(); // Paper - timings - int l = this.distanceManager.getNaturalSpawnChunkCount(); - // Paper start - per player mob spawning -- NaturalSpawner.SpawnState spawnercreature_d; // moved down -+ NaturalSpawner.SpawnState spawnercreature_d = null; // moved down - profiler.startTimer(ca.spottedleaf.leafprofiler.LProfilerRegistry.MOB_SPAWN_ENTITY_COUNT); try { // Folia - profiler -- if ((this.spawnFriendlies || this.spawnEnemies) && this.level.paperConfig().entities.spawning.perPlayerMobSpawns) { // don't count mobs when animals and monsters are disabled -- // re-set mob counts -- for (ServerPlayer player : regionizedWorldData.getLocalPlayers()) { // Folia - region threading -- // Paper start - per player mob spawning backoff -- for (int ii = 0; ii < ServerPlayer.MOBCATEGORY_TOTAL_ENUMS; ii++) { -- player.mobCounts[ii] = 0; +@@ -521,30 +524,36 @@ public class ServerChunkCache extends ChunkSource { + int naturalSpawnChunkCount = k; + NaturalSpawner.SpawnState spawnercreature_d; // moved down + profiler.startTimer(ca.spottedleaf.leafprofiler.LProfilerRegistry.MOB_SPAWN_ENTITY_COUNT); try { // Folia - profiler +- if ((this.spawnFriendlies || this.spawnEnemies) && this.level.paperConfig().entities.spawning.perPlayerMobSpawns) { // don't count mobs when animals and monsters are disabled +- // re-set mob counts +- for (ServerPlayer player : this.level.getLocalPlayers()) { // Folia - region threading +- // Paper start - per player mob spawning backoff +- for (int ii = 0; ii < ServerPlayer.MOBCATEGORY_TOTAL_ENUMS; ii++) { +- player.mobCounts[ii] = 0; - -- int newBackoff = player.mobBackoffCounts[ii] - 1; // TODO make configurable bleed // TODO use nonlinear algorithm? -- if (newBackoff < 0) { -- newBackoff = 0; -+ if (!LuminolConfig.enableAsyncMobSpawning){ //Luminol -+ if ((this.spawnFriendlies || this.spawnEnemies) && this.level.paperConfig().entities.spawning.perPlayerMobSpawns) { // don't count mobs when animals and monsters are disabled -+ // re-set mob counts -+ for (ServerPlayer player : regionizedWorldData.getLocalPlayers()) { // Folia - region threading -+ // Paper start - per player mob spawning backoff -+ for (int ii = 0; ii < ServerPlayer.MOBCATEGORY_TOTAL_ENUMS; ii++) { -+ player.mobCounts[ii] = 0; +- int newBackoff = player.mobBackoffCounts[ii] - 1; // TODO make configurable bleed // TODO use nonlinear algorithm? +- if (newBackoff < 0) { +- newBackoff = 0; ++ if (!LuminolConfig.enableAsyncMobSpawning) { //Luminol ++ if ((this.spawnFriendlies || this.spawnEnemies) && this.level.paperConfig().entities.spawning.perPlayerMobSpawns) { // don't count mobs when animals and monsters are disabled ++ // re-set mob counts ++ for (ServerPlayer player : this.level.getLocalPlayers()) { // Folia - region threading ++ // Paper start - per player mob spawning backoff ++ for (int ii = 0; ii < ServerPlayer.MOBCATEGORY_TOTAL_ENUMS; ii++) { ++ player.mobCounts[ii] = 0; + -+ int newBackoff = player.mobBackoffCounts[ii] - 1; // TODO make configurable bleed // TODO use nonlinear algorithm? -+ if (newBackoff < 0) { -+ newBackoff = 0; -+ } -+ player.mobBackoffCounts[ii] = newBackoff; ++ int newBackoff = player.mobBackoffCounts[ii] - 1; // TODO make configurable bleed // TODO use nonlinear algorithm? ++ if (newBackoff < 0) { ++ newBackoff = 0; ++ } ++ player.mobBackoffCounts[ii] = newBackoff; + } +- player.mobBackoffCounts[ii] = newBackoff; ++ // Paper end - per player mob spawning backoff } -- player.mobBackoffCounts[ii] = newBackoff; -+ // Paper end - per player mob spawning backoff +- // Paper end - per player mob spawning backoff ++ spawnercreature_d = NaturalSpawner.createState(naturalSpawnChunkCount, regionizedWorldData.getLoadedEntities(), this::getFullChunk, null, true); // Folia - region threading - note: function only cares about loaded entities, doesn't need all ++ } else { ++ spawnercreature_d = NaturalSpawner.createState(naturalSpawnChunkCount, regionizedWorldData.getLoadedEntities(), this::getFullChunk, !this.level.paperConfig().entities.spawning.perPlayerMobSpawns ? new LocalMobCapCalculator(this.chunkMap) : null, false); // Folia - region threading - note: function only cares about loaded entities, doesn't need all } -- // Paper end - per player mob spawning backoff -+ spawnercreature_d = NaturalSpawner.createState(l, regionizedWorldData.getLoadedEntities(), this::getFullChunk, null, true); // Folia - region threading -+ } else { -+ spawnercreature_d = NaturalSpawner.createState(l, regionizedWorldData.getLoadedEntities(), this::getFullChunk, !this.level.paperConfig().entities.spawning.perPlayerMobSpawns ? new LocalMobCapCalculator(this.chunkMap) : null, false); // Folia - region threading +- spawnercreature_d = NaturalSpawner.createState(naturalSpawnChunkCount, regionizedWorldData.getLoadedEntities(), this::getFullChunk, null, true); // Folia - region threading - note: function only cares about loaded entities, doesn't need all +- } else { +- spawnercreature_d = NaturalSpawner.createState(naturalSpawnChunkCount, regionizedWorldData.getLoadedEntities(), this::getFullChunk, !this.level.paperConfig().entities.spawning.perPlayerMobSpawns ? new LocalMobCapCalculator(this.chunkMap) : null, false); // Folia - region threading - note: function only cares about loaded entities, doesn't need all ++ }//Luminol ++ // Luminol start - Async mob spawning ++ if (!LuminolConfig.enableAsyncMobSpawning){ ++ regionizedWorldData.lastAsyncSpawnStateTask = CompletableFuture.completedFuture(spawnercreature_d); } -- spawnercreature_d = NaturalSpawner.createState(l, regionizedWorldData.getLoadedEntities(), this::getFullChunk, null, true); // Folia - region threading -- } else { -- spawnercreature_d = NaturalSpawner.createState(l, regionizedWorldData.getLoadedEntities(), this::getFullChunk, !this.level.paperConfig().entities.spawning.perPlayerMobSpawns ? new LocalMobCapCalculator(this.chunkMap) : null, false); // Folia - region threading -+ }//Luminol -+ //Luminol start - Async mob spawning -+ if (!LuminolConfig.enableAsyncMobSpawning){ -+ regionizedWorldData.lastAsyncSpawnStateTask = CompletableFuture.completedFuture(spawnercreature_d); - } - } finally { profiler.stopTimer(ca.spottedleaf.leafprofiler.LProfilerRegistry.MOB_SPAWN_ENTITY_COUNT); } // Folia - profiler - // Paper end - this.level.timings.countNaturalMobs.stopTiming(); // Paper - timings + } finally { profiler.stopTimer(ca.spottedleaf.leafprofiler.LProfilerRegistry.MOB_SPAWN_ENTITY_COUNT); } // Folia - profiler + // Paper end + this.level.timings.countNaturalMobs.stopTiming(); // Paper - timings -- regionizedWorldData.lastSpawnState = spawnercreature_d; // Folia - region threading -+ //regionizedWorldData.lastSpawnState = spawnercreature_d; // Folia - region threading //Luminol - Async mob spawning - gameprofilerfiller.popPush("filteringLoadedChunks"); - // Paper - optimise chunk tick iteration - // Paper - optimise chunk tick iteration -@@ -610,7 +618,12 @@ public class ServerChunkCache extends ChunkSource { - chunk1.incrementInhabitedTime(j); - if (spawn && flag2 && (this.spawnEnemies || this.spawnFriendlies) && this.level.getWorldBorder().isWithinBounds(chunkcoordintpair)) { // Spigot // Paper - optimise chunk tick iteration - ++spawnChunkCount; // Folia - profiler -- NaturalSpawner.spawnForChunk(this.level, chunk1, spawnercreature_d, this.spawnFriendlies, this.spawnEnemies, flag1); -+ -+ //Luminol start - Async mob spawning -+ if (regionizedWorldData.lastAsyncSpawnStateTask != null && regionizedWorldData.lastAsyncSpawnStateTask.isDone()){ -+ NaturalSpawner.spawnForChunk(this.level, chunk1, regionizedWorldData.lastAsyncSpawnStateTask.join(), this.spawnFriendlies, this.spawnEnemies, flag1); -+ } -+ //Luminol end - } +- regionizedWorldData.lastSpawnState = spawnercreature_d; // Folia - region threading ++ //regionizedWorldData.lastSpawnState = spawnercreature_d; // Folia - region threading //Luminol - Async mob spawning + gameprofilerfiller.popPush("spawnAndTick"); + boolean flag = this.level.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING) && !this.level.getLocalPlayers().isEmpty(); // CraftBukkit // Folia - region threadin - if (true || this.level.shouldTickBlocksAt(chunkcoordintpair.toLong())) { // Paper - optimise chunk tick iteration -@@ -667,6 +680,36 @@ public class ServerChunkCache extends ChunkSource { +@@ -637,7 +646,11 @@ public class ServerChunkCache extends ChunkSource { + chunk1.incrementInhabitedTime(j); + if (spawn && flag && (this.spawnEnemies || this.spawnFriendlies) && this.level.getWorldBorder().isWithinBounds(chunkcoordintpair)) { // Spigot // Paper - optimise chunk tick iteration + ++spawnChunkCount; // Folia - profiler +- NaturalSpawner.spawnForChunk(this.level, chunk1, spawnercreature_d, this.spawnFriendlies, this.spawnEnemies, flag1); ++ //Luminol start - Async mob spawning ++ if (regionizedWorldData.lastAsyncSpawnStateTask != null && regionizedWorldData.lastAsyncSpawnStateTask.isDone()){ ++ NaturalSpawner.spawnForChunk(this.level, chunk1, regionizedWorldData.lastAsyncSpawnStateTask.join(), this.spawnFriendlies, this.spawnEnemies, flag1); ++ } ++ //Luminol end + } + + if (true || this.level.shouldTickBlocksAt(chunkcoordintpair.toLong())) { // Paper - optimise chunk tick iteration +@@ -695,6 +708,36 @@ public class ServerChunkCache extends ChunkSource { + // Paper - optimise chunk tick iteration gameprofilerfiller.pop(); gameprofilerfiller.pop(); - this.chunkMap.tick(); + + //Luminol start - Async mob spawning + if (LuminolConfig.enableAsyncMobSpawning){ @@ -442,7 +431,7 @@ index b9b1dfe04eda8498f0ceff0aee66489d2a02b814..c470eafef884075b6e4d170adc2ced96 } } -@@ -809,7 +852,7 @@ public class ServerChunkCache extends ChunkSource { +@@ -837,7 +880,7 @@ public class ServerChunkCache extends ChunkSource { @VisibleForDebug public NaturalSpawner.SpawnState getLastSpawnState() { io.papermc.paper.threadedregions.RegionizedWorldData worldData = this.level.getCurrentWorldData(); // Folia - region threading diff --git a/patches/server/0042-Added-back-worldborder-command.patch b/patches/server/0042-Added-back-worldborder-command.patch deleted file mode 100644 index 52c3091..0000000 --- a/patches/server/0042-Added-back-worldborder-command.patch +++ /dev/null @@ -1,19 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: M2ke4U <79621885+MrHua269@users.noreply.github.com> -Date: Mon, 11 Dec 2023 20:00:10 +0800 -Subject: [PATCH] Added back worldborder command - - -diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java -index 3435bdeaf723c64103f7c924ea42a4ec78f2ba01..a7732effbb2885b398d18df2e581f7a0f279a85a 100644 ---- a/src/main/java/net/minecraft/commands/Commands.java -+++ b/src/main/java/net/minecraft/commands/Commands.java -@@ -202,7 +202,7 @@ public class Commands { - TitleCommand.register(this.dispatcher); - //TriggerCommand.register(this.dispatcher); // Folia - region threading - TODO later - WeatherCommand.register(this.dispatcher); -- //WorldBorderCommand.register(this.dispatcher); // Folia - region threading - TODO later -+ WorldBorderCommand.register(this.dispatcher); // Folia - region threading - TODO later //Lumino - Add back world border - if (JvmProfiler.INSTANCE.isAvailable()) { - JfrCommand.register(this.dispatcher); - } diff --git a/patches/server/0043-Purpur-use-alternative-keep-alive.patch b/patches/server/0042-Purpur-use-alternative-keep-alive.patch similarity index 97% rename from patches/server/0043-Purpur-use-alternative-keep-alive.patch rename to patches/server/0042-Purpur-use-alternative-keep-alive.patch index 763970b..1c26982 100644 --- a/patches/server/0043-Purpur-use-alternative-keep-alive.patch +++ b/patches/server/0042-Purpur-use-alternative-keep-alive.patch @@ -1,6 +1,6 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: M2ke4U <79621885+MrHua269@users.noreply.github.com> -Date: Sun, 17 Dec 2023 20:32:49 +0800 +Date: Sun, 24 Dec 2023 11:51:17 +0800 Subject: [PATCH] Purpur use alternative keep alive @@ -25,7 +25,7 @@ index 6edafcdbc188cd6c78e4c4237363e41d927a665e..a62680768068b611fe723fedeb617d42 public static 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 2bb944cef9bc8c5e56023ef20921ef13509d4823..9d23285f97ac5d90eb177ddc325281fa197d7f76 100644 +index ce200192b4dddfc9b2d3c355838596b7deef1c69..070caa71212642b8811586fc2ec720b629d365f5 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 diff --git a/patches/server/0044-Leaves-Protocol-Core.patch b/patches/server/0043-Leaves-Protocol-Core.patch similarity index 97% rename from patches/server/0044-Leaves-Protocol-Core.patch rename to patches/server/0043-Leaves-Protocol-Core.patch index 3cc49e2..2470e3f 100644 --- a/patches/server/0044-Leaves-Protocol-Core.patch +++ b/patches/server/0043-Leaves-Protocol-Core.patch @@ -1,11 +1,11 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: M2ke4U <79621885+MrHua269@users.noreply.github.com> -Date: Sun, 17 Dec 2023 20:39:21 +0800 +Date: Sun, 24 Dec 2023 11:52:22 +0800 Subject: [PATCH] Leaves Protocol Core diff --git a/src/main/java/io/papermc/paper/threadedregions/RegionizedServer.java b/src/main/java/io/papermc/paper/threadedregions/RegionizedServer.java -index 1e3117ccd51be58d988089207a3efdbff02fc374..a28cdeed2a0a2d5194edcfc13cac38f2f2d80489 100644 +index fc3d332aa1c1d469cedfe2aaa7102dcd78e25642..bebaa4e7abcbd01dc57fddf2a473b846e887cc7f 100644 --- a/src/main/java/io/papermc/paper/threadedregions/RegionizedServer.java +++ b/src/main/java/io/papermc/paper/threadedregions/RegionizedServer.java @@ -313,6 +313,8 @@ public final class RegionizedServer { @@ -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 9d23285f97ac5d90eb177ddc325281fa197d7f76..e1ace2ad411b8d54c56660b41e774a1c998b3ac3 100644 +index 070caa71212642b8811586fc2ec720b629d365f5..721327535cbfb90c92921aea6b08cf3452ca7507 100644 --- a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java @@ -127,6 +127,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack @@ -56,10 +56,10 @@ index 9d23285f97ac5d90eb177ddc325281fa197d7f76..e1ace2ad411b8d54c56660b41e774a1c } 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 7edaa7558e40942f94c459e9b480ef640146ec6b..3f366ad035ada0ac8170d2925bbfe86b80bd84cb 100644 +index dfc0e3ce3ba88c3dbff909524de348fbe76de3a9..8dba9b265495156085e609c043c20df40dd8a77a 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -435,6 +435,8 @@ public abstract class PlayerList { +@@ -433,6 +433,8 @@ public abstract class PlayerList { //return; // Folia - region threading - must still allow the player to connect, as we must add to chunk map before handling disconnect } @@ -68,7 +68,7 @@ index 7edaa7558e40942f94c459e9b480ef640146ec6b..3f366ad035ada0ac8170d2925bbfe86b final net.kyori.adventure.text.Component jm = playerJoinEvent.joinMessage(); if (jm != null && !jm.equals(net.kyori.adventure.text.Component.empty())) { // Paper - Adventure -@@ -691,6 +693,7 @@ public abstract class PlayerList { +@@ -689,6 +691,7 @@ public abstract class PlayerList { return this.remove(entityplayer, net.kyori.adventure.text.Component.translatable("multiplayer.player.left", net.kyori.adventure.text.format.NamedTextColor.YELLOW, io.papermc.paper.configuration.GlobalConfiguration.get().messages.useDisplayNameInQuitMessage ? entityplayer.getBukkitEntity().displayName() : io.papermc.paper.adventure.PaperAdventure.asAdventure(entityplayer.getDisplayName()))); } public net.kyori.adventure.text.Component remove(ServerPlayer entityplayer, net.kyori.adventure.text.Component leaveMessage) { @@ -77,10 +77,10 @@ index 7edaa7558e40942f94c459e9b480ef640146ec6b..3f366ad035ada0ac8170d2925bbfe86b 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 5fe36cbb14f0f0e9692cfa40381cebdb4e142bbe..ee66241a422acb8920395fd5e41578a966746f5c 100644 +index 46496032f2f6535d2af2c39af49ae8d168452951..295eb10028784bee708a86f046c7b71b1b34c05a 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -478,6 +478,7 @@ public final class CraftServer implements Server { +@@ -469,6 +469,7 @@ public final class CraftServer implements Server { MapPalette.setMapColorCache(new CraftMapColorCache(this.logger)); } datapackManager = new io.papermc.paper.datapack.PaperDatapackManager(console.getPackRepository()); // Paper @@ -88,7 +88,7 @@ index 5fe36cbb14f0f0e9692cfa40381cebdb4e142bbe..ee66241a422acb8920395fd5e41578a9 } public boolean getCommandBlockOverride(String command) { -@@ -1114,6 +1115,7 @@ public final class CraftServer implements Server { +@@ -1110,6 +1111,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"); diff --git a/patches/server/0045-Leaves-PCA-sync-protocol.patch b/patches/server/0044-Leaves-PCA-sync-protocol.patch similarity index 99% rename from patches/server/0045-Leaves-PCA-sync-protocol.patch rename to patches/server/0044-Leaves-PCA-sync-protocol.patch index 8eb4b44..4ddf5d1 100644 --- a/patches/server/0045-Leaves-PCA-sync-protocol.patch +++ b/patches/server/0044-Leaves-PCA-sync-protocol.patch @@ -30,7 +30,7 @@ index a62680768068b611fe723fedeb617d42c643e59e..cfe9a8eb705039ee7e2dc9262e1355c4 public static 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 a0628b9d74c29d02bfba583edf7ee6f2cde2cff6..698c7bfddb0d45d088c30fd26eccb86b924fd60a 100644 +index 63bbb5723f587788a65cc1cdac4cea94d96f254b..4417a30b7392404de1081469b90cceea032a8437 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, @@ -66,7 +66,7 @@ index ce728f062794e239d1dfdf842d7d0c725f77fba7..a3200593788525c7f18420036044bfdc @Override diff --git a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecartContainer.java b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecartContainer.java -index f64edfdb03f99624daf1e05b5dc86d845c3018b6..e98ea5f93a829e232a61eee4564209d1831f8b8d 100644 +index e7115f1635821e0aab32e8aeea6914388dc24639..6593ae2dad5d1f7d8e403d08cd425a64d218274e 100644 --- a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecartContainer.java +++ b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecartContainer.java @@ -138,7 +138,13 @@ public abstract class AbstractMinecartContainer extends AbstractMinecart impleme @@ -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 cf09525efd2d53bf884cd6ec3b0b9229715895eb..9c7b5fbec4ec1eb6b39f139a9b16483208249b6f 100644 +index dfd364ac4b7551a13c4c6c100b5e62c0dfb10595..e965d88fa4021fbf85dc660f22ec52bb33bdd317 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; diff --git a/patches/server/0046-Leaves-Bladeren-protocol.patch b/patches/server/0045-Leaves-Bladeren-protocol.patch similarity index 100% rename from patches/server/0046-Leaves-Bladeren-protocol.patch rename to patches/server/0045-Leaves-Bladeren-protocol.patch diff --git a/patches/server/0047-Leaves-Bladeren-mspt-sync-protocol.patch b/patches/server/0046-Leaves-Bladeren-mspt-sync-protocol.patch similarity index 100% rename from patches/server/0047-Leaves-Bladeren-mspt-sync-protocol.patch rename to patches/server/0046-Leaves-Bladeren-mspt-sync-protocol.patch diff --git a/patches/server/0048-Leaves-Syncmatica-Protocol.patch b/patches/server/0047-Leaves-Syncmatica-Protocol.patch similarity index 99% rename from patches/server/0048-Leaves-Syncmatica-Protocol.patch rename to patches/server/0047-Leaves-Syncmatica-Protocol.patch index 3d05e16..ad1b09e 100644 --- a/patches/server/0048-Leaves-Syncmatica-Protocol.patch +++ b/patches/server/0047-Leaves-Syncmatica-Protocol.patch @@ -1,6 +1,6 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: M2ke4U <79621885+MrHua269@users.noreply.github.com> -Date: Thu, 21 Dec 2023 20:20:20 +0800 +Date: Sun, 24 Dec 2023 12:10:17 +0800 Subject: [PATCH] Leaves Syncmatica Protocol @@ -29,18 +29,18 @@ index d19f423debbeaedf955977c02aaf5f8e0016bea3..875afb57c7f0c4e3d0bc752d86a83081 public static 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 159d3a27c1686fd2b0025cab5b7e7775679c4ce9..59cd97446b9dace1a887e35761bc94c88348256a 100644 +index 645ab5d149a207bed00357fe0aaf070d4b27d15a..43d671adfe996b18e75e1672d1b0196ec9861238 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -304,6 +304,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl - player.getTextFilter().join(); - this.signedMessageDecoder = server.enforceSecureProfile() ? SignedMessageChain.Decoder.REJECT_ALL : SignedMessageChain.Decoder.unsigned(player.getUUID()); +@@ -307,6 +307,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl + Objects.requireNonNull(server); + this.signedMessageDecoder = SignedMessageChain.Decoder.unsigned(uuid, server::enforceSecureProfile); this.chatMessageChain = new FutureChain(server.chatExecutor); // CraftBukkit - async chat + this.exchangeTarget = new top.leavesmc.leaves.protocol.syncmatica.exchange.ExchangeTarget(this); // Leaves - Syncmatica Protocol } // CraftBukkit start - add fields -@@ -330,6 +331,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -333,6 +334,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl public final Long disconnectTicketId = Long.valueOf(DISCONNECT_TICKET_ID_GENERATOR.getAndIncrement()); // Folia end - region threading