From cd3e87344dd36ec29a9f40e41f0ce65c2505bc78 Mon Sep 17 00:00:00 2001 From: granny Date: Sun, 19 Apr 2026 18:16:36 -0700 Subject: [PATCH] Updated Upstream (Paper) Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@0a3a73c1 Fix fireball entity class (#13676) PaperMC/Paper@0026eacf Remove unused config for `logging.deobfuscate-stacktraces` (#13778) PaperMC/Paper@392e594c Fix EntityLungeEvent#setLungePower being ignored (#13784) PaperMC/Paper@144a7c7f Add missing deprecation for Material#getCreativeCategory (#13686) PaperMC/Paper@0c79f00b Improve GameRule API (#13668) PaperMC/Paper@c58cba39 Port blockstate validation patch (#13786) PaperMC/Paper@04ee8eac Remove Paper config unsupported-settings.compression-format (#13800) PaperMC/Paper@dd0810c4 Skip inactive AI ticks for unaware mobs (#13781) PaperMC/Paper@d0be5e20 Call BlockFadeEvent for FrostedIce (#13764) PaperMC/Paper@66d3bbed Update frosted ice patch for 26.1 --- gradle.properties | 2 +- .../src/main/java/org/bukkit/Material.java.patch | 2 +- .../files/src/main/java/org/bukkit/World.java.patch | 2 +- .../minecraft-patches/features/0001-Ridables.patch | 10 +++++----- ...mobGriefing-override-to-everything-affected.patch | 4 ++-- .../0017-API-for-any-mob-to-burn-daylight.patch | 6 +++--- ...1-Per-mob-mob_griefing-loot-pickup-override.patch | 8 ++++---- .../net/minecraft/world/entity/Mob.java.patch | 12 ++++++------ .../0005-Setting-to-reintroduce-end-void-rings.patch | 6 +++--- .../org/bukkit/craftbukkit/CraftWorld.java.patch | 2 +- 10 files changed, 27 insertions(+), 27 deletions(-) diff --git a/gradle.properties b/gradle.properties index d4a2bf20b..3c29c7309 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,7 +3,7 @@ group = org.purpurmc.purpur mcVersion = 26.1.2 apiVersion = 26.1.2 channel=EXPERIMENTAL -paperCommit = 02ec8e9585c44d0ccbdf28495890308e25c045cb +paperCommit = 66d3bbed3878387649d4b9f72e78780e33b2d85d org.gradle.configuration-cache = true org.gradle.caching = true diff --git a/purpur-api/paper-patches/files/src/main/java/org/bukkit/Material.java.patch b/purpur-api/paper-patches/files/src/main/java/org/bukkit/Material.java.patch index fc2f269ea..24bf01726 100644 --- a/purpur-api/paper-patches/files/src/main/java/org/bukkit/Material.java.patch +++ b/purpur-api/paper-patches/files/src/main/java/org/bukkit/Material.java.patch @@ -1,6 +1,6 @@ --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -3705,4 +_,40 @@ +@@ -3707,4 +_,40 @@ return this.asItemType().getDefaultDataTypes(); } // Paper end - data component API diff --git a/purpur-api/paper-patches/files/src/main/java/org/bukkit/World.java.patch b/purpur-api/paper-patches/files/src/main/java/org/bukkit/World.java.patch index 09ebcaa71..2cfee824f 100644 --- a/purpur-api/paper-patches/files/src/main/java/org/bukkit/World.java.patch +++ b/purpur-api/paper-patches/files/src/main/java/org/bukkit/World.java.patch @@ -1,6 +1,6 @@ --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -4467,6 +_,100 @@ +@@ -4469,6 +_,100 @@ @Nullable public DragonBattle getEnderDragonBattle(); diff --git a/purpur-server/minecraft-patches/features/0001-Ridables.patch b/purpur-server/minecraft-patches/features/0001-Ridables.patch index 2ea107c7b..d2fba5825 100644 --- a/purpur-server/minecraft-patches/features/0001-Ridables.patch +++ b/purpur-server/minecraft-patches/features/0001-Ridables.patch @@ -243,7 +243,7 @@ index 2057dacb7b48feae232d4f651104dd60ea9dc9c0..40f3e802ca9a9ca9977ce32a24bc56af // Paper end - Add EntityMoveEvent if (this.level() instanceof ServerLevel serverLevel && this.isSensitiveToWater() && this.isInWaterOrRain()) { diff --git a/net/minecraft/world/entity/Mob.java b/net/minecraft/world/entity/Mob.java -index 1e4f5bb32482b1e6510ab0322b42d2619f4a6c09..4c419772d7270dedf3d27d7147444decae2729d1 100644 +index f09a3510a377d749f21bef4cbb604be45cfb3090..542ee720980f1bf8408bc150612f9a96f80a594c 100644 --- a/net/minecraft/world/entity/Mob.java +++ b/net/minecraft/world/entity/Mob.java @@ -156,8 +156,8 @@ public abstract class Mob extends LivingEntity implements Targeting, EquipmentUs @@ -257,7 +257,7 @@ index 1e4f5bb32482b1e6510ab0322b42d2619f4a6c09..4c419772d7270dedf3d27d7147444dec this.jumpControl = new JumpControl(this); this.bodyRotationControl = this.createBodyControl(); this.navigation = this.createNavigation(level); -@@ -602,6 +602,7 @@ public abstract class Mob extends LivingEntity implements Targeting, EquipmentUs +@@ -603,6 +603,7 @@ public abstract class Mob extends LivingEntity implements Targeting, EquipmentUs } } } else { @@ -265,7 +265,7 @@ index 1e4f5bb32482b1e6510ab0322b42d2619f4a6c09..4c419772d7270dedf3d27d7147444dec this.igniteForSeconds(8.0F); } } -@@ -1366,7 +1367,7 @@ public abstract class Mob extends LivingEntity implements Targeting, EquipmentUs +@@ -1367,7 +1368,7 @@ public abstract class Mob extends LivingEntity implements Targeting, EquipmentUs } protected InteractionResult mobInteract(final Player player, final InteractionHand hand) { @@ -274,7 +274,7 @@ index 1e4f5bb32482b1e6510ab0322b42d2619f4a6c09..4c419772d7270dedf3d27d7147444dec } protected void usePlayerItem(final Player player, final InteractionHand hand, final ItemStack itemStack) { -@@ -1709,4 +1710,58 @@ public abstract class Mob extends LivingEntity implements Targeting, EquipmentUs +@@ -1710,4 +1711,58 @@ public abstract class Mob extends LivingEntity implements Targeting, EquipmentUs public float chargeSpeedModifier() { return 1.0F; } @@ -5082,7 +5082,7 @@ index 2d294595b2d9e4daaf221482514329126d59f077..eb3ec4314603f61a041740d5b5e52165 protected void addBehaviourGoals() { this.goalSelector.addGoal(1, new SpearUseGoal<>(this, 1.0, 1.0, 10.0F, 2.0F)); diff --git a/net/minecraft/world/entity/npc/villager/Villager.java b/net/minecraft/world/entity/npc/villager/Villager.java -index 2dfcda843aae7dbefce7fc232889f2713a2dac05..af194ac19c110b9a69967631ca189494a166b55b 100644 +index b46ce266b57670dfaaf9adb251ff32ad9e862766..c73f48509a060a05f9f9c3062dbbcbcde9b0ec71 100644 --- a/net/minecraft/world/entity/npc/villager/Villager.java +++ b/net/minecraft/world/entity/npc/villager/Villager.java @@ -252,6 +252,28 @@ public class Villager extends AbstractVillager implements VillagerDataHolder, Re diff --git a/purpur-server/minecraft-patches/features/0015-Add-mobGriefing-override-to-everything-affected.patch b/purpur-server/minecraft-patches/features/0015-Add-mobGriefing-override-to-everything-affected.patch index 25afc59f9..11e98a85f 100644 --- a/purpur-server/minecraft-patches/features/0015-Add-mobGriefing-override-to-everything-affected.patch +++ b/purpur-server/minecraft-patches/features/0015-Add-mobGriefing-override-to-everything-affected.patch @@ -18,10 +18,10 @@ index fd20156ba4319778323756485557b3dbc32b09c1..5ce6af2b5b22f439aa747d937f0baef7 BlockState state = Blocks.WITHER_ROSE.defaultBlockState(); if (this.level().getBlockState(pos).isAir() && state.canSurvive(this.level(), pos)) { diff --git a/net/minecraft/world/entity/Mob.java b/net/minecraft/world/entity/Mob.java -index 4c419772d7270dedf3d27d7147444decae2729d1..7fe31c03780625ead30d4e629da4cca3bcf5b18c 100644 +index 542ee720980f1bf8408bc150612f9a96f80a594c..6847463312a41f30cbca4116bfe5c9f2b56a451d 100644 --- a/net/minecraft/world/entity/Mob.java +++ b/net/minecraft/world/entity/Mob.java -@@ -565,7 +565,7 @@ public abstract class Mob extends LivingEntity implements Targeting, EquipmentUs +@@ -566,7 +566,7 @@ public abstract class Mob extends LivingEntity implements Targeting, EquipmentUs && this.canPickUpLoot() && this.isAlive() && !this.dead diff --git a/purpur-server/minecraft-patches/features/0017-API-for-any-mob-to-burn-daylight.patch b/purpur-server/minecraft-patches/features/0017-API-for-any-mob-to-burn-daylight.patch index 7cfffcce7..c36b49d3f 100644 --- a/purpur-server/minecraft-patches/features/0017-API-for-any-mob-to-burn-daylight.patch +++ b/purpur-server/minecraft-patches/features/0017-API-for-any-mob-to-burn-daylight.patch @@ -98,10 +98,10 @@ index 5ce6af2b5b22f439aa747d937f0baef7c2479635..6f26248e50eaa14a881b500e396a817b protected void applyInput() { diff --git a/net/minecraft/world/entity/Mob.java b/net/minecraft/world/entity/Mob.java -index 7fe31c03780625ead30d4e629da4cca3bcf5b18c..6651a03adb5cb18db71d814b57d2d754497cc782 100644 +index 6847463312a41f30cbca4116bfe5c9f2b56a451d..e367b708fb22f82aa315d38f4fb0a90c9f5f5ac7 100644 --- a/net/minecraft/world/entity/Mob.java +++ b/net/minecraft/world/entity/Mob.java -@@ -555,9 +555,9 @@ public abstract class Mob extends LivingEntity implements Targeting, EquipmentUs +@@ -556,9 +556,9 @@ public abstract class Mob extends LivingEntity implements Targeting, EquipmentUs @Override public void aiStep() { super.aiStep(); @@ -113,7 +113,7 @@ index 7fe31c03780625ead30d4e629da4cca3bcf5b18c..6651a03adb5cb18db71d814b57d2d754 ProfilerFiller profiler = Profiler.get(); profiler.push("looting"); -@@ -609,16 +609,8 @@ public abstract class Mob extends LivingEntity implements Targeting, EquipmentUs +@@ -610,16 +610,8 @@ public abstract class Mob extends LivingEntity implements Targeting, EquipmentUs } public boolean isSunBurnTick() { diff --git a/purpur-server/minecraft-patches/features/0021-Per-mob-mob_griefing-loot-pickup-override.patch b/purpur-server/minecraft-patches/features/0021-Per-mob-mob_griefing-loot-pickup-override.patch index e04aa8bee..aed789654 100644 --- a/purpur-server/minecraft-patches/features/0021-Per-mob-mob_griefing-loot-pickup-override.patch +++ b/purpur-server/minecraft-patches/features/0021-Per-mob-mob_griefing-loot-pickup-override.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Per mob mob_griefing loot pickup override diff --git a/net/minecraft/world/entity/Mob.java b/net/minecraft/world/entity/Mob.java -index 6651a03adb5cb18db71d814b57d2d754497cc782..eda42a44b69f9aece81a71b2e4d3fa009ed80629 100644 +index e367b708fb22f82aa315d38f4fb0a90c9f5f5ac7..9444390caf0a5a39ffb3474bf248c3a87d02ce76 100644 --- a/net/minecraft/world/entity/Mob.java +++ b/net/minecraft/world/entity/Mob.java -@@ -565,7 +565,7 @@ public abstract class Mob extends LivingEntity implements Targeting, EquipmentUs +@@ -566,7 +566,7 @@ public abstract class Mob extends LivingEntity implements Targeting, EquipmentUs && this.canPickUpLoot() && this.isAlive() && !this.dead @@ -17,7 +17,7 @@ index 6651a03adb5cb18db71d814b57d2d754497cc782..eda42a44b69f9aece81a71b2e4d3fa00 Vec3i pickupReach = this.getPickupReach(); for (ItemEntity entity : this.level() -@@ -584,6 +584,12 @@ public abstract class Mob extends LivingEntity implements Targeting, EquipmentUs +@@ -585,6 +585,12 @@ public abstract class Mob extends LivingEntity implements Targeting, EquipmentUs profiler.pop(); } @@ -310,7 +310,7 @@ index 9e893c0c033dcc2273275b92048d9b1a941d93f2..54ba4d2e8305e2d9ba0c9e71bae67bfd protected void addBehaviourGoals() { this.goalSelector.addGoal(1, new SpearUseGoal<>(this, 1.0, 1.0, 10.0F, 2.0F)); diff --git a/net/minecraft/world/entity/npc/villager/Villager.java b/net/minecraft/world/entity/npc/villager/Villager.java -index f439a0b0830e74be8c123a5b2e55933671715f74..04b1c33e485511b2ddc169f2efdc89b5011e2f25 100644 +index 639941474d8219273a318ebad22423ae7176c67a..b8817f5791560e8b1f8297eed7f932bb5c3d0974 100644 --- a/net/minecraft/world/entity/npc/villager/Villager.java +++ b/net/minecraft/world/entity/npc/villager/Villager.java @@ -298,6 +298,13 @@ public class Villager extends AbstractVillager implements VillagerDataHolder, Re diff --git a/purpur-server/minecraft-patches/sources/net/minecraft/world/entity/Mob.java.patch b/purpur-server/minecraft-patches/sources/net/minecraft/world/entity/Mob.java.patch index 4f02f69bd..19c485a33 100644 --- a/purpur-server/minecraft-patches/sources/net/minecraft/world/entity/Mob.java.patch +++ b/purpur-server/minecraft-patches/sources/net/minecraft/world/entity/Mob.java.patch @@ -8,7 +8,7 @@ protected Mob(final EntityType type, final Level level) { super(type, level); -@@ -303,6 +_,7 @@ +@@ -304,6 +_,7 @@ target = null; } } @@ -16,7 +16,7 @@ this.target = target; return true; // CraftBukkit end -@@ -346,7 +_,27 @@ +@@ -347,7 +_,27 @@ } profiler.pop(); @@ -45,7 +45,7 @@ @Override protected void playHurtSound(final DamageSource source) { -@@ -450,6 +_,7 @@ +@@ -451,6 +_,7 @@ output.putString("Paper.DespawnInPeacefulOverride", this.despawnInPeacefulOverride.name()); } // Paper end - allow changing despawnInPeaceful @@ -53,7 +53,7 @@ } @Override -@@ -477,6 +_,7 @@ +@@ -478,6 +_,7 @@ this.lootTableSeed = input.getLongOr("DeathLootTableSeed", 0L); this.setNoAi(input.getBooleanOr("NoAI", false)); this.aware = input.getBooleanOr("Bukkit.Aware", true); // CraftBukkit @@ -61,7 +61,7 @@ // Paper start - allow changing despawnInPeaceful this.despawnInPeacefulOverride = readDespawnInPeacefulOverride(input); } -@@ -1255,7 +_,7 @@ +@@ -1256,7 +_,7 @@ ); } @@ -70,7 +70,7 @@ return groupData; } -@@ -1612,6 +_,7 @@ +@@ -1613,6 +_,7 @@ } this.postPiercingAttack(); diff --git a/purpur-server/paper-patches/features/0005-Setting-to-reintroduce-end-void-rings.patch b/purpur-server/paper-patches/features/0005-Setting-to-reintroduce-end-void-rings.patch index 191723b3c..2244e5641 100644 --- a/purpur-server/paper-patches/features/0005-Setting-to-reintroduce-end-void-rings.patch +++ b/purpur-server/paper-patches/features/0005-Setting-to-reintroduce-end-void-rings.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Setting to reintroduce end void rings diff --git a/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java b/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java -index e47f279b66b169e2cdf762bb739a261f2acebeb1..cc1906ef871de6a4ff82039d8ddfcd764139f37d 100644 +index 569b46cce9d5207380a9391e969e3a6aa790717b..a0cf70f1ccbb78f058e8ac5fc95bcb5b03300cdc 100644 --- a/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java +++ b/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java -@@ -303,6 +303,7 @@ public class GlobalConfiguration extends ConfigurationPart { +@@ -288,6 +288,7 @@ public class GlobalConfiguration extends ConfigurationPart { } } @@ -16,7 +16,7 @@ index e47f279b66b169e2cdf762bb739a261f2acebeb1..cc1906ef871de6a4ff82039d8ddfcd76 public Misc misc; public class Misc extends ConfigurationPart { -@@ -349,6 +350,7 @@ public class GlobalConfiguration extends ConfigurationPart { +@@ -334,6 +335,7 @@ public class GlobalConfiguration extends ConfigurationPart { @Comment("Whether the nether dimension is enabled and will be loaded.") public boolean enableNether = true; @Comment("Keeps Paper's fix for MC-159283 enabled. Disable to use vanilla End ring terrain.") diff --git a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/CraftWorld.java.patch b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/CraftWorld.java.patch index 1062d8cbf..b613daea7 100644 --- a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/CraftWorld.java.patch +++ b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/CraftWorld.java.patch @@ -1,6 +1,6 @@ --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1920,6 +_,52 @@ +@@ -1902,6 +_,52 @@ return (this.getHandle().getDragonFight() == null) ? null : new CraftDragonBattle(this.getHandle().getDragonFight()); }