From 851cab54e01e7ce2cdf28dddf706834c087d4897 Mon Sep 17 00:00:00 2001 From: AlphaKR93 Date: Fri, 15 Nov 2024 23:41:52 +0900 Subject: [PATCH] Updated Upstream (Paper) Upstream has released updates that appear to apply and compile correctly. [Paper Changes] PaperMC/Paper@00ef8bd: Fix Entity#isTicking and update Paper entity command (#11590) PaperMC/Paper@6483ecb: Updated Upstream (Bukkit/CraftBukkit) PaperMC/Paper@17dbf74: Improve CraftEntity and CraftPlayer equals PaperMC/Paper@0af4e84: [ci skip] Add identifying line to some larger/optimization patches PaperMC/Paper@bcbd108: Call CraftPlayer#onEntityRemove for all online players (#11598) PaperMC/Paper@e47f79a: Configure mockito agent (#11560) PaperMC/Paper@94ea770: Re-add exact choice shapeless support (#11546) PaperMC/Paper@2e6eafb: Improve Minecart#getMinecartMaterial (#11544) PaperMC/Paper@9d1c91d: [ci skip] Fix UseCooldownComponent jd (#11565) PaperMC/Paper@59b79c8: Fix NPE with enchantable (#11557) PaperMC/Paper@6da7b9e: Update Eigencraft patch to 1.21.3 (#11553) PaperMC/Paper@1ef4c0e: Improve performance of RecipeMap#removeRecipe (#11547) PaperMC/Paper@52fb265: Optimize custom map rendering (#11000) PaperMC/Paper@661839e: Fix and optimize getChunkCount (#11610) PaperMC/Paper@c60af44: Fix experimental minecart collisions on sloped rails PaperMC/Paper@13f48d8: [ci skip] Rebuild patches PaperMC/Paper@be886cf: Fix Naming issue inside Add PlayerArmorChangeEvent (#11614) --- gradle.properties | 2 +- patches/api/0001-Purpur-API-Changes.patch | 24 +++--- .../0002-Use-Gradle-Version-Catalogs.patch | 10 +-- patches/api/0004-Plazma-Configurations.patch | 4 +- .../0001-Purpur-Generated-API-Changes.patch | 8 +- .../server/0001-Purpur-Server-Changes.patch | 76 +++++++++---------- .../server/0003-Build-System-Changes.patch | 37 ++++----- .../server/0006-Plazma-Configurations.patch | 6 +- ...lways-agree-EULA-on-development-mode.patch | 4 +- ...-when-running-the-test-server-with-g.patch | 4 +- ...urable-RandomSource-factory-provider.patch | 4 +- ...41-Completely-remove-Mojang-Profiler.patch | 14 ++-- ...042-Remove-persist-isClientSide-flag.patch | 35 ++++----- 13 files changed, 113 insertions(+), 115 deletions(-) diff --git a/gradle.properties b/gradle.properties index 9693130..49f78c0 100644 --- a/gradle.properties +++ b/gradle.properties @@ -25,5 +25,5 @@ pufferfishRepo = https://github.com/pufferfish-gg/Pufferfish pufferfishBranch = ver/1.21 usePufferfish = false -paperCommit = 99f4bb29ba77964304a37e51b7f1824a4a6032af +paperCommit = be886cf4e7ba906a3e79d9d38835d35abf60a0ce purpurCommit = c6802b0a27f1f8faac4ad30f902810fd0ed8051e diff --git a/patches/api/0001-Purpur-API-Changes.patch b/patches/api/0001-Purpur-API-Changes.patch index 98125ff..5e77c20 100644 --- a/patches/api/0001-Purpur-API-Changes.patch +++ b/patches/api/0001-Purpur-API-Changes.patch @@ -25,10 +25,10 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/build.gradle.kts b/build.gradle.kts -index 254fd96d3950b4494c7e43547b00b5175ee53c93..628ec6699d34c1877c02001de95096bc7b44120e 100644 +index e29e5024fa693baae469d47fe77b57118f14627c..b0fd6c1804844f09428051952e3ac4e58f8c859c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -52,6 +52,7 @@ dependencies { +@@ -64,6 +64,7 @@ dependencies { apiAndDocs("net.kyori:adventure-text-logger-slf4j") api("org.apache.logging.log4j:log4j-api:$log4jVersion") api("org.slf4j:slf4j-api:$slf4jVersion") @@ -36,7 +36,7 @@ index 254fd96d3950b4494c7e43547b00b5175ee53c93..628ec6699d34c1877c02001de95096bc implementation("org.ow2.asm:asm:9.7.1") implementation("org.ow2.asm:asm-commons:9.7.1") -@@ -135,6 +136,13 @@ val generateApiVersioningFile by tasks.registering { +@@ -148,6 +149,13 @@ val generateApiVersioningFile by tasks.registering { } } @@ -50,7 +50,7 @@ index 254fd96d3950b4494c7e43547b00b5175ee53c93..628ec6699d34c1877c02001de95096bc tasks.jar { from(generateApiVersioningFile.map { it.outputs.files.singleFile }) { into("META-INF/maven/${project.group}/${project.name}") -@@ -147,6 +155,8 @@ tasks.jar { +@@ -160,6 +168,8 @@ tasks.jar { } tasks.withType { @@ -567,10 +567,10 @@ index 652ff54e7c50412503725d628bfe72ed03059790..7196594e07af19a14c320d77df893978 * Gets the {@code ServerBuildInfo}. * diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index e20e4239a5a1f952e1c70e899549989d5e42f73c..3a71f8fe73a2309f57cb06dedf204d3e37b46b03 100644 +index 391a1e3e07657a404520c1462507a2c731f32b27..8f5fde63b195d08029305ee0172687df88ad0496 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2921,4 +2921,127 @@ public final class Bukkit { +@@ -2945,4 +2945,127 @@ public final class Bukkit { public static Server.Spigot spigot() { return server.spigot(); } @@ -937,10 +937,10 @@ index a028f2fe541491729856051780b33dba07832fb6..fc64902368a068481f16d5db99c94386 + // Purpur end - OfflinePlayer API } diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 6246251caf2c6f025c824b8e7a944b8d48751fa1..eb29794f6ca2efc9cde4dd1685822f9a3a73f3b9 100644 +index 0b78564256ebc647ebac402e549d86ab6e307c8d..ddb1ff894910761a78b91a343f32e129f03a03c4 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2265,6 +2265,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2283,6 +2283,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi } // Paper end @@ -959,7 +959,7 @@ index 6246251caf2c6f025c824b8e7a944b8d48751fa1..eb29794f6ca2efc9cde4dd1685822f9a /** * Sends the component to the player * -@@ -2554,4 +2566,105 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2572,4 +2584,105 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi */ boolean isOwnedByCurrentRegion(@NotNull Entity entity); // Paper end - Folia region threading API @@ -2412,7 +2412,7 @@ index 3c1aa1e036bee08304c1cdca59f6a5bc0ba306c0..709fb2d1c7e3253034a651a9f68c0036 + // Purpur end } diff --git a/src/main/java/org/bukkit/map/MapPalette.java b/src/main/java/org/bukkit/map/MapPalette.java -index c80faa079eca1564847070f0338fc98024639829..e632d51d3487eb4807243b6705999ad124466bf5 100644 +index 55a46db9d73885ea967ac929013906b687e476bb..b99796629100c7d5fff1b7f84026001e0013b477 100644 --- a/src/main/java/org/bukkit/map/MapPalette.java +++ b/src/main/java/org/bukkit/map/MapPalette.java @@ -1,6 +1,7 @@ @@ -2423,7 +2423,7 @@ index c80faa079eca1564847070f0338fc98024639829..e632d51d3487eb4807243b6705999ad1 import java.awt.Color; import java.awt.Graphics2D; import java.awt.Image; -@@ -40,7 +41,7 @@ public final class MapPalette { +@@ -45,7 +46,7 @@ public final class MapPalette { } @NotNull @@ -2432,7 +2432,7 @@ index c80faa079eca1564847070f0338fc98024639829..e632d51d3487eb4807243b6705999ad1 c(0, 0, 0, 0), c(0, 0, 0, 0), c(0, 0, 0, 0), c(0, 0, 0, 0), c(89, 125, 39), c(109, 153, 48), c(127, 178, 56), c(67, 94, 29), c(174, 164, 115), c(213, 201, 140), c(247, 233, 163), c(130, 123, 86), -@@ -211,9 +212,15 @@ public final class MapPalette { +@@ -216,9 +217,15 @@ public final class MapPalette { temp.getRGB(0, 0, temp.getWidth(), temp.getHeight(), pixels, 0, temp.getWidth()); byte[] result = new byte[temp.getWidth() * temp.getHeight()]; diff --git a/patches/api/0002-Use-Gradle-Version-Catalogs.patch b/patches/api/0002-Use-Gradle-Version-Catalogs.patch index 9cc2472..e68e7c1 100644 --- a/patches/api/0002-Use-Gradle-Version-Catalogs.patch +++ b/patches/api/0002-Use-Gradle-Version-Catalogs.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Use Gradle Version Catalogs diff --git a/build.gradle.kts b/build.gradle.kts -index 628ec6699d34c1877c02001de95096bc7b44120e..782a4c89b2f861f4c96718713ed2e4cd443084af 100644 +index b0fd6c1804844f09428051952e3ac4e58f8c859c..51a3639e5d1c3fec24af53f1e829532adeb6a1fa 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -9,11 +9,13 @@ java { @@ -22,8 +22,8 @@ index 628ec6699d34c1877c02001de95096bc7b44120e..782a4c89b2f861f4c96718713ed2e4cd val apiAndDocs: Configuration by configurations.creating { attributes { attribute(Category.CATEGORY_ATTRIBUTE, objects.named(Category.DOCUMENTATION)) -@@ -27,57 +29,29 @@ configurations.api { - } +@@ -39,57 +41,29 @@ abstract class MockitoAgentProvider : CommandLineArgumentProvider { + // Paper end - configure mockito agent that is needed in newer java versions dependencies { - api("com.mojang:brigadier:1.2.9") // Paper - Brigadier command api @@ -100,10 +100,10 @@ index 628ec6699d34c1877c02001de95096bc7b44120e..782a4c89b2f861f4c96718713ed2e4cd + testCompileOnly(api.annotations) + testCompileOnly(api.checkerqual) + // Plazma end + mockitoAgent("org.mockito:mockito-core:5.14.1") { isTransitive = false } // Paper - configure mockito agent that is needed in newer java versions } - // Paper start -@@ -162,27 +136,24 @@ tasks.withType { +@@ -175,27 +149,24 @@ tasks.withType { options.use() options.isDocFilesSubDirs = true options.links( diff --git a/patches/api/0004-Plazma-Configurations.patch b/patches/api/0004-Plazma-Configurations.patch index 41105d1..0ac07f6 100644 --- a/patches/api/0004-Plazma-Configurations.patch +++ b/patches/api/0004-Plazma-Configurations.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Plazma Configurations diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index eb29794f6ca2efc9cde4dd1685822f9a3a73f3b9..d84c788fe1183833c86cde0ba8e174418cede950 100644 +index ddb1ff894910761a78b91a343f32e129f03a03c4..bebe4116e50f0b0f64f6bdbd3f05f0b998225435 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2277,6 +2277,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2295,6 +2295,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi } // Purpur end diff --git a/patches/generated-api/0001-Purpur-Generated-API-Changes.patch b/patches/generated-api/0001-Purpur-Generated-API-Changes.patch index 45a7200..027f28d 100644 --- a/patches/generated-api/0001-Purpur-Generated-API-Changes.patch +++ b/patches/generated-api/0001-Purpur-Generated-API-Changes.patch @@ -25,10 +25,10 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/com/destroystokyo/paper/entity/ai/VanillaGoal.java b/com/destroystokyo/paper/entity/ai/VanillaGoal.java -index e0aa5b925cbd6c2733ad70cb0722c7ab7c4d0419..51cea31c55c7e1a00cfb966349147fc874e1736b 100644 +index 35dfd25f21ca67b7f4d69326500980f4a021ef49..a9816fbfa466b3fe3f82c19aeeeb564c660e4b6a 100644 --- a/com/destroystokyo/paper/entity/ai/VanillaGoal.java +++ b/com/destroystokyo/paper/entity/ai/VanillaGoal.java -@@ -440,6 +440,18 @@ public interface VanillaGoal extends Goal { +@@ -441,6 +441,18 @@ public interface VanillaGoal extends Goal { GoalKey ZOMBIE_ATTACK_TURTLE_EGG = create("zombie_attack_turtle_egg", Zombie.class); @@ -44,6 +44,6 @@ index e0aa5b925cbd6c2733ad70cb0722c7ab7c4d0419..51cea31c55c7e1a00cfb966349147fc8 + GoalKey RECEIVE_FLOWER = GoalKey.of(IronGolem.class, NamespacedKey.minecraft("receive_flower")); + // Purpur end + - private static @NonNull GoalKey create(final @NonNull String key, - final @NonNull Class type) { + private static GoalKey create(final String key, final Class type) { return GoalKey.of(type, NamespacedKey.minecraft(key)); + } diff --git a/patches/server/0001-Purpur-Server-Changes.patch b/patches/server/0001-Purpur-Server-Changes.patch index da9af23..2c265e6 100644 --- a/patches/server/0001-Purpur-Server-Changes.patch +++ b/patches/server/0001-Purpur-Server-Changes.patch @@ -25,11 +25,11 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/build.gradle.kts b/build.gradle.kts -index 9b3a6b336cb1344d4e74e0e4f7c50ffd1e1b8955..ccb31eb5993db028d0cbf104261205c9462f8734 100644 +index c209eb393670fd8d6c97ca65a801c8032b582a35..b4579fb919d8cc981edc4863b82abca531349f1e 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -13,7 +13,7 @@ configurations.named(log4jPlugins.compileClasspathConfigurationName) { - val alsoShade: Configuration by configurations.creating +@@ -25,7 +25,7 @@ abstract class MockitoAgentProvider : CommandLineArgumentProvider { + // Paper end - configure mockito agent that is needed in newer java versions dependencies { - implementation(project(":paper-api")) @@ -37,7 +37,7 @@ index 9b3a6b336cb1344d4e74e0e4f7c50ffd1e1b8955..ccb31eb5993db028d0cbf104261205c9 // Paper start implementation("org.jline:jline-terminal-jansi:3.21.0") implementation("net.minecrell:terminalconsoleappender:1.3.0") -@@ -47,6 +47,10 @@ dependencies { +@@ -59,6 +59,10 @@ dependencies { runtimeOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.9.18") runtimeOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.9.18") @@ -48,7 +48,7 @@ index 9b3a6b336cb1344d4e74e0e4f7c50ffd1e1b8955..ccb31eb5993db028d0cbf104261205c9 testImplementation("io.github.classgraph:classgraph:4.8.47") // Paper - mob goal test testImplementation("org.junit.jupiter:junit-jupiter:5.10.2") testImplementation("org.junit.platform:junit-platform-suite-engine:1.10.0") -@@ -85,14 +89,14 @@ tasks.jar { +@@ -98,14 +102,14 @@ tasks.jar { val gitBranch = git("rev-parse", "--abbrev-ref", "HEAD").getText().trim() // Paper attributes( "Main-Class" to "org.bukkit.craftbukkit.Main", @@ -68,7 +68,7 @@ index 9b3a6b336cb1344d4e74e0e4f7c50ffd1e1b8955..ccb31eb5993db028d0cbf104261205c9 "Build-Number" to (build ?: ""), "Build-Time" to Instant.now().toString(), "Git-Branch" to gitBranch, // Paper -@@ -153,7 +157,7 @@ fun TaskContainer.registerRunTask( +@@ -171,7 +175,7 @@ fun TaskContainer.registerRunTask( name: String, block: JavaExec.() -> Unit ): TaskProvider = register(name) { @@ -1626,7 +1626,7 @@ index 17a158ff6ce6520b69a5a0032ba4c05449dd0cf8..e9ad8e2ac267c46df80e884308df8bb1 } } diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java -index 149a542c4afa09d491cb33ae33563ba15786758d..ee70e7a2f87ca31b1c2918148d585e90601d277b 100644 +index c3ec370b83b895be0f03662e3884fa4a2442a2a6..05e16103af3fd276f0196ddf1a2e5b729b025c34 100644 --- a/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java +++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java @@ -56,6 +56,7 @@ public class DedicatedServerProperties extends Settings chunks) { -@@ -550,7 +550,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon +@@ -547,7 +547,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon } private void tickChunks(ProfilerFiller profiler, long timeDelta, List chunks) { @@ -1927,7 +1927,7 @@ index 3c711e1df57ac5b0f8795ebb12299d275792b1d4..bb168636cbf23b5b0c7232529e390f43 int j = this.distanceManager.getNaturalSpawnChunkCount(); // Paper start - Optional per player mob spawns final int naturalSpawnChunkCount = j; -@@ -577,7 +577,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon +@@ -574,7 +574,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon // Paper end - Optional per player mob spawns this.lastSpawnState = spawnercreature_d; @@ -1936,7 +1936,7 @@ index 3c711e1df57ac5b0f8795ebb12299d275792b1d4..bb168636cbf23b5b0c7232529e390f43 boolean flag = this.level.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING) && !this.level.players().isEmpty(); // CraftBukkit int k = this.level.getGameRules().getInt(GameRules.RULE_RANDOMTICKING); List list1; -@@ -615,7 +615,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon +@@ -612,7 +612,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon } } @@ -1945,7 +1945,7 @@ index 3c711e1df57ac5b0f8795ebb12299d275792b1d4..bb168636cbf23b5b0c7232529e390f43 if (flag) { this.level.tickCustomSpawners(this.spawnEnemies, this.spawnFriendlies); } -@@ -813,7 +813,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon +@@ -810,7 +810,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon @Override protected void doRunTask(Runnable task) { @@ -1968,7 +1968,7 @@ index 90eb4927fa51ce3df86aa7b6c71f49150a03e337..d8717af85f539da807ddf866e17f1e64 public ServerEntity(ServerLevel worldserver, Entity entity, int i, boolean flag, Consumer> consumer, Set trackedPlayers) { this.trackedPlayers = trackedPlayers; diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 5964d601c05176f48167cc92057a59e52a4da92b..8dea24a5cef8f8d01285641bc73062c5078a061f 100644 +index 3b6b6483bf855493948417f44f06427b625bc910..10d00d1d63d078d9462eca209420995de5f80eb8 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -223,6 +223,8 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe @@ -3688,7 +3688,7 @@ index 303cefba51e19ac43b1f6188ad64ef480715ebaf..98ec88751b3e71c2e7aad633096b7f41 } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index a0876d3f88620bb24ef69101fc67b0dcd5dca0d2..d6d9dd17750d7028e13aad539e7b65a7561d9f4b 100644 +index 8be1b051543cda2b2e9e3d337834757e53f442de..9451ee87538d72ba760d1a27003781fe90c60f59 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -177,7 +177,7 @@ import org.bukkit.plugin.PluginManager; @@ -4026,7 +4026,7 @@ index a0876d3f88620bb24ef69101fc67b0dcd5dca0d2..d6d9dd17750d7028e13aad539e7b65a7 public void onExplosionHit(@Nullable Entity entity) {} @@ -5361,4 +5420,44 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess - return ((net.minecraft.server.level.ServerChunkCache) level.getChunkSource()).isPositionTicking(this); + return ((net.minecraft.server.level.ServerLevel) this.level).isPositionEntityTicking(this.blockPosition()); } // Paper end - Expose entity id counter + // Purpur start @@ -4210,7 +4210,7 @@ index b851c3ee1426bc0a259bf6c4a662af0c9883dd71..3283228d7ebf98ce98780725a0a412be protected ParticleOptions getInkParticle() { return ParticleTypes.GLOW_SQUID_INK; diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index e86314de8d908a0c3e9f17d3e163c11180cf3f59..d3d4e7e01afeb4ace5e487f9ef0926fd987c8ca4 100644 +index 6a3a8f0466998409a01223bc0c16d92b96e50118..57f6061475f58a54f068febeefba64a1b2ee0e85 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -248,9 +248,9 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -14959,7 +14959,7 @@ index 1fdbef16cd29c8fc74578ac3328f985eca61088d..56c265940208bc94f531a5af94f564b5 public static enum Status { diff --git a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java -index ce91809d66007def728a127a0a9d33f6235cc94d..bd4e4f03c4b70247c7fc887854e0aa01a8af81c6 100644 +index cdc8606ffe5c75ee19d92e9f86f26b2a502d765e..b0e13160b185151e08f2e5430aa7e96977965a04 100644 --- a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java +++ b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java @@ -92,6 +92,7 @@ public abstract class AbstractMinecart extends VehicleEntity { @@ -15149,7 +15149,7 @@ index 1240df9368855f836412b06cf564926a18bfe90d..e559eabed82d2f402908e5b80d150507 } else if (this.isFuel(itemstack1)) { if (!this.moveItemStackTo(itemstack1, 1, 2, false)) { diff --git a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java -index dc2bc53f6fa84fa09bd86450060ad9878307001c..f8476a8fb38897af0dd63bfb20276ac1c4bbd4f0 100644 +index 286ae002e1711ad9e800b7f2091988d66cd572a7..5959e1df9374bcb889be1726abb83b8c58962d05 100644 --- a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java +++ b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java @@ -25,6 +25,12 @@ import org.slf4j.Logger; @@ -15323,9 +15323,9 @@ index dc2bc53f6fa84fa09bd86450060ad9878307001c..f8476a8fb38897af0dd63bfb20276ac1 if (this.cost.get() >= this.maximumRepairCost && !this.player.getAbilities().instabuild) { // CraftBukkit itemstack1 = ItemStack.EMPTY; } -@@ -308,6 +392,13 @@ public class AnvilMenu extends ItemCombinerMenu { +@@ -307,6 +391,13 @@ public class AnvilMenu extends ItemCombinerMenu { + org.bukkit.craftbukkit.event.CraftEventFactory.callPrepareAnvilEvent(this.getBukkitView(), itemstack1); // CraftBukkit - this.sendAllDataToRemote(); // CraftBukkit - SPIGOT-6686: Always send completed inventory to stay in sync with client this.broadcastChanges(); + + // Purpur start - Anvil API @@ -19110,7 +19110,7 @@ index 94ca0407303c4493ab4928b12ec6ecc75aaca549..a138e1b6b66d99f2035de054137a607a + // Purpur end - OfflinePlayer API } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index e80439a0d17adaab7b782626fd2ee9ce1669058c..ed6f90e5deb40d48246965d36f064479a313e6f2 100644 +index dfddcfb1fe1679adaecf75375757dca720e76ce1..51770b116695c9d60d43785ae56e249672227025 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -414,6 +414,20 @@ public final class CraftServer implements Server { @@ -19217,7 +19217,7 @@ index e80439a0d17adaab7b782626fd2ee9ce1669058c..ed6f90e5deb40d48246965d36f064479 @Override public List getRecipesFor(ItemStack result) { Preconditions.checkArgument(result != null, "ItemStack cannot be null"); -@@ -3009,6 +3078,18 @@ public final class CraftServer implements Server { +@@ -3019,6 +3088,18 @@ public final class CraftServer implements Server { return CraftServer.this.console.paperConfigurations.createLegacyObject(CraftServer.this.console); } @@ -19236,7 +19236,7 @@ index e80439a0d17adaab7b782626fd2ee9ce1669058c..ed6f90e5deb40d48246965d36f064479 @Override public void restart() { org.spigotmc.RestartCommand.restart(); -@@ -3038,6 +3119,7 @@ public final class CraftServer implements Server { +@@ -3048,6 +3129,7 @@ public final class CraftServer implements Server { @Override public double[] getTPS() { return new double[] { @@ -19244,7 +19244,7 @@ index e80439a0d17adaab7b782626fd2ee9ce1669058c..ed6f90e5deb40d48246965d36f064479 net.minecraft.server.MinecraftServer.getServer().tps1.getAverage(), net.minecraft.server.MinecraftServer.getServer().tps5.getAverage(), net.minecraft.server.MinecraftServer.getServer().tps15.getAverage() -@@ -3236,4 +3318,16 @@ public final class CraftServer implements Server { +@@ -3246,4 +3328,16 @@ public final class CraftServer implements Server { return this.potionBrewer; } // Paper end @@ -19262,10 +19262,10 @@ index e80439a0d17adaab7b782626fd2ee9ce1669058c..ed6f90e5deb40d48246965d36f064479 + // Purpur end } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index d41c81158c00931e6b11093cce141f6a3085ba05..ea1b4f0073f775fdd18eb080886d60c71a08ab2c 100644 +index 3134fab97260897601d7c8e2810f11b8be86dbec..9a104c48bb1a92655b1feaab3e01a3be6ec7d942 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -2399,6 +2399,48 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -2391,6 +2391,48 @@ public class CraftWorld extends CraftRegionAccessor implements World { return (this.getHandle().getDragonFight() == null) ? null : new CraftDragonBattle(this.getHandle().getDragonFight()); } @@ -19487,7 +19487,7 @@ index d657fd2c507a5b215aeab0a5f3e9c2ee892a27c8..985e9ec21c60a1f47973bd5fc53b96a6 // Paper start @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 179886dcbda29c5cdb7dbd43e44951ae38d9df96..cc7d5aeb2044019aabad93dd79a16178c7483037 100644 +index ddabaed899c755925ad8618b78c33dacaf2126ac..51aee9a468f4ebfa9672fd9ce84883cf080859e3 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -87,6 +87,23 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { @@ -19522,7 +19522,7 @@ index 179886dcbda29c5cdb7dbd43e44951ae38d9df96..cc7d5aeb2044019aabad93dd79a16178 return false; } -@@ -1311,4 +1329,27 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1306,4 +1324,27 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { } } // Paper end - broadcast hurt animation @@ -19692,7 +19692,7 @@ index 351f42842b780d053cd2e5bad9ae299449141b10..4860574e7fad7a9527dda599703c573c + // Purpur end } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 2c7ec674f55b3178b9dcba7f2bc1ff5efccb50ea..48ad261eec1b74fad5a4fc1516b75fd2aaecd528 100644 +index d0010dfd22463986bf3be9b3ee015ce92735753e..3ffd75c2547e1c113f65cf258ae6a9ce8d353fef 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -583,10 +583,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -19712,7 +19712,7 @@ index 2c7ec674f55b3178b9dcba7f2bc1ff5efccb50ea..48ad261eec1b74fad5a4fc1516b75fd2 if (this.getHandle().connection == null) return; // Paper - Updates are possible before the player has fully joined for (ServerPlayer player : (List) this.server.getHandle().players) { if (player.getBukkitEntity().canSee(this)) { -@@ -1445,6 +1450,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1433,6 +1438,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // Paper start - Teleport passenger API // Don't allow teleporting between worlds while keeping passengers if (ignorePassengers && entity.isVehicle() && location.getWorld() != this.getWorld()) { @@ -19720,7 +19720,7 @@ index 2c7ec674f55b3178b9dcba7f2bc1ff5efccb50ea..48ad261eec1b74fad5a4fc1516b75fd2 return false; } -@@ -1466,6 +1472,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1454,6 +1460,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } if (entity.isVehicle() && !ignorePassengers) { // Paper - Teleport API @@ -19728,7 +19728,7 @@ index 2c7ec674f55b3178b9dcba7f2bc1ff5efccb50ea..48ad261eec1b74fad5a4fc1516b75fd2 return false; } -@@ -2779,6 +2786,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2767,6 +2774,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this.getHandle().getAbilities().walkingSpeed * 2f; } @@ -19757,7 +19757,7 @@ index 2c7ec674f55b3178b9dcba7f2bc1ff5efccb50ea..48ad261eec1b74fad5a4fc1516b75fd2 private void validateSpeed(float value) { Preconditions.checkArgument(value <= 1f && value >= -1f, "Speed value (%s) need to be between -1f and 1f", value); } -@@ -3590,4 +3619,70 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3578,4 +3607,70 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().connection.send(new net.minecraft.network.protocol.game.ClientboundEntityEventPacket(((CraftEntity) target).getHandle(), effect.getData())); } // Paper end - entity effect API @@ -20412,10 +20412,10 @@ index db8d8e2a07296d62c3097f02b03319e2e1ba9394..e5c30847297e056782084d81fb9300f9 + // Purpur end } diff --git a/src/main/java/org/bukkit/craftbukkit/map/CraftMapRenderer.java b/src/main/java/org/bukkit/craftbukkit/map/CraftMapRenderer.java -index 0cbbd915631904fe8c6effefb92895422b33eff6..aef19cfbecb4ddfc8dc71c4f3b2a011364c12dc2 100644 +index cf0920e5f84b35647882fb963e9972af4e8427e0..e30c851acf49a425cd4fd409a6d5bbb2ff836e0e 100644 --- a/src/main/java/org/bukkit/craftbukkit/map/CraftMapRenderer.java +++ b/src/main/java/org/bukkit/craftbukkit/map/CraftMapRenderer.java -@@ -47,4 +47,10 @@ public class CraftMapRenderer extends MapRenderer { +@@ -49,4 +49,10 @@ public class CraftMapRenderer extends MapRenderer { } } diff --git a/patches/server/0003-Build-System-Changes.patch b/patches/server/0003-Build-System-Changes.patch index b2f5e6d..3a88313 100644 --- a/patches/server/0003-Build-System-Changes.patch +++ b/patches/server/0003-Build-System-Changes.patch @@ -5,11 +5,11 @@ Subject: [PATCH] Build System Changes diff --git a/build.gradle.kts b/build.gradle.kts -index ccb31eb5993db028d0cbf104261205c9462f8734..44ebd149b18cf002cb9ffc9073c95ab1bd9bd356 100644 +index b4579fb919d8cc981edc4863b82abca531349f1e..6734821658e7679f328336038587390a262f2b64 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -13,63 +13,29 @@ configurations.named(log4jPlugins.compileClasspathConfigurationName) { - val alsoShade: Configuration by configurations.creating +@@ -25,64 +25,30 @@ abstract class MockitoAgentProvider : CommandLineArgumentProvider { + // Paper end - configure mockito agent that is needed in newer java versions dependencies { - implementation(project(":purpur-api")) // Pufferfish // Paper // Purpur @@ -55,20 +55,6 @@ index ccb31eb5993db028d0cbf104261205c9462f8734..44ebd149b18cf002cb9ffc9073c95ab1 - testImplementation("org.junit.platform:junit-platform-suite-engine:1.10.0") - testImplementation("org.hamcrest:hamcrest:2.2") - testImplementation("org.mockito:mockito-core:5.14.1") -- testImplementation("org.ow2.asm:asm-tree:9.7.1") -- testImplementation("org.junit-pioneer:junit-pioneer:2.2.0") // Paper - CartesianTest -- implementation("net.neoforged:srgutils:1.0.9") // Paper - mappings handling -- implementation("net.neoforged:AutoRenamingTool:2.0.3") // Paper - remap plugins -- // Paper start - Remap reflection -- val reflectionRewriterVersion = "0.0.3" -- implementation("io.papermc:reflection-rewriter:$reflectionRewriterVersion") -- implementation("io.papermc:reflection-rewriter-runtime:$reflectionRewriterVersion") -- implementation("io.papermc:reflection-rewriter-proxy-generator:$reflectionRewriterVersion") -- // Paper end - Remap reflection -- // Paper start - spark -- implementation("me.lucko:spark-api:0.1-20240720.200737-2") -- implementation("me.lucko:spark-paper:1.10.105-SNAPSHOT") -- // Paper end - spark + // Plazma start - Build System Changes + implementation(project(":${rootProject.providers.gradleProperty("brandName").get().lowercase()}-api")) + implementation(common.snakeyaml) @@ -92,10 +78,25 @@ index ccb31eb5993db028d0cbf104261205c9462f8734..44ebd149b18cf002cb9ffc9073c95ab1 + testImplementation(common.bundles.test) + testImplementation(server.bundles.test) + // Plazma end - Build System Changes + mockitoAgent("org.mockito:mockito-core:5.14.1") { isTransitive = false } // Paper - configure mockito agent that is needed in newer java versions +- testImplementation("org.ow2.asm:asm-tree:9.7.1") +- testImplementation("org.junit-pioneer:junit-pioneer:2.2.0") // Paper - CartesianTest +- implementation("net.neoforged:srgutils:1.0.9") // Paper - mappings handling +- implementation("net.neoforged:AutoRenamingTool:2.0.3") // Paper - remap plugins +- // Paper start - Remap reflection +- val reflectionRewriterVersion = "0.0.3" +- implementation("io.papermc:reflection-rewriter:$reflectionRewriterVersion") +- implementation("io.papermc:reflection-rewriter-runtime:$reflectionRewriterVersion") +- implementation("io.papermc:reflection-rewriter-proxy-generator:$reflectionRewriterVersion") +- // Paper end - Remap reflection +- // Paper start - spark +- implementation("me.lucko:spark-api:0.1-20240720.200737-2") +- implementation("me.lucko:spark-paper:1.10.105-SNAPSHOT") +- // Paper end - spark } paperweight { -@@ -89,14 +55,14 @@ tasks.jar { +@@ -102,14 +68,14 @@ tasks.jar { val gitBranch = git("rev-parse", "--abbrev-ref", "HEAD").getText().trim() // Paper attributes( "Main-Class" to "org.bukkit.craftbukkit.Main", diff --git a/patches/server/0006-Plazma-Configurations.patch b/patches/server/0006-Plazma-Configurations.patch index b7d221e..6913978 100644 --- a/patches/server/0006-Plazma-Configurations.patch +++ b/patches/server/0006-Plazma-Configurations.patch @@ -626,7 +626,7 @@ index 4aaeb0521a5e48a7d74a7968c952fcca7b6c0433..743ef664a84da93751feaa06e3522515 com.destroystokyo.paper.Metrics.PaperMetrics.startMetrics(); // Paper - start metrics com.destroystokyo.paper.VersionHistoryManager.INSTANCE.getClass(); // Paper - load version history now diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 8dea24a5cef8f8d01285641bc73062c5078a061f..e45b76862e38faf4ac8c203422151e06a3f598ad 100644 +index 10d00d1d63d078d9462eca209420995de5f80eb8..8bd80a4f2f0cb0c4f206bc7d3e70fbcfe56188ee 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -593,7 +593,24 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe @@ -708,7 +708,7 @@ index 7493262c2879af196e5585b15faad69ae42764e3..ad15fc9f329f5ea7fa0d0d88c937b2f3 this.playerBreedingCooldowns = this.getNewBreedingCooldownCache(); // Purpur this.generator = gen; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index eef85316dc310afef805f29c6665107a24a6a3d1..d76e487529dd5661753a91230c9ebab5814f79d1 100644 +index 51770b116695c9d60d43785ae56e249672227025..9f2fb39eb3bde43fe8de9f962a15bbd121625679 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1088,6 +1088,7 @@ public final class CraftServer implements Server { @@ -719,7 +719,7 @@ index eef85316dc310afef805f29c6665107a24a6a3d1..d76e487529dd5661753a91230c9ebab5 org.purpurmc.purpur.PurpurConfig.init((File) console.options.valueOf("purpur-settings")); // Purpur for (ServerLevel world : this.console.getAllLevels()) { // world.serverLevelData.setDifficulty(config.difficulty); // Paper - per level difficulty -@@ -3090,6 +3091,13 @@ public final class CraftServer implements Server { +@@ -3100,6 +3101,13 @@ public final class CraftServer implements Server { } // Purpur end diff --git a/patches/server/0009-Always-agree-EULA-on-development-mode.patch b/patches/server/0009-Always-agree-EULA-on-development-mode.patch index 6fc1e4e..846e189 100644 --- a/patches/server/0009-Always-agree-EULA-on-development-mode.patch +++ b/patches/server/0009-Always-agree-EULA-on-development-mode.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Always agree EULA on development mode diff --git a/build.gradle.kts b/build.gradle.kts -index 44ebd149b18cf002cb9ffc9073c95ab1bd9bd356..c45f40170cbdc03df31451d2c30a877f8d8f26af 100644 +index 6734821658e7679f328336038587390a262f2b64..787d3447f328c59deabb6b07b9f72f9fbce71cba 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -133,7 +133,7 @@ fun TaskContainer.registerRunTask( +@@ -151,7 +151,7 @@ fun TaskContainer.registerRunTask( languageVersion.set(JavaLanguageVersion.of(21)) vendor.set(JvmVendorSpec.JETBRAINS) }) diff --git a/patches/server/0027-Use-Akair-s-flag-when-running-the-test-server-with-g.patch b/patches/server/0027-Use-Akair-s-flag-when-running-the-test-server-with-g.patch index 4acb093..b1ebb0e 100644 --- a/patches/server/0027-Use-Akair-s-flag-when-running-the-test-server-with-g.patch +++ b/patches/server/0027-Use-Akair-s-flag-when-running-the-test-server-with-g.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Use Akair's flag when running the test server with gradle diff --git a/build.gradle.kts b/build.gradle.kts -index c45f40170cbdc03df31451d2c30a877f8d8f26af..c701448401cc12eeee3f097dc48d3ab1b36b2632 100644 +index 787d3447f328c59deabb6b07b9f72f9fbce71cba..487cf26f8cf38b3df58df5591c029b4a7d639c00 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -133,7 +133,7 @@ fun TaskContainer.registerRunTask( +@@ -151,7 +151,7 @@ fun TaskContainer.registerRunTask( languageVersion.set(JavaLanguageVersion.of(21)) vendor.set(JvmVendorSpec.JETBRAINS) }) diff --git a/patches/server/0035-Configurable-RandomSource-factory-provider.patch b/patches/server/0035-Configurable-RandomSource-factory-provider.patch index 1123119..400ee54 100644 --- a/patches/server/0035-Configurable-RandomSource-factory-provider.patch +++ b/patches/server/0035-Configurable-RandomSource-factory-provider.patch @@ -240,10 +240,10 @@ index f1e0d3d7b1f458fcce83cf67762a16309123cdcb..6a8d5948f127ea87a0b4554ece4ad2c4 public boolean isIgnoreEntities() { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index ea1b4f0073f775fdd18eb080886d60c71a08ab2c..20782c3be1f3f98f10c884fd8d937a626b3b1920 100644 +index 9a104c48bb1a92655b1feaab3e01a3be6ec7d942..06a5dcfd89d43d9b09ac5932a75a33fc5c0216e6 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -295,7 +295,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -287,7 +287,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { } // Paper end diff --git a/patches/server/0041-Completely-remove-Mojang-Profiler.patch b/patches/server/0041-Completely-remove-Mojang-Profiler.patch index 7790519..a300769 100644 --- a/patches/server/0041-Completely-remove-Mojang-Profiler.patch +++ b/patches/server/0041-Completely-remove-Mojang-Profiler.patch @@ -497,7 +497,7 @@ index e16f22dd82b4315da34af3c9a189d9d5fec0fd2f..bff50bec8433979d08d6b40c0c36fd38 import net.minecraft.util.thread.ConsecutiveExecutor; import net.minecraft.world.entity.Entity; diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -index bb168636cbf23b5b0c7232529e390f434546dc37..ffe43a82366355ac0a773ea90b4f2dab3858a8e0 100644 +index b61d94d84702bbc2b30b7fa7e2b536c0b83dd758..e720e0dbaa8f90dccd298a1211afb8fb7b82f0e9 100644 --- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java +++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java @@ -26,8 +26,8 @@ import net.minecraft.network.protocol.Packet; @@ -511,7 +511,7 @@ index bb168636cbf23b5b0c7232529e390f434546dc37..ffe43a82366355ac0a773ea90b4f2dab import net.minecraft.util.thread.BlockableEventLoop; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.ai.village.poi.PoiManager; -@@ -497,19 +497,19 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon +@@ -494,19 +494,19 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon this.shuffleRandom.setSeed(this.level.random.nextLong()); if (!this.level.paperConfig().entities.spawning.perPlayerMobSpawns) Util.shuffle(list, this.shuffleRandom); // Paper - Optional per player mob spawns; do not need this when per-player is enabled // Paper end - chunk tick iteration optimisation @@ -534,7 +534,7 @@ index bb168636cbf23b5b0c7232529e390f434546dc37..ffe43a82366355ac0a773ea90b4f2dab //profiler.push("broadcast"); // Purpur Iterator iterator = this.chunkHoldersToBroadcast.iterator(); -@@ -549,7 +549,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon +@@ -546,7 +546,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon // Paper end - chunk tick iteration optimisation } @@ -544,7 +544,7 @@ index bb168636cbf23b5b0c7232529e390f434546dc37..ffe43a82366355ac0a773ea90b4f2dab int j = this.distanceManager.getNaturalSpawnChunkCount(); // Paper start - Optional per player mob spawns diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index e45b76862e38faf4ac8c203422151e06a3f598ad..b7f3ba9fe334362227c1c1624ad7922d624993f3 100644 +index 8bd80a4f2f0cb0c4f206bc7d3e70fbcfe56188ee..4f692b4513cc837fa71bc713d03d70a6e6f01b9d 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -79,8 +79,8 @@ import net.minecraft.util.ProgressListener; @@ -807,7 +807,7 @@ index c67846e4d5583d79c6e9760c10d2581f0d54f45c..61f704fc25c45367185633708852ee4b @Override diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index ae264484f99227f5535c428ebda4860fc8abcc72..07b4f09fcc47bdb3fe96b759ff42d6179bf71060 100644 +index bc6ae8f1187e5ec896c4bc3ab98aef6a7ed9f98c..45b754bfbc5dc37a0c10dcb44125715d0d6606f8 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -84,8 +84,8 @@ import net.minecraft.tags.FluidTags; @@ -842,7 +842,7 @@ index ae264484f99227f5535c428ebda4860fc8abcc72..07b4f09fcc47bdb3fe96b759ff42d617 } diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index e1e4ebb3cf5903c59c82d9d270fe03c747c57e26..6ba2e04325b3da59801563f66a557ec217495a23 100644 +index b1661d7a595e4680ff3e84f2549be01286e4bf8a..ab9f9953733531fa59f8992071d62850ad8506f6 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -73,8 +73,8 @@ import net.minecraft.tags.FluidTags; @@ -1180,7 +1180,7 @@ index b4ffad429ace965f16ebf47119c880b709b27f2e..50bed3677f7e38d19ceda0dff0c49995 import net.minecraft.world.DifficultyInstance; import net.minecraft.world.InteractionHand; diff --git a/src/main/java/net/minecraft/world/item/crafting/RecipeManager.java b/src/main/java/net/minecraft/world/item/crafting/RecipeManager.java -index d376d89b479a4d5cc9ac568d23c7603a9355d580..b9ecf38cec076b8d41684919c06feea6f9a9950f 100644 +index f6dd363ececf967d282f5ba713013085da1ddf37..fe53785fe4f7a16b90a9d862aac588ca23b61ef0 100644 --- a/src/main/java/net/minecraft/world/item/crafting/RecipeManager.java +++ b/src/main/java/net/minecraft/world/item/crafting/RecipeManager.java @@ -41,7 +41,7 @@ import net.minecraft.server.level.ServerLevel; diff --git a/patches/server/0042-Remove-persist-isClientSide-flag.patch b/patches/server/0042-Remove-persist-isClientSide-flag.patch index f3186c1..b7bda64 100644 --- a/patches/server/0042-Remove-persist-isClientSide-flag.patch +++ b/patches/server/0042-Remove-persist-isClientSide-flag.patch @@ -527,7 +527,7 @@ index e6cbf4506c75046a89fad778e138b448fb4a29a9..a2dcbcc705d4219f9077e4011990e8a2 protected abstract void updateRenderSubState(boolean shouldLerp, float lerpProgress); diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 07b4f09fcc47bdb3fe96b759ff42d6179bf71060..ce047789ed21e50914a85c87ea3464ad6f5461b9 100644 +index 45b754bfbc5dc37a0c10dcb44125715d0d6606f8..50f3830209b3657bb340338387927a2ebb32e9a7 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -621,7 +621,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -579,18 +579,15 @@ index 07b4f09fcc47bdb3fe96b759ff42d6179bf71060..ce047789ed21e50914a85c87ea3464ad float f = this.getBlockSpeedFactor(); -@@ -1475,9 +1475,9 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1475,7 +1475,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } public void extinguishFire() { - if (!this.level().isClientSide && this.wasOnFire) { -+ //if (!this.level().isClientSide && this.wasOnFire) { // Plazma - Remove persist flag ++ if (/*!this.level().isClientSide &&*/ this.wasOnFire) { // Plazma - Remove persist flag this.playEntityOnFireExtinguishedSound(); -- } -+ //} // Plazma - Remove persist flag + } - this.clearFire(); - } @@ -3158,7 +3158,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess public InteractionResult interact(Player player, InteractionHand hand) { if (this.isAlive() && this instanceof Leashable leashable) { @@ -631,8 +628,8 @@ index 07b4f09fcc47bdb3fe96b759ff42d6179bf71060..ce047789ed21e50914a85c87ea3464ad return false; } else if (!entity.couldAcceptPassenger()) { return false; -- } else if (!this.level().isClientSide() && !entity.type.canSerialize()) { -+ } else if (/*!this.level().isClientSide() &&*/ !entity.type.canSerialize()) { // Plazma - Remove persist flag +- } else if (!force && !this.level().isClientSide() && !entity.type.canSerialize()) { // SPIGOT-7947: Allow force riding all entities ++ } else if (!force && /*!this.level().isClientSide() &&*/ !entity.type.canSerialize()) { // SPIGOT-7947: Allow force riding all entities // Plazma - Remove persist flag return false; } else { for (Entity entity1 = entity; entity1.vehicle != null; entity1 = entity1.vehicle) { @@ -761,7 +758,7 @@ index 12127b14babf646711d3a118416453c4f1ac1460..49f1d70616ab757580dd99b76a68c2d2 --this.life; diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 6ba2e04325b3da59801563f66a557ec217495a23..fecf2cdd3736b9c59ee3d4af5ac19d3de6e5cfc8 100644 +index ab9f9953733531fa59f8992071d62850ad8506f6..11a04ffe9bf0b82d4ecee64c885e4166f6e51313 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -460,7 +460,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -3839,7 +3836,7 @@ index f888f1dd2e3c228b0a370fe920b63d547bbba571..fa97779d631caaabd7ba7b74f9b620e7 } diff --git a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java -index bd4e4f03c4b70247c7fc887854e0aa01a8af81c6..4485a46d2344969e99287a34b73ce361dd9ec7e8 100644 +index b0e13160b185151e08f2e5430aa7e96977965a04..34ab7b50c0510268aee5e24599ebb04a8d958b33 100644 --- a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java +++ b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java @@ -639,7 +639,7 @@ public abstract class AbstractMinecart extends VehicleEntity { @@ -6137,19 +6134,19 @@ index e9c7f5d2c7072568e0d451f43125816e27138872..2fc7bdc0362f2f5a21e3459375d8d06b return (InteractionResult) (stack.getItem() instanceof BlockItem && (new BlockPlaceContext(player, hand, stack, hit)).canPlace() ? InteractionResult.PASS : InteractionResult.SUCCESS); } diff --git a/src/main/java/net/minecraft/world/level/block/RedStoneWireBlock.java b/src/main/java/net/minecraft/world/level/block/RedStoneWireBlock.java -index 6561e24087dc2b9975f2ee7a3737d453354e4fcc..fd6002c0cb2f243a5d66c89dd2e731f896f55faf 100644 +index 09b8f5335cb7651d90f4d1ca61b2ec5aa324e443..c8994f476b06e52e56f668d1af77b28d9275233d 100644 --- a/src/main/java/net/minecraft/world/level/block/RedStoneWireBlock.java +++ b/src/main/java/net/minecraft/world/level/block/RedStoneWireBlock.java -@@ -317,7 +317,7 @@ public class RedStoneWireBlock extends Block { +@@ -371,7 +371,7 @@ public class RedStoneWireBlock extends Block { @Override protected void onPlace(BlockState state, Level world, BlockPos pos, BlockState oldState, boolean notify) { - if (!oldState.is(state.getBlock()) && !world.isClientSide) { + if (!oldState.is(state.getBlock()) /*&& !world.isClientSide*/) { // Plazma - Remove persist 'isClientSide' flag - this.updatePowerStrength(world, pos, state, null, true); + this.updateSurroundingRedstone(world, pos, state, null, true); // Paper - Optimize redstone for (Direction direction : Direction.Plane.VERTICAL) { -@@ -332,14 +332,14 @@ public class RedStoneWireBlock extends Block { +@@ -386,14 +386,14 @@ public class RedStoneWireBlock extends Block { protected void onRemove(BlockState state, Level world, BlockPos pos, BlockState newState, boolean moved) { if (!moved && !state.is(newState.getBlock())) { super.onRemove(state, world, pos, newState, moved); @@ -6159,14 +6156,14 @@ index 6561e24087dc2b9975f2ee7a3737d453354e4fcc..fd6002c0cb2f243a5d66c89dd2e731f8 world.updateNeighborsAt(pos.relative(direction), this); } - this.updatePowerStrength(world, pos, state, null, false); + this.updateSurroundingRedstone(world, pos, state, null, false); // Paper - Optimize redstone this.updateNeighborsOfNeighboringWires(world, pos); - } + //} // Plazma - Remove persist 'isClientSide' flag } } -@@ -360,7 +360,7 @@ public class RedStoneWireBlock extends Block { +@@ -414,7 +414,7 @@ public class RedStoneWireBlock extends Block { @Override protected void neighborChanged(BlockState state, Level world, BlockPos pos, Block sourceBlock, @Nullable Orientation wireOrientation, boolean notify) { @@ -6174,8 +6171,8 @@ index 6561e24087dc2b9975f2ee7a3737d453354e4fcc..fd6002c0cb2f243a5d66c89dd2e731f8 + //if (!world.isClientSide) { // Plazma - Remove persist 'isClientSide' flag if (sourceBlock != this || !useExperimentalEvaluator(world)) { if (state.canSurvive(world, pos)) { - this.updatePowerStrength(world, pos, state, wireOrientation, false); -@@ -369,7 +369,7 @@ public class RedStoneWireBlock extends Block { + this.updateSurroundingRedstone(world, pos, state, wireOrientation, false); // Paper - Optimize redstone +@@ -423,7 +423,7 @@ public class RedStoneWireBlock extends Block { world.removeBlock(pos, false); } }