From 17c5a7777327db35cf1254cd75d432e8e163dd0a Mon Sep 17 00:00:00 2001 From: granny Date: Sat, 10 Feb 2024 02:48:26 -0800 Subject: [PATCH] Updated Upstream (Paper) Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@934cd77 Lifecycle Event System (#9629) PaperMC/Paper@534659e Fix NotNull locales (#10216) PaperMC/Paper@9c04729 Add Arrow/Stinger Removal Time API (#10193) PaperMC/Paper@69b52b4 Check for server JARs in plugin directory (#10228) PaperMC/Paper@cbe62d9 Add Conduit API (#10195) PaperMC/Paper@97c0120 Fix fox drops on death (#8862) PaperMC/Paper@581fb30 itemstack expose tooltip lines (#10185) --- gradle.properties | 2 +- .../0013-LivingEntity-safeFallDistance.patch | 4 +-- .../0017-ItemStack-convenience-methods.patch | 8 ++--- ...0018-LivingEntity-broadcastItemBreak.patch | 4 +-- ...027-API-for-any-mob-to-burn-daylight.patch | 6 ++-- patches/api/0051-Add-hover-lines-API.patch | 4 +-- .../0001-Pufferfish-Server-Changes.patch | 8 ++--- patches/server/0002-Rebrand.patch | 10 +++--- patches/server/0004-Purpur-config-files.patch | 10 +++--- patches/server/0008-Ridables.patch | 14 ++++---- .../server/0013-Bring-back-server-name.patch | 4 +-- .../0015-LivingEntity-safeFallDistance.patch | 4 +-- patches/server/0016-Lagging-threshold.patch | 6 ++-- .../server/0029-Tulips-change-fox-type.patch | 6 ++-- .../0050-Allow-leashing-villagers.patch | 6 ++-- ...ispenser-curse-of-binding-protection.patch | 6 ++-- ...0059-Add-5-second-tps-average-in-tps.patch | 6 ++-- patches/server/0072-Entity-lifespan.patch | 4 +-- ...0087-LivingEntity-broadcastItemBreak.patch | 4 +-- ...e-entity-breeding-times-configurable.patch | 32 +++++++++---------- ...07-Changeable-Mob-Left-Handed-Chance.patch | 6 ++-- ...iefing-bypass-to-everything-affected.patch | 6 ++-- ...173-API-for-any-mob-to-burn-daylight.patch | 8 ++--- .../0204-Conduit-behavior-configuration.patch | 19 +++++++++-- ...the-ability-to-add-combustible-items.patch | 4 +-- ...fig-for-mob-last-hurt-by-player-time.patch | 8 ++--- patches/server/0268-Debug-Marker-API.patch | 4 +-- 27 files changed, 108 insertions(+), 95 deletions(-) diff --git a/gradle.properties b/gradle.properties index ffb205d63..c345dab0c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ group = org.purpurmc.purpur version = 1.20.4-R0.1-SNAPSHOT mcVersion = 1.20.4 -paperCommit = 9e171ef8ff0a0ec57ebc75772fc9de578c987059 +paperCommit = 581fb30a4c80a8b10e41ddb0801747da53f57e62 org.gradle.caching = true org.gradle.parallel = true diff --git a/patches/api/0013-LivingEntity-safeFallDistance.patch b/patches/api/0013-LivingEntity-safeFallDistance.patch index a373249ab..e793f0ec4 100644 --- a/patches/api/0013-LivingEntity-safeFallDistance.patch +++ b/patches/api/0013-LivingEntity-safeFallDistance.patch @@ -5,10 +5,10 @@ Subject: [PATCH] LivingEntity safeFallDistance diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java -index 47b0154928b3d36e2602da202df07defbcf82108..d34ef2581a7f51eb484994253e3307b7952751cc 100644 +index e67455efc84f1e06d3396291d104ce65fee4591b..11194fc3c63ed301d281fc4b41c4d80bbf3d9e27 100644 --- a/src/main/java/org/bukkit/entity/LivingEntity.java +++ b/src/main/java/org/bukkit/entity/LivingEntity.java -@@ -1276,4 +1276,20 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource +@@ -1310,4 +1310,20 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource */ void setBodyYaw(float bodyYaw); // Paper end diff --git a/patches/api/0017-ItemStack-convenience-methods.patch b/patches/api/0017-ItemStack-convenience-methods.patch index 442fdc67d..2aceddef5 100644 --- a/patches/api/0017-ItemStack-convenience-methods.patch +++ b/patches/api/0017-ItemStack-convenience-methods.patch @@ -50,7 +50,7 @@ index f9af60356da4668cec8b24e73f5747ab82e35a91..b304ad1307cdd6785653b1eab9781e07 + // Purpur end } diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index 7adf54c561d64e6337af8a2d86f6b574b083edb5..c4c5c01132a5a43e78d004e6fc223aabc917f073 100644 +index 245a730a54c4b241a9a67eccceefafd2763bd238..414e350e486a23260675778800576738fc843ed8 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java @@ -17,6 +17,18 @@ import org.bukkit.inventory.meta.ItemMeta; @@ -72,10 +72,10 @@ index 7adf54c561d64e6337af8a2d86f6b574b083edb5..c4c5c01132a5a43e78d004e6fc223aab /** * Represents a stack of items. -@@ -1016,4 +1028,626 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat - return type.isAir() || amount <= 0; +@@ -1033,4 +1045,626 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat + return Bukkit.getUnsafe().computeTooltipLines(this, tooltipContext, player); } - // Paper end + // Paper end - expose itemstack tooltip lines + + // Purpur start + /** diff --git a/patches/api/0018-LivingEntity-broadcastItemBreak.patch b/patches/api/0018-LivingEntity-broadcastItemBreak.patch index 9cf9f9daf..375c9b787 100644 --- a/patches/api/0018-LivingEntity-broadcastItemBreak.patch +++ b/patches/api/0018-LivingEntity-broadcastItemBreak.patch @@ -5,10 +5,10 @@ Subject: [PATCH] LivingEntity#broadcastItemBreak diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java -index d34ef2581a7f51eb484994253e3307b7952751cc..11493047fd7bbceed1b566bf0aae8790e4291601 100644 +index 11194fc3c63ed301d281fc4b41c4d80bbf3d9e27..229edcfb9de39e2ef10597c1d65044f26eaeba48 100644 --- a/src/main/java/org/bukkit/entity/LivingEntity.java +++ b/src/main/java/org/bukkit/entity/LivingEntity.java -@@ -1291,5 +1291,12 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource +@@ -1325,5 +1325,12 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource * @param safeFallDistance Safe fall distance */ void setSafeFallDistance(float safeFallDistance); diff --git a/patches/api/0027-API-for-any-mob-to-burn-daylight.patch b/patches/api/0027-API-for-any-mob-to-burn-daylight.patch index f0d81eede..bf8a2270e 100644 --- a/patches/api/0027-API-for-any-mob-to-burn-daylight.patch +++ b/patches/api/0027-API-for-any-mob-to-burn-daylight.patch @@ -6,7 +6,7 @@ Subject: [PATCH] API for any mob to burn daylight Co-authored by: Encode42 diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java -index 566c74756c66db859a4f738a7716a61d012c6df1..c20f29e1ddfd1d73df19f6d6f730fa23dc23dc7a 100644 +index 8cca7e7128e2438372b5c802f76bdd14d86d874c..d3a0df7b895898578a7473c4c4b4f71694fc2bb2 100644 --- a/src/main/java/org/bukkit/entity/Entity.java +++ b/src/main/java/org/bukkit/entity/Entity.java @@ -1137,5 +1137,12 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent @@ -23,10 +23,10 @@ index 566c74756c66db859a4f738a7716a61d012c6df1..c20f29e1ddfd1d73df19f6d6f730fa23 // Purpur end } diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java -index 11493047fd7bbceed1b566bf0aae8790e4291601..7498179f6df47008c4da6ad6d67b2ce16f49e7a6 100644 +index 229edcfb9de39e2ef10597c1d65044f26eaeba48..744b869c028324d5de30d2d64ab080b050fa3c47 100644 --- a/src/main/java/org/bukkit/entity/LivingEntity.java +++ b/src/main/java/org/bukkit/entity/LivingEntity.java -@@ -1298,5 +1298,19 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource +@@ -1332,5 +1332,19 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource * @param slot Equipment slot to play break animation for */ void broadcastItemBreak(@NotNull org.bukkit.inventory.EquipmentSlot slot); diff --git a/patches/api/0051-Add-hover-lines-API.patch b/patches/api/0051-Add-hover-lines-API.patch index 8d985f7ee..3508ee4e8 100644 --- a/patches/api/0051-Add-hover-lines-API.patch +++ b/patches/api/0051-Add-hover-lines-API.patch @@ -24,10 +24,10 @@ index f680545b6b59bf8d2ad154b0472dda4cba42a162..58a62ba0635f9158bf18043da89aba75 + // Purpur end } diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index c4c5c01132a5a43e78d004e6fc223aabc917f073..d4f54956554ff66212f4f22dd21c69513ac14e0b 100644 +index 414e350e486a23260675778800576738fc843ed8..54dd0bd043a37f6519fc8a318856a4825d389669 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -1649,5 +1649,14 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat +@@ -1666,5 +1666,14 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat } return random.nextInt(unbreaking + 1) > 0; } diff --git a/patches/server/0001-Pufferfish-Server-Changes.patch b/patches/server/0001-Pufferfish-Server-Changes.patch index 3f72d2d7e..df64be91d 100644 --- a/patches/server/0001-Pufferfish-Server-Changes.patch +++ b/patches/server/0001-Pufferfish-Server-Changes.patch @@ -2136,7 +2136,7 @@ index 6523795e715e5d472739e9bc6433143115c3de8f..317ff325f0a30d9ed83d3049cf96c538 if (this.isSpectator()) { return false; diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 24629412d2b4acaa81788ce70412b03387cc777c..a181a298334212847166409a2121476ba5871cb2 100644 +index 209090870e1a4aa2f59cfa2e29419dbcc9665635..195c86a52b1757c7aadf45babc52bfef58de1dc3 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java @@ -221,14 +221,16 @@ public abstract class Mob extends LivingEntity implements Targeting { @@ -3271,7 +3271,7 @@ index ebe65474a4a05ff1637d7f37ebcfe690af59def5..42142c512b12e5b269c19f1e821c50e7 @Nullable diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 4df3b94c8126f00188f5e125757411a0359728fa..b69c1af655a26615982f0256626bc8c9992bf694 100644 +index 14d3986ae6ec721f07dc82b37d62d3bea484ad15..694995883b68bbea05e0a31b9aac413353721657 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -264,7 +264,7 @@ import javax.annotation.Nullable; // Paper @@ -3283,7 +3283,7 @@ index 4df3b94c8126f00188f5e125757411a0359728fa..b69c1af655a26615982f0256626bc8c9 private final String serverVersion; private final String bukkitVersion = Versioning.getBukkitVersion(); private final Logger logger = Logger.getLogger("Minecraft"); -@@ -1120,6 +1120,11 @@ public final class CraftServer implements Server { +@@ -1125,6 +1125,11 @@ public final class CraftServer implements Server { plugin.getPluginMeta().getDisplayName(), "This plugin is not properly shutting down its async tasks when it is being shut down. This task may throw errors during the final shutdown logs and might not complete before process dies." )); @@ -3308,7 +3308,7 @@ index 96d772eb02f79f8c478f5e6f065e387aa7665b18..c5ce412f321b8b4f31cc042893659e21 } } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index ca5312febcdd467889ad725c0263367bc5fe69f6..91992a5e329ea335d9e60543f9636cb5c3620a0e 100644 +index 8036ed91714d638eb2a8e8c2bea4bf62bc18cb57..604c7a270349b440c87b92ab51e5aab5cdde15e2 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -482,7 +482,7 @@ public final class CraftMagicNumbers implements UnsafeValues { diff --git a/patches/server/0002-Rebrand.patch b/patches/server/0002-Rebrand.patch index cc40cc85f..891e6af7f 100644 --- a/patches/server/0002-Rebrand.patch +++ b/patches/server/0002-Rebrand.patch @@ -177,7 +177,7 @@ index 99c5038672b09d0874125e3df280174c1e8151e6..f91ea723a1c85f6cf8c4f6dd7f182b94 stringbuilder.append(CrashReport.getErrorComment()); stringbuilder.append("\n\n"); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 1dc91ef47d336abe06be1cfd90e8164605e5f37e..efebfd62ec415ca47cb116ab66a24478489fe080 100644 +index d1c21d36de331905aedb08b0a8d4fbf97e100a13..a6d3f90f7867cfbda0ef406ff3ce1bd8b9f787b0 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -953,7 +953,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { @@ -1154,7 +1154,7 @@ index 287e52dc844c2a64dac74dad117b775f46631157..9133fc6cf8ecc5670b5c3745c8824303 this.targetSelector.addGoal(3, new Fox.DefendTrustedTargetGoal(LivingEntity.class, false, false, (entityliving) -> { return Fox.TRUSTED_TARGET_SELECTOR.test(entityliving) && !this.trusts(entityliving.getUUID()); })); -@@ -769,16 +809,16 @@ public class Fox extends Animal implements VariantHolder { +@@ -781,16 +821,16 @@ public class Fox extends Animal implements VariantHolder { return new Vec3(0.0D, (double) (0.55F * this.getEyeHeight()), (double) (this.getBbWidth() * 0.4F)); } @@ -1174,7 +1174,7 @@ index 287e52dc844c2a64dac74dad117b775f46631157..9133fc6cf8ecc5670b5c3745c8824303 } } -@@ -789,16 +829,16 @@ public class Fox extends Animal implements VariantHolder { +@@ -801,16 +841,16 @@ public class Fox extends Animal implements VariantHolder { } } diff --git a/patches/server/0013-Bring-back-server-name.patch b/patches/server/0013-Bring-back-server-name.patch index da5c0660f..1a0707a36 100644 --- a/patches/server/0013-Bring-back-server-name.patch +++ b/patches/server/0013-Bring-back-server-name.patch @@ -17,10 +17,10 @@ index bab2471616404821671264ccefd729cab8d0bf58..ae75edfaa9e4c72f11fbb7ffc66294be public final boolean spawnNpcs = this.get("spawn-npcs", true); public final boolean pvp = this.get("pvp", true); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 2f0b2807b35c4d3a172e85fb8b60ef8b764ca48e..86843c71839e56e9c67eefc2604d7020688dc6f3 100644 +index c0460e51363649d8f635e4c34a76062f69baaa08..b0b8c77473d1e81c753cc657c90d8fbdbdda9570 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -3247,4 +3247,11 @@ public final class CraftServer implements Server { +@@ -3252,4 +3252,11 @@ public final class CraftServer implements Server { } // Paper end diff --git a/patches/server/0015-LivingEntity-safeFallDistance.patch b/patches/server/0015-LivingEntity-safeFallDistance.patch index 4aa52fe41..574f9911c 100644 --- a/patches/server/0015-LivingEntity-safeFallDistance.patch +++ b/patches/server/0015-LivingEntity-safeFallDistance.patch @@ -69,10 +69,10 @@ index 2a30499fd6f4a1340f6911f0f7f079bcbe8576a3..c3c0fbe71c9af1125c80698865cb9eaf // Purpur start diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index ea966037755ba552dc6cf2f4792e9d23f0e77b1c..32392a780eb078b792991c6f00b8eb161a3ff509 100644 +index 4a838de77a88d868266da286952990d898b95ee7..d78d47a7c8583d3a8c92883e6b2e44ea1d4b8d45 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -1118,4 +1118,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -1143,4 +1143,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { getHandle().knockback(strength, directionX, directionZ); }; // Paper end diff --git a/patches/server/0016-Lagging-threshold.patch b/patches/server/0016-Lagging-threshold.patch index c8b015c33..e96d07181 100644 --- a/patches/server/0016-Lagging-threshold.patch +++ b/patches/server/0016-Lagging-threshold.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Lagging threshold diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index bc90dd132e56dbc445261c27f4cd96a54d1ab8f1..c58a727c8bbff81e719ee2a3712dd3f397eee53e 100644 +index c90a488e41ef65b57818cd91403e65e5f5e19cd9..feece6ec8fda944e2fcbf7c59327d0a11d9b2885 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -308,6 +308,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop getTrustedUUIDs() { -@@ -762,6 +769,29 @@ public class Fox extends Animal implements VariantHolder { - return this.getTrustedUUIDs().contains(uuid); +@@ -769,6 +776,29 @@ public class Fox extends Animal implements VariantHolder { } + // Paper end + // Purpur start + @Override diff --git a/patches/server/0050-Allow-leashing-villagers.patch b/patches/server/0050-Allow-leashing-villagers.patch index 1b83a7452..d5715a798 100644 --- a/patches/server/0050-Allow-leashing-villagers.patch +++ b/patches/server/0050-Allow-leashing-villagers.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Allow leashing villagers diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 749de94a6e41d44a6041f67c7d0e2205e10a26ab..3cbfdb6cc09ef6fc13ecb110c751c93f93ab01bf 100644 +index 155e2c928edb63e15c36dd831051c08a8cf2a3fc..9101ac55f26f130e5d4aa4b4d4a4d5003a3d1043 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -1317,6 +1317,7 @@ public abstract class Mob extends LivingEntity implements Targeting { +@@ -1324,6 +1324,7 @@ public abstract class Mob extends LivingEntity implements Targeting { if (!this.isAlive()) { return InteractionResult.PASS; } else if (this.getLeashHolder() == player) { @@ -17,7 +17,7 @@ index 749de94a6e41d44a6041f67c7d0e2205e10a26ab..3cbfdb6cc09ef6fc13ecb110c751c93f // Paper start - Expand EntityUnleashEvent org.bukkit.event.player.PlayerUnleashEntityEvent event = CraftEventFactory.callPlayerUnleashEntityEvent(this, player, hand, !player.getAbilities().instabuild); diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java -index 3a9de6da37bf12a86723f185a9cfefde123047be..1c75cbd9f998829f200c9ad679b9cd0213915607 100644 +index ac8915163a7bf0bae24d7d40e9561a76a6ff02ef..7e8a0c818247b4d283e3451226db83a3bb35408b 100644 --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java @@ -185,6 +185,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler diff --git a/patches/server/0056-Dispenser-curse-of-binding-protection.patch b/patches/server/0056-Dispenser-curse-of-binding-protection.patch index 13d6c312c..7a72cdd65 100644 --- a/patches/server/0056-Dispenser-curse-of-binding-protection.patch +++ b/patches/server/0056-Dispenser-curse-of-binding-protection.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Dispenser curse of binding protection diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index c77da33c38ddb9a383cb39e8a8837e67cf545bda..a05a7cf2c28b62011a3477c5155a05a93ecab548 100644 +index 9101ac55f26f130e5d4aa4b4d4a4d5003a3d1043..e9b82e27730221778e38d3417d58484b139d40af 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java @@ -66,6 +66,7 @@ import net.minecraft.world.item.ProjectileWeaponItem; @@ -16,7 +16,7 @@ index c77da33c38ddb9a383cb39e8a8837e67cf545bda..a05a7cf2c28b62011a3477c5155a05a9 import net.minecraft.world.level.GameRules; import net.minecraft.world.level.ItemLike; import net.minecraft.world.level.Level; -@@ -1175,6 +1176,12 @@ public abstract class Mob extends LivingEntity implements Targeting { +@@ -1182,6 +1183,12 @@ public abstract class Mob extends LivingEntity implements Targeting { } @@ -43,7 +43,7 @@ index 42d87800a328f71c5127ce5599ca4c71cc9bb1cd..7868c2f7b563792f8902d9a77dca46e0 // CraftBukkit start Level world = pointer.level(); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index e39048f5dd6b54bd2488ac450fa2260a6c2754dd..4240c9ce3fec8ae6883fa5762e01349136fe4067 100644 +index cd320e5dd330accc51d5eef34ab9429c4dd9b05d..122d17a89ac88409eecfb5a51146e21bad3055cb 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -224,6 +224,11 @@ public class PurpurWorldConfig { diff --git a/patches/server/0059-Add-5-second-tps-average-in-tps.patch b/patches/server/0059-Add-5-second-tps-average-in-tps.patch index c0346af51..9437397de 100644 --- a/patches/server/0059-Add-5-second-tps-average-in-tps.patch +++ b/patches/server/0059-Add-5-second-tps-average-in-tps.patch @@ -18,7 +18,7 @@ index 039a86034928a5eb7aaa2d7ca76a7bddcca346bd..308f67d0616e2d6bb135258f1fda53cc } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 3bf8cea369eec31b59850c0eeabaa053ac9f2e7e..bbadd5e2611b919b6931277c0225e5bdc1d3baaf 100644 +index 904c87a7c21c7f0a159a3ddedfe750639946e4b1..7528aa9cdc7378536b9523c7d7f181fc9e254b35 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -303,7 +303,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { @@ -111,7 +111,7 @@ index d42c8bcd85ffb1e00d2883485bf22981611b0bc3..c501704251e5b23f697efc307ebdc906 protected void registerGoals() { this.goalSelector.addGoal(0, new FloatGoal(this)); diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java -index 88e26b2653eac1898f266b7c8f9f6e0fba422a52..fdab9a9ad76a0ad8f83ddbff278096637fd34a50 100644 +index 586d6453b45efc75b4c150707f9034576ad140e1..bc91862958fe18602d301f748ebeb73f65a4ee89 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Fox.java +++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java @@ -188,6 +188,11 @@ public class Fox extends Animal implements VariantHolder { @@ -126,7 +126,7 @@ index 88e26b2653eac1898f266b7c8f9f6e0fba422a52..fdab9a9ad76a0ad8f83ddbff27809663 @Override protected void defineSynchedData() { super.defineSynchedData(); -@@ -991,8 +996,10 @@ public class Fox extends Animal implements VariantHolder { +@@ -1003,8 +1008,10 @@ public class Fox extends Animal implements VariantHolder { CriteriaTriggers.BRED_ANIMALS.trigger(entityplayer2, this.animal, this.partner, entityfox); } @@ -140,7 +140,7 @@ index 88e26b2653eac1898f266b7c8f9f6e0fba422a52..fdab9a9ad76a0ad8f83ddbff27809663 this.partner.resetLove(); worldserver.addFreshEntityWithPassengers(entityfox, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.BREEDING); // CraftBukkit - added SpawnReason 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 c58b3ff4e7e5dba4543a77c2c4d9bad3911fba98..db0170fb22ee8424c29fc0d4f3c93c9eac79611c 100644 +index e21fc50313052fe38ad54e5b44b3739c881ccd22..56427c987439c2d6d5652dae0f2c0a72d4eba26e 100644 --- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java +++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java @@ -85,6 +85,11 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder getModelRotationValues() { return this.modelRotationValues; 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 909d32553ffd7a32f44f7201fdab850e4bcfdcc7..bfdd33beb8206c8b0c96aad5b5002c8db02ae912 100644 +index aace7991c198ccfe1338625e7b64b88921cefe0c..d1ada87d222e5b35c2df5a0e7b0075ec3413fa66 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 @@ -91,6 +91,10 @@ public class Camel extends AbstractHorse implements PlayerRideableJumping, Saddl @@ -346,7 +346,7 @@ index 156fd7b01853f4ad50235646a15893bb03d631b2..3be70e054c658d34c4aa598ff70c63fa protected Brain.Provider brainProvider() { return Brain.provider(MEMORY_TYPES, SENSOR_TYPES); diff --git a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java -index fef3b7d193d20c4fdd50b38c6a0371f05165a49d..93295d9683293121f2267350194f18e97b2421c2 100644 +index 961f808caa60aba70075572161bcb91cd7201008..0282498c7375a73b6982efb02f3cf3215f4211b0 100644 --- a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java +++ b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java @@ -109,6 +109,11 @@ public class Goat extends Animal { @@ -394,7 +394,7 @@ index 92339f5a07dcb6bf7eb1bce6d584464ebd8430b5..0251ded48eb5bdf96f0e67f6456aa159 protected void randomizeAttributes(RandomSource random) { this.getAttribute(Attributes.MAX_HEALTH).setBaseValue((double)generateMaxHealth(random::nextInt)); diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java -index 7b329fa3af99742d83eca7825e2da3b6e55431ee..6045f29c641d1958371c77701e9514d9ca44b85e 100644 +index b9b66f22ef39cb38bfb4dcbf4e73a0a7da596660..e11fc274f893d501235422839301a5128268199d 100644 --- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java @@ -140,6 +140,11 @@ public class Llama extends AbstractChestedHorse implements VariantHolder 0) { --this.nextStartTick; diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java -index 78558d24d0434fd6d90af81c38d8d9d03d79253f..292504cb09ac94f593fdde317030c7662f9e500c 100644 +index bc91862958fe18602d301f748ebeb73f65a4ee89..ef2f07cd030d66797cc00932ad61282c634e8047 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Fox.java +++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java -@@ -1385,7 +1385,7 @@ public class Fox extends Animal implements VariantHolder { +@@ -1397,7 +1397,7 @@ public class Fox extends Animal implements VariantHolder { } protected void onReachedTarget() { diff --git a/patches/server/0173-API-for-any-mob-to-burn-daylight.patch b/patches/server/0173-API-for-any-mob-to-burn-daylight.patch index 52c1e73e8..6af5547ba 100644 --- a/patches/server/0173-API-for-any-mob-to-burn-daylight.patch +++ b/patches/server/0173-API-for-any-mob-to-burn-daylight.patch @@ -92,10 +92,10 @@ index 4ef9f18b59c5ff6d0dc108e82db1ec17fccd79b8..a8d7992fc2d263f6898cf3025fa15cef public boolean isSensitiveToWater() { diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index de8c9905e4fec3d77501871ae3041860f1ce2e50..2cf0d698b341d418d0ac4760f95e3ea52c193098 100644 +index a20d7b26fa032539ea8d5534280d2402b866d339..86e070c18d8127d534d2614b61b5433ace946391 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -1758,17 +1758,7 @@ public abstract class Mob extends LivingEntity implements Targeting { +@@ -1765,17 +1765,7 @@ public abstract class Mob extends LivingEntity implements Targeting { } public boolean isSunBurnTick() { @@ -370,10 +370,10 @@ index a260e3768892dcf7ddd955cf8753d4d19cd2e8d3..9304a2d06400dfa244ddb4d9591de988 Preconditions.checkArgument(entity != null, "Unknown entity"); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 9bad55be51db41252f60fd976b2c1e54945a5b01..aa45eea710cdb4bd7aa0e12eacc879826b2e98c6 100644 +index a666498dd39e88d92e8bf46deb3a28e471cceedb..2e47e0d28407695569143e6c6bea4a160fa7ca45 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -1135,5 +1135,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -1160,5 +1160,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { if (slot == null) return; getHandle().broadcastBreakEvent(org.bukkit.craftbukkit.CraftEquipmentSlot.getNMS(slot)); } diff --git a/patches/server/0204-Conduit-behavior-configuration.patch b/patches/server/0204-Conduit-behavior-configuration.patch index bcb1b56cf..3373f512f 100644 --- a/patches/server/0204-Conduit-behavior-configuration.patch +++ b/patches/server/0204-Conduit-behavior-configuration.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Conduit behavior configuration diff --git a/src/main/java/net/minecraft/world/level/block/entity/ConduitBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/ConduitBlockEntity.java -index 963a596154091b79ca139af6274aa323518ad1ad..4dcac3899a500d8586580bcfd5b4516e1dcdcd4a 100644 +index 58f2619fab37a1e2d2093ca89f66f3a8bb47d192..bcf8a30786a1da86223244cb054cd01d81a61c61 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/ConduitBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/ConduitBlockEntity.java @@ -171,7 +171,7 @@ public class ConduitBlockEntity extends BlockEntity { @@ -21,8 +21,8 @@ index 963a596154091b79ca139af6274aa323518ad1ad..4dcac3899a500d8586580bcfd5b4516e private static void applyEffects(Level world, BlockPos pos, List activatingBlocks) { int i = activatingBlocks.size(); -- int j = i / 7 * 16; -+ int j = i / 7 * world.purpurConfig.conduitDistance; // Purpur +- int j = i / 7 * 16; // Paper - Conduit API; diff on change ++ int j = i / 7 * world.purpurConfig.conduitDistance; // Paper - Conduit API; diff on change // Purpur int k = pos.getX(); int l = pos.getY(); int i1 = pos.getZ(); @@ -76,6 +76,19 @@ index 963a596154091b79ca139af6274aa323518ad1ad..4dcac3899a500d8586580bcfd5b4516e return entityliving.getUUID().equals(uuid); }); +diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftConduit.java b/src/main/java/org/bukkit/craftbukkit/block/CraftConduit.java +index f0b0348e105fb27c829ec29e638433c57bfd5f64..57ce4b7c5fcfe7a88928cd4124f29af39e117ed9 100644 +--- a/src/main/java/org/bukkit/craftbukkit/block/CraftConduit.java ++++ b/src/main/java/org/bukkit/craftbukkit/block/CraftConduit.java +@@ -29,7 +29,7 @@ public class CraftConduit extends CraftBlockEntityState impl + @Override + public int getRange() { + requirePlaced(); +- return this.getTileEntity().effectBlocks.size() / 7 * 16; ++ return this.getTileEntity().effectBlocks.size() / 7 * this.world.getHandle().purpurConfig.conduitDistance; // Purpur + } + + @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java index 52363f3ee615bbb86ea54a72d5c0274c7699c9dd..3302b7f88ba82620e09ec900b7409267ea55c7b4 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/patches/server/0209-Added-the-ability-to-add-combustible-items.patch b/patches/server/0209-Added-the-ability-to-add-combustible-items.patch index ee1567638..ea7864342 100644 --- a/patches/server/0209-Added-the-ability-to-add-combustible-items.patch +++ b/patches/server/0209-Added-the-ability-to-add-combustible-items.patch @@ -51,10 +51,10 @@ index acfacda5001ef188acfef8ac0d319d66ce1883fb..1d179e9485df78657ce67ab7ca4c4b1b private int maxStack = MAX_STACK; public List transaction = new java.util.ArrayList(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 555cffaf05116c7c0a3071c83221d10710be62e8..4e8ff16b5ca3cd2ddf2a44c7cd625fbf2311706d 100644 +index d7db1bc00036184d9ac6d6edaf343ab20a29d368..2038163bd97d25560a0778d7fbdd0680ccfad46f 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1572,6 +1572,19 @@ public final class CraftServer implements Server { +@@ -1577,6 +1577,19 @@ public final class CraftServer implements Server { return true; } diff --git a/patches/server/0245-Config-for-mob-last-hurt-by-player-time.patch b/patches/server/0245-Config-for-mob-last-hurt-by-player-time.patch index ebe62ae1c..6e18c24f5 100644 --- a/patches/server/0245-Config-for-mob-last-hurt-by-player-time.patch +++ b/patches/server/0245-Config-for-mob-last-hurt-by-player-time.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Config for mob last hurt by player time diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 1ea0a19f7acc2276c21de55d84175e38e2dad9a6..4c75007bc1b700b9c4b79dce0b63c21fec6a742e 100644 +index 4207d5be195680769a5fefac1feccd925d500740..38c639d0c38e07908ac26a9c998ff06f28a09089 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -1546,13 +1546,13 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -25,10 +25,10 @@ index 1ea0a19f7acc2276c21de55d84175e38e2dad9a6..4c75007bc1b700b9c4b79dce0b63c21f if (entityliving2 instanceof net.minecraft.world.entity.player.Player) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 10ca0fdb5b92cc4f1d346540c9129d5c55732985..a2d1c22e778aa4c3c44c3a1a604c1656cc86f0da 100644 +index 2e47e0d28407695569143e6c6bea4a160fa7ca45..3811b773f8601b233db94fec765dd10bdcfb7a21 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -452,7 +452,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -477,7 +477,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { net.minecraft.server.level.ServerPlayer entityPlayer = killer == null ? null : ((CraftPlayer) killer).getHandle(); getHandle().lastHurtByPlayer = entityPlayer; getHandle().lastHurtByMob = entityPlayer; @@ -38,7 +38,7 @@ index 10ca0fdb5b92cc4f1d346540c9129d5c55732985..a2d1c22e778aa4c3c44c3a1a604c1656 // Paper end diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 440ba9fb9c30973ea3268298923812962034b2db..6d1a29d5b9695c4f2392a82f8c1b11db220ea727 100644 +index 72a96e93a67b5d745070244604fab331a1656f0b..bd053d7ca653d34d64f2773a0306f2175dff67be 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -142,6 +142,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0268-Debug-Marker-API.patch b/patches/server/0268-Debug-Marker-API.patch index f1be7c577..944650fc0 100644 --- a/patches/server/0268-Debug-Marker-API.patch +++ b/patches/server/0268-Debug-Marker-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Debug Marker API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 1718f52b4673f138fb6942839b05ae246e90d0a2..a71d49c80bc8b74216cbc83fa2af87974d85dddd 100644 +index 2038163bd97d25560a0778d7fbdd0680ccfad46f..29c0c4247e94c0668c55fd5ef00f736ff76c8210 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1583,6 +1583,42 @@ public final class CraftServer implements Server { +@@ -1588,6 +1588,42 @@ public final class CraftServer implements Server { public void removeFuel(org.bukkit.Material material) { net.minecraft.world.level.block.entity.AbstractFurnaceBlockEntity.removeFuel(net.minecraft.world.item.ItemStack.fromBukkitCopy(new ItemStack(material))); }