From f0e15c4d2ab5cff34b47c7c59104c2f13f6c7a9f Mon Sep 17 00:00:00 2001 From: Ben Kerllenevich Date: Mon, 29 Nov 2021 08:28:20 -0500 Subject: [PATCH] rebase --- build.gradle.kts | 6 ++---- gradle.properties | 2 +- patches/api/0001-Build-System-Changes.patch | 12 ++++++------ patches/api/0003-Purpur-client-support.patch | 4 ++-- patches/api/0008-AFK-API.patch | 4 ++-- patches/api/0015-Player-invulnerabilities.patch | 4 ++-- ...javadoc-warnings-missing-param-and-return.patch | 6 +++--- ...lict-on-change-for-adventure-deprecations.patch | 6 +++--- patches/api/0035-Flying-Fall-Damage-API.patch | 4 ++-- ...nd-prompt-parameters-to-resource-pack-api.patch | 4 ++-- patches/server/0002-Rebrand.patch | 14 +++++++------- patches/server/0003-Purpur-config-files.patch | 12 ++++++------ patches/server/0004-Purpur-client-support.patch | 4 ++-- patches/server/0006-Ridables.patch | 8 ++++---- patches/server/0011-AFK-API.patch | 6 +++--- .../server/0013-Configurable-server-mod-name.patch | 4 ++-- patches/server/0018-Player-invulnerabilities.patch | 6 +++--- patches/server/0068-Item-entity-immunities.patch | 4 ++-- .../0077-Add-allow-water-in-end-world-option.patch | 4 ++-- ...dd-adjustable-breeding-cooldown-to-config.patch | 6 +++--- ...and-optimise-player-list-ticksSpread-out-.patch | 14 +++++++------- .../0156-Sneak-to-bulk-process-composter.patch | 4 ++-- ...0161-Break-individual-slabs-when-sneaking.patch | 4 ++-- .../0188-ShulkerBox-allow-oversized-stacks.patch | 4 ++-- patches/server/0196-Flying-Fall-Damage-API.patch | 6 +++--- .../server/0206-Armor-click-equip-options.patch | 4 ++-- ...nd-prompt-parameters-to-resource-pack-api.patch | 4 ++-- .../server/0232-Extended-OfflinePlayer-API.patch | 4 ++-- ...-Shift-right-click-to-use-exp-for-mending.patch | 6 +++--- 29 files changed, 84 insertions(+), 86 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 26525d3c9..56cf89516 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -3,7 +3,7 @@ import io.papermc.paperweight.util.constants.* plugins { java `maven-publish` - id("com.github.johnrengelman.shadow") version "7.1.0" apply false + id("com.github.johnrengelman.shadow") version "7.1.0" id("io.papermc.paperweight.patcher") version "1.3.0-SNAPSHOT" } @@ -17,7 +17,7 @@ repositories { dependencies { remapper("net.fabricmc:tiny-remapper:0.7.0:fat") decompiler("net.minecraftforge:forgeflower:1.5.498.22") - paperclip("io.papermc:paperclip:2.0.1") + paperclip("io.papermc:paperclip:3.0.2-SNAPSHOT") } subprojects { @@ -25,8 +25,6 @@ subprojects { apply(plugin = "maven-publish") java { - sourceCompatibility = JavaVersion.VERSION_16 - targetCompatibility = JavaVersion.VERSION_16 toolchain { languageVersion.set(JavaLanguageVersion.of(17)) } diff --git a/gradle.properties b/gradle.properties index bea067304..7ab919fdc 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,7 +4,7 @@ version = 1.18-rc3-R0.1-SNAPSHOT mcVersion = 1.18-rc3 packageVersion = 1_18_R1 -paperCommit = 6876364b77727f2b19cc2cd983c5207c51301e4d +paperCommit = 0fe06138210e9ed90439ef27eb7ed8af4d39fb13 org.gradle.caching = true org.gradle.parallel = true diff --git a/patches/api/0001-Build-System-Changes.patch b/patches/api/0001-Build-System-Changes.patch index 0910d039d..7ea982b7f 100644 --- a/patches/api/0001-Build-System-Changes.patch +++ b/patches/api/0001-Build-System-Changes.patch @@ -6,14 +6,14 @@ Subject: [PATCH] Build System Changes todo: merge with rebrand patch diff --git a/build.gradle.kts b/build.gradle.kts -index 720ba2774196f24cca6c4d1b173f90f8151c8a5e..c5d5bd6e4e074b9290a37c5a5c5957936ed346f6 100644 +index 241ee5c98275a4517e040c86355ae6702f8efca1..43ce7fe6b65488d00c69986908c788761ccd74ad 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -37,6 +37,7 @@ dependencies { +@@ -40,6 +40,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("org.apache.logging.log4j:log4j-api:2.14.1") + api("org.slf4j:slf4j-api:1.8.0-beta4") + api("net.kyori:adventure-text-minimessage:4.1.0-SNAPSHOT") // Purpur - implementation("org.ow2.asm:asm:9.1") - implementation("org.ow2.asm:asm-commons:9.1") + implementation("org.ow2.asm:asm:9.2") + implementation("org.ow2.asm:asm-commons:9.2") diff --git a/patches/api/0003-Purpur-client-support.patch b/patches/api/0003-Purpur-client-support.patch index 3a981386b..144b36aec 100644 --- a/patches/api/0003-Purpur-client-support.patch +++ b/patches/api/0003-Purpur-client-support.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Purpur client support diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 5d928c5e82033dd812d406fce7353fd4824195c0..8189fe28d692608b78c7861f0202d2ba17587de9 100644 +index bdb830942b7751bfcce36583ffd59488473f2db8..ccd12268d9c1b2c889a68735831a9b26a80dbf53 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2298,4 +2298,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2331,4 +2331,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @Override Spigot spigot(); // Spigot end diff --git a/patches/api/0008-AFK-API.patch b/patches/api/0008-AFK-API.patch index af851a4af..ee6dd36d5 100644 --- a/patches/api/0008-AFK-API.patch +++ b/patches/api/0008-AFK-API.patch @@ -81,10 +81,10 @@ index 0000000000000000000000000000000000000000..0c8b3e5e4ba412624357ea5662a78862 + } +} diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 8189fe28d692608b78c7861f0202d2ba17587de9..252d848393525da36378148d9698cc05a39d8d11 100644 +index ccd12268d9c1b2c889a68735831a9b26a80dbf53..af0c24d79251ba032b8ca3051fb451b00a5986e4 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2306,5 +2306,24 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2339,5 +2339,24 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @return True if Player uses Purpur Client */ public boolean usesPurpurClient(); diff --git a/patches/api/0015-Player-invulnerabilities.patch b/patches/api/0015-Player-invulnerabilities.patch index 5a725044f..66304291c 100644 --- a/patches/api/0015-Player-invulnerabilities.patch +++ b/patches/api/0015-Player-invulnerabilities.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Player invulnerabilities diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 252d848393525da36378148d9698cc05a39d8d11..18eb516f3fbe29df9b4e81d3969d6c3fee799dd7 100644 +index af0c24d79251ba032b8ca3051fb451b00a5986e4..1010232accc7cb0052dade56e7366d90179d7f93 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2325,5 +2325,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2358,5 +2358,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * Reset the idle timer back to 0 */ void resetIdleTimer(); diff --git a/patches/api/0027-Fix-javadoc-warnings-missing-param-and-return.patch b/patches/api/0027-Fix-javadoc-warnings-missing-param-and-return.patch index 01ddb274f..d18f4a75e 100644 --- a/patches/api/0027-Fix-javadoc-warnings-missing-param-and-return.patch +++ b/patches/api/0027-Fix-javadoc-warnings-missing-param-and-return.patch @@ -921,10 +921,10 @@ index a6a7429ed2e1eefb2b12b7480ed74fcc3963a864..e8027e1d505dda6effbb1698550016e8 NORMAL(false), diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 18eb516f3fbe29df9b4e81d3969d6c3fee799dd7..ef9a545f71a2a5ee37b188355d789705f928280e 100644 +index 1010232accc7cb0052dade56e7366d90179d7f93..b17e9e446aafc029d70b45fd7879d77cc82d8359 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2128,6 +2128,8 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2161,6 +2161,8 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM void resetCooldown(); /** @@ -933,7 +933,7 @@ index 18eb516f3fbe29df9b4e81d3969d6c3fee799dd7..ef9a545f71a2a5ee37b188355d789705 * @return the client option value of the player */ @NotNull -@@ -2159,6 +2161,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2192,6 +2194,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM // Paper end // Spigot start diff --git a/patches/api/0031-Conflict-on-change-for-adventure-deprecations.patch b/patches/api/0031-Conflict-on-change-for-adventure-deprecations.patch index 24759d248..0e96cd048 100644 --- a/patches/api/0031-Conflict-on-change-for-adventure-deprecations.patch +++ b/patches/api/0031-Conflict-on-change-for-adventure-deprecations.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Conflict on change for adventure deprecations diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index a8fc16f2fa6713a4cbe75c17a8e6743f69c383d5..167d8fa9f8cb5ee67149da3b9b63c613668f20b0 100644 +index 365bb7c092cf7f008ba376ae3b511d69431a28f7..4ef8c75df64e670c55f13efaa69651fd636d5f12 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java @@ -370,7 +370,7 @@ public final class Bukkit { @@ -170,7 +170,7 @@ index c8d37184d8e882a4084a1bfef85faa330588600b..46bae5c13ce2b973b114682f6a338981 /** diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index fb4d5be0a972a5a8d441a628d796d6ada86cfe79..2b2c36e950f1518c795208157f52211a2e93f467 100644 +index b17e9e446aafc029d70b45fd7879d77cc82d8359..ba1894762ede0af3ba18a4105e12e241139ba65d 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java @@ -75,7 +75,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @@ -281,7 +281,7 @@ index fb4d5be0a972a5a8d441a628d796d6ada86cfe79..2b2c36e950f1518c795208157f52211a public void sendSignChange(@NotNull Location loc, @Nullable String[] lines, @NotNull DyeColor dyeColor) throws IllegalArgumentException; /** -@@ -1863,7 +1863,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1896,7 +1896,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @deprecated in favour of {@link #locale()} */ @NotNull diff --git a/patches/api/0035-Flying-Fall-Damage-API.patch b/patches/api/0035-Flying-Fall-Damage-API.patch index f41571358..668e4a21d 100644 --- a/patches/api/0035-Flying-Fall-Damage-API.patch +++ b/patches/api/0035-Flying-Fall-Damage-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Flying Fall Damage API diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 15243abfcbebb0219cabbf56a18910da2f1a027a..ada1063772875d02321cefead55a054efc4369c0 100644 +index ba1894762ede0af3ba18a4105e12e241139ba65d..15160d8999665c2dce77bfcd44630247a2377ede 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2351,5 +2351,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2384,5 +2384,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @param invulnerableTicks Invulnerable ticks remaining */ void setSpawnInvulnerableTicks(int invulnerableTicks); diff --git a/patches/api/0040-Add-force-and-prompt-parameters-to-resource-pack-api.patch b/patches/api/0040-Add-force-and-prompt-parameters-to-resource-pack-api.patch index 7eb4ab618..cc9fba714 100644 --- a/patches/api/0040-Add-force-and-prompt-parameters-to-resource-pack-api.patch +++ b/patches/api/0040-Add-force-and-prompt-parameters-to-resource-pack-api.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add force and prompt parameters to resource pack api diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index d4f66b338ecfe8c1bdcd8f5763e61539923c7efc..40f56815ecee852582b5ed5a86393bee69d90b91 100644 +index 15160d8999665c2dce77bfcd44630247a2377ede..0cbf3ba84da691ad5be6d36820e72a6d9f58cfbc 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -1486,6 +1486,88 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1519,6 +1519,88 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ public void setResourcePack(@NotNull String url, @NotNull byte[] hash); diff --git a/patches/server/0002-Rebrand.patch b/patches/server/0002-Rebrand.patch index d47a1d68b..f6376dbd0 100644 --- a/patches/server/0002-Rebrand.patch +++ b/patches/server/0002-Rebrand.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Rebrand diff --git a/build.gradle.kts b/build.gradle.kts -index 72e4828940396b7b326ed64c3c06b785f949b08d..c103a602c9369f959da4a99edcf9f067d2672257 100644 +index cd74406039704e5a880f00b9b60bb7b1dedc5398..034d1058c7a7c1ed1a4a2c7ac23ec00f72ac63dd 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -18,8 +18,8 @@ repositories { @@ -19,7 +19,7 @@ index 72e4828940396b7b326ed64c3c06b785f949b08d..c103a602c9369f959da4a99edcf9f067 // Paper start implementation("org.jline:jline-terminal-jansi:3.21.0") implementation("net.minecrell:terminalconsoleappender:1.3.0") -@@ -53,6 +53,8 @@ dependencies { +@@ -49,6 +49,8 @@ dependencies { isTransitive = false } // Paper end @@ -28,7 +28,7 @@ index 72e4828940396b7b326ed64c3c06b785f949b08d..c103a602c9369f959da4a99edcf9f067 testImplementation("io.github.classgraph:classgraph:4.8.47") // Paper - mob goal test testImplementation("junit:junit:4.13.1") -@@ -71,7 +73,7 @@ tasks.jar { +@@ -67,7 +69,7 @@ tasks.jar { attributes( "Main-Class" to "org.bukkit.craftbukkit.Main", "Implementation-Title" to "CraftBukkit", @@ -37,7 +37,7 @@ index 72e4828940396b7b326ed64c3c06b785f949b08d..c103a602c9369f959da4a99edcf9f067 "Implementation-Vendor" to date, // Paper "Specification-Title" to "Bukkit", "Specification-Version" to project.version, -@@ -162,7 +164,7 @@ fun TaskContainer.registerRunTask( +@@ -158,7 +160,7 @@ fun TaskContainer.registerRunTask( name: String, block: JavaExec.() -> Unit ): TaskProvider = register(name) { @@ -113,10 +113,10 @@ index e0b1f0671d16ddddcb6725acd25a1d1d69e42701..8c3c68465197fafc14849dc38a572e30 .completer(new ConsoleCommandCompleter(this.server)) .option(LineReader.Option.COMPLETE_IN_WORD, true); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 519806cee3a45eaaedefa83b7237b073c9bbc332..1f3f93485f8ceab2f8d2601a952414b993ace6a3 100644 +index 893badbe321fa974cb82f5f11ab590bb3827f8b8..f1fbd740706fd0679643be466bf5fa4905dbe453 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1707,7 +1707,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop resourcekey, final DimensionType dimensionmanager, Supplier supplier, boolean flag, boolean flag1, long i, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env) { +@@ -311,6 +313,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { + protected Level(WritableLevelData worlddatamutable, ResourceKey resourcekey, final DimensionType dimensionmanager, Supplier supplier, boolean flag, boolean flag1, long i, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env, java.util.concurrent.Executor executor) { // Paper - Async-Anti-Xray - Pass executor this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot this.paperConfig = new com.destroystokyo.paper.PaperWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), this.spigotConfig); // Paper + this.purpurConfig = new net.pl3x.purpur.PurpurWorldConfig((ServerLevel) this, ((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), env); // Purpur @@ -444,7 +444,7 @@ index 0000000000000000000000000000000000000000..6e7f56fe2b78d7a09d5d130f2c88338f + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 14cbc2a71b5587cd8f6df897a017afeb4e4ec017..a59270a4702ae7d567e9c4e425b1793e6d50c4c8 100644 +index 77984134e53755caf45b8217a912ef0df645de59..e08b48b13ee40c701094c897b50c08dd64b6d31a 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -933,6 +933,7 @@ public final class CraftServer implements Server { diff --git a/patches/server/0004-Purpur-client-support.patch b/patches/server/0004-Purpur-client-support.patch index a4783c819..767444b0a 100644 --- a/patches/server/0004-Purpur-client-support.patch +++ b/patches/server/0004-Purpur-client-support.patch @@ -43,10 +43,10 @@ index 3eba6962040f33b7b31b16c9de22d90f225710b4..23074f0b00cde60e3a42335c7aa3eb4f try { byte[] data = new byte[packet.data.readableBytes()]; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 2ebeb2ab175cd93f7adc9f4ed923831e37481b8f..d6f92c60eb6f0507466c4d2941f3ef02fa58b1cc 100644 +index ad15c4c20ae9e1858a2b914b0a1aa91ec1d7a012..8a1cdd256ab8496b9a8e34bf891c1001b2cee082 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2538,4 +2538,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2563,4 +2563,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this.spigot; } // Spigot end diff --git a/patches/server/0006-Ridables.patch b/patches/server/0006-Ridables.patch index 52738b1f3..ee3b69cfb 100644 --- a/patches/server/0006-Ridables.patch +++ b/patches/server/0006-Ridables.patch @@ -22,10 +22,10 @@ index 14610e6144ec144ebbec6fb0945c67bb0ea86795..6833eb5dc7aa64bef1b3b38de5e282bd super(x, y, z); } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 1f3f93485f8ceab2f8d2601a952414b993ace6a3..592ad9d2f5f1651ccc88032b0c530ae6b1dab8af 100644 +index f1fbd740706fd0679643be466bf5fa4905dbe453..5072cb76e0793ee6c47800628daa65906bde8577 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1585,6 +1585,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 0; // Paper worldserver.hasEntityMoveEvent = io.papermc.paper.event.entity.EntityMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper @@ -34,7 +34,7 @@ index 1f3f93485f8ceab2f8d2601a952414b993ace6a3..592ad9d2f5f1651ccc88032b0c530ae6 this.profiler.push(() -> { diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 53c3b1abc1acf0b847fa2e52b9941bd003971342..20321bf08e3c42c7f8f4879c38d60220505fad5a 100644 +index f055d25394d20afb208e8612fb31d77af141876b..d4d8c93f0fe85ce30e153646e69973f1119700f3 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -208,6 +208,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -4461,7 +4461,7 @@ index 642279bb7e15db9f662094ffd6ded2e3c7af3fd6..ab648e7dafd78f414646cef96b422e87 this.setTradingPlayer(player); this.openTradingScreen(player, this.getDisplayName(), 1); 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 4e6364bea8f464bef690b8cc8f25a80ee699ed5a..24b9343a2dedbbe6aad4048e5a05ae6e610ad5ba 100644 +index 2c00a766130a7f682fc6c4c74321e10637ca7932..7eae138f3bbddd44c078b2fbcb5d5fd07d5bd9aa 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java @@ -191,6 +191,19 @@ public abstract class Player extends LivingEntity { diff --git a/patches/server/0011-AFK-API.patch b/patches/server/0011-AFK-API.patch index b9398e1b3..037c14143 100644 --- a/patches/server/0011-AFK-API.patch +++ b/patches/server/0011-AFK-API.patch @@ -182,7 +182,7 @@ index a7575b5ef56af6f53448d391abb4956e130148ca..0a9e4dc5d6d567605c587df9bcbb57d3 if (baseEntity == null) { if (this.isCombat && (!targetEntity.canBeSeenAsEnemy() || targetEntity.level.getDifficulty() == Difficulty.PEACEFUL)) { 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 24b9343a2dedbbe6aad4048e5a05ae6e610ad5ba..adc094f20ed8bb4c531b06eb2e78bebd3faff578 100644 +index 7eae138f3bbddd44c078b2fbcb5d5fd07d5bd9aa..46932d899db4050e6f7e55caaced409663330446 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java @@ -194,6 +194,13 @@ public abstract class Player extends LivingEntity { @@ -263,7 +263,7 @@ index 20215510857b8e49ea0c93d35eddfbad7cd355b0..996171e7271e62e72c0b2b213c21caf5 public boolean untamedTamablesAreRidable = true; public boolean useNightVisionWhenRiding = false; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index d6f92c60eb6f0507466c4d2941f3ef02fa58b1cc..28b70bb4c0d15334a877840c7ec3fbb6967d5729 100644 +index 8a1cdd256ab8496b9a8e34bf891c1001b2cee082..3e898377b259eb9176772b70a4f3a1b14d0dca91 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -428,10 +428,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -283,7 +283,7 @@ index d6f92c60eb6f0507466c4d2941f3ef02fa58b1cc..28b70bb4c0d15334a877840c7ec3fbb6 for (ServerPlayer player : (List) server.getHandle().players) { if (player.getBukkitEntity().canSee(this)) { player.connection.send(new ClientboundPlayerInfoPacket(ClientboundPlayerInfoPacket.Action.UPDATE_DISPLAY_NAME, this.getHandle())); -@@ -2544,5 +2549,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2569,5 +2574,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public boolean usesPurpurClient() { return getHandle().purpurClient; } diff --git a/patches/server/0013-Configurable-server-mod-name.patch b/patches/server/0013-Configurable-server-mod-name.patch index 7759a4c55..6996b3025 100644 --- a/patches/server/0013-Configurable-server-mod-name.patch +++ b/patches/server/0013-Configurable-server-mod-name.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Configurable server mod name diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 592ad9d2f5f1651ccc88032b0c530ae6b1dab8af..b5a307f00f92a640b13c60f6ebee204223c0d9e2 100644 +index 5072cb76e0793ee6c47800628daa65906bde8577..e140e58b9444573089cda145c7957a2df0b2bd75 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1708,7 +1708,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop packet) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 10affdc93c75b1b2e4e6966201bd9da353178573..5a0d709231ab7fffad60b8fba7f2f490535c8423 100644 +index 2069a834aaab46486025285b97dbb56d30e506a8..8eaaa5ef3a9c2a49e63f4c015738fc7ce7d3fd5c 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1527,7 +1527,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1548,7 +1548,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override - public boolean canSee(Player player) { -- return !this.hiddenPlayers.containsKey(player.getUniqueId()); + public boolean canSee(org.bukkit.entity.Entity entity) { +- return !this.hiddenEntities.containsKey(entity.getUniqueId()); + // Purpur start -+ return canSee(player.getUniqueId()); ++ return this.canSee(entity.getUniqueId()); + } + + public boolean canSee(UUID uuid) { -+ return !hiddenPlayers.containsKey(uuid); ++ return !this.hiddenEntities.containsKey(uuid); + // Purpur end } diff --git a/patches/server/0156-Sneak-to-bulk-process-composter.patch b/patches/server/0156-Sneak-to-bulk-process-composter.patch index 097e3abae..1f5ac928b 100644 --- a/patches/server/0156-Sneak-to-bulk-process-composter.patch +++ b/patches/server/0156-Sneak-to-bulk-process-composter.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Sneak to bulk process composter diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java -index 17a59fba538f8a7bdd96964c6acda94b33655d27..390847272785067bf04a672e28eacc9136447057 100644 +index dd92cc53f0e6247508c6ce494dd45b4829344b2a..5565dfb30bd2609aded4c064ea6dfcabf71047e6 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java -@@ -578,7 +578,7 @@ public class ServerPlayerGameMode { +@@ -580,7 +580,7 @@ public class ServerPlayerGameMode { boolean flag1 = player.isSecondaryUseActive() && flag; ItemStack itemstack1 = stack.copy(); diff --git a/patches/server/0161-Break-individual-slabs-when-sneaking.patch b/patches/server/0161-Break-individual-slabs-when-sneaking.patch index dcf5fb092..0ed8d98d3 100644 --- a/patches/server/0161-Break-individual-slabs-when-sneaking.patch +++ b/patches/server/0161-Break-individual-slabs-when-sneaking.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Break individual slabs when sneaking diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java -index 390847272785067bf04a672e28eacc9136447057..1351d83efdcab51d3898e1fb77d01b27975ce136 100644 +index 5565dfb30bd2609aded4c064ea6dfcabf71047e6..cd1d5c3a21b08105b00e2d10671cfa0c7f24330d 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java -@@ -416,6 +416,7 @@ public class ServerPlayerGameMode { +@@ -418,6 +418,7 @@ public class ServerPlayerGameMode { } return false; } diff --git a/patches/server/0188-ShulkerBox-allow-oversized-stacks.patch b/patches/server/0188-ShulkerBox-allow-oversized-stacks.patch index f34ff1d31..4ff5a22b2 100644 --- a/patches/server/0188-ShulkerBox-allow-oversized-stacks.patch +++ b/patches/server/0188-ShulkerBox-allow-oversized-stacks.patch @@ -9,10 +9,10 @@ creating an itemstack using the TileEntity's NBT data (how it handles it for creative players) instead of routing it through the LootableBuilder. diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java -index 1351d83efdcab51d3898e1fb77d01b27975ce136..a6bf1fb6fff72b7d6460ce27ee7e7c45d4f4fee4 100644 +index cd1d5c3a21b08105b00e2d10671cfa0c7f24330d..6954d96cf4324f8b608a867463b2b8feb2acd494 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java -@@ -445,7 +445,7 @@ public class ServerPlayerGameMode { +@@ -447,7 +447,7 @@ public class ServerPlayerGameMode { block.destroy(this.level, pos, iblockdata); } diff --git a/patches/server/0196-Flying-Fall-Damage-API.patch b/patches/server/0196-Flying-Fall-Damage-API.patch index 3f0c21824..cb22bbedd 100644 --- a/patches/server/0196-Flying-Fall-Damage-API.patch +++ b/patches/server/0196-Flying-Fall-Damage-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Flying Fall Damage API 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 f55aef0116caf662f9cf1b14750422de802860bb..df780b1e7d0f598c5b5eb249f69f342af2381a08 100644 +index 5a73b085782dad9e4e35af18e6c70aca70793a5b..e25b8b0023d4f0368f3104a9b2a015585e65b9f9 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java @@ -180,6 +180,7 @@ public abstract class Player extends LivingEntity { @@ -26,10 +26,10 @@ index f55aef0116caf662f9cf1b14750422de802860bb..df780b1e7d0f598c5b5eb249f69f342a } else { if (fallDistance >= 2.0F) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index f223685ecb4e8dfb9b97a97ed106b052953be89f..d43a8f5931a2b6868ed62acb1bfb513612a9faf9 100644 +index 0bd742b09d607ba272a3d18fac164670492f60ca..7e59cad26627286bdba07399177cc8bef74a0c6d 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2589,5 +2589,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2614,5 +2614,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public void setSpawnInvulnerableTicks(int spawnInvulnerableTime) { getHandle().spawnInvulnerableTime = spawnInvulnerableTime; } diff --git a/patches/server/0206-Armor-click-equip-options.patch b/patches/server/0206-Armor-click-equip-options.patch index 73179a6d4..0afbdae0e 100644 --- a/patches/server/0206-Armor-click-equip-options.patch +++ b/patches/server/0206-Armor-click-equip-options.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Armor click equip options diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java -index a6bf1fb6fff72b7d6460ce27ee7e7c45d4f4fee4..add6aa626273fef9cbd4662f83bea6f79312d1da 100644 +index 6954d96cf4324f8b608a867463b2b8feb2acd494..ff159296b0d8acef3af74cd578b00a93fba08f36 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java -@@ -495,7 +495,7 @@ public class ServerPlayerGameMode { +@@ -497,7 +497,7 @@ public class ServerPlayerGameMode { return interactionresultwrapper.getResult(); } else { player.setItemInHand(hand, itemstack1); diff --git a/patches/server/0230-Add-force-and-prompt-parameters-to-resource-pack-api.patch b/patches/server/0230-Add-force-and-prompt-parameters-to-resource-pack-api.patch index 764495a36..06f96f139 100644 --- a/patches/server/0230-Add-force-and-prompt-parameters-to-resource-pack-api.patch +++ b/patches/server/0230-Add-force-and-prompt-parameters-to-resource-pack-api.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add force and prompt parameters to resource pack api diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index d43a8f5931a2b6868ed62acb1bfb513612a9faf9..416b1b590f10284ad14d3f1bade23fc28e0643d9 100644 +index 7e59cad26627286bdba07399177cc8bef74a0c6d..85ae66b06a7915bb1c91b3962c916fc24e9aefb8 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -27,6 +27,8 @@ import java.util.WeakHashMap; @@ -17,7 +17,7 @@ index d43a8f5931a2b6868ed62acb1bfb513612a9faf9..416b1b590f10284ad14d3f1bade23fc2 import net.minecraft.Util; import net.minecraft.advancements.AdvancementProgress; import net.minecraft.core.BlockPos; -@@ -1708,11 +1710,23 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1729,11 +1731,23 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setResourcePack(String url, byte[] hash) { diff --git a/patches/server/0232-Extended-OfflinePlayer-API.patch b/patches/server/0232-Extended-OfflinePlayer-API.patch index 1ac55d5fc..eaf9dcaf2 100644 --- a/patches/server/0232-Extended-OfflinePlayer-API.patch +++ b/patches/server/0232-Extended-OfflinePlayer-API.patch @@ -223,10 +223,10 @@ index 88bc0807e8bf66a65422f85f1112336334eb3de2..d0e822b329085b9d0a42276c3cacd6cb + // Purpur end - OfflinePlayer API } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 416b1b590f10284ad14d3f1bade23fc28e0643d9..f52f6432438b9295e73ca3c99a6a20ea01a7f1b3 100644 +index 85ae66b06a7915bb1c91b3962c916fc24e9aefb8..8c6791195812a1fc955a249c88d746d66f9bd962 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1883,6 +1883,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1904,6 +1904,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this.getHandle().getAbilities().walkingSpeed * 2f; } diff --git a/patches/server/0236-Shift-right-click-to-use-exp-for-mending.patch b/patches/server/0236-Shift-right-click-to-use-exp-for-mending.patch index c092e6737..b91b8f4c7 100644 --- a/patches/server/0236-Shift-right-click-to-use-exp-for-mending.patch +++ b/patches/server/0236-Shift-right-click-to-use-exp-for-mending.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Shift right click to use exp for mending diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java -index add6aa626273fef9cbd4662f83bea6f79312d1da..ccf7491c67b76186b2140f319fca69c9e0cecf92 100644 +index ff159296b0d8acef3af74cd578b00a93fba08f36..ff025406e5755aa3654509bd98363f095cc11840 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java -@@ -522,6 +522,7 @@ public class ServerPlayerGameMode { +@@ -524,6 +524,7 @@ public class ServerPlayerGameMode { public InteractionHand interactHand; public ItemStack interactItemStack; public InteractionResult useItemOn(ServerPlayer player, Level world, ItemStack stack, InteractionHand hand, BlockHitResult hitResult) { @@ -16,7 +16,7 @@ index add6aa626273fef9cbd4662f83bea6f79312d1da..ccf7491c67b76186b2140f319fca69c9 BlockPos blockposition = hitResult.getBlockPos(); BlockState iblockdata = world.getBlockState(blockposition); InteractionResult enuminteractionresult = InteractionResult.PASS; -@@ -615,4 +616,18 @@ public class ServerPlayerGameMode { +@@ -617,4 +618,18 @@ public class ServerPlayerGameMode { public void setLevel(ServerLevel world) { this.level = world; }