From 4a3b139ff21b255f7485fcec5c264a3d059c7eed Mon Sep 17 00:00:00 2001 From: granny Date: Sat, 8 Mar 2025 15:20:15 -0800 Subject: [PATCH] Updated Upstream (Paper) Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@45198578 Set old position / rotation for newly created entities PaperMC/Paper@8e69d981 Player - Expose player score (#12243) PaperMC/Paper@2526fe06 Add type to represent unimplemented data component types (#12222) PaperMC/Paper@20df25d3 Don't resync all attributes when updating scaled health (#12232) PaperMC/Paper@43f37b1b Remove ItemFactory#enchantWithLevels range check for vanilla parity (#12209) PaperMC/Paper@a2b0ff06 Fix cancelling PlayerInteractEvent at (0, 0, 0) (#12215) PaperMC/Paper@df96f8a0 Correctly handle events for end portal (#12246) PaperMC/Paper@25654978 Cancel PlayerLaunchProjectileEvent properly for enderpearls (#12223) PaperMC/Paper@34c794dc ServerTickManager#requestGameToSprint - Silence command like feedback (#12220) --- gradle.properties | 2 +- .../files/src/main/java/org/bukkit/entity/Player.java.patch | 6 +++--- .../net/minecraft/server/level/ServerLevel.java.patch | 2 +- .../net/minecraft/world/item/EnderpearlItem.java.patch | 4 ++-- .../org/bukkit/craftbukkit/entity/CraftPlayer.java.patch | 6 +++--- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/gradle.properties b/gradle.properties index fa105cebb..fba37907f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ group = org.purpurmc.purpur version = 1.21.4-R0.1-SNAPSHOT mcVersion = 1.21.4 -paperCommit = ce3001621894ea775206abe455442d0aeeef3535 +paperCommit = 34c794dc51305e50c315e07e555a4ba10c208357 org.gradle.configuration-cache = true org.gradle.caching = true diff --git a/purpur-api/paper-patches/files/src/main/java/org/bukkit/entity/Player.java.patch b/purpur-api/paper-patches/files/src/main/java/org/bukkit/entity/Player.java.patch index ed10b708d..8998eac18 100644 --- a/purpur-api/paper-patches/files/src/main/java/org/bukkit/entity/Player.java.patch +++ b/purpur-api/paper-patches/files/src/main/java/org/bukkit/entity/Player.java.patch @@ -1,9 +1,9 @@ --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -3902,4 +_,123 @@ - * @return the result of this method, holding leftovers and spawned items. +@@ -3918,4 +_,123 @@ + * @param score New death screen score of player */ - PlayerGiveResult give(Collection items, boolean dropIfFull); + void setDeathScreenScore(int score); + + // Purpur start + /** diff --git a/purpur-server/minecraft-patches/sources/net/minecraft/server/level/ServerLevel.java.patch b/purpur-server/minecraft-patches/sources/net/minecraft/server/level/ServerLevel.java.patch index 40252d7fa..cced43f51 100644 --- a/purpur-server/minecraft-patches/sources/net/minecraft/server/level/ServerLevel.java.patch +++ b/purpur-server/minecraft-patches/sources/net/minecraft/server/level/ServerLevel.java.patch @@ -161,7 +161,7 @@ this.serverLevelData.setThundering(false, org.bukkit.event.weather.ThunderChangeEvent.Cause.SLEEP); // Paper - Add cause to Weather/ThunderChangeEvents // CraftBukkit start // If we stop due to everyone sleeping we should reset the weather duration to some other random value. -@@ -2678,7 +_,7 @@ +@@ -2679,7 +_,7 @@ // Spigot start if (entity.getBukkitEntity() instanceof org.bukkit.inventory.InventoryHolder && (!(entity instanceof ServerPlayer) || entity.getRemovalReason() != Entity.RemovalReason.KILLED)) { // SPIGOT-6876: closeInventory clears death message // Paper start - Fix merchant inventory not closing on entity removal diff --git a/purpur-server/minecraft-patches/sources/net/minecraft/world/item/EnderpearlItem.java.patch b/purpur-server/minecraft-patches/sources/net/minecraft/world/item/EnderpearlItem.java.patch index faeb98db1..de340dafe 100644 --- a/purpur-server/minecraft-patches/sources/net/minecraft/world/item/EnderpearlItem.java.patch +++ b/purpur-server/minecraft-patches/sources/net/minecraft/world/item/EnderpearlItem.java.patch @@ -15,5 +15,5 @@ player.awardStat(Stats.ITEM_USED.get(this)); + player.getCooldowns().addCooldown(itemInHand, player.getAbilities().instabuild ? level.purpurConfig.enderPearlCooldownCreative : level.purpurConfig.enderPearlCooldown); // Purpur - Configurable Ender Pearl cooldown } else { - // Paper end - PlayerLaunchProjectileEvent - player.containerMenu.sendAllDataToRemote(); + if (player instanceof net.minecraft.server.level.ServerPlayer serverPlayer) { + serverPlayer.deregisterEnderPearl(thrownEnderpearl.projectile()); diff --git a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java.patch b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java.patch index 3400f22bf..705955ccc 100644 --- a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java.patch +++ b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java.patch @@ -46,9 +46,9 @@ private void validateSpeed(float value) { Preconditions.checkArgument(value <= 1f && value >= -1f, "Speed value (%s) need to be between -1f and 1f", value); } -@@ -3599,4 +_,76 @@ - - return forwardMovement == backwardMovement ? 0 : forwardMovement ? 1 : -1; +@@ -3606,4 +_,76 @@ + public void setDeathScreenScore(final int score) { + getHandle().setScore(score); } + + // Purpur start - Purpur client support