diff --git a/patches/api/0483-Deprecate-for-removal-all-OldEnum-related-methods.patch b/patches/api/0483-Deprecate-for-removal-all-OldEnum-related-methods.patch index 70a87660d6..9f74aeceee 100644 --- a/patches/api/0483-Deprecate-for-removal-all-OldEnum-related-methods.patch +++ b/patches/api/0483-Deprecate-for-removal-all-OldEnum-related-methods.patch @@ -71,7 +71,7 @@ index 21f9998b472dc18eb308554f5cdf467f6675f2f0..521f035409ee61a9ad73d39bec938f29 return Lists.newArrayList(Registry.ATTRIBUTE).toArray(new Attribute[0]); } diff --git a/src/main/java/org/bukkit/block/Biome.java b/src/main/java/org/bukkit/block/Biome.java -index 739fef949defca7b6bf4e6b3e079446c24d9b34c..1b9f7a7759e59e0294f379dc6388f400010faa2f 100644 +index 739fef949defca7b6bf4e6b3e079446c24d9b34c..20fc2b30fdcdedb012dfe129e746d0b9e162fc36 100644 --- a/src/main/java/org/bukkit/block/Biome.java +++ b/src/main/java/org/bukkit/block/Biome.java @@ -93,7 +93,7 @@ public interface Biome extends OldEnum, Keyed, net.kyori.adventure.transl @@ -79,7 +79,7 @@ index 739fef949defca7b6bf4e6b3e079446c24d9b34c..1b9f7a7759e59e0294f379dc6388f400 * @deprecated Biome is no longer an enum, custom biomes will have their own biome instance. */ - @Deprecated(since = "1.21.3") -+ @Deprecated(since = "1.21.3", forRemoval = true) @ApiStatus.ScheduledForRemoval(inVersion = "1.22") // Paper - will be removed via asm-utils ++ @Deprecated(since = "1.21.3", forRemoval = true) @org.jetbrains.annotations.ApiStatus.ScheduledForRemoval(inVersion = "1.22") // Paper - will be removed via asm-utils Biome CUSTOM = Bukkit.getUnsafe().getCustomBiome(); @NotNull @@ -88,7 +88,7 @@ index 739fef949defca7b6bf4e6b3e079446c24d9b34c..1b9f7a7759e59e0294f379dc6388f400 */ @NotNull - @Deprecated(since = "1.21.3") -+ @Deprecated(since = "1.21.3", forRemoval = true) @ApiStatus.ScheduledForRemoval(inVersion = "1.22") // Paper - will be removed via asm-utils ++ @Deprecated(since = "1.21.3", forRemoval = true) @org.jetbrains.annotations.ApiStatus.ScheduledForRemoval(inVersion = "1.22") // Paper - will be removed via asm-utils static Biome valueOf(@NotNull String name) { if ("CUSTOM".equals(name)) { return Biome.CUSTOM; diff --git a/patches/api/0489-Improve-entity-effect-API.patch b/patches/api/0489-Improve-entity-effect-API.patch index 95d238f818..2f11287f3e 100644 --- a/patches/api/0489-Improve-entity-effect-API.patch +++ b/patches/api/0489-Improve-entity-effect-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Improve entity effect API diff --git a/src/main/java/org/bukkit/EntityEffect.java b/src/main/java/org/bukkit/EntityEffect.java -index d7ccccdf3f5e2c572efd528a92e240ec6ea60028..51d51638b7220f886c8415581869df8708e72fef 100644 +index d7ccccdf3f5e2c572efd528a92e240ec6ea60028..37c321067ee25f8a38130eb65ed06e1c986c65b6 100644 --- a/src/main/java/org/bukkit/EntityEffect.java +++ b/src/main/java/org/bukkit/EntityEffect.java @@ -112,11 +112,25 @@ public enum EntityEffect { @@ -76,7 +76,7 @@ index d7ccccdf3f5e2c572efd528a92e240ec6ea60028..51d51638b7220f886c8415581869df87 HURT_BERRY_BUSH(44, LivingEntity.class), /** * Fox chews the food in its mouth -@@ -331,7 +355,25 @@ public enum EntityEffect { +@@ -331,7 +355,23 @@ public enum EntityEffect { * Sniffer must have a target and be in {@link Sniffer.State#SEARCHING} or * {@link Sniffer.State#DIGGING} */ @@ -96,9 +96,7 @@ index d7ccccdf3f5e2c572efd528a92e240ec6ea60028..51d51638b7220f886c8415581869df87 + * Does not apply to plain creaking entities as they are not invulnerable like the transient ones spawned by the + * creaking heart. + */ -+ @MinecraftExperimental(MinecraftExperimental.Requires.WINTER_DROP) -+ @org.jetbrains.annotations.ApiStatus.Experimental -+ SHAKE(66, org.bukkit.entity.CreakingTransient.class); ++ SHAKE(66, org.bukkit.entity.Creaking.class); + // Paper end - add missing EntityEffect private final byte data; diff --git a/patches/unapplied/server/1038-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch b/patches/server/1036-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch similarity index 100% rename from patches/unapplied/server/1038-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch rename to patches/server/1036-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch diff --git a/patches/unapplied/server/1039-API-for-checking-sent-chunks.patch b/patches/server/1037-API-for-checking-sent-chunks.patch similarity index 92% rename from patches/unapplied/server/1039-API-for-checking-sent-chunks.patch rename to patches/server/1037-API-for-checking-sent-chunks.patch index fc8b212100..67f4f99ba6 100644 --- a/patches/unapplied/server/1039-API-for-checking-sent-chunks.patch +++ b/patches/server/1037-API-for-checking-sent-chunks.patch @@ -5,10 +5,10 @@ Subject: [PATCH] API for checking sent chunks diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 71ed0230baf3115a53a8ce8f0a5c72f01954fffc..d4e497961578bb693275cdf95915b60b2cc76eb7 100644 +index 79d72a2f6cd85f18c644bd48801fdda86f9d235a..84c494ca81b8f58604b372ac7236147776817a4f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3500,6 +3500,35 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3485,6 +3485,35 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } // Paper end diff --git a/patches/unapplied/server/1040-Fix-CraftWorld-isChunkGenerated.patch b/patches/server/1038-Fix-CraftWorld-isChunkGenerated.patch similarity index 95% rename from patches/unapplied/server/1040-Fix-CraftWorld-isChunkGenerated.patch rename to patches/server/1038-Fix-CraftWorld-isChunkGenerated.patch index ab99075727..1f7efead99 100644 --- a/patches/unapplied/server/1040-Fix-CraftWorld-isChunkGenerated.patch +++ b/patches/server/1038-Fix-CraftWorld-isChunkGenerated.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Fix CraftWorld#isChunkGenerated The upstream implementation is returning true for non-full chunks. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index ddf6403682025e544ab4060c32ff089ed11ffe0a..57da11c0da7322e74810e7108e9c8000b0c36520 100644 +index 7c936f59ad8fc1fa244adcc19c413d6e0e4f7323..a9f7ac8d1f5e184687d53ab3e8b348bb7f4f2ba0 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -398,11 +398,28 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/unapplied/server/1041-Add-startup-flag-to-disable-gamerule-limits.patch b/patches/server/1039-Add-startup-flag-to-disable-gamerule-limits.patch similarity index 96% rename from patches/unapplied/server/1041-Add-startup-flag-to-disable-gamerule-limits.patch rename to patches/server/1039-Add-startup-flag-to-disable-gamerule-limits.patch index 83ad17bfc0..9ad4196621 100644 --- a/patches/unapplied/server/1041-Add-startup-flag-to-disable-gamerule-limits.patch +++ b/patches/server/1039-Add-startup-flag-to-disable-gamerule-limits.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add startup flag to disable gamerule limits -DPaper.DisableGameRuleLimits=true will disable gamerule limits diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 9928e14a5a42a2f0deba86e9dcb1f6f9f59412ef..c5eed86a8982466fd8302c678f0f041db1b24029 100644 +index 5889a47a25abf3494fba74ebb3c5e07a2408f161..e4a50b2f6cdc9daf6a018aaf44bb029c5003fa65 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -2071,13 +2071,21 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -2077,13 +2077,21 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe } if (this.lastSpawnChunkRadius > 1) { diff --git a/patches/unapplied/server/1042-Improved-Watchdog-Support.patch b/patches/server/1040-Improved-Watchdog-Support.patch similarity index 97% rename from patches/unapplied/server/1042-Improved-Watchdog-Support.patch rename to patches/server/1040-Improved-Watchdog-Support.patch index 7e6f9c63e0..56fc63ce68 100644 --- a/patches/unapplied/server/1042-Improved-Watchdog-Support.patch +++ b/patches/server/1040-Improved-Watchdog-Support.patch @@ -105,11 +105,11 @@ index 589a8bf75be6ccc59f1e5dd5d8d9afed41c4772d..b24265573fdef5d9a964bcd76146f345 cause = cause.getCause(); } diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java -index e114e687f2f4503546687fd6792226a643af8793..90ca25c4aaf92a5639839a7cdaee2ffcdb75efa7 100644 +index 42d46c7a7437bea5335a23cbee5708ac57131474..300a044bb0f0e377133f24469cea1a9669de6e58 100644 --- a/src/main/java/net/minecraft/server/Main.java +++ b/src/main/java/net/minecraft/server/Main.java -@@ -77,6 +77,7 @@ public class Main { - +@@ -79,6 +79,7 @@ public class Main { + @SuppressForbidden(reason = "System.out needed before bootstrap") // CraftBukkit - decompile error @DontObfuscate public static void main(final OptionSet optionset) { // CraftBukkit - replaces main(String[] astring) + io.papermc.paper.util.LogManagerShutdownThread.hook(); // Paper @@ -117,7 +117,7 @@ index e114e687f2f4503546687fd6792226a643af8793..90ca25c4aaf92a5639839a7cdaee2ffc /* CraftBukkit start - Replace everything OptionParser optionparser = new OptionParser(); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 9cb435573d0b1bdf5488bd5b9cef5d2aba6a1c2d..4ac8bc8dc326ef12c4ffdfdf8325f3111ca5b665 100644 +index 6de6f76e8385c50bd18ef9caaca68a79e1e797ca..8549292b4e96c7b09e2a9707f2d8a75b870ee35b 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -317,7 +317,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop> { @@ -78,10 +78,10 @@ index f7197f1347251a37dd0f6d9ffa2f09bc3a4e1233..1f7f68aad97ee73763c042837f239bdc }); throw RunningOnDifferentThreadException.RUNNING_ON_DIFFERENT_THREAD; diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index c5eed86a8982466fd8302c678f0f041db1b24029..2e0dcac7642d899efd60cf70fb0ad0336e1923da 100644 +index e4a50b2f6cdc9daf6a018aaf44bb029c5003fa65..abed6e7b92d1472bbbc5bfd60abf4f9052c749c5 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -1253,7 +1253,26 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -1254,7 +1254,26 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe } @@ -108,7 +108,7 @@ index c5eed86a8982466fd8302c678f0f041db1b24029..2e0dcac7642d899efd60cf70fb0ad033 // Spigot start /*if (!org.spigotmc.ActivationRange.checkIfActive(entity)) { // Paper - comment out EAR 2 entity.tickCount++; -@@ -1283,6 +1302,13 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -1284,6 +1303,13 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe this.tickPassenger(entity, entity1, isActive); // Paper - EAR 2 } @@ -123,10 +123,10 @@ index c5eed86a8982466fd8302c678f0f041db1b24029..2e0dcac7642d899efd60cf70fb0ad033 private void tickPassenger(Entity vehicle, Entity passenger, boolean isActive) { // Paper - EAR 2 diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index b810f887e536af938f978ca2af068e6ae89b5e60..8c62d1aa5c8a062685474dca7e91bf9f8b004ca5 100644 +index 717500b8b88f123d6b2d3545d33d5c78a1ef7cc1..d7f2950223533c3cc2d182612d4c485edf3fba2b 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -1128,8 +1128,43 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1136,8 +1136,43 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess return this.onGround; } @@ -170,7 +170,7 @@ index b810f887e536af938f978ca2af068e6ae89b5e60..8c62d1aa5c8a062685474dca7e91bf9f if (this.noPhysics) { this.setPos(this.getX() + movement.x, this.getY() + movement.y, this.getZ() + movement.z); } else { -@@ -1250,6 +1285,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1261,6 +1296,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess gameprofilerfiller.pop(); } } @@ -184,7 +184,7 @@ index b810f887e536af938f978ca2af068e6ae89b5e60..8c62d1aa5c8a062685474dca7e91bf9f } private void applyMovementEmissionAndPlaySound(Entity.MovementEmission moveEffect, Vec3 movement, BlockPos landingPos, BlockState landingState) { -@@ -4872,7 +4914,9 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -4902,7 +4944,9 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } public void setDeltaMovement(Vec3 velocity) { @@ -194,7 +194,7 @@ index b810f887e536af938f978ca2af068e6ae89b5e60..8c62d1aa5c8a062685474dca7e91bf9f } public void addDeltaMovement(Vec3 velocity) { -@@ -4978,7 +5022,9 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -5008,7 +5052,9 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } // Paper end - Fix MC-4 if (this.position.x != x || this.position.y != y || this.position.z != z) { diff --git a/patches/unapplied/server/1044-Entity-load-save-limit-per-chunk.patch b/patches/server/1042-Entity-load-save-limit-per-chunk.patch similarity index 95% rename from patches/unapplied/server/1044-Entity-load-save-limit-per-chunk.patch rename to patches/server/1042-Entity-load-save-limit-per-chunk.patch index 7a75cf646d..e69171236b 100644 --- a/patches/unapplied/server/1044-Entity-load-save-limit-per-chunk.patch +++ b/patches/server/1042-Entity-load-save-limit-per-chunk.patch @@ -9,7 +9,7 @@ defaults are only included for certain entites, this allows setting limits for any entity type. diff --git a/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/level/entity/ChunkEntitySlices.java b/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/level/entity/ChunkEntitySlices.java -index 5ed6599d1f9a2edf8c904f3602b06d26d857600c..b3c993a790fc3fab6a408c731deb297f74c959ce 100644 +index 7aea4e343581b977d11af90f9f65eac3532eade1..d21ce54ebb5724c04eadf56a2cde701d5eeb5db2 100644 --- a/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/level/entity/ChunkEntitySlices.java +++ b/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/level/entity/ChunkEntitySlices.java @@ -104,7 +104,18 @@ public final class ChunkEntitySlices { @@ -32,10 +32,10 @@ index 5ed6599d1f9a2edf8c904f3602b06d26d857600c..b3c993a790fc3fab6a408c731deb297f if (entity.save(compoundTag)) { entitiesTag.add(compoundTag); diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java -index 629c1316920ad4c111fff489f8c3ea0ed39d0099..c8c2394558952d7ca57d29874485251b8f2b3400 100644 +index 0ec3e1837e36d17e9ff33e7d50c66353aa7539db..d23914a3ab3723d532ae867db6b954c843030f75 100644 --- a/src/main/java/net/minecraft/world/entity/EntityType.java +++ b/src/main/java/net/minecraft/world/entity/EntityType.java -@@ -706,9 +706,20 @@ public class EntityType implements FeatureElement, EntityTypeT +@@ -716,9 +716,20 @@ public class EntityType implements FeatureElement, EntityTypeT final Spliterator spliterator = entityNbtList.spliterator(); return StreamSupport.stream(new Spliterator() { diff --git a/patches/unapplied/server/1045-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch b/patches/server/1043-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch similarity index 100% rename from patches/unapplied/server/1045-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch rename to patches/server/1043-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch diff --git a/patches/unapplied/server/1046-Bundle-spark.patch b/patches/server/1044-Bundle-spark.patch similarity index 99% rename from patches/unapplied/server/1046-Bundle-spark.patch rename to patches/server/1044-Bundle-spark.patch index 84624b4705..a2da3d9ff8 100644 --- a/patches/unapplied/server/1046-Bundle-spark.patch +++ b/patches/server/1044-Bundle-spark.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Bundle spark diff --git a/build.gradle.kts b/build.gradle.kts -index 9e6c2a4630ce75e4115f76b5e7a1e0b50e8b3197..faf3e3fd72e8c915e7a4803dacbe1bb576c6663e 100644 +index 2ceee9c2f7a237dac1c2e5c3fcc50a869d93d1ac..092a9ee1e862bde04c2025de6f7e25b6ec13760a 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -76,6 +76,10 @@ dependencies { @@ -279,7 +279,7 @@ index 6b8ed8a0baaf4a57d20e57cec3400af5561ddd79..48604e7f96adc9e226e034054c5e2bad } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 4ac8bc8dc326ef12c4ffdfdf8325f3111ca5b665..ca70815b73199835b88c9d68c8a01699536d320f 100644 +index 8549292b4e96c7b09e2a9707f2d8a75b870ee35b..aa0a693af442a791ad8e5ec5a9e11594e6b42419 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -764,6 +764,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop worldPosBiPredicate.test(world, (BlockPos)pairx.getSecond())) - .collect(Collectors.toSet()); + // Paper start - optimise POI access -+ java.util.List, BlockPos>> poiposes = new java.util.ArrayList<>(); ++ final java.util.List, BlockPos>> poiposes = new java.util.ArrayList<>(); + io.papermc.paper.util.PoiAccess.findNearestPoiPositions(poiManager, poiPredicate, predicate2, entity.blockPosition(), 48, 48*48, PoiManager.Occupancy.HAS_SPACE, false, 5, poiposes); -+ Set, BlockPos>> set = new java.util.HashSet<>(poiposes); ++ final Set, BlockPos>> set = new java.util.HashSet<>(poiposes.size()); ++ for (final Pair, BlockPos> poiPose : poiposes) { ++ if (worldPosBiPredicate.test(world, poiPose.getSecond())) { ++ set.add(poiPose); ++ } ++ } + // Paper end - optimise POI access Path path = findPathToPois(entity, set); if (path != null && path.canReach()) { diff --git a/patches/unapplied/server/1050-Fix-entity-tracker-desync-when-new-players-are-added.patch b/patches/server/1048-Fix-entity-tracker-desync-when-new-players-are-added.patch similarity index 98% rename from patches/unapplied/server/1050-Fix-entity-tracker-desync-when-new-players-are-added.patch rename to patches/server/1048-Fix-entity-tracker-desync-when-new-players-are-added.patch index 0b5b0d3c49..5fb7dcd463 100644 --- a/patches/unapplied/server/1050-Fix-entity-tracker-desync-when-new-players-are-added.patch +++ b/patches/server/1048-Fix-entity-tracker-desync-when-new-players-are-added.patch @@ -62,7 +62,7 @@ index 67cfc3236a39008cfcf3acffefafda1a604b8573..7833c53b4eff67f2ff37c091b5926cb0 } else if (this.seenBy.remove(player.connection)) { this.serverEntity.removePairing(player); diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java -index 5bbc7ceaafc163f12344e5d5d355ad2ff30ddca2..90eb4927fa51ce3df86aa7b6c71f49150a03e337 100644 +index 301e8d6599d200cb0f1328f0e386af2f9a619939..103e2c414780be66324bcb9cd4ea539bbdfe12ad 100644 --- a/src/main/java/net/minecraft/server/level/ServerEntity.java +++ b/src/main/java/net/minecraft/server/level/ServerEntity.java @@ -100,6 +100,13 @@ public class ServerEntity { diff --git a/patches/unapplied/server/1051-Lag-compensation-ticks.patch b/patches/server/1049-Lag-compensation-ticks.patch similarity index 91% rename from patches/unapplied/server/1051-Lag-compensation-ticks.patch rename to patches/server/1049-Lag-compensation-ticks.patch index 373bf30ab1..917ace263a 100644 --- a/patches/unapplied/server/1051-Lag-compensation-ticks.patch +++ b/patches/server/1049-Lag-compensation-ticks.patch @@ -10,7 +10,7 @@ Areas affected by lag comepnsation: Feature patch diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index be6e64d5c858961b19eb7b1b028530c1eb4c68d7..11a0bf52d891d79e3520de91d270b876871510f7 100644 +index 0af2e1f951683023124f1733a6079e4eaa5deb48..b5c5e9d9279e61e2476319e9ce8a829743d56267 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -331,6 +331,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { String s = String.valueOf(worldserver); diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index b5f0ce0869c0ea6ad478bddddfc463ec42a5bef7..06ae6347d2c9666cb64aea2bea9ff946324015d9 100644 +index 03ff07e4047fcf5e2cad7be998b76b4fcef6b49a..020ef251fd3d03c9e8fb9fc859d4ef9fc04cd3ba 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -582,6 +582,17 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -583,6 +583,17 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe ); } // Paper end - chunk tick iteration @@ -65,10 +65,10 @@ index 504c996220b278c194c93e001a3b326d549868ec..a96f859a5d0c6ec692d4627a69f3c9ee if (this.hasDelayedDestroy) { diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 59c992173fda6153c58722caae061b0e6bee86a1..6a3a8f0466998409a01223bc0c16d92b96e50118 100644 +index 02b412dcad5c8df6e14e92166b3bea629d640680..91735414a81c40861315ea2d4ca6fdce64b2c228 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -4051,6 +4051,10 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -4058,6 +4058,10 @@ public abstract class LivingEntity extends Entity implements Attackable { this.resendPossiblyDesyncedDataValues(java.util.List.of(DATA_LIVING_ENTITY_FLAGS), serverPlayer); } // Paper end - Properly cancel usable items @@ -79,7 +79,7 @@ index 59c992173fda6153c58722caae061b0e6bee86a1..6a3a8f0466998409a01223bc0c16d92b private void updatingUsingItem() { if (this.isUsingItem()) { if (ItemStack.isSameItem(this.getItemInHand(this.getUsedItemHand()), this.useItem)) { -@@ -4065,7 +4069,12 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -4072,7 +4076,12 @@ public abstract class LivingEntity extends Entity implements Attackable { protected void updateUsingItem(ItemStack stack) { stack.onUseTick(this.level(), this, this.getUseItemRemainingTicks()); @@ -93,7 +93,7 @@ index 59c992173fda6153c58722caae061b0e6bee86a1..6a3a8f0466998409a01223bc0c16d92b this.completeUsingItem(); } -@@ -4103,7 +4112,10 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -4110,7 +4119,10 @@ public abstract class LivingEntity extends Entity implements Attackable { if (!itemstack.isEmpty() && !this.isUsingItem() || forceUpdate) { // Paper - Prevent consuming the wrong itemstack this.useItem = itemstack; @@ -105,7 +105,7 @@ index 59c992173fda6153c58722caae061b0e6bee86a1..6a3a8f0466998409a01223bc0c16d92b if (!this.level().isClientSide) { this.setLivingEntityFlag(1, true); this.setLivingEntityFlag(2, hand == InteractionHand.OFF_HAND); -@@ -4128,7 +4140,10 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -4135,7 +4147,10 @@ public abstract class LivingEntity extends Entity implements Attackable { } } else if (!this.isUsingItem() && !this.useItem.isEmpty()) { this.useItem = ItemStack.EMPTY; @@ -117,7 +117,7 @@ index 59c992173fda6153c58722caae061b0e6bee86a1..6a3a8f0466998409a01223bc0c16d92b } } -@@ -4259,7 +4274,10 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -4266,7 +4281,10 @@ public abstract class LivingEntity extends Entity implements Attackable { } this.useItem = ItemStack.EMPTY; diff --git a/patches/unapplied/server/1052-Optimise-collision-checking-in-player-move-packet-ha.patch b/patches/server/1050-Optimise-collision-checking-in-player-move-packet-ha.patch similarity index 92% rename from patches/unapplied/server/1052-Optimise-collision-checking-in-player-move-packet-ha.patch rename to patches/server/1050-Optimise-collision-checking-in-player-move-packet-ha.patch index 82b8f60c95..dcc4506fa6 100644 --- a/patches/unapplied/server/1052-Optimise-collision-checking-in-player-move-packet-ha.patch +++ b/patches/server/1050-Optimise-collision-checking-in-player-move-packet-ha.patch @@ -8,10 +8,10 @@ Move collision logic to just the hasNewCollision call instead of getCubes + hasN Feature patch diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index e3458038d56b7133f991a5198db26398a299bf30..d7ac001d53a083e9881f2320eb7fd5dcbd20416e 100644 +index f0200e2e68e3ec88b82d337a76e22a6e80419b6f..a3d8d5d735272ae2a67536e4d5bbcdb5d2e4bf8b 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -577,7 +577,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -579,7 +579,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl return; } @@ -19,8 +19,8 @@ index e3458038d56b7133f991a5198db26398a299bf30..d7ac001d53a083e9881f2320eb7fd5dc + AABB oldBox = entity.getBoundingBox(); // Paper - copy from player movement packet d6 = d3 - this.vehicleLastGoodX; // Paper - diff on change, used for checking large move vectors above - d7 = d4 - this.vehicleLastGoodY - 1.0E-6D; // Paper - diff on change, used for checking large move vectors above -@@ -593,6 +593,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl + d7 = d4 - this.vehicleLastGoodY; // Paper - diff on change, used for checking large move vectors above +@@ -595,6 +595,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl } entity.move(MoverType.PLAYER, new Vec3(d6, d7, d8)); @@ -28,7 +28,7 @@ index e3458038d56b7133f991a5198db26398a299bf30..d7ac001d53a083e9881f2320eb7fd5dc double d11 = d7; d6 = d3 - entity.getX(); -@@ -606,15 +607,23 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -608,15 +609,23 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl boolean flag2 = false; if (d10 > org.spigotmc.SpigotConfig.movedWronglyThreshold) { // Spigot @@ -54,8 +54,8 @@ index e3458038d56b7133f991a5198db26398a299bf30..d7ac001d53a083e9881f2320eb7fd5dc + if (teleportBack) { // Paper end - optimise out extra getCubes entity.absMoveTo(d0, d1, d2, f, f1); this.player.absMoveTo(d0, d1, d2, this.player.getYRot(), this.player.getXRot()); // CraftBukkit - this.send(new ClientboundMoveVehiclePacket(entity)); -@@ -697,7 +706,32 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl + this.send(ClientboundMoveVehiclePacket.fromEntity(entity)); +@@ -692,7 +701,32 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl } private boolean noBlocksAround(Entity entity) { @@ -89,7 +89,7 @@ index e3458038d56b7133f991a5198db26398a299bf30..d7ac001d53a083e9881f2320eb7fd5dc } @Override -@@ -1398,7 +1432,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1451,7 +1485,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl } } @@ -98,7 +98,7 @@ index e3458038d56b7133f991a5198db26398a299bf30..d7ac001d53a083e9881f2320eb7fd5dc d6 = d0 - this.lastGoodX; // Paper - diff on change, used for checking large move vectors above d7 = d1 - this.lastGoodY; // Paper - diff on change, used for checking large move vectors above -@@ -1440,6 +1474,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1493,6 +1527,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl this.player.move(MoverType.PLAYER, new Vec3(d6, d7, d8)); this.player.onGround = packet.isOnGround(); // CraftBukkit - SPIGOT-5810, SPIGOT-5835, SPIGOT-6828: reset by this.player.move @@ -106,7 +106,7 @@ index e3458038d56b7133f991a5198db26398a299bf30..d7ac001d53a083e9881f2320eb7fd5dc // Paper start - prevent position desync if (this.awaitingPositionFromClient != null) { return; // ... thanks Mojang for letting move calls teleport across dimensions. -@@ -1470,7 +1505,17 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1523,7 +1558,17 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl } // Paper start - Add fail move event @@ -125,7 +125,7 @@ index e3458038d56b7133f991a5198db26398a299bf30..d7ac001d53a083e9881f2320eb7fd5dc if (teleportBack) { io.papermc.paper.event.player.PlayerFailMoveEvent event = fireFailMove(io.papermc.paper.event.player.PlayerFailMoveEvent.FailReason.CLIPPED_INTO_BLOCK, toX, toY, toZ, toYaw, toPitch, false); -@@ -1594,7 +1639,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1647,7 +1692,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl private boolean updateAwaitingTeleport() { if (this.awaitingPositionFromClient != null) { @@ -134,7 +134,7 @@ index e3458038d56b7133f991a5198db26398a299bf30..d7ac001d53a083e9881f2320eb7fd5dc this.awaitingTeleportTime = this.tickCount; this.teleport(this.awaitingPositionFromClient.x, this.awaitingPositionFromClient.y, this.awaitingPositionFromClient.z, this.player.getYRot(), this.player.getXRot()); } -@@ -1607,6 +1652,33 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1660,6 +1705,33 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl } } diff --git a/patches/unapplied/server/1053-Optional-per-player-mob-spawns.patch b/patches/server/1051-Optional-per-player-mob-spawns.patch similarity index 98% rename from patches/unapplied/server/1053-Optional-per-player-mob-spawns.patch rename to patches/server/1051-Optional-per-player-mob-spawns.patch index 9e2c455dcc..c6fad8c0e5 100644 --- a/patches/unapplied/server/1053-Optional-per-player-mob-spawns.patch +++ b/patches/server/1051-Optional-per-player-mob-spawns.patch @@ -72,10 +72,10 @@ index b3ce572547535001959d9bcc6cb567da552c6539..8e96905fa93b02623f16feb4369a45b1 this.lastSpawnState = spawnercreature_d; profiler.popPush("spawnAndTick"); diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 05981a075898794b899f1327bff1e7ca8ef8fc13..2b40896483ffbba2c84dbaaae3194342ed5d2170 100644 +index c7c637fcaf02bf5a0861c9ffaca2b473fdeceddb..1ac3f820d2f7c1bd29e2f2a323747f8262a57d89 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -303,6 +303,10 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple +@@ -301,6 +301,10 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple public boolean queueHealthUpdatePacket; public net.minecraft.network.protocol.game.ClientboundSetHealthPacket queuedHealthUpdatePacket; // Paper end - cancellable death event diff --git a/patches/unapplied/server/1054-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch b/patches/server/1052-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch similarity index 97% rename from patches/unapplied/server/1054-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch rename to patches/server/1052-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch index 68c09ef04f..e1710b40b0 100644 --- a/patches/unapplied/server/1054-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch +++ b/patches/server/1052-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch @@ -60,10 +60,10 @@ index 8e96905fa93b02623f16feb4369a45b175031ebf..d021cd5b6136f0125076513977f430c6 spawnercreature_d = NaturalSpawner.createState(naturalSpawnChunkCount, this.level.getAllEntities(), this::getFullChunk, null, true); } else { diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 2b40896483ffbba2c84dbaaae3194342ed5d2170..a755a2742f18ed55adc1fc735d995c9874b1e62e 100644 +index 1ac3f820d2f7c1bd29e2f2a323747f8262a57d89..a2cd4385fca0cf2ec164d06be2732755506c0249 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -307,6 +307,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple +@@ -305,6 +305,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple public static final int MOBCATEGORY_TOTAL_ENUMS = net.minecraft.world.entity.MobCategory.values().length; public final int[] mobCounts = new int[MOBCATEGORY_TOTAL_ENUMS]; // Paper // Paper end - Optional per player mob spawns diff --git a/patches/unapplied/server/1055-Avoid-issues-with-certain-tasks-not-processing-durin.patch b/patches/server/1053-Avoid-issues-with-certain-tasks-not-processing-durin.patch similarity index 97% rename from patches/unapplied/server/1055-Avoid-issues-with-certain-tasks-not-processing-durin.patch rename to patches/server/1053-Avoid-issues-with-certain-tasks-not-processing-durin.patch index 5da4e0387b..e52ca4da86 100644 --- a/patches/unapplied/server/1055-Avoid-issues-with-certain-tasks-not-processing-durin.patch +++ b/patches/server/1053-Avoid-issues-with-certain-tasks-not-processing-durin.patch @@ -11,7 +11,7 @@ sleep by default, which avoids the problem and makes it more obvious to check if enabled. We also unload chunks during sleep to prevent memory leaks caused by plugin chunk loads. diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 11a0bf52d891d79e3520de91d270b876871510f7..317bb0bd16d8125a40c37b75be1d4d0461bcf9ce 100644 +index b5c5e9d9279e61e2476319e9ce8a829743d56267..6a4f99c56f8f49f5087a582a8c77be2c261537bb 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1638,6 +1638,16 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop= 0) { this.player.connection.send(new ClientboundContainerSetSlotPacket(this.player.inventoryMenu.containerId, this.player.inventoryMenu.incrementStateId(), packet.slotNum(), this.player.inventoryMenu.getSlot(packet.slotNum()).getItem())); diff --git a/patches/unapplied/server/1060-Call-CraftPlayer-onEntityRemove-for-all-online-playe.patch b/patches/server/1058-Call-CraftPlayer-onEntityRemove-for-all-online-playe.patch similarity index 85% rename from patches/unapplied/server/1060-Call-CraftPlayer-onEntityRemove-for-all-online-playe.patch rename to patches/server/1058-Call-CraftPlayer-onEntityRemove-for-all-online-playe.patch index 0e72daf994..a03d8a4094 100644 --- a/patches/unapplied/server/1060-Call-CraftPlayer-onEntityRemove-for-all-online-playe.patch +++ b/patches/server/1058-Call-CraftPlayer-onEntityRemove-for-all-online-playe.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Call CraftPlayer#onEntityRemove for all online players diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 7db77a36701e766c148e91d8313838d307855d8a..657d8af7cc104962ee46ad1a7dc88b13c24262db 100644 +index 17ddec036cb6135c7489efbd76121304e76c32c0..7e8713373315eebf57541f8afe10902681449ad9 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -2794,7 +2794,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -2800,7 +2800,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe // CraftBukkit start entity.valid = false; if (!(entity instanceof ServerPlayer)) { diff --git a/patches/unapplied/server/1062-Eigencraft-redstone-implementation.patch b/patches/server/1059-Eigencraft-redstone-implementation.patch similarity index 100% rename from patches/unapplied/server/1062-Eigencraft-redstone-implementation.patch rename to patches/server/1059-Eigencraft-redstone-implementation.patch diff --git a/patches/unapplied/server/1063-Improve-performance-of-RecipeMap-removeRecipe.patch b/patches/server/1060-Improve-performance-of-RecipeMap-removeRecipe.patch similarity index 96% rename from patches/unapplied/server/1063-Improve-performance-of-RecipeMap-removeRecipe.patch rename to patches/server/1060-Improve-performance-of-RecipeMap-removeRecipe.patch index 08bbad66b6..ced8d08b40 100644 --- a/patches/unapplied/server/1063-Improve-performance-of-RecipeMap-removeRecipe.patch +++ b/patches/server/1060-Improve-performance-of-RecipeMap-removeRecipe.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Improve performance of RecipeMap#removeRecipe 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..f6dd363ececf967d282f5ba713013085da1ddf37 100644 +index 6fe39c9910c09aa47cf7b130e8f3aeec6d036013..2483627f807d7a3907f6848a8bc45d7a798e746d 100644 --- a/src/main/java/net/minecraft/world/item/crafting/RecipeManager.java +++ b/src/main/java/net/minecraft/world/item/crafting/RecipeManager.java -@@ -258,7 +258,7 @@ public class RecipeManager extends SimplePreparableReloadListener imp +@@ -260,7 +260,7 @@ public class RecipeManager extends SimplePreparableReloadListener imp // CraftBukkit start public boolean removeRecipe(ResourceKey> mcKey) { diff --git a/patches/unapplied/server/1064-Reduce-work-done-in-CraftMapCanvas.drawImage-by-limi.patch b/patches/server/1061-Reduce-work-done-in-CraftMapCanvas.drawImage-by-limi.patch similarity index 100% rename from patches/unapplied/server/1064-Reduce-work-done-in-CraftMapCanvas.drawImage-by-limi.patch rename to patches/server/1061-Reduce-work-done-in-CraftMapCanvas.drawImage-by-limi.patch diff --git a/patches/unapplied/server/1065-Add-Alternate-Current-redstone-implementation.patch b/patches/server/1062-Add-Alternate-Current-redstone-implementation.patch similarity index 99% rename from patches/unapplied/server/1065-Add-Alternate-Current-redstone-implementation.patch rename to patches/server/1062-Add-Alternate-Current-redstone-implementation.patch index 6d9bd74276..125b43d205 100644 --- a/patches/unapplied/server/1065-Add-Alternate-Current-redstone-implementation.patch +++ b/patches/server/1062-Add-Alternate-Current-redstone-implementation.patch @@ -2328,10 +2328,10 @@ index 0000000000000000000000000000000000000000..298076a0db4e6ee6e4775ac43bf749d9 + } +} diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 657d8af7cc104962ee46ad1a7dc88b13c24262db..585e2b43a0326f0b81597fa1234d3c67c76af550 100644 +index 7e8713373315eebf57541f8afe10902681449ad9..7270a94246df73ee195156fc7b62470d090a337a 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -230,6 +230,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -231,6 +231,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe public final UUID uuid; public boolean hasPhysicsEvent = true; // Paper - BlockPhysicsEvent public boolean hasEntityMoveEvent; // Paper - Add EntityMoveEvent @@ -2339,7 +2339,7 @@ index 657d8af7cc104962ee46ad1a7dc88b13c24262db..585e2b43a0326f0b81597fa1234d3c67 public LevelChunk getChunkIfLoaded(int x, int z) { return this.chunkSource.getChunkAtIfLoadedImmediately(x, z); // Paper - Use getChunkIfLoadedImmediately -@@ -2655,6 +2656,13 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -2661,6 +2662,13 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe return this.chunkSource.getGenerator().getSeaLevel(); } @@ -2354,10 +2354,10 @@ index 657d8af7cc104962ee46ad1a7dc88b13c24262db..585e2b43a0326f0b81597fa1234d3c67 EntityCallbacks() {} diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 3f69dfe877a6c3a362a28c29f556b7b9b2ad19b0..0de2b79481352b52438dde284262019b29949ad8 100644 +index d518493ecf3853b9f2aefceb72e1a4d2e9bf1184..27f9d167b5ae9ce5117798ea44324107df59425f 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -2015,6 +2015,17 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl +@@ -2018,6 +2018,17 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl public abstract FuelValues fuelValues(); diff --git a/patches/unapplied/server/1066-Fix-incorrect-invulnerability-damage-reduction.patch b/patches/server/1063-Fix-incorrect-invulnerability-damage-reduction.patch similarity index 97% rename from patches/unapplied/server/1066-Fix-incorrect-invulnerability-damage-reduction.patch rename to patches/server/1063-Fix-incorrect-invulnerability-damage-reduction.patch index 3b3dd3d144..2b5598fa46 100644 --- a/patches/unapplied/server/1066-Fix-incorrect-invulnerability-damage-reduction.patch +++ b/patches/server/1063-Fix-incorrect-invulnerability-damage-reduction.patch @@ -27,7 +27,7 @@ Instead, this patch makes use of the DamageModifier API, implementing the last-damage-reduction as a DamageModifier. diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 6a3a8f0466998409a01223bc0c16d92b96e50118..51f913a495e7fda7e0e72439c6d7cc9607bd4af8 100644 +index 91735414a81c40861315ea2d4ca6fdce64b2c228..cc4cc42adc95fb9357d4cf94d81b6c0c109879c1 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -1505,12 +1505,12 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -54,7 +54,7 @@ index 6a3a8f0466998409a01223bc0c16d92b96e50118..51f913a495e7fda7e0e72439c6d7cc96 amount = computeAmountFromEntityDamageEvent(event); // Paper end - only call damage event when actuallyHurt will be called - move call logic down // CraftBukkit start -@@ -2322,8 +2322,19 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -2333,8 +2333,19 @@ public abstract class LivingEntity extends Entity implements Attackable { } // CraftBukkit start @@ -75,7 +75,7 @@ index 6a3a8f0466998409a01223bc0c16d92b96e50118..51f913a495e7fda7e0e72439c6d7cc96 com.google.common.base.Function freezing = new com.google.common.base.Function() { @Override -@@ -2400,7 +2411,12 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -2411,7 +2422,12 @@ public abstract class LivingEntity extends Entity implements Attackable { }; float absorptionModifier = absorption.apply((double) f).floatValue(); diff --git a/patches/unapplied/server/1067-Fix-NPE-when-EntityResurrectEvent-is-uncancelled.patch b/patches/server/1064-Fix-NPE-when-EntityResurrectEvent-is-uncancelled.patch similarity index 89% rename from patches/unapplied/server/1067-Fix-NPE-when-EntityResurrectEvent-is-uncancelled.patch rename to patches/server/1064-Fix-NPE-when-EntityResurrectEvent-is-uncancelled.patch index 511cccc084..e4f75e957c 100644 --- a/patches/unapplied/server/1067-Fix-NPE-when-EntityResurrectEvent-is-uncancelled.patch +++ b/patches/server/1064-Fix-NPE-when-EntityResurrectEvent-is-uncancelled.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix NPE when EntityResurrectEvent is uncancelled diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 51f913a495e7fda7e0e72439c6d7cc9607bd4af8..f36a075dbee2b96d01899e02460b1d8443e91749 100644 +index cc4cc42adc95fb9357d4cf94d81b6c0c109879c1..a542bde48edd91929cb7e3dc62c425507a8118fa 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -1711,6 +1711,12 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1722,6 +1722,12 @@ public abstract class LivingEntity extends Entity implements Attackable { if (!itemstack1.isEmpty() && itemstack != null) { // Paper - only reduce item if actual totem was found itemstack1.shrink(1); } diff --git a/patches/unapplied/server/1068-API-to-check-if-the-server-is-sleeping.patch b/patches/server/1065-API-to-check-if-the-server-is-sleeping.patch similarity index 94% rename from patches/unapplied/server/1068-API-to-check-if-the-server-is-sleeping.patch rename to patches/server/1065-API-to-check-if-the-server-is-sleeping.patch index c19dba5aeb..9f542e8138 100644 --- a/patches/unapplied/server/1068-API-to-check-if-the-server-is-sleeping.patch +++ b/patches/server/1065-API-to-check-if-the-server-is-sleeping.patch @@ -5,7 +5,7 @@ Subject: [PATCH] API to check if the server is sleeping diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 317bb0bd16d8125a40c37b75be1d4d0461bcf9ce..135fb7f722947a57169f0ce584cb031f4c54c854 100644 +index 6a4f99c56f8f49f5087a582a8c77be2c261537bb..78ec2c6d4546bc4eaedd64fa8340f5654876f65c 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -3186,4 +3186,10 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop