diff --git a/gradle.properties b/gradle.properties index 6ce85b4dc..2c01fcea3 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,7 +1,7 @@ group = org.purpurmc.purpur version = 1.18.2-R0.1-SNAPSHOT -paperCommit = 268476bba3f1796fffff13a213e3ffa81ff76cc6 +paperCommit = 73bd35d07624fde87498e6e5151b2a13baae25b1 org.gradle.caching = true org.gradle.parallel = true diff --git a/patches/api/0019-ItemStack-convenience-methods.patch b/patches/api/0019-ItemStack-convenience-methods.patch index 93896476e..311f7c0b0 100644 --- a/patches/api/0019-ItemStack-convenience-methods.patch +++ b/patches/api/0019-ItemStack-convenience-methods.patch @@ -5,10 +5,10 @@ Subject: [PATCH] ItemStack convenience methods diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index ef7054fec75d91082be27fdd2a06469f37a6c174..d410cc574c941a348d7130bf1709859c2f1f4505 100644 +index a39e7af2529fb8e65641d76f78e2d8eb12900853..8418eecabcb5319ef4db0785f4350920fa433278 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -9869,4 +9869,39 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata +@@ -9871,4 +9871,39 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata return Bukkit.getUnsafe().getCreativeCategory(this); } @@ -49,7 +49,7 @@ index ef7054fec75d91082be27fdd2a06469f37a6c174..d410cc574c941a348d7130bf1709859c + // Purpur end } diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index 56897cfb96b53e43fec343568e514ee636ddd5c5..c6d2dfd7ec22c168b8bf348174ed25ee30a5c5cf 100644 +index 62841846ec3e14daa46564509671cab146984cc6..6ebfa971cf5bd8dac84eb29402b764feb5e6b974 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java @@ -17,6 +17,18 @@ import org.bukkit.inventory.meta.ItemMeta; @@ -71,7 +71,7 @@ index 56897cfb96b53e43fec343568e514ee636ddd5c5..c6d2dfd7ec22c168b8bf348174ed25ee /** * Represents a stack of items. -@@ -975,4 +987,626 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor +@@ -979,4 +991,626 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor return Bukkit.getUnsafe().isValidRepairItemStack(toBeRepaired, this); } // Paper end diff --git a/patches/api/0039-Summoner-API.patch b/patches/api/0039-Summoner-API.patch index 762448838..ec51b2e89 100644 --- a/patches/api/0039-Summoner-API.patch +++ b/patches/api/0039-Summoner-API.patch @@ -55,10 +55,10 @@ index 10f8f6d45ae9280651c3ebddd1f90acbd7d6ff29..34f9d1b5d66ca96c71a94ebc981752e4 + // Purpur end } diff --git a/src/main/java/org/bukkit/entity/Wither.java b/src/main/java/org/bukkit/entity/Wither.java -index 8c95cd6933f11076de936854f379e6fc8600b525..86907637ed0a53d4967606dbba3ea20320b528f8 100644 +index a1b42ae35dda2da90ba00a2d6666514f7c5b11dd..3ccd61bf91d7746393589b0b35674361c2f1d133 100644 --- a/src/main/java/org/bukkit/entity/Wither.java +++ b/src/main/java/org/bukkit/entity/Wither.java -@@ -36,4 +36,20 @@ public interface Wither extends Monster, Boss, RangedEntity { // Paper +@@ -79,4 +79,20 @@ public interface Wither extends Monster, Boss, com.destroystokyo.paper.entity.Ra */ void setCanTravelThroughPortals(boolean value); // Paper end diff --git a/patches/server/0001-Pufferfish-Server-Changes.patch b/patches/server/0001-Pufferfish-Server-Changes.patch index 279233d26..1a05e02b3 100644 --- a/patches/server/0001-Pufferfish-Server-Changes.patch +++ b/patches/server/0001-Pufferfish-Server-Changes.patch @@ -2427,7 +2427,7 @@ index 98209532ad3e692d7e459640123f78bbd9a65889..93c1f9e3e9d62cc993fedb93fe43cbee 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 1a87f61d534ed531132fb43a9d2a45a4b604a6fc..cc6ba95f01b82c42b4e5a0a70721ef00dd335e57 100644 +index 1a1f3664554ae1f2b0110f615e79fa0568407d17..f115aabaf67976a503a76f5213dd52b7b7dfab4e 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1116,6 +1116,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @@ -2551,7 +2551,7 @@ index 7437f01ca8f416e2c9150250e324af4725a4efb6..7ac51dbfce18a2bc52faa7a915abeccc 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 03ba63163650463040815562e4e76a92758f8661..4e6cbb858806cbf73dbf195bb436bbeff1a5b92a 100644 +index 86a2eddf344503cbe75a5243a114f6fe1578185f..3f032a510e741d52c4c7fc701df65c77c30362ed 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -230,7 +230,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -2623,7 +2623,7 @@ index 03ba63163650463040815562e4e76a92758f8661..4e6cbb858806cbf73dbf195bb436bbef return chunkMap.playerEntityTrackerTrackMaps[type.ordinal()].getObjectsInRange(MCUtil.getCoordinateKey(this)); } -@@ -3892,16 +3919,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3886,16 +3913,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } public boolean updateFluidHeightAndDoFluidPushing(TagKey tag, double speed) { @@ -2649,7 +2649,7 @@ index 03ba63163650463040815562e4e76a92758f8661..4e6cbb858806cbf73dbf195bb436bbef double d1 = 0.0D; boolean flag = this.isPushedByFluid(); boolean flag1 = false; -@@ -3909,14 +3938,61 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3903,14 +3932,61 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { int k1 = 0; BlockPos.MutableBlockPos blockposition_mutableblockposition = new BlockPos.MutableBlockPos(); @@ -2717,7 +2717,7 @@ index 03ba63163650463040815562e4e76a92758f8661..4e6cbb858806cbf73dbf195bb436bbef if (d2 >= axisalignedbb.minY) { flag1 = true; -@@ -3938,9 +4014,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3932,9 +4008,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { // CraftBukkit end } } @@ -2814,10 +2814,10 @@ index bd5825c5b5c81e0694a3635b981588f0d2ba83cb..2fe2307a10cb2e4e2b055cbe615b3750 } diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index b1ae9b0d8b229e2a6797a173cb11ecc0f43e2592..d7a0fb4727e263932846a67c584da2c8d6d4e275 100644 +index e3227a806d9e19923783122ea94ae19e7dbe71da..8ee0a80e3427ecef9fa15b7388a8287e26a25fd6 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -206,14 +206,16 @@ public abstract class Mob extends LivingEntity { +@@ -205,14 +205,16 @@ public abstract class Mob extends LivingEntity { return this.lookControl; } @@ -2836,7 +2836,7 @@ index b1ae9b0d8b229e2a6797a173cb11ecc0f43e2592..d7a0fb4727e263932846a67c584da2c8 this.targetSelector.tick(); } } -@@ -844,16 +846,20 @@ public abstract class Mob extends LivingEntity { +@@ -843,16 +845,20 @@ public abstract class Mob extends LivingEntity { if (i % 2 != 0 && this.tickCount > 1) { this.level.getProfiler().push("targetSelector"); @@ -3001,10 +3001,10 @@ index ed617223942b410fb6f799be7db2001909db67ed..f11eb6df9f095109378caaf0fd16575b @Override protected float getStandingEyeHeight(Pose pose, EntityDimensions dimensions) { diff --git a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java -index d54fc22639bb67a977c27585aac46e9d3dcafa6d..fb800bf3fc198c1aee9a8bdc8d33e5e76f6a8746 100644 +index e5617c013f1bd6f89dfbb2ccd404489180cd0573..bdc65bf098fd3107e36d3738583455e87af82cf4 100644 --- a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java +++ b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java -@@ -284,9 +284,11 @@ public class Axolotl extends Animal implements LerpingModel, Bucketable { +@@ -283,9 +283,11 @@ public class Axolotl extends Animal implements LerpingModel, Bucketable { return true; } @@ -3078,7 +3078,7 @@ index 411eb4d495907aa1d646673bf07d56ff01e52eee..1d9c542f3fe7da7bb9ea8b13496651a7 boolean flag1 = iblockdata.getFluidState().is(FluidTags.WATER); diff --git a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java -index 373ec915412899e4893aa182abd6fb63f3dff0aa..fc43b1d5dcb53456bb24ae46ea08b97b14403c86 100644 +index 49ca4f6a9e33fdb5295dae2b059d071551353c24..127c839c4f9b0ade39065588e275984ea639380b 100644 --- a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java +++ b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java @@ -126,9 +126,11 @@ public class Hoglin extends Animal implements Enemy, HoglinBase { @@ -3094,7 +3094,7 @@ index 373ec915412899e4893aa182abd6fb63f3dff0aa..fc43b1d5dcb53456bb24ae46ea08b97b this.level.getProfiler().pop(); HoglinAi.updateActivity(this); diff --git a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java -index 84c129fd931596a4cd3aa5b9caa7da1c309b71a7..3ff720ff67938be3efc0412a7a17c4d5b8eab763 100644 +index 63cfda124b5bad20af3050a0b62d73883b6abf7d..05e05793b1fd10cceb4b19ac60c8a10b0c5b7d45 100644 --- a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java +++ b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java @@ -288,9 +288,11 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento @@ -3391,7 +3391,7 @@ index 22feab6477bad023c2d6cc9ac99d392d0afe0a31..fb2626d2a6babe531dd1849333b119ab final String id; private final GameRules.Category category; diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index aece6a47d978e9d3579334bbedadfeb9f4770894..a96f336e3fa32bba3dbb3a12ce12f107b60e2e4f 100644 +index fee8996f35b38fd79946cdfd677763e0201eb57d..b830c2199a22252116619520f407fd84eddb28f3 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -261,6 +261,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable { @@ -3541,10 +3541,10 @@ index aece6a47d978e9d3579334bbedadfeb9f4770894..a96f336e3fa32bba3dbb3a12ce12f107 } diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java -index 13eded53a64d0f36f8c9bce2077de4f1c1ed2d56..303ad9eab2e0a9b73597ca4ee9d70bea1979c5dd 100644 +index d87900e2a9559a34ee66e3cffab851a578c0278e..6e24b86ce315510133b6294f5d348e5c4e7f547f 100644 --- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java +++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java -@@ -414,12 +414,12 @@ public final class NaturalSpawner { +@@ -413,12 +413,12 @@ public final class NaturalSpawner { } } @@ -3823,7 +3823,7 @@ index ed3518fe7c841d9e1a9c97626acaa3d765a6d76f..da00f75ccc9f8c2e2174d4450479202a @Override diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java -index c8fb4b2bc86c9aa2e7c2e9ee10208cf9598b39ef..74882f89f32b14ff8cd44f0e4eb1f350f52d636d 100644 +index f667dafd44b6652788d3367cbbc76eef3bead23b..ec727ff5318f90e6241dc423a3156504c6e20c1d 100644 --- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java +++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java @@ -94,6 +94,18 @@ public class LevelChunk extends ChunkAccess { diff --git a/patches/server/0005-Component-related-conveniences.patch b/patches/server/0005-Component-related-conveniences.patch index 8ab8a7f30..e00425841 100644 --- a/patches/server/0005-Component-related-conveniences.patch +++ b/patches/server/0005-Component-related-conveniences.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Component related conveniences diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 2dcb24145bf07b186b853bd3e4c4be46495575d8..c2507dead89ea66ea8d2bf9081cbe30b7c4eb7dc 100644 +index 46ddb309ee4296b9d3464e716b4b36ef8927261d..23ef3a12dcd184edeaad3f939d2a9cbffa7fd35e 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1698,6 +1698,26 @@ public class ServerPlayer extends Player { @@ -123,10 +123,10 @@ index a828cad27fcd39f8bfbaefa97052a2a3b6650ee7..67e559d63c543ff716d610cb04ff9426 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 4e6cbb858806cbf73dbf195bb436bbeff1a5b92a..de9d25ff83818ae0943fd0ed59512bef073a61a2 100644 +index 3f032a510e741d52c4c7fc701df65c77c30362ed..bc46286007e5a6dd691dd51ec43f99fe5c974db8 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -3682,6 +3682,34 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3676,6 +3676,34 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { return SlotAccess.NULL; } diff --git a/patches/server/0006-Ridables.patch b/patches/server/0006-Ridables.patch index 2304972ea..662b3ccf0 100644 --- a/patches/server/0006-Ridables.patch +++ b/patches/server/0006-Ridables.patch @@ -46,7 +46,7 @@ index 93c1f9e3e9d62cc993fedb93fe43cbeed7d39542..8066a3372d21823357942771adc0b476 return new Throwable(entity + " Added to world at " + new java.util.Date()); } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index c2507dead89ea66ea8d2bf9081cbe30b7c4eb7dc..0b4ed7eb6fec1774a6147e48ecc437898578b7b9 100644 +index 23ef3a12dcd184edeaad3f939d2a9cbffa7fd35e..923a0afad1b2b14941c94332b373a704c32160a8 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -661,6 +661,15 @@ public class ServerPlayer extends Player { @@ -66,7 +66,7 @@ index c2507dead89ea66ea8d2bf9081cbe30b7c4eb7dc..0b4ed7eb6fec1774a6147e48ecc43789 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 590099657a83bb0bbeeb3273040672486eaec8a4..a2c349175ddcbec725073d746f55fc7f3d83216f 100644 +index add383d9a2b460f48c2d822d4907bb5a12743611..5a8eabd6d7d3457f2b6602f2535747d7d2c54d52 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -2475,6 +2475,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @@ -79,7 +79,7 @@ index 590099657a83bb0bbeeb3273040672486eaec8a4..a2c349175ddcbec725073d746f55fc7f 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 ClientboundAddMobPacket((LivingEntity) entity)); diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index de9d25ff83818ae0943fd0ed59512bef073a61a2..62fee036e91c77f77fece4a0028f95a111fe3382 100644 +index bc46286007e5a6dd691dd51ec43f99fe5c974db8..b2f4428cb8af9fc2168e326acf046b6d68f2a597 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -300,7 +300,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -91,7 +91,7 @@ index de9d25ff83818ae0943fd0ed59512bef073a61a2..62fee036e91c77f77fece4a0028f95a1 private float eyeHeight; public boolean isInPowderSnow; public boolean wasInPowderSnow; -@@ -2672,6 +2672,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2666,6 +2666,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { this.passengers = ImmutableList.copyOf(list); } @@ -104,7 +104,7 @@ index de9d25ff83818ae0943fd0ed59512bef073a61a2..62fee036e91c77f77fece4a0028f95a1 } return true; // CraftBukkit } -@@ -2712,6 +2718,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2706,6 +2712,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { return false; } // Spigot end @@ -119,7 +119,7 @@ index de9d25ff83818ae0943fd0ed59512bef073a61a2..62fee036e91c77f77fece4a0028f95a1 if (this.passengers.size() == 1 && this.passengers.get(0) == entity) { this.passengers = ImmutableList.of(); } else { -@@ -4440,4 +4454,45 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4434,4 +4448,45 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { return ((ServerChunkCache) level.getChunkSource()).isPositionTicking(this); } // Paper end @@ -272,7 +272,7 @@ index 2fe2307a10cb2e4e2b055cbe615b3750bf8fd310..a8e87b39094756edd111ed321ed6a272 // 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 d7a0fb4727e263932846a67c584da2c8d6d4e275..53c1be16f8efaff4cd66b3c558389bdafcd2ddb0 100644 +index 8ee0a80e3427ecef9fa15b7388a8287e26a25fd6..f72b0defbc25ec8efc7346e56a6d1e68aac5a902 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java @@ -141,8 +141,8 @@ public abstract class Mob extends LivingEntity { @@ -286,7 +286,7 @@ index d7a0fb4727e263932846a67c584da2c8d6d4e275..53c1be16f8efaff4cd66b3c558389bda this.jumpControl = new JumpControl(this); this.bodyRotationControl = this.createBodyControl(); this.navigation = this.createNavigation(world); -@@ -1310,7 +1310,7 @@ public abstract class Mob extends LivingEntity { +@@ -1309,7 +1309,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 d7a0fb4727e263932846a67c584da2c8d6d4e275..53c1be16f8efaff4cd66b3c558389bda } public boolean isWithinRestriction() { -@@ -1671,4 +1671,52 @@ public abstract class Mob extends LivingEntity { +@@ -1670,4 +1670,52 @@ public abstract class Mob extends LivingEntity { return itemmonsteregg == null ? null : new ItemStack(itemmonsteregg); } @@ -629,25 +629,19 @@ index f11eb6df9f095109378caaf0fd16575bfb2e4976..ca053df9d4d9120c7bd926b3d2d511b7 BlockPos blockposition = this.blockPosition(); BlockPos blockposition1 = blockposition.above(); diff --git a/src/main/java/net/minecraft/world/entity/animal/AbstractFish.java b/src/main/java/net/minecraft/world/entity/animal/AbstractFish.java -index 3484defdfd5a487b11917310d7b1d1543291eee1..2ae0296b0a2e9585caf81b819742a0a8c1312545 100644 +index 1f85f34c1e50f34fb270d2fac7d307c82a550bfa..324f52edd95b5f9a498e46def8c14435cfd00abb 100644 --- a/src/main/java/net/minecraft/world/entity/animal/AbstractFish.java +++ b/src/main/java/net/minecraft/world/entity/animal/AbstractFish.java -@@ -99,12 +99,9 @@ public abstract class AbstractFish extends WaterAnimal implements Bucketable { +@@ -94,7 +94,7 @@ public abstract class AbstractFish extends WaterAnimal implements Bucketable { @Override protected void registerGoals() { super.registerGoals(); +- this.goalSelector.addGoal(0, new PanicGoal(this, 1.25D)); + this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur - this.goalSelector.addGoal(0, new PanicGoal(this, 1.25D)); -- GoalSelector pathfindergoalselector = this.goalSelector; -- Predicate predicate = EntitySelector.NO_SPECTATORS; -- -- Objects.requireNonNull(predicate); -- pathfindergoalselector.addGoal(2, new AvoidEntityGoal<>(this, Player.class, 8.0F, 1.6D, 1.4D, predicate::test)); -+ this.goalSelector.addGoal(2, new AvoidEntityGoal<>(this, Player.class, 8.0F, 1.6D, 1.4D, EntitySelector.NO_SPECTATORS::test)); // Purpur - decompile fix + this.goalSelector.addGoal(2, new AvoidEntityGoal<>(this, Player.class, 8.0F, 1.6D, 1.4D, EntitySelector.NO_SPECTATORS::test)); this.goalSelector.addGoal(4, new AbstractFish.FishSwimGoal(this)); } - -@@ -116,7 +113,7 @@ public abstract class AbstractFish extends WaterAnimal implements Bucketable { +@@ -107,7 +107,7 @@ public abstract class AbstractFish extends WaterAnimal implements Bucketable { @Override public void travel(Vec3 movementInput) { if (this.isEffectiveAi() && this.isInWater()) { @@ -656,40 +650,40 @@ index 3484defdfd5a487b11917310d7b1d1543291eee1..2ae0296b0a2e9585caf81b819742a0a8 this.move(MoverType.SELF, this.getDeltaMovement()); this.setDeltaMovement(this.getDeltaMovement().scale(0.9D)); if (this.getTarget() == null) { -@@ -174,7 +171,7 @@ public abstract class AbstractFish extends WaterAnimal implements Bucketable { - @Override - protected void playStepSound(BlockPos pos, BlockState state) {} - -- private static class FishMoveControl extends MoveControl { -+ private static class FishMoveControl extends org.purpurmc.purpur.controller.WaterMoveControllerWASD { // Purpur +@@ -166,7 +166,7 @@ public abstract class AbstractFish extends WaterAnimal implements Bucketable { + protected void playStepSound(BlockPos pos, BlockState state) { + } +- static class FishMoveControl extends MoveControl { ++ static class FishMoveControl extends org.purpurmc.purpur.controller.WaterMoveControllerWASD { // Purpur private final AbstractFish fish; -@@ -183,14 +180,22 @@ public abstract class AbstractFish extends WaterAnimal implements Bucketable { + FishMoveControl(AbstractFish owner) { +@@ -174,14 +174,22 @@ public abstract class AbstractFish extends WaterAnimal implements Bucketable { this.fish = owner; } + // Purpur start -+ @Override + @Override +- public void tick() { + public void purpurTick(Player rider) { + super.purpurTick(rider); + fish.setDeltaMovement(fish.getDeltaMovement().add(0.0D, 0.005D, 0.0D)); + } + // Purpur end + - @Override -- public void tick() { ++ @Override + public void vanillaTick() { // Purpur if (this.fish.isEyeInFluid(FluidTags.WATER)) { this.fish.setDeltaMovement(this.fish.getDeltaMovement().add(0.0D, 0.005D, 0.0D)); } if (this.operation == MoveControl.Operation.MOVE_TO && !this.fish.getNavigation().isDone()) { -- float f = (float) (this.speedModifier * this.fish.getAttributeValue(Attributes.MOVEMENT_SPEED)); -+ float f = (float) (this.getSpeedModifier() * this.fish.getAttributeValue(Attributes.MOVEMENT_SPEED)); // Purpur - +- float f = (float)(this.speedModifier * this.fish.getAttributeValue(Attributes.MOVEMENT_SPEED)); ++ float f = (float)(this.getSpeedModifier() * this.fish.getAttributeValue(Attributes.MOVEMENT_SPEED)); // Purpur this.fish.setSpeed(Mth.lerp(0.125F, this.fish.getSpeed(), f)); - double d0 = this.wantedX - this.fish.getX(); + double d = this.wantedX - this.fish.getX(); + double e = this.wantedY - this.fish.getY(); diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java index 79a9fa2a2257925685e45329365d2828ccd4c48c..793e7c659af32e8bdc07bd7ecfa31fb5d302ad22 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Bee.java @@ -873,7 +867,7 @@ index 9f5180271ca8a790aa52763ac46d31b905c9d477..2edd9efb8bf71071807ac1ff5b58bc4b Item item = itemstack.getItem(); diff --git a/src/main/java/net/minecraft/world/entity/animal/Chicken.java b/src/main/java/net/minecraft/world/entity/animal/Chicken.java -index 3e6aaf22f5f2891901c91fea988a97a25eade531..435531a41e53b65280ab24ead0d7e3e499d2a57d 100644 +index a23568df8d6a700f8a21cda8f0c04742ccf2b837..ddb199c003d07aa0172c09de32e82337baab64bf 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Chicken.java +++ b/src/main/java/net/minecraft/world/entity/animal/Chicken.java @@ -52,9 +52,27 @@ public class Chicken extends Animal { @@ -1319,7 +1313,7 @@ index 6d4dc4b09278eca509f86655c6562fb4b05d5069..9d47d010c3917616732ff10a1b0166f4 Pair pair = (Pair) optional.get(); diff --git a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java -index 24d14c3a98453622e9805298c56625311f69e8dd..c63377ef2d843aa6ee6ed86e545e2b6a06575edf 100644 +index fc2c18a3bfd395882a5f4a08c23b382845d9ccd2..22e0c5dee4efa2e041671c980851db46eabe9402 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java +++ b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java @@ -68,6 +68,23 @@ public class Ocelot extends Animal { @@ -2183,7 +2177,7 @@ index 249ef89342d2811614507090b79250adf78e33ce..b4825647058df6803be24ea30028c951 this.targetSelector.addGoal(2, new OwnerHurtTargetGoal(this)); this.targetSelector.addGoal(3, (new HurtByTargetGoal(this, new Class[0])).setAlertOthers()); diff --git a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java -index fb800bf3fc198c1aee9a8bdc8d33e5e76f6a8746..46d57c1a852a99db3ddb0ccd10f6229e223e0a32 100644 +index bdc65bf098fd3107e36d3738583455e87af82cf4..89b6eedb23bea9239dadb8e5e06549eb7d6c3a26 100644 --- a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java +++ b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java @@ -99,6 +99,28 @@ public class Axolotl extends Animal implements LerpingModel, Bucketable { @@ -2215,7 +2209,7 @@ index fb800bf3fc198c1aee9a8bdc8d33e5e76f6a8746..46d57c1a852a99db3ddb0ccd10f6229e @Override public Map getModelRotationValues() { return this.modelRotationValues; -@@ -531,14 +553,22 @@ public class Axolotl extends Animal implements LerpingModel, Bucketable { +@@ -530,14 +552,22 @@ public class Axolotl extends Animal implements LerpingModel, Bucketable { private static class AxolotlMoveControl extends SmoothSwimmingMoveControl { private final Axolotl axolotl; @@ -2238,7 +2232,7 @@ index fb800bf3fc198c1aee9a8bdc8d33e5e76f6a8746..46d57c1a852a99db3ddb0ccd10f6229e if (!this.axolotl.isPlayingDead()) { super.tick(); } -@@ -553,9 +583,9 @@ public class Axolotl extends Animal implements LerpingModel, Bucketable { +@@ -552,9 +582,9 @@ public class Axolotl extends Animal implements LerpingModel, Bucketable { } @Override @@ -4587,7 +4581,7 @@ index cd88413f30632307faba63572915656b6a8469f7..8d121dcb646d6d77bde48540b14c5d37 } diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java -index ba92be2a63df29cd6eda251f8e56e9ce098d92ac..c9d2938615a254fe76dc9fb8667b3f7dffdfe9bd 100644 +index fc6639bd33a13c84c84603db7f9bbb1c5df239a4..fff7aeab25f3a48136f0e5d75cc66a1348091178 100644 --- a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java +++ b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java @@ -79,6 +79,23 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder { @@ -4643,7 +4637,7 @@ index 6fe49abb9d9a273787828e72061e16a7b053e50a..c2cd88e8ef4b543635b02e1fdd2ac257 public void setPersistentAngerTarget(@Nullable UUID angryAt) { this.persistentAngerTarget = angryAt; diff --git a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java -index fc43b1d5dcb53456bb24ae46ea08b97b14403c86..1d3227a216b7daea6555f1c859c9a571050ff18b 100644 +index 127c839c4f9b0ade39065588e275984ea639380b..cb1d7f09195473da382aadb82ffe552a95052254 100644 --- a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java +++ b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java @@ -67,6 +67,23 @@ public class Hoglin extends Animal implements Enemy, HoglinBase { @@ -4680,7 +4674,7 @@ index fc43b1d5dcb53456bb24ae46ea08b97b14403c86..1d3227a216b7daea6555f1c859c9a571 this.level.getProfiler().pop(); HoglinAi.updateActivity(this); diff --git a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java -index 3ff720ff67938be3efc0412a7a17c4d5b8eab763..f0d0c178467da127667782856d9a2c9851b2171c 100644 +index 05e05793b1fd10cceb4b19ac60c8a10b0c5b7d45..d2c7a7e38a3bac24a176f51d7c143ecedd4ce215 100644 --- a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java +++ b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java @@ -96,6 +96,23 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento @@ -4936,7 +4930,7 @@ index a92755211e3d42934b5efaa3f201c6c19ab7d2b4..318456621faf484dbad479b2873ae647 + // Purpur end } diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index a3c8a0291fa9ae6f3c96d937dd4621edd7c48535..f8150c304346c0ccfb440588663cdc72c22cac6c 100644 +index ceacb62aef0dd0f73f1542a1898ceb62c3f4c367..97108c2317a38e11d45fdbef448dca5cb3ddad1c 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -543,6 +543,15 @@ public class CraftEventFactory { @@ -4955,7 +4949,7 @@ index a3c8a0291fa9ae6f3c96d937dd4621edd7c48535..f8150c304346c0ccfb440588663cdc72 return event; } -@@ -981,6 +990,7 @@ public class CraftEventFactory { +@@ -979,6 +988,7 @@ public class CraftEventFactory { damageCause = DamageCause.ENTITY_EXPLOSION; } event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), entity.getBukkitEntity(), damageCause, modifiers, modifierFunctions, source.isCritical()); // Paper - add critical damage API @@ -4963,7 +4957,7 @@ index a3c8a0291fa9ae6f3c96d937dd4621edd7c48535..f8150c304346c0ccfb440588663cdc72 } event.setCancelled(cancelled); -@@ -1085,6 +1095,7 @@ public class CraftEventFactory { +@@ -1083,6 +1093,7 @@ public class CraftEventFactory { } else { entity.lastDamageCancelled = true; // SPIGOT-5339, SPIGOT-6252, SPIGOT-6777: Keep track if the event was canceled } @@ -4971,7 +4965,7 @@ index a3c8a0291fa9ae6f3c96d937dd4621edd7c48535..f8150c304346c0ccfb440588663cdc72 return event; } -@@ -1144,6 +1155,7 @@ public class CraftEventFactory { +@@ -1142,6 +1153,7 @@ public class CraftEventFactory { EntityDamageEvent event; if (damager != null) { event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), damagee.getBukkitEntity(), cause, modifiers, modifierFunctions, critical); // Paper - add critical damage API diff --git a/patches/server/0056-Allow-leashing-villagers.patch b/patches/server/0056-Allow-leashing-villagers.patch index b2f586839..69dbcab0c 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 53c1be16f8efaff4cd66b3c558389bdafcd2ddb0..0a8f34944fbb08ca71adf95510edc3520f809b60 100644 +index f72b0defbc25ec8efc7346e56a6d1e68aac5a902..88705ce6b18091e3a8bf10f11bdd38830cd6af22 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -1244,6 +1244,7 @@ public abstract class Mob extends LivingEntity { +@@ -1243,6 +1243,7 @@ public abstract class Mob extends LivingEntity { if (!this.isAlive()) { return InteractionResult.PASS; } else if (this.getLeashHolder() == player) { diff --git a/patches/server/0062-Add-canSaveToDisk-to-Entity.patch b/patches/server/0062-Add-canSaveToDisk-to-Entity.patch index 4ed84ec53..69b3ce7be 100644 --- a/patches/server/0062-Add-canSaveToDisk-to-Entity.patch +++ b/patches/server/0062-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 d6280d4c0fa3221324f80e2cb1480baf80803a72..ff6c87e7084fd6a1bf69a8679ddeed60c2bffcfc 100644 +index 025b68d3ae831127f92005d4c84d1d33a54af6da..efac87c553177da32e672e202a25d654d3937c2b 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -4495,5 +4495,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4489,5 +4489,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { public boolean processClick(InteractionHand hand) { return false; } diff --git a/patches/server/0063-Dispenser-curse-of-binding-protection.patch b/patches/server/0063-Dispenser-curse-of-binding-protection.patch index 39f6088f8..f49460f2a 100644 --- a/patches/server/0063-Dispenser-curse-of-binding-protection.patch +++ b/patches/server/0063-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 461a0149c3b3cb7b6e23790284b7dbf27c860436..867abf68593b5ede92adf80be8c5169e7c3b2665 100644 +index 88705ce6b18091e3a8bf10f11bdd38830cd6af22..e1a13fadcf83e84c89a1bfc6d4e4f13f2299ffa5 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java @@ -63,6 +63,7 @@ import net.minecraft.world.item.ProjectileWeaponItem; @@ -16,7 +16,7 @@ index 461a0149c3b3cb7b6e23790284b7dbf27c860436..867abf68593b5ede92adf80be8c5169e import net.minecraft.world.level.GameRules; import net.minecraft.world.level.ItemLike; import net.minecraft.world.level.Level; -@@ -1100,6 +1101,12 @@ public abstract class Mob extends LivingEntity { +@@ -1099,6 +1100,12 @@ public abstract class Mob extends LivingEntity { } diff --git a/patches/server/0079-Entity-lifespan.patch b/patches/server/0079-Entity-lifespan.patch index 8a60fc904..2d4e35f68 100644 --- a/patches/server/0079-Entity-lifespan.patch +++ b/patches/server/0079-Entity-lifespan.patch @@ -5,7 +5,7 @@ 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 4a997a60baa9051f037b67ad60c09fb532b76114..06c02aa50d3ece744678ba99c21237b02c0a8aca 100644 +index 55411e920b937ebc9f1c8d4d541a381fb8389689..29e85a8a8f0b21ad4d67a47053945286d24241ed 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -2530,6 +2530,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @@ -17,7 +17,7 @@ index 4a997a60baa9051f037b67ad60c09fb532b76114..06c02aa50d3ece744678ba99c21237b0 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 ce9087c1374d54ce59ec6897dd9885540bd5181c..fdadbd3b393916b0f6d110140d0c22c8e173dd1a 100644 +index e1a13fadcf83e84c89a1bfc6d4e4f13f2299ffa5..8f53dd70d815493148709fbdff29a85924d12d00 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java @@ -129,6 +129,7 @@ public abstract class Mob extends LivingEntity { @@ -28,7 +28,7 @@ index ce9087c1374d54ce59ec6897dd9885540bd5181c..fdadbd3b393916b0f6d110140d0c22c8 public boolean aware = true; // CraftBukkit protected Mob(EntityType type, Level world) { -@@ -286,6 +287,7 @@ public abstract class Mob extends LivingEntity { +@@ -285,6 +286,7 @@ public abstract class Mob extends LivingEntity { entityliving = null; } } @@ -36,7 +36,7 @@ index ce9087c1374d54ce59ec6897dd9885540bd5181c..fdadbd3b393916b0f6d110140d0c22c8 this.target = entityliving; return true; // CraftBukkit end -@@ -330,9 +332,29 @@ public abstract class Mob extends LivingEntity { +@@ -329,9 +331,29 @@ public abstract class Mob extends LivingEntity { this.playAmbientSound(); } @@ -66,7 +66,7 @@ index ce9087c1374d54ce59ec6897dd9885540bd5181c..fdadbd3b393916b0f6d110140d0c22c8 @Override protected void playHurtSound(DamageSource source) { this.resetAmbientSoundTime(); -@@ -516,6 +538,7 @@ public abstract class Mob extends LivingEntity { +@@ -515,6 +537,7 @@ public abstract class Mob extends LivingEntity { } nbt.putBoolean("Bukkit.Aware", this.aware); // CraftBukkit @@ -74,7 +74,7 @@ index ce9087c1374d54ce59ec6897dd9885540bd5181c..fdadbd3b393916b0f6d110140d0c22c8 } @Override -@@ -586,6 +609,11 @@ public abstract class Mob extends LivingEntity { +@@ -585,6 +608,11 @@ public abstract class Mob extends LivingEntity { this.aware = nbt.getBoolean("Bukkit.Aware"); } // CraftBukkit end @@ -86,7 +86,7 @@ index ce9087c1374d54ce59ec6897dd9885540bd5181c..fdadbd3b393916b0f6d110140d0c22c8 } @Override -@@ -1615,6 +1643,7 @@ public abstract class Mob extends LivingEntity { +@@ -1614,6 +1642,7 @@ public abstract class Mob extends LivingEntity { this.setLastHurtMob(target); } diff --git a/patches/server/0080-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch b/patches/server/0080-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch index b0d28332f..29a8c63da 100644 --- a/patches/server/0080-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch +++ b/patches/server/0080-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add option to teleport to spawn if outside world border diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 54c6433daec4574fd1653a73fa80761ddf49549e..697b48d1234c8faa426c7dc67bd0fcc2a9cbd696 100644 +index 5fa846764b2d253a68efd83ca3ef53ae5bac8d43..aa7cb900de2d3a1c3f420da9ce7c5dba314f653f 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2544,4 +2544,26 @@ public class ServerPlayer extends Player { +@@ -2545,4 +2545,26 @@ public class ServerPlayer extends Player { // CraftBukkit end public final int getViewDistance() { throw new UnsupportedOperationException("Use PlayerChunkLoader"); } // Paper - placeholder @@ -36,7 +36,7 @@ index 54c6433daec4574fd1653a73fa80761ddf49549e..697b48d1234c8faa426c7dc67bd0fcc2 + // 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 a50035eae2faec356bb8cc3956ae39618f8dace2..36008beb94e69ddfa37c7610c7f8174b21157f45 100644 +index 68de664f6d8eee93b963425969c278edde326757..a358f68c893e95013a21aecd83d44fcab26e30e4 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -45,6 +45,7 @@ import net.minecraft.network.syncher.EntityDataAccessor; diff --git a/patches/server/0092-Stop-squids-floating-on-top-of-water.patch b/patches/server/0092-Stop-squids-floating-on-top-of-water.patch index 0f903d726..86a59d652 100644 --- a/patches/server/0092-Stop-squids-floating-on-top-of-water.patch +++ b/patches/server/0092-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 ff6c87e7084fd6a1bf69a8679ddeed60c2bffcfc..d587907d1caf01df2f559c6d1adfc2d5bd5d2242 100644 +index efac87c553177da32e672e202a25d654d3937c2b..803d53230f28481b5236f8f095b9148af20f15de 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -3961,6 +3961,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3955,6 +3955,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { this.yRotO = this.getYRot(); } diff --git a/patches/server/0094-Entities-can-use-portals-configuration.patch b/patches/server/0094-Entities-can-use-portals-configuration.patch index 27f1c4b63..ef4c4d32b 100644 --- a/patches/server/0094-Entities-can-use-portals-configuration.patch +++ b/patches/server/0094-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 d587907d1caf01df2f559c6d1adfc2d5bd5d2242..b7c3d93f2fad502386151e7955414b71d6532673 100644 +index 803d53230f28481b5236f8f095b9148af20f15de..57e7b9805dffe3e080172dd0e1c71db1114c6448 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2784,7 +2784,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2778,7 +2778,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { public void handleInsidePortal(BlockPos pos) { if (this.isOnPortalCooldown()) { this.setPortalCooldown(); @@ -17,7 +17,7 @@ index d587907d1caf01df2f559c6d1adfc2d5bd5d2242..b7c3d93f2fad502386151e7955414b71 if (!this.level.isClientSide && !pos.equals(this.portalEntrancePos)) { this.portalEntrancePos = pos.immutable(); } -@@ -3450,7 +3450,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3444,7 +3444,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } public boolean canChangeDimensions() { diff --git a/patches/server/0104-Stonecutter-damage.patch b/patches/server/0104-Stonecutter-damage.patch index 4b26cd088..abfee9638 100644 --- a/patches/server/0104-Stonecutter-damage.patch +++ b/patches/server/0104-Stonecutter-damage.patch @@ -24,7 +24,7 @@ index 67e559d63c543ff716d610cb04ff9426cc20ae00..9125deb86b856bcb5e1cd779773522e2 private boolean bypassArmor; private boolean bypassInvul; diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index a4aed8c797f0a5548b5837471083cc48e717ad37..a48a12b7952e41c98b253fcfbe2f12174251e924 100644 +index 57e7b9805dffe3e080172dd0e1c71db1114c6448..218c74e65f9a15943993d5c44e170ed2664e0d0a 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -1071,7 +1071,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -80,10 +80,10 @@ index c7926d45c32a739b32d2b97b1ed2f8b89fb18620..c9428be93926c01584deb1f4b3d572fc } else if (blockState.is(Blocks.HONEY_BLOCK)) { return BlockPathTypes.STICKY_HONEY; diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index f8150c304346c0ccfb440588663cdc72c22cac6c..8bc029dcd80452678eead24eaca867ca9afcb5da 100644 +index 97108c2317a38e11d45fdbef448dca5cb3ddad1c..066c40a8a0e5d13fc39c5283b54fe424b8822f4f 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1054,6 +1054,10 @@ public class CraftEventFactory { +@@ -1052,6 +1052,10 @@ public class CraftEventFactory { cause = DamageCause.MAGIC; } else if (source == DamageSource.IN_FIRE) { cause = DamageCause.FIRE; diff --git a/patches/server/0110-Add-adjustable-breeding-cooldown-to-config.patch b/patches/server/0110-Add-adjustable-breeding-cooldown-to-config.patch index cf3a0a08a..2154c7995 100644 --- a/patches/server/0110-Add-adjustable-breeding-cooldown-to-config.patch +++ b/patches/server/0110-Add-adjustable-breeding-cooldown-to-config.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add adjustable breeding cooldown to config diff --git a/src/main/java/net/minecraft/world/entity/animal/Animal.java b/src/main/java/net/minecraft/world/entity/animal/Animal.java -index 3d76b91f43fb2d261e270ba52fafe2648ba6abc9..7e45ace3d99bed6fc598c47ffda3c6beef202de3 100644 +index 3f57ad6cbf29ebe1ac3781368c4f57efc9640aa4..fe00672e0231fd1e9fdb91c86d3e76bf505ee15f 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Animal.java +++ b/src/main/java/net/minecraft/world/entity/animal/Animal.java -@@ -152,7 +152,7 @@ public abstract class Animal extends AgeableMob { +@@ -151,7 +151,7 @@ public abstract class Animal extends AgeableMob { if (this.isFood(itemstack)) { int i = this.getAge(); @@ -17,7 +17,7 @@ index 3d76b91f43fb2d261e270ba52fafe2648ba6abc9..7e45ace3d99bed6fc598c47ffda3c6be this.usePlayerItem(player, hand, itemstack); this.setInLove(player); this.gameEvent(GameEvent.MOB_INTERACT, this.eyeBlockPosition()); -@@ -246,6 +246,14 @@ public abstract class Animal extends AgeableMob { +@@ -240,6 +240,14 @@ public abstract class Animal extends AgeableMob { if (entityplayer == null && other.getLoveCause() != null) { entityplayer = other.getLoveCause(); } @@ -33,7 +33,7 @@ index 3d76b91f43fb2d261e270ba52fafe2648ba6abc9..7e45ace3d99bed6fc598c47ffda3c6be entityageable.setBaby(true); entityageable.moveTo(this.getX(), this.getY(), this.getZ(), 0.0F, 0.0F); diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 7769befb5775df71d67b1d9b594e33be5334431b..bdd9282783382a2e6ad525ca27f1be88be4ca3c1 100644 +index f0d382fdafdf97a0f5cced19f9a6bfa9e817c889..40e01ed99a129a6a14f9c5cc29f046bd23d198cb 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -183,6 +183,49 @@ public abstract class Level implements LevelAccessor, AutoCloseable { diff --git a/patches/server/0111-Make-entity-breeding-times-configurable.patch b/patches/server/0111-Make-entity-breeding-times-configurable.patch index 94aa871e8..89830e277 100644 --- a/patches/server/0111-Make-entity-breeding-times-configurable.patch +++ b/patches/server/0111-Make-entity-breeding-times-configurable.patch @@ -22,10 +22,10 @@ index d51ab5e4dc93b805bf51f752542f53b2a97fdb20..dcc5d55a3274de1b2b22eab2ab7bf2c0 world.broadcastEntityEvent(entityvillager2, (byte) 12); return Optional.of(entityvillager2); diff --git a/src/main/java/net/minecraft/world/entity/animal/Animal.java b/src/main/java/net/minecraft/world/entity/animal/Animal.java -index 7e45ace3d99bed6fc598c47ffda3c6beef202de3..4bb358a440bc99a5ecb35b25adaa7bb2b1975cca 100644 +index fe00672e0231fd1e9fdb91c86d3e76bf505ee15f..5771737891b17956a4964a112099f4313e2e55d4 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Animal.java +++ b/src/main/java/net/minecraft/world/entity/animal/Animal.java -@@ -41,6 +41,7 @@ public abstract class Animal extends AgeableMob { +@@ -40,6 +40,7 @@ public abstract class Animal extends AgeableMob { @Nullable public UUID loveCause; public ItemStack breedItem; // CraftBukkit - Add breedItem variable @@ -33,7 +33,7 @@ index 7e45ace3d99bed6fc598c47ffda3c6beef202de3..4bb358a440bc99a5ecb35b25adaa7bb2 protected Animal(EntityType type, Level world) { super(type, world); -@@ -270,8 +271,10 @@ public abstract class Animal extends AgeableMob { +@@ -264,8 +265,10 @@ public abstract class Animal extends AgeableMob { CriteriaTriggers.BRED_ANIMALS.trigger(entityplayer, this, other, entityageable); } @@ -47,7 +47,7 @@ index 7e45ace3d99bed6fc598c47ffda3c6beef202de3..4bb358a440bc99a5ecb35b25adaa7bb2 other.resetLove(); world.addFreshEntityWithPassengers(entityageable, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.BREEDING); // CraftBukkit - added SpawnReason diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java -index d288cf90ffd35ee52f324670cd4369b4d15424ba..c77c9cb3445a9ec807db6f74331e6ee620dd3ff5 100644 +index 9245baa69aefee786c442e3b46a323a9c7f22eea..3b272c0e3710885fa0a4ef9b39bfa8874a972e0d 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Bee.java +++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java @@ -218,6 +218,11 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { @@ -63,7 +63,7 @@ index d288cf90ffd35ee52f324670cd4369b4d15424ba..c77c9cb3445a9ec807db6f74331e6ee6 @Override diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java -index 94ca386af796c1dd2ebff537566486d3db428165..456b5f7aedda7f424e46f985f6b854646b2719d8 100644 +index 81b63da3bca3e3942ed037fad15ad8f883fc0c82..b3df26d3e957f93987d48878a3f320db5e9b229e 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Cat.java +++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java @@ -152,6 +152,11 @@ public class Cat extends TamableAnimal { @@ -79,7 +79,7 @@ index 94ca386af796c1dd2ebff537566486d3db428165..456b5f7aedda7f424e46f985f6b85464 public ResourceLocation getResourceLocation() { diff --git a/src/main/java/net/minecraft/world/entity/animal/Chicken.java b/src/main/java/net/minecraft/world/entity/animal/Chicken.java -index 792ba57cb4de5c927e15655cba282866af3bcf98..002a66c13074a887b6525085ca57227ff858bac7 100644 +index ad1b52f93e45e1d42c7b31aefe879a692d782ffc..839cb9ff15132f3461317c5ead7c486a0b6fe5e0 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Chicken.java +++ b/src/main/java/net/minecraft/world/entity/animal/Chicken.java @@ -75,6 +75,11 @@ public class Chicken extends Animal { @@ -156,7 +156,7 @@ index d4237fce253b2414337344b327250c1db2b19dfa..d7c68775fc39222be66bc82e0e7a1b0a @Override diff --git a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java -index 5f0d2606bc9a250c35562671ba85440fab30a5b1..5aaeec3df43820bbaa839b9bfd9a756db7377cc2 100644 +index a90c3e0c9f0064690bd17e5b132fbcfb360fa6b2..0719a17e886b6525d7ed091f1759eed12a945034 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java +++ b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java @@ -88,6 +88,11 @@ public class Ocelot extends Animal { @@ -284,7 +284,7 @@ index 54ad776603158f101c0199395f70dadb80301a8d..e3bf2c2bc16bc03c17d90f2ce1620c6b public void setHomePos(BlockPos pos) { diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java -index e9a13c45024ad7683bd6e1afc3cd38825036305c..ed6a552fab01b1391cf98fdbb51f7f47f72de932 100644 +index 6312284ee33eef280a51392d7e0ba8d2ae3c9d5e..702a4b674013a455d179d88d3931f6c216c1ca89 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java +++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java @@ -127,6 +127,11 @@ public class Wolf extends TamableAnimal implements NeutralMob { @@ -300,7 +300,7 @@ index e9a13c45024ad7683bd6e1afc3cd38825036305c..ed6a552fab01b1391cf98fdbb51f7f47 @Override diff --git a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java -index 7aa48291644d99bf713750478e172832f21290b0..a554d836635826bbe3fc562675ae982f33b409d1 100644 +index c194c215ec742dd5a527af98ef7d8a707193921a..0f38b65d490cde61cfc256719f91cc0a955b4080 100644 --- a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java +++ b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java @@ -124,6 +124,11 @@ public class Axolotl extends Animal implements LerpingModel, Bucketable { @@ -460,7 +460,7 @@ index e3f7816bb261c7772d86bd117ce30a53e77f44d1..0046bc4f7a1fb7bb40da955570d56c7c public static boolean checkStriderSpawnRules(EntityType type, LevelAccessor world, MobSpawnType spawnReason, BlockPos pos, Random random) { diff --git a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java -index fc08f6ec195abcb1950d6924905740d59689a543..35e758e7630cbba6ff80307261cf1f84b278829e 100644 +index 65e6fbd8077777c63908f9faf6e387d28c86e808..5f879e65f3a6c0fea3e962716b61651fd54bcf6d 100644 --- a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java +++ b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java @@ -87,6 +87,11 @@ public class Hoglin extends Animal implements Enemy, HoglinBase { diff --git a/patches/server/0116-Changeable-Mob-Left-Handed-Chance.patch b/patches/server/0116-Changeable-Mob-Left-Handed-Chance.patch index ad155632f..04cebba88 100644 --- a/patches/server/0116-Changeable-Mob-Left-Handed-Chance.patch +++ b/patches/server/0116-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 fdadbd3b393916b0f6d110140d0c22c8e173dd1a..23e6a4f6a510cfcb80678446d7b371a23c5de6a3 100644 +index 8f53dd70d815493148709fbdff29a85924d12d00..079bfd97262cec9084d3491b3dd68f1506274f43 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -1227,7 +1227,7 @@ public abstract class Mob extends LivingEntity { +@@ -1226,7 +1226,7 @@ public abstract class Mob extends LivingEntity { @Nullable public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData, @Nullable CompoundTag entityNbt) { this.getAttribute(Attributes.FOLLOW_RANGE).addPermanentModifier(new AttributeModifier("Random spawn bonus", this.random.nextGaussian() * 0.05D, AttributeModifier.Operation.MULTIPLY_BASE)); diff --git a/patches/server/0127-Implement-TPSBar.patch b/patches/server/0127-Implement-TPSBar.patch index e8cc2a286..7fc457336 100644 --- a/patches/server/0127-Implement-TPSBar.patch +++ b/patches/server/0127-Implement-TPSBar.patch @@ -41,7 +41,7 @@ index a4a07a7cc9a33f01234e461aa3c19e1c2e4d6aef..f508eda7f689ef1a5743bda4d68a863f } } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index a2ee560ad8411fbc185df1a7e96d66ebfef3fe0b..e070c4dc4f8583b7d5c10b353c5e21304add0233 100644 +index 9798cc19e67fd579aad17d7e57636416a7a8ac65..4b0a0f18708c887ea339f078aea4c988b222ce0c 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -255,6 +255,7 @@ public class ServerPlayer extends Player { @@ -68,7 +68,7 @@ index a2ee560ad8411fbc185df1a7e96d66ebfef3fe0b..e070c4dc4f8583b7d5c10b353c5e2130 } // CraftBukkit start - World fallback code, either respawn location or global spawn -@@ -2574,5 +2577,13 @@ public class ServerPlayer extends Player { +@@ -2575,5 +2578,13 @@ public class ServerPlayer extends Player { this.server.getPlayerList().respawn(this, toLevel, true, to, !toLevel.paperConfig.disableTeleportationSuffocationCheck); } } diff --git a/patches/server/0132-Add-mobGriefing-bypass-to-everything-affected.patch b/patches/server/0132-Add-mobGriefing-bypass-to-everything-affected.patch index 0c27e0fad..0eafefdd1 100644 --- a/patches/server/0132-Add-mobGriefing-bypass-to-everything-affected.patch +++ b/patches/server/0132-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 e39d333c10d74be81da173622b5e033bfde9cf3a..dace52b3cae2ce20c10080612bf6d6b09e82bea1 100644 +index 8ed08c1ce9fe689c009b37ca317b60339a0d6d76..52ac5e4968256dca6fbda827fa251b9a6d60d5ee 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -1694,7 +1694,7 @@ public abstract class LivingEntity extends Entity { @@ -18,10 +18,10 @@ index e39d333c10d74be81da173622b5e033bfde9cf3a..dace52b3cae2ce20c10080612bf6d6b0 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 23e6a4f6a510cfcb80678446d7b371a23c5de6a3..baf011a492e9c4ccb42c769c74181da804046622 100644 +index 079bfd97262cec9084d3491b3dd68f1506274f43..6d11daac5f0d0d119fb6854089457d158ab6550e 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -658,7 +658,7 @@ public abstract class Mob extends LivingEntity { +@@ -657,7 +657,7 @@ public abstract class Mob extends LivingEntity { public void aiStep() { super.aiStep(); this.level.getProfiler().push("looting"); @@ -249,7 +249,7 @@ index cfbbdea914eb55f5c772f68f6494ac90c1c4c0ea..d929193ed63b36deb32cc0807e75a589 BlockPos blockposition = (new BlockPos(this.mob.getX(), this.mob.getY() + 0.5D, this.mob.getZ())).relative(this.selectedDirection); BlockState iblockdata = this.mob.level.getBlockState(blockposition); diff --git a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java -index 0d2cedbe96a013b027b6bfb391a204e2fb201311..f35e5c9e85583c8f599460c0ccd23a0f3bb88d6a 100644 +index ee1aadfa838aaed81760648bb6cf5b42e96d2a94..644ec458325049cb97a181dea6c6857c3d35ef1f 100644 --- a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java +++ b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java @@ -412,7 +412,7 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento diff --git a/patches/server/0137-Fix-stuck-in-portals.patch b/patches/server/0137-Fix-stuck-in-portals.patch index 90d1668ed..b3b88e15f 100644 --- a/patches/server/0137-Fix-stuck-in-portals.patch +++ b/patches/server/0137-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 e070c4dc4f8583b7d5c10b353c5e21304add0233..9f282439d30ada6b206153d65812b772bcaa1e45 100644 +index 4b0a0f18708c887ea339f078aea4c988b222ce0c..49adcc516e880c9d1a4926115c0f6fc0f757d7e2 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1176,6 +1176,7 @@ public class ServerPlayer extends Player { @@ -17,10 +17,10 @@ index e070c4dc4f8583b7d5c10b353c5e21304add0233..9f282439d30ada6b206153d65812b772 // 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 aab048f2bf12b2f956c3946ba8446aa58bf5826c..44a03a3e9b34651f45d94a71c9c4272cd0bdc4af 100644 +index 8231588f26eb8c02bf287a0962d28299fb54ee0f..e4e46b553972ca1fc791a8a174d6b6c7ef2be48c 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2781,12 +2781,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2775,12 +2775,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { return Vec3.directionFromRotation(this.getRotationVector()); } diff --git a/patches/server/0142-Dont-run-with-scissors.patch b/patches/server/0142-Dont-run-with-scissors.patch index db54ce32e..6682296e2 100644 --- a/patches/server/0142-Dont-run-with-scissors.patch +++ b/patches/server/0142-Dont-run-with-scissors.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Dont run with scissors! diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 8620dbcdc25be8f94535181f0297a2c70ae58bda..8b3f97a5d2707cb4470685aa95fbca405d365ad1 100644 +index 1d6c0ef4c4158e82f65dece41cd8d4c2cc9766ff..47f61bcd82cd1ece349a907d6e90331182643fa0 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1596,6 +1596,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @@ -53,10 +53,10 @@ index 9125deb86b856bcb5e1cd779773522e2fa4cb5f9..c7dead8b33c987501c0b16ea905a5088 private boolean damageHelmet; private boolean bypassArmor; diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 8bc029dcd80452678eead24eaca867ca9afcb5da..361bd8edcc6e6d0fbac958e3ec91d74a622d630a 100644 +index 066c40a8a0e5d13fc39c5283b54fe424b8822f4f..5ab4a37fcdd74924e70f8de1ffafdb231e1ab317 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1134,6 +1134,10 @@ public class CraftEventFactory { +@@ -1132,6 +1132,10 @@ public class CraftEventFactory { cause = DamageCause.FREEZE; } else if (source == DamageSource.GENERIC) { cause = DamageCause.CUSTOM; diff --git a/patches/server/0158-Drowning-Settings.patch b/patches/server/0158-Drowning-Settings.patch index c29eb1899..58c4642ce 100644 --- a/patches/server/0158-Drowning-Settings.patch +++ b/patches/server/0158-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 44a03a3e9b34651f45d94a71c9c4272cd0bdc4af..5142a2256272383693a9c0ad7605ac4843673363 100644 +index e4e46b553972ca1fc791a8a174d6b6c7ef2be48c..6eb3855e8db875a46017fdb963174e681c497f43 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -3015,7 +3015,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3009,7 +3009,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } public int getMaxAirSupply() { diff --git a/patches/server/0187-API-for-any-mob-to-burn-daylight.patch b/patches/server/0187-API-for-any-mob-to-burn-daylight.patch index df2a4b72b..d2c945299 100644 --- a/patches/server/0187-API-for-any-mob-to-burn-daylight.patch +++ b/patches/server/0187-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 8026ffe6c253ab142fa4f9401235fc63e5240a24..c3b6be428c2536ac6423dd5024a46ed0324e0216 100644 +index 9aab2a69d5ac9a7d18475999147fbd46aacf985b..8ee77c99b3bdaaaf01d98c621a03a06806fcf430 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -4508,5 +4508,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4502,5 +4502,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { public boolean canSaveToDisk() { return true; } @@ -89,10 +89,10 @@ index 7c8fe0cfd3b9d72cf7d719f2ac8ed2e85db962de..56423ccb31763d51dd38708ffc3d97dc 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 baf011a492e9c4ccb42c769c74181da804046622..3b75ea276347b6efcc6e2aca6dc888f5d9a8493e 100644 +index 6d11daac5f0d0d119fb6854089457d158ab6550e..d016e5c833a68d4c0d2eba72b7a11f7d400a26de 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -1660,17 +1660,7 @@ public abstract class Mob extends LivingEntity { +@@ -1659,17 +1659,7 @@ public abstract class Mob extends LivingEntity { } public boolean isSunBurnTick() { diff --git a/patches/server/0191-Add-toggle-for-end-portal-safe-teleporting.patch b/patches/server/0191-Add-toggle-for-end-portal-safe-teleporting.patch index ac1289b5f..fa3ba5f15 100644 --- a/patches/server/0191-Add-toggle-for-end-portal-safe-teleporting.patch +++ b/patches/server/0191-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 c3b6be428c2536ac6423dd5024a46ed0324e0216..219f9255d0a20bd66a7d33d84f6224621a56c030 100644 +index 8ee77c99b3bdaaaf01d98c621a03a06806fcf430..1100ac4fbab11c45fe59b0688a2964c1cf2c0b9c 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2832,7 +2832,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2826,7 +2826,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } this.processPortalCooldown(); diff --git a/patches/server/0207-Summoner-API.patch b/patches/server/0207-Summoner-API.patch index b0c214f51..da13f90cd 100644 --- a/patches/server/0207-Summoner-API.patch +++ b/patches/server/0207-Summoner-API.patch @@ -49,7 +49,7 @@ index df99dca1b3e2871dc365780fde52e93fb2170ef5..1f90c7e164848f08ff6c4aacf0a61547 } diff --git a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java -index 734b1314f148e0f92559be1dc1970613b313975f..b84376598527b7081808ee0c60fcd911c32ce7e7 100644 +index 16ecfd25dc2b2e450410cff17e75354fec7dc4bc..c98e5b2cb54d4be5746d3bac0551ec743a656cbf 100644 --- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java +++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java @@ -49,6 +49,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM @@ -213,10 +213,10 @@ index 659e2959c5330e4764ea1edc7f8de9f464f9ff52..c2bac8ae958630acaaa8d758e31428d2 + // Purpur end } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftWither.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftWither.java -index 299d5e47489cfe489ac130a33a08cdb29ba76d72..6b4a9b706142866d5e712d1ed49ae7220e471c91 100644 +index 4cf3a374c9ee7c7bcf82e778aa094eb4f8463595..5c1bfd37d4494525d7890f6530a68ae47353e157 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftWither.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftWither.java -@@ -65,4 +65,17 @@ public class CraftWither extends CraftMonster implements Wither, com.destroystok +@@ -88,4 +88,17 @@ public class CraftWither extends CraftMonster implements Wither, com.destroystok getHandle().setCanTravelThroughPortals(value); } // Paper end diff --git a/patches/server/0214-Add-compass-command.patch b/patches/server/0214-Add-compass-command.patch index 752336156..b1773a78b 100644 --- a/patches/server/0214-Add-compass-command.patch +++ b/patches/server/0214-Add-compass-command.patch @@ -17,7 +17,7 @@ index 9e7cc8bf867b6e4f86b55e1f1d3a1cb6233c90f1..7c30d8d61a8e82d8a1f61451090e9bbb if (environment.includeIntegrated) { diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index f0666c85eafc802837380175f2e945f41cef0da1..d106cd682d03bfddd1f441ed43081b41f722d5c4 100644 +index af0cfc57bb941817c4d4bcb60e4f129971091265..0a345562354dc3f1e1366da96149d204a95f6fbc 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -256,6 +256,7 @@ public class ServerPlayer extends Player { @@ -44,7 +44,7 @@ index f0666c85eafc802837380175f2e945f41cef0da1..d106cd682d03bfddd1f441ed43081b41 } // CraftBukkit start - World fallback code, either respawn location or global spawn -@@ -2587,5 +2590,13 @@ public class ServerPlayer extends Player { +@@ -2588,5 +2591,13 @@ public class ServerPlayer extends Player { public void tpsBar(boolean tpsBar) { this.tpsBar = tpsBar; }