From e703b602870d5c26128b500de49e58db68862dbc Mon Sep 17 00:00:00 2001 From: lexikiq Date: Mon, 14 Feb 2022 15:22:04 -0500 Subject: [PATCH] Updated Upstream (Paper) Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@128691a Deprecate log4j logger method in `Plugin` PaperMC/Paper@2a306f5 Add Multi Block Change API (#7333) PaperMC/Paper@feb72b8 Update ASM EventExecutor generator patch to respect event handler return types. Fixes #7311 (#7317) PaperMC/Paper@dcca6cb Make tag presets unmodifiable (#7378) PaperMC/Paper@60e46ab Fix NotePlayEvent (#5180) PaperMC/Paper@512995c Updated Upstream (Bukkit/CraftBukkit/Spigot) (#7359) PaperMC/Paper@0a9602c [ci skip] Fix multiple ItemStack array nullability mistakes (#7055) PaperMC/Paper@9a19308 Lock Frozen Ticks API (#7207) PaperMC/Paper@a058ac0 Dolphin API (#7102) PaperMC/Paper@f6c7d53 Add configurable stronghold seed (#7334) PaperMC/Paper@7978121 More PotionEffectType API (#5737) PaperMC/Paper@9490475 Add STRUCTURE_TYPE registry entry (#6400) PaperMC/Paper@b164899 Update tiny-remapper PaperMC/Paper@f7dbd06 [ci skip] Update parameter mappings PaperMC/Paper@ca523ab [ci skip] Fix param mismatch from last commit PaperMC/Paper@2e99e5e Updated Upstream (Bukkit/CraftBukkit) (#7411) PaperMC/Paper@41263d9 [ci skip] Update paperweight to 1.3.4 PaperMC/Paper@3109dd8 Updated Upstream (Bukkit/CraftBukkit) (#7428) PaperMC/Paper@17eb884 Use a CHM for StructureTemplate.Pallete cache PaperMC/Paper@f79c0da Updated Upstream (Bukkit/CraftBukkit) PaperMC/Paper@2121aed Rebuild patches PaperMC/Paper@2ec04e0 Use correct headerLocation for regionfile initialisation PaperMC/Paper@f23c039 Fix infinite recursion in spawnCategoryForChunk/Position PaperMC/Paper@9940bca API for creating command sender which forwards feedback (#7432) PaperMC/Paper@46ed080 fix portal linking in upgraded chunks (fixes #7419) (#7438) PaperMC/Paper@6df4641 Use destination world when preloading spawn chunk (#7441) PaperMC/Paper@0cc2503 Implement World#regenerateChunk (#7425) PaperMC/Paper@00da098 Log exceptions thrown during chat processing (#7467) PaperMC/Paper@26734e8 Updated Upstream (Bukkit/CraftBukkit/Spigot) (#7454) PaperMC/Paper@4a745f9 Optimize Util#sequence (#7115) PaperMC/Paper@2c8d48c Make Panda implement Sittable (#7414) PaperMC/Paper@2c4a589 Fix issues with LimitedRegion (#7343) PaperMC/Paper@3d91eca Fix cancelled snow bucket placement (#6751) PaperMC/Paper@9567753 Don't load plugins prefixed with a dot (#7392) PaperMC/Paper@92c777d Fix PlayerProfile BukkitObject serialization, deprecate setName and setId for removal (#7471) PaperMC/Paper@e6898ff Fix IllegalArgumentException for /paper mobcaps command (#7472) PaperMC/Paper@a8f2d67 - properly fix IllegalArgumentException in `/paper mobcaps` command --- createUpstreamCommit.sh | 52 +++++++++++++++++++ gradle.properties | 2 +- patches/api/0001-Add-Getter-interfaces.patch | 20 +++---- .../api/0008-Expose-MCUtil-Executors.patch | 4 +- patches/api/0010-Add-Furnace-Recipe-API.patch | 4 +- patches/server/0001-Build-changes.patch | 8 +-- .../0002-Temporary-Access-Transformers.patch | 4 +- patches/server/0003-Add-SoundEvent.patch | 4 +- ...location-to-EntityDamageByBlockEvent.patch | 12 ++--- .../server/0009-Expose-MCUtil-Executors.patch | 4 +- ...ing-CraftMetaSkull-serializedProfile.patch | 13 +++-- .../0011-Add-BlockDropResourcesEvent.patch | 4 +- .../server/0012-Add-Furnace-Recipe-API.patch | 4 +- 13 files changed, 93 insertions(+), 42 deletions(-) create mode 100755 createUpstreamCommit.sh diff --git a/createUpstreamCommit.sh b/createUpstreamCommit.sh new file mode 100755 index 0000000..04f70dc --- /dev/null +++ b/createUpstreamCommit.sh @@ -0,0 +1,52 @@ +#!/usr/bin/env bash + +# requires curl & jq + +# createUpstreamCommit --paper HASH +# flag: --paper HASH - the commit hash to use for comparing commits between paper (PaperMC/Paper/compare/HASH...HEAD) + +function getCommits() { + echo "$(curl -H "Accept: application/vnd.github.v3+json" https://api.github.com/repos/"$1"/compare/"$2"...HEAD | jq -r '.commits[] | "'"$1"'@\(.sha[:7]) \(.commit.message | split("\r\n")[0] | split("\n")[0])"')" +} + +( +set -e +PS1="$" + +paperHash="" + +TEMP=$(getopt --long paper: -o "" -- "$@") +eval set -- "$TEMP" +while true; do + case "$1" in + --paper) + paperHash="$2" + shift 2 + ;; + *) + break + ;; + esac +done + +paper="" +updated="" +logsuffix="" + +# Paper updates +if [ -n "$paperHash" ]; then + paper=$(getCommits "PaperMC/Paper" "$paperHash") + + # Updates found + if [ -n "$paper" ]; then + updated="Paper" + logsuffix="$logsuffix\n\nPaper Changes:\n$paper" + fi +fi + +disclaimer="Upstream has released updates that appear to apply and compile correctly" +log="Updated Upstream ($updated)\n\n${disclaimer}${logsuffix}" + +echo -e "$log" | git commit -a -F - + +) || exit 1 \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 71f848a..9d434c5 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ group = gg.projecteden.parchment version = 1.18.1-R0.1-SNAPSHOT mcVersion = 1.18.1 -paperRef = c904da6eabef12c1007e25f96d2e3d8bd418db57 +paperRef = a8f2d6749189f58b131fb077b7961b31df5f8005 org.gradle.caching=true org.gradle.parallel=true diff --git a/patches/api/0001-Add-Getter-interfaces.patch b/patches/api/0001-Add-Getter-interfaces.patch index de1ff86..c21a7eb 100644 --- a/patches/api/0001-Add-Getter-interfaces.patch +++ b/patches/api/0001-Add-Getter-interfaces.patch @@ -593,10 +593,10 @@ index 8321441b8f528a05e297f485672f928e76fe017d..e3b684a189b5c8e2d2b73ef9b0578690 * Sets the world that this location resides in * diff --git a/src/main/java/org/bukkit/OfflinePlayer.java b/src/main/java/org/bukkit/OfflinePlayer.java -index 3afd5f5c0208a4ee93b5dbfc2aab2b9d2e8a7544..53decf2105e68e62478acebc73e3483918ced370 100644 +index 23e853bae0e051cd43deb9eb24c54e74a56d8ab0..20cb99c906725ba3a67d2a71338ba8cacfe5072c 100644 --- a/src/main/java/org/bukkit/OfflinePlayer.java +++ b/src/main/java/org/bukkit/OfflinePlayer.java -@@ -9,7 +9,7 @@ import org.bukkit.permissions.ServerOperator; +@@ -10,7 +10,7 @@ import org.bukkit.profile.PlayerProfile; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -605,7 +605,7 @@ index 3afd5f5c0208a4ee93b5dbfc2aab2b9d2e8a7544..53decf2105e68e62478acebc73e34839 /** * Checks if this player is currently online -@@ -126,6 +126,13 @@ public interface OfflinePlayer extends ServerOperator, AnimalTamer, Configuratio +@@ -139,6 +139,13 @@ public interface OfflinePlayer extends ServerOperator, AnimalTamer, Configuratio @Nullable public Player getPlayer(); @@ -659,7 +659,7 @@ index ff8f1231f3e2e71740fd24fa8d4dac5d0e550ae7..ee19d7fd5bb1851af39320f1edd858e1 private final UUID uuid; private final String name; diff --git a/src/main/java/org/bukkit/block/Block.java b/src/main/java/org/bukkit/block/Block.java -index 5f35ba35f8517ec28c1b21b3007c9a20dea097a7..37c83fd0ed65bc8b65ffca01b7e051d2175b751d 100644 +index 3e980c630452c8ea72227bc4cd92c605253cd41b..01ce32234885363ddac10b2b277cbcfc19aad766 100644 --- a/src/main/java/org/bukkit/block/Block.java +++ b/src/main/java/org/bukkit/block/Block.java @@ -31,7 +31,7 @@ import org.jetbrains.annotations.Nullable; @@ -711,7 +711,7 @@ index 2e17b2d4f759531fbe9ee8e9b00c839186af09ca..6daf17848951eff23186583a7b4af4de /** * This is the name of the specified AnimalTamer. diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java -index 51ec2e4ec4239659272bba3d6ba2ad73926ebb88..2fa9309e9e015696c74332fb27350540e434f596 100644 +index 8bc6876c82935988436597161fa0ec94c032174b..ffd5fbc3e14be5439f1334c567b573c31528863c 100644 --- a/src/main/java/org/bukkit/entity/Entity.java +++ b/src/main/java/org/bukkit/entity/Entity.java @@ -26,7 +26,7 @@ import org.jetbrains.annotations.Nullable; @@ -724,7 +724,7 @@ index 51ec2e4ec4239659272bba3d6ba2ad73926ebb88..2fa9309e9e015696c74332fb27350540 /** * Gets the entity's current position diff --git a/src/main/java/org/bukkit/entity/HumanEntity.java b/src/main/java/org/bukkit/entity/HumanEntity.java -index 28d1ff809e44bda0324ffac957c1d455be02e783..2b64852da2f22bd984216ef0164587e085c445bf 100644 +index e8b6cfe7e454c666b4d60b702a3b211dab238830..b9196b22e5bf4dea7466d6a691f93969a2c72843 100644 --- a/src/main/java/org/bukkit/entity/HumanEntity.java +++ b/src/main/java/org/bukkit/entity/HumanEntity.java @@ -19,7 +19,15 @@ import org.jetbrains.annotations.Nullable; @@ -745,10 +745,10 @@ index 28d1ff809e44bda0324ffac957c1d455be02e783..2b64852da2f22bd984216ef0164587e0 // Paper start @Override diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 7eda2ba17e39b8183e572c1cefa8afffbf17afcb..4d518881b845087730ae51e4baad569400c312e1 100644 +index 131daee2b29f7016463a00ce7927dff7b0a1b1b4..b3edc0c2afa0058b869e5aa2849084044b194e84 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -43,7 +43,7 @@ import org.jetbrains.annotations.Nullable; +@@ -38,7 +38,7 @@ import org.jetbrains.annotations.Nullable; /** * Represents a player, connected or not */ @@ -757,7 +757,7 @@ index 7eda2ba17e39b8183e572c1cefa8afffbf17afcb..4d518881b845087730ae51e4baad5694 // Paper start @Override -@@ -51,6 +51,16 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -46,6 +46,16 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM return net.kyori.adventure.identity.Identity.identity(this.getUniqueId()); } @@ -1155,7 +1155,7 @@ index 7af8d6e51c824cf0592b722b834f1d4986e3cc08..c28d62fc3dc359f9ebcf926094198ee3 private boolean cancelled = false; private final Location location; diff --git a/src/main/java/org/bukkit/inventory/Inventory.java b/src/main/java/org/bukkit/inventory/Inventory.java -index 8864124c4a6ba48523ff217a78b9bac676da592f..b984678a49ff96fa7eca9a5450e1c690f6ec6953 100644 +index 1b577c03c3152d22b70f8bdb321b28ad8fbbc3af..b3449a874666bcd67950ec12da41738f7c24ddee 100644 --- a/src/main/java/org/bukkit/inventory/Inventory.java +++ b/src/main/java/org/bukkit/inventory/Inventory.java @@ -25,7 +25,7 @@ import org.jetbrains.annotations.Nullable; diff --git a/patches/api/0008-Expose-MCUtil-Executors.patch b/patches/api/0008-Expose-MCUtil-Executors.patch index 9e0df12..2ca8ed2 100644 --- a/patches/api/0008-Expose-MCUtil-Executors.patch +++ b/patches/api/0008-Expose-MCUtil-Executors.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose MCUtil Executors diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index e48af3822e9f118399c3a1c9358c56efae12e0da..1689306bb9a9fc251574877427ca846e6def7003 100644 +index a62c27777672eff1c488517b37876e3a44a2d57d..6d0e9ac4b48c81c9bbf1b0cfee9aac2bc70ba48d 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1888,4 +1888,20 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1996,4 +1996,20 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi @NotNull io.papermc.paper.datapack.DatapackManager getDatapackManager(); // Paper end diff --git a/patches/api/0010-Add-Furnace-Recipe-API.patch b/patches/api/0010-Add-Furnace-Recipe-API.patch index c6da453..b64ffcf 100644 --- a/patches/api/0010-Add-Furnace-Recipe-API.patch +++ b/patches/api/0010-Add-Furnace-Recipe-API.patch @@ -64,10 +64,10 @@ index 0000000000000000000000000000000000000000..28c01caa9d6379046f6af6612719b404 + } +} diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index c808cc8dc96e325c543391048414880ed18a3ed3..9bd733282ed1aa1ac36d88a8da6bcbc20709ff12 100644 +index 959ee46cd440af5a4e5db3f6ee8b163db8e40d86..756bc14add024e74ca27dd12240e920610e7d74d 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -3797,6 +3797,36 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient +@@ -3918,6 +3918,36 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient @Nullable public DragonBattle getEnderDragonBattle(); diff --git a/patches/server/0001-Build-changes.patch b/patches/server/0001-Build-changes.patch index f02cbad..094fe41 100644 --- a/patches/server/0001-Build-changes.patch +++ b/patches/server/0001-Build-changes.patch @@ -104,7 +104,7 @@ index ece77f5ea4b14bbed7c070131b3251ea86764538..71bf426f7fb58fff6739bb1332d1286d org.bukkit.Bukkit.getLogger().warning("Version: " + org.bukkit.Bukkit.getBukkitVersion()); } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index c4e8e6af67b57406012612b617a7dcaa6e391d09..c43e1eb98644466ca5725b622fe33e2f983805c5 100644 +index eab93e1e3712c0a01cac187bf5944818c813d665..b0cf1f901fc0798e858be395ef349a42a7b3954a 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1709,7 +1709,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop internalTags) { if (this.profile != null) { @@ -17,9 +17,8 @@ index 7cacc61fed0c610845c67894d1cc68e44f5e46fe..18feaf0152b67b18989ca03fbb74194d internalTags.put(SKULL_PROFILE.NBT, serializedProfile); } } -@@ -91,6 +92,11 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta { - } - // Paper end + + private void setProfile(GameProfile profile) { this.profile = profile; + // Parchment start -- fix NPEs from plugins abusing NMS + refreshSerializedProfile(); @@ -29,7 +28,7 @@ index 7cacc61fed0c610845c67894d1cc68e44f5e46fe..18feaf0152b67b18989ca03fbb74194d this.serializedProfile = (profile == null) ? null : NbtUtils.writeGameProfile(new CompoundTag(), profile); } -@@ -99,6 +105,7 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta { +@@ -97,6 +103,7 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta { super.applyToItem(tag); if (this.profile != null) { @@ -37,7 +36,7 @@ index 7cacc61fed0c610845c67894d1cc68e44f5e46fe..18feaf0152b67b18989ca03fbb74194d // SPIGOT-6558: Set initial textures tag.put(SKULL_OWNER.NBT, serializedProfile); // Fill in textures -@@ -234,6 +241,8 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta { +@@ -252,6 +259,8 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta { if (meta instanceof CraftMetaSkull) { CraftMetaSkull that = (CraftMetaSkull) meta; diff --git a/patches/server/0011-Add-BlockDropResourcesEvent.patch b/patches/server/0011-Add-BlockDropResourcesEvent.patch index 596e9a5..7be312a 100644 --- a/patches/server/0011-Add-BlockDropResourcesEvent.patch +++ b/patches/server/0011-Add-BlockDropResourcesEvent.patch @@ -48,10 +48,10 @@ index ab5b9f00123e2ede2931ffc520684e482aac49b4..51e69414e37d824d1d8b1e1b82bcf700 }); state.spawnAfterBreak((ServerLevel) world, pos, stack); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 176ff59f7639b241a4eac09c00066ee3d4a9fc0b..7381004c126c7552c38fedc07d152b06764257e5 100644 +index 11ed21fb283a3ce80efd1d8a0ad027c47242ebc8..38f24ecd7783d2133819af53211f464559959908 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1972,5 +1972,19 @@ public class CraftEventFactory { +@@ -1991,5 +1991,19 @@ public class CraftEventFactory { final double posZ = pos.getZ(); playSoundEvent(event, packet -> playerList.broadcast(player, posX, posY, posZ, radius, world, packet)); } diff --git a/patches/server/0012-Add-Furnace-Recipe-API.patch b/patches/server/0012-Add-Furnace-Recipe-API.patch index 71733d2..8b19296 100644 --- a/patches/server/0012-Add-Furnace-Recipe-API.patch +++ b/patches/server/0012-Add-Furnace-Recipe-API.patch @@ -215,10 +215,10 @@ index 0000000000000000000000000000000000000000..e7114e456f818d7bdd4081620f4b9b93 + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 5fb475b3ccaa98861e2c817b37cd1740e5bfed8d..edca5bad11068feee3980fee6078722b4134947f 100644 +index 72f395c8d88c7dd77f39c7ae29dbfcaa683ecc0a..d4f603904544b7f0e37df1cb66b6cc922ea7ef84 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -2198,4 +2198,11 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -2270,4 +2270,11 @@ public class CraftWorld extends CraftRegionAccessor implements World { return this.adventure$pointers; } // Paper end