diff --git a/paper-server/patches/sources/net/minecraft/world/entity/LivingEntity.java.patch b/paper-server/patches/sources/net/minecraft/world/entity/LivingEntity.java.patch index 9751a45194..2f99334b7d 100644 --- a/paper-server/patches/sources/net/minecraft/world/entity/LivingEntity.java.patch +++ b/paper-server/patches/sources/net/minecraft/world/entity/LivingEntity.java.patch @@ -1350,9 +1350,10 @@ } - ItemStack itemstack2 = itemstack1; -+ ItemStack itemstack2 = itemstack1; final ItemStack oldEquipment = itemstack2; // Paper - PlayerArmorChangeEvent - obfhelper - +- - itemstack = this.getItemBySlot(enumitemslot); ++ ItemStack itemstack2 = itemstack1; final ItemStack oldEquipment = itemstack2; // Paper - PlayerArmorChangeEvent - obfhelper ++ + itemstack = this.getItemBySlot(enumitemslot); final ItemStack newEquipment = itemstack;// Paper - PlayerArmorChangeEvent - obfhelper if (this.equipmentHasChanged(itemstack2, itemstack)) { + // Paper start - PlayerArmorChangeEvent @@ -1437,7 +1438,7 @@ this.doPush(entity1); } } -@@ -3190,9 +3799,15 @@ +@@ -3190,10 +3799,16 @@ @Override public void stopRiding() { @@ -1450,10 +1451,12 @@ Entity entity = this.getVehicle(); - super.stopRiding(); +- if (entity != null && entity != this.getVehicle() && !this.level().isClientSide) { + super.stopRiding(suppressCancellation); // Paper - Force entity dismount during teleportation - if (entity != null && entity != this.getVehicle() && !this.level().isClientSide) { ++ if (entity != null && entity != this.getVehicle() && !this.level().isClientSide && entity.valid) { // Paper - don't process on world gen this.dismountVehicle(entity); } + @@ -3305,15 +3920,22 @@ @Override