diff --git a/gradle.properties b/gradle.properties index 7ddcaeb7d..180267c96 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,7 +1,7 @@ group = org.purpurmc.purpur version = 1.19.4-R0.1-SNAPSHOT -paperCommit = 688409279f45ec4e88b7c1f91dc62ce377a71caf +paperCommit = 9daa019d6c0b03f18c57a995f6ca24aaa32f5a5a org.gradle.caching = true org.gradle.parallel = true diff --git a/patches/api/0005-Purpur-client-support.patch b/patches/api/0005-Purpur-client-support.patch index fc1be098f..f737f4a18 100644 --- a/patches/api/0005-Purpur-client-support.patch +++ b/patches/api/0005-Purpur-client-support.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Purpur client support diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index ee446bfb3e6c4b1d4428c00d6406bf9455c68ad5..5bc1964f691e451b1d0348e186d5c582fe25768d 100644 +index 9cd49bf6db451af67cd15c8857d7bf51a4e1a67a..1c3c988d314b3a229ff8addcacb935500be1a4ca 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -3035,4 +3035,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -3057,4 +3057,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @Override Spigot spigot(); // Spigot end diff --git a/patches/api/0010-AFK-API.patch b/patches/api/0010-AFK-API.patch index 8d06981c6..a0ccdc3fd 100644 --- a/patches/api/0010-AFK-API.patch +++ b/patches/api/0010-AFK-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] AFK API diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 5bc1964f691e451b1d0348e186d5c582fe25768d..57f9068a8622a298bfcbfd99668ad12774c7a8b2 100644 +index 1c3c988d314b3a229ff8addcacb935500be1a4ca..f8d06c55ae7b5c9de05cfdf5bdeaf94e6eb04209 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -3043,5 +3043,24 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -3065,5 +3065,24 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @return True if Player uses Purpur Client */ public boolean usesPurpurClient(); diff --git a/patches/api/0017-Player-invulnerabilities.patch b/patches/api/0017-Player-invulnerabilities.patch index c781ad543..457055ed7 100644 --- a/patches/api/0017-Player-invulnerabilities.patch +++ b/patches/api/0017-Player-invulnerabilities.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Player invulnerabilities diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 57f9068a8622a298bfcbfd99668ad12774c7a8b2..c332e7f967e5ce6c2b7b046ab539c2e483d85014 100644 +index f8d06c55ae7b5c9de05cfdf5bdeaf94e6eb04209..13262d8a500f476a6035ee2c2f976c5f6f5a8263 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -3062,5 +3062,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -3084,5 +3084,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * Reset the idle timer back to 0 */ void resetIdleTimer(); diff --git a/patches/api/0035-Summoner-API.patch b/patches/api/0035-Summoner-API.patch index 40cb7c70f..bc94bd07e 100644 --- a/patches/api/0035-Summoner-API.patch +++ b/patches/api/0035-Summoner-API.patch @@ -55,12 +55,12 @@ index 7fbfdb07585c7b28acea1f0c1f58ada0cc744441..21fcca092e2e31baa5ece0de9e44e3fa + // Purpur end } diff --git a/src/main/java/org/bukkit/entity/Wither.java b/src/main/java/org/bukkit/entity/Wither.java -index a1b42ae35dda2da90ba00a2d6666514f7c5b11dd..3ccd61bf91d7746393589b0b35674361c2f1d133 100644 +index 14543c2238b45c526dd9aebea2aa5c22f5df54dc..5312daf33405704c74e2c9e109754285ea6cf734 100644 --- a/src/main/java/org/bukkit/entity/Wither.java +++ b/src/main/java/org/bukkit/entity/Wither.java -@@ -79,4 +79,20 @@ public interface Wither extends Monster, Boss, com.destroystokyo.paper.entity.Ra +@@ -107,4 +107,20 @@ public interface Wither extends Monster, Boss, com.destroystokyo.paper.entity.Ra */ - void setCanTravelThroughPortals(boolean value); + void enterInvulnerabilityPhase(); // Paper end + + // Purpur start diff --git a/patches/api/0037-Extended-OfflinePlayer-API.patch b/patches/api/0037-Extended-OfflinePlayer-API.patch index ba91063a2..081d08804 100644 --- a/patches/api/0037-Extended-OfflinePlayer-API.patch +++ b/patches/api/0037-Extended-OfflinePlayer-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Extended OfflinePlayer API diff --git a/src/main/java/org/bukkit/OfflinePlayer.java b/src/main/java/org/bukkit/OfflinePlayer.java -index 69b50eee42e8c52063033705bd23a5ef5231ed83..3578ab0c3a413d56bc39af43b5d3201d20d7d13a 100644 +index 72175dcae49f75b494ab70958053ed994a8828f4..df642a55003517040be795b44a8bf107dd88810b 100644 --- a/src/main/java/org/bukkit/OfflinePlayer.java +++ b/src/main/java/org/bukkit/OfflinePlayer.java -@@ -455,4 +455,114 @@ public interface OfflinePlayer extends ServerOperator, AnimalTamer, Configuratio +@@ -460,4 +460,114 @@ public interface OfflinePlayer extends ServerOperator, AnimalTamer, Configuratio */ @Nullable public Location getLastDeathLocation(); diff --git a/patches/api/0043-Add-local-difficulty-api.patch b/patches/api/0043-Add-local-difficulty-api.patch index 5051c2ae9..e87defdba 100644 --- a/patches/api/0043-Add-local-difficulty-api.patch +++ b/patches/api/0043-Add-local-difficulty-api.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add local difficulty api diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 0b8776355f724927ada826735d5e73f3fb6897d5..e040e4012832cd992811e1270f3459921f48476b 100644 +index 2b45aa9b438d7856ec448c56832b2b2100961565..9b5cd8a33bae463872efecaca0829b7d2b434529 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -4018,6 +4018,16 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient +@@ -3973,6 +3973,16 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient @Nullable public DragonBattle getEnderDragonBattle(); diff --git a/patches/api/0046-Debug-Marker-API.patch b/patches/api/0046-Debug-Marker-API.patch index 2ff80f56a..4ab0a56d2 100644 --- a/patches/api/0046-Debug-Marker-API.patch +++ b/patches/api/0046-Debug-Marker-API.patch @@ -179,10 +179,10 @@ index b2184f33f8b34ae484357742690e205accaa635f..730caafaf9629664ba125f3884559da7 // Purpur end } diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index e040e4012832cd992811e1270f3459921f48476b..cf8b93aa5787e96f54e2ffe2a0f157b0e53e2c5c 100644 +index 9b5cd8a33bae463872efecaca0829b7d2b434529..4561ca02052d774bc1424f7044c34f7affd415fc 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -4026,6 +4026,76 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient +@@ -3981,6 +3981,76 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient * @return The local difficulty */ public float getLocalDifficultyAt(@NotNull Location location); @@ -260,10 +260,10 @@ index e040e4012832cd992811e1270f3459921f48476b..cf8b93aa5787e96f54e2ffe2a0f157b0 /** diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index c332e7f967e5ce6c2b7b046ab539c2e483d85014..6bf3ae6af4f38d3fd023628ddbee896cd6f72751 100644 +index 13262d8a500f476a6035ee2c2f976c5f6f5a8263..c3e4635c388fcf364c65d5c1ce2ce1f701012e05 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -3083,5 +3083,75 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -3105,5 +3105,75 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @param invulnerableTicks Invulnerable ticks remaining */ void setSpawnInvulnerableTicks(int invulnerableTicks); diff --git a/patches/api/0047-Add-death-screen-API.patch b/patches/api/0047-Add-death-screen-API.patch index 318d91da1..005e1a4d0 100644 --- a/patches/api/0047-Add-death-screen-API.patch +++ b/patches/api/0047-Add-death-screen-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add death screen API diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 6bf3ae6af4f38d3fd023628ddbee896cd6f72751..43cef54d355c8a1b6a8cd6be89a6a805e9f88566 100644 +index c3e4635c388fcf364c65d5c1ce2ce1f701012e05..838f32eb3397d847071f54648dbac02c35d621cf 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -3153,5 +3153,21 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -3175,5 +3175,21 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * Clears all debug block highlights */ void clearBlockHighlights(); diff --git a/patches/server/0001-Pufferfish-Server-Changes.patch b/patches/server/0001-Pufferfish-Server-Changes.patch index 390727176..3ec2186e2 100644 --- a/patches/server/0001-Pufferfish-Server-Changes.patch +++ b/patches/server/0001-Pufferfish-Server-Changes.patch @@ -1678,7 +1678,7 @@ index b7fd8e70413c38923d0719aff803449e392383ac..d5cb594f0b17ec9dc1a19cdb99bba553 this.wasOnGround = this.entity.isOnGround(); this.teleportDelay = 0; diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 3bb63a652aca3c23f5f1bbf9cb70fce6540f2e33..dda5e77f7d9fb2340d50997c0a17bc7f5e2bb961 100644 +index 45804711255f04110e9509df8d60900314aa10b7..3ee5c3c17d450dce54e051dc53c9df44d9b3dc1b 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -709,6 +709,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1743,10 +1743,10 @@ index 3bb63a652aca3c23f5f1bbf9cb70fce6540f2e33..dda5e77f7d9fb2340d50997c0a17bc7f this.getRandomBlockPosition(j, 0, k, 15, blockposition); int normalY = chunk.getHeight(Heightmap.Types.MOTION_BLOCKING, blockposition.getX() & 15, blockposition.getZ() & 15) + 1; diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 04a92f33f15d1696e38d38839651adf7d0462cac..acd1c6891f5ab7949689cac5ec859a7a60bf6bb0 100644 +index aa287d7f37f38d938d195114408cb6dbda59063d..9d2d72fe48b69be2f6ebe74309673a3a4e51eae4 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1215,6 +1215,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1216,6 +1216,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handleEditBook(ServerboundEditBookPacket packet) { @@ -1754,7 +1754,7 @@ index 04a92f33f15d1696e38d38839651adf7d0462cac..acd1c6891f5ab7949689cac5ec859a7a // Paper start if (!this.cserver.isPrimaryThread()) { List pageList = packet.getPages(); -@@ -2357,6 +2358,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2363,6 +2364,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } private boolean updateChatOrder(Instant timestamp) { @@ -1875,10 +1875,10 @@ index 04b1531572e8fff1e46fe1c94e7fc863841e0f66..47ddc42f2b63d9d3fae5ae6ea93d4183 int LARGE_MAX_STACK_SIZE = 64; int DEFAULT_DISTANCE_LIMIT = 8; diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 4705d7066207250c03a5f98eef61554c901f2e35..e25be74ef0a88541884ad62a4b84219400d5a142 100644 +index df316ca580a0a3b4ba6b658f7d7bdf542f4ad85b..1030b54428b15f387580a2ce47a7a1eb0c8d521b 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -291,7 +291,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -292,7 +292,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { public double yo; public double zo; private Vec3 position; @@ -1887,7 +1887,7 @@ index 4705d7066207250c03a5f98eef61554c901f2e35..e25be74ef0a88541884ad62a4b842194 private ChunkPos chunkPosition; private Vec3 deltaMovement; private float yRot; -@@ -415,6 +415,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -416,6 +416,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { return this.originWorld; } // Paper end @@ -1900,7 +1900,7 @@ index 4705d7066207250c03a5f98eef61554c901f2e35..e25be74ef0a88541884ad62a4b842194 public float getBukkitYaw() { return this.yRot; } -@@ -489,17 +495,36 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -490,17 +496,36 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { this.isLegacyTrackingEntity = isLegacyTrackingEntity; } @@ -1938,7 +1938,7 @@ index 4705d7066207250c03a5f98eef61554c901f2e35..e25be74ef0a88541884ad62a4b842194 for (Entity passenger : passengers) { org.spigotmc.TrackingRange.TrackingRangeType passengerType = passenger.trackingRangeType; int passengerRange = chunkMap.getEntityTrackerRange(passengerType.ordinal()); -@@ -508,6 +533,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -509,6 +534,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { range = passengerRange; } } @@ -1948,7 +1948,7 @@ index 4705d7066207250c03a5f98eef61554c901f2e35..e25be74ef0a88541884ad62a4b842194 return chunkMap.playerEntityTrackerTrackMaps[type.ordinal()].getObjectsInRange(MCUtil.getCoordinateKey(this)); } -@@ -789,6 +817,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -790,6 +818,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { // CraftBukkit end public void baseTick() { @@ -1961,7 +1961,7 @@ index 4705d7066207250c03a5f98eef61554c901f2e35..e25be74ef0a88541884ad62a4b842194 this.level.getProfiler().push("entityBaseTick"); if (firstTick && this instanceof net.minecraft.world.entity.NeutralMob neutralMob) neutralMob.tickInitialPersistentAnger(level); // Paper - Update last hurt when ticking this.feetBlockState = null; -@@ -4162,16 +4196,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4163,16 +4197,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } public boolean updateFluidHeightAndDoFluidPushing(TagKey tag, double speed) { @@ -1987,7 +1987,7 @@ index 4705d7066207250c03a5f98eef61554c901f2e35..e25be74ef0a88541884ad62a4b842194 double d1 = 0.0D; boolean flag = this.isPushedByFluid(); boolean flag1 = false; -@@ -4179,14 +4215,61 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4180,14 +4216,61 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { int k1 = 0; BlockPos.MutableBlockPos blockposition_mutableblockposition = new BlockPos.MutableBlockPos(); @@ -2055,7 +2055,7 @@ index 4705d7066207250c03a5f98eef61554c901f2e35..e25be74ef0a88541884ad62a4b842194 if (d2 >= axisalignedbb.minY) { flag1 = true; -@@ -4208,9 +4291,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4209,9 +4292,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { // CraftBukkit end } } @@ -3431,10 +3431,10 @@ index ebe65474a4a05ff1637d7f37ebcfe690af59def5..42142c512b12e5b269c19f1e821c50e7 @Nullable diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index e90e7f32c81ac2ffdb7594fa3e4623061304409e..482420c38e8fd1abc261daeabce76091f1e0ff3c 100644 +index e769f7b0904814ee63e2a73dca57e5dc33382fba..e38391da44a1b5e3b845eba2d80453021a1e0c25 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -256,7 +256,7 @@ import javax.annotation.Nullable; // Paper +@@ -257,7 +257,7 @@ import javax.annotation.Nullable; // Paper import javax.annotation.Nonnull; // Paper public final class CraftServer implements Server { @@ -3443,7 +3443,7 @@ index e90e7f32c81ac2ffdb7594fa3e4623061304409e..482420c38e8fd1abc261daeabce76091 private final String serverVersion; private final String bukkitVersion = Versioning.getBukkitVersion(); private final Logger logger = Logger.getLogger("Minecraft"); -@@ -1039,6 +1039,11 @@ public final class CraftServer implements Server { +@@ -1040,6 +1040,11 @@ public final class CraftServer implements Server { plugin.getPluginMeta().getDisplayName(), "This plugin is not properly shutting down its async tasks when it is being shut down. This task may throw errors during the final shutdown logs and might not complete before process dies." )); diff --git a/patches/server/0003-Rebrand.patch b/patches/server/0003-Rebrand.patch index 296801814..a57be9131 100644 --- a/patches/server/0003-Rebrand.patch +++ b/patches/server/0003-Rebrand.patch @@ -197,10 +197,10 @@ index a29d92b3f2658b63545b25092bb3a1fea46ca36b..0f6d1c56efbab0f9b84f09f7dc27eb70 public SystemReport fillSystemReport(SystemReport details) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 58eaa1142bb0568bef439bba76903309914d3ae1..094d608815f2a3b6ff25a5ca7872acf0e88c572c 100644 +index e38391da44a1b5e3b845eba2d80453021a1e0c25..fa82680d6b8a28668b25b32bcbd34bddc9565c9c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -256,7 +256,7 @@ import javax.annotation.Nullable; // Paper +@@ -257,7 +257,7 @@ import javax.annotation.Nullable; // Paper import javax.annotation.Nonnull; // Paper public final class CraftServer implements Server { diff --git a/patches/server/0004-Purpur-config-files.patch b/patches/server/0004-Purpur-config-files.patch index d38e5365a..c5837c0e7 100644 --- a/patches/server/0004-Purpur-config-files.patch +++ b/patches/server/0004-Purpur-config-files.patch @@ -112,10 +112,10 @@ index 66cc44d9f14b01f6c8e53b0f990866ac897c1c81..c38aff50c6f0bc37e539bb4d5206f7b6 this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 740bc3aaac6ce4f642e16c339bd7e8de706cbf09..0c2aa1408d8220b9d3369d8b0b39eb5769dd376e 100644 +index fa82680d6b8a28668b25b32bcbd34bddc9565c9c..700e6af9919af1b38bb725d2f99e952df17eb31a 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -956,6 +956,7 @@ public final class CraftServer implements Server { +@@ -957,6 +957,7 @@ public final class CraftServer implements Server { org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot this.console.paperConfigurations.reloadConfigs(this.console); @@ -123,7 +123,7 @@ index 740bc3aaac6ce4f642e16c339bd7e8de706cbf09..0c2aa1408d8220b9d3369d8b0b39eb57 for (ServerLevel world : this.console.getAllLevels()) { // world.serverLevelData.setDifficulty(config.difficulty); // Paper - per level difficulty world.setSpawnSettings(world.serverLevelData.getDifficulty() != Difficulty.PEACEFUL && config.spawnMonsters, config.spawnAnimals); // Paper - per level difficulty (from MinecraftServer#setDifficulty(ServerLevel, Difficulty, boolean)) -@@ -971,6 +972,7 @@ public final class CraftServer implements Server { +@@ -972,6 +973,7 @@ public final class CraftServer implements Server { } } world.spigotConfig.init(); // Spigot @@ -131,7 +131,7 @@ index 740bc3aaac6ce4f642e16c339bd7e8de706cbf09..0c2aa1408d8220b9d3369d8b0b39eb57 } Plugin[] pluginClone = pluginManager.getPlugins().clone(); // Paper -@@ -986,6 +988,7 @@ public final class CraftServer implements Server { +@@ -987,6 +989,7 @@ public final class CraftServer implements Server { this.reloadData(); org.spigotmc.SpigotConfig.registerCommands(); // Spigot io.papermc.paper.command.PaperCommands.registerCommands(this.console); // Paper @@ -139,7 +139,7 @@ index 740bc3aaac6ce4f642e16c339bd7e8de706cbf09..0c2aa1408d8220b9d3369d8b0b39eb57 this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*"); this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions"); -@@ -2745,6 +2748,18 @@ public final class CraftServer implements Server { +@@ -2746,6 +2749,18 @@ public final class CraftServer implements Server { return CraftServer.this.console.paperConfigurations.createLegacyObject(CraftServer.this.console); } @@ -159,7 +159,7 @@ index 740bc3aaac6ce4f642e16c339bd7e8de706cbf09..0c2aa1408d8220b9d3369d8b0b39eb57 public void restart() { org.spigotmc.RestartCommand.restart(); diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 755c223ab2a046285eb9916b6195093714f4c5ba..5758ce3033c2d4121970eb8757beabc1975c5c83 100644 +index c103f10dbb6c06e14bb7b5df73a797f456803301..c5f208dbeb55627bc2917314cc8a0da2d8789453 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -173,6 +173,14 @@ public class Main { diff --git a/patches/server/0005-Purpur-client-support.patch b/patches/server/0005-Purpur-client-support.patch index f0faac55c..bff3809e5 100644 --- a/patches/server/0005-Purpur-client-support.patch +++ b/patches/server/0005-Purpur-client-support.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Purpur client support diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index a0053455eaeca04855b689f3b00b78dac39d08e3..446b4c50102e26e310e7426c1f88651a8519ed6e 100644 +index 98df2463bf41fc736aa6a2b6ddf89e5abde6eb39..61b818e93de53ef14b9b928193da9b6fea3ff003 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -275,6 +275,7 @@ public class ServerPlayer extends Player { +@@ -277,6 +277,7 @@ public class ServerPlayer extends Player { public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet cachedSingleHashSet; // Paper public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - there are a lot of changes to do if we change all methods leading to the event @@ -17,10 +17,10 @@ index a0053455eaeca04855b689f3b00b78dac39d08e3..446b4c50102e26e310e7426c1f88651a public ServerPlayer(MinecraftServer server, ServerLevel world, GameProfile profile) { super(world, world.getSharedSpawnPos(), world.getSharedSpawnAngle(), profile); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index acd1c6891f5ab7949689cac5ec859a7a60bf6bb0..162e3acade6d1a25cf55bc0838c8f7b851daaaac 100644 +index 9d2d72fe48b69be2f6ebe74309673a3a4e51eae4..299d43f714637beb6cdce186368c4171cac74c4c 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3536,6 +3536,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3542,6 +3542,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic private static final ResourceLocation CUSTOM_UNREGISTER = new ResourceLocation("unregister"); private static final ResourceLocation MINECRAFT_BRAND = new ResourceLocation("brand"); // Paper - Brand support @@ -28,7 +28,7 @@ index acd1c6891f5ab7949689cac5ec859a7a60bf6bb0..162e3acade6d1a25cf55bc0838c8f7b8 @Override public void handleCustomPayload(ServerboundCustomPayloadPacket packet) { -@@ -3560,6 +3561,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3566,6 +3567,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t unregister custom payload", ex); this.disconnect("Invalid payload UNREGISTER!", org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PAYLOAD); // Paper - kick event cause } @@ -43,10 +43,10 @@ index acd1c6891f5ab7949689cac5ec859a7a60bf6bb0..162e3acade6d1a25cf55bc0838c8f7b8 try { byte[] data = new byte[packet.data.readableBytes()]; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index c8d8ab8e5d8d0a986ff023ce1e195667472d7798..4cbd2816f0cdd0d7745bc70ccd0b288769e74498 100644 +index 3f498543cf0476ff1b184788d93f13b70c476c16..9986b89ceabc065d96c889bf9a50a4aa093e7300 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3188,4 +3188,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3196,4 +3196,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this.spigot; } // Spigot end diff --git a/patches/server/0007-Component-related-conveniences.patch b/patches/server/0007-Component-related-conveniences.patch index b7c61b130..1931d84fe 100644 --- a/patches/server/0007-Component-related-conveniences.patch +++ b/patches/server/0007-Component-related-conveniences.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Component related conveniences diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index b1c0f5743dfe87e359dbd3a451367aa8a66e57f0..01e52ea23d5481c2df79d2c899b4febf3f4a8948 100644 +index 61b818e93de53ef14b9b928193da9b6fea3ff003..74e2731c614e0387de8eee93af005c7c1bf109f1 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1727,6 +1727,26 @@ public class ServerPlayer extends Player { +@@ -1729,6 +1729,26 @@ public class ServerPlayer extends Player { this.lastSentExp = -1; // CraftBukkit - Added to reset } @@ -36,10 +36,10 @@ index b1c0f5743dfe87e359dbd3a451367aa8a66e57f0..01e52ea23d5481c2df79d2c899b4febf public void displayClientMessage(Component message, boolean overlay) { this.sendSystemMessage(message, overlay); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 4d837c1530a3031a4c2a5a39d87bd013d60e14a6..9feded7fee7a759f7607c54c2277c6403a0af65f 100644 +index 5c21de0d48fba88c3164b72e0eb624706b683fab..0e75163468ab91e7c6d245577041c288a9d865ac 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1027,6 +1027,20 @@ public abstract class PlayerList { +@@ -1029,6 +1029,20 @@ public abstract class PlayerList { } // CraftBukkit end @@ -81,10 +81,10 @@ index 93a1e990b0a6caae4143c2f9d09bfb368fa1d6db..615611fe372d6edaef56db058bbf2cf7 return this.type().msgId(); } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index e25be74ef0a88541884ad62a4b84219400d5a142..2f3d8291a262496065d010e304d96e6dbd729ffa 100644 +index 1030b54428b15f387580a2ce47a7a1eb0c8d521b..7238a6e3ffdbd7421ed978e007d256aaad84ea58 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -3914,6 +3914,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3915,6 +3915,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { return SlotAccess.NULL; } diff --git a/patches/server/0008-Ridables.patch b/patches/server/0008-Ridables.patch index 1f5fee088..0deb9a8a9 100644 --- a/patches/server/0008-Ridables.patch +++ b/patches/server/0008-Ridables.patch @@ -34,7 +34,7 @@ index 0f6d1c56efbab0f9b84f09f7dc27eb705f4006a9..7f37231b33d6cfbd3d10c6c5d0b3e0b9 this.profiler.push(() -> { return worldserver + " " + worldserver.dimension().location(); diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index a6da001a03760a6ae5d842d8aaeb8fc435883b1f..3d641a5721b90230c79dca9e43ccc6fa21f24946 100644 +index de2d7bdd7c6f38f4d9c943162846c816bc814bd4..4ea1b4eb5e843753f02b7f683c82c82ba8a134ef 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -220,6 +220,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -46,10 +46,10 @@ index a6da001a03760a6ae5d842d8aaeb8fc435883b1f..3d641a5721b90230c79dca9e43ccc6fa final Throwable thr = new Throwable(entity + " Added to world at " + new java.util.Date()); io.papermc.paper.util.StacktraceDeobfuscator.INSTANCE.deobfuscateThrowable(thr); diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 145103a89017bf749d25e82ab924df3d99fdb811..eff60ea9a26b8f00f4efaddc0f756b07f232e843 100644 +index 74e2731c614e0387de8eee93af005c7c1bf109f1..055915f609d1181bbcfa2ce72e1282ace71cb45c 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -708,6 +708,15 @@ public class ServerPlayer extends Player { +@@ -710,6 +710,15 @@ public class ServerPlayer extends Player { this.trackStartFallingPosition(); this.trackEnteredOrExitedLavaOnVehicle(); this.advancements.flushDirty(this); @@ -66,10 +66,10 @@ index 145103a89017bf749d25e82ab924df3d99fdb811..eff60ea9a26b8f00f4efaddc0f756b07 public void doTick() { diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 162e3acade6d1a25cf55bc0838c8f7b851daaaac..a44b847f8597823e7fd380638ffaf9027a8dd438 100644 +index 299d43f714637beb6cdce186368c4171cac74c4c..ec4891a736c5c91af7589071f87fa664983f7f72 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2803,6 +2803,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2809,6 +2809,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic ServerGamePacketListenerImpl.this.cserver.getPluginManager().callEvent(event); @@ -79,10 +79,10 @@ index 162e3acade6d1a25cf55bc0838c8f7b851daaaac..a44b847f8597823e7fd380638ffaf902 if ((entity instanceof Bucketable && entity instanceof LivingEntity && origItem != null && origItem.asItem() == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem)) { entity.getEntityData().resendPossiblyDesyncedEntity(player); // Paper - The entire mob gets deleted, so resend it. diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 2f3d8291a262496065d010e304d96e6dbd729ffa..3113fb54ac88692d1bde8e539d9a7bb10fa2140a 100644 +index 7238a6e3ffdbd7421ed978e007d256aaad84ea58..546ae68177a3188efe911aa535e058ae69341818 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -361,7 +361,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -362,7 +362,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { private final Set tags; private final double[] pistonDeltas; private long pistonDeltasGameTime; @@ -91,7 +91,7 @@ index 2f3d8291a262496065d010e304d96e6dbd729ffa..3113fb54ac88692d1bde8e539d9a7bb1 private float eyeHeight; public boolean isInPowderSnow; public boolean wasInPowderSnow; -@@ -2822,6 +2822,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2823,6 +2823,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { this.passengers = ImmutableList.copyOf(list); } @@ -105,7 +105,7 @@ index 2f3d8291a262496065d010e304d96e6dbd729ffa..3113fb54ac88692d1bde8e539d9a7bb1 this.gameEvent(GameEvent.ENTITY_MOUNT, entity); } return true; // CraftBukkit -@@ -2863,6 +2870,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2864,6 +2871,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { return false; } // Spigot end @@ -120,7 +120,7 @@ index 2f3d8291a262496065d010e304d96e6dbd729ffa..3113fb54ac88692d1bde8e539d9a7bb1 if (this.passengers.size() == 1 && this.passengers.get(0) == entity) { this.passengers = ImmutableList.of(); } else { -@@ -4737,4 +4752,45 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4738,4 +4753,45 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { return ((net.minecraft.server.level.ServerChunkCache) level.getChunkSource()).isPositionTicking(this); } // Paper end @@ -4112,10 +4112,10 @@ index 9258d0f7c5c27b6d3d8f99db947169d6800d8ea9..78bd5a76f105ff1ebf005ccb2590b4a0 this.getAttribute(Attributes.MOVEMENT_SPEED).setBaseValue(0.0D); } else { diff --git a/src/main/java/net/minecraft/world/entity/monster/Shulker.java b/src/main/java/net/minecraft/world/entity/monster/Shulker.java -index 19657390ddb73992d7b68dc77776faa99c6f1b15..e46bd4944801c75a197e67ef66b5e87517a68a03 100644 +index 8cb910da17d75a9d9c7dbeb3c9e24b6de657a2f7..6f652413d5375e0e6ddf82b3be682560ea6f5d67 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java +++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java -@@ -95,12 +95,31 @@ public class Shulker extends AbstractGolem implements VariantHolder 0L && this.server.getPlayerIdleTimeout() > 0 && Util.getMillis() - this.player.getLastActionTime() > (long) (this.server.getPlayerIdleTimeout() * 1000 * 60) && !this.player.wonGame) { // Paper - Prevent AFK kick while watching end credits. @@ -110,7 +110,7 @@ index b125779217ef3adcc865c50ac9c5f5cfd747db50..d119a15532220432fe0d595bed56f51b this.player.resetLastActionTime(); // CraftBukkit - SPIGOT-854 this.disconnect(Component.translatable("multiplayer.disconnect.idling"), org.bukkit.event.player.PlayerKickEvent.Cause.IDLING); // Paper - kick event cause } -@@ -743,6 +763,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -744,6 +764,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.lastYaw = to.getYaw(); this.lastPitch = to.getPitch(); @@ -119,7 +119,7 @@ index b125779217ef3adcc865c50ac9c5f5cfd747db50..d119a15532220432fe0d595bed56f51b // Skip the first time we do this if (true) { // Spigot - don't skip any move events Location oldTo = to.clone(); -@@ -1547,7 +1569,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1548,7 +1570,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic if (!this.player.isChangingDimension() && d11 > org.spigotmc.SpigotConfig.movedWronglyThreshold && !this.player.isSleeping() && !this.player.gameMode.isCreative() && this.player.gameMode.getGameModeForPlayer() != GameType.SPECTATOR) { // Spigot flag2 = true; // Paper - diff on change, this should be moved wrongly @@ -128,7 +128,7 @@ index b125779217ef3adcc865c50ac9c5f5cfd747db50..d119a15532220432fe0d595bed56f51b } this.player.absMoveTo(d0, d1, d2, f, f1); -@@ -1598,6 +1620,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1599,6 +1621,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.lastYaw = to.getYaw(); this.lastPitch = to.getPitch(); @@ -218,10 +218,10 @@ index 3b959f42d958bf0f426853aee56753d6c455fcdb..d17abb283ea818244df0379d6b57fc63 if (range < 0.0D || d < range * range) { return true; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 4cbd2816f0cdd0d7745bc70ccd0b288769e74498..aeea585b802966cd599e33a45887899cad31872b 100644 +index 9986b89ceabc065d96c889bf9a50a4aa093e7300..2506882191e83a3cc03666a56e63c18f7adebb68 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -529,10 +529,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -533,10 +533,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setPlayerListName(String name) { @@ -238,7 +238,7 @@ index 4cbd2816f0cdd0d7745bc70ccd0b288769e74498..aeea585b802966cd599e33a45887899c for (ServerPlayer player : (List) server.getHandle().players) { if (player.getBukkitEntity().canSee(this)) { player.connection.send(new ClientboundPlayerInfoUpdatePacket(ClientboundPlayerInfoUpdatePacket.Action.UPDATE_DISPLAY_NAME, this.getHandle())); -@@ -3194,5 +3199,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3202,5 +3207,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public boolean usesPurpurClient() { return getHandle().purpurClient; } @@ -260,7 +260,7 @@ index 4cbd2816f0cdd0d7745bc70ccd0b288769e74498..aeea585b802966cd599e33a45887899c // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 2f684a8f976f1f1a18c31f4c1a7eba9080099e55..c517873abdcb1e5334ba9e7a1c2f06bbbc411f87 100644 +index 6b0e6f3c93092dcabe53048a9260941c095ef996..66892e16e6c5cd505422e685045f243606aecdb0 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -174,8 +174,16 @@ public class PurpurConfig { diff --git a/patches/server/0013-Bring-back-server-name.patch b/patches/server/0013-Bring-back-server-name.patch index e2927069f..87dcc6c66 100644 --- a/patches/server/0013-Bring-back-server-name.patch +++ b/patches/server/0013-Bring-back-server-name.patch @@ -17,10 +17,10 @@ index 818289e831e3dad29345c43265e2efd7689bc500..1ea3012995c738c67b31e997c138f824 public final boolean spawnNpcs = this.get("spawn-npcs", true); public final boolean pvp = this.get("pvp", true); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 0c2aa1408d8220b9d3369d8b0b39eb5769dd376e..3c7ef6dc1306c144de74cd540d509f67716ff434 100644 +index 700e6af9919af1b38bb725d2f99e952df17eb31a..7421f2966b7908a673a7c2b66d9b5ced214e2eff 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2935,4 +2935,11 @@ public final class CraftServer implements Server { +@@ -2936,4 +2936,11 @@ public final class CraftServer implements Server { } // Paper end diff --git a/patches/server/0016-Lagging-threshold.patch b/patches/server/0016-Lagging-threshold.patch index 37c789648..510719ec9 100644 --- a/patches/server/0016-Lagging-threshold.patch +++ b/patches/server/0016-Lagging-threshold.patch @@ -25,10 +25,10 @@ index 57f6de7872bfa80cf7668524975946cbd7fcda56..6cdcd4f105b15f10d60499572f6f4f83 } // Spigot end diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 3c7ef6dc1306c144de74cd540d509f67716ff434..9c949e2e7d2d25f0012b3e7bc2e054cac42230a3 100644 +index 7421f2966b7908a673a7c2b66d9b5ced214e2eff..14a5f137a9f925926406ea2a6b113fef88378c2e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2941,5 +2941,10 @@ public final class CraftServer implements Server { +@@ -2942,5 +2942,10 @@ public final class CraftServer implements Server { public String getServerName() { return this.getProperties().serverName; } @@ -40,7 +40,7 @@ index 3c7ef6dc1306c144de74cd540d509f67716ff434..9c949e2e7d2d25f0012b3e7bc2e054ca // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 16ed8266bbc08963aa3973f2e48a8f76b640ed18..dd3ed29fdac7ae1f35ecf520f92b9f36ca6fdb98 100644 +index 23c94e3872824d911d0bc25858f4ef4ebaefe36b..1c09a68b4cdc275ed85859eef678e1e6e98ae993 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -191,6 +191,11 @@ public class PurpurConfig { diff --git a/patches/server/0018-Player-invulnerabilities.patch b/patches/server/0018-Player-invulnerabilities.patch index e2885b71c..305ac86ef 100644 --- a/patches/server/0018-Player-invulnerabilities.patch +++ b/patches/server/0018-Player-invulnerabilities.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Player invulnerabilities diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 71905201cd42094fa3f545f29ada0f7ebcd7c21d..f5c5ed6cfb963ad2b5612fd7623d5e0f3ea058bb 100644 +index e16e2c7c802c387cc278542d6f013fc7441063e1..c3ce105219940d234320a415bd3050087db4778c 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -276,6 +276,7 @@ public class ServerPlayer extends Player { +@@ -278,6 +278,7 @@ public class ServerPlayer extends Player { public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - there are a lot of changes to do if we change all methods leading to the event public boolean purpurClient = false; // Purpur @@ -16,7 +16,7 @@ index 71905201cd42094fa3f545f29ada0f7ebcd7c21d..f5c5ed6cfb963ad2b5612fd7623d5e0f public ServerPlayer(MinecraftServer server, ServerLevel world, GameProfile profile) { super(world, world.getSharedSpawnPos(), world.getSharedSpawnAngle(), profile); -@@ -375,6 +376,7 @@ public class ServerPlayer extends Player { +@@ -377,6 +378,7 @@ public class ServerPlayer extends Player { this.bukkitPickUpLoot = true; this.maxHealthCache = this.getMaxHealth(); this.cachedSingleMobDistanceMap = new com.destroystokyo.paper.util.PooledHashSets.PooledObjectLinkedOpenHashSet<>(this); // Paper @@ -24,7 +24,7 @@ index 71905201cd42094fa3f545f29ada0f7ebcd7c21d..f5c5ed6cfb963ad2b5612fd7623d5e0f } // Yes, this doesn't match Vanilla, but it's the best we can do for now. -@@ -1056,6 +1058,12 @@ public class ServerPlayer extends Player { +@@ -1058,6 +1060,12 @@ public class ServerPlayer extends Player { } @@ -37,7 +37,7 @@ index 71905201cd42094fa3f545f29ada0f7ebcd7c21d..f5c5ed6cfb963ad2b5612fd7623d5e0f @Override public boolean hurt(DamageSource source, float amount) { if (this.isInvulnerableTo(source)) { -@@ -1063,7 +1071,7 @@ public class ServerPlayer extends Player { +@@ -1065,7 +1073,7 @@ public class ServerPlayer extends Player { } else { boolean flag = this.server.isDedicatedServer() && this.isPvpAllowed() && source.is(DamageTypeTags.IS_FALL); @@ -46,7 +46,7 @@ index 71905201cd42094fa3f545f29ada0f7ebcd7c21d..f5c5ed6cfb963ad2b5612fd7623d5e0f return false; } else { Entity entity = source.getEntity(); -@@ -1243,6 +1251,7 @@ public class ServerPlayer extends Player { +@@ -1245,6 +1253,7 @@ public class ServerPlayer extends Player { } // Paper end @@ -54,7 +54,7 @@ index 71905201cd42094fa3f545f29ada0f7ebcd7c21d..f5c5ed6cfb963ad2b5612fd7623d5e0f return this; } } -@@ -2055,6 +2064,7 @@ public class ServerPlayer extends Player { +@@ -2057,6 +2066,7 @@ public class ServerPlayer extends Player { } public void sendTexturePack(String url, String hash, boolean required, @Nullable Component resourcePackPrompt) { @@ -62,7 +62,7 @@ index 71905201cd42094fa3f545f29ada0f7ebcd7c21d..f5c5ed6cfb963ad2b5612fd7623d5e0f this.connection.send(new ClientboundResourcePackPacket(url, hash, required, resourcePackPrompt)); } -@@ -2586,9 +2596,17 @@ public class ServerPlayer extends Player { +@@ -2599,9 +2609,17 @@ public class ServerPlayer extends Player { @Override public boolean isImmobile() { @@ -82,10 +82,10 @@ index 71905201cd42094fa3f545f29ada0f7ebcd7c21d..f5c5ed6cfb963ad2b5612fd7623d5e0f public Scoreboard getScoreboard() { return this.getBukkitEntity().getScoreboard().getHandle(); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index febae4d31eb82945765fa7606515a570d3f111ce..e7eec6e22f8ba5a5a7042cd82ece1fe0ec58b348 100644 +index 24545eaad4b0867b4d14f0418a27d465461c7e1e..db737258db16ec9f61d0d601a6ea5f6b14638033 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2091,12 +2091,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2092,12 +2092,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handleResourcePackResponse(ServerboundResourcePackPacket packet) { PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel()); @@ -108,10 +108,10 @@ index febae4d31eb82945765fa7606515a570d3f111ce..e7eec6e22f8ba5a5a7042cd82ece1fe0 this.cserver.getPluginManager().callEvent(new PlayerResourcePackStatusEvent(this.getCraftPlayer(), packStatus)); // CraftBukkit // Paper end diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index cb211e2aad3cc300099b724b7fa78cc4f24aee7c..4142e454d10e6ea3996e1ae372fcb1405829e52b 100644 +index 7387bc99cd4d5172ef93364608a9ba178cc3597c..1d92befb9b9dfb5877065beeb216bdf1caefb770 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -967,6 +967,8 @@ public abstract class PlayerList { +@@ -969,6 +969,8 @@ public abstract class PlayerList { } // Paper end @@ -121,10 +121,10 @@ index cb211e2aad3cc300099b724b7fa78cc4f24aee7c..4142e454d10e6ea3996e1ae372fcb140 return entityplayer1; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index aeea585b802966cd599e33a45887899cad31872b..c7fcf3da9ebfe139dd1777c17d5c62a9b9d5e039 100644 +index 2506882191e83a3cc03666a56e63c18f7adebb68..141b5428d65d7db133d59d76a214333e07620eee 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3214,5 +3214,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3222,5 +3222,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public void resetIdleTimer() { getHandle().resetLastActionTime(); } diff --git a/patches/server/0020-Alternative-Keepalive-Handling.patch b/patches/server/0020-Alternative-Keepalive-Handling.patch index aa1de013b..310613094 100644 --- a/patches/server/0020-Alternative-Keepalive-Handling.patch +++ b/patches/server/0020-Alternative-Keepalive-Handling.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Alternative Keepalive Handling diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index ae5f4ae4a82545a776bbff52ce98e91a4a8f5d9e..7335b3e0f7f3549e0c262ab3438f6dab9e393b82 100644 +index db737258db16ec9f61d0d601a6ea5f6b14638033..f7b3110cf30124fc4054bfcda6d5ad28a5c0a48c 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -262,6 +262,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -263,6 +263,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic private long keepAliveTime = Util.getMillis(); private boolean keepAlivePending; private long keepAliveChallenge; @@ -16,7 +16,7 @@ index ae5f4ae4a82545a776bbff52ce98e91a4a8f5d9e..7335b3e0f7f3549e0c262ab3438f6dab // CraftBukkit start - multithreaded fields private final AtomicInteger chatSpamTickCount = new AtomicInteger(); private final java.util.concurrent.atomic.AtomicInteger tabSpamLimiter = new java.util.concurrent.atomic.AtomicInteger(); // Paper - configurable tab spam limits -@@ -414,6 +415,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -415,6 +416,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic long currentTime = Util.getMillis(); long elapsedTime = currentTime - this.keepAliveTime; @@ -38,7 +38,7 @@ index ae5f4ae4a82545a776bbff52ce98e91a4a8f5d9e..7335b3e0f7f3549e0c262ab3438f6dab if (this.keepAlivePending) { if (!this.processedDisconnect && elapsedTime >= KEEPALIVE_LIMIT) { // check keepalive limit, don't fire if already disconnected ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked due to keepalive timeout!", this.player.getScoreboardName()); // more info -@@ -3521,6 +3537,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3527,6 +3543,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handleKeepAlive(ServerboundKeepAlivePacket packet) { diff --git a/patches/server/0033-Add-option-to-set-armorstand-step-height.patch b/patches/server/0033-Add-option-to-set-armorstand-step-height.patch index d2e663e43..87e6f8b6d 100644 --- a/patches/server/0033-Add-option-to-set-armorstand-step-height.patch +++ b/patches/server/0033-Add-option-to-set-armorstand-step-height.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add option to set armorstand step height diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 8c158da219c3ee91942ae93454317cfe87641f0d..a332f75440b336f371a30f9a6d6d9a1662fff5bd 100644 +index 9f26371ca53dba729a696626c35ef06043dfb995..de4e0d9ca36aa1b75005ad3dcd9b9910b89fc5f1 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -319,7 +319,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -320,7 +320,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { public double xOld; public double yOld; public double zOld; diff --git a/patches/server/0042-Minecart-settings-and-WASD-controls.patch b/patches/server/0042-Minecart-settings-and-WASD-controls.patch index 4547633e9..64c969f8c 100644 --- a/patches/server/0042-Minecart-settings-and-WASD-controls.patch +++ b/patches/server/0042-Minecart-settings-and-WASD-controls.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Minecart settings and WASD controls diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index f5c5ed6cfb963ad2b5612fd7623d5e0f3ea058bb..48118c5121e2a2f728d2121e5206c9aa71448145 100644 +index c3ce105219940d234320a415bd3050087db4778c..1224e5f2b34d32ffeb92300a1763dd6f52b3d1ce 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1069,6 +1069,7 @@ public class ServerPlayer extends Player { +@@ -1071,6 +1071,7 @@ public class ServerPlayer extends Player { if (this.isInvulnerableTo(source)) { return false; } else { @@ -17,10 +17,10 @@ index f5c5ed6cfb963ad2b5612fd7623d5e0f3ea058bb..48118c5121e2a2f728d2121e5206c9aa if (!flag && isSpawnInvulnerable() && !source.is(DamageTypeTags.BYPASSES_INVULNERABILITY)) { // Purpur 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 9a80cf593bbdd7681bc9395daf4545a98e07636f..14083c591edb9a7b1eae7bd21705a7f5f0c3cbfa 100644 +index ee4f924afe15c9a4d96af7a55b357076c7b28501..f774c27dd52219cd524b63cbaa1b23ad55ef849b 100644 --- a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java +++ b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java -@@ -106,11 +106,13 @@ public abstract class AbstractMinecart extends Entity { +@@ -107,11 +107,13 @@ public abstract class AbstractMinecart extends Entity { private double flyingY = 0.949999988079071D; // Paper - restore vanilla precision private double flyingZ = 0.949999988079071D; // Paper - restore vanilla precision public double maxSpeed = 0.4D; @@ -34,7 +34,7 @@ index 9a80cf593bbdd7681bc9395daf4545a98e07636f..14083c591edb9a7b1eae7bd21705a7f5 } protected AbstractMinecart(EntityType type, Level world, double x, double y, double z) { -@@ -333,6 +335,12 @@ public abstract class AbstractMinecart extends Entity { +@@ -334,6 +336,12 @@ public abstract class AbstractMinecart extends Entity { @Override public void tick() { @@ -47,7 +47,7 @@ index 9a80cf593bbdd7681bc9395daf4545a98e07636f..14083c591edb9a7b1eae7bd21705a7f5 // CraftBukkit start double prevX = this.getX(); double prevY = this.getY(); -@@ -496,16 +504,63 @@ public abstract class AbstractMinecart extends Entity { +@@ -497,16 +505,63 @@ public abstract class AbstractMinecart extends Entity { public void activateMinecart(int x, int y, int z, boolean powered) {} diff --git a/patches/server/0047-Add-permission-for-F3-N-debug.patch b/patches/server/0047-Add-permission-for-F3-N-debug.patch index b9c83eca3..526993771 100644 --- a/patches/server/0047-Add-permission-for-F3-N-debug.patch +++ b/patches/server/0047-Add-permission-for-F3-N-debug.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add permission for F3+N debug diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 4142e454d10e6ea3996e1ae372fcb1405829e52b..2069633c7fc3af7cef94e92ff03da6c9198c4524 100644 +index 1d92befb9b9dfb5877065beeb216bdf1caefb770..68905d5121eb05b825602d2bf24612283481c205 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1146,6 +1146,7 @@ public abstract class PlayerList { +@@ -1148,6 +1148,7 @@ public abstract class PlayerList { } else { b0 = (byte) (24 + permissionLevel); } diff --git a/patches/server/0056-Configurable-void-damage-height-and-damage.patch b/patches/server/0056-Configurable-void-damage-height-and-damage.patch index ee66cc734..30ce7c594 100644 --- a/patches/server/0056-Configurable-void-damage-height-and-damage.patch +++ b/patches/server/0056-Configurable-void-damage-height-and-damage.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Configurable void damage height and damage diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index a332f75440b336f371a30f9a6d6d9a1662fff5bd..12642555cc6a57315740bd1c8911432db5b0b225 100644 +index de4e0d9ca36aa1b75005ad3dcd9b9910b89fc5f1..8bf194c2db3f775405c7117c6882ecd398922c2a 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -893,7 +893,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -894,7 +894,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { public void checkOutOfWorld() { // Paper start - Configurable nether ceiling damage diff --git a/patches/server/0057-Add-canSaveToDisk-to-Entity.patch b/patches/server/0057-Add-canSaveToDisk-to-Entity.patch index 90fd28376..1421c5bbc 100644 --- a/patches/server/0057-Add-canSaveToDisk-to-Entity.patch +++ b/patches/server/0057-Add-canSaveToDisk-to-Entity.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add canSaveToDisk to Entity diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 12642555cc6a57315740bd1c8911432db5b0b225..2c624a1779ada0c89ce0eb13234a4924bb16b9e4 100644 +index 8bf194c2db3f775405c7117c6882ecd398922c2a..a617879ca6c819c40c21df3519f106620220a70e 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -4792,5 +4792,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4793,5 +4793,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { public boolean processClick(InteractionHand hand) { return false; } diff --git a/patches/server/0059-Add-option-for-boats-to-eject-players-on-land.patch b/patches/server/0059-Add-option-for-boats-to-eject-players-on-land.patch index a4a47fdfb..f18239864 100644 --- a/patches/server/0059-Add-option-for-boats-to-eject-players-on-land.patch +++ b/patches/server/0059-Add-option-for-boats-to-eject-players-on-land.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add option for boats to eject players on land diff --git a/src/main/java/net/minecraft/world/entity/vehicle/Boat.java b/src/main/java/net/minecraft/world/entity/vehicle/Boat.java -index 5095e47b4910167235afdd8f1a7e9c45124ecadb..fb8f2d0a15c7a56c8e75b8fda781bf36e97dbc4b 100644 +index 12e3209c5246ede89daaf8455fe70b4a517e12f6..9038d694ea8d56aaed4794f55f7c23b8c1358ba7 100644 --- a/src/main/java/net/minecraft/world/entity/vehicle/Boat.java +++ b/src/main/java/net/minecraft/world/entity/vehicle/Boat.java -@@ -540,6 +540,7 @@ public class Boat extends Entity implements VariantHolder { +@@ -541,6 +541,7 @@ public class Boat extends Entity implements VariantHolder { if (f > 0.0F) { this.landFriction = f; diff --git a/patches/server/0060-Mending-mends-most-damages-equipment-first.patch b/patches/server/0060-Mending-mends-most-damages-equipment-first.patch index 04c1932c7..e91bbb3f2 100644 --- a/patches/server/0060-Mending-mends-most-damages-equipment-first.patch +++ b/patches/server/0060-Mending-mends-most-damages-equipment-first.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Mending mends most damages equipment first diff --git a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java -index 2d3994de8e40eedc78c27ea842b6265b1c5ea822..7043f15f84d6c847bf376025c8e2150bdf650457 100644 +index a9f20e6a73e2e1875abd1e122a5d08c4ef44f9d8..0813151ba9d1dcf1aa40fb4c7f259510adc326da 100644 --- a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java +++ b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java -@@ -323,7 +323,7 @@ public class ExperienceOrb extends Entity { +@@ -324,7 +324,7 @@ public class ExperienceOrb extends Entity { } private int repairPlayerItems(Player player, int amount) { @@ -18,7 +18,7 @@ index 2d3994de8e40eedc78c27ea842b6265b1c5ea822..7043f15f84d6c847bf376025c8e2150b if (entry != null) { ItemStack itemstack = (ItemStack) entry.getValue(); diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index a7533d18fe6148d7bfd3106b9cdcb6fa3347cf7c..be0585ce01d851105699e02e6b35e486f0c13a88 100644 +index d81fcbadc5c0b3d4b54dde5d47a0f847d8ec6918..a9fd9aa145a2d06d6d6733c541a0d13e6cadbecb 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -566,6 +566,16 @@ public final class ItemStack { diff --git a/patches/server/0061-Add-5-second-tps-average-in-tps.patch b/patches/server/0061-Add-5-second-tps-average-in-tps.patch index b28588cec..d1f9ecb47 100644 --- a/patches/server/0061-Add-5-second-tps-average-in-tps.patch +++ b/patches/server/0061-Add-5-second-tps-average-in-tps.patch @@ -69,10 +69,10 @@ index ceaafede643bac0b6714df3d5475b4cb03b2eaed..65ba915d3644b638ce3b5314c0aed5b2 lagging = recentTps[0] < org.purpurmc.purpur.PurpurConfig.laggingThreshold; // Purpur tickSection = curTime; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 9c949e2e7d2d25f0012b3e7bc2e054cac42230a3..4df7b6ccb7d130f11d219ca4857604c753f3007c 100644 +index 14a5f137a9f925926406ea2a6b113fef88378c2e..a78bc6977e37c2eaa61b1618a386feab1e4229c3 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2702,6 +2702,7 @@ public final class CraftServer implements Server { +@@ -2703,6 +2703,7 @@ public final class CraftServer implements Server { @Override public double[] getTPS() { return new double[] { diff --git a/patches/server/0071-Implement-respawn-anchor-explosion-options.patch b/patches/server/0071-Implement-respawn-anchor-explosion-options.patch index a7b2a515d..41476f2a1 100644 --- a/patches/server/0071-Implement-respawn-anchor-explosion-options.patch +++ b/patches/server/0071-Implement-respawn-anchor-explosion-options.patch @@ -5,15 +5,15 @@ Subject: [PATCH] Implement respawn anchor explosion options diff --git a/src/main/java/net/minecraft/world/level/block/RespawnAnchorBlock.java b/src/main/java/net/minecraft/world/level/block/RespawnAnchorBlock.java -index bcea8af63b9911c36873290e5c34567b1eeaacf4..a81fe948398a4d65929d75c821177f09cef67a20 100644 +index 2ed78cf83c0ae66a6ddba1ff307da89a24b0d0a8..ae17d6a54fad0bd2d71d306f418b5ced2f11b863 100644 --- a/src/main/java/net/minecraft/world/level/block/RespawnAnchorBlock.java +++ b/src/main/java/net/minecraft/world/level/block/RespawnAnchorBlock.java -@@ -127,7 +127,7 @@ public class RespawnAnchorBlock extends Block { - } +@@ -141,7 +141,7 @@ public class RespawnAnchorBlock extends Block { }; - Vec3 vec3 = explodedPos.getCenter(); -- world.explode((Entity)null, world.damageSources().badRespawnPointExplosion(vec3, explodedBlockState), explosionDamageCalculator, vec3, 5.0F, true, Level.ExplosionInteraction.BLOCK); -+ if (world.purpurConfig.respawnAnchorExplode) world.explode((Entity)null, world.damageSources().badRespawnPointExplosion(vec3, explodedBlockState), explosionDamageCalculator, vec3, (float) world.purpurConfig.respawnAnchorExplosionPower, world.purpurConfig.respawnAnchorExplosionFire, world.purpurConfig.respawnAnchorExplosionEffect); // Paper - exploded block state // Purpur + Vec3 vec3d = explodedPos.getCenter(); + +- world.explode((Entity) null, world.damageSources().badRespawnPointExplosion(vec3d, explodedBlockState), explosiondamagecalculator, vec3d, 5.0F, true, Level.ExplosionInteraction.BLOCK); // Paper ++ if (world.purpurConfig.respawnAnchorExplode)world.explode((Entity) null, world.damageSources().badRespawnPointExplosion(vec3d, explodedBlockState), explosiondamagecalculator, vec3d, (float) world.purpurConfig.respawnAnchorExplosionPower, world.purpurConfig.respawnAnchorExplosionFire, world.purpurConfig.respawnAnchorExplosionEffect); // Paper // Purpur } public static boolean canSetSpawn(Level world) { diff --git a/patches/server/0073-Allow-color-codes-in-books.patch b/patches/server/0073-Allow-color-codes-in-books.patch index d11da07bb..f0fb0a953 100644 --- a/patches/server/0073-Allow-color-codes-in-books.patch +++ b/patches/server/0073-Allow-color-codes-in-books.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Allow color codes in books diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index ca23fe56e7ccc0ee4fcb8bb2c801dd0360b92e8a..f85084bde6f29a8ecd3d660e55916874f8b7d38b 100644 +index f7b3110cf30124fc4054bfcda6d5ad28a5c0a48c..556a9fcf0efd08cfc2b60acf79e74bfdb254903d 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1341,13 +1341,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1342,13 +1342,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic itemstack1.setTag(nbttagcompound.copy()); } @@ -28,7 +28,7 @@ index ca23fe56e7ccc0ee4fcb8bb2c801dd0360b92e8a..f85084bde6f29a8ecd3d660e55916874 this.updateBookPages(pages, (s) -> { return Component.Serializer.toJson(Component.literal(s)); -@@ -1359,10 +1362,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1360,10 +1363,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic private void updateBookPages(List list, UnaryOperator unaryoperator, ItemStack itemstack, int slot, ItemStack handItem) { // CraftBukkit ListTag nbttaglist = new ListTag(); @@ -44,7 +44,7 @@ index ca23fe56e7ccc0ee4fcb8bb2c801dd0360b92e8a..f85084bde6f29a8ecd3d660e55916874 Objects.requireNonNull(nbttaglist); stream.forEach(nbttaglist::add); -@@ -1372,11 +1378,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1373,11 +1379,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic for (int j = list.size(); i < j; ++i) { FilteredText filteredtext = (FilteredText) list.get(i); @@ -58,7 +58,7 @@ index ca23fe56e7ccc0ee4fcb8bb2c801dd0360b92e8a..f85084bde6f29a8ecd3d660e55916874 } } -@@ -1389,6 +1395,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1390,6 +1396,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.player.getInventory().setItem(slot, CraftEventFactory.handleEditBookEvent(player, slot, handItem, itemstack)); // CraftBukkit // Paper - Don't ignore result (see other callsite for handleEditBookEvent) } diff --git a/patches/server/0074-Entity-lifespan.patch b/patches/server/0074-Entity-lifespan.patch index 1fe7f94ce..dd504a7fc 100644 --- a/patches/server/0074-Entity-lifespan.patch +++ b/patches/server/0074-Entity-lifespan.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Entity lifespan diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 7423be3018b07f67ef9aa654eba7a25a0d4839da..ad13603b562901a8d2dc538f960fd728cc9f2a1b 100644 +index 556a9fcf0efd08cfc2b60acf79e74bfdb254903d..d4280dcd4b8a4e09ef1b6c6d89ea5c58468f7229 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2855,6 +2855,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2861,6 +2861,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic AABB axisalignedbb = entity.getBoundingBox(); if (axisalignedbb.distanceToSqr(this.player.getEyePosition()) < ServerGamePacketListenerImpl.MAX_INTERACTION_DISTANCE) { diff --git a/patches/server/0075-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch b/patches/server/0075-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch index f158aa387..cf6f7cacc 100644 --- a/patches/server/0075-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch +++ b/patches/server/0075-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add option to teleport to spawn if outside world border diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 48118c5121e2a2f728d2121e5206c9aa71448145..81f9b830df5cec8c5748027b09fe97a5a47bb1c7 100644 +index 1224e5f2b34d32ffeb92300a1763dd6f52b3d1ce..581685e53fc9b63d291ba4904e47e8afc1119c9a 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2655,4 +2655,26 @@ public class ServerPlayer extends Player { +@@ -2668,4 +2668,26 @@ public class ServerPlayer extends Player { return (CraftPlayer) super.getBukkitEntity(); } // CraftBukkit end diff --git a/patches/server/0083-Dispensers-place-anvils-option.patch b/patches/server/0083-Dispensers-place-anvils-option.patch index 5cedbecdb..f538a15ca 100644 --- a/patches/server/0083-Dispensers-place-anvils-option.patch +++ b/patches/server/0083-Dispensers-place-anvils-option.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Dispensers place anvils option diff --git a/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java b/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java -index 9598aa381978194fee859721731196f0e6ee08fc..2db46452d374f9b53db7bd80be5fbd9c8fce2c3e 100644 +index 88d18d18d69876c98e199acb647c6cca9448d55d..da9cc93f560269a00f0093ad76aba3a05eedb046 100644 --- a/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java +++ b/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java @@ -52,6 +52,7 @@ import net.minecraft.world.item.SpawnEggItem; @@ -16,7 +16,7 @@ index 9598aa381978194fee859721731196f0e6ee08fc..2db46452d374f9b53db7bd80be5fbd9c import net.minecraft.world.level.block.BaseFireBlock; import net.minecraft.world.level.block.BeehiveBlock; import net.minecraft.world.level.block.Block; -@@ -1167,6 +1168,23 @@ public interface DispenseItemBehavior { +@@ -1168,6 +1169,23 @@ public interface DispenseItemBehavior { } } }); diff --git a/patches/server/0087-Stop-squids-floating-on-top-of-water.patch b/patches/server/0087-Stop-squids-floating-on-top-of-water.patch index 7fdc27442..cc48bff05 100644 --- a/patches/server/0087-Stop-squids-floating-on-top-of-water.patch +++ b/patches/server/0087-Stop-squids-floating-on-top-of-water.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Stop squids floating on top of water diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 2c624a1779ada0c89ce0eb13234a4924bb16b9e4..7f90a35652f543f68773309208bfa8ae727abdd0 100644 +index a617879ca6c819c40c21df3519f106620220a70e..fcaeeb8885e20cc8de51831b4fbfe827e5cc94a1 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -4224,6 +4224,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4225,6 +4225,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { this.yRotO = this.getYRot(); } diff --git a/patches/server/0089-Entities-can-use-portals-configuration.patch b/patches/server/0089-Entities-can-use-portals-configuration.patch index 37e8d9978..dd231ca74 100644 --- a/patches/server/0089-Entities-can-use-portals-configuration.patch +++ b/patches/server/0089-Entities-can-use-portals-configuration.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Entities can use portals configuration diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 7f90a35652f543f68773309208bfa8ae727abdd0..adb5f4fa1f1f4ec3180da4f8ad0a322eaa47f9ac 100644 +index fcaeeb8885e20cc8de51831b4fbfe827e5cc94a1..489b124bcc7bd60830415563329f3567988ccf9b 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2940,7 +2940,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2941,7 +2941,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { public void handleInsidePortal(BlockPos pos) { if (this.isOnPortalCooldown()) { this.setPortalCooldown(); @@ -17,7 +17,7 @@ index 7f90a35652f543f68773309208bfa8ae727abdd0..adb5f4fa1f1f4ec3180da4f8ad0a322e if (!this.level.isClientSide && !pos.equals(this.portalEntrancePos)) { this.portalEntrancePos = pos.immutable(); } -@@ -3632,7 +3632,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3633,7 +3633,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } public boolean canChangeDimensions() { diff --git a/patches/server/0106-Apply-display-names-from-item-forms-of-entities-to-e.patch b/patches/server/0106-Apply-display-names-from-item-forms-of-entities-to-e.patch index 193e340e1..c5de6c5c2 100644 --- a/patches/server/0106-Apply-display-names-from-item-forms-of-entities-to-e.patch +++ b/patches/server/0106-Apply-display-names-from-item-forms-of-entities-to-e.patch @@ -57,10 +57,10 @@ index cefb3d0658e56c7c103626b8cfc5faa05f03665b..90cab3586d3e3e290475fe8d59a69d89 } diff --git a/src/main/java/net/minecraft/world/entity/vehicle/Boat.java b/src/main/java/net/minecraft/world/entity/vehicle/Boat.java -index fb8f2d0a15c7a56c8e75b8fda781bf36e97dbc4b..33de7cca8063618466fe47417e700a5b15c8dc70 100644 +index 9038d694ea8d56aaed4794f55f7c23b8c1358ba7..06421017e3a7a0511c253e2ad4a028b0c156c9a8 100644 --- a/src/main/java/net/minecraft/world/entity/vehicle/Boat.java +++ b/src/main/java/net/minecraft/world/entity/vehicle/Boat.java -@@ -222,7 +222,13 @@ public class Boat extends Entity implements VariantHolder { +@@ -223,7 +223,13 @@ public class Boat extends Entity implements VariantHolder { } protected void destroy(DamageSource source) { diff --git a/patches/server/0111-Add-boat-fall-damage-config.patch b/patches/server/0111-Add-boat-fall-damage-config.patch index 53b5c2d27..1c63a968d 100644 --- a/patches/server/0111-Add-boat-fall-damage-config.patch +++ b/patches/server/0111-Add-boat-fall-damage-config.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add boat fall damage config diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 81f9b830df5cec8c5748027b09fe97a5a47bb1c7..dc1cffa39659505f44ee81a38066c274fda09a43 100644 +index 581685e53fc9b63d291ba4904e47e8afc1119c9a..02078f459eb7230a5ac9b4499d961c8b37e5b196 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1069,7 +1069,16 @@ public class ServerPlayer extends Player { +@@ -1071,7 +1071,16 @@ public class ServerPlayer extends Player { if (this.isInvulnerableTo(source)) { return false; } else { diff --git a/patches/server/0120-Implement-TPSBar.patch b/patches/server/0120-Implement-TPSBar.patch index 5071bafc8..87d7d63c5 100644 --- a/patches/server/0120-Implement-TPSBar.patch +++ b/patches/server/0120-Implement-TPSBar.patch @@ -42,10 +42,10 @@ index ca6a2fee12ac8a89dae57aa2787462f190463cd0..e0b2819d6c73a9ca1fa60ff71d29e201 } } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index dc1cffa39659505f44ee81a38066c274fda09a43..a7f674f456be825bbabb2c86c93afde77db96a33 100644 +index 02078f459eb7230a5ac9b4499d961c8b37e5b196..06c225972d5a92296042ff612634f81298b32107 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -277,6 +277,7 @@ public class ServerPlayer extends Player { +@@ -279,6 +279,7 @@ public class ServerPlayer extends Player { public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - there are a lot of changes to do if we change all methods leading to the event public boolean purpurClient = false; // Purpur public boolean acceptingResourcePack = false; // Purpur @@ -53,7 +53,7 @@ index dc1cffa39659505f44ee81a38066c274fda09a43..a7f674f456be825bbabb2c86c93afde7 public ServerPlayer(MinecraftServer server, ServerLevel world, GameProfile profile) { super(world, world.getSharedSpawnPos(), world.getSharedSpawnAngle(), profile); -@@ -516,6 +517,7 @@ public class ServerPlayer extends Player { +@@ -518,6 +519,7 @@ public class ServerPlayer extends Player { } } @@ -61,7 +61,7 @@ index dc1cffa39659505f44ee81a38066c274fda09a43..a7f674f456be825bbabb2c86c93afde7 } @Override -@@ -582,6 +584,7 @@ public class ServerPlayer extends Player { +@@ -584,6 +586,7 @@ public class ServerPlayer extends Player { } this.getBukkitEntity().setExtraData(nbt); // CraftBukkit @@ -69,7 +69,7 @@ index dc1cffa39659505f44ee81a38066c274fda09a43..a7f674f456be825bbabb2c86c93afde7 } // CraftBukkit start - World fallback code, either respawn location or global spawn -@@ -2685,5 +2688,13 @@ public class ServerPlayer extends Player { +@@ -2698,5 +2701,13 @@ public class ServerPlayer extends Player { this.server.getPlayerList().respawn(this, toLevel, true, to, !toLevel.paperConfig().environment.disableTeleportationSuffocationCheck, org.bukkit.event.player.PlayerRespawnEvent.RespawnReason.DEATH); } } @@ -84,10 +84,10 @@ index dc1cffa39659505f44ee81a38066c274fda09a43..a7f674f456be825bbabb2c86c93afde7 // Purpur end } diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 2069633c7fc3af7cef94e92ff03da6c9198c4524..25be7c9e59666f27161d8f08129019764a70a512 100644 +index 68905d5121eb05b825602d2bf24612283481c205..cfe70ad065f7c5919faad67b171b9dbbabaea51c 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -467,6 +467,7 @@ public abstract class PlayerList { +@@ -469,6 +469,7 @@ public abstract class PlayerList { scoreboard.addPlayerToTeam(player.getScoreboardName(), collideRuleTeam); } // Paper end @@ -95,7 +95,7 @@ index 2069633c7fc3af7cef94e92ff03da6c9198c4524..25be7c9e59666f27161d8f0812901976 // CraftBukkit - Moved from above, added world PlayerList.LOGGER.info("{}[{}] logged in with entity id {} at ([{}]{}, {}, {})", player.getName().getString(), s1, player.getId(), worldserver1.serverLevelData.getLevelName(), player.getX(), player.getY(), player.getZ()); } -@@ -576,6 +577,8 @@ public abstract class PlayerList { +@@ -578,6 +579,8 @@ public abstract class PlayerList { } public net.kyori.adventure.text.Component remove(ServerPlayer entityplayer, net.kyori.adventure.text.Component leaveMessage) { // Paper end @@ -105,7 +105,7 @@ index 2069633c7fc3af7cef94e92ff03da6c9198c4524..25be7c9e59666f27161d8f0812901976 entityplayer.awardStat(Stats.LEAVE_GAME); diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 126eb32d182b78b07add872aad6a821334639662..5b0625955e2a65f689c8a128d73170bc1f0c8025 100644 +index ce59c8dbbf6cdc684befe9302107645795576e48..74882c48068d01d59adbfc0c51bd7f2b7f756e6a 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -181,6 +181,7 @@ public class PurpurConfig { diff --git a/patches/server/0122-PlayerBookTooLargeEvent.patch b/patches/server/0122-PlayerBookTooLargeEvent.patch index 7b5f201cb..06c5e738a 100644 --- a/patches/server/0122-PlayerBookTooLargeEvent.patch +++ b/patches/server/0122-PlayerBookTooLargeEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] PlayerBookTooLargeEvent diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 4ddd14db772f003f603a4965166a3f939327e330..a235aa137c7d0f37a848376d41acb6766c4d8ace 100644 +index d4280dcd4b8a4e09ef1b6c6d89ea5c58468f7229..d9a6a5ef1cd419d2111e49d42df8b866e90d9c6b 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1261,10 +1261,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1262,10 +1262,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic int maxBookPageSize = io.papermc.paper.configuration.GlobalConfiguration.get().itemValidation.bookSize.pageMax; double multiplier = Math.max(0.3D, Math.min(1D, io.papermc.paper.configuration.GlobalConfiguration.get().itemValidation.bookSize.totalMultiplier)); long byteAllowed = maxBookPageSize; @@ -21,7 +21,7 @@ index 4ddd14db772f003f603a4965166a3f939327e330..a235aa137c7d0f37a848376d41acb676 server.scheduleOnMain(() -> this.disconnect("Book too large!", org.bukkit.event.player.PlayerKickEvent.Cause.ILLEGAL_ACTION)); // Paper - kick event cause return; } -@@ -1288,6 +1290,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1289,6 +1291,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic if (byteTotal > byteAllowed) { ServerGamePacketListenerImpl.LOGGER.warn(this.player.getScoreboardName() + " tried to send too large of a book. Book Size: " + byteTotal + " - Allowed: "+ byteAllowed + " - Pages: " + pageList.size()); diff --git a/patches/server/0127-Add-EntityTeleportHinderedEvent.patch b/patches/server/0127-Add-EntityTeleportHinderedEvent.patch index 67cce2f47..b15d83b7e 100644 --- a/patches/server/0127-Add-EntityTeleportHinderedEvent.patch +++ b/patches/server/0127-Add-EntityTeleportHinderedEvent.patch @@ -55,7 +55,7 @@ index a6ab0d0defc05e56a91084c49897059670a1324b..2c085c4a154cb0f8a1d38453f43474a7 EntityPortalEnterEvent event = new EntityPortalEnterEvent(entity.getBukkitEntity(), new org.bukkit.Location(world.getWorld(), pos.getX(), pos.getY(), pos.getZ())); world.getCraftServer().getPluginManager().callEvent(event); diff --git a/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java -index 690d498a97b943a62e8ea415450ca44a2349fee0..43ca8471d7d4d2d561cba7e2a952a16ed200a961 100644 +index e9466871a329c47204b251263e3922b8f1f9c176..a4cd9869988f414ce1bf14d38442f78207e3f048 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java @@ -179,6 +179,14 @@ public class TheEndGatewayBlockEntity extends TheEndPortalBlockEntity { @@ -74,7 +74,7 @@ index 690d498a97b943a62e8ea415450ca44a2349fee0..43ca8471d7d4d2d561cba7e2a952a16e blockEntity.teleportCooldown = 100; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index fa6938626c64ed17a2f56739d5801494ea6f3be1..df33bd0c97faa3c7eb4ab6cbe7286f6a9aaa37d6 100644 +index a4644b1d9abb7ffeda89801e4562a078ffe43288..ef683027bc840999d70420b2d6c751ca07c168e9 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -586,6 +586,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { @@ -89,10 +89,10 @@ index fa6938626c64ed17a2f56739d5801494ea6f3be1..df33bd0c97faa3c7eb4ab6cbe7286f6a } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index c7fcf3da9ebfe139dd1777c17d5c62a9b9d5e039..1d47586b7301e883ff76876359534d71a684f3d6 100644 +index 141b5428d65d7db133d59d76a214333e07620eee..10230658e2c3840af136bd90621992ed04551832 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1364,6 +1364,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1362,6 +1362,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } if (entity.isVehicle() && !ignorePassengers) { // Paper - Teleport API diff --git a/patches/server/0129-Movement-options-for-armor-stands.patch b/patches/server/0129-Movement-options-for-armor-stands.patch index 7fdd98745..50d63cbc7 100644 --- a/patches/server/0129-Movement-options-for-armor-stands.patch +++ b/patches/server/0129-Movement-options-for-armor-stands.patch @@ -17,10 +17,10 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index adb5f4fa1f1f4ec3180da4f8ad0a322eaa47f9ac..a59d5b1aa9ff67830f521ea3ff1d27e7874ba4bb 100644 +index 489b124bcc7bd60830415563329f3567988ccf9b..a1be9f2cbc2d66f9d4c5a66dc8a620435f9073a5 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -1745,7 +1745,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1746,7 +1746,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { return this.isInWater() || flag; } diff --git a/patches/server/0130-Fix-stuck-in-portals.patch b/patches/server/0130-Fix-stuck-in-portals.patch index f07770be0..a8dc54c3b 100644 --- a/patches/server/0130-Fix-stuck-in-portals.patch +++ b/patches/server/0130-Fix-stuck-in-portals.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix stuck in portals diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index a7f674f456be825bbabb2c86c93afde77db96a33..fad36f2d2a302a2da1c5bd9d199437e9489349b9 100644 +index 06c225972d5a92296042ff612634f81298b32107..9610ab9ba4803f6841c797f740ac5cdc758a70e3 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1228,6 +1228,7 @@ public class ServerPlayer extends Player { +@@ -1230,6 +1230,7 @@ public class ServerPlayer extends Player { playerlist.sendPlayerPermissionLevel(this); worldserver1.removePlayerImmediately(this, Entity.RemovalReason.CHANGED_DIMENSION); this.unsetRemoved(); @@ -17,10 +17,10 @@ index a7f674f456be825bbabb2c86c93afde77db96a33..fad36f2d2a302a2da1c5bd9d199437e9 // CraftBukkit end this.setLevel(worldserver); diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index a59d5b1aa9ff67830f521ea3ff1d27e7874ba4bb..bfc65117bb9223799a8daee00f3c6833f10e4900 100644 +index a1be9f2cbc2d66f9d4c5a66dc8a620435f9073a5..fe44c47c5dea658cb812923ecc284671a15d3d24 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2937,12 +2937,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2938,12 +2938,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { return Vec3.directionFromRotation(this.getRotationVector()); } diff --git a/patches/server/0131-Toggle-for-water-sensitive-mob-damage.patch b/patches/server/0131-Toggle-for-water-sensitive-mob-damage.patch index 1d2485a10..ef4e6d24a 100644 --- a/patches/server/0131-Toggle-for-water-sensitive-mob-damage.patch +++ b/patches/server/0131-Toggle-for-water-sensitive-mob-damage.patch @@ -871,10 +871,10 @@ index 9c8ebbec20438401265d8049b33132f490e3c1ea..d67171c3b7d53a91ac9761385646cf9b @Override diff --git a/src/main/java/net/minecraft/world/entity/monster/Shulker.java b/src/main/java/net/minecraft/world/entity/monster/Shulker.java -index a17cb25071132d601ff42f884f2e668328c7df41..7fb3fe195d4f267735fadb740debc4ec72cb3c31 100644 +index 5a5dd029af3517f3552055b32a9d4951ac2e14e6..9c832e03a288ff0cdb6fbb34e6bea4ef69102ee7 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java +++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java -@@ -115,6 +115,11 @@ public class Shulker extends AbstractGolem implements VariantHolder iterable = world.getCollisions(this.player, this.player.getBoundingBox().deflate(9.999999747378752E-6D)); VoxelShape voxelshape = Shapes.create(box.deflate(9.999999747378752E-6D)); diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 5b0625955e2a65f689c8a128d73170bc1f0c8025..c8097ec7887ac8e689b6843d9ff7744d6a453478 100644 +index 74882c48068d01d59adbfc0c51bd7f2b7f756e6a..dcd2d690d36eb51e3e7217f0ddef5fc32d1fc0c6 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -182,6 +182,7 @@ public class PurpurConfig { diff --git a/patches/server/0138-Config-to-ignore-nearby-mobs-when-sleeping.patch b/patches/server/0138-Config-to-ignore-nearby-mobs-when-sleeping.patch index ac6220d4a..c417eb7d1 100644 --- a/patches/server/0138-Config-to-ignore-nearby-mobs-when-sleeping.patch +++ b/patches/server/0138-Config-to-ignore-nearby-mobs-when-sleeping.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Config to ignore nearby mobs when sleeping diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index fad36f2d2a302a2da1c5bd9d199437e9489349b9..f94f50541210f5b13dca3b546d84983ba246e399 100644 +index 9610ab9ba4803f6841c797f740ac5cdc758a70e3..272e7cc5fc33ec7148a47328d2ba9d88b11092d3 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1387,7 +1387,7 @@ public class ServerPlayer extends Player { +@@ -1389,7 +1389,7 @@ public class ServerPlayer extends Player { return entitymonster.isPreventingPlayerRest(this); }); diff --git a/patches/server/0150-Drowning-Settings.patch b/patches/server/0150-Drowning-Settings.patch index 8fdef133e..2ca1e9c05 100644 --- a/patches/server/0150-Drowning-Settings.patch +++ b/patches/server/0150-Drowning-Settings.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Drowning Settings diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index bfc65117bb9223799a8daee00f3c6833f10e4900..65ba54c6144612df47820d2c3a88ddb4bd4b3f0a 100644 +index fe44c47c5dea658cb812923ecc284671a15d3d24..4640f9659c501b7054a6f0034e49f4fe326ebdc9 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -3178,7 +3178,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3179,7 +3179,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } public int getMaxAirSupply() { diff --git a/patches/server/0165-Configurable-broadcast-settings.patch b/patches/server/0165-Configurable-broadcast-settings.patch index 91ce794fa..541ef099c 100644 --- a/patches/server/0165-Configurable-broadcast-settings.patch +++ b/patches/server/0165-Configurable-broadcast-settings.patch @@ -17,10 +17,10 @@ index 25b832fe30c3837d02b10017e58ad0fa9d097092..3919d9c193abcfd8b97dfb0ceb386384 // Paper end } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index f94f50541210f5b13dca3b546d84983ba246e399..02e196377924a000d42db855c77c74c7c1220595 100644 +index 272e7cc5fc33ec7148a47328d2ba9d88b11092d3..244ca77d8d50c4e30b90fc2df46bc7c291f94744 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -960,6 +960,7 @@ public class ServerPlayer extends Player { +@@ -962,6 +962,7 @@ public class ServerPlayer extends Player { })); Team scoreboardteambase = this.getTeam(); @@ -29,7 +29,7 @@ index f94f50541210f5b13dca3b546d84983ba246e399..02e196377924a000d42db855c77c74c7 if (scoreboardteambase.getDeathMessageVisibility() == Team.Visibility.HIDE_FOR_OTHER_TEAMS) { this.server.getPlayerList().broadcastSystemToTeam(this, ichatbasecomponent); diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index d4d58ae8dc114a26129cbe88e0025a0593ae13b9..8eddfbc2c702d877f5efbc69b9d55635e6561c55 100644 +index 43c2572dc1c091703b3d2fb6bc26e685383675df..6b29c1d551d647c0ff82434a466f92c20403ea73 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -201,6 +201,18 @@ public class PurpurConfig { diff --git a/patches/server/0171-Configurable-powered-rail-boost-modifier.patch b/patches/server/0171-Configurable-powered-rail-boost-modifier.patch index 73291d050..3dcfe8f3d 100644 --- a/patches/server/0171-Configurable-powered-rail-boost-modifier.patch +++ b/patches/server/0171-Configurable-powered-rail-boost-modifier.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Configurable powered rail boost modifier 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 14083c591edb9a7b1eae7bd21705a7f5f0c3cbfa..cd8239423d964ef9b708d283a329986cb02404e5 100644 +index f774c27dd52219cd524b63cbaa1b23ad55ef849b..ddcd7ada9f4bf5653bd8bf7c6cdb35d7243367d9 100644 --- a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java +++ b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java -@@ -722,7 +722,7 @@ public abstract class AbstractMinecart extends Entity { +@@ -723,7 +723,7 @@ public abstract class AbstractMinecart extends Entity { if (d18 > 0.01D) { double d20 = 0.06D; diff --git a/patches/server/0178-API-for-any-mob-to-burn-daylight.patch b/patches/server/0178-API-for-any-mob-to-burn-daylight.patch index 0a39e725a..df1e619ba 100644 --- a/patches/server/0178-API-for-any-mob-to-burn-daylight.patch +++ b/patches/server/0178-API-for-any-mob-to-burn-daylight.patch @@ -6,10 +6,10 @@ Subject: [PATCH] API for any mob to burn daylight Co-authored by: Encode42 diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 65ba54c6144612df47820d2c3a88ddb4bd4b3f0a..5b0377d9731936953b977a113e2bfe27ed1f74fa 100644 +index 4640f9659c501b7054a6f0034e49f4fe326ebdc9..f24fb3607c836014a93fcab19ac68253d0cdb8b3 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -4805,5 +4805,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4806,5 +4806,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { public boolean canSaveToDisk() { return true; } @@ -351,7 +351,7 @@ index 5cf17a81d8c2a784bbd406dc3725ebbbbdf4a045..114093185454a428e0ef9f0877ea4efd // Paper end diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index df33bd0c97faa3c7eb4ab6cbe7286f6a9aaa37d6..0db19dfbec593b9fd6f22970960fbe967bd7c280 100644 +index ef683027bc840999d70420b2d6c751ca07c168e9..bdb6485b7b3544e1b264a44ae919277221ce11ba 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -209,6 +209,11 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { diff --git a/patches/server/0182-Add-toggle-for-end-portal-safe-teleporting.patch b/patches/server/0182-Add-toggle-for-end-portal-safe-teleporting.patch index cd656b101..a013cd5a7 100644 --- a/patches/server/0182-Add-toggle-for-end-portal-safe-teleporting.patch +++ b/patches/server/0182-Add-toggle-for-end-portal-safe-teleporting.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add toggle for end portal safe teleporting diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 5b0377d9731936953b977a113e2bfe27ed1f74fa..dc327fb4cfc9fb0ad058dff0f2481e4678619473 100644 +index f24fb3607c836014a93fcab19ac68253d0cdb8b3..cb3a7b6b02867e88a78437c265ecdc3086b382a5 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2996,7 +2996,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2997,7 +2997,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } this.processPortalCooldown(); diff --git a/patches/server/0185-Allow-player-join-full-server-by-permission.patch b/patches/server/0185-Allow-player-join-full-server-by-permission.patch index 08a8ea13b..081bfd690 100644 --- a/patches/server/0185-Allow-player-join-full-server-by-permission.patch +++ b/patches/server/0185-Allow-player-join-full-server-by-permission.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Allow player join full server by permission diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 25be7c9e59666f27161d8f08129019764a70a512..4840b2adebeaf7927a043861d5b2cdf5c9b2cf0a 100644 +index cfe70ad065f7c5919faad67b171b9dbbabaea51c..2e404f8ef0f0f2f9de1356cf7f353b55ee1e9c45 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -732,7 +732,7 @@ public abstract class PlayerList { +@@ -734,7 +734,7 @@ public abstract class PlayerList { event.disallow(PlayerLoginEvent.Result.KICK_BANNED, PaperAdventure.asAdventure(ichatmutablecomponent)); // Paper - Adventure } else { // return this.players.size() >= this.maxPlayers && !this.canBypassPlayerLimit(gameprofile) ? IChatBaseComponent.translatable("multiplayer.disconnect.server_full") : null; diff --git a/patches/server/0186-Add-permission-bypass-for-portal-waiting.patch b/patches/server/0186-Add-permission-bypass-for-portal-waiting.patch index f7e37678a..a1bcde2de 100644 --- a/patches/server/0186-Add-permission-bypass-for-portal-waiting.patch +++ b/patches/server/0186-Add-permission-bypass-for-portal-waiting.patch @@ -26,10 +26,10 @@ index 75250719f8d10dd06471758b2848d132e5b1aa70..48d8198277720f17bd06e774746a9629 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index c8cccfcf4d572a9e65fce09621aeed2a7045003c..d27916575c5cd380711e7ce1709d8fac429c39e2 100644 +index 1b008e5217c5bbf566a213abb92e1c7c43a3a7c2..468023414b4a9119a3418b8e8a5e38375bbd2407 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -@@ -265,6 +265,7 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { +@@ -266,6 +266,7 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { @Override public void recalculatePermissions() { this.perm.recalculatePermissions(); diff --git a/patches/server/0187-Shulker-spawn-from-bullet-options.patch b/patches/server/0187-Shulker-spawn-from-bullet-options.patch index f6675e215..4f7ac16a8 100644 --- a/patches/server/0187-Shulker-spawn-from-bullet-options.patch +++ b/patches/server/0187-Shulker-spawn-from-bullet-options.patch @@ -13,10 +13,10 @@ Subject: [PATCH] Shulker spawn from bullet options (7 - 1) / 5.0 = 1.2 1.0 - 1.2 = -0.2 0% (6 other shulkers) diff --git a/src/main/java/net/minecraft/world/entity/monster/Shulker.java b/src/main/java/net/minecraft/world/entity/monster/Shulker.java -index 7fb3fe195d4f267735fadb740debc4ec72cb3c31..144a872afd4585767d1e96c3e51d4b9fd87dbf89 100644 +index 9c832e03a288ff0cdb6fbb34e6bea4ef69102ee7..a0d34af033130d88a19a078b628ea4fbce3d268e 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java +++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java -@@ -510,11 +510,20 @@ public class Shulker extends AbstractGolem implements VariantHolder getVariant() { diff --git a/patches/server/0195-Summoner-API.patch b/patches/server/0195-Summoner-API.patch index f76e3a6d8..bdb645ab2 100644 --- a/patches/server/0195-Summoner-API.patch +++ b/patches/server/0195-Summoner-API.patch @@ -232,11 +232,11 @@ index 42b7058d93fab8cbee49dba130734e1df9910096..5c6f55527cc0016f09b443528463b390 + // Purpur end } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftWither.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftWither.java -index 4cf3a374c9ee7c7bcf82e778aa094eb4f8463595..5c1bfd37d4494525d7890f6530a68ae47353e157 100644 +index 1a21d30620f13a48976da5ead7edab201ea68b21..a50a04dc2009515032058562627eba8e4406c5bb 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftWither.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftWither.java -@@ -88,4 +88,17 @@ public class CraftWither extends CraftMonster implements Wither, com.destroystok - getHandle().setCanTravelThroughPortals(value); +@@ -105,4 +105,17 @@ public class CraftWither extends CraftMonster implements Wither, com.destroystok + this.getHandle().makeInvulnerable(); } // Paper end + diff --git a/patches/server/0202-Add-compass-command.patch b/patches/server/0202-Add-compass-command.patch index f6c86cf9d..a23a1ce45 100644 --- a/patches/server/0202-Add-compass-command.patch +++ b/patches/server/0202-Add-compass-command.patch @@ -17,10 +17,10 @@ index 23e19bfbc41c5982a746ad0b5ba8c5834c2494a5..314ab6183e31b4bac6a40c1f8007d48e if (environment.includeIntegrated) { diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 02e196377924a000d42db855c77c74c7c1220595..e79f0c9832927ba9b03c68669c5bb0fb5586d37a 100644 +index 244ca77d8d50c4e30b90fc2df46bc7c291f94744..0ac5a879c9098ea37f23cf4a23046e82c27231f4 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -278,6 +278,7 @@ public class ServerPlayer extends Player { +@@ -280,6 +280,7 @@ public class ServerPlayer extends Player { public boolean purpurClient = false; // Purpur public boolean acceptingResourcePack = false; // Purpur private boolean tpsBar = false; // Purpur @@ -28,7 +28,7 @@ index 02e196377924a000d42db855c77c74c7c1220595..e79f0c9832927ba9b03c68669c5bb0fb public ServerPlayer(MinecraftServer server, ServerLevel world, GameProfile profile) { super(world, world.getSharedSpawnPos(), world.getSharedSpawnAngle(), profile); -@@ -518,6 +519,7 @@ public class ServerPlayer extends Player { +@@ -520,6 +521,7 @@ public class ServerPlayer extends Player { } if (nbt.contains("Purpur.TPSBar")) { this.tpsBar = nbt.getBoolean("Purpur.TPSBar"); } // Purpur @@ -36,7 +36,7 @@ index 02e196377924a000d42db855c77c74c7c1220595..e79f0c9832927ba9b03c68669c5bb0fb } @Override -@@ -585,6 +587,7 @@ public class ServerPlayer extends Player { +@@ -587,6 +589,7 @@ public class ServerPlayer extends Player { this.getBukkitEntity().setExtraData(nbt); // CraftBukkit nbt.putBoolean("Purpur.TPSBar", this.tpsBar); // Purpur @@ -44,7 +44,7 @@ index 02e196377924a000d42db855c77c74c7c1220595..e79f0c9832927ba9b03c68669c5bb0fb } // CraftBukkit start - World fallback code, either respawn location or global spawn -@@ -2698,5 +2701,13 @@ public class ServerPlayer extends Player { +@@ -2711,5 +2714,13 @@ public class ServerPlayer extends Player { public void tpsBar(boolean tpsBar) { this.tpsBar = tpsBar; } @@ -59,7 +59,7 @@ index 02e196377924a000d42db855c77c74c7c1220595..e79f0c9832927ba9b03c68669c5bb0fb // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 31f5d9bcc11dc78b0d04c55560d5a2fa18bf3896..42532975d8c5558a7598e759838e75f2f1cc485e 100644 +index 2c470ffdd3137e185e224de864d4248a4a290b41..7fe9d7939f6263878209724f38418006d680ba7b 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -251,6 +251,11 @@ public class PurpurConfig { @@ -89,7 +89,7 @@ index 31f5d9bcc11dc78b0d04c55560d5a2fa18bf3896..42532975d8c5558a7598e759838e75f2 hideHiddenPlayersFromEntitySelector = getBoolean("settings.command.hide-hidden-players-from-entity-selector", hideHiddenPlayersFromEntitySelector); uptimeFormat = getString("settings.command.uptime.format", uptimeFormat); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 572e4c14f2dfa3b0ff50c7322932e3083d37fe70..a066968f61c55c569a922137e5b837690f2f8ebd 100644 +index 6ea932028d3d429b23f3ed9e5f7fe852a0534ad4..95b44570978d036107b4b282d39289fed550cefe 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -224,6 +224,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0213-Shulker-change-color-with-dye.patch b/patches/server/0213-Shulker-change-color-with-dye.patch index 6caf037ef..c0fcdf1f3 100644 --- a/patches/server/0213-Shulker-change-color-with-dye.patch +++ b/patches/server/0213-Shulker-change-color-with-dye.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Shulker change color with dye diff --git a/src/main/java/net/minecraft/world/entity/monster/Shulker.java b/src/main/java/net/minecraft/world/entity/monster/Shulker.java -index 144a872afd4585767d1e96c3e51d4b9fd87dbf89..ec90f23f64ce4fefa0960ae9ddf72b771a76ca9d 100644 +index a0d34af033130d88a19a078b628ea4fbce3d268e..8825407882bbfe1b92b4da384bc0f0a3d2853acf 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java +++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java @@ -22,6 +22,8 @@ import net.minecraft.tags.DamageTypeTags; @@ -26,7 +26,7 @@ index 144a872afd4585767d1e96c3e51d4b9fd87dbf89..ec90f23f64ce4fefa0960ae9ddf72b77 import net.minecraft.world.level.Level; import net.minecraft.world.level.ServerLevelAccessor; import net.minecraft.world.level.block.Blocks; -@@ -120,6 +124,19 @@ public class Shulker extends AbstractGolem implements VariantHolder transaction = new java.util.ArrayList(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 4df7b6ccb7d130f11d219ca4857604c753f3007c..d7d6891e4cffd84409bbb00cfc35868dd282e2bc 100644 +index a78bc6977e37c2eaa61b1618a386feab1e4229c3..296b74bf4df1de9b353838f16049f7c2caf61eb2 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1431,6 +1431,19 @@ public final class CraftServer implements Server { +@@ -1432,6 +1432,19 @@ public final class CraftServer implements Server { return true; } diff --git a/patches/server/0218-Shift-right-click-to-use-exp-for-mending.patch b/patches/server/0218-Shift-right-click-to-use-exp-for-mending.patch index 585ae4d48..adb9f1fd7 100644 --- a/patches/server/0218-Shift-right-click-to-use-exp-for-mending.patch +++ b/patches/server/0218-Shift-right-click-to-use-exp-for-mending.patch @@ -36,10 +36,10 @@ index 6b186a49957e97a60bb245912211d58eb7b84c0d..75f29f6dddf50ccf7ef43ecfa602ccad + // Purpur end } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 0ace3d20fb71359a58659bb9ddf938d547f3750f..08453b8a4dc80deb0e3f878b0557af85f2859179 100644 +index 4345b10d2aad2d82155fe50f31139917e9e0d315..d65e562202557019bc941552b15476c99d6fd3ba 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2086,6 +2086,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2087,6 +2087,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic boolean cancelled; if (movingobjectposition == null || movingobjectposition.getType() != HitResult.Type.BLOCK) { @@ -48,7 +48,7 @@ index 0ace3d20fb71359a58659bb9ddf938d547f3750f..08453b8a4dc80deb0e3f878b0557af85 cancelled = event.useItemInHand() == Event.Result.DENY; } else { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 983ce2c38f27be08cb9a95305ff465222c8d307a..19108c36e9ceeb28c74f7b87547d5ad6ea267f2e 100644 +index b0b0f8b250a789e1e137305cbec4722e91b8047d..ec8ce58e11a31d5de4db55cd4030aa3526161d49 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -415,6 +415,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0229-Signs-allow-color-codes.patch b/patches/server/0229-Signs-allow-color-codes.patch index 0aca9f9f9..221aba156 100644 --- a/patches/server/0229-Signs-allow-color-codes.patch +++ b/patches/server/0229-Signs-allow-color-codes.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Signs allow color codes diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 9965a41fdde5152f7aedcc536cf7494362a88f4b..a42944ccf7ffa4c70ab65eaf692d7db8d9880bb0 100644 +index 0ac5a879c9098ea37f23cf4a23046e82c27231f4..d6edd8501d044980900ac011e1c4938b7fc4e64d 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1527,6 +1527,7 @@ public class ServerPlayer extends Player { +@@ -1529,6 +1529,7 @@ public class ServerPlayer extends Player { @Override public void openTextEdit(SignBlockEntity sign) { @@ -17,10 +17,10 @@ index 9965a41fdde5152f7aedcc536cf7494362a88f4b..a42944ccf7ffa4c70ab65eaf692d7db8 this.connection.send(new ClientboundBlockUpdatePacket(this.level, sign.getBlockPos())); this.connection.send(new ClientboundOpenSignEditorPacket(sign.getBlockPos())); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 32543bbe1b7c2789fa154b8beb9451488301d333..6111c8fc9454c45c18f24017a1a52e5124694628 100644 +index d65e562202557019bc941552b15476c99d6fd3ba..565ae94ff218e18e38a5502c06d0caca407293e3 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3545,11 +3545,17 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3551,11 +3551,17 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic for (int i = 0; i < signText.size(); ++i) { FilteredText filteredtext = (FilteredText) signText.get(i); diff --git a/patches/server/0231-Mobs-always-drop-experience.patch b/patches/server/0231-Mobs-always-drop-experience.patch index 3536bc7e0..712e85eb0 100644 --- a/patches/server/0231-Mobs-always-drop-experience.patch +++ b/patches/server/0231-Mobs-always-drop-experience.patch @@ -837,10 +837,10 @@ index 6798e9b616a3357ce68728395cb43344b9e16889..0099595a5daa9c0ca9e3fd35933038c1 @Override diff --git a/src/main/java/net/minecraft/world/entity/monster/Shulker.java b/src/main/java/net/minecraft/world/entity/monster/Shulker.java -index ec90f23f64ce4fefa0960ae9ddf72b771a76ca9d..07c78a6c4804f48c948e40819e55654683789bd4 100644 +index 8825407882bbfe1b92b4da384bc0f0a3d2853acf..8b03a027bff592b2257e065f328da6d86e11db98 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java +++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java -@@ -137,6 +137,11 @@ public class Shulker extends AbstractGolem implements VariantHolder { // Paper - Ensure main @@ -672,7 +672,7 @@ index 4840b2adebeaf7927a043861d5b2cdf5c9b2cf0a..33d4c1af86382cc3343d5db42283b27f int numSaved = 0; long now = MinecraftServer.currentTick; for (int i = 0; i < this.players.size(); ++i) { -@@ -1251,7 +1251,7 @@ public abstract class PlayerList { +@@ -1253,7 +1253,7 @@ public abstract class PlayerList { } // Paper end } diff --git a/patches/server/0276-Remove-Mojang-Profiler.patch b/patches/server/0276-Remove-Mojang-Profiler.patch index 024a2ecc4..67885d91e 100644 --- a/patches/server/0276-Remove-Mojang-Profiler.patch +++ b/patches/server/0276-Remove-Mojang-Profiler.patch @@ -556,7 +556,7 @@ index 2c23321c826d929981df51f2cc60cdcdb649a43f..0ae45cf5a084fd412305e8b2f5dabe60 } diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 2b82da383452b290ae99197c743e9a6ee5497713..10d602b947edaae6b78efe9d0773021bcb1c35bf 100644 +index e7e762bbc096c0e87c3d2513d67fec87807b55a4..86b8485c0fb1dc5cd79c9e24546dc74459822a48 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -654,12 +654,12 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -768,10 +768,10 @@ index 2b82da383452b290ae99197c743e9a6ee5497713..10d602b947edaae6b78efe9d0773021b while (iterator.hasNext()) { diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 15a5ad23531848dce7c6b0be9eefefb70e150608..ac63f8d93048a0e61f1e27abb4cc5e2b5cc5208e 100644 +index d6edd8501d044980900ac011e1c4938b7fc4e64d..15ec63fab5468bbfbfeefdf5475305fdf64b2b33 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1197,7 +1197,7 @@ public class ServerPlayer extends Player { +@@ -1199,7 +1199,7 @@ public class ServerPlayer extends Player { PortalInfo shapedetectorshape = this.findDimensionEntryPoint(worldserver); if (shapedetectorshape != null) { @@ -780,7 +780,7 @@ index 15a5ad23531848dce7c6b0be9eefefb70e150608..ac63f8d93048a0e61f1e27abb4cc5e2b worldserver = shapedetectorshape.world; // CraftBukkit if (worldserver == null) { } else // CraftBukkit - empty to fall through to null to event if (resourcekey == LevelStem.OVERWORLD && worldserver.getTypeKey() == LevelStem.NETHER) { // CraftBukkit -@@ -1220,8 +1220,8 @@ public class ServerPlayer extends Player { +@@ -1222,8 +1222,8 @@ public class ServerPlayer extends Player { worldserver = ((CraftWorld) exit.getWorld()).getHandle(); // CraftBukkit end @@ -791,7 +791,7 @@ index 15a5ad23531848dce7c6b0be9eefefb70e150608..ac63f8d93048a0e61f1e27abb4cc5e2b if (true) { // CraftBukkit this.isChangingDimension = true; // CraftBukkit - Set teleport invulnerability only if player changing worlds -@@ -1240,7 +1240,7 @@ public class ServerPlayer extends Player { +@@ -1242,7 +1242,7 @@ public class ServerPlayer extends Player { this.connection.teleport(exit); // CraftBukkit - use internal teleport without event this.connection.resetPosition(); worldserver.addDuringPortalTeleport(this); @@ -801,10 +801,10 @@ index 15a5ad23531848dce7c6b0be9eefefb70e150608..ac63f8d93048a0e61f1e27abb4cc5e2b this.connection.send(new ClientboundPlayerAbilitiesPacket(this.getAbilities())); playerlist.sendLevelInfo(this, worldserver); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 003e50f2d70ebf4e060a41675cb2f1fcea46f32d..3e304f035b1cd10cc525bfe6e409d61cb47562ee 100644 +index 5af28dcdd37d1bbe4d5873957e390016a9961fbb..f3ce7a1b5af187f281e0a3da03494ed323a585f9 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -409,7 +409,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -410,7 +410,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.aboveGroundVehicleTickCount = 0; } @@ -813,7 +813,7 @@ index 003e50f2d70ebf4e060a41675cb2f1fcea46f32d..3e304f035b1cd10cc525bfe6e409d61c // Paper Start - give clients a longer time to respond to pings as per pre 1.12.2 timings // This should effectively place the keepalive handling back to "as it was" before 1.12.2 long currentTime = Util.getMillis(); -@@ -445,7 +445,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -446,7 +446,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } // Paper end @@ -1027,10 +1027,10 @@ index 2e6e8eac987c4ef6b2dcd3de592d8a51d2b29792..863343a87fe34d72f04af89d75268b47 }; } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 20221ab20b5589f663b8d26c504578af33adc8f2..55116e7a7b70a6f9db187ac7ef0747fe5100cacd 100644 +index 3e929ec3fd377b0679ac7070e61378c86d616c92..def4a9fd76b99f4f30fc2f9551cb6b283035cc88 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -823,7 +823,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -824,7 +824,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { return; } // Pufferfish end - entity TTL @@ -1039,7 +1039,7 @@ index 20221ab20b5589f663b8d26c504578af33adc8f2..55116e7a7b70a6f9db187ac7ef0747fe if (firstTick && this instanceof net.minecraft.world.entity.NeutralMob neutralMob) neutralMob.tickInitialPersistentAnger(level); // Paper - Update last hurt when ticking this.feetBlockState = null; if (this.isPassenger() && this.getVehicle().isRemoved()) { -@@ -884,7 +884,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -885,7 +885,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } this.firstTick = false; @@ -1048,7 +1048,7 @@ index 20221ab20b5589f663b8d26c504578af33adc8f2..55116e7a7b70a6f9db187ac7ef0747fe } public void setSharedFlagOnFire(boolean onFire) { -@@ -1058,7 +1058,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1059,7 +1059,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } } @@ -1057,7 +1057,7 @@ index 20221ab20b5589f663b8d26c504578af33adc8f2..55116e7a7b70a6f9db187ac7ef0747fe if (this.stuckSpeedMultiplier.lengthSqr() > 1.0E-7D) { movement = movement.multiply(this.stuckSpeedMultiplier); this.stuckSpeedMultiplier = Vec3.ZERO; -@@ -1067,7 +1067,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1068,7 +1068,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { // Paper start - ignore movement changes while inactive. if (isTemporarilyActive && !(this instanceof ItemEntity || this instanceof net.minecraft.world.entity.vehicle.AbstractMinecart) && movement == getDeltaMovement() && movementType == MoverType.SELF) { setDeltaMovement(Vec3.ZERO); @@ -1066,7 +1066,7 @@ index 20221ab20b5589f663b8d26c504578af33adc8f2..55116e7a7b70a6f9db187ac7ef0747fe return; } // Paper end -@@ -1088,8 +1088,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1089,8 +1089,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { this.setPos(this.getX() + vec3d1.x, this.getY() + vec3d1.y, this.getZ() + vec3d1.z); } @@ -1077,7 +1077,7 @@ index 20221ab20b5589f663b8d26c504578af33adc8f2..55116e7a7b70a6f9db187ac7ef0747fe boolean flag = !Mth.equal(movement.x, vec3d1.x); boolean flag1 = !Mth.equal(movement.z, vec3d1.z); -@@ -1108,7 +1108,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1109,7 +1109,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { this.checkFallDamage(vec3d1.y, this.onGround, iblockdata, blockposition); if (this.isRemoved()) { @@ -1086,7 +1086,7 @@ index 20221ab20b5589f663b8d26c504578af33adc8f2..55116e7a7b70a6f9db187ac7ef0747fe } else { if (this.horizontalCollision) { Vec3 vec3d2 = this.getDeltaMovement(); -@@ -1249,7 +1249,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1250,7 +1250,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { this.setRemainingFireTicks(-this.getFireImmuneTicks()); } @@ -1095,7 +1095,7 @@ index 20221ab20b5589f663b8d26c504578af33adc8f2..55116e7a7b70a6f9db187ac7ef0747fe } } // Paper start - detailed watchdog information -@@ -2963,7 +2963,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2964,7 +2964,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { ServerLevel worldserver1 = minecraftserver.getLevel(resourcekey); if (true && !this.isPassenger() && this.portalTime++ >= i) { // CraftBukkit @@ -1104,7 +1104,7 @@ index 20221ab20b5589f663b8d26c504578af33adc8f2..55116e7a7b70a6f9db187ac7ef0747fe this.portalTime = i; // Paper start io.papermc.paper.event.entity.EntityPortalReadyEvent event = new io.papermc.paper.event.entity.EntityPortalReadyEvent(this.getBukkitEntity(), worldserver1 == null ? null : worldserver1.getWorld(), org.bukkit.PortalType.NETHER); -@@ -2981,7 +2981,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2982,7 +2982,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } } // Paper // CraftBukkit end @@ -1113,7 +1113,7 @@ index 20221ab20b5589f663b8d26c504578af33adc8f2..55116e7a7b70a6f9db187ac7ef0747fe } this.isInsidePortal = false; -@@ -3448,14 +3448,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3449,14 +3449,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } // Paper end if (this.level instanceof ServerLevel && !this.isRemoved()) { @@ -1130,7 +1130,7 @@ index 20221ab20b5589f663b8d26c504578af33adc8f2..55116e7a7b70a6f9db187ac7ef0747fe PortalInfo shapedetectorshape = (location == null) ? this.findDimensionEntryPoint(worldserver) : new PortalInfo(new Vec3(location.x(), location.y(), location.z()), Vec3.ZERO, this.yRot, this.xRot, worldserver, null); // CraftBukkit if (shapedetectorshape == null) { -@@ -3489,7 +3489,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3490,7 +3490,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { this.unRide(); // CraftBukkit end @@ -1139,7 +1139,7 @@ index 20221ab20b5589f663b8d26c504578af33adc8f2..55116e7a7b70a6f9db187ac7ef0747fe // Paper start - Change lead drop timing to prevent dupe if (this instanceof Mob) { ((Mob) this).dropLeash(true, true); // Paper drop lead -@@ -3512,10 +3512,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3513,10 +3513,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } this.removeAfterChangingDimensions(); @@ -1694,7 +1694,7 @@ index f40806e7d9c08cf7b85215fbf0c66169eb4dc6ae..69e5b4b6c8d5725bc2fb7cd819219e4f if ((this.tickCount + this.getId()) % 120 == 0) { Warden.applyDarknessAround(worldserver, this.position(), this, 20); diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java -index 505411b18989191ffa976283d08b644e11ef3f05..26857b0e5134f56df47115031727e0ad68216bc6 100644 +index 6f47f6c785dc8da6b211ac87630a3d83c42d1576..73cdb6b1793b264e1ec8ff51c4f8274366a7d4d7 100644 --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java @@ -335,7 +335,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -1716,10 +1716,10 @@ index 505411b18989191ffa976283d08b644e11ef3f05..26857b0e5134f56df47115031727e0ad this.assignProfessionWhenSpawned = false; } diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java -index 59837144c2c0460aca6e8c349eb3d6528111d1dc..4392336d28aa3cc7a767a2e638e2227c16a597f4 100644 +index 185f7b1d4df59f5db7b85b529a2de6402630bf35..735fe36f35330adb10bb097dd011216c864e9584 100644 --- a/src/main/java/net/minecraft/world/level/Explosion.java +++ b/src/main/java/net/minecraft/world/level/Explosion.java -@@ -372,7 +372,7 @@ public class Explosion { +@@ -382,7 +382,7 @@ public class Explosion { if (!iblockdata.isAir() && iblockdata.isDestroyable()) { // Paper BlockPos blockposition1 = blockposition.immutable(); @@ -1728,7 +1728,7 @@ index 59837144c2c0460aca6e8c349eb3d6528111d1dc..4392336d28aa3cc7a767a2e638e2227c if (block.dropFromExplosion(this)) { Level world = this.level; -@@ -394,7 +394,7 @@ public class Explosion { +@@ -404,7 +404,7 @@ public class Explosion { this.level.setBlock(blockposition, Blocks.AIR.defaultBlockState(), 3); block.wasExploded(this.level, blockposition, this); diff --git a/patches/server/0277-Add-more-logger-output-for-invalid-movement-kicks.patch b/patches/server/0277-Add-more-logger-output-for-invalid-movement-kicks.patch index f79643348..001f862ef 100644 --- a/patches/server/0277-Add-more-logger-output-for-invalid-movement-kicks.patch +++ b/patches/server/0277-Add-more-logger-output-for-invalid-movement-kicks.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add more logger output for invalid movement kicks diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 3e304f035b1cd10cc525bfe6e409d61cb47562ee..297bc331795c0b53b4662549fe4a2b7b11979bfe 100644 +index f3ce7a1b5af187f281e0a3da03494ed323a585f9..11560dc4ab6eb33fcb1ffcfbd49ea663d754fd8a 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -857,6 +857,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -858,6 +858,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic if (packet.getId() == this.awaitingTeleport) { if (this.awaitingPositionFromClient == null) { this.disconnect(Component.translatable("multiplayer.disconnect.invalid_player_movement"), org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PLAYER_MOVEMENT); // Paper - kick event cause @@ -16,7 +16,7 @@ index 3e304f035b1cd10cc525bfe6e409d61cb47562ee..297bc331795c0b53b4662549fe4a2b7b return; } -@@ -1437,8 +1438,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1438,8 +1439,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handleMovePlayer(ServerboundMovePlayerPacket packet) { PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel()); diff --git a/patches/server/0279-Debug-Marker-API.patch b/patches/server/0279-Debug-Marker-API.patch index a51d5d22b..6b8df826c 100644 --- a/patches/server/0279-Debug-Marker-API.patch +++ b/patches/server/0279-Debug-Marker-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Debug Marker API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index d7d6891e4cffd84409bbb00cfc35868dd282e2bc..d3df075bd335435738d9718b7d3625233f2a5110 100644 +index 296b74bf4df1de9b353838f16049f7c2caf61eb2..a4f9b118bb2414ddd6a8985cdc47c37dc43432ea 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1442,6 +1442,42 @@ public final class CraftServer implements Server { +@@ -1443,6 +1443,42 @@ public final class CraftServer implements Server { public void removeFuel(org.bukkit.Material material) { net.minecraft.world.level.block.entity.AbstractFurnaceBlockEntity.removeFuel(net.minecraft.world.item.ItemStack.fromBukkitCopy(new ItemStack(material))); } @@ -52,10 +52,10 @@ index d7d6891e4cffd84409bbb00cfc35868dd282e2bc..d3df075bd335435738d9718b7d362523 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index ada46470d5b774d44b16a6f22fffeae631576690..b5415f0c65db728f4a935b87b54fa14b68d31bc4 100644 +index c7bf0b4036877745d54908048f92735143c92210..3013aeb442799aba5b2ae45edcb3c2c72a18a740 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -2267,6 +2267,42 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -2253,6 +2253,42 @@ public class CraftWorld extends CraftRegionAccessor implements World { public float getLocalDifficultyAt(Location location) { return getHandle().getCurrentDifficultyAt(io.papermc.paper.util.MCUtil.toBlockPosition(location)).getEffectiveDifficulty(); } @@ -99,10 +99,10 @@ index ada46470d5b774d44b16a6f22fffeae631576690..b5415f0c65db728f4a935b87b54fa14b @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 133219dae9fb76418c77a18f225aff154b07ebb9..6691b33592466c7088c24b14a2851b17a837d301 100644 +index 303d1fb7918540ac4324d9d01a6beb70fc37ca5a..a9d0ca15a53fbf227fe3a59406d26c82b5b59396 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3255,5 +3255,48 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3263,5 +3263,48 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public void setSpawnInvulnerableTicks(int spawnInvulnerableTime) { getHandle().spawnInvulnerableTime = spawnInvulnerableTime; } diff --git a/patches/server/0283-Add-death-screen-API.patch b/patches/server/0283-Add-death-screen-API.patch index d12ea18c6..8b703defa 100644 --- a/patches/server/0283-Add-death-screen-API.patch +++ b/patches/server/0283-Add-death-screen-API.patch @@ -30,10 +30,10 @@ index 53b75f5737a910ffc5448cd9a85eae57f9c1488f..ea95873dd034779e56a8b924cd27f937 } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 6691b33592466c7088c24b14a2851b17a837d301..1ddb96be5644a8af51c2e3677e31773a61033aca 100644 +index a9d0ca15a53fbf227fe3a59406d26c82b5b59396..f4a341f72d727bbffa4cfcf72eda8ed0c8945c9e 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3298,5 +3298,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3306,5 +3306,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player { if (this.getHandle().connection == null) return; this.getHandle().connection.send(new net.minecraft.network.protocol.game.ClientboundCustomPayloadPacket(ClientboundCustomPayloadPacket.DEBUG_GAME_TEST_CLEAR, new FriendlyByteBuf(io.netty.buffer.Unpooled.buffer()))); } diff --git a/patches/server/0285-Implement-ram-and-rambar-commands.patch b/patches/server/0285-Implement-ram-and-rambar-commands.patch index b04672c45..d96a5d0e8 100644 --- a/patches/server/0285-Implement-ram-and-rambar-commands.patch +++ b/patches/server/0285-Implement-ram-and-rambar-commands.patch @@ -18,10 +18,10 @@ index 6b05907bfec377e72a8858534d001bda10a1c88a..08bed4f01a27162902aa63bb8d35a915 if (environment.includeIntegrated) { diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index ac63f8d93048a0e61f1e27abb4cc5e2b5cc5208e..be8bb3f48971e76a3637b9da0706281f352c318b 100644 +index 15ec63fab5468bbfbfeefdf5475305fdf64b2b33..116cd0204177c313a4e15765340da2c97913bd77 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -277,6 +277,7 @@ public class ServerPlayer extends Player { +@@ -279,6 +279,7 @@ public class ServerPlayer extends Player { public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - there are a lot of changes to do if we change all methods leading to the event public boolean purpurClient = false; // Purpur public boolean acceptingResourcePack = false; // Purpur @@ -29,7 +29,7 @@ index ac63f8d93048a0e61f1e27abb4cc5e2b5cc5208e..be8bb3f48971e76a3637b9da0706281f private boolean tpsBar = false; // Purpur private boolean compassBar = false; // Purpur -@@ -518,6 +519,7 @@ public class ServerPlayer extends Player { +@@ -520,6 +521,7 @@ public class ServerPlayer extends Player { } } @@ -37,7 +37,7 @@ index ac63f8d93048a0e61f1e27abb4cc5e2b5cc5208e..be8bb3f48971e76a3637b9da0706281f if (nbt.contains("Purpur.TPSBar")) { this.tpsBar = nbt.getBoolean("Purpur.TPSBar"); } // Purpur if (nbt.contains("Purpur.CompassBar")) { this.compassBar = nbt.getBoolean("Purpur.CompassBar"); } // Purpur } -@@ -586,6 +588,7 @@ public class ServerPlayer extends Player { +@@ -588,6 +590,7 @@ public class ServerPlayer extends Player { } this.getBukkitEntity().setExtraData(nbt); // CraftBukkit @@ -45,7 +45,7 @@ index ac63f8d93048a0e61f1e27abb4cc5e2b5cc5208e..be8bb3f48971e76a3637b9da0706281f nbt.putBoolean("Purpur.TPSBar", this.tpsBar); // Purpur nbt.putBoolean("Purpur.CompassBar", this.compassBar); // Purpur } -@@ -2695,6 +2698,14 @@ public class ServerPlayer extends Player { +@@ -2708,6 +2711,14 @@ public class ServerPlayer extends Player { } } @@ -61,7 +61,7 @@ index ac63f8d93048a0e61f1e27abb4cc5e2b5cc5208e..be8bb3f48971e76a3637b9da0706281f return this.tpsBar; } diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 2de8d543def43b39007c672f783539ca7671e7cb..ebfd0b9c713df5074ac47b2cb94cee356b4e3f4b 100644 +index 3bfa8021a7da677fd15d3f2827b271fe17f514a1..82cf79cffbc961dc1db43a4afc6eb1efb5bfe297 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -181,6 +181,8 @@ public class PurpurConfig { diff --git a/patches/server/0286-Add-item-packet-serialize-event.patch b/patches/server/0286-Add-item-packet-serialize-event.patch index b6762801c..31a0434d3 100644 --- a/patches/server/0286-Add-item-packet-serialize-event.patch +++ b/patches/server/0286-Add-item-packet-serialize-event.patch @@ -48,10 +48,10 @@ index 2bd58d13d4c48fdddee56e2b417b68fe15072386..beb05039926e1fb7a656dfcd0c503f82 while (iterator.hasNext()) { ServerLevel worldserver = (ServerLevel) iterator.next(); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 08f0ca65246ad2d4057bb6bab9b16d19e4d6a7e6..5f868d5ea8c3b42fa3e6f519122c751cee89d8f2 100644 +index 11560dc4ab6eb33fcb1ffcfbd49ea663d754fd8a..af8cb1f1f0c128923495f51e4828003133ce766b 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3448,6 +3448,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3454,6 +3454,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } } } diff --git a/patches/server/0292-Language-API.patch b/patches/server/0292-Language-API.patch index 056bf1afb..f85bbb8a0 100644 --- a/patches/server/0292-Language-API.patch +++ b/patches/server/0292-Language-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Language API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 5e7162866530c323f50ea99183757622cc6b2b97..b4d174e3603a45f768add973796d603f4ed8f976 100644 +index a4f9b118bb2414ddd6a8985cdc47c37dc43432ea..e5bac6bc792196226f975e7f3dd8f147fb14dbad 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -316,6 +316,20 @@ public final class CraftServer implements Server { +@@ -317,6 +317,20 @@ public final class CraftServer implements Server { this.structureManager = new CraftStructureManager(console.getStructureManager()); Bukkit.setServer(this); diff --git a/patches/server/0298-Fire-Immunity-API.patch b/patches/server/0298-Fire-Immunity-API.patch index ebff4c2a1..a388fb6ca 100644 --- a/patches/server/0298-Fire-Immunity-API.patch +++ b/patches/server/0298-Fire-Immunity-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fire Immunity API diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 55116e7a7b70a6f9db187ac7ef0747fe5100cacd..c4cfbf008bc07074664b9310d5ff7b750bb98e96 100644 +index def4a9fd76b99f4f30fc2f9551cb6b283035cc88..d18304939e062453cf8ca7d6c1b377930f69174e 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -399,6 +399,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -400,6 +400,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { private UUID originWorld; public boolean freezeLocked = false; // Paper - Freeze Tick Lock API public boolean collidingWithWorldBorder; // Paper @@ -16,7 +16,7 @@ index 55116e7a7b70a6f9db187ac7ef0747fe5100cacd..c4cfbf008bc07074664b9310d5ff7b75 public void setOrigin(@javax.annotation.Nonnull Location location) { this.origin = location.toVector(); -@@ -1676,7 +1677,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1677,7 +1678,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } public boolean fireImmune() { @@ -25,7 +25,7 @@ index 55116e7a7b70a6f9db187ac7ef0747fe5100cacd..c4cfbf008bc07074664b9310d5ff7b75 } public boolean causeFallDamage(float fallDistance, float damageMultiplier, DamageSource damageSource) { -@@ -2338,6 +2339,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2339,6 +2340,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { nbt.putBoolean("Paper.FreezeLock", true); } // Paper end @@ -37,7 +37,7 @@ index 55116e7a7b70a6f9db187ac7ef0747fe5100cacd..c4cfbf008bc07074664b9310d5ff7b75 return nbt; } catch (Throwable throwable) { CrashReport crashreport = CrashReport.forThrowable(throwable, "Saving entity NBT"); -@@ -2506,6 +2512,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2507,6 +2513,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { freezeLocked = nbt.getBoolean("Paper.FreezeLock"); } // Paper end @@ -50,7 +50,7 @@ index 55116e7a7b70a6f9db187ac7ef0747fe5100cacd..c4cfbf008bc07074664b9310d5ff7b75 } catch (Throwable throwable) { CrashReport crashreport = CrashReport.forThrowable(throwable, "Loading entity NBT"); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 0db19dfbec593b9fd6f22970960fbe967bd7c280..9f1017e2e51bd6e0c9a6a59663e1acbf17675f3b 100644 +index bdb6485b7b3544e1b264a44ae919277221ce11ba..97ea9612343e4288decd8daa9327a7e781877a8e 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -1473,5 +1473,15 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { diff --git a/patches/server/0299-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch b/patches/server/0299-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch index f148e4c10..91e76dd76 100644 --- a/patches/server/0299-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch +++ b/patches/server/0299-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add option to teleport to spawn on nether ceiling damage diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index c4cfbf008bc07074664b9310d5ff7b750bb98e96..b2ee73a2ef6042694ca84c27d592e5fb13b4a0fe 100644 +index d18304939e062453cf8ca7d6c1b377930f69174e..f31f4ecf8fb07f6cf01eea0aa14f5d454a4ce2a3 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -898,6 +898,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -899,6 +899,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { && this.level.paperConfig().environment.netherCeilingVoidDamageHeight.test(v -> this.getY() >= v) && (!(this instanceof Player player) || !player.getAbilities().invulnerable))) { // Paper end @@ -17,7 +17,7 @@ index c4cfbf008bc07074664b9310d5ff7b750bb98e96..b2ee73a2ef6042694ca84c27d592e5fb } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index e3b81cc53213f9b6404abf5e3478e3abfdf0a9c2..4594b47bea1db94d84e7a902b3b7ea1e10d36545 100644 +index 9c364e2c687e9708b391cd319203636ebaacb3da..3b1e8d6e9b0a7fc5dddd2f033819c1bfe2410212 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -421,6 +421,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0309-PaperPR-9149-Flush-region-files-on-save.patch b/patches/server/0309-PaperPR-9149-Flush-region-files-on-save.patch deleted file mode 100644 index 836a831e4..000000000 --- a/patches/server/0309-PaperPR-9149-Flush-region-files-on-save.patch +++ /dev/null @@ -1,22 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: RednedEpic -Date: Thu, 27 Apr 2023 23:09:13 -0700 -Subject: [PATCH] PaperPR #9149 Flush region files on save - - -diff --git a/src/main/java/io/papermc/paper/chunk/system/scheduling/ChunkHolderManager.java b/src/main/java/io/papermc/paper/chunk/system/scheduling/ChunkHolderManager.java -index 830d863cd9665d58875bfa5ca2bcd22f89ab2d49..51018f8b7176c72231fc0d0c23878659ab5c1b5b 100644 ---- a/src/main/java/io/papermc/paper/chunk/system/scheduling/ChunkHolderManager.java -+++ b/src/main/java/io/papermc/paper/chunk/system/scheduling/ChunkHolderManager.java -@@ -257,6 +257,11 @@ public final class ChunkHolderManager { - } - if (flush) { - RegionFileIOThread.flush(); -+ try { -+ this.world.chunkSource.chunkMap.regionFileCache.flush(); -+ } catch (IOException ex) { -+ LOGGER.error("Exception when flushing regions in world {}", this.world.getWorld().getName(), ex); -+ } - } - if (logProgress) { - LOGGER.info("Saved " + savedChunk + " block chunks, " + savedEntity + " entity chunks, " + savedPoi + " poi chunks in world '" + this.world.getWorld().getName() + "' in " + format.format(1.0E-9 * (System.nanoTime() - start)) + "s");