From e942509e7332b226a0fb30ff20fcc5440e45d4e0 Mon Sep 17 00:00:00 2001 From: Jake Potrebic <15055071+Machine-Maker@users.noreply.github.com> Date: Fri, 13 Aug 2021 10:08:34 -0700 Subject: [PATCH] Updated Upstream (Bukkit/CraftBukkit/Spigot) (#6379) Co-authored-by: Jason Penilla <11360596+jpenilla@users.noreply.github.com> --- .../api/0001-Convert-project-to-Gradle.patch | 8 ++-- ...ld.spawnParticle-API-and-add-Builder.patch | 4 +- .../api/0189-World-view-distance-api.patch | 4 +- patches/api/0291-More-World-API.patch | 39 ++++++------------- .../server/0001-Setup-Gradle-project.patch | 8 ++-- .../server/0003-Build-system-changes.patch | 8 ++-- patches/server/0010-Adventure.patch | 19 +++++---- .../0030-Configurable-end-credits.patch | 4 +- ...86-Implement-PlayerLocaleChangeEvent.patch | 6 +-- patches/server/0109-Add-EntityZapEvent.patch | 4 +- ...3-Add-source-to-PlayerExpChangeEvent.patch | 4 +- .../0115-Add-ProjectileCollideEvent.patch | 4 +- ...23-Properly-fix-item-duplication-bug.patch | 4 +- ...oleAppender-for-console-improvements.patch | 6 +-- ...ld.spawnParticle-API-and-add-Builder.patch | 4 +- .../0220-InventoryCloseEvent-Reason-API.patch | 14 +++---- ...3-Vanished-players-don-t-have-rights.patch | 4 +- ...60-Asynchronous-chunk-IO-and-loading.patch | 4 +- .../server/0263-Improve-death-events.patch | 24 ++++++------ ...tator-target-events-and-improve-impl.patch | 4 +- ...85-Reset-players-airTicks-on-respawn.patch | 4 +- ...entity-dismount-during-teleportation.patch | 6 +-- ...vehicle-tracking-issue-on-disconnect.patch | 4 +- ...0322-PlayerDeathEvent-getItemsToKeep.patch | 4 +- ...le-Keep-Spawn-Loaded-range-per-world.patch | 4 +- ...-sneak-when-changing-worlds-MC-10657.patch | 4 +- ...layerDeathEvent-shouldDropExperience.patch | 4 +- ...No-Tick-view-distance-implementation.patch | 6 +-- ...ow-overriding-the-java-version-check.patch | 6 +-- ...vent-opening-inventories-when-frozen.patch | 4 +- ...-Implement-Player-Client-Options-API.patch | 4 +- ...-Plugin-Tickets-to-API-Chunk-Methods.patch | 4 +- .../server/0485-Add-PrepareResultEvent.patch | 4 +- ...k-Priority-Urgency-System-for-Chunks.patch | 6 +-- ...keLighting-call-to-World-spigot-stri.patch | 4 +- ...0571-Player-Chunk-Load-Unload-Events.patch | 4 +- .../0590-Added-WorldGameRuleChangeEvent.patch | 6 +-- ...Implemented-BlockFailedDispenseEvent.patch | 4 +- ...0608-Implement-BlockPreDispenseEvent.patch | 4 +- ...Leash-variable-to-EntityUnleashEvent.patch | 4 +- ...-shield-blocking-on-dimension-change.patch | 4 +- .../0641-Implement-Keyed-on-World.patch | 4 +- patches/server/0665-More-World-API.patch | 19 +-------- ...CreateEvent-players-and-end-platform.patch | 4 +- ...ditions-to-PlayerGameModeChangeEvent.patch | 8 ++-- .../0691-Add-EntityInsideBlockEvent.patch | 6 +-- ...PlayerDropItemEvent-using-wrong-item.patch | 4 +- ...ption-for-named-entity-death-logging.patch | 35 ----------------- ...rom-signs-not-firing-command-events.patch} | 0 ...ch => 0722-Adds-PlayerArmSwingEvent.patch} | 0 ...-event-leave-message-not-being-sent.patch} | 0 ...-for-mobs-immune-to-default-effects.patch} | 2 +- ...correct-message-for-outdated-client.patch} | 0 ...chantOffer-BuyB-Only-AssertionError.patch} | 0 ...-t-apply-cramming-damage-to-players.patch} | 4 +- ...d-timings-for-sensors-and-behaviors.patch} | 0 ...-bunch-of-missing-forceDrop-toggles.patch} | 0 ...inger-API.patch => 0730-Stinger-API.patch} | 0 ...cy-issue-with-empty-map-items-in-CB.patch} | 0 ...0732-Add-System.out.println-catcher.patch} | 0 ... => 0733-Fix-test-not-bootstrapping.patch} | 0 ...-to-contain-the-source-jars-in-stac.patch} | 0 ...-Improve-boat-collision-performance.patch} | 2 +- ...AFK-kick-while-watching-end-credits.patch} | 0 ...iting-of-comments-to-server.propert.patch} | 0 ...tch => 0738-Add-PlayerSetSpawnEvent.patch} | 6 +-- ...rs-respect-inventory-max-stack-size.patch} | 0 ...ize-entity-tracker-passenger-checks.patch} | 0 ...tityDamageByBlockEvent-for-campfires.patch | 35 ----------------- ...-option-for-Piglins-guarding-chests.patch} | 0 ...=> 0742-Added-EntityDamageItemEvent.patch} | 0 ...timize-indirect-passenger-iteration.patch} | 0 ...osition-losing-precision-millions-o.patch} | 0 work/Bukkit | 2 +- work/CraftBukkit | 2 +- work/Spigot | 2 +- 76 files changed, 152 insertions(+), 253 deletions(-) delete mode 100644 patches/server/0721-Config-option-for-named-entity-death-logging.patch rename patches/server/{0722-Fix-commands-from-signs-not-firing-command-events.patch => 0721-Fix-commands-from-signs-not-firing-command-events.patch} (100%) rename patches/server/{0723-Adds-PlayerArmSwingEvent.patch => 0722-Adds-PlayerArmSwingEvent.patch} (100%) rename patches/server/{0724-Fixes-kick-event-leave-message-not-being-sent.patch => 0723-Fixes-kick-event-leave-message-not-being-sent.patch} (100%) rename patches/server/{0725-Add-config-for-mobs-immune-to-default-effects.patch => 0724-Add-config-for-mobs-immune-to-default-effects.patch} (98%) rename patches/server/{0726-Fix-incorrect-message-for-outdated-client.patch => 0725-Fix-incorrect-message-for-outdated-client.patch} (100%) rename patches/server/{0727-Fix-MerchantOffer-BuyB-Only-AssertionError.patch => 0726-Fix-MerchantOffer-BuyB-Only-AssertionError.patch} (100%) rename patches/server/{0728-Don-t-apply-cramming-damage-to-players.patch => 0727-Don-t-apply-cramming-damage-to-players.patch} (93%) rename patches/server/{0729-Rate-options-and-timings-for-sensors-and-behaviors.patch => 0728-Rate-options-and-timings-for-sensors-and-behaviors.patch} (100%) rename patches/server/{0730-Add-a-bunch-of-missing-forceDrop-toggles.patch => 0729-Add-a-bunch-of-missing-forceDrop-toggles.patch} (100%) rename patches/server/{0731-Stinger-API.patch => 0730-Stinger-API.patch} (100%) rename patches/server/{0732-Fix-incosistency-issue-with-empty-map-items-in-CB.patch => 0731-Fix-incosistency-issue-with-empty-map-items-in-CB.patch} (100%) rename patches/server/{0733-Add-System.out.println-catcher.patch => 0732-Add-System.out.println-catcher.patch} (100%) rename patches/server/{0734-Fix-test-not-bootstrapping.patch => 0733-Fix-test-not-bootstrapping.patch} (100%) rename patches/server/{0735-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch => 0734-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch} (100%) rename patches/server/{0736-Improve-boat-collision-performance.patch => 0735-Improve-boat-collision-performance.patch} (98%) rename patches/server/{0737-Prevent-AFK-kick-while-watching-end-credits.patch => 0736-Prevent-AFK-kick-while-watching-end-credits.patch} (100%) rename patches/server/{0738-Allow-skipping-writing-of-comments-to-server.propert.patch => 0737-Allow-skipping-writing-of-comments-to-server.propert.patch} (100%) rename patches/server/{0739-Add-PlayerSetSpawnEvent.patch => 0738-Add-PlayerSetSpawnEvent.patch} (97%) rename patches/server/{0741-Make-hoppers-respect-inventory-max-stack-size.patch => 0739-Make-hoppers-respect-inventory-max-stack-size.patch} (100%) rename patches/server/{0742-Optimize-entity-tracker-passenger-checks.patch => 0740-Optimize-entity-tracker-passenger-checks.patch} (100%) delete mode 100644 patches/server/0740-call-EntityDamageByBlockEvent-for-campfires.patch rename patches/server/{0743-Config-option-for-Piglins-guarding-chests.patch => 0741-Config-option-for-Piglins-guarding-chests.patch} (100%) rename patches/server/{0744-Added-EntityDamageItemEvent.patch => 0742-Added-EntityDamageItemEvent.patch} (100%) rename patches/server/{0745-Optimize-indirect-passenger-iteration.patch => 0743-Optimize-indirect-passenger-iteration.patch} (100%) rename patches/server/{0746-Fix-block-drops-position-losing-precision-millions-o.patch => 0744-Fix-block-drops-position-losing-precision-millions-o.patch} (100%) diff --git a/patches/api/0001-Convert-project-to-Gradle.patch b/patches/api/0001-Convert-project-to-Gradle.patch index 0cbc85fb7e..1b45bedb1b 100644 --- a/patches/api/0001-Convert-project-to-Gradle.patch +++ b/patches/api/0001-Convert-project-to-Gradle.patch @@ -27,7 +27,7 @@ index e431e3435737e28394d81b56568a08b3c3148b9b..b23bde3b5e881f146539a307d0a59f21 +/.factorypath diff --git a/build.gradle.kts b/build.gradle.kts new file mode 100644 -index 0000000000000000000000000000000000000000..6e64a444fb20aabaabfb15a30d645702c11c2da8 +index 0000000000000000000000000000000000000000..fd30d2e6d3716777be7bc2f28267ab5b03131342 --- /dev/null +++ b/build.gradle.kts @@ -0,0 +1,67 @@ @@ -61,7 +61,7 @@ index 0000000000000000000000000000000000000000..6e64a444fb20aabaabfb15a30d645702 + + testImplementation("junit:junit:4.13.1") + testImplementation("org.hamcrest:hamcrest-library:1.3") -+ testImplementation("org.ow2.asm:asm-tree:9.1") ++ testImplementation("org.ow2.asm:asm-tree:9.2") +} + +configure { @@ -100,7 +100,7 @@ index 0000000000000000000000000000000000000000..6e64a444fb20aabaabfb15a30d645702 +} diff --git a/pom.xml b/pom.xml deleted file mode 100644 -index 6f6a86034a4c312a4af97d6984a6a4547217cbf6..0000000000000000000000000000000000000000 +index 538a424d42bc2b67d26e8b866da60f66bf0f22d8..0000000000000000000000000000000000000000 --- a/pom.xml +++ /dev/null @@ -1,262 +0,0 @@ @@ -212,7 +212,7 @@ index 6f6a86034a4c312a4af97d6984a6a4547217cbf6..00000000000000000000000000000000 - - org.ow2.asm - asm-tree -- 9.1 +- 9.2 - test - - diff --git a/patches/api/0099-Expand-World.spawnParticle-API-and-add-Builder.patch b/patches/api/0099-Expand-World.spawnParticle-API-and-add-Builder.patch index 7c8d3e22c2..07976f7ff7 100644 --- a/patches/api/0099-Expand-World.spawnParticle-API-and-add-Builder.patch +++ b/patches/api/0099-Expand-World.spawnParticle-API-and-add-Builder.patch @@ -522,10 +522,10 @@ index c5315ee1ed435c39a3ae298e248b67c5dc291497..687a62707c8021f87e03d6bc358b3b4e * Options which can be applied to redstone dust particles - a particle * color and size. diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 6cc9c7fc913f229c4869a976e73253acb74fcda3..ca2b1cbff153c53ec9182e44a1979350bacd695b 100644 +index 0d1e026934b45d7d7419efe3365561f5f19f3823..2ca5f2715e8827b9b1041e7e62807216d9608bf8 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -2592,7 +2592,57 @@ public interface World extends PluginMessageRecipient, Metadatable, net.kyori.ad +@@ -2674,7 +2674,57 @@ public interface World extends PluginMessageRecipient, Metadatable, net.kyori.ad * @param data the data to use for the particle or null, * the type of this depends on {@link Particle#getDataType()} */ diff --git a/patches/api/0189-World-view-distance-api.patch b/patches/api/0189-World-view-distance-api.patch index 64845bcaf8..4a941354c0 100644 --- a/patches/api/0189-World-view-distance-api.patch +++ b/patches/api/0189-World-view-distance-api.patch @@ -5,10 +5,10 @@ Subject: [PATCH] World view distance api diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 6fe2875f95bb600606d66e2f7113d325d10a9b9c..cd96c851d00185e7ee3ec6682b166fc1d06b6a73 100644 +index b4bef2b62cd78cf51d1fc2fd5b85a0ad9dae7a3d..a02d9d7851431211822e1d4157b218db9d404ab7 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -3447,6 +3447,34 @@ public interface World extends PluginMessageRecipient, Metadatable, net.kyori.ad +@@ -3529,6 +3529,34 @@ public interface World extends PluginMessageRecipient, Metadatable, net.kyori.ad int getViewDistance(); // Spigot end diff --git a/patches/api/0291-More-World-API.patch b/patches/api/0291-More-World-API.patch index 0852f78c91..06af5f6271 100644 --- a/patches/api/0291-More-World-API.patch +++ b/patches/api/0291-More-World-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] More World API diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 178a0853bd8136c6a7408f5d49604ceb2479f138..244bb359492ae486f0610f5aea6b75997dbc4bdc 100644 +index e149ab9b4ccd1b98791c3ebe5e9c7eb97de853af..145780fc900531687036003d3eec2057f205679c 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -3482,6 +3482,120 @@ public interface World extends PluginMessageRecipient, Metadatable, net.kyori.ad +@@ -3564,6 +3564,105 @@ public interface World extends PluginMessageRecipient, Metadatable, net.kyori.ad @Nullable public Location locateNearestStructure(@NotNull Location origin, @NotNull StructureType structureType, int radius, boolean findUnexplored); @@ -47,21 +47,12 @@ index 178a0853bd8136c6a7408f5d49604ceb2479f138..244bb359492ae486f0610f5aea6b7599 + * + * + * @return true if ultrawarm, false if not ++ * @deprecated use {@link #isUltraWarm()} + */ ++ @Deprecated + boolean isUltrawarm(); + + /** -+ * Checks if the world is natural. -+ *

-+ * If {@code false}, compasses will spin randomly in the world. -+ * If {@code true}, nether portals will spawn zombified piglins. -+ *

-+ * -+ * @return true or false -+ */ -+ boolean isNatural(); -+ -+ /** + * Gets the coordinate scaling of this world. + * + * @return the coordinate scale @@ -72,45 +63,39 @@ index 178a0853bd8136c6a7408f5d49604ceb2479f138..244bb359492ae486f0610f5aea6b7599 + * Checks if the world has skylight access + * + * @return whether there is skylight ++ * @deprecated use {@link #hasSkyLight()} + */ ++ @Deprecated + boolean hasSkylight(); + + /** + * Checks if the world has a bedrock ceiling + * + * @return whether the world has a bedrock ceiling ++ * @deprecated use {@link #hasCeiling()} + */ ++ @Deprecated + boolean hasBedrockCeiling(); + + /** -+ * Checks if piglins will turn into Zombified Piglins in this world -+ * -+ * @return whether Piglins will not transform -+ */ -+ boolean isPiglinSafe(); -+ -+ /** + * Checks if beds work + * + * @return whether beds work ++ * @deprecated use {@link #isBedWorks()} + */ ++ @Deprecated + boolean doesBedWork(); + + /** + * Checks if respawn anchors work + * + * @return whether respawn anchors work ++ * @deprecated use {@link #isRespawnAnchorWorks()} + */ ++ @Deprecated + boolean doesRespawnAnchorWork(); + + /** -+ * Checks if this world supports raids -+ * -+ * @return whether this world supports raids -+ */ -+ boolean hasRaids(); -+ -+ /** + * Checks if this world has a fixed time + * + * @return whether this world has fixed time diff --git a/patches/server/0001-Setup-Gradle-project.patch b/patches/server/0001-Setup-Gradle-project.patch index f326598304..122dcbf9a4 100644 --- a/patches/server/0001-Setup-Gradle-project.patch +++ b/patches/server/0001-Setup-Gradle-project.patch @@ -28,7 +28,7 @@ index 67fb370cad6924895a6b27052dbd5c1767e3f0c9..bb338269c9e3bef4c274157c490d8b8f +/.factorypath diff --git a/build.gradle.kts b/build.gradle.kts new file mode 100644 -index 0000000000000000000000000000000000000000..8d27de2c9da08ca32ff18fc4b8b02ea583edfc1c +index 0000000000000000000000000000000000000000..e67df300ac722061765278680ff0afc042a6d0cb --- /dev/null +++ b/build.gradle.kts @@ -0,0 +1,144 @@ @@ -55,7 +55,7 @@ index 0000000000000000000000000000000000000000..8d27de2c9da08ca32ff18fc4b8b02ea5 + implementation("org.apache.logging.log4j:log4j-iostreams:2.14.1") { + exclude(group = "org.apache.logging.log4j", module = "log4j-api") + } -+ implementation("org.ow2.asm:asm:9.1") ++ implementation("org.ow2.asm:asm:9.2") + implementation("com.googlecode.json-simple:json-simple:1.1.1") { + // This includes junit transitively for whatever reason + isTransitive = false @@ -178,7 +178,7 @@ index 0000000000000000000000000000000000000000..8d27de2c9da08ca32ff18fc4b8b02ea5 +} diff --git a/pom.xml b/pom.xml deleted file mode 100644 -index 9dafd60b6dcabf203ee6d60c0ea82d2845b9eec7..0000000000000000000000000000000000000000 +index c936167e107ab76cfb21febb9534353f481a95d3..0000000000000000000000000000000000000000 --- a/pom.xml +++ /dev/null @@ -1,472 +0,0 @@ @@ -244,7 +244,7 @@ index 9dafd60b6dcabf203ee6d60c0ea82d2845b9eec7..00000000000000000000000000000000 - - org.ow2.asm - asm -- 9.1 +- 9.2 - compile - - diff --git a/patches/server/0003-Build-system-changes.patch b/patches/server/0003-Build-system-changes.patch index 6e40d4ec25..7f07fea65f 100644 --- a/patches/server/0003-Build-system-changes.patch +++ b/patches/server/0003-Build-system-changes.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Build system changes diff --git a/build.gradle.kts b/build.gradle.kts -index 8d27de2c9da08ca32ff18fc4b8b02ea583edfc1c..31343d49cf38063976e0f8c93264a4f3897f06fb 100644 +index e67df300ac722061765278680ff0afc042a6d0cb..1ed07304bdf4288608dade345997802cb7753159 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -18,21 +18,24 @@ repositories { @@ -17,8 +17,8 @@ index 8d27de2c9da08ca32ff18fc4b8b02ea583edfc1c..31343d49cf38063976e0f8c93264a4f3 - } + implementation("org.apache.logging.log4j:log4j-iostreams:2.14.1") // Paper + implementation("org.apache.logging.log4j:log4j-api:2.14.1") // Paper - implementation("org.ow2.asm:asm:9.1") -+ implementation("org.ow2.asm:asm-commons:9.1") // Paper - ASM event executor generation + implementation("org.ow2.asm:asm:9.2") ++ implementation("org.ow2.asm:asm-commons:9.2") // Paper - ASM event executor generation implementation("com.googlecode.json-simple:json-simple:1.1.1") { // This includes junit transitively for whatever reason isTransitive = false @@ -71,7 +71,7 @@ index 8d27de2c9da08ca32ff18fc4b8b02ea583edfc1c..31343d49cf38063976e0f8c93264a4f3 "org.eclipse.aether", "org.eclipse.sisu", "org.objectweb.asm" ).forEach { pack -> diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 705486f8b02957c131d464bfd862247c555d2d51..2e22decfc52951ae32987c5147438e793227bd13 100644 +index 1338f52370dafbb8820a67cc4528eb20e0b9155c..90af1b123722bac1c4c5956465a153ec1ea998ff 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -190,7 +190,7 @@ public class Main { diff --git a/patches/server/0010-Adventure.patch b/patches/server/0010-Adventure.patch index 3f91419b63..24fd1b659e 100644 --- a/patches/server/0010-Adventure.patch +++ b/patches/server/0010-Adventure.patch @@ -1223,7 +1223,7 @@ index 762a9392ffac3042356709dddd15bb3516048bed..3544e2dc2522e9d6305d727d56e73490 buf.writeComponent(this.footer); } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 83c8fd73ef575aff6880582a958a61a9c466edba..a65377c410a921136db697a7016a2ffdcc8dd5a1 100644 +index b3ce71df7ed67583925b21b59d8f1ccf9ed5beda..5358faada2d6cf806a468190ec568ffa322aa121 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -146,6 +146,7 @@ import net.minecraft.world.scores.Score; @@ -1250,11 +1250,10 @@ index 83c8fd73ef575aff6880582a958a61a9c466edba..a65377c410a921136db697a7016a2ffd this.bukkitPickUpLoot = true; this.maxHealthCache = this.getMaxHealth(); } -@@ -732,23 +735,17 @@ public class ServerPlayer extends Player { +@@ -734,22 +737,17 @@ public class ServerPlayer extends Player { - Component defaultMessage = this.getCombatTracker().getDeathMessage(); - -- String deathmessage = defaultMessage.getString(); + String deathmessage = defaultMessage.getString(); + this.keepLevel = keepInventory; // SPIGOT-2222: pre-set keepLevel - org.bukkit.event.entity.PlayerDeathEvent event = CraftEventFactory.callPlayerDeathEvent(this, loot, deathmessage, keepInventory); + org.bukkit.event.entity.PlayerDeathEvent event = CraftEventFactory.callPlayerDeathEvent(this, loot, PaperAdventure.asAdventure(defaultMessage), defaultMessage.getString(), keepInventory); // Paper - Adventure @@ -1278,7 +1277,7 @@ index 83c8fd73ef575aff6880582a958a61a9c466edba..a65377c410a921136db697a7016a2ffd this.connection.send((Packet) (new ClientboundPlayerCombatKillPacket(this.getCombatTracker(), ichatbasecomponent)), (future) -> { if (!future.isSuccess()) { -@@ -1702,6 +1699,7 @@ public class ServerPlayer extends Player { +@@ -1703,6 +1701,7 @@ public class ServerPlayer extends Player { } public String locale = "en_us"; // CraftBukkit - add, lowercase @@ -1286,7 +1285,7 @@ index 83c8fd73ef575aff6880582a958a61a9c466edba..a65377c410a921136db697a7016a2ffd public void updateOptions(ServerboundClientInformationPacket packet) { // CraftBukkit start if (getMainArm() != packet.getMainHand()) { -@@ -1713,6 +1711,10 @@ public class ServerPlayer extends Player { +@@ -1714,6 +1713,10 @@ public class ServerPlayer extends Player { this.server.server.getPluginManager().callEvent(event); } this.locale = packet.language; @@ -2482,7 +2481,7 @@ index 1a6cca634d6b40a6d5f30eda98be3aa72c2569ad..32f555a846d34e086e75c027a92a48ea private final Player.Spigot spigot = new Player.Spigot() { diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index eef4726c754eee963b3c3cb4f812ffeab24181c4..7103eed119a1a802476d08daca2ec36543d9bd6b 100644 +index ded90f10b0034e7982c426b40d2e399dc95e24d4..0f7aa47de024cf8e7c33efd688bd34447ec2a702 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -802,9 +802,9 @@ public class CraftEventFactory { @@ -2495,9 +2494,9 @@ index eef4726c754eee963b3c3cb4f812ffeab24181c4..7103eed119a1a802476d08daca2ec365 - PlayerDeathEvent event = new PlayerDeathEvent(entity, drops, victim.getExpReward(), 0, deathMessage); + PlayerDeathEvent event = new PlayerDeathEvent(entity, drops, victim.getExpReward(), 0, deathMessage, stringDeathMessage); // Paper - Adventure event.setKeepInventory(keepInventory); + event.setKeepLevel(victim.keepLevel); // SPIGOT-2222: pre-set keepLevel org.bukkit.World world = entity.getWorld(); - Bukkit.getServer().getPluginManager().callEvent(event); -@@ -828,7 +828,7 @@ public class CraftEventFactory { +@@ -829,7 +829,7 @@ public class CraftEventFactory { * Server methods */ public static ServerListPingEvent callServerListPingEvent(Server craftServer, InetAddress address, String motd, int numPlayers, int maxPlayers) { diff --git a/patches/server/0030-Configurable-end-credits.patch b/patches/server/0030-Configurable-end-credits.patch index 1519d37191..0d588f1651 100644 --- a/patches/server/0030-Configurable-end-credits.patch +++ b/patches/server/0030-Configurable-end-credits.patch @@ -20,10 +20,10 @@ index 4bba6977a0287837b8927718c040ac61463f0469..e6e18f309dc09ea9416ea37dcc697ddc + } } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index a8a0f65d99ed062467e50a79349dc6b56f325709..094228ff071218f49d07f8e5343e1544c98e14d1 100644 +index 5358faada2d6cf806a468190ec568ffa322aa121..65ef47b59f9096e7ae4358cf417d73327f9d91a4 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -934,6 +934,7 @@ public class ServerPlayer extends Player { +@@ -936,6 +936,7 @@ public class ServerPlayer extends Player { this.unRide(); this.getLevel().removePlayerImmediately(this, Entity.RemovalReason.CHANGED_DIMENSION); if (!this.wonGame) { diff --git a/patches/server/0086-Implement-PlayerLocaleChangeEvent.patch b/patches/server/0086-Implement-PlayerLocaleChangeEvent.patch index 053e348c8d..7a797f2cec 100644 --- a/patches/server/0086-Implement-PlayerLocaleChangeEvent.patch +++ b/patches/server/0086-Implement-PlayerLocaleChangeEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Implement PlayerLocaleChangeEvent diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 68bc585a446585bfc3922db8e4539a25f846e308..2903f3d98949b5a582bf7996b73083f1941a664d 100644 +index 36edbdf8717f8cf4611da2e304c9aac0b9f44b49..2b13aec562182ce56a2fe16b70f20af3fc2df46c 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1707,7 +1707,7 @@ public class ServerPlayer extends Player { +@@ -1709,7 +1709,7 @@ public class ServerPlayer extends Player { return s; } @@ -17,7 +17,7 @@ index 68bc585a446585bfc3922db8e4539a25f846e308..2903f3d98949b5a582bf7996b73083f1 public java.util.Locale adventure$locale = java.util.Locale.US; // Paper public void updateOptions(ServerboundClientInformationPacket packet) { // CraftBukkit start -@@ -1715,9 +1715,10 @@ public class ServerPlayer extends Player { +@@ -1717,9 +1717,10 @@ public class ServerPlayer extends Player { PlayerChangedMainHandEvent event = new PlayerChangedMainHandEvent(this.getBukkitEntity(), getMainArm() == HumanoidArm.LEFT ? MainHand.LEFT : MainHand.RIGHT); this.server.server.getPluginManager().callEvent(event); } diff --git a/patches/server/0109-Add-EntityZapEvent.patch b/patches/server/0109-Add-EntityZapEvent.patch index 8a19517405..124bc259c2 100644 --- a/patches/server/0109-Add-EntityZapEvent.patch +++ b/patches/server/0109-Add-EntityZapEvent.patch @@ -44,10 +44,10 @@ index c5a8edf426e79b8746c7a5a5a5de3e3df1708740..f030c8d7c28039fde273e6b30c63ea79 entitywitch.finalizeSpawn(world, world.getCurrentDifficultyAt(entitywitch.blockPosition()), MobSpawnType.CONVERSION, (SpawnGroupData) null, (CompoundTag) null); entitywitch.setNoAi(this.isNoAi()); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 631a2e301d4940486a401c427b7b2db44bd68e3c..5ec43b4fdb059080a744e199a6a1f6c14b78ae33 100644 +index 0f7aa47de024cf8e7c33efd688bd34447ec2a702..c5146ccf0dfc979306d9e4401c9b053ed040e777 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1113,6 +1113,14 @@ public class CraftEventFactory { +@@ -1116,6 +1116,14 @@ public class CraftEventFactory { return event; } diff --git a/patches/server/0113-Add-source-to-PlayerExpChangeEvent.patch b/patches/server/0113-Add-source-to-PlayerExpChangeEvent.patch index 027100c1e1..64334303a7 100644 --- a/patches/server/0113-Add-source-to-PlayerExpChangeEvent.patch +++ b/patches/server/0113-Add-source-to-PlayerExpChangeEvent.patch @@ -18,10 +18,10 @@ index 8b8181cfdd8d826dd132eb9475f6ff8e04afa465..4000480a14d2ba52149f4fa47f824abf --this.count; diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 5ec43b4fdb059080a744e199a6a1f6c14b78ae33..894deb67940a131832d25daae7ab28d5a304101a 100644 +index c5146ccf0dfc979306d9e4401c9b053ed040e777..32bd705a44acb8b2fef1759e72cc47bde8f1e764 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1072,6 +1072,17 @@ public class CraftEventFactory { +@@ -1075,6 +1075,17 @@ public class CraftEventFactory { return event; } diff --git a/patches/server/0115-Add-ProjectileCollideEvent.patch b/patches/server/0115-Add-ProjectileCollideEvent.patch index 0696458c42..1f7f3a46d1 100644 --- a/patches/server/0115-Add-ProjectileCollideEvent.patch +++ b/patches/server/0115-Add-ProjectileCollideEvent.patch @@ -87,10 +87,10 @@ index f81be1c6a5efc5090fbb8832f44dbb2ae6aa2f4a..8e81b19706a14c21b5ffdc4f12818fe7 this.checkInsideBlocks(); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 894deb67940a131832d25daae7ab28d5a304101a..1ecd631c169e137669a154eecd0a1f4cd1230240 100644 +index 32bd705a44acb8b2fef1759e72cc47bde8f1e764..0e1cdea5ba4b01ee5c64b74ebff466e6f5d9045f 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1216,6 +1216,16 @@ public class CraftEventFactory { +@@ -1219,6 +1219,16 @@ public class CraftEventFactory { return CraftItemStack.asNMSCopy(bitem); } diff --git a/patches/server/0123-Properly-fix-item-duplication-bug.patch b/patches/server/0123-Properly-fix-item-duplication-bug.patch index ce790a058e..e6e34bee63 100644 --- a/patches/server/0123-Properly-fix-item-duplication-bug.patch +++ b/patches/server/0123-Properly-fix-item-duplication-bug.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Properly fix item duplication bug Credit to prplz for figuring out the real issue diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 56599cda3b8fcb61fc34d23b8bdc81fe2b8cebd7..b40d1e5692b476df939a8378af7c1c2b2ebcf1f7 100644 +index 8832c36a9f2885514eb7a9e6c37744ae45617b66..9761078ba0c984eec303e96d1ee64fbce659075c 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2127,7 +2127,7 @@ public class ServerPlayer extends Player { +@@ -2129,7 +2129,7 @@ public class ServerPlayer extends Player { @Override public boolean isImmobile() { diff --git a/patches/server/0137-Use-TerminalConsoleAppender-for-console-improvements.patch b/patches/server/0137-Use-TerminalConsoleAppender-for-console-improvements.patch index db8f057395..ea0b8d608e 100644 --- a/patches/server/0137-Use-TerminalConsoleAppender-for-console-improvements.patch +++ b/patches/server/0137-Use-TerminalConsoleAppender-for-console-improvements.patch @@ -19,7 +19,7 @@ Other changes: configuration diff --git a/build.gradle.kts b/build.gradle.kts -index 31343d49cf38063976e0f8c93264a4f3897f06fb..af867b39253f49f5dcf927d8659bc84cab0e26f0 100644 +index 1ed07304bdf4288608dade345997802cb7753159..ae52e2445cd12fd38d2155b8bdc5c53d86d71b30 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -17,7 +17,17 @@ repositories { @@ -40,7 +40,7 @@ index 31343d49cf38063976e0f8c93264a4f3897f06fb..af867b39253f49f5dcf927d8659bc84c + // Paper end implementation("org.apache.logging.log4j:log4j-iostreams:2.14.1") // Paper implementation("org.apache.logging.log4j:log4j-api:2.14.1") // Paper - implementation("org.ow2.asm:asm:9.1") + implementation("org.ow2.asm:asm:9.2") diff --git a/src/main/java/com/destroystokyo/paper/console/PaperConsole.java b/src/main/java/com/destroystokyo/paper/console/PaperConsole.java new file mode 100644 index 0000000000000000000000000000000000000000..a4070b59e261f0f1ac4beec47b11492f4724bf27 @@ -278,7 +278,7 @@ index 98b8027f57c8c68621957652823e0994c2a19219..d516f012ffbb5d12f698101efe91baff @Override public PluginCommand getPluginCommand(String name) { diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 07015442c0a7b9a008c8053dcaabb1caa6ef6a10..806e5e55ea2596d221e375f7a005488abef33d19 100644 +index f09520b7723dee6ab04215276d037012d643999f..bbf552bf586de94d8dfc5fb1c18e0af6f75aebe1 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -12,7 +12,7 @@ import java.util.logging.Level; diff --git a/patches/server/0198-Expand-World.spawnParticle-API-and-add-Builder.patch b/patches/server/0198-Expand-World.spawnParticle-API-and-add-Builder.patch index 82e43da899..46848cdde9 100644 --- a/patches/server/0198-Expand-World.spawnParticle-API-and-add-Builder.patch +++ b/patches/server/0198-Expand-World.spawnParticle-API-and-add-Builder.patch @@ -34,10 +34,10 @@ index 160da347ed52739e930044fe456a4dd36e561a43..d06fa20dd605e9ce0e41a4d69ffeec98 if (this.sendParticles(entityplayer, force, d0, d1, d2, packetplayoutworldparticles)) { // CraftBukkit diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 49ef818c6601855924472e655d3419d82c28e339..18e4c893f86cdaf816e5d88416fe3fe7be953bc5 100644 +index 1e96978cb4abf92eadd570bcda6a04ac76793e30..39412e473be4d138d789cabe27f4b64b00f23a97 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -2359,11 +2359,17 @@ public class CraftWorld implements World { +@@ -2404,11 +2404,17 @@ public class CraftWorld implements World { @Override public void spawnParticle(Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, double extra, T data, boolean force) { diff --git a/patches/server/0220-InventoryCloseEvent-Reason-API.patch b/patches/server/0220-InventoryCloseEvent-Reason-API.patch index 107c69a2ed..793fb65362 100644 --- a/patches/server/0220-InventoryCloseEvent-Reason-API.patch +++ b/patches/server/0220-InventoryCloseEvent-Reason-API.patch @@ -29,7 +29,7 @@ index d06fa20dd605e9ce0e41a4d69ffeec98bceb3a63..19f8e74f292e83f7438683efddbaa493 } // Spigot End diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index ecee9d7b4c6fd9defbc1a8ddcffb3221df3587b2..4b554a9556bf29334eaaf9d4f14643ee246899c9 100644 +index ca9662d92db176270ec5490ecc51208b666bc594..740ee29affa30ffd7a7e2b612cae4a1124f9bfb4 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -598,7 +598,7 @@ public class ServerPlayer extends Player { @@ -41,7 +41,7 @@ index ecee9d7b4c6fd9defbc1a8ddcffb3221df3587b2..4b554a9556bf29334eaaf9d4f14643ee this.containerMenu = this.inventoryMenu; } -@@ -750,7 +750,7 @@ public class ServerPlayer extends Player { +@@ -752,7 +752,7 @@ public class ServerPlayer extends Player { // SPIGOT-943 - only call if they have an inventory open if (this.containerMenu != this.inventoryMenu) { @@ -50,7 +50,7 @@ index ecee9d7b4c6fd9defbc1a8ddcffb3221df3587b2..4b554a9556bf29334eaaf9d4f14643ee } net.kyori.adventure.text.Component deathMessage = event.deathMessage() != null ? event.deathMessage() : net.kyori.adventure.text.Component.empty(); // Paper - Adventure -@@ -1401,7 +1401,7 @@ public class ServerPlayer extends Player { +@@ -1403,7 +1403,7 @@ public class ServerPlayer extends Player { } // CraftBukkit end if (this.containerMenu != this.inventoryMenu) { @@ -59,7 +59,7 @@ index ecee9d7b4c6fd9defbc1a8ddcffb3221df3587b2..4b554a9556bf29334eaaf9d4f14643ee } // this.nextContainerCounter(); // CraftBukkit - moved up -@@ -1430,7 +1430,13 @@ public class ServerPlayer extends Player { +@@ -1432,7 +1432,13 @@ public class ServerPlayer extends Player { @Override public void closeContainer() { @@ -187,10 +187,10 @@ index 1ad37b47a64700f9fd895afb26f8b07c0cad72d5..067a3990825dd17d2843a5f8d215d19d // Check if the fromWorld and toWorld are the same. diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index f1f0237e503fd24dfa8fedc48fea2f591fae607f..9eae5bc0f1248f05381f24abdb5ef250fab2fd55 100644 +index 0e1cdea5ba4b01ee5c64b74ebff466e6f5d9045f..e7ae70313146fa779395c5b00d61bcee397f95a5 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1185,7 +1185,7 @@ public class CraftEventFactory { +@@ -1188,7 +1188,7 @@ public class CraftEventFactory { public static AbstractContainerMenu callInventoryOpenEvent(ServerPlayer player, AbstractContainerMenu container, boolean cancelled) { if (player.containerMenu != player.inventoryMenu) { // fire INVENTORY_CLOSE if one already open @@ -199,7 +199,7 @@ index f1f0237e503fd24dfa8fedc48fea2f591fae607f..9eae5bc0f1248f05381f24abdb5ef250 } CraftServer server = player.level.getCraftServer(); -@@ -1351,8 +1351,18 @@ public class CraftEventFactory { +@@ -1354,8 +1354,18 @@ public class CraftEventFactory { return event; } diff --git a/patches/server/0233-Vanished-players-don-t-have-rights.patch b/patches/server/0233-Vanished-players-don-t-have-rights.patch index 9afa401801..f883c5e96c 100644 --- a/patches/server/0233-Vanished-players-don-t-have-rights.patch +++ b/patches/server/0233-Vanished-players-don-t-have-rights.patch @@ -99,10 +99,10 @@ index a84c8e135511eed9db5895bdf7fc68b3952a5521..1fef077a6d5efc8bdc171b5c6e2a4912 public boolean isClientSide() { return this.isClientSide; diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 9eae5bc0f1248f05381f24abdb5ef250fab2fd55..ce01df5dbb4913b9620a1bab3c0a251defb99f75 100644 +index e7ae70313146fa779395c5b00d61bcee397f95a5..b7fbbe39bc36f5315abe658b00704836a40d34ca 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1221,6 +1221,14 @@ public class CraftEventFactory { +@@ -1224,6 +1224,14 @@ public class CraftEventFactory { Projectile projectile = (Projectile) entity.getBukkitEntity(); org.bukkit.entity.Entity collided = position.getEntity().getBukkitEntity(); com.destroystokyo.paper.event.entity.ProjectileCollideEvent event = new com.destroystokyo.paper.event.entity.ProjectileCollideEvent(projectile, collided); diff --git a/patches/server/0260-Asynchronous-chunk-IO-and-loading.patch b/patches/server/0260-Asynchronous-chunk-IO-and-loading.patch index 2fbab391d6..b218fe3dcb 100644 --- a/patches/server/0260-Asynchronous-chunk-IO-and-loading.patch +++ b/patches/server/0260-Asynchronous-chunk-IO-and-loading.patch @@ -3619,10 +3619,10 @@ index e5e138fb23d03eb63e547e74d3e14ec9d96d8107..90f7b06bd2c558be35c4577044fa033e + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index ce723a4340202c16eaf7544f77c1075c4f277cb9..03a7e5d61d8888e1e836bd5a69ee9443b723f72c 100644 +index 9128b6db3f28f168864345ca354707e37a77faaa..8a244988f984e7cb9df7308b21aec1524fbef3f1 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -2426,6 +2426,34 @@ public class CraftWorld implements World { +@@ -2471,6 +2471,34 @@ public class CraftWorld implements World { public DragonBattle getEnderDragonBattle() { return (this.getHandle().dragonFight() == null) ? null : new CraftDragonBattle(this.getHandle().dragonFight()); } diff --git a/patches/server/0263-Improve-death-events.patch b/patches/server/0263-Improve-death-events.patch index 841259fdca..77021d76b3 100644 --- a/patches/server/0263-Improve-death-events.patch +++ b/patches/server/0263-Improve-death-events.patch @@ -19,7 +19,7 @@ maybe more (please check patch overrides for drops for more): - players, armor stands, foxes, chested donkeys/llamas diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 4b554a9556bf29334eaaf9d4f14643ee246899c9..e73046e6d322ddc0feb4979ec0038c4a56778ed9 100644 +index 740ee29affa30ffd7a7e2b612cae4a1124f9bfb4..a0ae4dc83e6ff43239a7d4bbd6f8e4197d6290d3 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -219,6 +219,10 @@ public class ServerPlayer extends Player { @@ -33,9 +33,9 @@ index 4b554a9556bf29334eaaf9d4f14643ee246899c9..e73046e6d322ddc0feb4979ec0038c4a // CraftBukkit start public String displayName; -@@ -747,6 +751,15 @@ public class ServerPlayer extends Player { - Component defaultMessage = this.getCombatTracker().getDeathMessage(); - +@@ -749,6 +753,15 @@ public class ServerPlayer extends Player { + String deathmessage = defaultMessage.getString(); + this.keepLevel = keepInventory; // SPIGOT-2222: pre-set keepLevel org.bukkit.event.entity.PlayerDeathEvent event = CraftEventFactory.callPlayerDeathEvent(this, loot, PaperAdventure.asAdventure(defaultMessage), defaultMessage.getString(), keepInventory); // Paper - Adventure + // Paper start - cancellable death event + if (event.isCancelled()) { @@ -49,7 +49,7 @@ index 4b554a9556bf29334eaaf9d4f14643ee246899c9..e73046e6d322ddc0feb4979ec0038c4a // SPIGOT-943 - only call if they have an inventory open if (this.containerMenu != this.inventoryMenu) { -@@ -894,8 +907,17 @@ public class ServerPlayer extends Player { +@@ -896,8 +909,17 @@ public class ServerPlayer extends Player { } } } @@ -70,7 +70,7 @@ index 4b554a9556bf29334eaaf9d4f14643ee246899c9..e73046e6d322ddc0feb4979ec0038c4a } } diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 616d6404a966153f89ae63b559b5b66cbb832104..676d24a1c57b5d3d14c3599d09196da128b6e19e 100644 +index 4bc467f5c0fd261a01fd4ecc49015b6e7d6b6ef9..82d6d56d6e1bc6f98811a4a9b2a9d80a62c61292 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -261,6 +261,7 @@ public abstract class LivingEntity extends Entity { @@ -110,7 +110,7 @@ index 616d6404a966153f89ae63b559b5b66cbb832104..676d24a1c57b5d3d14c3599d09196da1 } @@ -1613,20 +1613,46 @@ public abstract class LivingEntity extends Entity { if (!this.level.isClientSide && this.hasCustomName()) { - LivingEntity.LOGGER.info("Named entity {} died: {}", this, this.getCombatTracker().getDeathMessage().getString()); + if (org.spigotmc.SpigotConfig.logNamedDeaths) LivingEntity.LOGGER.info("Named entity {} died: {}", this, this.getCombatTracker().getDeathMessage().getString()); // Spigot } + */ // Paper - move down to make death event cancellable - this is the runKillTrigger below @@ -136,7 +136,7 @@ index 616d6404a966153f89ae63b559b5b66cbb832104..676d24a1c57b5d3d14c3599d09196da1 + } + + if (!this.level.isClientSide && this.hasCustomName()) { -+ LivingEntity.LOGGER.info("Named entity {} died: {}", this, this.getCombatTracker().getDeathMessage().getString()); ++ if (org.spigotmc.SpigotConfig.logNamedDeaths) LivingEntity.LOGGER.info("Named entity {} died: {}", this, this.getCombatTracker().getDeathMessage().getString()); // Spigot + } + + this.getCombatTracker().recheckStatus(); @@ -297,7 +297,7 @@ index 30357dd7b527c40f9aa42a5873ad21c46d3c2311..6fac6afd5ea4e35f6bb0e9b859fb9b4c public void injectScaledMaxHealth(Collection collection, boolean force) { diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 0ddd9de39a0d67529a8f973f5dfaf5ff53f5eb66..253075002cffb67095d010a6a4c67d9efff9d5ea 100644 +index 732a6f247e25e245909829d9fa784fced1d3cca2..736e308dff475623fd44370f3ea76e51b582d1dd 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -802,9 +802,16 @@ public class CraftEventFactory { @@ -317,10 +317,10 @@ index 0ddd9de39a0d67529a8f973f5dfaf5ff53f5eb66..253075002cffb67095d010a6a4c67d9e victim.expToDrop = event.getDroppedExp(); for (org.bukkit.inventory.ItemStack stack : event.getDrops()) { -@@ -820,8 +827,15 @@ public class CraftEventFactory { - CraftPlayer entity = victim.getBukkitEntity(); +@@ -821,8 +828,15 @@ public class CraftEventFactory { PlayerDeathEvent event = new PlayerDeathEvent(entity, drops, victim.getExpReward(), 0, deathMessage, stringDeathMessage); // Paper - Adventure event.setKeepInventory(keepInventory); + event.setKeepLevel(victim.keepLevel); // SPIGOT-2222: pre-set keepLevel + populateFields(victim, event); // Paper - make cancellable org.bukkit.World world = entity.getWorld(); Bukkit.getServer().getPluginManager().callEvent(event); @@ -333,7 +333,7 @@ index 0ddd9de39a0d67529a8f973f5dfaf5ff53f5eb66..253075002cffb67095d010a6a4c67d9e victim.keepLevel = event.getKeepLevel(); victim.newLevel = event.getNewLevel(); -@@ -838,6 +852,31 @@ public class CraftEventFactory { +@@ -839,6 +853,31 @@ public class CraftEventFactory { return event; } diff --git a/patches/server/0279-Call-player-spectator-target-events-and-improve-impl.patch b/patches/server/0279-Call-player-spectator-target-events-and-improve-impl.patch index 06f4cdc844..eced650577 100644 --- a/patches/server/0279-Call-player-spectator-target-events-and-improve-impl.patch +++ b/patches/server/0279-Call-player-spectator-target-events-and-improve-impl.patch @@ -19,10 +19,10 @@ spectate the target entity. Co-authored-by: Spottedleaf diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index e73046e6d322ddc0feb4979ec0038c4a56778ed9..1db6027543a11d46b97b72d0a7a0f37f929c81e1 100644 +index a0ae4dc83e6ff43239a7d4bbd6f8e4197d6290d3..95939ed686ac052ca338520f2b2169b717a6127c 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1822,14 +1822,58 @@ public class ServerPlayer extends Player { +@@ -1824,14 +1824,58 @@ public class ServerPlayer extends Player { } public void setCamera(Entity entity) { diff --git a/patches/server/0285-Reset-players-airTicks-on-respawn.patch b/patches/server/0285-Reset-players-airTicks-on-respawn.patch index 19a13a46dc..b60f2ed447 100644 --- a/patches/server/0285-Reset-players-airTicks-on-respawn.patch +++ b/patches/server/0285-Reset-players-airTicks-on-respawn.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Reset players airTicks on respawn diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 1db6027543a11d46b97b72d0a7a0f37f929c81e1..be7707a4aa96ededc72daad3de3d9f926bd2e5da 100644 +index 95939ed686ac052ca338520f2b2169b717a6127c..1fb1755706bac5633094ca7f17744bd46a9e87ee 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2221,6 +2221,7 @@ public class ServerPlayer extends Player { +@@ -2223,6 +2223,7 @@ public class ServerPlayer extends Player { this.setHealth(this.getMaxHealth()); this.stopUsingItem(); // CraftBukkit - SPIGOT-6682: Clear active item on reset diff --git a/patches/server/0297-force-entity-dismount-during-teleportation.patch b/patches/server/0297-force-entity-dismount-during-teleportation.patch index 4277215883..221c896744 100644 --- a/patches/server/0297-force-entity-dismount-during-teleportation.patch +++ b/patches/server/0297-force-entity-dismount-during-teleportation.patch @@ -20,10 +20,10 @@ this is going to be the best soultion all around. Improvements/suggestions welcome! diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index be7707a4aa96ededc72daad3de3d9f926bd2e5da..4f93f576bbbf7e8d0217f8d30f4c578ad917477a 100644 +index 1fb1755706bac5633094ca7f17744bd46a9e87ee..fcbc5019e5f9a9aca56abc0f684dbb54da5c2e0a 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1295,11 +1295,13 @@ public class ServerPlayer extends Player { +@@ -1297,11 +1297,13 @@ public class ServerPlayer extends Player { } } @@ -93,7 +93,7 @@ index 103a0eb2580384d50eda74da83fbc64f5e6dd7cd..70f18293c5b6f6a8f9e83048a393cb21 if (this.valid) { Bukkit.getPluginManager().callEvent(event); diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index ef3b47c30e9fa0a41268b61d3008507587999aa6..f6ed1ec062eef635b8e629b0e200185054c15919 100644 +index da90cd890cbe702565daa485141ce5a680511192..6927e6aa94ca509eef70fea6a489840f1e1f47a1 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3335,11 +3335,13 @@ public abstract class LivingEntity extends Entity { diff --git a/patches/server/0303-Workaround-for-vehicle-tracking-issue-on-disconnect.patch b/patches/server/0303-Workaround-for-vehicle-tracking-issue-on-disconnect.patch index 35b35ab4b5..f48b06649c 100644 --- a/patches/server/0303-Workaround-for-vehicle-tracking-issue-on-disconnect.patch +++ b/patches/server/0303-Workaround-for-vehicle-tracking-issue-on-disconnect.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Workaround for vehicle tracking issue on disconnect diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 95690ac3b3404ebe3d2308aaee09d9ec52b8f76d..8d932e57392a472dae08ada6a72a35636401f4f8 100644 +index c82f40c2b04cb139fcb559c425757aa2b7e37118..2623ed5aa85de9fa900b2671e557ad32c6e9fe21 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1538,6 +1538,13 @@ public class ServerPlayer extends Player { +@@ -1540,6 +1540,13 @@ public class ServerPlayer extends Player { public void disconnect() { this.disconnected = true; this.ejectPassengers(); diff --git a/patches/server/0322-PlayerDeathEvent-getItemsToKeep.patch b/patches/server/0322-PlayerDeathEvent-getItemsToKeep.patch index fbf5f06148..b2694dc828 100644 --- a/patches/server/0322-PlayerDeathEvent-getItemsToKeep.patch +++ b/patches/server/0322-PlayerDeathEvent-getItemsToKeep.patch @@ -8,7 +8,7 @@ Exposes a mutable array on items a player should keep on death Example Usage: https://gist.github.com/aikar/5bb202de6057a051a950ce1f29feb0b4 diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 8d932e57392a472dae08ada6a72a35636401f4f8..8c4052939281061aadbe7b8aba2abda45d7324b5 100644 +index 2623ed5aa85de9fa900b2671e557ad32c6e9fe21..8537d010fa698c05c227f71b83b1e743f8578d84 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -725,6 +725,46 @@ public class ServerPlayer extends Player { @@ -58,7 +58,7 @@ index 8d932e57392a472dae08ada6a72a35636401f4f8..8c4052939281061aadbe7b8aba2abda4 @Override public void die(DamageSource source) { boolean flag = this.level.getGameRules().getBoolean(GameRules.RULE_SHOWDEATHMESSAGES); -@@ -809,6 +849,12 @@ public class ServerPlayer extends Player { +@@ -811,6 +851,12 @@ public class ServerPlayer extends Player { // we clean the player's inventory after the EntityDeathEvent is called so plugins can get the exact state of the inventory. if (!event.getKeepInventory()) { this.getInventory().clearContent(); diff --git a/patches/server/0330-Configurable-Keep-Spawn-Loaded-range-per-world.patch b/patches/server/0330-Configurable-Keep-Spawn-Loaded-range-per-world.patch index 6c2acaf3e6..09d4208a91 100644 --- a/patches/server/0330-Configurable-Keep-Spawn-Loaded-range-per-world.patch +++ b/patches/server/0330-Configurable-Keep-Spawn-Loaded-range-per-world.patch @@ -221,10 +221,10 @@ index 4185e6bcf9b2bb65b2a0fa5fcbeb5684615169a7..dbc29442f2b2ad3ea451910f4944e901 this.maxCount = i * i; } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 3e2ab97daf807a6cc3502214f85559ecd21c59f7..c6373fe0361bd5c77036d36ac8ebe66408335b0c 100644 +index 1731081399133eda9a816e91d0e3e3f9e2c122a5..bcfc4bc482981feca7b291b4fd4e1f2dac8a1f27 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1976,15 +1976,21 @@ public class CraftWorld implements World { +@@ -2021,15 +2021,21 @@ public class CraftWorld implements World { @Override public void setKeepSpawnInMemory(boolean keepLoaded) { diff --git a/patches/server/0347-Fix-stuck-in-sneak-when-changing-worlds-MC-10657.patch b/patches/server/0347-Fix-stuck-in-sneak-when-changing-worlds-MC-10657.patch index 9b76b9d8ef..adae3c243b 100644 --- a/patches/server/0347-Fix-stuck-in-sneak-when-changing-worlds-MC-10657.patch +++ b/patches/server/0347-Fix-stuck-in-sneak-when-changing-worlds-MC-10657.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix stuck in sneak when changing worlds (MC-10657) diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 8c4052939281061aadbe7b8aba2abda45d7324b5..a1000e6753cb11c378595142d116d1e7e084e287 100644 +index 8537d010fa698c05c227f71b83b1e743f8578d84..8eac8e0898ffe621024daf3a1250e9c932cf0fcf 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1097,6 +1097,8 @@ public class ServerPlayer extends Player { +@@ -1099,6 +1099,8 @@ public class ServerPlayer extends Player { this.lastSentHealth = -1.0F; this.lastSentFood = -1; diff --git a/patches/server/0354-PlayerDeathEvent-shouldDropExperience.patch b/patches/server/0354-PlayerDeathEvent-shouldDropExperience.patch index cc3deaa85c..838f34461a 100644 --- a/patches/server/0354-PlayerDeathEvent-shouldDropExperience.patch +++ b/patches/server/0354-PlayerDeathEvent-shouldDropExperience.patch @@ -5,10 +5,10 @@ Subject: [PATCH] PlayerDeathEvent#shouldDropExperience diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index a1000e6753cb11c378595142d116d1e7e084e287..6ef66b171c0d373855550b7622464568e5b4bc5c 100644 +index 8eac8e0898ffe621024daf3a1250e9c932cf0fcf..cd5394a0f1b46946b4f1575412c01bfcd86e782f 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -845,7 +845,7 @@ public class ServerPlayer extends Player { +@@ -847,7 +847,7 @@ public class ServerPlayer extends Player { this.tellNeutralMobsThatIDied(); } // SPIGOT-5478 must be called manually now diff --git a/patches/server/0368-No-Tick-view-distance-implementation.patch b/patches/server/0368-No-Tick-view-distance-implementation.patch index 125e2722b3..8b1f8f1805 100644 --- a/patches/server/0368-No-Tick-view-distance-implementation.patch +++ b/patches/server/0368-No-Tick-view-distance-implementation.patch @@ -520,7 +520,7 @@ index 45c7ebe67019cdbe88b6617a95d5c40d3a68286c..38eebda226e007c8910e04f502ce218c if (withinViewDistance) { DistanceManager.this.ticketThrottlerInput.tell(ChunkTaskPriorityQueueSorter.message(() -> { diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 6ef66b171c0d373855550b7622464568e5b4bc5c..34c7c414cd3f92395a701f0f494ebab82c7b67b3 100644 +index cd5394a0f1b46946b4f1575412c01bfcd86e782f..d234f08782b1a0c50714b8911d048699dc7741d5 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -242,6 +242,7 @@ public class ServerPlayer extends Player { @@ -658,10 +658,10 @@ index 515e28eea8cbab261320352ee0db9b877807f3ed..83ed84f89a036d3768b22a36bc8a0bfc this.postProcessing[i].clear(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 2c4ffaa4e9ce7759e6782547300ec6f457530c3b..a4d05aeccc142808981f1ecebd001c905ae721ed 100644 +index b57e5ffca725b10570aa10a870b992e6b767c2ec..4c439246f476225e6a1c6a2e758cf6d6d0fdf7a9 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -2542,10 +2542,39 @@ public class CraftWorld implements World { +@@ -2587,10 +2587,39 @@ public class CraftWorld implements World { // Spigot start @Override public int getViewDistance() { diff --git a/patches/server/0377-Allow-overriding-the-java-version-check.patch b/patches/server/0377-Allow-overriding-the-java-version-check.patch index 060876acea..7df6cca91f 100644 --- a/patches/server/0377-Allow-overriding-the-java-version-check.patch +++ b/patches/server/0377-Allow-overriding-the-java-version-check.patch @@ -6,13 +6,13 @@ Subject: [PATCH] Allow overriding the java version check -DPaper.IgnoreJavaVersion=true diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 920ba98fdd82ae3f9d507c940020d3142a466682..8311c2b5469009e4410bff3a9ecb7fa4125b26b9 100644 +index 1da136f365664d4f8ace3d2d135b19eb97e55304..33fb61c219f5356a40c4e6e47187a3a606402536 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -185,7 +185,7 @@ public class Main { } - if (javaVersion > 60.0) { - System.err.println("Unsupported Java detected (" + javaVersion + "). Only up to Java 16 is supported."); + if (javaVersion > 61.0) { + System.err.println("Unsupported Java detected (" + javaVersion + "). Only up to Java 17 is supported."); - return; + if (!Boolean.getBoolean("Paper.IgnoreJavaVersion")) return; // Paper } diff --git a/patches/server/0409-Prevent-opening-inventories-when-frozen.patch b/patches/server/0409-Prevent-opening-inventories-when-frozen.patch index 205237803b..9d5aedc08a 100644 --- a/patches/server/0409-Prevent-opening-inventories-when-frozen.patch +++ b/patches/server/0409-Prevent-opening-inventories-when-frozen.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Prevent opening inventories when frozen diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 14f5f6b99c51c51b1c8a7d54e58627ae71caf134..d2cc6e37f115eca94acbb595b974f8dfde69077a 100644 +index bbf67e47ee643ed8d0ca1029b5099bd87f2e3d35..b84cc33b10d84e0484df52e3e8295f4cdc1f3260 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -610,7 +610,7 @@ public class ServerPlayer extends Player { @@ -17,7 +17,7 @@ index 14f5f6b99c51c51b1c8a7d54e58627ae71caf134..d2cc6e37f115eca94acbb595b974f8df this.closeContainer(org.bukkit.event.inventory.InventoryCloseEvent.Reason.CANT_USE); // Paper this.containerMenu = this.inventoryMenu; } -@@ -1455,7 +1455,7 @@ public class ServerPlayer extends Player { +@@ -1457,7 +1457,7 @@ public class ServerPlayer extends Player { } else { // CraftBukkit start this.containerMenu = container; diff --git a/patches/server/0413-Implement-Player-Client-Options-API.patch b/patches/server/0413-Implement-Player-Client-Options-API.patch index c35331a8be..bc18e14f62 100644 --- a/patches/server/0413-Implement-Player-Client-Options-API.patch +++ b/patches/server/0413-Implement-Player-Client-Options-API.patch @@ -85,10 +85,10 @@ index 0000000000000000000000000000000000000000..b6f4400df3d8ec7e06a996de54f8cabb + } +} diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index d2cc6e37f115eca94acbb595b974f8dfde69077a..a58424219a2aed13494b174632acee36a9b800d3 100644 +index b84cc33b10d84e0484df52e3e8295f4cdc1f3260..992e9d3b7713a651af91fdc0f231da2f2964be41 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1807,6 +1807,7 @@ public class ServerPlayer extends Player { +@@ -1809,6 +1809,7 @@ public class ServerPlayer extends Player { public String locale = null; // CraftBukkit - add, lowercase // Paper - default to null public java.util.Locale adventure$locale = java.util.Locale.US; // Paper public void updateOptions(ServerboundClientInformationPacket packet) { diff --git a/patches/server/0455-Add-Plugin-Tickets-to-API-Chunk-Methods.patch b/patches/server/0455-Add-Plugin-Tickets-to-API-Chunk-Methods.patch index 6a28cf3ca9..773a7c76df 100644 --- a/patches/server/0455-Add-Plugin-Tickets-to-API-Chunk-Methods.patch +++ b/patches/server/0455-Add-Plugin-Tickets-to-API-Chunk-Methods.patch @@ -44,7 +44,7 @@ index 9dc9153bd53b0d1e63d0367498a99271821217e0..5285a5b16b0b706d9e1728a23628ff12 this.printSaveWarning = false; console.autosavePeriod = this.configuration.getInt("ticks-per.autosave"); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index e6b7302554b2a54363d55e149744237679262174..8536452ccd65814b55bc78736060b387e051c3db 100644 +index 600e68ab19121c63983633587a60a2ec4dc60d6a..32c24f9e37262f2a854556787f61cd7b7336da11 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -406,8 +406,21 @@ public class CraftWorld implements World { @@ -111,7 +111,7 @@ index e6b7302554b2a54363d55e149744237679262174..8536452ccd65814b55bc78736060b387 world.getChunkSource().getChunk(x, z, ChunkStatus.FULL, true); return true; // Paper end -@@ -2545,6 +2561,7 @@ public class CraftWorld implements World { +@@ -2590,6 +2606,7 @@ public class CraftWorld implements World { return this.world.getChunkSource().getChunkAtAsynchronously(x, z, gen, urgent).thenComposeAsync((either) -> { net.minecraft.world.level.chunk.LevelChunk chunk = (net.minecraft.world.level.chunk.LevelChunk) either.left().orElse(null); diff --git a/patches/server/0485-Add-PrepareResultEvent.patch b/patches/server/0485-Add-PrepareResultEvent.patch index 12f48fc997..09b1692743 100644 --- a/patches/server/0485-Add-PrepareResultEvent.patch +++ b/patches/server/0485-Add-PrepareResultEvent.patch @@ -94,10 +94,10 @@ index 3df5031ec2c50dc6eb2533318cf8a98f21b03d2a..c971a534ded962e3be92c71059c75cc1 private void setupRecipeList(Container input, ItemStack stack) { diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index be7a9b0d8f65c884c0ff183041c20b7a99c30e2a..69a4795266b40c3cd113b13300bb7bbdcf842496 100644 +index d5588bca58d999b7242041127fac3809aa9e2ddd..c96953ab3f358c7c67297532cd6740ff3ff61aa3 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1548,19 +1548,44 @@ public class CraftEventFactory { +@@ -1551,19 +1551,44 @@ public class CraftEventFactory { return event; } diff --git a/patches/server/0488-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch b/patches/server/0488-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch index e2ffdc31f3..307bdb6dd5 100644 --- a/patches/server/0488-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch +++ b/patches/server/0488-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch @@ -1027,7 +1027,7 @@ index ffe700489cb2d507421abfb48939808de0adc8be..c63cbb6da6f734c3a93c63af2b28a6e5 boolean flag1 = this.chunkMap.promoteChunkMap(); diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 89fcf88f35a071db1704c026a99625c84daf2f28..ab12bc6db7fdc865989804aa6366cdefefbc9a31 100644 +index cf09bd17b9d2be04f79edef6debdd815b5f7f86c..6cf83d9b1e43ade17cb67843dbdc11937eda1e08 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -189,6 +189,14 @@ public class ServerPlayer extends Player { @@ -1157,10 +1157,10 @@ index 3e951522169fcb071cc578e8bd9a78baa10f4e4d..cc4b48f6c62aaccddaf81576865b56f8 public float yRotO; public float xRotO; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 8536452ccd65814b55bc78736060b387e051c3db..881af8e0b8383b25b94958b03cfdb6602c4a33cf 100644 +index 32c24f9e37262f2a854556787f61cd7b7336da11..08b4589c3b565db70e89aea0715e53c7c0529460 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -2559,6 +2559,12 @@ public class CraftWorld implements World { +@@ -2604,6 +2604,12 @@ public class CraftWorld implements World { return future; } diff --git a/patches/server/0500-Add-missing-strikeLighting-call-to-World-spigot-stri.patch b/patches/server/0500-Add-missing-strikeLighting-call-to-World-spigot-stri.patch index e8a952aed3..3429e11fbe 100644 --- a/patches/server/0500-Add-missing-strikeLighting-call-to-World-spigot-stri.patch +++ b/patches/server/0500-Add-missing-strikeLighting-call-to-World-spigot-stri.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add missing strikeLighting call to diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 881af8e0b8383b25b94958b03cfdb6602c4a33cf..d53918ec0911ef2becccb4dc6e11a9b1c8b8bf34 100644 +index 08b4589c3b565db70e89aea0715e53c7c0529460..7bb0f720d3acd9b0b443446ed639b5c645aa373c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -2630,6 +2630,7 @@ public class CraftWorld implements World { +@@ -2675,6 +2675,7 @@ public class CraftWorld implements World { lightning.moveTo( loc.getX(), loc.getY(), loc.getZ() ); lightning.visualOnly = true; lightning.isSilent = isSilent; diff --git a/patches/server/0571-Player-Chunk-Load-Unload-Events.patch b/patches/server/0571-Player-Chunk-Load-Unload-Events.patch index 61b8d7f369..a41df32b60 100644 --- a/patches/server/0571-Player-Chunk-Load-Unload-Events.patch +++ b/patches/server/0571-Player-Chunk-Load-Unload-Events.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Player Chunk Load/Unload Events diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 2310ad5d89f9184d11c3f2d8de211425b81858df..6e6cfb0a0c27c69fcd749ffae42ef4ea9a7eeaec 100644 +index 84ef1c60223d421cf515c07342d2296e477dd4b7..82b4805b417b130be3ce9ab6ed886c85e811ba98 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2094,11 +2094,21 @@ public class ServerPlayer extends Player { +@@ -2096,11 +2096,21 @@ public class ServerPlayer extends Player { public void trackChunk(ChunkPos chunkPos, Packet chunkDataPacket, Packet lightUpdatePacket) { this.connection.send(lightUpdatePacket); this.connection.send(chunkDataPacket); diff --git a/patches/server/0590-Added-WorldGameRuleChangeEvent.patch b/patches/server/0590-Added-WorldGameRuleChangeEvent.patch index 6afc1dba16..cf775df60e 100644 --- a/patches/server/0590-Added-WorldGameRuleChangeEvent.patch +++ b/patches/server/0590-Added-WorldGameRuleChangeEvent.patch @@ -64,10 +64,10 @@ index 888d812118c15c212284687ae5842a94f5715d52..e7ca5d6fb8922e7e8065864f736b0605 public int get() { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 59543c88dcde9d2056bb481383a2784be0637ae8..7647caea0fb8dbb2b8837dc4379f0bc634df719e 100644 +index ae396e3ec6c5506ed49b5e80cf236d7d2128cee1..2441a791385c6292d2607de68bfd190e43d9eddc 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -2364,8 +2364,13 @@ public class CraftWorld implements World { +@@ -2409,8 +2409,13 @@ public class CraftWorld implements World { if (!this.isGameRule(rule)) return false; @@ -82,7 +82,7 @@ index 59543c88dcde9d2056bb481383a2784be0637ae8..7647caea0fb8dbb2b8837dc4379f0bc6 handle.onChanged(this.getHandle().getServer()); return true; } -@@ -2400,8 +2405,12 @@ public class CraftWorld implements World { +@@ -2445,8 +2450,12 @@ public class CraftWorld implements World { if (!this.isGameRule(rule.getName())) return false; diff --git a/patches/server/0593-Implemented-BlockFailedDispenseEvent.patch b/patches/server/0593-Implemented-BlockFailedDispenseEvent.patch index 95ee6b1c76..18fb1da566 100644 --- a/patches/server/0593-Implemented-BlockFailedDispenseEvent.patch +++ b/patches/server/0593-Implemented-BlockFailedDispenseEvent.patch @@ -32,10 +32,10 @@ index 51723c8f740c7b0bbd15acc0f1c848790c2ff299..5a95b550c767284563c124df1ff45322 } else { ItemStack itemstack = tileentitydispenser.getItem(i); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 8818a2d971615234a29710eb3cff2153f5896518..f5e83d82940602ef7733fbc61077c42c72da74bd 100644 +index 2cab0a3eb489f1f36bb7eaae2706e3b4518668ce..f960ee7644ed792c4136cbcb75cc12e8dbed65c4 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1811,4 +1811,12 @@ public class CraftEventFactory { +@@ -1814,4 +1814,12 @@ public class CraftEventFactory { Bukkit.getPluginManager().callEvent(event); return event; } diff --git a/patches/server/0608-Implement-BlockPreDispenseEvent.patch b/patches/server/0608-Implement-BlockPreDispenseEvent.patch index b6f97a1fc0..42a3c8a7f7 100644 --- a/patches/server/0608-Implement-BlockPreDispenseEvent.patch +++ b/patches/server/0608-Implement-BlockPreDispenseEvent.patch @@ -17,10 +17,10 @@ index 501a5483160dba050261bb3448317a097cdb7ef2..2dcac4b638073aa1748f26f61219dbf9 tileentitydispenser.setItem(i, idispensebehavior.dispense(sourceblock, itemstack)); } diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 67c3405264fda2f7ce2b9822f8e0a8da71998677..c96f598089ae441ee737b26705c2c1e5e9dcd326 100644 +index 00426ffa3da994aed445f0767a99b83154773e10..b06d92fa7c1d7cb7a9637e9c435f95b8c18d0581 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1829,5 +1829,11 @@ public class CraftEventFactory { +@@ -1832,5 +1832,11 @@ public class CraftEventFactory { io.papermc.paper.event.block.BlockFailedDispenseEvent event = new io.papermc.paper.event.block.BlockFailedDispenseEvent(block); return event.callEvent(); } diff --git a/patches/server/0614-Add-dropLeash-variable-to-EntityUnleashEvent.patch b/patches/server/0614-Add-dropLeash-variable-to-EntityUnleashEvent.patch index cec606a051..c34beb7fcf 100644 --- a/patches/server/0614-Add-dropLeash-variable-to-EntityUnleashEvent.patch +++ b/patches/server/0614-Add-dropLeash-variable-to-EntityUnleashEvent.patch @@ -122,10 +122,10 @@ index b9b67134f02fd7484ed19905c9ae1f9b8a26ce26..c05f173b7642380900fdd77ce5d2c020 } } diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index c96f598089ae441ee737b26705c2c1e5e9dcd326..b2ef3b767957f961b3c47db73fba3ee9dab226be 100644 +index b06d92fa7c1d7cb7a9637e9c435f95b8c18d0581..7c68b15c432084adf069797cfccb0526055796cb 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1481,8 +1481,10 @@ public class CraftEventFactory { +@@ -1484,8 +1484,10 @@ public class CraftEventFactory { return itemInHand; } diff --git a/patches/server/0616-Reset-shield-blocking-on-dimension-change.patch b/patches/server/0616-Reset-shield-blocking-on-dimension-change.patch index a7f746e969..28c8cdec51 100644 --- a/patches/server/0616-Reset-shield-blocking-on-dimension-change.patch +++ b/patches/server/0616-Reset-shield-blocking-on-dimension-change.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Reset shield blocking on dimension change diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 6e6cfb0a0c27c69fcd749ffae42ef4ea9a7eeaec..8a71234fa948dbdf05dff0ab10af2bcac35cc921 100644 +index 82b4805b417b130be3ce9ab6ed886c85e811ba98..460f8ce00894065a15d931906c8a05ca990d6e15 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1142,6 +1142,11 @@ public class ServerPlayer extends Player { +@@ -1144,6 +1144,11 @@ public class ServerPlayer extends Player { this.level.getCraftServer().getPluginManager().callEvent(changeEvent); // CraftBukkit end } diff --git a/patches/server/0641-Implement-Keyed-on-World.patch b/patches/server/0641-Implement-Keyed-on-World.patch index dbcfae6eda..00b8450bc1 100644 --- a/patches/server/0641-Implement-Keyed-on-World.patch +++ b/patches/server/0641-Implement-Keyed-on-World.patch @@ -34,10 +34,10 @@ index cfad79b859abfeb9bd83843b04bff3fd5d2e0ac3..210032209b3cdd2cda0e7463e3ee0e02 // Check if a World already exists with the UID. if (this.getWorld(world.getUID()) != null) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 7647caea0fb8dbb2b8837dc4379f0bc634df719e..1a078b6c16d5932d4383113e455bd89884d2a98b 100644 +index 2441a791385c6292d2607de68bfd190e43d9eddc..2e2566206a3fd229759b9f5f89aa6d89a6061758 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -2587,6 +2587,11 @@ public class CraftWorld implements World { +@@ -2632,6 +2632,11 @@ public class CraftWorld implements World { return java.util.concurrent.CompletableFuture.completedFuture(chunk == null ? null : chunk.getBukkitChunk()); }, net.minecraft.server.MinecraftServer.getServer()); } diff --git a/patches/server/0665-More-World-API.patch b/patches/server/0665-More-World-API.patch index 552a3f7a8a..8fcd0398cb 100644 --- a/patches/server/0665-More-World-API.patch +++ b/patches/server/0665-More-World-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] More World API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 753b9773a46ebb4afefa9ccb2435bf48ff09b4b5..36283d4b07a7cfea09da88bcad3c406cb6e0d880 100644 +index 833010216e868ade5bb3bb815f7c867c3d04979f..019261b244c4a35592cbfeab24c7ed7c45776433 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -2534,6 +2534,75 @@ public class CraftWorld implements World { +@@ -2579,6 +2579,60 @@ public class CraftWorld implements World { return (nearest == null) ? null : new Location(this, nearest.getX(), nearest.getY(), nearest.getZ()); } @@ -31,11 +31,6 @@ index 753b9773a46ebb4afefa9ccb2435bf48ff09b4b5..36283d4b07a7cfea09da88bcad3c406c + } + + @Override -+ public boolean isNatural() { -+ return getHandle().dimensionType().natural(); -+ } -+ -+ @Override + public double getCoordinateScale() { + return getHandle().dimensionType().coordinateScale(); + } @@ -51,11 +46,6 @@ index 753b9773a46ebb4afefa9ccb2435bf48ff09b4b5..36283d4b07a7cfea09da88bcad3c406c + } + + @Override -+ public boolean isPiglinSafe() { -+ return getHandle().dimensionType().piglinSafe(); -+ } -+ -+ @Override + public boolean doesBedWork() { + return getHandle().dimensionType().bedWorks(); + } @@ -66,11 +56,6 @@ index 753b9773a46ebb4afefa9ccb2435bf48ff09b4b5..36283d4b07a7cfea09da88bcad3c406c + } + + @Override -+ public boolean hasRaids() { -+ return getHandle().dimensionType().hasRaids(); -+ } -+ -+ @Override + public boolean isFixedTime() { + return getHandle().dimensionType().hasFixedTime(); + } diff --git a/patches/server/0678-call-PortalCreateEvent-players-and-end-platform.patch b/patches/server/0678-call-PortalCreateEvent-players-and-end-platform.patch index 63023a89ca..e01948e59b 100644 --- a/patches/server/0678-call-PortalCreateEvent-players-and-end-platform.patch +++ b/patches/server/0678-call-PortalCreateEvent-players-and-end-platform.patch @@ -5,10 +5,10 @@ Subject: [PATCH] call PortalCreateEvent players and end platform diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 8a71234fa948dbdf05dff0ab10af2bcac35cc921..89be85b24643f91223d9928059700ace0f452be9 100644 +index 460f8ce00894065a15d931906c8a05ca990d6e15..8f3ba87bc8d12bd344d81672b5dd96efc27e9e5d 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1169,15 +1169,21 @@ public class ServerPlayer extends Player { +@@ -1171,15 +1171,21 @@ public class ServerPlayer extends Player { private void createEndPlatform(ServerLevel world, BlockPos centerPos) { BlockPos.MutableBlockPos blockposition_mutableblockposition = centerPos.mutable(); diff --git a/patches/server/0683-additions-to-PlayerGameModeChangeEvent.patch b/patches/server/0683-additions-to-PlayerGameModeChangeEvent.patch index 399c5fb08d..4e633f999d 100644 --- a/patches/server/0683-additions-to-PlayerGameModeChangeEvent.patch +++ b/patches/server/0683-additions-to-PlayerGameModeChangeEvent.patch @@ -45,10 +45,10 @@ index d75f78d2e3fb1376e8f6a8668c98a04a693c99e1..79f6089b934124c3309c6bee2e48b36b } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 89be85b24643f91223d9928059700ace0f452be9..5b2b6747768e638423c86ce13a419f5a3f63d30d 100644 +index 8f3ba87bc8d12bd344d81672b5dd96efc27e9e5d..6dadec179459e606e96c858b5c8ba05e6cd12918 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1790,8 +1790,15 @@ public class ServerPlayer extends Player { +@@ -1792,8 +1792,15 @@ public class ServerPlayer extends Player { } public boolean setGameMode(GameType gameMode) { @@ -66,7 +66,7 @@ index 89be85b24643f91223d9928059700ace0f452be9..5b2b6747768e638423c86ce13a419f5a } else { this.connection.send(new ClientboundGameEventPacket(ClientboundGameEventPacket.CHANGE_GAME_MODE, (float) gameMode.getId())); if (gameMode == GameType.SPECTATOR) { -@@ -1803,7 +1810,7 @@ public class ServerPlayer extends Player { +@@ -1805,7 +1812,7 @@ public class ServerPlayer extends Player { this.onUpdateAbilities(); this.updateEffectVisibility(); @@ -75,7 +75,7 @@ index 89be85b24643f91223d9928059700ace0f452be9..5b2b6747768e638423c86ce13a419f5a } } -@@ -2185,6 +2192,14 @@ public class ServerPlayer extends Player { +@@ -2187,6 +2194,14 @@ public class ServerPlayer extends Player { } public void loadGameTypes(@Nullable CompoundTag nbt) { diff --git a/patches/server/0691-Add-EntityInsideBlockEvent.patch b/patches/server/0691-Add-EntityInsideBlockEvent.patch index bbc7d21ff3..23f29c8812 100644 --- a/patches/server/0691-Add-EntityInsideBlockEvent.patch +++ b/patches/server/0691-Add-EntityInsideBlockEvent.patch @@ -65,17 +65,17 @@ index 722f1816cd4130fa4b1e2310badedc77ab96eee6..2a02fdf58640d26b82e0ca22d0d8ff33 entity.hurt(DamageSource.CACTUS, 1.0F); CraftEventFactory.blockDamage = null; // CraftBukkit diff --git a/src/main/java/net/minecraft/world/level/block/CampfireBlock.java b/src/main/java/net/minecraft/world/level/block/CampfireBlock.java -index f602ddb6fc5a9d026239c900ec800122663d6bfc..2519a0f511f0a6065459cd2fe2d9a3e68e55d222 100644 +index a1f3d145414979a1994d608d525471d95fd2f72e..7d0d6da335ff3bf810fa951553b58ff8a3267b0f 100644 --- a/src/main/java/net/minecraft/world/level/block/CampfireBlock.java +++ b/src/main/java/net/minecraft/world/level/block/CampfireBlock.java -@@ -91,6 +91,7 @@ public class CampfireBlock extends BaseEntityBlock implements SimpleWaterloggedB +@@ -94,6 +94,7 @@ public class CampfireBlock extends BaseEntityBlock implements SimpleWaterloggedB @Override public void entityInside(BlockState state, Level world, BlockPos pos, Entity entity) { + if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper if (!entity.fireImmune() && (Boolean) state.getValue(CampfireBlock.LIT) && entity instanceof LivingEntity && !EnchantmentHelper.hasFrostWalker((LivingEntity) entity)) { + org.bukkit.craftbukkit.event.CraftEventFactory.blockDamage = CraftBlock.at(world, pos); // CraftBukkit entity.hurt(DamageSource.IN_FIRE, (float) this.fireDamage); - } diff --git a/src/main/java/net/minecraft/world/level/block/CropBlock.java b/src/main/java/net/minecraft/world/level/block/CropBlock.java index ea8047d4509632c9bc8247356f6eb3d1289db672..6dda5eeca4e310eceb2598322803bfafc184e9c7 100644 --- a/src/main/java/net/minecraft/world/level/block/CropBlock.java diff --git a/patches/server/0713-Fix-PlayerDropItemEvent-using-wrong-item.patch b/patches/server/0713-Fix-PlayerDropItemEvent-using-wrong-item.patch index e0e095444b..f9a347ac3d 100644 --- a/patches/server/0713-Fix-PlayerDropItemEvent-using-wrong-item.patch +++ b/patches/server/0713-Fix-PlayerDropItemEvent-using-wrong-item.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix PlayerDropItemEvent using wrong item diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 5b2b6747768e638423c86ce13a419f5a3f63d30d..764ce055a28f355a205c67f60632cac1bd8eb182 100644 +index 6dadec179459e606e96c858b5c8ba05e6cd12918..6a3da6993474a38e7f69b6da49bb11ab16b0f3d2 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2161,7 +2161,7 @@ public class ServerPlayer extends Player { +@@ -2163,7 +2163,7 @@ public class ServerPlayer extends Player { if (retainOwnership) { if (!itemstack1.isEmpty()) { diff --git a/patches/server/0721-Config-option-for-named-entity-death-logging.patch b/patches/server/0721-Config-option-for-named-entity-death-logging.patch deleted file mode 100644 index fb46c4dac1..0000000000 --- a/patches/server/0721-Config-option-for-named-entity-death-logging.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Malfrador -Date: Wed, 7 Jul 2021 12:48:50 +0200 -Subject: [PATCH] Config option for named entity death logging - - -diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index 6f51eb31a06922a9d0c3697755c1bfe8baf6cfe2..95d8cf449bf0439fddaf319246fef51e1570b68e 100644 ---- a/src/main/java/com/destroystokyo/paper/PaperConfig.java -+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java -@@ -501,6 +501,11 @@ public class PaperConfig { - deobfuscateStacktraces = getBoolean("settings.loggers.deobfuscate-stacktraces", deobfuscateStacktraces); - } - -+ public static boolean logNamedEntityDeaths = true; -+ private static void namedEntityDeaths() { -+ logNamedEntityDeaths = getBoolean("settings.log-named-entity-deaths", logNamedEntityDeaths); -+ } -+ - public static int itemValidationDisplayNameLength = 8192; - public static int itemValidationLocNameLength = 8192; - public static int itemValidationLoreLineLength = 8192; -diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 442d0df276defbbea1b4282b99460ab463c2e5e0..027898e97667081840562547653d4adaeae01dda 100644 ---- a/src/main/java/net/minecraft/world/entity/LivingEntity.java -+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -1634,7 +1634,7 @@ public abstract class LivingEntity extends Entity { - this.stopSleeping(); - } - -- if (!this.level.isClientSide && this.hasCustomName()) { -+ if (com.destroystokyo.paper.PaperConfig.logNamedEntityDeaths && !this.level.isClientSide && this.hasCustomName()) { // Paper - add setting for entity death logging - LivingEntity.LOGGER.info("Named entity {} died: {}", this, this.getCombatTracker().getDeathMessage().getString()); - } - diff --git a/patches/server/0722-Fix-commands-from-signs-not-firing-command-events.patch b/patches/server/0721-Fix-commands-from-signs-not-firing-command-events.patch similarity index 100% rename from patches/server/0722-Fix-commands-from-signs-not-firing-command-events.patch rename to patches/server/0721-Fix-commands-from-signs-not-firing-command-events.patch diff --git a/patches/server/0723-Adds-PlayerArmSwingEvent.patch b/patches/server/0722-Adds-PlayerArmSwingEvent.patch similarity index 100% rename from patches/server/0723-Adds-PlayerArmSwingEvent.patch rename to patches/server/0722-Adds-PlayerArmSwingEvent.patch diff --git a/patches/server/0724-Fixes-kick-event-leave-message-not-being-sent.patch b/patches/server/0723-Fixes-kick-event-leave-message-not-being-sent.patch similarity index 100% rename from patches/server/0724-Fixes-kick-event-leave-message-not-being-sent.patch rename to patches/server/0723-Fixes-kick-event-leave-message-not-being-sent.patch diff --git a/patches/server/0725-Add-config-for-mobs-immune-to-default-effects.patch b/patches/server/0724-Add-config-for-mobs-immune-to-default-effects.patch similarity index 98% rename from patches/server/0725-Add-config-for-mobs-immune-to-default-effects.patch rename to patches/server/0724-Add-config-for-mobs-immune-to-default-effects.patch index d9ba9c5ca3..f30902fbec 100644 --- a/patches/server/0725-Add-config-for-mobs-immune-to-default-effects.patch +++ b/patches/server/0724-Add-config-for-mobs-immune-to-default-effects.patch @@ -31,7 +31,7 @@ index b8a2406d847051442485691c91dcd82d40258424..6ff53e138ea17c3e8283a52251c81d5c private void nerfNetherPortalPigmen() { nerfNetherPortalPigmen = getBoolean("game-mechanics.nerf-pigmen-from-nether-portals", nerfNetherPortalPigmen); diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 027898e97667081840562547653d4adaeae01dda..24c629d5f26bc5aadebcf39a63930b3448525242 100644 +index 8443d1531cf361509abfacff296ce277e35c6b13..5126c1440e0f3354dbcaa05d24a4b81e044473cd 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -1133,7 +1133,7 @@ public abstract class LivingEntity extends Entity { diff --git a/patches/server/0726-Fix-incorrect-message-for-outdated-client.patch b/patches/server/0725-Fix-incorrect-message-for-outdated-client.patch similarity index 100% rename from patches/server/0726-Fix-incorrect-message-for-outdated-client.patch rename to patches/server/0725-Fix-incorrect-message-for-outdated-client.patch diff --git a/patches/server/0727-Fix-MerchantOffer-BuyB-Only-AssertionError.patch b/patches/server/0726-Fix-MerchantOffer-BuyB-Only-AssertionError.patch similarity index 100% rename from patches/server/0727-Fix-MerchantOffer-BuyB-Only-AssertionError.patch rename to patches/server/0726-Fix-MerchantOffer-BuyB-Only-AssertionError.patch diff --git a/patches/server/0728-Don-t-apply-cramming-damage-to-players.patch b/patches/server/0727-Don-t-apply-cramming-damage-to-players.patch similarity index 93% rename from patches/server/0728-Don-t-apply-cramming-damage-to-players.patch rename to patches/server/0727-Don-t-apply-cramming-damage-to-players.patch index 7698abdfa5..ce606be256 100644 --- a/patches/server/0728-Don-t-apply-cramming-damage-to-players.patch +++ b/patches/server/0727-Don-t-apply-cramming-damage-to-players.patch @@ -26,10 +26,10 @@ index 6ff53e138ea17c3e8283a52251c81d5cdf91ebac..0e7d29dbbdb862dd5876adee26fbba02 } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 764ce055a28f355a205c67f60632cac1bd8eb182..ec044cadd268d6e95e975c8bf929825236839db8 100644 +index 6a3da6993474a38e7f69b6da49bb11ab16b0f3d2..9cb2b5f3f2a974d30448529d83b0aade82eb6f97 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1419,7 +1419,7 @@ public class ServerPlayer extends Player { +@@ -1421,7 +1421,7 @@ public class ServerPlayer extends Player { @Override public boolean isInvulnerableTo(DamageSource damageSource) { diff --git a/patches/server/0729-Rate-options-and-timings-for-sensors-and-behaviors.patch b/patches/server/0728-Rate-options-and-timings-for-sensors-and-behaviors.patch similarity index 100% rename from patches/server/0729-Rate-options-and-timings-for-sensors-and-behaviors.patch rename to patches/server/0728-Rate-options-and-timings-for-sensors-and-behaviors.patch diff --git a/patches/server/0730-Add-a-bunch-of-missing-forceDrop-toggles.patch b/patches/server/0729-Add-a-bunch-of-missing-forceDrop-toggles.patch similarity index 100% rename from patches/server/0730-Add-a-bunch-of-missing-forceDrop-toggles.patch rename to patches/server/0729-Add-a-bunch-of-missing-forceDrop-toggles.patch diff --git a/patches/server/0731-Stinger-API.patch b/patches/server/0730-Stinger-API.patch similarity index 100% rename from patches/server/0731-Stinger-API.patch rename to patches/server/0730-Stinger-API.patch diff --git a/patches/server/0732-Fix-incosistency-issue-with-empty-map-items-in-CB.patch b/patches/server/0731-Fix-incosistency-issue-with-empty-map-items-in-CB.patch similarity index 100% rename from patches/server/0732-Fix-incosistency-issue-with-empty-map-items-in-CB.patch rename to patches/server/0731-Fix-incosistency-issue-with-empty-map-items-in-CB.patch diff --git a/patches/server/0733-Add-System.out.println-catcher.patch b/patches/server/0732-Add-System.out.println-catcher.patch similarity index 100% rename from patches/server/0733-Add-System.out.println-catcher.patch rename to patches/server/0732-Add-System.out.println-catcher.patch diff --git a/patches/server/0734-Fix-test-not-bootstrapping.patch b/patches/server/0733-Fix-test-not-bootstrapping.patch similarity index 100% rename from patches/server/0734-Fix-test-not-bootstrapping.patch rename to patches/server/0733-Fix-test-not-bootstrapping.patch diff --git a/patches/server/0735-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch b/patches/server/0734-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch similarity index 100% rename from patches/server/0735-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch rename to patches/server/0734-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch diff --git a/patches/server/0736-Improve-boat-collision-performance.patch b/patches/server/0735-Improve-boat-collision-performance.patch similarity index 98% rename from patches/server/0736-Improve-boat-collision-performance.patch rename to patches/server/0735-Improve-boat-collision-performance.patch index 246d0e5b09..428ea74ec3 100644 --- a/patches/server/0736-Improve-boat-collision-performance.patch +++ b/patches/server/0735-Improve-boat-collision-performance.patch @@ -17,7 +17,7 @@ index 81f4f26a6b83079d36acd1fd86dede0eb1116c01..59437f04911662f06596ef61b91017ca public static Collector, ?, Map> toMap() { diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 24c629d5f26bc5aadebcf39a63930b3448525242..2b7eeb5659b1083ef550eb9feb0b7ba8a92a92e3 100644 +index 5126c1440e0f3354dbcaa05d24a4b81e044473cd..b2e48e16bc944e6c5898f3d415e935c421243e16 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -1321,7 +1321,7 @@ public abstract class LivingEntity extends Entity { diff --git a/patches/server/0737-Prevent-AFK-kick-while-watching-end-credits.patch b/patches/server/0736-Prevent-AFK-kick-while-watching-end-credits.patch similarity index 100% rename from patches/server/0737-Prevent-AFK-kick-while-watching-end-credits.patch rename to patches/server/0736-Prevent-AFK-kick-while-watching-end-credits.patch diff --git a/patches/server/0738-Allow-skipping-writing-of-comments-to-server.propert.patch b/patches/server/0737-Allow-skipping-writing-of-comments-to-server.propert.patch similarity index 100% rename from patches/server/0738-Allow-skipping-writing-of-comments-to-server.propert.patch rename to patches/server/0737-Allow-skipping-writing-of-comments-to-server.propert.patch diff --git a/patches/server/0739-Add-PlayerSetSpawnEvent.patch b/patches/server/0738-Add-PlayerSetSpawnEvent.patch similarity index 97% rename from patches/server/0739-Add-PlayerSetSpawnEvent.patch rename to patches/server/0738-Add-PlayerSetSpawnEvent.patch index e32a2be5f1..ce1470b81e 100644 --- a/patches/server/0739-Add-PlayerSetSpawnEvent.patch +++ b/patches/server/0738-Add-PlayerSetSpawnEvent.patch @@ -18,10 +18,10 @@ index e95f2222814e104bf9194a96385737dffe2cb2b5..249ab7357aa19d87179fa4c3ae89d9d3 String string = resourceKey.location().toString(); diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index ec044cadd268d6e95e975c8bf929825236839db8..5ecfd9a1e39343746828520c307879547feb33a7 100644 +index 9cb2b5f3f2a974d30448529d83b0aade82eb6f97..bc05cc34f6cd526a1d13261f1ac779d5397cbbac 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1260,7 +1260,7 @@ public class ServerPlayer extends Player { +@@ -1262,7 +1262,7 @@ public class ServerPlayer extends Player { } else if (this.bedBlocked(blockposition, enumdirection)) { return Either.left(Player.BedSleepingProblem.OBSTRUCTED); } else { @@ -30,7 +30,7 @@ index ec044cadd268d6e95e975c8bf929825236839db8..5ecfd9a1e39343746828520c30787954 if (this.level.isDay()) { return Either.left(Player.BedSleepingProblem.NOT_POSSIBLE_NOW); } else { -@@ -2088,12 +2088,33 @@ public class ServerPlayer extends Player { +@@ -2090,12 +2090,33 @@ public class ServerPlayer extends Player { return this.respawnForced; } diff --git a/patches/server/0741-Make-hoppers-respect-inventory-max-stack-size.patch b/patches/server/0739-Make-hoppers-respect-inventory-max-stack-size.patch similarity index 100% rename from patches/server/0741-Make-hoppers-respect-inventory-max-stack-size.patch rename to patches/server/0739-Make-hoppers-respect-inventory-max-stack-size.patch diff --git a/patches/server/0742-Optimize-entity-tracker-passenger-checks.patch b/patches/server/0740-Optimize-entity-tracker-passenger-checks.patch similarity index 100% rename from patches/server/0742-Optimize-entity-tracker-passenger-checks.patch rename to patches/server/0740-Optimize-entity-tracker-passenger-checks.patch diff --git a/patches/server/0740-call-EntityDamageByBlockEvent-for-campfires.patch b/patches/server/0740-call-EntityDamageByBlockEvent-for-campfires.patch deleted file mode 100644 index a305892304..0000000000 --- a/patches/server/0740-call-EntityDamageByBlockEvent-for-campfires.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Jake Potrebic -Date: Wed, 21 Jul 2021 11:46:28 -0700 -Subject: [PATCH] call EntityDamageByBlockEvent for campfires - - -diff --git a/src/main/java/net/minecraft/world/level/block/CampfireBlock.java b/src/main/java/net/minecraft/world/level/block/CampfireBlock.java -index 2519a0f511f0a6065459cd2fe2d9a3e68e55d222..2c334ce3fc3cf86704dee9397166119a3b5f17e2 100644 ---- a/src/main/java/net/minecraft/world/level/block/CampfireBlock.java -+++ b/src/main/java/net/minecraft/world/level/block/CampfireBlock.java -@@ -93,7 +93,9 @@ public class CampfireBlock extends BaseEntityBlock implements SimpleWaterloggedB - public void entityInside(BlockState state, Level world, BlockPos pos, Entity entity) { - if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper - if (!entity.fireImmune() && (Boolean) state.getValue(CampfireBlock.LIT) && entity instanceof LivingEntity && !EnchantmentHelper.hasFrostWalker((LivingEntity) entity)) { -+ org.bukkit.craftbukkit.event.CraftEventFactory.blockDamage = org.bukkit.craftbukkit.block.CraftBlock.at(world, pos); // Paper - entity.hurt(DamageSource.IN_FIRE, (float) this.fireDamage); -+ org.bukkit.craftbukkit.event.CraftEventFactory.blockDamage = null; // Paper - } - - super.entityInside(state, world, pos, entity); -diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index d01d4ca873f8225d3503ecb102ce2eb7bfced421..622a0f23db838b839f76722df0e5480ec927b4a2 100644 ---- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1009,6 +1009,10 @@ public class CraftEventFactory { - cause = DamageCause.HOT_FLOOR; - } else if (source == DamageSource.MAGIC) { - cause = DamageCause.MAGIC; -+ // Paper start -+ } else if (source == DamageSource.IN_FIRE) { -+ cause = DamageCause.FIRE; -+ // Paper end - } else { - throw new IllegalStateException(String.format("Unhandled damage of %s by %s from %s", entity, damager, source.msgId)); - } diff --git a/patches/server/0743-Config-option-for-Piglins-guarding-chests.patch b/patches/server/0741-Config-option-for-Piglins-guarding-chests.patch similarity index 100% rename from patches/server/0743-Config-option-for-Piglins-guarding-chests.patch rename to patches/server/0741-Config-option-for-Piglins-guarding-chests.patch diff --git a/patches/server/0744-Added-EntityDamageItemEvent.patch b/patches/server/0742-Added-EntityDamageItemEvent.patch similarity index 100% rename from patches/server/0744-Added-EntityDamageItemEvent.patch rename to patches/server/0742-Added-EntityDamageItemEvent.patch diff --git a/patches/server/0745-Optimize-indirect-passenger-iteration.patch b/patches/server/0743-Optimize-indirect-passenger-iteration.patch similarity index 100% rename from patches/server/0745-Optimize-indirect-passenger-iteration.patch rename to patches/server/0743-Optimize-indirect-passenger-iteration.patch diff --git a/patches/server/0746-Fix-block-drops-position-losing-precision-millions-o.patch b/patches/server/0744-Fix-block-drops-position-losing-precision-millions-o.patch similarity index 100% rename from patches/server/0746-Fix-block-drops-position-losing-precision-millions-o.patch rename to patches/server/0744-Fix-block-drops-position-losing-precision-millions-o.patch diff --git a/work/Bukkit b/work/Bukkit index e0598aa29e..974452512a 160000 --- a/work/Bukkit +++ b/work/Bukkit @@ -1 +1 @@ -Subproject commit e0598aa29ef8f0622378d929c0ed0542e698db60 +Subproject commit 974452512a4638f2692cc7baff5baf77401349ba diff --git a/work/CraftBukkit b/work/CraftBukkit index 2cdc6b1e4c..61e4ca7b9e 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit 2cdc6b1e4cc28d67eeb6397b5650ecc1e13efdfa +Subproject commit 61e4ca7b9e7dbc0ee899140a7b194248edc3f493 diff --git a/work/Spigot b/work/Spigot index 18c71bf4fd..ff89b973e6 160000 --- a/work/Spigot +++ b/work/Spigot @@ -1 +1 @@ -Subproject commit 18c71bf4fd43113ac9b24c21afe6d88c16170f30 +Subproject commit ff89b973e62ca3b6085aeeb474f2568e45ac02be