diff --git a/gradle.properties b/gradle.properties index b138e24fe..cd755a36b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,7 +1,7 @@ group = org.purpurmc.purpur version = 1.19.2-R0.1-SNAPSHOT -paperCommit = ff67f1fa18c19a61f693ae391d6fa6b640e25f44 +paperCommit = 77a50b95dada2d73b92fdd95d674d357b64bc7d4 org.gradle.caching = true org.gradle.parallel = true diff --git a/patches/server/0001-Pufferfish-Server-Changes.patch b/patches/server/0001-Pufferfish-Server-Changes.patch index 7c6b77989..16d3c4473 100644 --- a/patches/server/0001-Pufferfish-Server-Changes.patch +++ b/patches/server/0001-Pufferfish-Server-Changes.patch @@ -1881,7 +1881,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 008bd65d838819431a0823c6ac5925774bd155a1..fc4bd8ad4836aa6bdd228885f0aeb22500782af5 100644 +index 756b8e68c6b7c21c1ef78b68da9e41db4828c7c9..568760d0824ecd7c46536479d94e3155900ce89a 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 { @@ -1966,7 +1966,7 @@ index 008bd65d838819431a0823c6ac5925774bd155a1..fc4bd8ad4836aa6bdd228885f0aeb225 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; -@@ -4016,16 +4049,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4017,16 +4050,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } public boolean updateFluidHeightAndDoFluidPushing(TagKey tag, double speed) { @@ -1992,7 +1992,7 @@ index 008bd65d838819431a0823c6ac5925774bd155a1..fc4bd8ad4836aa6bdd228885f0aeb225 double d1 = 0.0D; boolean flag = this.isPushedByFluid(); boolean flag1 = false; -@@ -4033,14 +4068,61 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4034,14 +4069,61 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { int k1 = 0; BlockPos.MutableBlockPos blockposition_mutableblockposition = new BlockPos.MutableBlockPos(); @@ -2060,7 +2060,7 @@ index 008bd65d838819431a0823c6ac5925774bd155a1..fc4bd8ad4836aa6bdd228885f0aeb225 if (d2 >= axisalignedbb.minY) { flag1 = true; -@@ -4062,9 +4144,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4063,9 +4145,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { // CraftBukkit end } } diff --git a/patches/server/0007-Component-related-conveniences.patch b/patches/server/0007-Component-related-conveniences.patch index 219ab7925..306ca77af 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 fc4bd8ad4836aa6bdd228885f0aeb22500782af5..d9348a2f58eea3bd1d70851bedf29fd96430e1ff 100644 +index 568760d0824ecd7c46536479d94e3155900ce89a..6a106250f98edd68908e6e9703cddbf5edbe69d7 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -3798,6 +3798,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3799,6 +3799,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 4dd6050fc..0f8b1fa8f 100644 --- a/patches/server/0008-Ridables.patch +++ b/patches/server/0008-Ridables.patch @@ -79,7 +79,7 @@ index bfaa37739230107b73f81e227660e950d81d50a0..37f7e6d4ab2c5a043b122b34a4a0e574 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 d9348a2f58eea3bd1d70851bedf29fd96430e1ff..726c4a9dac41a887537b91ade7cb7b2a722a1e63 100644 +index 6a106250f98edd68908e6e9703cddbf5edbe69d7..56417ab6da0f9e3d11e9935c954116d9b33844e4 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 d9348a2f58eea3bd1d70851bedf29fd96430e1ff..726c4a9dac41a887537b91ade7cb7b2a private float eyeHeight; public boolean isInPowderSnow; public boolean wasInPowderSnow; -@@ -2782,6 +2782,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2783,6 +2783,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { this.passengers = ImmutableList.copyOf(list); } @@ -104,7 +104,7 @@ index d9348a2f58eea3bd1d70851bedf29fd96430e1ff..726c4a9dac41a887537b91ade7cb7b2a } return true; // CraftBukkit } -@@ -2822,6 +2828,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2823,6 +2829,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { return false; } // Spigot end @@ -119,7 +119,7 @@ index d9348a2f58eea3bd1d70851bedf29fd96430e1ff..726c4a9dac41a887537b91ade7cb7b2a if (this.passengers.size() == 1 && this.passengers.get(0) == entity) { this.passengers = ImmutableList.of(); } else { -@@ -4568,4 +4582,45 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4569,4 +4583,45 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { return ((ServerChunkCache) level.getChunkSource()).isPositionTicking(this); } // Paper end @@ -5178,11 +5178,11 @@ index d4ea7d19ae16a8ccafcfe5300bb380b28fd42b75..a0d8afdee5db3202d3693ad4d10b61fc + // 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 3bdde2057c9c2ac0e12cf3edab1c3150838dce01..047d8c8d7fea64328f73202c5629382a2194898d 100644 +index 03b3f29bde2bf6cb4e7b08a775bcc380a9404543..1c4643e1bff41b5bce92c07c59b1c6fea16d0d43 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -533,6 +533,15 @@ public class CraftEventFactory { - } +@@ -544,6 +544,15 @@ public class CraftEventFactory { + // Paper end craftServer.getPluginManager().callEvent(event); + // Purpur start @@ -5197,7 +5197,7 @@ index 3bdde2057c9c2ac0e12cf3edab1c3150838dce01..047d8c8d7fea64328f73202c5629382a return event; } -@@ -970,6 +979,7 @@ public class CraftEventFactory { +@@ -981,6 +990,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 @@ -5205,7 +5205,7 @@ index 3bdde2057c9c2ac0e12cf3edab1c3150838dce01..047d8c8d7fea64328f73202c5629382a } event.setCancelled(cancelled); -@@ -1076,6 +1086,7 @@ public class CraftEventFactory { +@@ -1087,6 +1097,7 @@ public class CraftEventFactory { } else { entity.lastDamageCancelled = true; // SPIGOT-5339, SPIGOT-6252, SPIGOT-6777: Keep track if the event was canceled } @@ -5213,7 +5213,7 @@ index 3bdde2057c9c2ac0e12cf3edab1c3150838dce01..047d8c8d7fea64328f73202c5629382a return event; } -@@ -1135,6 +1146,7 @@ public class CraftEventFactory { +@@ -1146,6 +1157,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/0060-Configurable-void-damage-height-and-damage.patch b/patches/server/0060-Configurable-void-damage-height-and-damage.patch index 28e6ec358..2b49940eb 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 4227272cc2bac2b603e4d477031d4c71641c5748..28df085e8de4ef3433ad65d1a48c81a22070f66e 100644 +index 80f075b79079486ee6fcb7bcf78d6d091d1b853e..bd9cd4423f51e204937b4b2bd8289119c7439f7b 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -891,7 +891,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -15,8 +15,8 @@ index 4227272cc2bac2b603e4d477031d4c71641c5748..28df085e8de4ef3433ad65d1a48c81a2 - if (this.getY() < (double) (this.level.getMinBuildHeight() - 64) || (this.level.getWorld().getEnvironment() == org.bukkit.World.Environment.NETHER + if (this.getY() < (double) (this.level.getMinBuildHeight() + level.purpurConfig.voidDamageHeight) || (this.level.getWorld().getEnvironment() == org.bukkit.World.Environment.NETHER // Purpur && level.paperConfig().environment.netherCeilingVoidDamageHeight > 0 - && this.getY() >= this.level.paperConfig().environment.netherCeilingVoidDamageHeight)) { - // Paper end + && this.getY() >= this.level.paperConfig().environment.netherCeilingVoidDamageHeight + && (!(this instanceof Player player) || !player.getAbilities().invulnerable))) { diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java index 29d33251d0b712b141c2ed8c78d0913b7b924c3c..1f0f31269fa21348cd8617a8e2d098dc2a8d0f85 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/patches/server/0061-Add-canSaveToDisk-to-Entity.patch b/patches/server/0061-Add-canSaveToDisk-to-Entity.patch index 37c292bbc..e99180b86 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 28df085e8de4ef3433ad65d1a48c81a22070f66e..63cd078dcb4eb4951395ca788ba5c04ffb289902 100644 +index bd9cd4423f51e204937b4b2bd8289119c7439f7b..38b8894e1dc7d7ad910f70384f34a3ba708d7374 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -4622,5 +4622,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4623,5 +4623,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { public boolean processClick(InteractionHand hand) { return false; } 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 75415a9f3..4a963452e 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 63cd078dcb4eb4951395ca788ba5c04ffb289902..7b7350712996a27c8a10d8d44cc820be9ccb5dfd 100644 +index 38b8894e1dc7d7ad910f70384f34a3ba708d7374..fcef95dfe75e6ec39e07bab6edf4b12cb5db48aa 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -4076,6 +4076,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4077,6 +4077,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { this.yRotO = this.getYRot(); } diff --git a/patches/server/0093-Entities-can-use-portals-configuration.patch b/patches/server/0093-Entities-can-use-portals-configuration.patch index 9e99105dc..1c92cc989 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 7b7350712996a27c8a10d8d44cc820be9ccb5dfd..edf291ea8a2bd1a94d4f8e8b6fa0a3f5f68480fa 100644 +index fcef95dfe75e6ec39e07bab6edf4b12cb5db48aa..564ad407266f451c3ece6232ca741456dc9d5a56 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2893,7 +2893,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2894,7 +2894,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { public void handleInsidePortal(BlockPos pos) { if (this.isOnPortalCooldown()) { this.setPortalCooldown(); @@ -17,7 +17,7 @@ index 7b7350712996a27c8a10d8d44cc820be9ccb5dfd..edf291ea8a2bd1a94d4f8e8b6fa0a3f5 if (!this.level.isClientSide && !pos.equals(this.portalEntrancePos)) { this.portalEntrancePos = pos.immutable(); } -@@ -3565,7 +3565,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3566,7 +3566,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } public boolean canChangeDimensions() { @@ -27,7 +27,7 @@ index 7b7350712996a27c8a10d8d44cc820be9ccb5dfd..edf291ea8a2bd1a94d4f8e8b6fa0a3f5 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 94984558798bb4571a30a54bc4fdd43087dcbcd5..1ff5a05f5b3c5caf804fd67ff857e9d776e08677 100644 +index 022d8c904ce5df6c0b1906c99770aa17344bd351..3f3dc194f2b11a4fddab9b178db248e8154f693d 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -101,6 +101,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 ab939eac4..6cc2c105a 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 edf291ea8a2bd1a94d4f8e8b6fa0a3f5f68480fa..08a5be138c0c0f2d1239e13c5dd1a82a13145938 100644 +index 564ad407266f451c3ece6232ca741456dc9d5a56..a4db0e61e82981b527a84812fc11bee8182bdde2 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -1733,7 +1733,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1734,7 +1734,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { return this.isInWater() || flag; } diff --git a/patches/server/0135-Fix-stuck-in-portals.patch b/patches/server/0135-Fix-stuck-in-portals.patch index 8dd87e927..f20875347 100644 --- a/patches/server/0135-Fix-stuck-in-portals.patch +++ b/patches/server/0135-Fix-stuck-in-portals.patch @@ -17,10 +17,10 @@ index ca7199452cbfc7d18203eae17c417c829c3b39bf..743a5cf750cc56856477cf2b4d75ceb2 // 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 08a5be138c0c0f2d1239e13c5dd1a82a13145938..33050a4ad2448a2d96b9633302a057f15360ea38 100644 +index a4db0e61e82981b527a84812fc11bee8182bdde2..be3272b08eafebf077ce10d2723d4a0cc997a6d8 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2890,12 +2890,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2891,12 +2891,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { return Vec3.directionFromRotation(this.getRotationVector()); } @@ -37,7 +37,7 @@ index 08a5be138c0c0f2d1239e13c5dd1a82a13145938..33050a4ad2448a2d96b9633302a057f1 this.isInsidePortal = true; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 23dcee30a188730697060f40a188f6b3c93a1cf6..cc6c0c3dc982ce6322aa882289620befce0d8d05 100644 +index 97143ad57276e7f62b50578096972c7581a6158b..4e996becabad942aaaa5ccb097707b0e2fd83adb 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -338,6 +338,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0140-Dont-run-with-scissors.patch b/patches/server/0140-Dont-run-with-scissors.patch index 42a429496..bb4a932d2 100644 --- a/patches/server/0140-Dont-run-with-scissors.patch +++ b/patches/server/0140-Dont-run-with-scissors.patch @@ -55,10 +55,10 @@ index c4088446d30c3b25cf196f51fd394cd056be0495..8b03b8e58e16ab9b677ba14cf1d09b41 private boolean bypassArmor; private boolean bypassInvul; diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 047d8c8d7fea64328f73202c5629382a2194898d..cb2e0874624c53a13334e2853699a6b98d3b3a88 100644 +index 1c4643e1bff41b5bce92c07c59b1c6fea16d0d43..49cd0e6f2eae6a182ea9ef43e734751da28bab4a 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1121,6 +1121,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/0151-Sneak-to-bulk-process-composter.patch b/patches/server/0151-Sneak-to-bulk-process-composter.patch index ba2d06c47..b7ac26bd7 100644 --- a/patches/server/0151-Sneak-to-bulk-process-composter.patch +++ b/patches/server/0151-Sneak-to-bulk-process-composter.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Sneak to bulk process composter diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java -index 5a60f5dc202c44b06ca34e9a19d45cb715f74fd3..8d3468353358e9f366db671090725d724bdf842f 100644 +index 0a5f8d990cce5df339fd9b2b0fcb291a20ddad41..e832bca50878a34339e142da5a9c765ae57eb3c8 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java -@@ -565,7 +565,7 @@ public class ServerPlayerGameMode { +@@ -566,7 +566,7 @@ public class ServerPlayerGameMode { boolean flag1 = player.isSecondaryUseActive() && flag; ItemStack itemstack1 = stack.copy(); diff --git a/patches/server/0155-Drowning-Settings.patch b/patches/server/0155-Drowning-Settings.patch index 36be1534c..855af4a40 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 33050a4ad2448a2d96b9633302a057f15360ea38..7f3fc8149b1cf42ce9f92717dcf9aea7b25d60dc 100644 +index be3272b08eafebf077ce10d2723d4a0cc997a6d8..11414f5d4ccf6ce0107a0b230db00ae2bf8dfc5c 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -3129,7 +3129,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3130,7 +3130,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } public int getMaxAirSupply() { @@ -18,7 +18,7 @@ index 33050a4ad2448a2d96b9633302a057f15360ea38..7f3fc8149b1cf42ce9f92717dcf9aea7 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 ebed5983846bb4cfde5ecb06f99b3df8f514b6f3..e11b9c477dabe9c5e00bf41739b0fe52f5ef2093 100644 +index 5e063e52a580d311227d08a6ed4ba996d5393b56..a7f3781e73db0bffe7acdd678f436a14dc5898a2 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 ebed5983846bb4cfde5ecb06f99b3df8f514b6f3..e11b9c477dabe9c5e00bf41739b0fe52 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index f398ddb46d2ebc99d0ae4235fd9c7a85271d850d..504c3fe629cb9cb969aac125d0bfc2b7b37838ef 100644 +index 91e2410ea09333ae65960ca67414333625857cb5..efba22df32b2c89360046005a381bf8b9c332f18 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -167,6 +167,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 645aafad1..9a4419199 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 7f3fc8149b1cf42ce9f92717dcf9aea7b25d60dc..3b173754e35f4ec9deaa84c7d3e3467ca06521d3 100644 +index 11414f5d4ccf6ce0107a0b230db00ae2bf8dfc5c..05c001af44065c7d36e3c740bc64db4c06642203 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -4635,5 +4635,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4636,5 +4636,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { public boolean canSaveToDisk() { return true; } 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 fd55eae33..7fac9bbd2 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 3b173754e35f4ec9deaa84c7d3e3467ca06521d3..01b5629ff8a39f761402d8a8d0e71f9cfc7ab7dd 100644 +index 05c001af44065c7d36e3c740bc64db4c06642203..eb9389e390c98ff4a1fe80816ae673201e5f6305 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2949,7 +2949,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2950,7 +2950,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } this.processPortalCooldown(); diff --git a/patches/server/0227-Shift-right-click-to-use-exp-for-mending.patch b/patches/server/0227-Shift-right-click-to-use-exp-for-mending.patch index 827423475..090948ff6 100644 --- a/patches/server/0227-Shift-right-click-to-use-exp-for-mending.patch +++ b/patches/server/0227-Shift-right-click-to-use-exp-for-mending.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Shift right click to use exp for mending diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java -index 28463bca77d62ad9175a55cffc92110ffa16fadc..bd77301ef6cde21e1ee1966d2ffa418685f4a214 100644 +index 9f8995c559b500415ec8d214f7c164707046f6ac..194e9e341b9d1a966d0d78af19120422d7b7eb0a 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java @@ -509,6 +509,7 @@ public class ServerPlayerGameMode { @@ -16,7 +16,7 @@ index 28463bca77d62ad9175a55cffc92110ffa16fadc..bd77301ef6cde21e1ee1966d2ffa4186 BlockPos blockposition = hitResult.getBlockPos(); BlockState iblockdata = world.getBlockState(blockposition); InteractionResult enuminteractionresult = InteractionResult.PASS; -@@ -602,4 +603,18 @@ public class ServerPlayerGameMode { +@@ -603,4 +604,18 @@ public class ServerPlayerGameMode { public void setLevel(ServerLevel world) { this.level = world; } diff --git a/patches/server/0243-Option-to-prevent-spiders-from-climbing-world-border.patch b/patches/server/0243-Option-to-prevent-spiders-from-climbing-world-border.patch index e56a6b3c6..5c6370521 100644 --- a/patches/server/0243-Option-to-prevent-spiders-from-climbing-world-border.patch +++ b/patches/server/0243-Option-to-prevent-spiders-from-climbing-world-border.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Option to prevent spiders from climbing world border diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 01b5629ff8a39f761402d8a8d0e71f9cfc7ab7dd..fd48485c7baac356da7498a14a28749a97eba7c0 100644 +index eb9389e390c98ff4a1fe80816ae673201e5f6305..16da763fb5dd0c9997a40b1d3d57250d5145736a 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -305,6 +305,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -16,7 +16,7 @@ index 01b5629ff8a39f761402d8a8d0e71f9cfc7ab7dd..fd48485c7baac356da7498a14a28749a public boolean hurtMarked; protected Vec3 stuckSpeedMultiplier; @Nullable -@@ -1417,7 +1418,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1418,7 +1419,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { io.papermc.paper.util.CollisionUtil.getCollisions(world, this, collisionBox, potentialCollisions, false, this.level.paperConfig().chunks.preventMovingIntoUnloadedChunks, false, false, null, null); diff --git a/patches/server/0272-Stonecutter-damage.patch b/patches/server/0272-Stonecutter-damage.patch index ffeeec591..906e6ddc6 100644 --- a/patches/server/0272-Stonecutter-damage.patch +++ b/patches/server/0272-Stonecutter-damage.patch @@ -65,10 +65,10 @@ index 444bec169c0cd5fe1a23f1d14fae1a10ca3d67c4..6b6093608e3fe97e72a1db5ad2a95b28 } 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 cb2e0874624c53a13334e2853699a6b98d3b3a88..d0fb54cf129996a62333e0793efcb82172462e61 100644 +index 49cd0e6f2eae6a182ea9ef43e734751da28bab4a..c47f6434d8c52d0524b0ce065ace5c45d589867f 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1045,6 +1045,10 @@ public class CraftEventFactory { +@@ -1056,6 +1056,10 @@ public class CraftEventFactory { cause = DamageCause.MAGIC; } else if (source == DamageSource.IN_FIRE) { cause = DamageCause.FIRE; diff --git a/patches/server/0289-Remove-Mojang-Profiler.patch b/patches/server/0289-Remove-Mojang-Profiler.patch index 9b1554faf..f706449c6 100644 --- a/patches/server/0289-Remove-Mojang-Profiler.patch +++ b/patches/server/0289-Remove-Mojang-Profiler.patch @@ -1013,7 +1013,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 4f5c3c4285dd3b7ac901fb55e1ebbfec37ca601f..efd84a22bc063fe6266be876a38186c08296caa2 100644 +index a8e5173ca3c49677767d40fba5a3690e286f902e..39d71c0b35095440d5b65876cf56f406debaf04f 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -822,7 +822,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -1034,7 +1034,7 @@ index 4f5c3c4285dd3b7ac901fb55e1ebbfec37ca601f..efd84a22bc063fe6266be876a38186c0 } public void setSharedFlagOnFire(boolean onFire) { -@@ -1057,7 +1057,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1058,7 +1058,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } } @@ -1043,7 +1043,7 @@ index 4f5c3c4285dd3b7ac901fb55e1ebbfec37ca601f..efd84a22bc063fe6266be876a38186c0 if (this.stuckSpeedMultiplier.lengthSqr() > 1.0E-7D) { movement = movement.multiply(this.stuckSpeedMultiplier); this.stuckSpeedMultiplier = Vec3.ZERO; -@@ -1066,7 +1066,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1067,7 +1067,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { // Paper start - ignore movement changes while inactive. if (isTemporarilyActive && !(this instanceof ItemEntity || this instanceof net.minecraft.world.entity.vehicle.AbstractMinecart) && movement == getDeltaMovement() && movementType == MoverType.SELF) { setDeltaMovement(Vec3.ZERO); @@ -1052,7 +1052,7 @@ index 4f5c3c4285dd3b7ac901fb55e1ebbfec37ca601f..efd84a22bc063fe6266be876a38186c0 return; } // Paper end -@@ -1087,8 +1087,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1088,8 +1088,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { this.setPos(this.getX() + vec3d1.x, this.getY() + vec3d1.y, this.getZ() + vec3d1.z); } @@ -1063,7 +1063,7 @@ index 4f5c3c4285dd3b7ac901fb55e1ebbfec37ca601f..efd84a22bc063fe6266be876a38186c0 boolean flag = !Mth.equal(movement.x, vec3d1.x); boolean flag1 = !Mth.equal(movement.z, vec3d1.z); -@@ -1107,7 +1107,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1108,7 +1108,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { this.checkFallDamage(vec3d1.y, this.onGround, iblockdata, blockposition); if (this.isRemoved()) { @@ -1072,7 +1072,7 @@ index 4f5c3c4285dd3b7ac901fb55e1ebbfec37ca601f..efd84a22bc063fe6266be876a38186c0 } else { if (this.horizontalCollision) { Vec3 vec3d2 = this.getDeltaMovement(); -@@ -1248,7 +1248,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1249,7 +1249,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { this.setRemainingFireTicks(-this.getFireImmuneTicks()); } @@ -1081,7 +1081,7 @@ index 4f5c3c4285dd3b7ac901fb55e1ebbfec37ca601f..efd84a22bc063fe6266be876a38186c0 } } // Paper start - detailed watchdog information -@@ -2917,7 +2917,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2918,7 +2918,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { ServerLevel worldserver1 = minecraftserver.getLevel(resourcekey); if (true && !this.isPassenger() && this.portalTime++ >= i) { // CraftBukkit @@ -1090,7 +1090,7 @@ index 4f5c3c4285dd3b7ac901fb55e1ebbfec37ca601f..efd84a22bc063fe6266be876a38186c0 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); -@@ -2935,7 +2935,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2936,7 +2936,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } } // Paper // CraftBukkit end @@ -1099,7 +1099,7 @@ index 4f5c3c4285dd3b7ac901fb55e1ebbfec37ca601f..efd84a22bc063fe6266be876a38186c0 } this.isInsidePortal = false; -@@ -3389,14 +3389,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3390,14 +3390,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } // Paper end if (this.level instanceof ServerLevel && !this.isRemoved()) { @@ -1116,7 +1116,7 @@ index 4f5c3c4285dd3b7ac901fb55e1ebbfec37ca601f..efd84a22bc063fe6266be876a38186c0 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) { -@@ -3430,7 +3430,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3431,7 +3431,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { this.unRide(); // CraftBukkit end @@ -1125,7 +1125,7 @@ index 4f5c3c4285dd3b7ac901fb55e1ebbfec37ca601f..efd84a22bc063fe6266be876a38186c0 // Paper start - Change lead drop timing to prevent dupe if (this instanceof Mob) { ((Mob) this).dropLeash(true, true); // Paper drop lead -@@ -3453,10 +3453,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3454,10 +3454,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } this.removeAfterChangingDimensions(); diff --git a/patches/server/0307-Configurable-block-fall-damage-modifiers.patch b/patches/server/0306-Configurable-block-fall-damage-modifiers.patch similarity index 100% rename from patches/server/0307-Configurable-block-fall-damage-modifiers.patch rename to patches/server/0306-Configurable-block-fall-damage-modifiers.patch diff --git a/patches/server/0306-Fix-MC-252892.patch b/patches/server/0306-Fix-MC-252892.patch deleted file mode 100644 index 25afffb2f..000000000 --- a/patches/server/0306-Fix-MC-252892.patch +++ /dev/null @@ -1,19 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: BillyGalbreath -Date: Sat, 1 Oct 2022 22:43:24 -0500 -Subject: [PATCH] Fix MC-252892 - - -diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java -index bd77301ef6cde21e1ee1966d2ffa418685f4a214..f946772601cf7ab74104611842fffed4ea9a3bb9 100644 ---- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java -+++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java -@@ -521,7 +521,7 @@ public class ServerPlayerGameMode { - } - - if (player.getCooldowns().isOnCooldown(stack.getItem())) { -- cancelledBlock = true; -+ cancelledBlock = stack.getItem() != net.minecraft.world.item.Items.GOAT_HORN; // Purpur - } - - PlayerInteractEvent event = CraftEventFactory.callPlayerInteractEvent(player, Action.RIGHT_CLICK_BLOCK, blockposition, hitResult.getDirection(), stack, cancelledBlock, hand, hitResult.getLocation()); // Paper diff --git a/patches/server/0308-Language-API.patch b/patches/server/0307-Language-API.patch similarity index 100% rename from patches/server/0308-Language-API.patch rename to patches/server/0307-Language-API.patch