Updated Upstream (Paper)

Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@7813de12 Fix arrow immunity loophole (#13452)
PaperMC/Paper@6d5a450f Add additional ray trace API (#12162)
PaperMC/Paper@8c6b6327 Properly update hidden effects (#13173)
PaperMC/Paper@5875d880 Fix inventory desyncs with certain cancelled interactions (#12960)
This commit is contained in:
granny
2025-12-30 17:01:33 -08:00
parent 25642b6766
commit 29e98ecdba
12 changed files with 37 additions and 51 deletions

View File

@@ -80,7 +80,7 @@
EntityPotionEffectEvent event = CraftEventFactory.callEntityPotionEffectChangeEvent(this, effect, null, cause, EntityPotionEffectEvent.Action.CLEARED);
if (event.isCancelled()) {
continue;
@@ -1424,6 +_,24 @@
@@ -1436,6 +_,24 @@
this.stopSleeping();
}
@@ -105,7 +105,7 @@
this.noActionTime = 0;
if (amount < 0.0F) {
amount = 0.0F;
@@ -1685,10 +_,10 @@
@@ -1697,10 +_,10 @@
protected @Nullable Player resolvePlayerResponsibleForDamage(DamageSource damageSource) {
Entity entity = damageSource.getEntity();
if (entity instanceof Player player) {
@@ -118,7 +118,7 @@
} else {
this.lastHurtByPlayer = null;
this.lastHurtByPlayerMemoryTime = 0;
@@ -1739,6 +_,30 @@
@@ -1751,6 +_,30 @@
}
}
@@ -149,7 +149,7 @@
final org.bukkit.inventory.EquipmentSlot handSlot = (hand != null) ? org.bukkit.craftbukkit.CraftEquipmentSlot.getHand(hand) : null;
final EntityResurrectEvent event = new EntityResurrectEvent((org.bukkit.entity.LivingEntity) this.getBukkitEntity(), handSlot);
event.setCancelled(itemStack == null);
@@ -1920,6 +_,7 @@
@@ -1932,6 +_,7 @@
boolean flag = this.lastHurtByPlayerMemoryTime > 0;
this.dropEquipment(level); // CraftBukkit - from below
if (this.shouldDropLoot(level)) {
@@ -157,7 +157,7 @@
this.dropFromLootTable(level, damageSource, flag);
// Paper start
final boolean prev = this.clearEquipmentSlots;
@@ -1928,6 +_,7 @@
@@ -1940,6 +_,7 @@
// Paper end
this.dropCustomDeathLoot(level, damageSource, flag);
this.clearEquipmentSlots = prev; // Paper
@@ -165,7 +165,7 @@
}
// CraftBukkit start - Call death event // Paper start - call advancement triggers with correct entity equipment
@@ -3202,6 +_,7 @@
@@ -3214,6 +_,7 @@
float f = (float)(d * 10.0 - 3.0);
if (f > 0.0F) {
this.playSound(this.getFallDamageSound((int)f), 1.0F, 1.0F);
@@ -173,7 +173,7 @@
this.hurt(this.damageSources().flyIntoWall(), f);
}
}
@@ -4666,6 +_,12 @@
@@ -4679,6 +_,12 @@
? slot == EquipmentSlot.MAINHAND && this.canUseSlot(EquipmentSlot.MAINHAND)
: slot == equippable.slot() && this.canUseSlot(equippable.slot()) && equippable.canBeEquippedBy(this.getType());
}

View File

@@ -8,16 +8,7 @@
protected AbstractArrow(EntityType<? extends AbstractArrow> type, Level level) {
super(type, level);
@@ -362,7 +_,7 @@
this.setInGround(false);
Vec3 deltaMovement = this.getDeltaMovement();
this.setDeltaMovement(deltaMovement.multiply(this.random.nextFloat() * 0.2F, this.random.nextFloat() * 0.2F, this.random.nextFloat() * 0.2F));
- this.life = 0;
+ if (this.level().purpurConfig.arrowMovementResetsDespawnCounter) this.life = 0; // Purpur - Arrows should not reset despawn counter
}
public boolean isInGround() {
@@ -585,6 +_,12 @@
@@ -593,6 +_,12 @@
public @Nullable ItemStack getWeaponItem() {
return this.firedFromWeapon;
}