diff --git a/gradle.properties b/gradle.properties index dd10bb371..5c54af6d3 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,7 +1,7 @@ group = org.purpurmc.purpur version = 1.19.2-R0.1-SNAPSHOT -paperCommit = 51183af967aafb3d57dc19421da1bcb0aea9d3d2 +paperCommit = ef0e5a642d33ac62f070c45a61cb42647b2744cd org.gradle.caching = true org.gradle.parallel = true diff --git a/patches/api/0007-Ridables.patch b/patches/api/0007-Ridables.patch index 32ca39198..f21b82115 100644 --- a/patches/api/0007-Ridables.patch +++ b/patches/api/0007-Ridables.patch @@ -22,10 +22,10 @@ index 8fd399f791b45eb7fc62693ca954eea0c68e2881..22705359d5b3b1af522ff5575c07ca5e * @deprecated removed in 1.16 */ diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java -index 4d4a0d15876cc48c9c0456b9f11a5dda37fd56ce..dd7df647f98fe72694fb7615e5cd1192724b7812 100644 +index 6dd81f07ef4d6993187987d3352a01771ffb715e..20b00b0c12b848c171fa43d53ce53428e0f424a6 100644 --- a/src/main/java/org/bukkit/entity/Entity.java +++ b/src/main/java/org/bukkit/entity/Entity.java -@@ -919,4 +919,35 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent +@@ -946,4 +946,35 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent */ boolean wouldCollideUsing(@NotNull BoundingBox boundingBox); // Paper End - Collision API diff --git a/patches/api/0013-LivingEntity-safeFallDistance.patch b/patches/api/0013-LivingEntity-safeFallDistance.patch index 79bd70d17..395905520 100644 --- a/patches/api/0013-LivingEntity-safeFallDistance.patch +++ b/patches/api/0013-LivingEntity-safeFallDistance.patch @@ -5,10 +5,10 @@ Subject: [PATCH] LivingEntity safeFallDistance diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java -index a1dba2bcc2a636718a6f377907afc82add617fa2..4f74fb77fb516ff99e04ec2cf2a00c7acbb00c44 100644 +index 4af5e8d0cba6555f7615e4e809d9aff221c0dc4d..8cd72cd63695ec0b8900adaa967d8f22469b72a8 100644 --- a/src/main/java/org/bukkit/entity/LivingEntity.java +++ b/src/main/java/org/bukkit/entity/LivingEntity.java -@@ -917,4 +917,20 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource +@@ -986,4 +986,20 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource */ void setHurtDirection(float hurtDirection); // Paper end diff --git a/patches/api/0022-LivingEntity-broadcastItemBreak.patch b/patches/api/0022-LivingEntity-broadcastItemBreak.patch index cb9e34b88..796f1ee7d 100644 --- a/patches/api/0022-LivingEntity-broadcastItemBreak.patch +++ b/patches/api/0022-LivingEntity-broadcastItemBreak.patch @@ -5,10 +5,10 @@ Subject: [PATCH] LivingEntity#broadcastItemBreak diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java -index 4f74fb77fb516ff99e04ec2cf2a00c7acbb00c44..c0d725cdf0699162347f817e1f7187baa53ab037 100644 +index 8cd72cd63695ec0b8900adaa967d8f22469b72a8..193901442dd6d5e0c85269b42083f63759120d06 100644 --- a/src/main/java/org/bukkit/entity/LivingEntity.java +++ b/src/main/java/org/bukkit/entity/LivingEntity.java -@@ -932,5 +932,12 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource +@@ -1001,5 +1001,12 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource * @param safeFallDistance Safe fall distance */ void setSafeFallDistance(float safeFallDistance); diff --git a/patches/api/0034-API-for-any-mob-to-burn-daylight.patch b/patches/api/0034-API-for-any-mob-to-burn-daylight.patch index e6c95fca5..97737a0b2 100644 --- a/patches/api/0034-API-for-any-mob-to-burn-daylight.patch +++ b/patches/api/0034-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/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java -index dd7df647f98fe72694fb7615e5cd1192724b7812..1f116f33e6dbce8d8d67d799beeedecf792cd728 100644 +index 20b00b0c12b848c171fa43d53ce53428e0f424a6..be7ad89699619aba9df4699403c9a70fd2bc9da1 100644 --- a/src/main/java/org/bukkit/entity/Entity.java +++ b/src/main/java/org/bukkit/entity/Entity.java -@@ -949,5 +949,12 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent +@@ -976,5 +976,12 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent * @return True if ridable in water */ boolean isRidableInWater(); @@ -23,10 +23,10 @@ index dd7df647f98fe72694fb7615e5cd1192724b7812..1f116f33e6dbce8d8d67d799beeedecf // Purpur end } diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java -index c0d725cdf0699162347f817e1f7187baa53ab037..a9b79beb8d16ed74c953ff46ad61945327d685e8 100644 +index 193901442dd6d5e0c85269b42083f63759120d06..4a4606f2598b868e43c270cd3056d44549bc914e 100644 --- a/src/main/java/org/bukkit/entity/LivingEntity.java +++ b/src/main/java/org/bukkit/entity/LivingEntity.java -@@ -939,5 +939,19 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource +@@ -1008,5 +1008,19 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource * @param slot Equipment slot to play break animation for */ void broadcastItemBreak(@NotNull org.bukkit.inventory.EquipmentSlot slot); diff --git a/patches/server/0001-Pufferfish-Server-Changes.patch b/patches/server/0001-Pufferfish-Server-Changes.patch index 0e0d905c7..57d4ddc4d 100644 --- a/patches/server/0001-Pufferfish-Server-Changes.patch +++ b/patches/server/0001-Pufferfish-Server-Changes.patch @@ -3202,7 +3202,7 @@ index 96bb0e56f12437037b598cd7baabf369e5994517..8ed9f14f1ca71111a8215b28821bd5e3 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 325def3149693f64b2b21e0e655b5b3e888fd9a0..3d4e0be647f48a33d1afcdbec62c6624f2086294 100644 +index 9eb921fec32afa360f3a402e978411fcf3ec618c..cc55cb14f2d0f656213be25a1e428132871ac5dd 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1216,6 +1216,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @@ -3213,7 +3213,7 @@ index 325def3149693f64b2b21e0e655b5b3e888fd9a0..3d4e0be647f48a33d1afcdbec62c6624 // Paper start if (!this.cserver.isPrimaryThread()) { List pageList = packet.getPages(); -@@ -2362,6 +2363,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2363,6 +2364,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } private boolean updateChatOrder(Instant timestamp) { @@ -3334,7 +3334,7 @@ index 540bc9500c35c0db719b00aa26f6fb3a1b08ed9f..806cb760822a99316b08ad95ff8922df int LARGE_MAX_STACK_SIZE = 64; diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index f925a8d550ecbf2044a37bfe58b30d6578c5f6af..9630d95ad2d47bb4a043dcb143bb58cd183c00c1 100644 +index 0b3765ff8a25215bc42298b591eeffe022107079..417570c2ad71bc3727e7d5eb841a92ec815d12f6 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -292,7 +292,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -3419,7 +3419,7 @@ index f925a8d550ecbf2044a37bfe58b30d6578c5f6af..9630d95ad2d47bb4a043dcb143bb58cd 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; -@@ -3991,16 +4024,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4005,16 +4038,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } public boolean updateFluidHeightAndDoFluidPushing(TagKey tag, double speed) { @@ -3445,7 +3445,7 @@ index f925a8d550ecbf2044a37bfe58b30d6578c5f6af..9630d95ad2d47bb4a043dcb143bb58cd double d1 = 0.0D; boolean flag = this.isPushedByFluid(); boolean flag1 = false; -@@ -4008,14 +4043,61 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4022,14 +4057,61 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { int k1 = 0; BlockPos.MutableBlockPos blockposition_mutableblockposition = new BlockPos.MutableBlockPos(); @@ -3513,7 +3513,7 @@ index f925a8d550ecbf2044a37bfe58b30d6578c5f6af..9630d95ad2d47bb4a043dcb143bb58cd if (d2 >= axisalignedbb.minY) { flag1 = true; -@@ -4037,9 +4119,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4051,9 +4133,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { // CraftBukkit end } } @@ -3540,7 +3540,7 @@ index ac0f0a4da4282c13f6e1f37710cb615d66b8ef2c..ec0319dd4b115e18b368027cc5dbe4d4 public final String id; diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index cff7993bdafd2f69e46c9985c7601a69ae47f452..8a0e566aa0124480481b17b5b31691849c3ee7cd 100644 +index 33c22f908440664dc9d67f1678a3c4bd8b862457..94f5d710464de0ec4a972b36051e8672b6673cc7 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -142,7 +142,6 @@ import org.bukkit.event.entity.EntityTeleportEvent; @@ -3577,7 +3577,7 @@ index cff7993bdafd2f69e46c9985c7601a69ae47f452..8a0e566aa0124480481b17b5b3169184 @Override public boolean hurt(DamageSource source, float amount) { if (this.isInvulnerableTo(source)) { -@@ -1881,6 +1888,20 @@ public abstract class LivingEntity extends Entity { +@@ -1903,6 +1910,20 @@ public abstract class LivingEntity extends Entity { return this.lastClimbablePos; } @@ -3598,7 +3598,7 @@ index cff7993bdafd2f69e46c9985c7601a69ae47f452..8a0e566aa0124480481b17b5b3169184 public boolean onClimbable() { if (this.isSpectator()) { return false; -@@ -3583,7 +3604,10 @@ public abstract class LivingEntity extends Entity { +@@ -3605,7 +3626,10 @@ public abstract class LivingEntity extends Entity { Vec3 vec3d1 = new Vec3(entity.getX(), entity.getEyeY(), entity.getZ()); // Paper - diff on change - used in CraftLivingEntity#hasLineOfSight(Location) and CraftWorld#lineOfSightExists @@ -3611,7 +3611,7 @@ index cff7993bdafd2f69e46c9985c7601a69ae47f452..8a0e566aa0124480481b17b5b3169184 } diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 3646b969fa51b9683ab4137e530c3a6f6fc6c465..e8e60ea8b9e97ed87be78752f398ab25ba8e9a1b 100644 +index 557e90e54439ce0430075403392b5052d5181feb..5ab1f5d36a61e7a7fe8da4e74f75963ea6432101 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java @@ -210,14 +210,16 @@ public abstract class Mob extends LivingEntity { @@ -3633,7 +3633,7 @@ index 3646b969fa51b9683ab4137e530c3a6f6fc6c465..e8e60ea8b9e97ed87be78752f398ab25 this.targetSelector.tick(); } } -@@ -854,16 +856,20 @@ public abstract class Mob extends LivingEntity { +@@ -860,16 +862,20 @@ public abstract class Mob extends LivingEntity { if (i % 2 != 0 && this.tickCount > 1) { this.level.getProfiler().push("targetSelector"); diff --git a/patches/server/0003-Rebrand.patch b/patches/server/0003-Rebrand.patch index c2e5518dc..0d2c7825a 100644 --- a/patches/server/0003-Rebrand.patch +++ b/patches/server/0003-Rebrand.patch @@ -271,10 +271,10 @@ index 4e56018b64d11f76c8da43fd8f85c6de72204e36..aa8212432825db65cf485cd93f734ccd @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 5d15295604e40ed7b580c949868ce9be5f8065a6..8393e9f64fe52724b260089349fd4e5e87e99a40 100644 +index 1994dd3c272395a27474ec1b37a924a24fc50fd6..778c3f9fe4f7cff450e2bb75ae9d8414af772cd4 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -813,7 +813,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -854,7 +854,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { return EntityCategory.WATER; } diff --git a/patches/server/0005-Purpur-client-support.patch b/patches/server/0005-Purpur-client-support.patch index b504ae011..511caa40c 100644 --- a/patches/server/0005-Purpur-client-support.patch +++ b/patches/server/0005-Purpur-client-support.patch @@ -17,10 +17,10 @@ index 3615576c24d5d6790a6894a91180de25fa0e5a9c..266a26d73dd5aec427b64a638693decf public double lastEntitySpawnRadiusSquared; // Paper - optimise isOutsideRange, this field is in blocks public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet cachedSingleHashSet; // Paper diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index d3dd458dc1d3eb7f426565e38d63bb26c48cec4b..ec77de694db65e3d67cc719fb160af2ecedb8678 100644 +index cc55cb14f2d0f656213be25a1e428132871ac5dd..184c5540e519edd0430ae586bfae93d3ff798de2 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3641,6 +3641,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3645,6 +3645,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 d3dd458dc1d3eb7f426565e38d63bb26c48cec4b..ec77de694db65e3d67cc719fb160af2e @Override public void handleCustomPayload(ServerboundCustomPayloadPacket packet) { -@@ -3665,6 +3666,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3669,6 +3670,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 } diff --git a/patches/server/0007-Component-related-conveniences.patch b/patches/server/0007-Component-related-conveniences.patch index daa4e10db..0b53a842a 100644 --- a/patches/server/0007-Component-related-conveniences.patch +++ b/patches/server/0007-Component-related-conveniences.patch @@ -81,10 +81,10 @@ index 67bce77093dcc126098731047447da2031e3388d..c4088446d30c3b25cf196f51fd394cd0 return this.isFireSource; } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 9630d95ad2d47bb4a043dcb143bb58cd183c00c1..d189f7141a7e93ceb62a2ee22dd529e477ca055e 100644 +index 417570c2ad71bc3727e7d5eb841a92ec815d12f6..47b4c0009fd3c9ec56cac0897c10aac96b6893ad 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -3783,6 +3783,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3797,6 +3797,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 92b400488..337e63bea 100644 --- a/patches/server/0008-Ridables.patch +++ b/patches/server/0008-Ridables.patch @@ -66,10 +66,10 @@ index 2049fa1008be5208d9bb168dd65483613a7296f1..8e3e3dbbea328f76a790477545b46d2d 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 ec77de694db65e3d67cc719fb160af2ecedb8678..cdc22a9e07dc91b6fca4b36736f2eaf105275a6f 100644 +index 184c5540e519edd0430ae586bfae93d3ff798de2..b5e3f57a1a8875c33c3a01a525efc69261bec44c 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2909,6 +2909,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2913,6 +2913,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic ServerGamePacketListenerImpl.this.cserver.getPluginManager().callEvent(event); @@ -79,7 +79,7 @@ index ec77de694db65e3d67cc719fb160af2ecedb8678..cdc22a9e07dc91b6fca4b36736f2eaf1 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)) { ServerGamePacketListenerImpl.this.send(new ClientboundAddEntityPacket(entity)); diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index d189f7141a7e93ceb62a2ee22dd529e477ca055e..3545d6ede83ebf000e05f873c62deed27403845e 100644 +index 47b4c0009fd3c9ec56cac0897c10aac96b6893ad..02c44ec7b6891763daef41f59334c5c47ae4e98d 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -362,7 +362,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -91,7 +91,7 @@ index d189f7141a7e93ceb62a2ee22dd529e477ca055e..3545d6ede83ebf000e05f873c62deed2 private float eyeHeight; public boolean isInPowderSnow; public boolean wasInPowderSnow; -@@ -2767,6 +2767,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2781,6 +2781,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { this.passengers = ImmutableList.copyOf(list); } @@ -104,7 +104,7 @@ index d189f7141a7e93ceb62a2ee22dd529e477ca055e..3545d6ede83ebf000e05f873c62deed2 } return true; // CraftBukkit } -@@ -2807,6 +2813,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2821,6 +2827,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { return false; } // Spigot end @@ -119,7 +119,7 @@ index d189f7141a7e93ceb62a2ee22dd529e477ca055e..3545d6ede83ebf000e05f873c62deed2 if (this.passengers.size() == 1 && this.passengers.get(0) == entity) { this.passengers = ImmutableList.of(); } else { -@@ -4530,4 +4544,45 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4544,4 +4558,45 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { return ((ServerChunkCache) level.getChunkSource()).isPositionTicking(this); } // Paper end @@ -194,7 +194,7 @@ index c1e9b40a4a0f9cdc650caa88b5ea132e06ee2496..882ab40c8cdea8c214cb8344b3ccecdd protected ParticleOptions getInkParticle() { return ParticleTypes.GLOW_SQUID_INK; diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 8a0e566aa0124480481b17b5b31691849c3ee7cd..69de163971a9877d8b020184c296f7f98ee877ed 100644 +index 94f5d710464de0ec4a972b36051e8672b6673cc7..0145c24557d483e4b3d998bd624055ca6437d10b 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -220,9 +220,9 @@ public abstract class LivingEntity extends Entity { @@ -227,7 +227,7 @@ index 8a0e566aa0124480481b17b5b31691849c3ee7cd..69de163971a9877d8b020184c296f7f9 @Override protected void checkFallDamage(double heightDifference, boolean onGround, BlockState state, BlockPos landedPosition) { -@@ -2648,7 +2649,7 @@ public abstract class LivingEntity extends Entity { +@@ -2670,7 +2671,7 @@ public abstract class LivingEntity extends Entity { } protected long lastJumpTime = 0L; // Paper @@ -236,7 +236,7 @@ index 8a0e566aa0124480481b17b5b31691849c3ee7cd..69de163971a9877d8b020184c296f7f9 double d0 = (double) this.getJumpPower() + this.getJumpBoostPower(); Vec3 vec3d = this.getDeltaMovement(); // Paper start -@@ -3401,8 +3402,10 @@ public abstract class LivingEntity extends Entity { +@@ -3423,8 +3424,10 @@ public abstract class LivingEntity extends Entity { this.pushEntities(); this.level.getProfiler().pop(); // Paper start @@ -249,7 +249,7 @@ index 8a0e566aa0124480481b17b5b31691849c3ee7cd..69de163971a9877d8b020184c296f7f9 Location from = new Location(this.level.getWorld(), this.xo, this.yo, this.zo, this.yRotO, this.xRotO); Location to = new Location (this.level.getWorld(), this.getX(), this.getY(), this.getZ(), this.getYRot(), this.getXRot()); io.papermc.paper.event.entity.EntityMoveEvent event = new io.papermc.paper.event.entity.EntityMoveEvent(this.getBukkitLivingEntity(), from, to.clone()); -@@ -3412,6 +3415,21 @@ public abstract class LivingEntity extends Entity { +@@ -3434,6 +3437,21 @@ public abstract class LivingEntity extends Entity { absMoveTo(event.getTo().getX(), event.getTo().getY(), event.getTo().getZ(), event.getTo().getYaw(), event.getTo().getPitch()); } } @@ -272,7 +272,7 @@ index 8a0e566aa0124480481b17b5b31691849c3ee7cd..69de163971a9877d8b020184c296f7f9 // Paper end if (!this.level.isClientSide && this.isSensitiveToWater() && this.isInWaterRainOrBubble()) { diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index e8e60ea8b9e97ed87be78752f398ab25ba8e9a1b..2be421f6584dc184dcd5d7589bd65c1f402a0eaf 100644 +index 5ab1f5d36a61e7a7fe8da4e74f75963ea6432101..7444db8898d1f520a7658b1c0d0499e9171dbe29 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java @@ -146,8 +146,8 @@ public abstract class Mob extends LivingEntity { @@ -286,7 +286,7 @@ index e8e60ea8b9e97ed87be78752f398ab25ba8e9a1b..2be421f6584dc184dcd5d7589bd65c1f this.jumpControl = new JumpControl(this); this.bodyRotationControl = this.createBodyControl(); this.navigation = this.createNavigation(world); -@@ -1323,7 +1323,7 @@ public abstract class Mob extends LivingEntity { +@@ -1329,7 +1329,7 @@ public abstract class Mob extends LivingEntity { protected void onOffspringSpawnedFromEgg(Player player, Mob child) {} protected InteractionResult mobInteract(Player player, InteractionHand hand) { @@ -295,7 +295,7 @@ index e8e60ea8b9e97ed87be78752f398ab25ba8e9a1b..2be421f6584dc184dcd5d7589bd65c1f } public boolean isWithinRestriction() { -@@ -1694,4 +1694,52 @@ public abstract class Mob extends LivingEntity { +@@ -1700,4 +1700,52 @@ public abstract class Mob extends LivingEntity { public Iterable iteratePathfindingStartNodeCandidatePositions() { return ImmutableSet.of(new BlockPos(this.getBoundingBox().minX, (double) this.getBlockY(), this.getBoundingBox().minZ), new BlockPos(this.getBoundingBox().minX, (double) this.getBlockY(), this.getBoundingBox().maxZ), new BlockPos(this.getBoundingBox().maxX, (double) this.getBlockY(), this.getBoundingBox().minZ), new BlockPos(this.getBoundingBox().maxX, (double) this.getBlockY(), this.getBoundingBox().maxZ)); } @@ -5146,10 +5146,10 @@ index 4132c1113f5437a776e5e3c1cb306904775aed88..1a945a32c3d3705a318ebca72a365931 public void tick() { super.tick(); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 492fd9b72cc68d43d3a021f768a87296ff601ac9..18e0b4d9a4ba8189e6b431c52f46bbc461386f58 100644 +index d4ea7d19ae16a8ccafcfe5300bb380b28fd42b75..a0d8afdee5db3202d3693ad4d10b61fc3b942920 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1355,4 +1355,27 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1372,4 +1372,27 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { return !this.getHandle().level.noCollision(this.getHandle(), aabb); } // Paper End - Collision API diff --git a/patches/server/0015-LivingEntity-safeFallDistance.patch b/patches/server/0015-LivingEntity-safeFallDistance.patch index 12fd6d81e..12c16bf55 100644 --- a/patches/server/0015-LivingEntity-safeFallDistance.patch +++ b/patches/server/0015-LivingEntity-safeFallDistance.patch @@ -5,7 +5,7 @@ Subject: [PATCH] LivingEntity safeFallDistance diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 6f6386230dcd061760a8386691063601f9a7f1d5..9bb19e7a112c1411bb6b717de983c0359f6b0cb6 100644 +index 8f9c23969aec0fb101f5532976b07106878499fe..57960731e7bf6abb8a5db875f71f4de312180574 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -255,6 +255,7 @@ public abstract class LivingEntity extends Entity { @@ -27,7 +27,7 @@ index 6f6386230dcd061760a8386691063601f9a7f1d5..9bb19e7a112c1411bb6b717de983c035 if (!state.isAir()) { double d1 = Math.min((double) (0.2F + f / 15.0F), 2.5D); -@@ -1966,7 +1967,7 @@ public abstract class LivingEntity extends Entity { +@@ -1988,7 +1989,7 @@ public abstract class LivingEntity extends Entity { MobEffectInstance mobeffect = this.getEffect(MobEffects.JUMP); float f2 = mobeffect == null ? 0.0F : (float) (mobeffect.getAmplifier() + 1); @@ -62,10 +62,10 @@ index 8b1942b396606f0c989645a6ac587fbdd26a3dc5..c1c5e884f00398032196ee71b55b348f // Purpur start diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 8393e9f64fe52724b260089349fd4e5e87e99a40..20b054d807078015ea795fa2a101c72c3f1c1fbe 100644 +index 778c3f9fe4f7cff450e2bb75ae9d8414af772cd4..dca22c93c6743a5f14ba33541a45f34059978b61 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -925,4 +925,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -966,4 +966,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { throw new IllegalArgumentException(entityCategory + " is an unrecognized entity category"); } // Paper end diff --git a/patches/server/0019-Player-invulnerabilities.patch b/patches/server/0019-Player-invulnerabilities.patch index d5d3ce75f..afe4dfdb0 100644 --- a/patches/server/0019-Player-invulnerabilities.patch +++ b/patches/server/0019-Player-invulnerabilities.patch @@ -82,10 +82,10 @@ index 905aa1311791564720e541fc4fbe1e4f8d38a0e7..577a8a033c13832bc9cf5783b8cd6d47 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 575839fb7bd54d6a34cf8bfa59cf1086eaf22834..8d13fad0bd574cf9cd01d7aa5754023aecf46104 100644 +index 0f0a862e3f0702a9e61bcb6b80b0375c01f46da8..3a2b67b459692a30feaec8362e44be5560741b55 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2099,12 +2099,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2100,12 +2100,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handleResourcePackResponse(ServerboundResourcePackPacket packet) { PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel()); @@ -146,7 +146,7 @@ index ba474fb6992c4427c8819a1ba4f3b692545e0957..d206dacbfe0f8b7b5eeaf23a855d95e7 // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 034205c6e2887aee5d879db46fcf95480e0d7908..6bb51d0ec5d110c8a6690c1df25a730d50df0f72 100644 +index b9580396b99af75ae4895b09fd8f10a56d0f6046..1aea97e220b088c145a2cfdcd44530649389ce86 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -97,6 +97,8 @@ public class PurpurWorldConfig { diff --git a/patches/server/0022-Alternative-Keepalive-Handling.patch b/patches/server/0022-Alternative-Keepalive-Handling.patch index 560604d15..b56e5633e 100644 --- a/patches/server/0022-Alternative-Keepalive-Handling.patch +++ b/patches/server/0022-Alternative-Keepalive-Handling.patch @@ -5,7 +5,7 @@ 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 10158904557da971d162885de6f67d8044ad3941..dd3e8b57d767e5fce65f54ea826651dc8887714d 100644 +index 3a2b67b459692a30feaec8362e44be5560741b55..c32ae28c75aaeb29a764f7791b47cb5f8d85a541 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -260,6 +260,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @@ -38,7 +38,7 @@ index 10158904557da971d162885de6f67d8044ad3941..dd3e8b57d767e5fce65f54ea826651dc 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 -@@ -3626,6 +3642,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3630,6 +3646,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handleKeepAlive(ServerboundKeepAlivePacket packet) { diff --git a/patches/server/0056-Allow-leashing-villagers.patch b/patches/server/0056-Allow-leashing-villagers.patch index ab808e17c..61c0d0042 100644 --- a/patches/server/0056-Allow-leashing-villagers.patch +++ b/patches/server/0056-Allow-leashing-villagers.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Allow leashing villagers diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 2be421f6584dc184dcd5d7589bd65c1f402a0eaf..1e71f0d617b8ddd6d2d0466e5fa5acf98804a97b 100644 +index 7444db8898d1f520a7658b1c0d0499e9171dbe29..2ee095823d3492157f101d083f77233620294c8b 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -1252,6 +1252,7 @@ public abstract class Mob extends LivingEntity { +@@ -1258,6 +1258,7 @@ public abstract class Mob extends LivingEntity { if (!this.isAlive()) { return InteractionResult.PASS; } else if (this.getLeashHolder() == player) { @@ -49,7 +49,7 @@ index 615fdf709b81693cced9a208cc96a33fb686c9a1..8756e0d8d0077308f5fb74bf45fe093d @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index bc8faf0d8bb6c92e667bf61d5efb459121afe180..489a51fb7a80b1e576b5c6d23c41cbe6a7254251 100644 +index 66b8b647df7cc59c8bd916fed6b0586b0198f699..b21bac52d0ecd70cdc4c059b5f1fcbc8fa49da19 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -1412,6 +1412,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0060-Configurable-void-damage-height-and-damage.patch b/patches/server/0060-Configurable-void-damage-height-and-damage.patch index 14c7383f5..2a5bf111a 100644 --- a/patches/server/0060-Configurable-void-damage-height-and-damage.patch +++ b/patches/server/0060-Configurable-void-damage-height-and-damage.patch @@ -5,7 +5,7 @@ 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 6db529112934aa1414aee77bd0f3d2660a8ee105..6d3eace7ae27f4d8d8c6d0eba93ebaacfa19c5f8 100644 +index ec422c3c233454280132b0364b66d802fb32c006..5af14bd15b134b87f2b8afc35b00f8798d1e8486 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -890,7 +890,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -18,10 +18,10 @@ index 6db529112934aa1414aee77bd0f3d2660a8ee105..6d3eace7ae27f4d8d8c6d0eba93ebaac && this.getY() >= this.level.paperConfig().environment.netherCeilingVoidDamageHeight)) { // Paper end diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index cb90fec7558923f547bab2d37ceffd67c07501ce..b20bea5bba517bbbc5f338f1d580588177969450 100644 +index fe6483d505f9148f82f80abc1438945ed0741ba3..cf67b497d1a0e56fa949802804d6d2cf855d52ff 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -2466,7 +2466,7 @@ public abstract class LivingEntity extends Entity { +@@ -2488,7 +2488,7 @@ public abstract class LivingEntity extends Entity { @Override protected void outOfWorld() { @@ -31,7 +31,7 @@ index cb90fec7558923f547bab2d37ceffd67c07501ce..b20bea5bba517bbbc5f338f1d5805881 protected void updateSwingTime() { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 699fb31a9ce01e88b0a1fb2af99b74ec64856eb0..dfd0af9ed3c8bffc08f6fd0f39885db6f26aa901 100644 +index 56f590e38064ac9ab8b2ded728f238f40f1418e6..016c5bdcc9a90eb4dbe1c088ec2ca247ee1ab7a8 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -100,10 +100,14 @@ public class PurpurWorldConfig { diff --git a/patches/server/0061-Add-canSaveToDisk-to-Entity.patch b/patches/server/0061-Add-canSaveToDisk-to-Entity.patch index e776ca2a7..47e428800 100644 --- a/patches/server/0061-Add-canSaveToDisk-to-Entity.patch +++ b/patches/server/0061-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 6d3eace7ae27f4d8d8c6d0eba93ebaacfa19c5f8..54b44601c85171bb3ba76ac406cc81dc1d94723c 100644 +index 5af14bd15b134b87f2b8afc35b00f8798d1e8486..381fe41045e2550d5b4ce45973d06e50ec15d8ce 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -4584,5 +4584,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4598,5 +4598,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { public boolean processClick(InteractionHand hand) { return false; } diff --git a/patches/server/0062-Dispenser-curse-of-binding-protection.patch b/patches/server/0062-Dispenser-curse-of-binding-protection.patch index 19d0ae893..1eb5c3f47 100644 --- a/patches/server/0062-Dispenser-curse-of-binding-protection.patch +++ b/patches/server/0062-Dispenser-curse-of-binding-protection.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Dispenser curse of binding protection diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 1e71f0d617b8ddd6d2d0466e5fa5acf98804a97b..1e4629de69b762f89efe54a93f28292d3657bccb 100644 +index 2ee095823d3492157f101d083f77233620294c8b..c6e2ecb9c7417c00118d7b5a58583a3f4f5e1485 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java @@ -65,6 +65,7 @@ import net.minecraft.world.item.ProjectileWeaponItem; @@ -16,7 +16,7 @@ index 1e71f0d617b8ddd6d2d0466e5fa5acf98804a97b..1e4629de69b762f89efe54a93f28292d import net.minecraft.world.level.GameRules; import net.minecraft.world.level.ItemLike; import net.minecraft.world.level.Level; -@@ -1110,6 +1111,12 @@ public abstract class Mob extends LivingEntity { +@@ -1116,6 +1117,12 @@ public abstract class Mob extends LivingEntity { } @@ -43,7 +43,7 @@ index baa7e055d8ee4a153842128b07984b9f6deac6ca..014dd3aa8a7313d978d4781a1b7c6f53 // CraftBukkit start Level world = pointer.getLevel(); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index dfd0af9ed3c8bffc08f6fd0f39885db6f26aa901..61e0ab842e2e0a5856a39cb3a2a0c7837b02353e 100644 +index 016c5bdcc9a90eb4dbe1c088ec2ca247ee1ab7a8..40d4bb55f0424f90028fb90f5b12953e68c76d25 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -230,6 +230,11 @@ public class PurpurWorldConfig { diff --git a/patches/server/0066-Implement-elytra-settings.patch b/patches/server/0066-Implement-elytra-settings.patch index 9e2a80728..1ca64bcc9 100644 --- a/patches/server/0066-Implement-elytra-settings.patch +++ b/patches/server/0066-Implement-elytra-settings.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Implement elytra settings diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index b20bea5bba517bbbc5f338f1d580588177969450..ae8b34336a2e9e58c79eb1435ed7520dd180f302 100644 +index cf67b497d1a0e56fa949802804d6d2cf855d52ff..e65af06527724bf0117873b687f33a97c69cb3d6 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3462,7 +3462,16 @@ public abstract class LivingEntity extends Entity { +@@ -3484,7 +3484,16 @@ public abstract class LivingEntity extends Entity { int j = i / 10; if (j % 2 == 0) { @@ -99,7 +99,7 @@ index 998758be827efbcb7693ed36ab1dffc0ef0369bf..5beaafec0759543d3bddf99028c97d0d entityhuman.startAutoSpinAttack(20); if (entityhuman.isOnGround()) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 74244b61ef528df49f2f71a3d52522b397d6e7e1..aecaf3bfa1153caa66153a560575336b844e5e55 100644 +index d73da2cb103cc440cf8c46b73f6f450afcb88be2..02f9e33f7f8f36d65374b3ed7cac3b2b7939583e 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -114,6 +114,19 @@ public class PurpurWorldConfig { diff --git a/patches/server/0078-Entity-lifespan.patch b/patches/server/0078-Entity-lifespan.patch index 0b984c6f5..068e5b2a7 100644 --- a/patches/server/0078-Entity-lifespan.patch +++ b/patches/server/0078-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 ce598d875fb2593349dadd9d41d745a8b288d561..0cf63861f3702524facd5e7ffe7da9e8b237d904 100644 +index 645e314a52c91c38378c0972ac28ba7672eb7f14..d49393357ffd7d2c776b45634264f1e40d153fba 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2964,6 +2964,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2968,6 +2968,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } if (entity.distanceToSqr(this.player.getEyePosition()) < ServerGamePacketListenerImpl.MAX_INTERACTION_DISTANCE) { @@ -17,7 +17,7 @@ index ce598d875fb2593349dadd9d41d745a8b288d561..0cf63861f3702524facd5e7ffe7da9e8 private void performInteraction(InteractionHand enumhand, ServerGamePacketListenerImpl.EntityInteraction playerconnection_a, PlayerInteractEntityEvent event) { // CraftBukkit ItemStack itemstack = ServerGamePacketListenerImpl.this.player.getItemInHand(enumhand).copy(); diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 1e4629de69b762f89efe54a93f28292d3657bccb..fe97b5b327af1189b166243c42be99892226cd9e 100644 +index c6e2ecb9c7417c00118d7b5a58583a3f4f5e1485..8d7adb461acdc37ee820c56c15944eedeefec390 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java @@ -134,6 +134,7 @@ public abstract class Mob extends LivingEntity { @@ -66,7 +66,7 @@ index 1e4629de69b762f89efe54a93f28292d3657bccb..fe97b5b327af1189b166243c42be9989 @Override protected void playHurtSound(DamageSource source) { this.resetAmbientSoundTime(); -@@ -522,6 +544,7 @@ public abstract class Mob extends LivingEntity { +@@ -528,6 +550,7 @@ public abstract class Mob extends LivingEntity { } nbt.putBoolean("Bukkit.Aware", this.aware); // CraftBukkit @@ -74,7 +74,7 @@ index 1e4629de69b762f89efe54a93f28292d3657bccb..fe97b5b327af1189b166243c42be9989 } @Override -@@ -592,6 +615,11 @@ public abstract class Mob extends LivingEntity { +@@ -598,6 +621,11 @@ public abstract class Mob extends LivingEntity { this.aware = nbt.getBoolean("Bukkit.Aware"); } // CraftBukkit end @@ -86,7 +86,7 @@ index 1e4629de69b762f89efe54a93f28292d3657bccb..fe97b5b327af1189b166243c42be9989 } @Override -@@ -1634,6 +1662,7 @@ public abstract class Mob extends LivingEntity { +@@ -1640,6 +1668,7 @@ public abstract class Mob extends LivingEntity { this.setLastHurtMob(target); } diff --git a/patches/server/0091-Stop-squids-floating-on-top-of-water.patch b/patches/server/0091-Stop-squids-floating-on-top-of-water.patch index a173d22dd..09a6aa53c 100644 --- a/patches/server/0091-Stop-squids-floating-on-top-of-water.patch +++ b/patches/server/0091-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 54b44601c85171bb3ba76ac406cc81dc1d94723c..c001738074f1d42db37a034d6956905e5804c79e 100644 +index 381fe41045e2550d5b4ce45973d06e50ec15d8ce..edfea0b848d988f44a6eb6628dea8887098c94f6 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -4051,6 +4051,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4065,6 +4065,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { this.yRotO = this.getYRot(); } @@ -54,7 +54,7 @@ index 68cc6f2a78a06293a29317fda72ab3ee79b3533a..cfb2e46b34b2982d6724f18214557fc8 + // Purpur } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index c5b921450f257785f0e089e3744cf309affe1f75..5869ce00116c8293510d6318be2fcf322cabbf27 100644 +index 64123872bd883d01b760faf6277a45a0777ccf00..6d432e258fa51843d9833cdd771814e2fd5cf7eb 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -1456,6 +1456,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0093-Entities-can-use-portals-configuration.patch b/patches/server/0093-Entities-can-use-portals-configuration.patch index 425d28400..dbaeaa832 100644 --- a/patches/server/0093-Entities-can-use-portals-configuration.patch +++ b/patches/server/0093-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 c001738074f1d42db37a034d6956905e5804c79e..b11adb55f88e990b2d62bd3477b8e572a3f9525f 100644 +index edfea0b848d988f44a6eb6628dea8887098c94f6..2ea49b50189e4bc2abfe791bc17e7ea5d9c9e56f 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2878,7 +2878,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2892,7 +2892,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { public void handleInsidePortal(BlockPos pos) { if (this.isOnPortalCooldown()) { this.setPortalCooldown(); @@ -17,7 +17,7 @@ index c001738074f1d42db37a034d6956905e5804c79e..b11adb55f88e990b2d62bd3477b8e572 if (!this.level.isClientSide && !pos.equals(this.portalEntrancePos)) { this.portalEntrancePos = pos.immutable(); } -@@ -3550,7 +3550,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3564,7 +3564,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } public boolean canChangeDimensions() { @@ -27,7 +27,7 @@ index c001738074f1d42db37a034d6956905e5804c79e..b11adb55f88e990b2d62bd3477b8e572 public float getBlockExplosionResistance(Explosion explosion, BlockGetter world, BlockPos pos, BlockState blockState, FluidState fluidState, float max) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 5869ce00116c8293510d6318be2fcf322cabbf27..994c96e757b5d985844d3ee40f5b5611db3cab6c 100644 +index 6d432e258fa51843d9833cdd771814e2fd5cf7eb..21369e002d0dd780b4326d577cba26211d7376b3 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -100,6 +100,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0094-LivingEntity-broadcastItemBreak.patch b/patches/server/0094-LivingEntity-broadcastItemBreak.patch index 6c4469031..6fbb4ff8f 100644 --- a/patches/server/0094-LivingEntity-broadcastItemBreak.patch +++ b/patches/server/0094-LivingEntity-broadcastItemBreak.patch @@ -5,10 +5,10 @@ Subject: [PATCH] LivingEntity#broadcastItemBreak diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 20b054d807078015ea795fa2a101c72c3f1c1fbe..5f56484f3d9351f401a9b297605823689cce57fa 100644 +index dca22c93c6743a5f14ba33541a45f34059978b61..5188830602225f072995692098fbcb8222067935 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -936,5 +936,11 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -977,5 +977,11 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { public void setSafeFallDistance(float safeFallDistance) { getHandle().safeFallDistance = safeFallDistance; } diff --git a/patches/server/0114-Changeable-Mob-Left-Handed-Chance.patch b/patches/server/0114-Changeable-Mob-Left-Handed-Chance.patch index 25dfe8f08..0d0a804bd 100644 --- a/patches/server/0114-Changeable-Mob-Left-Handed-Chance.patch +++ b/patches/server/0114-Changeable-Mob-Left-Handed-Chance.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Changeable Mob Left Handed Chance diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index fe97b5b327af1189b166243c42be99892226cd9e..5a907375d1497229d3b566b30c34248e7a134dff 100644 +index 8d7adb461acdc37ee820c56c15944eedeefec390..30c3e4c67c9fff7fff8fb59d9bdd19bad823aab7 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -1239,7 +1239,7 @@ public abstract class Mob extends LivingEntity { +@@ -1245,7 +1245,7 @@ public abstract class Mob extends LivingEntity { RandomSource randomsource = world.getRandom(); this.getAttribute(Attributes.FOLLOW_RANGE).addPermanentModifier(new AttributeModifier("Random spawn bonus", randomsource.triangle(0.0D, 0.11485000000000001D), AttributeModifier.Operation.MULTIPLY_BASE)); @@ -18,7 +18,7 @@ index fe97b5b327af1189b166243c42be99892226cd9e..5a907375d1497229d3b566b30c34248e } else { this.setLeftHanded(false); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 0670df9d9ad1b62af6f2e14732cbe8da03fc78b9..878c970e22cc983f21cd6c245993cac1aac09d18 100644 +index cb787323d7a586158e8b2cb50d3756bc8690d04d..77de311ff7a1a39f1bba10e920f47d240670c28c 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -158,8 +158,10 @@ public class PurpurWorldConfig { diff --git a/patches/server/0130-Add-mobGriefing-bypass-to-everything-affected.patch b/patches/server/0130-Add-mobGriefing-bypass-to-everything-affected.patch index 327f5ec9b..806c5d471 100644 --- a/patches/server/0130-Add-mobGriefing-bypass-to-everything-affected.patch +++ b/patches/server/0130-Add-mobGriefing-bypass-to-everything-affected.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add mobGriefing bypass to everything affected diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 6a72ce966db535d9f9996bebe23aeae889cde41e..5f8ef6a65529d96e4463db11e7dc968b80700ec3 100644 +index 04363404f7e5329994c530b17f2e5c654723fbcb..2838c9ae7d598e9e53f4e5d59c2bf5927e0d9bbe 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -1716,7 +1716,7 @@ public abstract class LivingEntity extends Entity { @@ -18,10 +18,10 @@ index 6a72ce966db535d9f9996bebe23aeae889cde41e..5f8ef6a65529d96e4463db11e7dc968b BlockState iblockdata = Blocks.WITHER_ROSE.defaultBlockState(); diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 5a907375d1497229d3b566b30c34248e7a134dff..f1ff212f419bb8f21c692c2174c32fab9ce91305 100644 +index 30c3e4c67c9fff7fff8fb59d9bdd19bad823aab7..5a83abf504ca785a15d3ae0142a88e08a991e204 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -664,7 +664,7 @@ public abstract class Mob extends LivingEntity { +@@ -670,7 +670,7 @@ public abstract class Mob extends LivingEntity { public void aiStep() { super.aiStep(); this.level.getProfiler().push("looting"); @@ -409,7 +409,7 @@ index 1a12fee99a8b69fc6c01e1e217575c7c19e13155..4907e0acb7d01b7f57b75579e58ce743 return true; // Purpur end diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index baf446b1dc8b4d6fe7180d27d94749052ce582d2..a8a55aeb4a3579efc2fd4b5c8da254d8fea1de43 100644 +index 964291a0e04b702729ad76361678bd757151184a..be971ee7bbcf0e90e3de436bbcf43720305562f9 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -117,8 +117,11 @@ public class PurpurWorldConfig { diff --git a/patches/server/0132-Add-EntityTeleportHinderedEvent.patch b/patches/server/0132-Add-EntityTeleportHinderedEvent.patch index a9f80c3f1..3b304f7e8 100644 --- a/patches/server/0132-Add-EntityTeleportHinderedEvent.patch +++ b/patches/server/0132-Add-EntityTeleportHinderedEvent.patch @@ -78,10 +78,10 @@ index 5c7e30eb5e8a2a1ab18750a2cd2ec7364e8c52e0..ecd0ba252feb57cb1d60745e7750a676 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 18e0b4d9a4ba8189e6b431c52f46bbc461386f58..7bbddc36be634744c98a4ce1d1e71f2691af4535 100644 +index a0d8afdee5db3202d3693ad4d10b61fc3b942920..7bca861c3ebfc7550b82ae74483464b11f8d6b55 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -562,6 +562,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -564,6 +564,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { // Paper end if ((!ignorePassengers && this.entity.isVehicle()) || this.entity.isRemoved()) { // Paper - Teleport passenger API @@ -108,7 +108,7 @@ index 55c558197e7d940b2169b26c07ce7259bd8fac74..7b650a3e340a73ed865b5b8afe1aef26 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 58d0da89c65187ca48f7444d7c5099778e64603f..5826bcc362aec1a867b18fe9b79aae645639e592 100644 +index c1217325ed03d3546e04d6dee15351b26ce6ed3a..5ce92e94071adad81d252dc9f63b3b468bdedcb7 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -119,6 +119,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0134-Movement-options-for-armor-stands.patch b/patches/server/0134-Movement-options-for-armor-stands.patch index 52e00dcb6..326463c20 100644 --- a/patches/server/0134-Movement-options-for-armor-stands.patch +++ b/patches/server/0134-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 b11adb55f88e990b2d62bd3477b8e572a3f9525f..180b15468ffccc3082aa952c21e73b9882a56524 100644 +index 2ea49b50189e4bc2abfe791bc17e7ea5d9c9e56f..628ea838c16a964bc233f166edc8105c1543e2f9 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -1718,7 +1718,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1732,7 +1732,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { return this.isInWater() || flag; } @@ -66,7 +66,7 @@ index 9dcb46959c723723a369cde50427cbee0349f5a1..6bd31ed84049bc36a060b5e01b0599bf + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index e50b23491b8936da4d0742045d0bb4345ed295ab..01950a7b0b6a6f0959a72f8dcebae71e8e837195 100644 +index 53bd0cb503b1bbb8ea9b083ae590096e5ae68ef6..7e20613a993780f0022b7586205f80248d3ea911 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -101,10 +101,16 @@ public class PurpurWorldConfig { diff --git a/patches/server/0135-Fix-stuck-in-portals.patch b/patches/server/0135-Fix-stuck-in-portals.patch index df831bdc7..6e15122c5 100644 --- a/patches/server/0135-Fix-stuck-in-portals.patch +++ b/patches/server/0135-Fix-stuck-in-portals.patch @@ -5,7 +5,7 @@ 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 b7f93bd215b01be450e2a1a58aadf84ccf811525..5406bff8bc2e194c93076f1d8d51f75f8c6e57d3 100644 +index b858ce2ad443f6690dd71e56fb9eea14793df19d..f8b7b12b0030fea6132b426b41adb2180f1b1157 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1184,6 +1184,7 @@ public class ServerPlayer extends Player { @@ -17,10 +17,10 @@ index b7f93bd215b01be450e2a1a58aadf84ccf811525..5406bff8bc2e194c93076f1d8d51f75f // 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 180b15468ffccc3082aa952c21e73b9882a56524..1e52c70cf06bc212ef99b1765de2aa1c07814435 100644 +index 628ea838c16a964bc233f166edc8105c1543e2f9..51fd2d02236da23a57773086313fee8183817346 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2875,12 +2875,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2889,12 +2889,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { return Vec3.directionFromRotation(this.getRotationVector()); } @@ -37,7 +37,7 @@ index 180b15468ffccc3082aa952c21e73b9882a56524..1e52c70cf06bc212ef99b1765de2aa1c this.isInsidePortal = true; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 01950a7b0b6a6f0959a72f8dcebae71e8e837195..bb1127f369de525430687ec1dc46cc56b5df7fc7 100644 +index 7e20613a993780f0022b7586205f80248d3ea911..fe17225756bddfc1c94cc32a3e655794816e3e8a 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -337,6 +337,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0141-One-Punch-Man.patch b/patches/server/0141-One-Punch-Man.patch index 1c26cb5be..682651acc 100644 --- a/patches/server/0141-One-Punch-Man.patch +++ b/patches/server/0141-One-Punch-Man.patch @@ -5,10 +5,10 @@ Subject: [PATCH] One Punch Man! diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 5f8ef6a65529d96e4463db11e7dc968b80700ec3..5c7f330da5d004fb35b985cbbe9d4ad7c96c74af 100644 +index 2838c9ae7d598e9e53f4e5d59c2bf5927e0d9bbe..c318a83363048e052333e98705f94217039662c4 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -2201,6 +2201,20 @@ public abstract class LivingEntity extends Entity { +@@ -2223,6 +2223,20 @@ public abstract class LivingEntity extends Entity { ((ServerPlayer) damagesource.getEntity()).awardStat(Stats.DAMAGE_DEALT_ABSORBED, Math.round(f2 * 10.0F)); } @@ -30,7 +30,7 @@ index 5f8ef6a65529d96e4463db11e7dc968b80700ec3..5c7f330da5d004fb35b985cbbe9d4ad7 if (human) { // PAIL: Be sure to drag all this code from the EntityHuman subclass each update. diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 2e15e592bbc13f4aca99745dd068b12d5f8a253c..7c216897dc47e2b553ec936615e7e0ab44be906a 100644 +index 46fbf50268f8531c11efccba0f971b19bdfd4a0e..b2bcd43db51bad65f2dc7e01333b504ea3a751f0 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -344,6 +344,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0155-Drowning-Settings.patch b/patches/server/0155-Drowning-Settings.patch index 6b03e2f39..51401ecc6 100644 --- a/patches/server/0155-Drowning-Settings.patch +++ b/patches/server/0155-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 1e52c70cf06bc212ef99b1765de2aa1c07814435..b889bb03b20129535019a36b73358c51319dc0fd 100644 +index 51fd2d02236da23a57773086313fee8183817346..8d97593403198941ff6775dd8576a0e4ea8eb83e 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -3114,7 +3114,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3128,7 +3128,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } public int getMaxAirSupply() { @@ -18,7 +18,7 @@ index 1e52c70cf06bc212ef99b1765de2aa1c07814435..b889bb03b20129535019a36b73358c51 public int getAirSupply() { diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 5c7f330da5d004fb35b985cbbe9d4ad7c96c74af..e0e81878bf0d397b8e28844d4b3c71e549196af4 100644 +index c318a83363048e052333e98705f94217039662c4..8820cc6ed4ab7de2d0574575d8168ff4f85a1ea1 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -423,7 +423,7 @@ public abstract class LivingEntity extends Entity { @@ -40,7 +40,7 @@ index 5c7f330da5d004fb35b985cbbe9d4ad7c96c74af..e0e81878bf0d397b8e28844d4b3c71e5 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 717c7edb6629935eaa9193ddd4af9186e4451f9d..ba95b9ecebca5974389b50d39ab39aecc73da031 100644 +index f6450f2c6a2c26c13af8df4cb2b8c7c2aacda7aa..286d125efccc16314fc03bb130be8a766183a39c 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -166,6 +166,15 @@ public class PurpurWorldConfig { diff --git a/patches/server/0183-API-for-any-mob-to-burn-daylight.patch b/patches/server/0183-API-for-any-mob-to-burn-daylight.patch index 839c9a34c..d8d71dcb0 100644 --- a/patches/server/0183-API-for-any-mob-to-burn-daylight.patch +++ b/patches/server/0183-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 1ffcadeb8750bac1bd2c6aabc0fd93f571f78621..f67fe200b6d748af909593e6cafdedc66cf3c005 100644 +index 8d97593403198941ff6775dd8576a0e4ea8eb83e..4e5b2704f22ac8e94c8ec3b7bfe1e755207eb8cb 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -4597,5 +4597,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4611,5 +4611,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { public boolean canSaveToDisk() { return true; } @@ -31,7 +31,7 @@ index 1ffcadeb8750bac1bd2c6aabc0fd93f571f78621..f67fe200b6d748af909593e6cafdedc6 // Purpur end } diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 6bca2188af3c2dadd2a3690b0ce0d8e3c2963c26..eed05f643f06540e61e8b9b966db571ea8311b74 100644 +index 2b072a5e49c7dfa9b99002d82050929c5562a2e5..efb1cd7b9af8d84fd91d4e355b8092b2eb90ee58 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -265,6 +265,7 @@ public abstract class LivingEntity extends Entity { @@ -62,7 +62,7 @@ index 6bca2188af3c2dadd2a3690b0ce0d8e3c2963c26..eed05f643f06540e61e8b9b966db571e } // CraftBukkit start -@@ -3482,6 +3489,27 @@ public abstract class LivingEntity extends Entity { +@@ -3504,6 +3511,27 @@ public abstract class LivingEntity extends Entity { this.hurt(DamageSource.DROWN, 1.0F); } @@ -91,10 +91,10 @@ index 6bca2188af3c2dadd2a3690b0ce0d8e3c2963c26..eed05f643f06540e61e8b9b966db571e public boolean isSensitiveToWater() { diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index f1ff212f419bb8f21c692c2174c32fab9ce91305..34db1bd524bb97fbbe0f86b088a2ac343e730f5e 100644 +index 5a83abf504ca785a15d3ae0142a88e08a991e204..9ae5053c9c6591bdd8349e434ef505e64048b881 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -1679,17 +1679,7 @@ public abstract class Mob extends LivingEntity { +@@ -1685,17 +1685,7 @@ public abstract class Mob extends LivingEntity { } public boolean isSunBurnTick() { @@ -351,10 +351,10 @@ index cfecf0322ea22b42fa83bafe3cd2f5d74f0d1311..da2f736bd162a1e2e39473a963ef20bc // 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 7bbddc36be634744c98a4ce1d1e71f2691af4535..8a728818913ec4eae440ef75efa55b84d2b94ccf 100644 +index 7bca861c3ebfc7550b82ae74483464b11f8d6b55..b6e0d832a5685fd6105c5307015d58a2d7900221 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -203,6 +203,11 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -205,6 +205,11 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { this.entity = entity; } @@ -367,10 +367,10 @@ index 7bbddc36be634744c98a4ce1d1e71f2691af4535..8a728818913ec4eae440ef75efa55b84 /* * Order is *EXTREMELY* important -- keep it right! =D diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 5f56484f3d9351f401a9b297605823689cce57fa..fefed2988a9dc83f4e69d4c667e216b47388b909 100644 +index 5188830602225f072995692098fbcb8222067935..99130bd07607b54fb7c2a40f43d5d96bd81b56fd 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -942,5 +942,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -983,5 +983,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { if (slot == null) return; getHandle().broadcastBreakEvent(org.bukkit.craftbukkit.CraftEquipmentSlot.getNMS(slot)); } diff --git a/patches/server/0187-Add-toggle-for-end-portal-safe-teleporting.patch b/patches/server/0187-Add-toggle-for-end-portal-safe-teleporting.patch index 18e6d8d83..dfb1b20d2 100644 --- a/patches/server/0187-Add-toggle-for-end-portal-safe-teleporting.patch +++ b/patches/server/0187-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 f6d5d0ebc598d57a5476dbbd47b930d76d27cce7..ebe13267573fbf04d11143a6fcbed3d1a8b2ee5d 100644 +index 4e5b2704f22ac8e94c8ec3b7bfe1e755207eb8cb..a49cc52d5181c56159cbab14c5bec2d7e55c5396 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2934,7 +2934,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2948,7 +2948,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } this.processPortalCooldown(); @@ -45,7 +45,7 @@ index 04bae5085756842ce88710646a17e9dc1aad5994..e7658fa9806701505e15cbf1d28ea3bd entity.portalWorld = ((ServerLevel)world); entity.portalBlock = pos.immutable(); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 6d6b3105e8fe2f69ef8d8b94ee22b7f3bce4416f..dd632b6282eeded3941a9f55d543017d573d1b99 100644 +index c8832718ab8862218fb59ff883fffda24137f675..9789e3af3fe327046b70da504c6bc44d092ed6b0 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -633,6 +633,11 @@ public class PurpurWorldConfig { diff --git a/patches/server/0192-Add-permission-bypass-for-portal-waiting.patch b/patches/server/0192-Add-permission-bypass-for-portal-waiting.patch index 03f388792..d544963f7 100644 --- a/patches/server/0192-Add-permission-bypass-for-portal-waiting.patch +++ b/patches/server/0192-Add-permission-bypass-for-portal-waiting.patch @@ -26,10 +26,10 @@ index c726476e37e8eb6f15f8c05280deb3d0e797d109..281b7534a3f455b57cfe36c6d844f58c @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index c0a7b7bb9757de55424188629087d2ec82479e3c..dabbb41c9a7b0a825a241143ae7c196fceff3d60 100644 +index e779dcc4982ff51e4d450265fd61bc26e8e74d3a..e4afb366ba6f03c1e852e31ca14b58e21abe99d8 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -@@ -255,6 +255,7 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { +@@ -258,6 +258,7 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { @Override public void recalculatePermissions() { this.perm.recalculatePermissions(); diff --git a/patches/server/0212-Toggle-for-kinetic-damage.patch b/patches/server/0212-Toggle-for-kinetic-damage.patch index 16d68148e..6ca614f5c 100644 --- a/patches/server/0212-Toggle-for-kinetic-damage.patch +++ b/patches/server/0212-Toggle-for-kinetic-damage.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Toggle for kinetic damage diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index eed05f643f06540e61e8b9b966db571ea8311b74..8ea3c957c6e6f75b04ea5758d2a8fae48abfc7d8 100644 +index efb1cd7b9af8d84fd91d4e355b8092b2eb90ee58..8df2ec98158e8c1ffb42b7443497cde7ecff1812 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -2860,6 +2860,7 @@ public abstract class LivingEntity extends Entity { +@@ -2882,6 +2882,7 @@ public abstract class LivingEntity extends Entity { if (f3 > 0.0F) { this.playSound(this.getFallDamageSound((int) f3), 1.0F, 1.0F); @@ -17,7 +17,7 @@ index eed05f643f06540e61e8b9b966db571ea8311b74..8ea3c957c6e6f75b04ea5758d2a8fae4 } } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index fd79206a0db36bb398fc30bc1dc218aee8c68391..1bf60fd08b6b3cae8989fd0e29c68f09fea1304b 100644 +index ac618974764b423cbce9dde865724117d1e9d7e4..fa34d335c8593e584f702acd9eae27948c1db48c 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -184,12 +184,14 @@ public class PurpurWorldConfig { diff --git a/patches/server/0238-Signs-allow-color-codes.patch b/patches/server/0238-Signs-allow-color-codes.patch index 27fef3927..99a4edbd8 100644 --- a/patches/server/0238-Signs-allow-color-codes.patch +++ b/patches/server/0238-Signs-allow-color-codes.patch @@ -17,10 +17,10 @@ index 68008facb6cfcccbcb7501c84c5da9014321ce4a..4d28a1f9fe43bb8e9f5ffaf06895c94f 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 555354efbe5f912d192a71119a6e3cc1214c3b69..9fd82705c78cce83010addc89918ff7474574a35 100644 +index bb491a77e2a7eb137f196747e09130e905abfb84..597ea30c360a0cc44ef83cfff118d477fa3d0b0a 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3650,11 +3650,17 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3654,11 +3654,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/0241-Potion-NamespacedKey.patch b/patches/server/0241-Potion-NamespacedKey.patch index bcaac6132..e153979e8 100644 --- a/patches/server/0241-Potion-NamespacedKey.patch +++ b/patches/server/0241-Potion-NamespacedKey.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Potion NamespacedKey diff --git a/src/main/java/net/minecraft/world/effect/MobEffectInstance.java b/src/main/java/net/minecraft/world/effect/MobEffectInstance.java -index d545a581b802ec74bcf8a1709d1b0cb790ed5d40..bb6cf80f256fec955c36bc4b5c1654c2591743c9 100644 +index f5c9be3fde2654bd5a6b3ee737afe96a9393e836..64571396652d4447ce3665cd8cef668c0d27a862 100644 --- a/src/main/java/net/minecraft/world/effect/MobEffectInstance.java +++ b/src/main/java/net/minecraft/world/effect/MobEffectInstance.java @@ -13,6 +13,7 @@ import net.minecraft.util.ExtraCodecs; @@ -150,10 +150,10 @@ index d545a581b802ec74bcf8a1709d1b0cb790ed5d40..bb6cf80f256fec955c36bc4b5c1654c2 public void setNoCounter(boolean permanent) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index ab5d668cf295d84663ced382cbde8dc940176470..1e854090c986f480e35fac5c6f347e72904f9ab5 100644 +index 99130bd07607b54fb7c2a40f43d5d96bd81b56fd..cf90fc5490070b58d7988dacaeae326c56defc7c 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -436,7 +436,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -438,7 +438,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { @Override public boolean addPotionEffect(PotionEffect effect, boolean force) { @@ -162,7 +162,7 @@ index ab5d668cf295d84663ced382cbde8dc940176470..1e854090c986f480e35fac5c6f347e72 return true; } -@@ -457,7 +457,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -459,7 +459,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { @Override public PotionEffect getPotionEffect(PotionEffectType type) { MobEffectInstance handle = this.getHandle().getEffect(MobEffect.byId(type.getId())); @@ -171,7 +171,7 @@ index ab5d668cf295d84663ced382cbde8dc940176470..1e854090c986f480e35fac5c6f347e72 } @Override -@@ -469,7 +469,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -471,7 +471,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { public Collection getActivePotionEffects() { List effects = new ArrayList(); for (MobEffectInstance handle : this.getHandle().activeEffects.values()) { @@ -181,18 +181,18 @@ index ab5d668cf295d84663ced382cbde8dc940176470..1e854090c986f480e35fac5c6f347e72 return effects; } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaPotion.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaPotion.java -index 4d325f61e9171b9e1a069ae69a87ec397735da79..056de387d0971f0b994e562c0b638442875b3a71 100644 +index 298326115f048bb79e3c949861c187134eb5efb8..9b060070ddbbade4c1b6830b9b861f462d60b138 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaPotion.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaPotion.java -@@ -11,6 +11,7 @@ import net.minecraft.nbt.ListTag; +@@ -13,6 +13,7 @@ import net.minecraft.nbt.ListTag; import org.apache.commons.lang.Validate; import org.bukkit.Color; import org.bukkit.Material; +import org.bukkit.NamespacedKey; import org.bukkit.configuration.serialization.DelegateDeserialization; - import org.bukkit.craftbukkit.inventory.CraftMetaItem.ItemMetaKey; import org.bukkit.craftbukkit.inventory.CraftMetaItem.SerializableMeta; -@@ -33,6 +34,7 @@ class CraftMetaPotion extends CraftMetaItem implements PotionMeta { + import org.bukkit.craftbukkit.potion.CraftPotionUtil; +@@ -42,6 +43,7 @@ class CraftMetaPotion extends CraftMetaItem implements PotionMeta { static final ItemMetaKey POTION_COLOR = new ItemMetaKey("CustomPotionColor", "custom-color"); static final ItemMetaKey ID = new ItemMetaKey("Id", "potion-id"); static final ItemMetaKey DEFAULT_POTION = new ItemMetaKey("Potion", "potion-type"); @@ -200,7 +200,7 @@ index 4d325f61e9171b9e1a069ae69a87ec397735da79..056de387d0971f0b994e562c0b638442 // Having an initial "state" in ItemMeta seems bit dirty but the UNCRAFTABLE potion type // is treated as the empty form of the meta because it represents an empty potion with no effect -@@ -83,7 +85,13 @@ class CraftMetaPotion extends CraftMetaItem implements PotionMeta { +@@ -92,7 +94,13 @@ class CraftMetaPotion extends CraftMetaItem implements PotionMeta { boolean ambient = effect.getBoolean(AMBIENT.NBT); boolean particles = tag.contains(SHOW_PARTICLES.NBT, CraftMagicNumbers.NBT.TAG_BYTE) ? effect.getBoolean(SHOW_PARTICLES.NBT) : true; boolean icon = tag.contains(SHOW_ICON.NBT, CraftMagicNumbers.NBT.TAG_BYTE) ? effect.getBoolean(SHOW_ICON.NBT) : particles; @@ -215,7 +215,7 @@ index 4d325f61e9171b9e1a069ae69a87ec397735da79..056de387d0971f0b994e562c0b638442 } } } -@@ -132,6 +140,11 @@ class CraftMetaPotion extends CraftMetaItem implements PotionMeta { +@@ -141,6 +149,11 @@ class CraftMetaPotion extends CraftMetaItem implements PotionMeta { effectData.putBoolean(AMBIENT.NBT, effect.isAmbient()); effectData.putBoolean(SHOW_PARTICLES.NBT, effect.hasParticles()); effectData.putBoolean(SHOW_ICON.NBT, effect.hasIcon()); @@ -227,7 +227,7 @@ index 4d325f61e9171b9e1a069ae69a87ec397735da79..056de387d0971f0b994e562c0b638442 effectList.add(effectData); } } -@@ -201,7 +214,7 @@ class CraftMetaPotion extends CraftMetaItem implements PotionMeta { +@@ -202,7 +215,7 @@ class CraftMetaPotion extends CraftMetaItem implements PotionMeta { if (index != -1) { if (overwrite) { PotionEffect old = this.customEffects.get(index); diff --git a/patches/server/0264-Config-for-mob-last-hurt-by-player-time.patch b/patches/server/0264-Config-for-mob-last-hurt-by-player-time.patch index ba4e445b5..7a97bd0fb 100644 --- a/patches/server/0264-Config-for-mob-last-hurt-by-player-time.patch +++ b/patches/server/0264-Config-for-mob-last-hurt-by-player-time.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Config for mob last hurt by player time diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index dff56b5dffaa291edd3bf55c3077c117ed02f626..89c47c71eb94df0f54e70dc41aea2fa00c3f262f 100644 +index 7a014d6f6aab9af7356c454570d92d1b83f27f91..b37d3f293cf73730626f0a7da84058f42f071181 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -1441,13 +1441,13 @@ public abstract class LivingEntity extends Entity { @@ -25,11 +25,11 @@ index dff56b5dffaa291edd3bf55c3077c117ed02f626..89c47c71eb94df0f54e70dc41aea2fa0 if (entityliving != null && entityliving.getType() == EntityType.PLAYER) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 1e854090c986f480e35fac5c6f347e72904f9ab5..76a4803decea19f8bed8cb11e73bd7895675a3f4 100644 +index cf90fc5490070b58d7988dacaeae326c56defc7c..5711535e40e3174049deb39b72c760a225a0fd2f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -425,7 +425,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { - ServerPlayer entityPlayer = killer == null ? null : ((CraftPlayer) killer).getHandle(); +@@ -427,7 +427,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { + net.minecraft.server.level.ServerPlayer entityPlayer = killer == null ? null : ((CraftPlayer) killer).getHandle(); getHandle().lastHurtByPlayer = entityPlayer; getHandle().lastHurtByMob = entityPlayer; - getHandle().lastHurtByPlayerTime = entityPlayer == null ? 0 : 100; // 100 value taken from EntityLiving#damageEntity @@ -38,7 +38,7 @@ index 1e854090c986f480e35fac5c6f347e72904f9ab5..76a4803decea19f8bed8cb11e73bd789 // Paper end diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 378b2d00193c69f020e4ac6f39dd62ba4dc918c5..7d08e462f20a5f8f0263d3786b35219c618e259a 100644 +index 102bf2f18de4f3d11d6620c8666bb5c3385133d2..be7a45715bb999b1c7b8a00d00bb1322240ccc6e 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -144,6 +144,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0275-Add-log-suppression-for-sent-expired-chat.patch b/patches/server/0275-Add-log-suppression-for-sent-expired-chat.patch index e55677c7d..23d837148 100644 --- a/patches/server/0275-Add-log-suppression-for-sent-expired-chat.patch +++ b/patches/server/0275-Add-log-suppression-for-sent-expired-chat.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add log suppression for sent expired chat diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index d842f7c95c1105ca5e6a5bd4bdc0347cfa1feee9..6bb6e70ede5c5fb5f505020e70a240b51010cb66 100644 +index 597ea30c360a0cc44ef83cfff118d477fa3d0b0a..628a3788c60c9644043ee78736e035707a9d4044 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2686,7 +2686,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2690,7 +2690,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } } diff --git a/patches/server/0279-Option-to-disable-kick-for-out-of-order-chat.patch b/patches/server/0279-Option-to-disable-kick-for-out-of-order-chat.patch index 0c54cac24..b941471f7 100644 --- a/patches/server/0279-Option-to-disable-kick-for-out-of-order-chat.patch +++ b/patches/server/0279-Option-to-disable-kick-for-out-of-order-chat.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Option to disable kick for out of order chat diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 6bb6e70ede5c5fb5f505020e70a240b51010cb66..0bc14bd2252705bd08ced10db3ed8dfbdc59893d 100644 +index 628a3788c60c9644043ee78736e035707a9d4044..9519e11fef244eb1b286b43b857d3f41865784c4 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2451,7 +2451,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2452,7 +2452,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic do { instant1 = (Instant) this.lastChatTimeStamp.get(); if (timestamp.isBefore(instant1)) { diff --git a/patches/server/0288-Remove-Timings.patch b/patches/server/0288-Remove-Timings.patch index 45b8d7c0f..22bde5aa0 100644 --- a/patches/server/0288-Remove-Timings.patch +++ b/patches/server/0288-Remove-Timings.patch @@ -769,10 +769,10 @@ index 0df97cf932f8bd315e3ae645368ae8df6c51fc25..207f07dfd0d2fd0ff5fdb3952966d069 this.entityManager.saveAll(); } else { diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 0bc14bd2252705bd08ced10db3ed8dfbdc59893d..166fd17d03d84cd3ea5917c17e6b9549a46295e0 100644 +index 9519e11fef244eb1b286b43b857d3f41865784c4..7a0adbdcadd20269e92cb698b569f04b169dade4 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2601,7 +2601,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2602,7 +2602,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } } // Paper End @@ -781,7 +781,7 @@ index 0bc14bd2252705bd08ced10db3ed8dfbdc59893d..166fd17d03d84cd3ea5917c17e6b9549 if ( org.spigotmc.SpigotConfig.logCommands ) // Spigot this.LOGGER.info(this.player.getScoreboardName() + " issued server command: " + s); -@@ -2611,7 +2611,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2612,7 +2612,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.cserver.getPluginManager().callEvent(event); if (event.isCancelled()) { @@ -790,7 +790,7 @@ index 0bc14bd2252705bd08ced10db3ed8dfbdc59893d..166fd17d03d84cd3ea5917c17e6b9549 return; } -@@ -2624,7 +2624,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2625,7 +2625,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic java.util.logging.Logger.getLogger(ServerGamePacketListenerImpl.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); return; } finally { diff --git a/patches/server/0289-Remove-Mojang-Profiler.patch b/patches/server/0289-Remove-Mojang-Profiler.patch index 2e0d380a1..f9471ad5c 100644 --- a/patches/server/0289-Remove-Mojang-Profiler.patch +++ b/patches/server/0289-Remove-Mojang-Profiler.patch @@ -835,7 +835,7 @@ index 4d28a1f9fe43bb8e9f5ffaf06895c94fa0749d5d..08c46cdc626e89fed0d769d50735e983 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 166fd17d03d84cd3ea5917c17e6b9549a46295e0..48224c850e5be223971b76a4e580b95585208ea6 100644 +index 7a0adbdcadd20269e92cb698b569f04b169dade4..72cb935faed7c96d6759c020b48a9e66be99dbfd 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -416,7 +416,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @@ -1061,7 +1061,7 @@ index 5725c6593480fada65facc29664a00a8cc073512..ccb1f998ae3122d1856d77149ff7e7df }; } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 59905d8d5e446ff694fe70edec8df1d92e27aa40..0cdac68d20a77948ef7dd4072b3db039e280c567 100644 +index 34c823876efc78a5f5fe111b3d10e5240f76215f..ffbe6f3b5fdd60332627fdb6a7ea050d21ad8cdb 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -821,7 +821,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -1129,7 +1129,7 @@ index 59905d8d5e446ff694fe70edec8df1d92e27aa40..0cdac68d20a77948ef7dd4072b3db039 } } // Paper start - detailed watchdog information -@@ -2902,7 +2902,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2916,7 +2916,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { ServerLevel worldserver1 = minecraftserver.getLevel(resourcekey); if (true && !this.isPassenger() && this.portalTime++ >= i) { // CraftBukkit @@ -1138,7 +1138,7 @@ index 59905d8d5e446ff694fe70edec8df1d92e27aa40..0cdac68d20a77948ef7dd4072b3db039 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); -@@ -2920,7 +2920,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2934,7 +2934,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } } // Paper // CraftBukkit end @@ -1147,7 +1147,7 @@ index 59905d8d5e446ff694fe70edec8df1d92e27aa40..0cdac68d20a77948ef7dd4072b3db039 } this.isInsidePortal = false; -@@ -3374,14 +3374,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3388,14 +3388,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } // Paper end if (this.level instanceof ServerLevel && !this.isRemoved()) { @@ -1164,7 +1164,7 @@ index 59905d8d5e446ff694fe70edec8df1d92e27aa40..0cdac68d20a77948ef7dd4072b3db039 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) { -@@ -3415,7 +3415,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3429,7 +3429,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { this.unRide(); // CraftBukkit end @@ -1173,7 +1173,7 @@ index 59905d8d5e446ff694fe70edec8df1d92e27aa40..0cdac68d20a77948ef7dd4072b3db039 // Paper start - Change lead drop timing to prevent dupe if (this instanceof Mob) { ((Mob) this).dropLeash(true, true); // Paper drop lead -@@ -3438,10 +3438,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3452,10 +3452,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } this.removeAfterChangingDimensions(); @@ -1187,7 +1187,7 @@ index 59905d8d5e446ff694fe70edec8df1d92e27aa40..0cdac68d20a77948ef7dd4072b3db039 } } else { diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 89c47c71eb94df0f54e70dc41aea2fa00c3f262f..cd414a9275e6d9f8c704854763b18f4ee43b67b7 100644 +index b37d3f293cf73730626f0a7da84058f42f071181..8f80b2f14c582d248988a824193d1fd0df177dc5 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -397,7 +397,7 @@ public abstract class LivingEntity extends Entity { @@ -1208,7 +1208,7 @@ index 89c47c71eb94df0f54e70dc41aea2fa00c3f262f..cd414a9275e6d9f8c704854763b18f4e } public boolean canSpawnSoulSpeedParticle() { -@@ -3065,10 +3065,10 @@ public abstract class LivingEntity extends Entity { +@@ -3087,10 +3087,10 @@ public abstract class LivingEntity extends Entity { } this.run += (f3 - this.run) * 0.3F; @@ -1222,7 +1222,7 @@ index 89c47c71eb94df0f54e70dc41aea2fa00c3f262f..cd414a9275e6d9f8c704854763b18f4e while (this.getYRot() - this.yRotO < -180.0F) { this.yRotO -= 360.0F; -@@ -3102,7 +3102,7 @@ public abstract class LivingEntity extends Entity { +@@ -3124,7 +3124,7 @@ public abstract class LivingEntity extends Entity { this.yHeadRotO += 360.0F; } @@ -1231,7 +1231,7 @@ index 89c47c71eb94df0f54e70dc41aea2fa00c3f262f..cd414a9275e6d9f8c704854763b18f4e this.animStep += f2; if (this.isFallFlying()) { ++this.fallFlyTicks; -@@ -3384,19 +3384,19 @@ public abstract class LivingEntity extends Entity { +@@ -3406,19 +3406,19 @@ public abstract class LivingEntity extends Entity { } this.setDeltaMovement(d4, d5, d6); @@ -1256,7 +1256,7 @@ index 89c47c71eb94df0f54e70dc41aea2fa00c3f262f..cd414a9275e6d9f8c704854763b18f4e if (this.jumping && this.isAffectedByFluids()) { double d7; -@@ -3423,8 +3423,8 @@ public abstract class LivingEntity extends Entity { +@@ -3445,8 +3445,8 @@ public abstract class LivingEntity extends Entity { this.noJumpDelay = 0; } @@ -1267,7 +1267,7 @@ index 89c47c71eb94df0f54e70dc41aea2fa00c3f262f..cd414a9275e6d9f8c704854763b18f4e this.xxa *= 0.98F; this.zza *= 0.98F; this.updateFallFlying(); -@@ -3433,8 +3433,8 @@ public abstract class LivingEntity extends Entity { +@@ -3455,8 +3455,8 @@ public abstract class LivingEntity extends Entity { // SpigotTimings.timerEntityAIMove.startTiming(); // Spigot // Paper this.travel(new Vec3((double) this.xxa, (double) this.yya, (double) this.zza)); // SpigotTimings.timerEntityAIMove.stopTiming(); // Spigot // Paper @@ -1278,7 +1278,7 @@ index 89c47c71eb94df0f54e70dc41aea2fa00c3f262f..cd414a9275e6d9f8c704854763b18f4e boolean flag1 = this.getType().is(EntityTypeTags.FREEZE_HURTS_EXTRA_TYPES); int i; -@@ -3454,15 +3454,15 @@ public abstract class LivingEntity extends Entity { +@@ -3476,15 +3476,15 @@ public abstract class LivingEntity extends Entity { this.hurt(DamageSource.FREEZE, (float) i); } @@ -1298,7 +1298,7 @@ index 89c47c71eb94df0f54e70dc41aea2fa00c3f262f..cd414a9275e6d9f8c704854763b18f4e // Purpur start if (this.xo != this.getX() || this.yo != this.getY() || this.zo != this.getZ() || this.yRotO != this.getYRot() || this.xRotO != this.getXRot()) { diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 34db1bd524bb97fbbe0f86b088a2ac343e730f5e..b75243eca01cae108093368e426ea2d6b6ef1057 100644 +index 9ae5053c9c6591bdd8349e434ef505e64048b881..ec4f04327eb875989af4d7da0171e2000fadef6b 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java @@ -332,14 +332,14 @@ public abstract class Mob extends LivingEntity { @@ -1318,7 +1318,7 @@ index 34db1bd524bb97fbbe0f86b088a2ac343e730f5e..b75243eca01cae108093368e426ea2d6 } // Purpur start -@@ -663,7 +663,7 @@ public abstract class Mob extends LivingEntity { +@@ -669,7 +669,7 @@ public abstract class Mob extends LivingEntity { @Override public void aiStep() { super.aiStep(); @@ -1327,7 +1327,7 @@ index 34db1bd524bb97fbbe0f86b088a2ac343e730f5e..b75243eca01cae108093368e426ea2d6 if (!this.level.isClientSide && this.canPickUpLoot() && this.isAlive() && !this.dead && (this.level.purpurConfig.entitiesPickUpLootBypassMobGriefing || this.level.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING))) { Vec3i baseblockposition = this.getPickupReach(); List list = this.level.getEntitiesOfClass(ItemEntity.class, this.getBoundingBox().inflate((double) baseblockposition.getX(), (double) baseblockposition.getY(), (double) baseblockposition.getZ())); -@@ -683,7 +683,7 @@ public abstract class Mob extends LivingEntity { +@@ -689,7 +689,7 @@ public abstract class Mob extends LivingEntity { } } @@ -1336,7 +1336,7 @@ index 34db1bd524bb97fbbe0f86b088a2ac343e730f5e..b75243eca01cae108093368e426ea2d6 } protected Vec3i getPickupReach() { -@@ -878,46 +878,46 @@ public abstract class Mob extends LivingEntity { +@@ -884,46 +884,46 @@ public abstract class Mob extends LivingEntity { return; } // Paper end