diff --git a/gradle.properties b/gradle.properties index a0ef2c612..fa7853608 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ group=com.lokamc.slice version=1.20.4-R0.1-SNAPSHOT mcVersion=1.20.4 -paperRef=4939f8711884901ddf1c56337f606de71cdae78d +paperRef=681bbff110d9a56152ae898c4dfe1c0356b40e69 org.gradle.caching=true org.gradle.parallel=true diff --git a/patches/api/0018-Add-timeDamaged-to-EntityDamageEvent.patch b/patches/api/0018-Add-timeDamaged-to-EntityDamageEvent.patch index 5d1e64fee..b97afde04 100644 --- a/patches/api/0018-Add-timeDamaged-to-EntityDamageEvent.patch +++ b/patches/api/0018-Add-timeDamaged-to-EntityDamageEvent.patch @@ -5,18 +5,18 @@ Subject: [PATCH] Add timeDamaged to EntityDamageEvent diff --git a/src/main/java/org/bukkit/event/entity/EntityDamageEvent.java b/src/main/java/org/bukkit/event/entity/EntityDamageEvent.java -index 3b20000d9ac3e29fe3bc5093e6635377bee88dbd..0f9e2dfa5d2e60962e58291af58cbedb0525e60d 100644 +index 446b3ffd5caca5344be1c250475679834cd0d4a2..f2beba90acfd251817eb218c35dcf58309d808b1 100644 --- a/src/main/java/org/bukkit/event/entity/EntityDamageEvent.java +++ b/src/main/java/org/bukkit/event/entity/EntityDamageEvent.java -@@ -29,6 +29,7 @@ public class EntityDamageEvent extends EntityEvent implements Cancellable { +@@ -30,6 +30,7 @@ public class EntityDamageEvent extends EntityEvent implements Cancellable { private boolean cancelled; private final DamageCause cause; private final DamageSource damageSource; + private long timeDamaged = System.currentTimeMillis(); // Slice - public EntityDamageEvent(@NotNull final Entity damagee, @NotNull final DamageCause cause, @NotNull final DamageSource damageSource, final double damage) { - this(damagee, cause, damageSource, new EnumMap(ImmutableMap.of(DamageModifier.BASE, damage)), new EnumMap>(ImmutableMap.of(DamageModifier.BASE, ZERO))); -@@ -210,6 +211,22 @@ public class EntityDamageEvent extends EntityEvent implements Cancellable { + @Deprecated(forRemoval = true) + public EntityDamageEvent(@NotNull final Entity damagee, @NotNull final DamageCause cause, final double damage) { +@@ -221,6 +222,22 @@ public class EntityDamageEvent extends EntityEvent implements Cancellable { return damageSource; } diff --git a/patches/api/0020-Non-saveable-entities.patch b/patches/api/0020-Non-saveable-entities.patch index f3bc837c5..9cf4d1d10 100644 --- a/patches/api/0020-Non-saveable-entities.patch +++ b/patches/api/0020-Non-saveable-entities.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Non-saveable-entities diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java -index 9022567f32a58b94ed030db22524876d8f1df4aa..b284e62465ddf8e4a129c99f202c45fd1a2e0c65 100644 +index d9929d9311e4b2b0ae13a8f6f13563257263f298..8cf34ab37824646cf674237e5dde55459cfbc6f5 100644 --- a/src/main/java/org/bukkit/entity/Entity.java +++ b/src/main/java/org/bukkit/entity/Entity.java -@@ -1102,4 +1102,19 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent +@@ -1104,4 +1104,19 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent */ @NotNull String getScoreboardEntryName(); // Paper end - entity scoreboard name diff --git a/patches/api/0021-Vanish.patch b/patches/api/0021-Vanish.patch index 19e784c81..7589b382e 100644 --- a/patches/api/0021-Vanish.patch +++ b/patches/api/0021-Vanish.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Vanish diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java -index b284e62465ddf8e4a129c99f202c45fd1a2e0c65..5acc50a7e3be04d5ce49e8c9de0c2f3e1a2baf20 100644 +index 8cf34ab37824646cf674237e5dde55459cfbc6f5..0df06f41ca8aef165c5e82c4792f406444c5b218 100644 --- a/src/main/java/org/bukkit/entity/Entity.java +++ b/src/main/java/org/bukkit/entity/Entity.java -@@ -1117,4 +1117,19 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent +@@ -1119,4 +1119,19 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent */ void setSaveable(boolean saveable); // Slice end diff --git a/patches/server/0001-Build-Changes.patch b/patches/server/0001-Build-Changes.patch index 3dc07f9e0..4ba1cfda4 100644 --- a/patches/server/0001-Build-Changes.patch +++ b/patches/server/0001-Build-Changes.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Build Changes diff --git a/build.gradle.kts b/build.gradle.kts -index 376e8983fdfdbb6c3e5fd8ad0f6a05e655b622bf..c9868e781ce212285a9621236efa65788c7a1cca 100644 +index 241808d8619e17c0681f79acbbc98af5bf52dd89..aa3263bbede7b104482cec295c17e038db3df143 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -13,8 +13,12 @@ configurations.named(log4jPlugins.compileClasspathConfigurationName) { @@ -23,7 +23,7 @@ index 376e8983fdfdbb6c3e5fd8ad0f6a05e655b622bf..c9868e781ce212285a9621236efa6578 // Paper start implementation("org.jline:jline-terminal-jansi:3.21.0") implementation("net.minecrell:terminalconsoleappender:1.3.0") -@@ -69,7 +73,7 @@ tasks.jar { +@@ -71,7 +75,7 @@ tasks.jar { attributes( "Main-Class" to "org.bukkit.craftbukkit.Main", "Implementation-Title" to "CraftBukkit", @@ -32,7 +32,7 @@ index 376e8983fdfdbb6c3e5fd8ad0f6a05e655b622bf..c9868e781ce212285a9621236efa6578 "Implementation-Vendor" to date, // Paper "Specification-Title" to "Bukkit", "Specification-Version" to project.version, -@@ -153,7 +157,7 @@ fun TaskContainer.registerRunTask( +@@ -155,7 +159,7 @@ fun TaskContainer.registerRunTask( name: String, block: JavaExec.() -> Unit ): TaskProvider = register(name) { @@ -42,7 +42,7 @@ index 376e8983fdfdbb6c3e5fd8ad0f6a05e655b622bf..c9868e781ce212285a9621236efa6578 standardInput = System.`in` workingDir = rootProject.layout.projectDirectory diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 90ae7e8c81f6a9ede8aeaeec3bf784023522cefc..48eaa18bec43e88020047d1ffe57b84146793d6f 100644 +index d06185566b447c432d4dc2e3ba04d121bcdbc71b..268bebac970646a9d697ec31ea5c89b9f583618f 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1855,7 +1855,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop viewDistances = new java.util.concurrent.atomic.AtomicReference<>(new io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances(-1, -1, -1)); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 8148bb81322b3ba7becbf0fdb636c83558324f81..a412b92ee14b685ec30ce8dc70effffa5c11819f 100644 +index 81c28b63e9dfe21d8f17f465468c40cf5ef84e9a..6295a4cbfabe9f6fa58d6682a0ef8bd802a19408 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -952,10 +952,10 @@ public abstract class PlayerList { +@@ -953,10 +953,10 @@ public abstract class PlayerList { ServerLevel worldserver2 = entityplayer1.serverLevel(); LevelData worlddata = worldserver2.getLevelData(); @@ -34,10 +34,10 @@ index 8148bb81322b3ba7becbf0fdb636c83558324f81..a412b92ee14b685ec30ce8dc70effffa 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 5c1e016de183933c5458deaae257b978e6350307..23a55976ebd62c52cd28d04c50de975b1fa932a0 100644 +index 616d2e479d91673695ade0db151a0099b568904f..a72b24e9695fa1375dc787fc6b2ac163acc5bec0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1225,6 +1225,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1255,6 +1255,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // Paper end } diff --git a/patches/server/0012-AntiXray-Bypass.patch b/patches/server/0012-AntiXray-Bypass.patch index 98215e7cb..929a83f4f 100644 --- a/patches/server/0012-AntiXray-Bypass.patch +++ b/patches/server/0012-AntiXray-Bypass.patch @@ -17,10 +17,10 @@ index e7fe98ea30ae6d0baea3ec1f9f98a89502a49a12..7e2651aa63cc9ddbe28fb9ecbc518835 } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index fed596e3a93920a10737557fc84384d53abf2b43..52f2acf2bbbf71dd30f19af862b7e05ab4c63647 100644 +index a72b24e9695fa1375dc787fc6b2ac163acc5bec0..4d6e9fb4b3a880ce2cd7e194fbb37df7abc087a2 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -193,6 +193,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -199,6 +199,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public org.bukkit.event.player.PlayerResourcePackStatusEvent.Status resourcePackStatus; // Paper - more resource pack API private static final boolean DISABLE_CHANNEL_LIMIT = System.getProperty("paper.disableChannelLimit") != null; // Paper - add a flag to disable the channel limit private long lastSaveTime; // Paper - getLastPlayed replacement API @@ -28,7 +28,7 @@ index fed596e3a93920a10737557fc84384d53abf2b43..52f2acf2bbbf71dd30f19af862b7e05a public CraftPlayer(CraftServer server, ServerPlayer entity) { super(server, entity); -@@ -2903,6 +2904,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2954,6 +2955,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } // Paper end diff --git a/patches/server/0013-Add-PlayerPreChunkLoadEvent.patch b/patches/server/0013-Add-PlayerPreChunkLoadEvent.patch index b9bb3c7dd..655dbd12e 100644 --- a/patches/server/0013-Add-PlayerPreChunkLoadEvent.patch +++ b/patches/server/0013-Add-PlayerPreChunkLoadEvent.patch @@ -18,10 +18,10 @@ index 1b090f1e79b996e52097afc49c1cec85936653e6..5185bcbf5363fa2c7e2b0226706cc66d private static final byte CHUNK_TICKET_STAGE_NONE = 0; private static final byte CHUNK_TICKET_STAGE_LOADING = 1; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index a1edae705041fee8907a998859628ef4cf6597a8..46a22322f2f660957e9f873f66adf3777c662326 100644 +index 8eddc09c4c6af56bfd578641fe983fb7f37885cf..57288d7a643a407cf1f079e08e84a6c1a6937dc4 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -540,6 +540,13 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -546,6 +546,13 @@ public class CraftWorld extends CraftRegionAccessor implements World { return true; } diff --git a/patches/server/0015-Don-t-send-fire-packets-if-player-has-FR.patch b/patches/server/0015-Don-t-send-fire-packets-if-player-has-FR.patch index 06f3a33f3..e3271b63b 100644 --- a/patches/server/0015-Don-t-send-fire-packets-if-player-has-FR.patch +++ b/patches/server/0015-Don-t-send-fire-packets-if-player-has-FR.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Don't send fire packets if player has FR diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index a9649cbd58e22411bfac00580a2c266cd9133802..4872d9c2a7591aacf9e0fe852c06351289387c8f 100644 +index 45439b0cc4ea69e409fd41d4684403c0e0feab12..007055909e4f11a6c2805b8118d092e8b6f0a982 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -877,7 +877,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -890,7 +890,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S this.checkBelowWorld(); if (!this.level().isClientSide) { diff --git a/patches/server/0019-PlayerLoadStatsEvent.patch b/patches/server/0019-PlayerLoadStatsEvent.patch index aa992af31..4cdfc2abf 100644 --- a/patches/server/0019-PlayerLoadStatsEvent.patch +++ b/patches/server/0019-PlayerLoadStatsEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] PlayerLoadStatsEvent diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index a412b92ee14b685ec30ce8dc70effffa5c11819f..5946a1b76bc29aaad003b2096e8115d9ee3ffe7c 100644 +index 6295a4cbfabe9f6fa58d6682a0ef8bd802a19408..4d72a6c8a8a687f54192446b51cce75eda6aaa93 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1494,7 +1494,7 @@ public abstract class PlayerList { +@@ -1495,7 +1495,7 @@ public abstract class PlayerList { } } diff --git a/patches/server/0020-Add-Force-Crit-to-PlayerPreAttackEntityEvent.patch b/patches/server/0020-Add-Force-Crit-to-PlayerPreAttackEntityEvent.patch index 2fb3d0298..7b87ca400 100644 --- a/patches/server/0020-Add-Force-Crit-to-PlayerPreAttackEntityEvent.patch +++ b/patches/server/0020-Add-Force-Crit-to-PlayerPreAttackEntityEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add Force Crit to PlayerPreAttackEntityEvent diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java -index df8d6f3eb675354ce0d180fc56886ce12788d6ae..f343eb93740d087ef00fea7827a5e86a3e938e4c 100644 +index 567704f61034363e48ef2a5b5566ebdc91682297..7c80c0a4a6ab953d4d2aaf44b8d38b7f4839ebc7 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -1278,10 +1278,11 @@ public abstract class Player extends LivingEntity { +@@ -1280,10 +1280,11 @@ public abstract class Player extends LivingEntity { flag1 = true; } diff --git a/patches/server/0021-Add-Preventing-KB-Bonus-to-PlayerPreAttackEntityEven.patch b/patches/server/0021-Add-Preventing-KB-Bonus-to-PlayerPreAttackEntityEven.patch index 306e85cb2..211036e33 100644 --- a/patches/server/0021-Add-Preventing-KB-Bonus-to-PlayerPreAttackEntityEven.patch +++ b/patches/server/0021-Add-Preventing-KB-Bonus-to-PlayerPreAttackEntityEven.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add Preventing KB Bonus to PlayerPreAttackEntityEvent diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java -index f343eb93740d087ef00fea7827a5e86a3e938e4c..af35f6d9764ec03e24ef20b371dec64476e03ad3 100644 +index 7c80c0a4a6ab953d4d2aaf44b8d38b7f4839ebc7..de8b794575dfad2ced1b44fab8dffc248ba47d19 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -1270,7 +1270,11 @@ public abstract class Player extends LivingEntity { +@@ -1272,7 +1272,11 @@ public abstract class Player extends LivingEntity { boolean flag = f2 > 0.9F; boolean flag1 = false; byte b0 = 0; diff --git a/patches/server/0022-noEntityCollisions-for-Entity.patch b/patches/server/0022-noEntityCollisions-for-Entity.patch index 5eca95ba1..93edfefae 100644 --- a/patches/server/0022-noEntityCollisions-for-Entity.patch +++ b/patches/server/0022-noEntityCollisions-for-Entity.patch @@ -18,10 +18,10 @@ index ee0331a6bc40cdde08d926fd8eb1dc642630c2e5..d1094f6a61976a81f400ab5b2b604f96 } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 4872d9c2a7591aacf9e0fe852c06351289387c8f..ccd0fbf0d61a0a5e9e806df964c711f5c883a8d4 100644 +index 007055909e4f11a6c2805b8118d092e8b6f0a982..20f8e96110a3a6401e71dc9b61fb5678e17fc428 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -520,6 +520,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -521,6 +521,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S * Overriding this field will cause memory leaks. */ private final boolean hardCollides; diff --git a/patches/server/0026-Packet-obfuscation-and-reduction.patch b/patches/server/0026-Packet-obfuscation-and-reduction.patch index 5d9ee22e9..cddd917f1 100644 --- a/patches/server/0026-Packet-obfuscation-and-reduction.patch +++ b/patches/server/0026-Packet-obfuscation-and-reduction.patch @@ -144,10 +144,10 @@ index 529ab44baaf573b97cf7e89560c548642733188f..e3e0f306ebed31ce4742e7d2f15ab102 if (this.entity instanceof LivingEntity) { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index b76f26658c483f34b2e4060cb41ee676d0978173..bf5f42cd19cc207a08b45c3f2ace4e1827e31aaf 100644 +index 20f8e96110a3a6401e71dc9b61fb5678e17fc428..00125637b8c3324eff2461ec6546e238ce358779 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -3385,7 +3385,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -3405,7 +3405,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S this.entityData.markDirty(Entity.DATA_AIR_SUPPLY_ID); return; } @@ -157,10 +157,10 @@ index b76f26658c483f34b2e4060cb41ee676d0978173..bf5f42cd19cc207a08b45c3f2ace4e18 } diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java -index af35f6d9764ec03e24ef20b371dec64476e03ad3..a9455c46bfc181b3ebe04f19ef87a12023dc67e1 100644 +index de8b794575dfad2ced1b44fab8dffc248ba47d19..7e2fa586ae255cb94e302c14d0811e36e860f188 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -644,7 +644,7 @@ public abstract class Player extends LivingEntity { +@@ -646,7 +646,7 @@ public abstract class Player extends LivingEntity { public void increaseScore(int score) { int j = this.getScore(); @@ -170,10 +170,10 @@ index af35f6d9764ec03e24ef20b371dec64476e03ad3..a9455c46bfc181b3ebe04f19ef87a120 public void startAutoSpinAttack(int riptideTicks) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 52f2acf2bbbf71dd30f19af862b7e05ab4c63647..6efc5fd8484a6a0af422c6712b353ccdb2acf764 100644 +index 4d6e9fb4b3a880ce2cd7e194fbb37df7abc087a2..7d4615d97256870aea8c758dde8d6908688615a0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2706,7 +2706,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2757,7 +2757,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.sendHealthUpdate(); } } diff --git a/patches/server/0028-Equipment-Packet-Caching.patch b/patches/server/0028-Equipment-Packet-Caching.patch index 77ba9dc91..f6a69f93b 100644 --- a/patches/server/0028-Equipment-Packet-Caching.patch +++ b/patches/server/0028-Equipment-Packet-Caching.patch @@ -59,10 +59,10 @@ index e3e0f306ebed31ce4742e7d2f15ab102b93a9dff..4f4ea6dcef4e1960ac69271fbd771dd3 if (!this.entity.getPassengers().isEmpty()) { diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 6523795e715e5d472739e9bc6433143115c3de8f..c59576d4fef3b711af9fbba0d9b8e6a0909cf484 100644 +index 23570a0b1227a840b9c1e6ae326827ea655bb5f7..6a52e12c35902e29404666c9874af13f7cb2b11f 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -261,6 +261,8 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -263,6 +263,8 @@ public abstract class LivingEntity extends Entity implements Attackable { public org.bukkit.craftbukkit.entity.CraftLivingEntity getBukkitLivingEntity() { return (org.bukkit.craftbukkit.entity.CraftLivingEntity) super.getBukkitEntity(); } // Paper public boolean silentDeath = false; // Paper - mark entity as dying silently for cancellable death event public net.kyori.adventure.util.TriState frictionState = net.kyori.adventure.util.TriState.NOT_SET; // Paper - Friction API @@ -71,7 +71,7 @@ index 6523795e715e5d472739e9bc6433143115c3de8f..c59576d4fef3b711af9fbba0d9b8e6a0 @Override public float getBukkitYaw() { -@@ -3112,6 +3114,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3133,6 +3135,7 @@ public abstract class LivingEntity extends Entity implements Attackable { if (map != null) { this.handleHandSwap(map); if (!map.isEmpty()) { @@ -79,7 +79,7 @@ index 6523795e715e5d472739e9bc6433143115c3de8f..c59576d4fef3b711af9fbba0d9b8e6a0 this.handleEquipmentChanges(map); } } -@@ -3204,7 +3207,25 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3225,7 +3228,25 @@ public abstract class LivingEntity extends Entity implements Attackable { } }); @@ -106,7 +106,7 @@ index 6523795e715e5d472739e9bc6433143115c3de8f..c59576d4fef3b711af9fbba0d9b8e6a0 } // Paper start - Hide unnecessary item meta -@@ -4544,4 +4565,74 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -4565,4 +4586,74 @@ public abstract class LivingEntity extends Entity implements Attackable { public static record Fallsounds(SoundEvent small, SoundEvent big) { } @@ -182,10 +182,10 @@ index 6523795e715e5d472739e9bc6433143115c3de8f..c59576d4fef3b711af9fbba0d9b8e6a0 + // Slice end } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index b057d4d4226e1b6f2db92f81f4efb69ce207f829..4327a56aec66799e055988d21d15887c7ea82ed1 100644 +index 3f952d1409118535f325f614f1a6507c40efa4d6..3e36b1e140c5f82018d603db84eaab2e1c80f6da 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -1143,4 +1143,14 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -1156,4 +1156,14 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { getHandle().knockback(strength, directionX, directionZ); }; // Paper end diff --git a/patches/server/0030-Add-reason-to-PlayerConnectionCloseEvent.patch b/patches/server/0030-Add-reason-to-PlayerConnectionCloseEvent.patch index 35b26d5cd..1e613cc04 100644 --- a/patches/server/0030-Add-reason-to-PlayerConnectionCloseEvent.patch +++ b/patches/server/0030-Add-reason-to-PlayerConnectionCloseEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add reason to PlayerConnectionCloseEvent diff --git a/src/main/java/net/minecraft/server/network/ServerConfigurationPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerConfigurationPacketListenerImpl.java -index 76f31845fe50200d09e5ab6a6c08da00444414ad..eb86d1d10c61f599161e2387613bfcd5d6cb2dea 100644 +index 87c5690774363edc1b7ebff10b041e48c0a6d56d..cf018b276c674f49c2aaa0084ecdcdc4dc6edbd4 100644 --- a/src/main/java/net/minecraft/server/network/ServerConfigurationPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerConfigurationPacketListenerImpl.java -@@ -138,6 +138,7 @@ public class ServerConfigurationPacketListenerImpl extends ServerCommonPacketLis +@@ -142,6 +142,7 @@ public class ServerConfigurationPacketListenerImpl extends ServerCommonPacketLis // Paper end - Debugging this.connection.send(new ClientboundDisconnectPacket(ServerConfigurationPacketListenerImpl.DISCONNECT_REASON_INVALID_DATA)); this.connection.disconnect(ServerConfigurationPacketListenerImpl.DISCONNECT_REASON_INVALID_DATA); diff --git a/patches/server/0034-Non-saveable-entities.patch b/patches/server/0034-Non-saveable-entities.patch index 2872b0bd3..3625eecce 100644 --- a/patches/server/0034-Non-saveable-entities.patch +++ b/patches/server/0034-Non-saveable-entities.patch @@ -5,23 +5,23 @@ Subject: [PATCH] Non-saveable entities diff --git a/src/main/java/io/papermc/paper/world/ChunkEntitySlices.java b/src/main/java/io/papermc/paper/world/ChunkEntitySlices.java -index 7e8dc9e8f381abfdcce2746edc93122d623622d1..303e5ed4d5cf2a64b998656bfd189f19f8c8fcde 100644 +index c78cbec447032de9fe69748591bef6be300160ed..bb3f14d00a8894fc4dfa12b29c27ef56cc44848d 100644 --- a/src/main/java/io/papermc/paper/world/ChunkEntitySlices.java +++ b/src/main/java/io/papermc/paper/world/ChunkEntitySlices.java -@@ -118,7 +118,7 @@ public final class ChunkEntitySlices { +@@ -119,7 +119,7 @@ public final class ChunkEntitySlices { // removed by us below continue; } - if (entity.shouldBeSaved()) { + if (entity.shouldBeSaved() || !entity.saveable) { // Slice - entity.setRemoved(Entity.RemovalReason.UNLOADED_TO_CHUNK); + entity.setRemoved(Entity.RemovalReason.UNLOADED_TO_CHUNK, EntityRemoveEvent.Cause.UNLOAD); if (entity.isVehicle()) { // we cannot assume that these entities are contained within this chunk, because entities can diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 85d1f19cc02b9bd159d2614305f070ad26df8f17..5069faacb2e16b112b5c7167de5fe310e20bc086 100644 +index 00125637b8c3324eff2461ec6546e238ce358779..1d35db213e7ac7518c587cc0dd0c80c3f99a0c41 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -423,6 +423,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -424,6 +424,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S private UUID originWorld; public boolean freezeLocked = false; // Paper - Freeze Tick Lock API public boolean fixedPose = false; // Paper - Expand Pose API @@ -29,7 +29,7 @@ index 85d1f19cc02b9bd159d2614305f070ad26df8f17..5069faacb2e16b112b5c7167de5fe310 public void setOrigin(@javax.annotation.Nonnull Location location) { this.origin = location.toVector(); -@@ -4817,7 +4818,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -4844,7 +4845,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @Override public boolean shouldBeSaved() { @@ -39,10 +39,10 @@ index 85d1f19cc02b9bd159d2614305f070ad26df8f17..5069faacb2e16b112b5c7167de5fe310 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 8698104e3eb98e2cc5da5de87a8f538860c1d91d..749c9e53b8c0d8cec866bfe5ceaf9be0312c75aa 100644 +index 0b5a31477e3b76833fb97a455842316193663c8e..5db4cf24de9a1c1980f22e72b6f09da146017189 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1227,4 +1227,16 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1228,4 +1228,16 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { return this.getHandle().getScoreboardName(); } // Paper end - entity scoreboard name diff --git a/patches/server/0036-Disable-sending-Entity-Movement-Packets.patch b/patches/server/0036-Disable-sending-Entity-Movement-Packets.patch index dcf0adbaf..c4be71089 100644 --- a/patches/server/0036-Disable-sending-Entity-Movement-Packets.patch +++ b/patches/server/0036-Disable-sending-Entity-Movement-Packets.patch @@ -36,10 +36,10 @@ index 4f4ea6dcef4e1960ac69271fbd771dd3ad6af275..81371980e0eaa362ea1fff9813f632db flag5 = true; } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 5069faacb2e16b112b5c7167de5fe310e20bc086..d80be25ceca44a536d4989a0799716ea7f3a2026 100644 +index 1d35db213e7ac7518c587cc0dd0c80c3f99a0c41..297e2b8438dde1c1903505e8e7bbc94c3340d2d1 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -424,6 +424,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -425,6 +425,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S public boolean freezeLocked = false; // Paper - Freeze Tick Lock API public boolean fixedPose = false; // Paper - Expand Pose API public boolean saveable = true; // Slice diff --git a/patches/server/0037-Player-spawnsOwnMobs.patch b/patches/server/0037-Player-spawnsOwnMobs.patch index e33d1904e..65a6bcfc9 100644 --- a/patches/server/0037-Player-spawnsOwnMobs.patch +++ b/patches/server/0037-Player-spawnsOwnMobs.patch @@ -52,10 +52,10 @@ index 4e2c23ccdf4e4a4d65b291dbe20952bae1838bff..b7c6ec93244da6ebba116ab5d17179f2 return false; } else { diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java -index 2b93d9ca3df4d1a9acd670752390018a4332065f..5d37ffb421b22b0d1acffa43ac0bdd2c80414123 100644 +index 7e2fa586ae255cb94e302c14d0811e36e860f188..55791ab44fd7c11ceedb4bdcc2c9c45cbe916a98 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -182,6 +182,8 @@ public abstract class Player extends LivingEntity { +@@ -184,6 +184,8 @@ public abstract class Player extends LivingEntity { public boolean affectsSpawning = true; // Paper - Affects Spawning API public net.kyori.adventure.util.TriState flyingFallDamage = net.kyori.adventure.util.TriState.NOT_SET; // Paper - flying fall damage diff --git a/patches/server/0040-Vanish.patch b/patches/server/0040-Vanish.patch index 8b29531b3..d7a257b9f 100644 --- a/patches/server/0040-Vanish.patch +++ b/patches/server/0040-Vanish.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Vanish diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index d80be25ceca44a536d4989a0799716ea7f3a2026..95f8b8cd1a429af527763f318ba64a773597924c 100644 +index 297e2b8438dde1c1903505e8e7bbc94c3340d2d1..c07e6ff45c2dd51fcd2031bae3d7b32cb614b7ac 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -425,6 +425,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -426,6 +426,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S public boolean fixedPose = false; // Paper - Expand Pose API public boolean saveable = true; // Slice public boolean sendMovementPackets = true; // Slice @@ -16,7 +16,7 @@ index d80be25ceca44a536d4989a0799716ea7f3a2026..95f8b8cd1a429af527763f318ba64a77 public void setOrigin(@javax.annotation.Nonnull Location location) { this.origin = location.toVector(); -@@ -1313,7 +1314,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -1325,7 +1326,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S } private boolean vibrationAndSoundEffectsFromBlock(BlockPos pos, BlockState state, boolean playSound, boolean emitEvent, Vec3 movement) { @@ -26,10 +26,10 @@ index d80be25ceca44a536d4989a0799716ea7f3a2026..95f8b8cd1a429af527763f318ba64a77 } else { boolean flag2 = this.isStateClimbable(state); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 749c9e53b8c0d8cec866bfe5ceaf9be0312c75aa..8686ac0ef7ba13ecf41a149b4f60937990a365d9 100644 +index 5db4cf24de9a1c1980f22e72b6f09da146017189..a3ab470b534441c0985e137ea299c8fc46bd982b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1239,4 +1239,16 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1240,4 +1240,16 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { this.entity.saveable = saveable; } // Slice end diff --git a/patches/server/0041-PlayerResolveObjectIdEvent.patch b/patches/server/0041-PlayerResolveObjectIdEvent.patch index 2eca76baf..99f6626a8 100644 --- a/patches/server/0041-PlayerResolveObjectIdEvent.patch +++ b/patches/server/0041-PlayerResolveObjectIdEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] PlayerResolveObjectIdEvent diff --git a/build.gradle.kts b/build.gradle.kts -index 223e80ea0ede575cf8f73191ef2799ae0ee41ba7..8868ebd92b13bc2aa48e4f6cae33ed464be621d1 100644 +index f9a08cb94f5d31e16b4fbfc19b6c18d429a53936..ed15e47b52103b4341e69849bd35bdad5d2fd92d 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -26,6 +26,8 @@ dependencies { @@ -18,10 +18,10 @@ index 223e80ea0ede575cf8f73191ef2799ae0ee41ba7..8868ebd92b13bc2aa48e4f6cae33ed46 implementation("org.jline:jline-terminal-jansi:3.21.0") implementation("net.minecrell:terminalconsoleappender:1.3.0") diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 6b681ac559f3f8fb4f7f3fad71fdb84076c2c640..84de98dbf84e73c671c92bc827a5b9f8fcad3f53 100644 +index c07e6ff45c2dd51fcd2031bae3d7b32cb614b7ac..6846b526ab04eaa6596df635c282c236a1f529c2 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -251,7 +251,17 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -252,7 +252,17 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S // Paper start - Folia schedulers synchronized (this) { if (this.bukkitEntity == null) {