From 28a4865c2bd0d516776a81f85d343987974a038a Mon Sep 17 00:00:00 2001 From: lexikiq Date: Fri, 3 Sep 2021 00:46:37 -0400 Subject: [PATCH] Update upstream --- build.gradle.kts | 82 ++++++++++++++++--- gradle.properties | 7 +- patches/api/0001-Build-changes.patch | 8 +- patches/api/0002-Add-Getter-interfaces.patch | 10 +-- .../api/0009-Expose-MCUtil-Executors.patch | 4 +- patches/api/0011-Add-Furnace-Recipe-API.patch | 12 +-- patches/server/0001-Build-changes.patch | 28 +++---- patches/server/0003-Add-SoundEvent.patch | 56 ++----------- ...0004-Add-PlayerUseRespawnAnchorEvent.patch | 34 +++----- ...location-to-EntityDamageByBlockEvent.patch | 14 ++-- ...0006-Add-UnsafeValues-canPlaceItemOn.patch | 4 +- .../0007-Expose-EntityType-Ordinals.patch | 6 +- .../0008-Add-Player-setGameProfile.patch | 4 +- .../server/0009-Expose-MCUtil-Executors.patch | 4 +- .../0011-Add-BlockDropResourcesEvent.patch | 8 +- .../server/0013-Add-Furnace-Recipe-API.patch | 4 +- 16 files changed, 145 insertions(+), 140 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 8a72480..1eb2594 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,41 +1,47 @@ +import io.papermc.paperweight.util.constants.* + plugins { java + `maven-publish` id("com.github.johnrengelman.shadow") version "7.0.0" apply false - id("io.papermc.paperweight.patcher") version "1.1.8" + id("io.papermc.paperweight.patcher") version "1.1.11" } repositories { mavenCentral() maven("https://papermc.io/repo/repository/maven-public/") { - content { - onlyForConfigurations("paperclip") - } - } - maven("https://maven.quiltmc.org/repository/release/") { - content { - onlyForConfigurations("remapper") - } + content { onlyForConfigurations(PAPERCLIP_CONFIG) } } } dependencies { - remapper("org.quiltmc:tiny-remapper:0.4.1") - paperclip("io.papermc:paperclip:2.0.1@jar") + remapper("org.quiltmc:tiny-remapper:0.4.3") + decompiler("net.minecraftforge:forgeflower:1.5.498.12") + paperclip("io.papermc:paperclip:2.0.1") } -subprojects { +allprojects { apply(plugin = "java") + apply(plugin = "maven-publish") java { toolchain { languageVersion.set(JavaLanguageVersion.of(16)) } } +} +subprojects { tasks.withType().configureEach { - options.encoding = "UTF-8" + options.encoding = Charsets.UTF_8.name() options.release.set(16) } + tasks.withType { + options.encoding = Charsets.UTF_8.name() + } + tasks.withType { + filteringCharset = Charsets.UTF_8.name() + } repositories { mavenCentral() @@ -51,6 +57,9 @@ subprojects { paperweight { serverProject.set(project(":Parchment-Server")) + remapRepo.set("https://maven.quiltmc.org/repository/release/") + decompileRepo.set("https://files.minecraftforge.net/maven/") + usePaperUpstream(providers.gradleProperty("paperRef")) { withPaperPatcher { apiPatchDir.set(layout.projectDirectory.dir("patches/api")) @@ -61,3 +70,50 @@ paperweight { } } } + +// +// Everything below here is optional if you don't care about publishing API or dev bundles to your repository +// + +tasks.generateDevelopmentBundle { + apiCoordinates.set("me.lexikiq:parchment-api") + mojangApiCoordinates.set("io.papermc.paper:paper-mojangapi") + libraryRepositories.set( + listOf( + "https://libraries.minecraft.net/", + "https://maven.quiltmc.org/repository/release/", + "https://repo.aikar.co/content/groups/aikar", + "https://ci.emc.gs/nexus/content/groups/aikar/", + "https://papermc.io/repo/repository/maven-public/", // for paper-mojangapi + "https://sonatype.projecteden.gg/repository/maven-public/" + ) + ) +} + +allprojects { + // Publishing API: + // ./gradlew :Parchment-API:publish[ToMavenLocal] + publishing { + repositories { + maven { + name = "edenSnapshots" + url = uri("https://sonatype.projecteden.gg/repository/maven-snapshots/") + // See Gradle docs for how to provide credentials to PasswordCredentials + // https://docs.gradle.org/current/samples/sample_publishing_credentials.html + credentials(PasswordCredentials::class) + } + } + } +} + +publishing { + // Publishing dev bundle: + // ./gradlew publishDevBundlePublicationTo(MavenLocal|EdenSnapshotsRepository) -PpublishDevBundle + if (project.hasProperty("publishDevBundle")) { + publications.create("devBundle") { + artifact(tasks.generateDevelopmentBundle) { + artifactId = "dev-bundle" + } + } + } +} diff --git a/gradle.properties b/gradle.properties index f871d34..27d6cc8 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,5 +2,8 @@ group = me.lexikiq version = 1.17.1-R0.1-SNAPSHOT mcVersion = 1.17.1 -packageVersion = 1_17_R1 -paperRef = 6855505490ca1b107d74412f0706950a0fc6c934 +paperRef = 2cd4bcfba17affba734619682800fa47ed8e2c7f + +org.gradle.caching=true +org.gradle.parallel=true +org.gradle.vfs.watch=false \ No newline at end of file diff --git a/patches/api/0001-Build-changes.patch b/patches/api/0001-Build-changes.patch index 7a4c391..7915d70 100644 --- a/patches/api/0001-Build-changes.patch +++ b/patches/api/0001-Build-changes.patch @@ -5,13 +5,13 @@ Subject: [PATCH] Build changes diff --git a/build.gradle.kts b/build.gradle.kts -index 15b8f4708887535383bb74bd922f893231737599..feeb5a5808d8a97408b0295078fb3b8d7e922573 100644 +index 689d470ebe2c7e25e4c87f6127978d1d283e55b5..2715c109829dbdb93de12b06652988f5cd3353c5 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -27,6 +27,7 @@ dependencies { - api("net.kyori:adventure-text-serializer-legacy") - api("net.kyori:adventure-text-serializer-plain") +@@ -39,6 +39,7 @@ dependencies { + apiAndDocs("net.kyori:adventure-text-serializer-plain") api("org.apache.logging.log4j:log4j-api:2.14.1") // Paper + api("org.slf4j:slf4j-api:1.7.30") // Paper + api(project(":Parchment-Common")) // Parchment implementation("org.ow2.asm:asm:9.1") diff --git a/patches/api/0002-Add-Getter-interfaces.patch b/patches/api/0002-Add-Getter-interfaces.patch index 01d2d27..451371a 100644 --- a/patches/api/0002-Add-Getter-interfaces.patch +++ b/patches/api/0002-Add-Getter-interfaces.patch @@ -566,7 +566,7 @@ index 0000000000000000000000000000000000000000..314bf6e8cacfe8891f1354952c5ccfe7 + } +} diff --git a/src/main/java/org/bukkit/Location.java b/src/main/java/org/bukkit/Location.java -index c9b953aa55eeee87e81b9b712c0f501a58e641fb..87188e22137243d91e1c8d0fc4a2062cccb394db 100644 +index 8321441b8f528a05e297f485672f928e76fe017d..e6a66494941ccaeb62ec13c26a0e05c52e3af159 100644 --- a/src/main/java/org/bukkit/Location.java +++ b/src/main/java/org/bukkit/Location.java @@ -30,7 +30,7 @@ import org.bukkit.entity.Player; @@ -659,15 +659,15 @@ index ff8f1231f3e2e71740fd24fa8d4dac5d0e550ae7..4a1e40e0c7cff6ef8898771adf3bc600 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 ca488173a20bcf3427906f0a6548f06a97c9dc36..6ebf6f2bf02550ad69fad45cb79b6d92549df980 100644 +index ad8bce01ba459a036cd4ebbbe4fc974021924fe2..e328ec2b922a839dd57bcc33d02a94eb90fbf307 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; * (i.e. lighting and power) may not be able to be safely accessed during world * generation when used in cases like BlockPhysicsEvent!!!! */ --public interface Block extends Metadatable { -+public interface Block extends Metadatable, me.lexikiq.HasLocation { // Parchment +-public interface Block extends Metadatable, net.kyori.adventure.translation.Translatable { // Paper - translatable ++public interface Block extends Metadatable, net.kyori.adventure.translation.Translatable, me.lexikiq.HasLocation { // Paper - translatable /** * Gets the metadata for this block @@ -745,7 +745,7 @@ index 0ad7a3d4d40d58eb950e34668f9554bb73f934fb..0a5aa083d9a69403c76ab280254d259a /** * Returns the name of this player diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 5e8814cc317a705eaf8bdd9f3876a5366c0a0226..31c118dbe08f6d00f76f002ba8746eb89026b5b9 100644 +index afa245018192a63e5db8bc568ddea2790bf5b8a2..69f5047f2bd2a7d42c972a38a76ca53f47f273d6 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java @@ -42,7 +42,7 @@ import org.jetbrains.annotations.Nullable; diff --git a/patches/api/0009-Expose-MCUtil-Executors.patch b/patches/api/0009-Expose-MCUtil-Executors.patch index 8a88832..39e172f 100644 --- a/patches/api/0009-Expose-MCUtil-Executors.patch +++ b/patches/api/0009-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 024da3febe3fd6c54aa30e99cb08300bc38ddb92..356ff9613dc200c9fb4852d9b6db9134287041dd 100644 +index 83870d54a5ff1017ad7455e9c931fdee54354434..96ee097f7a7ba7116dda2aabc4f0ae974837f158 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1787,4 +1787,20 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1789,4 +1789,20 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi @NotNull io.papermc.paper.datapack.DatapackManager getDatapackManager(); // Paper end diff --git a/patches/api/0011-Add-Furnace-Recipe-API.patch b/patches/api/0011-Add-Furnace-Recipe-API.patch index 0ade9f0..1ef4a7d 100644 --- a/patches/api/0011-Add-Furnace-Recipe-API.patch +++ b/patches/api/0011-Add-Furnace-Recipe-API.patch @@ -64,18 +64,10 @@ index 0000000000000000000000000000000000000000..f8f707483bf08142cdaf6c6ff9b12418 + } +} diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 8ae9198ba7fdb006dc420504a984627add20dbb5..a01e98c1128bd5e21a9b6e1eee1ab6f862ea66b5 100644 +index dc497606ebf9903c2d32276ecddda3231457346a..021f24fdbc6e711faabaa2955b7acdde219f1990 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -26,7 +26,6 @@ import org.bukkit.entity.LightningStrike; - import org.bukkit.entity.LivingEntity; - import org.bukkit.entity.Player; - import org.bukkit.generator.BlockPopulator; --import org.bukkit.generator.ChunkGenerator; - import org.bukkit.inventory.ItemStack; - import org.bukkit.material.MaterialData; - import org.bukkit.metadata.Metadatable; -@@ -3706,6 +3705,36 @@ public interface World extends PluginMessageRecipient, Metadatable, net.kyori.ad +@@ -3669,6 +3669,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 3b3919f..0be13df 100644 --- a/patches/server/0001-Build-changes.patch +++ b/patches/server/0001-Build-changes.patch @@ -5,21 +5,21 @@ Subject: [PATCH] Build changes diff --git a/build.gradle.kts b/build.gradle.kts -index b50463c2356301a1b47a0bf4f50dc1f121d363a1..de932184e6bfe6e620ad7f3e43b22ae8bd5a0f48 100644 +index b3687f632bbf06c933a6ef04dc2236ccf3c030b8..6e14fe7fed362d470555445b053a2653be53a62d 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -28,8 +28,8 @@ repositories { +@@ -29,8 +29,8 @@ repositories { } dependencies { - implementation(project(":Paper-API")) - implementation(project(":Paper-MojangAPI")) + implementation(project(":Parchment-API")) // Parchment -+ implementation("com.destroystokyo.paper:paper-mojangapi:1.16.5-R0.1-SNAPSHOT") // Parchment ++ implementation("io.papermc.paper:paper-mojangapi:1.17.1-R0.1-SNAPSHOT") // Parchment // Paper start implementation("org.jline:jline-terminal-jansi:3.12.1") implementation("net.minecrell:terminalconsoleappender:1.2.0") -@@ -80,7 +80,7 @@ tasks.jar { +@@ -82,7 +82,7 @@ tasks.jar { attributes( "Main-Class" to "org.bukkit.craftbukkit.Main", "Implementation-Title" to "CraftBukkit", @@ -28,7 +28,7 @@ index b50463c2356301a1b47a0bf4f50dc1f121d363a1..de932184e6bfe6e620ad7f3e43b22ae8 "Implementation-Vendor" to date, // Paper "Specification-Title" to "Bukkit", "Specification-Version" to project.version, -@@ -102,6 +102,26 @@ publishing { +@@ -104,6 +104,26 @@ publishing { classifier = null } artifact(tasks.shadowJar) @@ -55,7 +55,7 @@ index b50463c2356301a1b47a0bf4f50dc1f121d363a1..de932184e6bfe6e620ad7f3e43b22ae8 } } -@@ -112,7 +132,7 @@ tasks.shadowJar { +@@ -147,7 +167,7 @@ tasks.shadowJar { // Needed for Paperclip's install to maven local feature from(generatePom) { @@ -64,7 +64,7 @@ index b50463c2356301a1b47a0bf4f50dc1f121d363a1..de932184e6bfe6e620ad7f3e43b22ae8 rename { "pom.xml" } } -@@ -176,7 +196,7 @@ tasks.test { +@@ -207,7 +227,7 @@ tasks.test { fun TaskContainer.registerRunTask( name: String, block: JavaExec.() -> Unit ): TaskProvider = register(name) { @@ -111,10 +111,10 @@ index 580bae0d414d371a07a6bfeefc41fdd989dc0083..e744a4c6de5beae4161d855da6dcab93 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 3dded5c491ace6b073a7bc3178976bd70f0b9393..2373f056cbe868491bafa02e3b711a63f2e428aa 100644 +index 099db3a627c1d3c08f3b923bb02a1cb8a0a268ab..457e46324bb2abb6aacfea66f4274c1a8e06c40c 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1651,7 +1651,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop blockItem.canPlace(ctx, blockState), net.minecraft.server.MCUtil.MAIN_EXECUTOR); } diff --git a/patches/server/0008-Add-Player-setGameProfile.patch b/patches/server/0008-Add-Player-setGameProfile.patch index d891c7b..03ef0b4 100644 --- a/patches/server/0008-Add-Player-setGameProfile.patch +++ b/patches/server/0008-Add-Player-setGameProfile.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add Player#setGameProfile diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java -index c2034b711e5b3f2b82d86776c58dac4db83ea44d..c796dd411ca0cddddb3f1ba94b539d212cb882ba 100644 +index 266d676118e17af48e21370211c015898eba9691..16bc55fb8efbbda971b704446a07e9f732c1dfa5 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -1446,6 +1446,12 @@ public abstract class Player extends LivingEntity { +@@ -1451,6 +1451,12 @@ public abstract class Player extends LivingEntity { return this.gameProfile; } diff --git a/patches/server/0009-Expose-MCUtil-Executors.patch b/patches/server/0009-Expose-MCUtil-Executors.patch index 38b675a..6a2fcec 100644 --- a/patches/server/0009-Expose-MCUtil-Executors.patch +++ b/patches/server/0009-Expose-MCUtil-Executors.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose MCUtil Executors diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 65e520dbfaf294ef500f263aeb8fb0adf98e8321..4911d31fef5eb5df51b6e4cfb67e3ecbcbfa16ec 100644 +index cbf96eeaed245632e5386f824168ba42113038e1..d01354f10d0db28fc5711cf4d598cdc01fa4cc80 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2605,4 +2605,16 @@ public final class CraftServer implements Server { +@@ -2667,4 +2667,16 @@ public final class CraftServer implements Server { } // Paper end diff --git a/patches/server/0011-Add-BlockDropResourcesEvent.patch b/patches/server/0011-Add-BlockDropResourcesEvent.patch index 2457af0..4c387d3 100644 --- a/patches/server/0011-Add-BlockDropResourcesEvent.patch +++ b/patches/server/0011-Add-BlockDropResourcesEvent.patch @@ -8,7 +8,7 @@ to easily get the items being dropped by any block instead of only blocks broken by players. diff --git a/src/main/java/net/minecraft/world/level/block/Block.java b/src/main/java/net/minecraft/world/level/block/Block.java -index d6a3f3a2edae806b0ebf5bf5ac445116c0d64535..de47a0db1a2e439dbbbc7d5e34a38a05fe2ebeab 100644 +index 8c30e28b97ac7e8b54322c903e0b75ee8135620b..4ca85a02a1eb46b5958aae55946c67cefb85f461 100644 --- a/src/main/java/net/minecraft/world/level/block/Block.java +++ b/src/main/java/net/minecraft/world/level/block/Block.java @@ -306,7 +306,7 @@ public class Block extends BlockBehaviour implements ItemLike { @@ -38,7 +38,7 @@ index d6a3f3a2edae806b0ebf5bf5ac445116c0d64535..de47a0db1a2e439dbbbc7d5e34a38a05 Block.popResource((Level) ((ServerLevel) world), pos, itemstack); }); state.spawnAfterBreak((ServerLevel) world, pos, ItemStack.EMPTY); -@@ -334,7 +334,7 @@ public class Block extends BlockBehaviour implements ItemLike { +@@ -351,7 +351,7 @@ public class Block extends BlockBehaviour implements ItemLike { public static void dropResources(BlockState state, Level world, BlockPos pos, @Nullable BlockEntity blockEntity, Entity entity, ItemStack stack) { if (world instanceof ServerLevel) { @@ -48,10 +48,10 @@ index d6a3f3a2edae806b0ebf5bf5ac445116c0d64535..de47a0db1a2e439dbbbc7d5e34a38a05 }); 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 3c37bf3683abccd4533ccbff0aa7f4848df2494c..1dafdb27b3bdd528d2e3b1c29372e2d8b8eb517a 100644 +index 3d4ff819bb46b346cb84844c68a9e963cf4b0890..9f35b873f928d4cbf5b6653e1e2dd3148ff03483 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1927,5 +1927,11 @@ public class CraftEventFactory { +@@ -1930,5 +1930,11 @@ 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/0013-Add-Furnace-Recipe-API.patch b/patches/server/0013-Add-Furnace-Recipe-API.patch index c4b9603..306548f 100644 --- a/patches/server/0013-Add-Furnace-Recipe-API.patch +++ b/patches/server/0013-Add-Furnace-Recipe-API.patch @@ -215,10 +215,10 @@ index 0000000000000000000000000000000000000000..e6d1e8faafe3fec48df51e5a25acef56 + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 7dc26321e20e26821096e79356a358879306cd78..b8e6da2bd68df0001da1638e511e79f4729d633e 100644 +index 7e56d6e60f1e1bd8dbf768afcbe06addcd5c5a60..a054852d253a428a0845742939f1f046bf769c08 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -2750,4 +2750,11 @@ public class CraftWorld implements World { +@@ -2103,4 +2103,11 @@ public class CraftWorld extends CraftRegionAccessor implements World { return this.spigot; } // Spigot end