Updated Upstream (Paper)

Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@31699ae Updated Upstream (Bukkit/CraftBukkit) (#10242)
This commit is contained in:
granny
2024-02-11 21:56:58 -08:00
parent 425889dc45
commit 70a76c42bf
77 changed files with 356 additions and 375 deletions

View File

@@ -66,7 +66,7 @@ index d39a3359249e2a312da0645d5abb625d98fe4034..44409eed0b603a1e8203a35ff0263d36
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 e54816e2a5145b1ef1ca72b470498b419a659f48..dd233d0eb9a073dd3f40401b2d0212df613ed319 100644
index 9b7ee7a5a3c52a931e9db1c84f9941c5d9619d49..671757b90c21d2c7e9eeb24340e6b820e3d1a99e 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2722,6 +2722,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -79,7 +79,7 @@ index e54816e2a5145b1ef1ca72b470498b419a659f48..dd233d0eb9a073dd3f40401b2d0212df
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)) {
entity.getEntityData().resendPossiblyDesyncedEntity(player); // Paper - The entire mob gets deleted, so resend it.
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 5e68978874a30c4e7bb90dfabdcc2aacf4987841..b4bcfd6ebb94ae5f497b8f92e88fa3be9e1207f2 100644
index 169d5e539b1474a3e400b53e21f867e5fb175182..46e3d7a949d79d9168e0a976be09be5a178bea15 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -378,7 +378,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -91,7 +91,7 @@ index 5e68978874a30c4e7bb90dfabdcc2aacf4987841..b4bcfd6ebb94ae5f497b8f92e88fa3be
private float eyeHeight;
public boolean isInPowderSnow;
public boolean wasInPowderSnow;
@@ -3007,6 +3007,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -3011,6 +3011,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
this.passengers = ImmutableList.copyOf(list);
}
@@ -105,7 +105,7 @@ index 5e68978874a30c4e7bb90dfabdcc2aacf4987841..b4bcfd6ebb94ae5f497b8f92e88fa3be
this.gameEvent(GameEvent.ENTITY_MOUNT, passenger);
}
}
@@ -3046,6 +3053,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -3050,6 +3057,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
return false;
}
// CraftBukkit end
@@ -120,7 +120,7 @@ index 5e68978874a30c4e7bb90dfabdcc2aacf4987841..b4bcfd6ebb94ae5f497b8f92e88fa3be
if (this.passengers.size() == 1 && this.passengers.get(0) == entity) {
this.passengers = ImmutableList.of();
} else {
@@ -4984,4 +4999,44 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -4987,4 +5002,44 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
return ((net.minecraft.server.level.ServerChunkCache) level.getChunkSource()).isPositionTicking(this);
}
// Paper end - Expose entity id counter
@@ -190,10 +190,10 @@ index 1bb8b6e91c44cd13411d96d749fa64835c75a267..75c278b67ad2b78766efd8f89c4c2ca7
protected ParticleOptions getInkParticle() {
return ParticleTypes.GLOW_SQUID_INK;
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 317ff325f0a30d9ed83d3049cf96c53838c050ee..2a3fa4cf65ba2c79de34256ae29a35b5903c7c37 100644
index a66dc9c1fcaa0e89e00c78f2cd2fd6bf537a790b..dfc7b015da2a553122f98677c12636a84ce90a1f 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -216,9 +216,9 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -217,9 +217,9 @@ public abstract class LivingEntity extends Entity implements Attackable {
protected int deathScore;
public float lastHurt;
public boolean jumping;
@@ -206,7 +206,7 @@ index 317ff325f0a30d9ed83d3049cf96c53838c050ee..2a3fa4cf65ba2c79de34256ae29a35b5
protected int lerpSteps;
protected double lerpX;
protected double lerpY;
@@ -284,7 +284,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -285,7 +285,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.effectsDirty = true;
this.useItem = ItemStack.EMPTY;
this.lastClimbablePos = Optional.empty();
@@ -215,7 +215,7 @@ index 317ff325f0a30d9ed83d3049cf96c53838c050ee..2a3fa4cf65ba2c79de34256ae29a35b5
this.craftAttributes = new CraftAttributeMap(this.attributes); // CraftBukkit
// CraftBukkit - setHealth(getMaxHealth()) inlined and simplified to skip the instanceof check for EntityPlayer, as getBukkitEntity() is not initialized in constructor
this.entityData.set(LivingEntity.DATA_HEALTH_ID, (float) this.getAttribute(Attributes.MAX_HEALTH).getValue());
@@ -335,6 +335,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -336,6 +336,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
public static AttributeSupplier.Builder createLivingAttributes() {
return AttributeSupplier.builder().add(Attributes.MAX_HEALTH).add(Attributes.KNOCKBACK_RESISTANCE).add(Attributes.MOVEMENT_SPEED).add(Attributes.ARMOR).add(Attributes.ARMOR_TOUGHNESS).add(Attributes.MAX_ABSORPTION);
}
@@ -223,7 +223,7 @@ index 317ff325f0a30d9ed83d3049cf96c53838c050ee..2a3fa4cf65ba2c79de34256ae29a35b5
@Override
protected void checkFallDamage(double heightDifference, boolean onGround, BlockState state, BlockPos landedPosition) {
@@ -2729,7 +2730,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -2742,7 +2743,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
protected long lastJumpTime = 0L; // Paper - Prevent excessive velocity through repeated crits
@@ -232,7 +232,7 @@ index 317ff325f0a30d9ed83d3049cf96c53838c050ee..2a3fa4cf65ba2c79de34256ae29a35b5
Vec3 vec3d = this.getDeltaMovement();
// Paper start - Prevent excessive velocity through repeated crits
long time = System.nanoTime();
@@ -3507,8 +3508,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -3520,8 +3521,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.pushEntities();
this.level().getProfiler().pop();
// Paper start - Add EntityMoveEvent
@@ -245,7 +245,7 @@ index 317ff325f0a30d9ed83d3049cf96c53838c050ee..2a3fa4cf65ba2c79de34256ae29a35b5
Location from = new Location(this.level().getWorld(), this.xo, this.yo, this.zo, this.yRotO, this.xRotO);
Location to = new Location(this.level().getWorld(), this.getX(), this.getY(), this.getZ(), this.getYRot(), this.getXRot());
io.papermc.paper.event.entity.EntityMoveEvent event = new io.papermc.paper.event.entity.EntityMoveEvent(this.getBukkitLivingEntity(), from, to.clone());
@@ -3518,6 +3521,21 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -3531,6 +3534,21 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.absMoveTo(event.getTo().getX(), event.getTo().getY(), event.getTo().getZ(), event.getTo().getYaw(), event.getTo().getPitch());
}
}
@@ -268,7 +268,7 @@ index 317ff325f0a30d9ed83d3049cf96c53838c050ee..2a3fa4cf65ba2c79de34256ae29a35b5
// Paper end - Add EntityMoveEvent
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 195c86a52b1757c7aadf45babc52bfef58de1dc3..155e2c928edb63e15c36dd831051c08a8cf2a3fc 100644
index 4be5ae6bfc7bbb8c928e13208dfcd7f455c56cfe..1a31090435898c9ffc1a4e124d2d6c9130a77015 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -148,8 +148,8 @@ public abstract class Mob extends LivingEntity implements Targeting {
@@ -1251,7 +1251,7 @@ index 6cfe0d6c46caa122db107c607d27a2bdcd82f7a8..cb05267fb287b9de9d1829e90d9bb9c9
float f1 = 1.0F + (this.random.nextFloat() - this.random.nextFloat()) * 0.2F;
diff --git a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
index 7a82ba6e29fde33841c049e8520300aa66608f34..214e9b119e2a5b1039840c5d3f6d57e0aedd60ef 100644
index e1f174ff0f791b20be7d6ad8e4a172d1e0c81e33..2f1385cbd88e7085ee5f39f8b5c371c9f0206c23 100644
--- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
+++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
@@ -63,6 +63,23 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
@@ -1850,7 +1850,7 @@ index 1d80678f7e8f658e43616f0baf723f096a99122a..ffcb68cd299370d5a17ed92ba3814c8a
this.goalSelector.addGoal(2, new BreedGoal(this, 1.0D));
this.goalSelector.addGoal(3, new TemptGoal(this, 1.1D, Ingredient.of(Items.WHEAT), false));
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 b5d6857eaf2bed14adcb5f5e80d91b44eb8b0dcc..bc57978d89db43e97a38ea56c3541e8f6318c2d2 100644
index 9eab1170cb123d3b60a02314702516704f959ab7..c48ceed671e1804756d8a11208e5f7e5094a4bb1 100644
--- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
+++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
@@ -54,12 +54,31 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
@@ -2010,7 +2010,7 @@ index b05b560b7570e97bc234b75f26233909fcf575b3..71234b258157579d3a47064e7e299bb7
return "entity.minecraft.tropical_fish.predefined." + variant;
}
diff --git a/src/main/java/net/minecraft/world/entity/animal/Turtle.java b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
index d595f1590619b24d460fc2c10a5412844f62cba0..55566dd9d6fa032f3436247be039d6ed3d8a1fee 100644
index dbdb6c432448b151fa4421f14235f8bad23dc720..4707f0d1c78d6080201c313717ef912d4805873d 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
@@ -86,6 +86,23 @@ public class Turtle extends Animal {
@@ -2045,7 +2045,7 @@ index d595f1590619b24d460fc2c10a5412844f62cba0..55566dd9d6fa032f3436247be039d6ed
this.goalSelector.addGoal(0, new Turtle.TurtlePanicGoal(this, 1.2D));
this.goalSelector.addGoal(1, new Turtle.TurtleBreedGoal(this, 1.0D));
this.goalSelector.addGoal(1, new Turtle.TurtleLayEggGoal(this, 1.0D));
@@ -346,13 +364,15 @@ public class Turtle extends Animal {
@@ -344,13 +362,15 @@ public class Turtle extends Animal {
return new Vector3f(0.0F, dimensions.height + (this.isBaby() ? 0.0F : 0.15625F) * scaleFactor, -0.25F * scaleFactor);
}
@@ -2062,7 +2062,7 @@ index d595f1590619b24d460fc2c10a5412844f62cba0..55566dd9d6fa032f3436247be039d6ed
}
private void updateSpeed() {
@@ -372,7 +392,7 @@ public class Turtle extends Animal {
@@ -370,7 +390,7 @@ public class Turtle extends Animal {
}
@Override
@@ -2071,7 +2071,7 @@ index d595f1590619b24d460fc2c10a5412844f62cba0..55566dd9d6fa032f3436247be039d6ed
this.updateSpeed();
if (this.operation == MoveControl.Operation.MOVE_TO && !this.turtle.getNavigation().isDone()) {
double d0 = this.wantedX - this.turtle.getX();
@@ -388,7 +408,7 @@ public class Turtle extends Animal {
@@ -386,7 +406,7 @@ public class Turtle extends Animal {
this.turtle.setYRot(this.rotlerp(this.turtle.getYRot(), f, 90.0F));
this.turtle.yBodyRot = this.turtle.getYRot();
@@ -2265,7 +2265,7 @@ index 33c160994f70f71446d665e7487913437c9f9db4..a1bc178165f3481c2b4e399f0284f448
}
diff --git a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
index f693d4d6a6a3c3d31c2d85ceb5b5b01366c970a1..a1a382a4cc96ff1156bbd8cbc8298e4ae6540990 100644
index 1f09d47b0ffb07b49b4d8bd79a371dd61f1c2a92..fee24a7b0fa7797279ca68ff26fbe6bb183ca3a1 100644
--- a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
+++ b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
@@ -86,6 +86,13 @@ public class Camel extends AbstractHorse implements PlayerRideableJumping, Saddl
@@ -5114,10 +5114,10 @@ index 1c89f20debfad9807c90a21cc336d5790294ebce..3782209c6d3408393e91ffe64976a15c
this.setTradingPlayer(player);
this.openTradingScreen(player, this.getDisplayName(), 1);
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index df8d6f3eb675354ce0d180fc56886ce12788d6ae..3549f83b37f5b895381ead73fc59e96ed79f042c 100644
index 5ca1f834f311a87323ced2578535e66efa14e47f..835e4451b075d00de53f99a796b91010fbae29b2 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -192,6 +192,19 @@ public abstract class Player extends LivingEntity {
@@ -193,6 +193,19 @@ public abstract class Player extends LivingEntity {
}
// CraftBukkit end
@@ -5204,7 +5204,7 @@ index 8698104e3eb98e2cc5da5de87a8f538860c1d91d..39ae3335866669be54f31ee6cd10d41b
+ // 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 fd2ed472ea3722d642484ae91f63ae72c99cf2cd..846887b454dd85fd0d91bb454be12f8282f76689 100644
index 347bd2482c89e06716121bd7d05941203bab2a8b..aa89fcab22c7ad0c9425f5ae65cc2c6b150579cc 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -591,6 +591,15 @@ public class CraftEventFactory {
@@ -5223,29 +5223,13 @@ index fd2ed472ea3722d642484ae91f63ae72c99cf2cd..846887b454dd85fd0d91bb454be12f82
return event;
}
@@ -1096,6 +1105,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
+ damager.processClick(InteractionHand.MAIN_HAND); // Purpur
}
event.setCancelled(cancelled);
@@ -1210,6 +1220,7 @@ public class CraftEventFactory {
} else {
entity.lastDamageCancelled = true; // SPIGOT-5339, SPIGOT-6252, SPIGOT-6777: Keep track if the event was canceled
}
+ damager.getHandle().processClick(InteractionHand.MAIN_HAND); // Purpur
return event;
}
@@ -1273,6 +1284,7 @@ public class CraftEventFactory {
@@ -1182,6 +1191,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
event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), damagee.getBukkitEntity(), cause, bukkitDamageSource, modifiers, modifierFunctions, critical);
+ damager.processClick(InteractionHand.MAIN_HAND); // Purpur
} else {
event = new EntityDamageEvent(damagee.getBukkitEntity(), cause, modifiers, modifierFunctions);
event = new EntityDamageEvent(damagee.getBukkitEntity(), cause, bukkitDamageSource, modifiers, modifierFunctions);
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index be3b733d7a641a7651ace1b3bd5ac56f26db5947..463af65182c0894a75a138df8100f3f616143f4c 100644