From 200178d7b3ed3a809b5a9865f7af76e25dd91541 Mon Sep 17 00:00:00 2001 From: granny Date: Tue, 19 Nov 2024 03:54:34 -0800 Subject: [PATCH] Updated Upstream (Paper) Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@7b13d93 Updated Upstream (Bukkit/CraftBukkit) (#11626) PaperMC/Paper@4e2291e chore: refactor issue templates PaperMC/Paper@bc4a705 [ci skip] chore: change paste.gg links to mclo.gs (#11629) PaperMC/Paper@3480489 Update Alternate Current patch to 1.21.3 (#11602) PaperMC/Paper@575c1c4 Update disableGameRuleLimits casing PaperMC/Paper@11d708d [ci skip] Add missing feature patch identifiers PaperMC/Paper@daf3113 Make logs less annoying PaperMC/Paper@4e01ede Fix inverted global skip check PaperMC/Paper@d8b66dd fix: move to jline-terminal-ffm on java 22+ and fall back to jni on 21, fixes #10405 PaperMC/Paper@6735c60 Fix enderchest opening animation (#11635) PaperMC/Paper@de6173b Item DataComponent API (#10845) PaperMC/Paper@8c5b837 Rework async chunk api implementation PaperMC/Paper@37b9630 Do not create unneccessary callback in ChunkTaskScheduler#scheduleChunkLoad PaperMC/Paper@878da16 Fix non block ticking chunks not sending block/light updates PaperMC/Paper@fdef6d3 Add missing NotNull annotation for getChunksAtAsync cb param PaperMC/Paper@01dd50f [ci skip] Rebuild patches PaperMC/Paper@f9f964d Fix drops for shearing bogged (#11628) PaperMC/Paper@21cc763 Fix drops for shearing mushroom cow (#11632) PaperMC/Paper@57eab3e Add PlayerItemGroupCooldownEvent (#11625) PaperMC/Paper@d0dcd7d Fix incorrect invulnerability damage reduction (#11599) PaperMC/Paper@85bfdc0 Fix NPE when EntityResurrectEvent is uncancelled (#11636) --- build.gradle.kts | 2 +- gradle.properties | 2 +- .../0017-ItemStack-convenience-methods.patch | 16 +++++++------- .../api/0036-Add-local-difficulty-api.patch | 4 ++-- patches/api/0039-Debug-Marker-API.patch | 4 ++-- patches/api/0048-Stonecutter-damage.patch | 4 ++-- patches/server/0001-Rebrand.patch | 12 +++++----- patches/server/0007-Ridables.patch | 22 +++++++++---------- .../0009-Barrels-and-enderchests-6-rows.patch | 10 ++++----- .../0024-Zombie-horse-naturally-spawn.patch | 4 ++-- ...cow-rotation-when-shearing-mooshroom.patch | 6 ++--- ...able-loot-drops-on-death-by-cramming.patch | 6 ++--- ...ispenser-curse-of-binding-protection.patch | 6 ++--- .../0058-Implement-elytra-settings.patch | 8 +++---- ...-Add-allow-water-in-end-world-option.patch | 4 ++-- ...ggling-special-MobSpawners-per-world.patch | 4 ++-- .../0092-Configurable-daylight-cycle.patch | 8 +++---- ...iefing-bypass-to-everything-affected.patch | 4 ++-- .../0138-Config-for-skipping-night.patch | 4 ++-- ...166-API-for-any-mob-to-burn-daylight.patch | 8 +++---- ...ake-lightning-rod-range-configurable.patch | 4 ++-- ...omizable-sleeping-actionbar-messages.patch | 6 ++--- .../0188-Toggle-for-kinetic-damage.patch | 4 ++-- ...ain-and-thunder-should-stop-on-sleep.patch | 6 ++--- patches/server/0226-Allow-void-trading.patch | 4 ++-- .../0247-Add-local-difficulty-api.patch | 4 ++-- patches/server/0251-Debug-Marker-API.patch | 6 ++--- .../0291-ItemStack-convenience-methods.patch | 8 +++---- 28 files changed, 90 insertions(+), 90 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 60145d056..3b32c2004 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -4,7 +4,7 @@ import org.gradle.api.tasks.testing.logging.TestLogEvent plugins { java `maven-publish` - id("io.papermc.paperweight.patcher") version "1.7.4" + id("io.papermc.paperweight.patcher") version "1.7.5" } allprojects { diff --git a/gradle.properties b/gradle.properties index cf6647d38..052d27913 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ group = org.purpurmc.purpur version = 1.21.3-R0.1-SNAPSHOT mcVersion = 1.21.3 -paperCommit = bc4a705ce426e29f91ef9438936df21c325866a2 +paperCommit = 85bfdc09bce7c4fc8eb4ac75c7f0a963c6e31e70 org.gradle.caching = true org.gradle.parallel = true diff --git a/patches/api/0017-ItemStack-convenience-methods.patch b/patches/api/0017-ItemStack-convenience-methods.patch index 6d2cb8692..445add8de 100644 --- a/patches/api/0017-ItemStack-convenience-methods.patch +++ b/patches/api/0017-ItemStack-convenience-methods.patch @@ -5,13 +5,13 @@ Subject: [PATCH] ItemStack convenience methods diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index 615eb24ffdd8f6d55ccd4f21760b809c1098bc68..fbbe9e52ed3437d2407e042f45b0a18abdd48fe1 100644 +index c7ce8fa1ff9feda66d5a4e497112a24ff51c9d2b..f588307487368ea686f22a50b0a5d79ade3dcb04 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -5799,4 +5799,40 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla - public BlockType asBlockType() { - return blockType.get(); +@@ -5840,4 +5840,40 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla + return this.asItemType().getDefaultDataTypes(); } + // Paper end - data component API + + // Purpur start + public boolean isArmor() { @@ -50,7 +50,7 @@ index 615eb24ffdd8f6d55ccd4f21760b809c1098bc68..fbbe9e52ed3437d2407e042f45b0a18a + // Purpur end } diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index b59222b8c262545d100a9fd28b3bf1d2a4cf4eb0..4414381ac942c040480d53b03565b160eb85c444 100644 +index 6e4ca7d95953a25c0aaafd35e54ef9254a1b5f0b..f5961444f1c05b66c410d64e4e9c4f79fe360382 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java @@ -19,6 +19,13 @@ import org.bukkit.inventory.meta.ItemMeta; @@ -67,10 +67,10 @@ index b59222b8c262545d100a9fd28b3bf1d2a4cf4eb0..4414381ac942c040480d53b03565b160 /** * Represents a stack of items. -@@ -1137,4 +1144,482 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat - return Bukkit.getUnsafe().computeTooltipLines(this, tooltipContext, player); +@@ -1318,4 +1325,482 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat + return this.craftDelegate.matchesWithoutData(item, excludeTypes, ignoreCount); } - // Paper end - expose itemstack tooltip lines + // Paper end - data component API + + // Purpur start + /** diff --git a/patches/api/0036-Add-local-difficulty-api.patch b/patches/api/0036-Add-local-difficulty-api.patch index d34fee58e..6d5c157b8 100644 --- a/patches/api/0036-Add-local-difficulty-api.patch +++ b/patches/api/0036-Add-local-difficulty-api.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add local difficulty api diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index ef32a937e6faf1e8a5d6b1207986715bae5a246c..24d39c8c449e0ea6175989295d24eee902baec17 100644 +index 7a439c99fc4c5ee17d674460c8e58a9fe0c64e02..26a0ed5437842492432a26778fadd9ae41dc0569 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -4209,6 +4209,16 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient +@@ -4246,6 +4246,16 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient @Nullable public DragonBattle getEnderDragonBattle(); diff --git a/patches/api/0039-Debug-Marker-API.patch b/patches/api/0039-Debug-Marker-API.patch index 301ab0eed..5df975d04 100644 --- a/patches/api/0039-Debug-Marker-API.patch +++ b/patches/api/0039-Debug-Marker-API.patch @@ -179,10 +179,10 @@ index 40aaa5123a5a15c434e422c0fa6adf686df6d7bd..ddb1ff894910761a78b91a343f32e129 // Purpur end } diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 24d39c8c449e0ea6175989295d24eee902baec17..36cf567973900d1e472616748926aecb9afcb42f 100644 +index 26a0ed5437842492432a26778fadd9ae41dc0569..820c22c7a20d19a74139bc1537515405b4b2f46c 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -4217,6 +4217,76 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient +@@ -4254,6 +4254,76 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient * @return The local difficulty */ public float getLocalDifficultyAt(@NotNull Location location); diff --git a/patches/api/0048-Stonecutter-damage.patch b/patches/api/0048-Stonecutter-damage.patch index d21f36991..8b2294a75 100644 --- a/patches/api/0048-Stonecutter-damage.patch +++ b/patches/api/0048-Stonecutter-damage.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Stonecutter damage diff --git a/src/main/java/org/bukkit/event/entity/EntityDamageEvent.java b/src/main/java/org/bukkit/event/entity/EntityDamageEvent.java -index ef5b2a0f18c1c126db0b0c4a4d2a57483680665a..e6c8ffc2583af754eaedc55160ef45c61c22e213 100644 +index 73aa5dc079ecb1c38c55ae1916b12edf81b723f5..dccf60802b3503e3188a90a4ec7f3562c99e560a 100644 --- a/src/main/java/org/bukkit/event/entity/EntityDamageEvent.java +++ b/src/main/java/org/bukkit/event/entity/EntityDamageEvent.java -@@ -307,7 +307,8 @@ public class EntityDamageEvent extends EntityEvent implements Cancellable { +@@ -308,7 +308,8 @@ public class EntityDamageEvent extends EntityEvent implements Cancellable { WORLD_BORDER, /** * Damage caused when an entity contacts a block such as a Cactus, diff --git a/patches/server/0001-Rebrand.patch b/patches/server/0001-Rebrand.patch index 3cc8b6281..f81fd7662 100644 --- a/patches/server/0001-Rebrand.patch +++ b/patches/server/0001-Rebrand.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Rebrand diff --git a/build.gradle.kts b/build.gradle.kts -index c209eb393670fd8d6c97ca65a801c8032b582a35..b4579fb919d8cc981edc4863b82abca531349f1e 100644 +index ee5f662ed0e84be997807a9faf97191ef4fc0449..84b4da53b93b862db90da4eb86ab2943c7b4a22d 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -25,7 +25,7 @@ abstract class MockitoAgentProvider : CommandLineArgumentProvider { @@ -15,9 +15,9 @@ index c209eb393670fd8d6c97ca65a801c8032b582a35..b4579fb919d8cc981edc4863b82abca5 - implementation(project(":paper-api")) + implementation(project(":purpur-api")) // Pufferfish // Paper // Purpur // Paper start - implementation("org.jline:jline-terminal-jansi:3.21.0") - implementation("net.minecrell:terminalconsoleappender:1.3.0") -@@ -59,6 +59,10 @@ dependencies { + implementation("org.jline:jline-terminal-ffm:3.27.1") // use ffm on java 22+ + implementation("org.jline:jline-terminal-jni:3.27.1") // fall back to jni on java 21 +@@ -60,6 +60,10 @@ dependencies { runtimeOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.9.18") runtimeOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.9.18") @@ -28,7 +28,7 @@ index c209eb393670fd8d6c97ca65a801c8032b582a35..b4579fb919d8cc981edc4863b82abca5 testImplementation("io.github.classgraph:classgraph:4.8.47") // Paper - mob goal test testImplementation("org.junit.jupiter:junit-jupiter:5.10.2") testImplementation("org.junit.platform:junit-platform-suite-engine:1.10.0") -@@ -98,14 +102,14 @@ tasks.jar { +@@ -99,14 +103,14 @@ tasks.jar { val gitBranch = git("rev-parse", "--abbrev-ref", "HEAD").getText().trim() // Paper attributes( "Main-Class" to "org.bukkit.craftbukkit.Main", @@ -48,7 +48,7 @@ index c209eb393670fd8d6c97ca65a801c8032b582a35..b4579fb919d8cc981edc4863b82abca5 "Build-Number" to (build ?: ""), "Build-Time" to Instant.now().toString(), "Git-Branch" to gitBranch, // Paper -@@ -171,7 +175,7 @@ fun TaskContainer.registerRunTask( +@@ -172,7 +176,7 @@ fun TaskContainer.registerRunTask( name: String, block: JavaExec.() -> Unit ): TaskProvider = register(name) { diff --git a/patches/server/0007-Ridables.patch b/patches/server/0007-Ridables.patch index 10f795716..d1eeab336 100644 --- a/patches/server/0007-Ridables.patch +++ b/patches/server/0007-Ridables.patch @@ -34,19 +34,19 @@ index 64b56abf8900d0424100da460fc68ac964394793..e37e11c7912cc2824b67928811a8e542 gameprofilerfiller.push(() -> { String s = String.valueOf(worldserver); diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 3b6b6483bf855493948417f44f06427b625bc910..6d05da7a13a81b279ecb30aa94c191222f48b6d0 100644 +index 957cae6ddeba9efe3b55588567ae51e8b86b6a42..32339a18345feddb49cffe5ed1f18a2bfaf931ba 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -230,6 +230,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe - public final UUID uuid; +@@ -231,6 +231,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe public boolean hasPhysicsEvent = true; // Paper - BlockPhysicsEvent public boolean hasEntityMoveEvent; // Paper - Add EntityMoveEvent + private final alternate.current.wire.WireHandler wireHandler = new alternate.current.wire.WireHandler(this); // Paper - optimize redstone (Alternate Current) + public boolean hasRidableMoveEvent = false; // Purpur public LevelChunk getChunkIfLoaded(int x, int z) { return this.chunkSource.getChunkAtIfLoadedImmediately(x, z); // Paper - Use getChunkIfLoadedImmediately diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 4cd799505ad4f9e02eef5f015a6c092af0efba14..c69080f68ac1a7e7113da692ae7baba467393d48 100644 +index 9dbf86a365b37bf3fcbf901e5dee5821648288d0..84dd32c83d05708acc4ffea1ed358697f320ecbe 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1033,6 +1033,15 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple @@ -190,7 +190,7 @@ index b851c3ee1426bc0a259bf6c4a662af0c9883dd71..7c11b5e73d4f3c0be7c467f7522c2d97 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 e86314de8d908a0c3e9f17d3e163c11180cf3f59..b8303404f8a81e2b446a9a40861787ca786aad47 100644 +index f36a075dbee2b96d01899e02460b1d8443e91749..b027633d6c854f481fbd4a2e4b89ace4b9d7a398 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -248,9 +248,9 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -223,7 +223,7 @@ index e86314de8d908a0c3e9f17d3e163c11180cf3f59..b8303404f8a81e2b446a9a40861787ca @Override protected void checkFallDamage(double heightDifference, boolean onGround, BlockState state, BlockPos landedPosition) { -@@ -3670,8 +3671,10 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3692,8 +3693,10 @@ public abstract class LivingEntity extends Entity implements Attackable { this.pushEntities(); gameprofilerfiller.pop(); // Paper start - Add EntityMoveEvent @@ -236,7 +236,7 @@ index e86314de8d908a0c3e9f17d3e163c11180cf3f59..b8303404f8a81e2b446a9a40861787ca 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()); -@@ -3681,6 +3684,21 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3703,6 +3706,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()); } } @@ -1144,7 +1144,7 @@ index e07b79ef172095c1800c88342b3ac8dc7703aea2..9d82fec6f5969816095dbd5a11325c79 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 feeb7bc34ae02e44d7f13f0bae5d175ef924c53a..d554c62b89f382018c5be872077cccf1425c8e35 100644 +index eea02ea0d99425a60575f5fa729782494d579080..ba8d47111cf80c8e9a0b47793f125ca91f5f906e 100644 --- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java +++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java @@ -65,6 +65,23 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder i - } else { +@@ -89,7 +89,7 @@ public class EnderChestBlock extends AbstractChestBlock i // Paper start - Fix InventoryOpenEvent cancellation - moved up; + playerEnderChestContainer.setActiveChest(enderChestBlockEntity); // Needs to happen before ChestMenu.threeRows as it is required for opening animations if (world instanceof ServerLevel serverLevel && player.openMenu( - new SimpleMenuProvider((i, inventory, playerx) -> ChestMenu.threeRows(i, inventory, playerEnderChestContainer), CONTAINER_TITLE) + new SimpleMenuProvider((i, inventory, playerx) -> org.purpurmc.purpur.PurpurConfig.enderChestSixRows ? getEnderChestSixRows(i, inventory, player, playerEnderChestContainer) : ChestMenu.threeRows(i, inventory, playerEnderChestContainer), CONTAINER_TITLE) // Purpur ).isPresent()) { // Paper end - Fix InventoryOpenEvent cancellation - moved up; - playerEnderChestContainer.setActiveChest(enderChestBlockEntity); + // Paper - Fix InventoryOpenEvent cancellation - moved up; @@ -104,6 +104,35 @@ public class EnderChestBlock extends AbstractChestBlock i } } diff --git a/patches/server/0024-Zombie-horse-naturally-spawn.patch b/patches/server/0024-Zombie-horse-naturally-spawn.patch index 4b97fd4ba..8b6546725 100644 --- a/patches/server/0024-Zombie-horse-naturally-spawn.patch +++ b/patches/server/0024-Zombie-horse-naturally-spawn.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Zombie horse naturally spawn diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 43c976c5b61f26662d6e57b5cd39c3e153985db3..943ef063efa000da0810b079b47ec18ed2aa5a63 100644 +index 32339a18345feddb49cffe5ed1f18a2bfaf931ba..a0ff876d951f62eb172ee3763a9bc7ba5b191034 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -932,10 +932,18 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -939,10 +939,18 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe boolean flag1 = this.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING) && this.random.nextDouble() < (double) difficultydamagescaler.getEffectiveDifficulty() * this.paperConfig().entities.spawning.skeletonHorseThunderSpawnChance.or(0.01D) && !this.getBlockState(blockposition.below()).is(Blocks.LIGHTNING_ROD); // Paper - Configurable spawn chances for skeleton horses if (flag1) { diff --git a/patches/server/0034-Fix-cow-rotation-when-shearing-mooshroom.patch b/patches/server/0034-Fix-cow-rotation-when-shearing-mooshroom.patch index c94515ea2..9e7f3ea08 100644 --- a/patches/server/0034-Fix-cow-rotation-when-shearing-mooshroom.patch +++ b/patches/server/0034-Fix-cow-rotation-when-shearing-mooshroom.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix cow rotation when shearing mooshroom 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 358f8d6650ed9820e7378d29f993b71504e779f3..2382b82d3d4c09e50e62dd353b4a1149ec9169b4 100644 +index 0005cd7156e46ae790d629d7a985cdace1cc5577..c7039d7d5e38392fef8787f6e245a44842e2f2a3 100644 --- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java +++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java @@ -217,6 +217,13 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder { - for (final ItemStack drop : drops) { + drops.forEach(drop -> { + ItemEntity entityitem = new ItemEntity(this.level(), this.getX(), this.getY(1.0D), this.getZ(), drop); diff --git a/patches/server/0040-Disable-loot-drops-on-death-by-cramming.patch b/patches/server/0040-Disable-loot-drops-on-death-by-cramming.patch index 84753183c..b9d4dcd3d 100644 --- a/patches/server/0040-Disable-loot-drops-on-death-by-cramming.patch +++ b/patches/server/0040-Disable-loot-drops-on-death-by-cramming.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Disable loot drops on death by cramming diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 0b1d31bcbe398ecd2e1ddd881c2f602a1a4f73d9..4fc0aa48e4e0e291ba3f8291a2dfa671fbe553e5 100644 +index f4cc9ff863079f5546cce1bfa0f1dcab022bb293..952b498b3514205accf48104da37ff713074e484 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -1908,6 +1908,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1914,6 +1914,7 @@ public abstract class LivingEntity extends Entity implements Attackable { this.dropEquipment(world); // CraftBukkit - from below if (this.shouldDropLoot() && world.getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT)) { @@ -16,7 +16,7 @@ index 0b1d31bcbe398ecd2e1ddd881c2f602a1a4f73d9..4fc0aa48e4e0e291ba3f8291a2dfa671 this.dropFromLootTable(world, damageSource, flag); // Paper start final boolean prev = this.clearEquipmentSlots; -@@ -1916,6 +1917,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1922,6 +1923,7 @@ public abstract class LivingEntity extends Entity implements Attackable { // Paper end this.dropCustomDeathLoot(world, damageSource, flag); this.clearEquipmentSlots = prev; // Paper diff --git a/patches/server/0054-Dispenser-curse-of-binding-protection.patch b/patches/server/0054-Dispenser-curse-of-binding-protection.patch index a472ce910..61a7c3289 100644 --- a/patches/server/0054-Dispenser-curse-of-binding-protection.patch +++ b/patches/server/0054-Dispenser-curse-of-binding-protection.patch @@ -18,10 +18,10 @@ index bf8c511739265c6a9cd277752e844481598f8966..ffe2399ab6b1f311536475d8216238b5 // CraftBukkit start diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 1420a435463d69f4f811dd4e47a8ae7da48f1339..e14533a047acaf4c1178f0b23427b23179334b88 100644 +index 952b498b3514205accf48104da37ff713074e484..2bf46dbc9afb2b19ef183b674c5be26f48af55d5 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -4670,7 +4670,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -4692,7 +4692,7 @@ public abstract class LivingEntity extends Entity implements Attackable { if (equippable != null && equippable.dispensable()) { EquipmentSlot enumitemslot = equippable.slot(); @@ -30,7 +30,7 @@ index 1420a435463d69f4f811dd4e47a8ae7da48f1339..e14533a047acaf4c1178f0b23427b231 } else { return false; } -@@ -4695,6 +4695,12 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -4717,6 +4717,12 @@ public abstract class LivingEntity extends Entity implements Attackable { return equippable == null ? slot == EquipmentSlot.MAINHAND && this.canUseSlot(EquipmentSlot.MAINHAND) : slot == equippable.slot() && this.canUseSlot(equippable.slot()) && equippable.canBeEquippedBy(this.getType()); } diff --git a/patches/server/0058-Implement-elytra-settings.patch b/patches/server/0058-Implement-elytra-settings.patch index 4d796a7f5..b5bca2d07 100644 --- a/patches/server/0058-Implement-elytra-settings.patch +++ b/patches/server/0058-Implement-elytra-settings.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Implement elytra settings diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index e14533a047acaf4c1178f0b23427b23179334b88..585cda7afc6532196ddbd53b9d4ff3215afb67da 100644 +index 2bf46dbc9afb2b19ef183b674c5be26f48af55d5..37f9e79cef4d2b68af61b4a1fbd42199bec6e28e 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3739,7 +3739,17 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3761,7 +3761,17 @@ public abstract class LivingEntity extends Entity implements Attackable { }).toList(); EquipmentSlot enumitemslot = (EquipmentSlot) Util.getRandom(list, this.random); @@ -27,7 +27,7 @@ index e14533a047acaf4c1178f0b23427b23179334b88..585cda7afc6532196ddbd53b9d4ff321 } this.gameEvent(GameEvent.ELYTRA_GLIDE); -@@ -3748,7 +3758,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3770,7 +3780,7 @@ public abstract class LivingEntity extends Entity implements Attackable { } @@ -50,7 +50,7 @@ index f4823112f2daf2aa75e1f4520fb91077c9c94e09..773be9c116a664e4d0349c58c00df34f } diff --git a/src/main/java/net/minecraft/world/item/FireworkRocketItem.java b/src/main/java/net/minecraft/world/item/FireworkRocketItem.java -index 7e308b364227dedc2d05496f5e0c90573f4a53f7..52e0a741e0a2274d3d70e8d8cdfa56f5e934deb2 100644 +index 29a048a9b09166838616ac7ba1d31625d56b0bca..184e6d9bf393188fc1f1c7acd545b4ac6d31f6a4 100644 --- a/src/main/java/net/minecraft/world/item/FireworkRocketItem.java +++ b/src/main/java/net/minecraft/world/item/FireworkRocketItem.java @@ -66,6 +66,18 @@ public class FireworkRocketItem extends Item implements ProjectileItem { diff --git a/patches/server/0068-Add-allow-water-in-end-world-option.patch b/patches/server/0068-Add-allow-water-in-end-world-option.patch index 1b84c4c8c..cdf1e48f6 100644 --- a/patches/server/0068-Add-allow-water-in-end-world-option.patch +++ b/patches/server/0068-Add-allow-water-in-end-world-option.patch @@ -27,10 +27,10 @@ index 3bddfb6f7412ab86e0c090d0cbc6cf254b3f891c..6aa8ee091d3a7d2826d08ab9a03f970e return true; diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index eff31601c2fd692a129b6990d9f3d2969ea8bbdb..6847be7f95dc37e6259d6903798e6db20702cea8 100644 +index 23ee4e06f222b396e4eb2412eda09400edf18993..0252719fd5e510a37452c7b212282d4fd253d204 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -2033,4 +2033,14 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl +@@ -2044,4 +2044,14 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl return this.id; } } diff --git a/patches/server/0086-Allow-toggling-special-MobSpawners-per-world.patch b/patches/server/0086-Allow-toggling-special-MobSpawners-per-world.patch index 47d0cff26..6cde0c50a 100644 --- a/patches/server/0086-Allow-toggling-special-MobSpawners-per-world.patch +++ b/patches/server/0086-Allow-toggling-special-MobSpawners-per-world.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Allow toggling special MobSpawners per world In vanilla, these are all hardcoded on for world type 0 (overworld) and hardcoded off for every other world type. Default config behaviour matches this. diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index bfe46102dd41a46c1cc0cdf7fa03a6a60254c529..0ba171e226eee4e140f6bae61dcb6f7660554548 100644 +index a0ff876d951f62eb172ee3763a9bc7ba5b191034..d49e26a1b719ff4dae6a3a10fc3695c39f400465 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -598,7 +598,24 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -605,7 +605,24 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe // CraftBukkit end this.tickTime = flag1; this.server = minecraftserver; diff --git a/patches/server/0092-Configurable-daylight-cycle.patch b/patches/server/0092-Configurable-daylight-cycle.patch index eaa5d6d42..c68b15cf6 100644 --- a/patches/server/0092-Configurable-daylight-cycle.patch +++ b/patches/server/0092-Configurable-daylight-cycle.patch @@ -18,7 +18,7 @@ index 9b93c5e5671bc910e8880a29ced9c4a5f0d36d53..f937454c9bb398a612a6f25ab8579c88 } ServerPlayer entityplayer = (ServerPlayer) entityhuman; diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 0ba171e226eee4e140f6bae61dcb6f7660554548..a1a01af28ca4a6da8f317839d457c655c14efe8d 100644 +index d49e26a1b719ff4dae6a3a10fc3695c39f400465..7b4b70abd82f669b8ecfa4c8d486ccd7c95b36f1 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -223,6 +223,8 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe @@ -30,7 +30,7 @@ index 0ba171e226eee4e140f6bae61dcb6f7660554548..a1a01af28ca4a6da8f317839d457c655 private final RandomSequences randomSequences; // CraftBukkit start -@@ -687,6 +689,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -694,6 +696,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe this.chunkDataController = new ca.spottedleaf.moonrise.patches.chunk_system.io.datacontroller.ChunkDataController((ServerLevel)(Object)this, this.chunkTaskScheduler); // Paper end - rewrite chunk system this.getCraftServer().addWorld(this.getWorld()); // CraftBukkit @@ -38,7 +38,7 @@ index 0ba171e226eee4e140f6bae61dcb6f7660554548..a1a01af28ca4a6da8f317839d457c655 } // Paper start -@@ -852,6 +855,13 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -859,6 +862,13 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe this.serverLevelData.getScheduledEvents().tick(this.server, i); Profiler.get().pop(); if (this.serverLevelData.getGameRules().getBoolean(GameRules.RULE_DAYLIGHT)) { @@ -52,7 +52,7 @@ index 0ba171e226eee4e140f6bae61dcb6f7660554548..a1a01af28ca4a6da8f317839d457c655 this.setDayTime(this.levelData.getDayTime() + 1L); } -@@ -860,7 +870,21 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -867,7 +877,21 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe public void setDayTime(long timeOfDay) { this.serverLevelData.setDayTime(timeOfDay); diff --git a/patches/server/0116-Add-mobGriefing-bypass-to-everything-affected.patch b/patches/server/0116-Add-mobGriefing-bypass-to-everything-affected.patch index 8577c3f93..8d7d5290e 100644 --- a/patches/server/0116-Add-mobGriefing-bypass-to-everything-affected.patch +++ b/patches/server/0116-Add-mobGriefing-bypass-to-everything-affected.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add mobGriefing bypass to everything affected diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 7de429f377fa4880c3b0cfb9b72df06a9b89722e..d6c1910cdc9bbdda217f1f13334312fafdb3c8fa 100644 +index 8baea988394e16e826bd8696af138babf31adec4..8577eeb2044ac9e9593db71cb52b000612b50964 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -1884,7 +1884,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1890,7 +1890,7 @@ public abstract class LivingEntity extends Entity implements Attackable { boolean flag = false; if (this.dead && adversary instanceof WitherBoss) { // Paper diff --git a/patches/server/0138-Config-for-skipping-night.patch b/patches/server/0138-Config-for-skipping-night.patch index 65a82637a..21975f492 100644 --- a/patches/server/0138-Config-for-skipping-night.patch +++ b/patches/server/0138-Config-for-skipping-night.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Config for skipping night diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index a1a01af28ca4a6da8f317839d457c655c14efe8d..95802eb8de88dc3e8d9266184e88a5b8530edd49 100644 +index 7b4b70abd82f669b8ecfa4c8d486ccd7c95b36f1..a244a37e573bbadf1fbb83b89ab766ab2a6f9a1e 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -741,7 +741,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -748,7 +748,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe int i = this.getGameRules().getInt(GameRules.RULE_PLAYERS_SLEEPING_PERCENTAGE); long j; diff --git a/patches/server/0166-API-for-any-mob-to-burn-daylight.patch b/patches/server/0166-API-for-any-mob-to-burn-daylight.patch index cfa199194..f9c1429e6 100644 --- a/patches/server/0166-API-for-any-mob-to-burn-daylight.patch +++ b/patches/server/0166-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/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 20df4a12d8e5fd5c167f03403d1331d2a0974c00..a78b6d453e59947a70e1c27e1d62efe68d912f88 100644 +index 24ab4e40d9edb4834dd91c7638e2b0fd27927513..8097b31867b1095ff826510df9c51e3b08f6eb0d 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -618,6 +618,22 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -33,7 +33,7 @@ index 20df4a12d8e5fd5c167f03403d1331d2a0974c00..a78b6d453e59947a70e1c27e1d62efe6 this.id = Entity.ENTITY_COUNTER.incrementAndGet(); this.passengers = ImmutableList.of(); diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 305f6bea2ac00b7587091ee10bfd2deca1034412..543eef5062fb77c880905b9b550e5be75893d2db 100644 +index 42e9c9842a2fd08ac64d7906251da2298f5735f6..b3be740bbffc16622da64d7ea609adacdab176bd 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -297,6 +297,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -64,7 +64,7 @@ index 305f6bea2ac00b7587091ee10bfd2deca1034412..543eef5062fb77c880905b9b550e5be7 } // CraftBukkit start -@@ -3755,6 +3762,34 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3777,6 +3784,34 @@ public abstract class LivingEntity extends Entity implements Attackable { } } @@ -357,7 +357,7 @@ index d79eb7bd6d38a4f1aee89cf0cf331a126351e767..b34dec421adc3ce56c0720a839a43ce4 } // Paper end - Add more Zombie API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index f68c1d6c7003202c4d107663b9c60c2fb1c95455..b5885d16cd3371d34bd031bd00a22a0ba6db6509 100644 +index ac4064172f982a6efc25378fbd088cca1dda4a14..02b07d43364c7dec37f1d2adffe123a5b595f669 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -87,6 +87,13 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { diff --git a/patches/server/0169-Make-lightning-rod-range-configurable.patch b/patches/server/0169-Make-lightning-rod-range-configurable.patch index cc4765051..68b1c49c4 100644 --- a/patches/server/0169-Make-lightning-rod-range-configurable.patch +++ b/patches/server/0169-Make-lightning-rod-range-configurable.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Make lightning rod range configurable diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 95802eb8de88dc3e8d9266184e88a5b8530edd49..b4b0579b84ae26f8ca2d0ab34e8bc963b09cf93e 100644 +index a244a37e573bbadf1fbb83b89ab766ab2a6f9a1e..a4370361d9f834fbb475f881adae5ff50b25cf14 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -1065,7 +1065,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -1072,7 +1072,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe return holder.is(PoiTypes.LIGHTNING_ROD); }, (blockposition1) -> { return blockposition1.getY() == this.getHeight(Heightmap.Types.WORLD_SURFACE, blockposition1.getX(), blockposition1.getZ()) - 1; diff --git a/patches/server/0182-Customizable-sleeping-actionbar-messages.patch b/patches/server/0182-Customizable-sleeping-actionbar-messages.patch index 12cbdc2a0..b1a235c84 100644 --- a/patches/server/0182-Customizable-sleeping-actionbar-messages.patch +++ b/patches/server/0182-Customizable-sleeping-actionbar-messages.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Customizable sleeping actionbar messages diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index b4b0579b84ae26f8ca2d0ab34e8bc963b09cf93e..c866bf67b28e3a40c76837145a4ab4abcebd72dd 100644 +index a4370361d9f834fbb475f881adae5ff50b25cf14..679066abd94261fc49b749a4e3dc91cc24d5cd5d 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -1114,11 +1114,27 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -1121,11 +1121,27 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe if (this.canSleepThroughNights()) { if (!this.getServer().isSingleplayer() || this.getServer().isPublished()) { int i = this.getGameRules().getInt(GameRules.RULE_PLAYERS_SLEEPING_PERCENTAGE); @@ -38,7 +38,7 @@ index b4b0579b84ae26f8ca2d0ab34e8bc963b09cf93e..c866bf67b28e3a40c76837145a4ab4ab } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index ab8cb645cd388c3db395fadfb932ca414cb90726..7bfb43f9163e690069249fb1fa401ec06a52bbf1 100644 +index 50c78ed8197eb1dc7a1d9a54b0d720602c3a895b..0191f47b2f02fe7b13474c5d5ba5a80ec9432917 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1839,7 +1839,19 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple diff --git a/patches/server/0188-Toggle-for-kinetic-damage.patch b/patches/server/0188-Toggle-for-kinetic-damage.patch index e6a2c72f7..90b3ae885 100644 --- a/patches/server/0188-Toggle-for-kinetic-damage.patch +++ b/patches/server/0188-Toggle-for-kinetic-damage.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Toggle for kinetic damage diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 543eef5062fb77c880905b9b550e5be75893d2db..328ce5ec4375a14a8ede632a9975b9871c2eab8b 100644 +index b3be740bbffc16622da64d7ea609adacdab176bd..58be94a164c3413dad4b3a7bb1a1544edb88e9ba 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3179,6 +3179,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3201,6 +3201,7 @@ public abstract class LivingEntity extends Entity implements Attackable { if (f > 0.0F) { this.playSound(this.getFallDamageSound((int) f), 1.0F, 1.0F); diff --git a/patches/server/0201-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch b/patches/server/0201-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch index 960b0ff65..db2fa8ee9 100644 --- a/patches/server/0201-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch +++ b/patches/server/0201-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Option for if rain and thunder should stop on sleep diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index c866bf67b28e3a40c76837145a4ab4abcebd72dd..c99ac408f5e3cfa7b56633a7768c60fd16227485 100644 +index 679066abd94261fc49b749a4e3dc91cc24d5cd5d..0188f1e9c571a6949f922c53047ccc32253454f5 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -1274,6 +1274,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -1281,6 +1281,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe @VisibleForTesting public void resetWeatherCycle() { // CraftBukkit start @@ -16,7 +16,7 @@ index c866bf67b28e3a40c76837145a4ab4abcebd72dd..c99ac408f5e3cfa7b56633a7768c60fd this.serverLevelData.setRaining(false, org.bukkit.event.weather.WeatherChangeEvent.Cause.SLEEP); // Paper - Add cause to Weather/ThunderChangeEvents // If we stop due to everyone sleeping we should reset the weather duration to some other random value. // Not that everyone ever manages to get the whole server to sleep at the same time.... -@@ -1281,6 +1282,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -1288,6 +1289,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe this.serverLevelData.setRainTime(0); } // CraftBukkit end diff --git a/patches/server/0226-Allow-void-trading.patch b/patches/server/0226-Allow-void-trading.patch index 2e48eeedf..7daa9ae89 100644 --- a/patches/server/0226-Allow-void-trading.patch +++ b/patches/server/0226-Allow-void-trading.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Allow void trading diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index c99ac408f5e3cfa7b56633a7768c60fd16227485..072316cc08e864c40dd3225709d67cb59e89c6cd 100644 +index 0188f1e9c571a6949f922c53047ccc32253454f5..f1ccf5ecbb6d6b86bec05ce722cd7c82174bb28a 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -2808,7 +2808,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -2822,7 +2822,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe // 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/patches/server/0247-Add-local-difficulty-api.patch b/patches/server/0247-Add-local-difficulty-api.patch index 0de9fdcda..5385dae9f 100644 --- a/patches/server/0247-Add-local-difficulty-api.patch +++ b/patches/server/0247-Add-local-difficulty-api.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add local difficulty api diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 3134fab97260897601d7c8e2810f11b8be86dbec..f1e954fc1a1cd65c5ce2e43fab57a3cd81e5af5b 100644 +index 8f234b46c24a0ae08aa5f8190c5b27e1f62dfbab..10413e550895f21cac43f5a15eaf51e51313b06f 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -2391,6 +2391,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -2379,6 +2379,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { return (this.getHandle().getDragonFight() == null) ? null : new CraftDragonBattle(this.getHandle().getDragonFight()); } diff --git a/patches/server/0251-Debug-Marker-API.patch b/patches/server/0251-Debug-Marker-API.patch index 4d1e814e4..6a9ea62d9 100644 --- a/patches/server/0251-Debug-Marker-API.patch +++ b/patches/server/0251-Debug-Marker-API.patch @@ -5,7 +5,7 @@ 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 cc645ae4f1d17784b6e966f78b8b6eb0117ea9a2..5af6fb52eaf99cf92aec8435c73a3003bbcf513d 100644 +index 7f19a0b86925502544c898be5d88248325aa0fba..49b27e7f2a6c56040013300110c870b9e08ca645 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1631,6 +1631,42 @@ public final class CraftServer implements Server { @@ -52,10 +52,10 @@ index cc645ae4f1d17784b6e966f78b8b6eb0117ea9a2..5af6fb52eaf99cf92aec8435c73a3003 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index f1e954fc1a1cd65c5ce2e43fab57a3cd81e5af5b..9a104c48bb1a92655b1feaab3e01a3be6ec7d942 100644 +index 10413e550895f21cac43f5a15eaf51e51313b06f..bbd2da3a646421d1b05e7c8154a7aa7fd9223c2f 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -2395,6 +2395,42 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -2383,6 +2383,42 @@ public class CraftWorld extends CraftRegionAccessor implements World { public float getLocalDifficultyAt(Location location) { return getHandle().getCurrentDifficultyAt(io.papermc.paper.util.MCUtil.toBlockPosition(location)).getEffectiveDifficulty(); } diff --git a/patches/server/0291-ItemStack-convenience-methods.patch b/patches/server/0291-ItemStack-convenience-methods.patch index b9f864338..739eb4fa1 100644 --- a/patches/server/0291-ItemStack-convenience-methods.patch +++ b/patches/server/0291-ItemStack-convenience-methods.patch @@ -5,13 +5,13 @@ Subject: [PATCH] ItemStack convenience methods diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -index 756c73a401437566258813946fa10c7caa8f2469..2b6f9fce59178525b1211f2133645a7991a146dd 100644 +index bfddaa146c1bcb6a3fdd43773ec06f91a259b200..53929a8827e2cf93cff70aaa08b2646505052aed 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -@@ -526,4 +526,285 @@ public final class CraftItemStack extends ItemStack { - return this.pdcView; +@@ -660,4 +660,285 @@ public final class CraftItemStack extends ItemStack { } - // Paper end - pdc + + // Paper end - data component API + + // Purpur start + @Override