Updated Upstream (Paper)

Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@1e67ca8e Add SpawnReason for REANIMATE a Copper Golem Statue (#13126)
PaperMC/Paper@e75678b6 Update Mache for Java 25 setup runtime support
PaperMC/Paper@bac3da12 Migrate external JD links from javadoc.io to javadocs.dev (#13205)
PaperMC/Paper@080a72f2 [ci/skip] Add myself (roro1506HD) to MIT licensing (#13212)
PaperMC/Paper@d98142ef Rework API teleportation to better align with Vanilla (#13181)
This commit is contained in:
granny
2025-10-24 21:08:35 -07:00
parent efc7621513
commit 3ca0d663e7
16 changed files with 104 additions and 115 deletions

View File

@@ -52,15 +52,15 @@
Entity entity = damageSource.getEntity();
if (!( // Paper - split the if statement. If below statement is false, hurtServer would not have been evaluated. Return false.
!(entity instanceof Player player && !this.canHarmPlayer(player))
@@ -1549,6 +_,7 @@
serverLevel.removePlayerImmediately(this, Entity.RemovalReason.CHANGED_DIMENSION);
this.unsetRemoved();
// CraftBukkit end
@@ -1545,6 +_,7 @@
profilerFiller.pop();
profilerFiller.push("placing");
+ this.portalPos = org.bukkit.craftbukkit.util.CraftLocation.toBlockPosition(exit); // Purpur - Fix stuck in portals
this.setServerLevel(level);
this.connection.internalTeleport(PositionMoveRotation.of(teleportTransition), teleportTransition.relatives()); // CraftBukkit - use internal teleport without event
this.connection.resetPosition();
@@ -1668,7 +_,7 @@
@@ -1646,7 +_,7 @@
new AABB(vec3.x() - 8.0, vec3.y() - 5.0, vec3.z() - 8.0, vec3.x() + 8.0, vec3.y() + 5.0, vec3.z() + 8.0),
monster -> monster.isPreventingPlayerRest(this.level(), this)
);
@@ -69,7 +69,7 @@
return Either.left(Player.BedSleepingProblem.NOT_SAFE);
}
}
@@ -1705,7 +_,19 @@
@@ -1683,7 +_,19 @@
CriteriaTriggers.SLEPT_IN_BED.trigger(this);
});
if (!this.level().canSleepThroughNights()) {
@@ -90,7 +90,7 @@
}
this.level().updateSleepingPlayerList();
@@ -1797,6 +_,7 @@
@@ -1775,6 +_,7 @@
@Override
public void openTextEdit(SignBlockEntity signEntity, boolean isFrontText) {
@@ -98,7 +98,7 @@
this.connection.send(new ClientboundBlockUpdatePacket(this.level(), signEntity.getBlockPos()));
this.connection.send(new ClientboundOpenSignEditorPacket(signEntity.getBlockPos(), isFrontText));
}
@@ -2106,6 +_,26 @@
@@ -2084,6 +_,26 @@
this.lastSentExp = -1; // CraftBukkit - Added to reset
}
@@ -125,7 +125,7 @@
@Override
public void displayClientMessage(Component message, boolean overlay) {
this.sendSystemMessage(message, overlay);
@@ -2327,6 +_,20 @@
@@ -2318,6 +_,20 @@
);
}
@@ -146,7 +146,7 @@
public void sendSystemMessage(Component message) {
this.sendSystemMessage(message, false);
}
@@ -2465,7 +_,67 @@
@@ -2456,7 +_,67 @@
public void resetLastActionTime() {
this.lastActionTime = Util.getMillis();
@@ -215,7 +215,7 @@
public ServerStatsCounter getStats() {
return this.stats;
@@ -3109,4 +_,56 @@
@@ -3097,4 +_,65 @@
return (org.bukkit.craftbukkit.entity.CraftPlayer) super.getBukkitEntity();
}
// CraftBukkit end
@@ -235,9 +235,18 @@
+
+ ServerLevel toLevel = ((org.bukkit.craftbukkit.CraftWorld) to.getWorld()).getHandle();
+ if (this.level() == toLevel) {
+ this.connection.teleport(to);
+ this.connection.internalTeleport(to);
+ } else {
+ this.server.getPlayerList().respawn(this, true, RemovalReason.KILLED, org.bukkit.event.player.PlayerRespawnEvent.RespawnReason.DEATH, to);
+ this.teleport(new TeleportTransition(
+ toLevel,
+ org.bukkit.craftbukkit.util.CraftLocation.toVec3(to),
+ Vec3.ZERO,
+ to.getYaw(),
+ to.getPitch(),
+ net.minecraft.world.entity.Relative.ALL,
+ TeleportTransition.DO_NOTHING,
+ org.bukkit.event.player.PlayerTeleportEvent.TeleportCause.UNKNOWN
+ ));
+ }
+ }
+ // Purpur end - Add option to teleport to spawn if outside world border