diff --git a/build.gradle.kts b/build.gradle.kts index 85b74266..412a12bb 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,7 +1,7 @@ plugins { java `maven-publish` - id("io.papermc.paperweight.patcher") version "1.7.3-SNAPSHOT" + id("io.papermc.paperweight.patcher") version "1.7.4-SNAPSHOT" } val paperMavenPublicUrl = "https://repo.papermc.io/repository/maven-public/" diff --git a/gradle.properties b/gradle.properties index d0634c3a..266781c1 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ group = cn.dreeam.leaf mcVersion = 1.21.1 version = 1.21.1-R0.1-SNAPSHOT -galeCommit = 0f495ae698c486fa65e434be705b24699c739bd0 +galeCommit = d4d81da33a046d672329d37721d2d3b5d12cf14f org.gradle.caching = true org.gradle.parallel = true diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 2c352119..a4b76b95 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 09523c0e..df97d72b 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/patches/api/0004-Purpur-API-Changes.patch b/patches/api/0004-Purpur-API-Changes.patch index 2a425867..726fe934 100644 --- a/patches/api/0004-Purpur-API-Changes.patch +++ b/patches/api/0004-Purpur-API-Changes.patch @@ -533,10 +533,10 @@ index b1c34f4d44b420930e79dd440328e522b669601f..ab6e3eb18b9c36fdd8f56f491332085a + // Purpur end } diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index d8a23aa0d898ca3360757721e38ddb97387f7d21..ca600d3e8b1f4fae299b1bf3d283c466c18875a6 100644 +index adcd8161846b06fd1a7895750f98b629204a8406..efe32ca9cbe0cd43e308ab0528f345345584c254 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -4145,6 +4145,86 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient +@@ -4161,6 +4161,86 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient @Nullable public DragonBattle getEnderDragonBattle(); @@ -753,13 +753,13 @@ index 138d2530de2410f4a9424dabd3e5ce0cd1c1dcd2..10a8d64ad2da0be2c14f34c3e7d1957c // Paper start /** diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java -index 725ef320f929d5e3d141c1ed3246d73a7d741f31..2d12c70b0baa50504619c8e37881a11a56d7df2c 100644 +index d0ae8a94db20281d3664d74718c65234eb2e5f83..b7d53973ac4e829a03821d59e0b3a28d6f6a4373 100644 --- a/src/main/java/org/bukkit/entity/Entity.java +++ b/src/main/java/org/bukkit/entity/Entity.java -@@ -1159,4 +1159,55 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent +@@ -1172,4 +1172,55 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent */ - @NotNull String getScoreboardEntryName(); - // Paper end - entity scoreboard name + void broadcastHurtAnimation(@NotNull java.util.Collection players); + // Paper end - broadcast hurt animation + + // Purpur start + /** @@ -955,13 +955,13 @@ index bc84b892cae5fe7019a3ad481e9da79956efa1fe..48eb5b00c460cccde29d327cef1d63fc + // Purpur end } diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 328c34dee07311193d41f36c0976ed09135ab448..66da298cb8ed2e53be10c23faf59b61b056e6530 100644 +index c4763ae47c9b893c1b9ae731ab3c1db76e44ae0f..0cba31526ae7c0429885bb8802512eaad3573e42 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -3869,4 +3869,123 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM - @Override - Spigot spigot(); - // Spigot end +@@ -3881,4 +3881,123 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM + */ + void sendEntityEffect(org.bukkit.@NotNull EntityEffect effect, @NotNull Entity target); + // Paper end - entity effect API + + // Purpur start + /** @@ -1268,7 +1268,7 @@ index f1f97a85ec713c05c882d7588f4a3e4a017f4795..813f6cd253322538bdf96eb323dd23a7 + // Purpur end } diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index 7f63a3a37eb06049bd5de10466c6dd96cb5dd4ee..b6389b82b4eae033e1e770ae3967c88e950926ab 100644 +index b59222b8c262545d100a9fd28b3bf1d2a4cf4eb0..44a26a768c11f60241010391211a19f6b589f23c 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java @@ -19,6 +19,17 @@ import org.bukkit.inventory.meta.ItemMeta; @@ -1289,7 +1289,7 @@ index 7f63a3a37eb06049bd5de10466c6dd96cb5dd4ee..b6389b82b4eae033e1e770ae3967c88e /** * Represents a stack of items. -@@ -1120,4 +1131,551 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat +@@ -1137,4 +1148,551 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat return Bukkit.getUnsafe().computeTooltipLines(this, tooltipContext, player); } // Paper end - expose itemstack tooltip lines diff --git a/patches/api/0007-KeYi-Player-Skull-API.patch b/patches/api/0007-KeYi-Player-Skull-API.patch index ad335553..93ca44ab 100644 --- a/patches/api/0007-KeYi-Player-Skull-API.patch +++ b/patches/api/0007-KeYi-Player-Skull-API.patch @@ -7,10 +7,10 @@ Original license: MIT Original project: https://github.com/KeYiMC/KeYi diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 66da298cb8ed2e53be10c23faf59b61b056e6530..d5df69a2e5b228545dfaaaa98ce88ec0da806315 100644 +index 0cba31526ae7c0429885bb8802512eaad3573e42..f96ca62d81db8362a9f74f00ff54b151f96c04fe 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -3988,4 +3988,23 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -4000,4 +4000,23 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM sendDeathScreen(message); } // Purpur end diff --git a/patches/server/0011-Purpur-Server-Changes.patch b/patches/server/0011-Purpur-Server-Changes.patch index 2d54d685..09936013 100644 --- a/patches/server/0011-Purpur-Server-Changes.patch +++ b/patches/server/0011-Purpur-Server-Changes.patch @@ -375,7 +375,7 @@ index 2d344df35d47b4b1ecddf32ccaa4dae41e5f58cb..08e783882d0b2ef3ebf88e664f1a3d8b boolean flag1 = this.source.acceptsSuccess() && !this.silent; boolean flag2 = broadcastToOps && this.source.shouldInformAdmins() && !this.silent; diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java -index 037a01f6e657289783f7ee66aa3a022310687f58..b6713361cd104786f52bd880418b8653e4126fda 100644 +index 6b2be7f529ceeb500018588319aa3944d9b4949d..f4bdc9eca20b7dfc104912b10e35315f189f8b5a 100644 --- a/src/main/java/net/minecraft/commands/Commands.java +++ b/src/main/java/net/minecraft/commands/Commands.java @@ -218,8 +218,8 @@ public class Commands { @@ -970,7 +970,7 @@ index c80be65d190c85e7f0ea8233ebbbdbc1ea67f276..97e793c971614299504605aeb4f99cad public ServerEntity(ServerLevel worldserver, Entity entity, int i, boolean flag, Consumer> consumer, Set trackedPlayers) { this.trackedPlayers = trackedPlayers; diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 54962156d2e03255e970b47375549db2a256a09f..db427ee9dcc30639711ada54fd9323a8aa8e4002 100644 +index 9e4b4737ffcd777ad973e5c3c8f6c78c58995829..fd285a768218ec56f4fdf58e17c7dbafa6426470 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -220,6 +220,8 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. @@ -1145,7 +1145,7 @@ index 54962156d2e03255e970b47375549db2a256a09f..db427ee9dcc30639711ada54fd9323a8 this.serverLevelData.setThundering(false, org.bukkit.event.weather.ThunderChangeEvent.Cause.SLEEP); // Paper - Add cause to Weather/ThunderChangeEvents // CraftBukkit start // If we stop due to everyone sleeping we should reset the weather duration to some other random value. -@@ -2584,7 +2652,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. +@@ -2586,7 +2654,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. // Spigot Start if (entity.getBukkitEntity() instanceof org.bukkit.inventory.InventoryHolder && (!(entity instanceof ServerPlayer) || entity.getRemovalReason() != Entity.RemovalReason.KILLED)) { // SPIGOT-6876: closeInventory clears death message // Paper start - Fix merchant inventory not closing on entity removal @@ -14346,10 +14346,10 @@ index 141b748abe80402731cdaf14a3d36aa7cef4f4bd..d5d2a6467b48bcf8e5322dd5938f6e4f if (range < 0.0 || d < range * range) { return true; diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java -index e895eb8049268560031e8483635668aa3f83dbe0..23e3d75286b98f23816417b48bb1fbe6be68b6bd 100644 +index df04f39d8e40eaab3a29ed33f253728d236c6957..72ec914d6653db200eb1dfadf28a27b608adc9f9 100644 --- a/src/main/java/net/minecraft/world/level/Explosion.java +++ b/src/main/java/net/minecraft/world/level/Explosion.java -@@ -340,7 +340,7 @@ public class Explosion { +@@ -341,7 +341,7 @@ public class Explosion { this.hitPlayers = Maps.newHashMap(); this.level = world; this.source = entity; @@ -14358,7 +14358,7 @@ index e895eb8049268560031e8483635668aa3f83dbe0..23e3d75286b98f23816417b48bb1fbe6 this.x = x; this.y = y; this.z = z; -@@ -403,10 +403,29 @@ public class Explosion { +@@ -404,10 +404,29 @@ public class Explosion { public void explode() { // CraftBukkit start @@ -14390,7 +14390,7 @@ index e895eb8049268560031e8483635668aa3f83dbe0..23e3d75286b98f23816417b48bb1fbe6 // Paper start - collision optimisations diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 00b001e279ed1e79ad4171a5d2cedb2745ea946d..3cb6faa071c6a743a845bc358ea411a165c4024b 100644 +index a28385bbc885f2103093a80066c89f09b650484a..f00e11d9be2f95aecaecd7f69dbad9ad70193ab4 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -176,6 +176,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl @@ -14460,7 +14460,7 @@ index 00b001e279ed1e79ad4171a5d2cedb2745ea946d..3cb6faa071c6a743a845bc358ea411a1 this.generator = gen; this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env); -@@ -2034,4 +2080,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl +@@ -2051,4 +2097,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl return null; } // Paper end - optimize redstone (Alternate Current) @@ -17010,10 +17010,10 @@ index 5dbaaa949976051d7926fe24203777bd66f9189c..91548197ef6665e271a9104fd2cb8a3a + // Purpur end } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 2364b9ea26121ceb3e7ac0bb591ccf3c813fa6c7..0a90a0ce80e12f3ff6e4108d4d14f87241e3e956 100644 +index a62b2753945f54e435796f0fbf330945a5561286..3b3ad96abc07010291965091a35546af30eb1119 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -2343,6 +2343,48 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -2345,6 +2345,48 @@ public class CraftWorld extends CraftRegionAccessor implements World { return (this.getHandle().getDragonFight() == null) ? null : new CraftDragonBattle(this.getHandle().getDragonFight()); } @@ -17235,7 +17235,7 @@ index d657fd2c507a5b215aeab0a5f3e9c2ee892a27c8..985e9ec21c60a1f47973bd5fc53b96a6 // Paper start @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index cd789c235acf740ec29c30b180e7fbe1a140caa9..bec40e26e17ba6fdefb68c79e2fa7a9593b0f4fe 100644 +index 89c8713d2c2206d1b0d8c0a392c9d13b3e736f0c..770606c4462d85d116f6d0bf91192dc49f438d0f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -86,6 +86,23 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { @@ -17270,10 +17270,10 @@ index cd789c235acf740ec29c30b180e7fbe1a140caa9..bec40e26e17ba6fdefb68c79e2fa7a95 return false; } -@@ -1299,4 +1317,27 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { - return this.getHandle().getScoreboardName(); +@@ -1310,4 +1328,27 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { + } } - // Paper end - entity scoreboard name + // Paper end - broadcast hurt animation + + // Purpur start + @Override @@ -17440,7 +17440,7 @@ index 351f42842b780d053cd2e5bad9ae299449141b10..4860574e7fad7a9527dda599703c573c + // Purpur end } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index ad740739437be632fc7fedec488a7d0c49534688..ceca8c1bb41a9c258f004863ea8ff76961e6b4f0 100644 +index 42d7660efe5baa6f796f2a7606686c765b6f2478..173e4a075078af67f030750c9a6294ab3f796677 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -578,10 +578,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -17460,7 +17460,7 @@ index ad740739437be632fc7fedec488a7d0c49534688..ceca8c1bb41a9c258f004863ea8ff769 if (this.getHandle().connection == null) return; // Paper - Updates are possible before the player has fully joined for (ServerPlayer player : (List) this.server.getHandle().players) { if (player.getBukkitEntity().canSee(this)) { -@@ -1430,6 +1435,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1435,6 +1440,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // Paper start - Teleport passenger API // Don't allow teleporting between worlds while keeping passengers if (ignorePassengers && entity.isVehicle() && location.getWorld() != this.getWorld()) { @@ -17468,7 +17468,7 @@ index ad740739437be632fc7fedec488a7d0c49534688..ceca8c1bb41a9c258f004863ea8ff769 return false; } -@@ -1451,6 +1457,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1456,6 +1462,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } if (entity.isVehicle() && !ignorePassengers) { // Paper - Teleport API @@ -17476,7 +17476,7 @@ index ad740739437be632fc7fedec488a7d0c49534688..ceca8c1bb41a9c258f004863ea8ff769 return false; } -@@ -2752,6 +2759,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2757,6 +2764,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this.getHandle().getAbilities().walkingSpeed * 2f; } @@ -17505,10 +17505,10 @@ index ad740739437be632fc7fedec488a7d0c49534688..ceca8c1bb41a9c258f004863ea8ff769 private void validateSpeed(float value) { Preconditions.checkArgument(value <= 1f && value >= -1f, "Speed value (%s) need to be between -1f and 1f", value); } -@@ -3553,4 +3582,70 @@ public class CraftPlayer extends CraftHumanEntity implements Player { - ((ca.spottedleaf.moonrise.patches.chunk_system.player.ChunkSystemServerPlayer)this.getHandle()) - .moonrise$getViewDistanceHolder().setSendViewDistance(viewDistance); +@@ -3568,4 +3597,70 @@ public class CraftPlayer extends CraftHumanEntity implements Player { + this.getHandle().connection.send(new net.minecraft.network.protocol.game.ClientboundEntityEventPacket(((CraftEntity) target).getHandle(), effect.getData())); } + // Paper end - entity effect API + + // Purpur start + @Override @@ -17695,7 +17695,7 @@ index 4632eb883e9f5efde520ee543bcad25827c0da2c..858c6c860d9b8aaa1d3f9f77a9e41072 event = new EntityDamageEvent(damagee.getBukkitEntity(), cause, bukkitDamageSource, modifiers, modifierFunctions); } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java -index 674e3a827f8fb64e5c0beefb3c1874d6e8aee4e5..93b3689b4fdaff88bb9846f50d59a7a0960ef41a 100644 +index 6d3f9d5dab6c9a2860ae31cae24310aa2d62da7c..e997a0f29c34b623f2ee0ebe369256e3f3901c09 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java @@ -145,8 +145,19 @@ public class CraftContainer extends AbstractContainerMenu { diff --git a/patches/server/0020-KeYi-Player-Skull-API.patch b/patches/server/0020-KeYi-Player-Skull-API.patch index 3a6b12be..2dcc79d3 100644 --- a/patches/server/0020-KeYi-Player-Skull-API.patch +++ b/patches/server/0020-KeYi-Player-Skull-API.patch @@ -7,10 +7,10 @@ Original license: MIT Original project: https://github.com/KeYiMC/KeYi diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index ceca8c1bb41a9c258f004863ea8ff76961e6b4f0..7afbcd8f44ec11b8ba77e0cbc7b084d92ab43239 100644 +index 173e4a075078af67f030750c9a6294ab3f796677..88668656c8586d758b636561066d96dd883e6201 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3648,4 +3648,31 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3663,4 +3663,31 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().connection.send(new net.minecraft.network.protocol.game.ClientboundPlayerCombatKillPacket(getEntityId(), io.papermc.paper.adventure.PaperAdventure.asVanilla(message))); } // Purpur end diff --git a/patches/server/0027-Slice-Smooth-Teleports.patch b/patches/server/0027-Slice-Smooth-Teleports.patch index ae54a6a3..39ceaff7 100644 --- a/patches/server/0027-Slice-Smooth-Teleports.patch +++ b/patches/server/0027-Slice-Smooth-Teleports.patch @@ -36,10 +36,10 @@ index 63678ff4e0948c7c67e092f446e0bfa358695887..272c5a875d1a4d6c6c7a100fea8abbb2 entityplayer1.connection.send(new ClientboundChangeDifficultyPacket(worlddata.getDifficulty(), worlddata.isDifficultyLocked())); entityplayer1.connection.send(new ClientboundSetExperiencePacket(entityplayer1.experienceProgress, entityplayer1.totalExperience, entityplayer1.experienceLevel)); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 7afbcd8f44ec11b8ba77e0cbc7b084d92ab43239..45f587027f9e647c0630408a659c7fc37f8e5980 100644 +index 88668656c8586d758b636561066d96dd883e6201..95c6275ec833a0bfe4e7b8105db5abafd69079c3 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1360,6 +1360,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1365,6 +1365,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // Paper end } diff --git a/patches/server/0037-Leaves-Replay-Mod-API.patch b/patches/server/0037-Leaves-Replay-Mod-API.patch index c847065b..e4965283 100644 --- a/patches/server/0037-Leaves-Replay-Mod-API.patch +++ b/patches/server/0037-Leaves-Replay-Mod-API.patch @@ -129,7 +129,7 @@ index 04c1dc92d6404fffffd519f9f48763253737f14d..c2049ace0261c0a76b06d7f3da3514e1 if (this.hidesOnlinePlayers()) { diff --git a/src/main/java/net/minecraft/server/PlayerAdvancements.java b/src/main/java/net/minecraft/server/PlayerAdvancements.java -index ffea0dc3acc91b9d65ad0dc5482fee7115dec03a..cbb4adcf1120f5f0f1b754710fb8c7fd5b311c69 100644 +index e01b1b1bb5818a06fde356c6e09b44356d5ae0de..061acf80f2c4fa62fe618958f2cede3e4563039d 100644 --- a/src/main/java/net/minecraft/server/PlayerAdvancements.java +++ b/src/main/java/net/minecraft/server/PlayerAdvancements.java @@ -223,6 +223,11 @@ public class PlayerAdvancements { @@ -158,7 +158,7 @@ index e7b444a10b244828827b3c66c53465206ea8e0ec..47c0f4eec739c41b81a546dac97569c8 .filter(player -> !playerList.isOp(player.getGameProfile())) .map(player -> player.getGameProfile().getName()), diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 20f1069230fcef4a00deec4c0ae6fdc64041630a..1a50562c962769a158f6514730d8ec9094f733e0 100644 +index 70b247cd559cb9814fbf8e3ab7839a40488dbef1..991859906cf1278663ba75bf0992f002e056b244 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -230,6 +230,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. @@ -177,7 +177,7 @@ index 20f1069230fcef4a00deec4c0ae6fdc64041630a..1a50562c962769a158f6514730d8ec90 this.preciseTime = this.serverLevelData.getDayTime(); // Purpur } -@@ -2545,6 +2547,11 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. +@@ -2547,6 +2549,11 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. // ServerLevel.this.getChunkSource().addEntity(entity); // Paper - ignore and warn about illegal addEntity calls instead of crashing server; moved down below valid=true if (entity instanceof ServerPlayer entityplayer) { ServerLevel.this.players.add(entityplayer); @@ -189,7 +189,7 @@ index 20f1069230fcef4a00deec4c0ae6fdc64041630a..1a50562c962769a158f6514730d8ec90 ServerLevel.this.updateSleepingPlayerList(); } -@@ -2626,6 +2633,11 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. +@@ -2628,6 +2635,11 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. ServerLevel.this.getChunkSource().removeEntity(entity); if (entity instanceof ServerPlayer entityplayer) { ServerLevel.this.players.remove(entityplayer); @@ -449,7 +449,7 @@ index b1d269588f7df320d079f1456ffc188bf8af1716..bdecd0fdd56f91072fc2eb5768857a60 + // Leaves end - replay mod api } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index bec40e26e17ba6fdefb68c79e2fa7a9593b0f4fe..c7c8e651e8165e9200cdcc72b0b55c6aacbe0471 100644 +index 770606c4462d85d116f6d0bf91192dc49f438d0f..4317420bd5d3fc8e20ffd7f3a3d48c5a2a83672c 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -111,6 +111,8 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { @@ -462,10 +462,10 @@ index bec40e26e17ba6fdefb68c79e2fa7a9593b0f4fe..c7c8e651e8165e9200cdcc72b0b55c6a if (entity instanceof EnderDragonPart complexPart) { if (complexPart.parentMob instanceof EnderDragon) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 45f587027f9e647c0630408a659c7fc37f8e5980..05ddb57f827ebf6c59bba5f1c2652da580e785dd 100644 +index 95c6275ec833a0bfe4e7b8105db5abafd69079c3..7294c6cc2cf65e3c142d174025d24d854bbe68ae 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2258,7 +2258,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2263,7 +2263,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public boolean canSee(Player player) { diff --git a/patches/server/0057-SparklyPaper-Optimize-canSee-checks.patch b/patches/server/0057-SparklyPaper-Optimize-canSee-checks.patch index ae6f40da..e53f4258 100644 --- a/patches/server/0057-SparklyPaper-Optimize-canSee-checks.patch +++ b/patches/server/0057-SparklyPaper-Optimize-canSee-checks.patch @@ -29,7 +29,7 @@ index 4d91b50e527320647f6c9aa20fc5da071c3fdee0..dde015810f6e914ad99dcb8ab66c7aa3 } // CraftBukkit end diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index ab85eaf62ba901ace0ed25773df980a5ac97729a..db125b4d4e68f3c9f8c661b6b5f08d26f146008e 100644 +index c6964b6027e0ac57e3e01deae0da22665f2afc40..801a237b666fe8f26e477d848b1f9e31a4025fd0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -200,7 +200,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -41,7 +41,7 @@ index ab85eaf62ba901ace0ed25773df980a5ac97729a..db125b4d4e68f3c9f8c661b6b5f08d26 private final Set unlistedEntities = new HashSet<>(); // Paper - Add Listing API for Player private static final WeakHashMap> pluginWeakReferences = new WeakHashMap<>(); private int hash = 0; -@@ -2264,9 +2264,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2269,9 +2269,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public boolean canSee(org.bukkit.entity.Entity entity) { diff --git a/patches/server/0103-Multithreaded-Tracker.patch b/patches/server/0103-Multithreaded-Tracker.patch index 5cdd5c0d..d25efd16 100644 --- a/patches/server/0103-Multithreaded-Tracker.patch +++ b/patches/server/0103-Multithreaded-Tracker.patch @@ -283,10 +283,10 @@ index 05125144ce0cb50fa6ac769fa025cda010c93f14..3b40fc420ec1a8aca4c66a77f54cf628 set.clear(); diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index a4cffdb78dafd658f35e34d0b702a8c892141539..e1432a60162f4831a262aa350a52b6125c5a6691 100644 +index fef97efb91a06722c895583ea5cc54cdee99fac0..6a20d3e05e8ceef8752e1a461e91cd1d373f8a89 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -2401,7 +2401,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. +@@ -2403,7 +2403,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. @Override public LevelEntityGetter getEntities() {