From 046ba3260ea98e51f68ac3d265db8cbf6ffa5d94 Mon Sep 17 00:00:00 2001 From: Blast-MC Date: Thu, 25 Jan 2024 20:03:31 -0500 Subject: [PATCH] update upstream, resolves javadoc issue --- .gitignore | 1 + build.gradle.kts | 9 ++++++ gradle.properties | 2 +- patches/api/0001-Build-changes.patch | 4 +-- patches/api/0002-Add-Getter-interfaces.patch | 20 ++++++------- .../api/0008-Expose-MCUtil-Executors.patch | 4 +-- ...012-Add-Player-getHiddenEntities-API.patch | 4 +-- ... => 0019-Add-CustomBlockUpdateEvent.patch} | 2 +- .../0019-Temporarily-remove-Javadoc-jar.patch | 18 ------------ ...e.patch => 0020-Entity-Data-Storage.patch} | 24 +++++++-------- ...y.patch => 0021-Add-Sidebar-Utility.patch} | 4 +-- patches/server/0001-Build-changes.patch | 28 +++++++++--------- patches/server/0003-Add-SoundEvent.patch | 29 ++++++++++--------- ...location-to-EntityDamageByBlockEvent.patch | 10 +++---- ...0006-Add-UnsafeValues-canPlaceItemOn.patch | 4 +-- .../0007-Add-Player-setGameProfile.patch | 4 +-- .../server/0008-Expose-MCUtil-Executors.patch | 4 +-- .../0009-Add-BlockDropResourcesEvent.patch | 14 ++++----- .../server/0010-Add-Furnace-Recipe-API.patch | 4 +-- ...1-Disable-sleep-status-announcements.patch | 4 +-- ...d-config-for-ticking-TIME_SINCE_REST.patch | 6 ++-- .../0013-Add-HangingFrame-Tick-API.patch | 4 +-- ...014-Add-Player-getHiddenEntities-API.patch | 4 +-- patches/server/0016-Add-Timings-Events.patch | 4 +-- .../server/0017-Expanded-Insomnia-API.patch | 12 ++++---- .../0018-Add-spam-bypass-permission.patch | 29 +++++++++---------- .../0019-Disable-set-respawn-message.patch | 16 +++++----- .../0022-Add-PreEntityShootBowEvent.patch | 12 ++++---- ... => 0025-Add-CustomBlockUpdateEvent.patch} | 10 +++---- ...e.patch => 0026-Entity-Data-Storage.patch} | 12 ++++---- ...y.patch => 0027-Add-Sidebar-Utility.patch} | 2 +- 31 files changed, 148 insertions(+), 156 deletions(-) rename patches/api/{0020-Add-CustomBlockUpdateEvent.patch => 0019-Add-CustomBlockUpdateEvent.patch} (95%) delete mode 100644 patches/api/0019-Temporarily-remove-Javadoc-jar.patch rename patches/api/{0021-Entity-Data-Storage.patch => 0020-Entity-Data-Storage.patch} (98%) rename patches/api/{0022-Add-Sidebar-Utility.patch => 0021-Add-Sidebar-Utility.patch} (98%) rename patches/server/{0026-Add-CustomBlockUpdateEvent.patch => 0025-Add-CustomBlockUpdateEvent.patch} (96%) rename patches/server/{0027-Entity-Data-Storage.patch => 0026-Entity-Data-Storage.patch} (85%) rename patches/server/{0028-Add-Sidebar-Utility.patch => 0027-Add-Sidebar-Utility.patch} (99%) diff --git a/.gitignore b/.gitignore index 5a3e381..cddbfbe 100644 --- a/.gitignore +++ b/.gitignore @@ -49,6 +49,7 @@ run/ /parchment-server/ /Parchment-API/ /parchment-api/ +/paper-api-generator/ # Compiled class file *.class diff --git a/build.gradle.kts b/build.gradle.kts index 3073a9e..b9d8e1c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -64,6 +64,15 @@ paperweight { serverPatchDir.set(layout.projectDirectory.dir("patches/server")) serverOutputDir.set(layout.projectDirectory.dir("parchment-server")) } + + patchTasks { + register("generatedApi") { + isBareDirectory.set(true) + upstreamDirPath.set("paper-api-generator/generated") + patchDir.set(layout.projectDirectory.dir("patches/generatedApi")) + outputDir.set(layout.projectDirectory.dir("paper-api-generator/generated")) + } + } } } diff --git a/gradle.properties b/gradle.properties index d27465e..dd24da5 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ group = gg.projecteden.parchment version = 1.20.4-R0.1-SNAPSHOT mcVersion = 1.20.4 -paperRef = f1820dc80a02009980e6466ea5847933861b911a +paperRef = b03f255532bba5a1398f03207756f42e5597ccb8 edenVersion = 2.2.8-SNAPSHOT updatingMinecraft=true diff --git a/patches/api/0001-Build-changes.patch b/patches/api/0001-Build-changes.patch index 9981499..596a550 100644 --- a/patches/api/0001-Build-changes.patch +++ b/patches/api/0001-Build-changes.patch @@ -5,11 +5,11 @@ Subject: [PATCH] Build changes diff --git a/build.gradle.kts b/build.gradle.kts -index 9d817bf3f26ffd484945a00a6538970eca22ee20..fa4928487cca082a770a25f6f6490286ae397037 100644 +index bf01892c248b988531d21d9fb0f74d0adf2205ac..d05151a0d3d6fb557cf5bb72d71bd25e8d0c3c51 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -14,6 +14,9 @@ val bungeeCordChatVersion = "1.20-R0.1" - val adventureVersion = "4.14.0" + val adventureVersion = "4.15.0" val slf4jVersion = "2.0.9" val log4jVersion = "2.17.1" + diff --git a/patches/api/0002-Add-Getter-interfaces.patch b/patches/api/0002-Add-Getter-interfaces.patch index 7234fec..5343d50 100644 --- a/patches/api/0002-Add-Getter-interfaces.patch +++ b/patches/api/0002-Add-Getter-interfaces.patch @@ -423,7 +423,7 @@ index 12163a7b0591a7d022dc7eb9ee6608a1b6c39d9b..d81c7307127b135417e06a3b244416be private static final HandlerList handlers = new HandlerList(); private final Player player; diff --git a/src/main/java/org/bukkit/Location.java b/src/main/java/org/bukkit/Location.java -index 9bbd928f7d513ca317cd27beffa61e5111f5ffb0..7cc62b34800d7fe3d26e78945b1e4f24d09f7c85 100644 +index c6049747fc286acb4e8053901fcc517e5170afa2..5ab9b3e73c9cc6ee9cc4471a1f40c9c60a75b99c 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; @@ -509,7 +509,7 @@ index d124768378d6f0c5573f28ee815ea3886fe74868..11a00998b1cb5ee582e225553f15b1b7 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 49974558799830d827f9ccd65a8bafee3fb0376b..0015bb89899e52d3c8f1ca68807ad7092e690305 100644 +index 25650e9a31bcaf672acd115547abc1ec41a1de34..104e562b84196527fa3e10b52836f21cb0471b81 100644 --- a/src/main/java/org/bukkit/block/Block.java +++ b/src/main/java/org/bukkit/block/Block.java @@ -32,7 +32,7 @@ import org.jetbrains.annotations.Nullable; @@ -561,7 +561,7 @@ index 2e17b2d4f759531fbe9ee8e9b00c839186af09ca..8f4a293c131cb8b63c31b410ffa211bd /** * 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 1d0fd7ff8449f815a7d980af0b378181ea8bf8d8..65d2b0e87feec296b9f20a6de2d2266493cd1e7b 100644 +index 6ace3581f8d0c2a1b7e2188d5b6af5c984b74a0e..fb108c194483ef104f323eb2e0aa73451c843292 100644 --- a/src/main/java/org/bukkit/entity/Entity.java +++ b/src/main/java/org/bukkit/entity/Entity.java @@ -31,7 +31,7 @@ import org.jetbrains.annotations.Nullable; @@ -595,7 +595,7 @@ index 8b0d04d5b39ee817555a36adddc39b18fc6f0d02..1c87047de615a85ee20297295478770e // Paper start @Override diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index a8d3451ccfcd21a9e80adc2feab8fc9c2926c753..c445cff54095a5389c8d186a9a191beef082c118 100644 +index 815631a6157b87a9ead270fe0b11ac3892a3fbf4..558903782a1898d875274be7561f332f1ca568b2 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java @@ -52,7 +52,17 @@ import org.jetbrains.annotations.Nullable; @@ -891,12 +891,12 @@ index 8e2afeab4c62724148e8bb0c83fb7eec569c7a0c..2843fd117151dc75c87db06915a67322 private boolean cancelled; private net.kyori.adventure.text.Component titleOverride; // Paper diff --git a/src/main/java/org/bukkit/event/player/AsyncPlayerPreLoginEvent.java b/src/main/java/org/bukkit/event/player/AsyncPlayerPreLoginEvent.java -index fc2d9e85b65347b90bde3b0b13ccae759e33d466..6b2e64fa9c0f3c0af88797d63557c333edf69a5d 100644 +index f8b69b52ec8efa103e4e78e1b5c6a015e73d2a75..7c56a4a7552f71f8e81d23859282b6a8301872cb 100644 --- a/src/main/java/org/bukkit/event/player/AsyncPlayerPreLoginEvent.java +++ b/src/main/java/org/bukkit/event/player/AsyncPlayerPreLoginEvent.java -@@ -14,7 +14,7 @@ import org.jetbrains.annotations.NotNull; - *

- * This event is asynchronous, and not run using main thread. +@@ -21,7 +21,7 @@ import org.jetbrains.annotations.NotNull; + * Consider rendering any translatable yourself with {@link net.kyori.adventure.translation.GlobalTranslator#render} + * if the client's language is known. */ -public class AsyncPlayerPreLoginEvent extends Event { +public class AsyncPlayerPreLoginEvent extends Event implements gg.projecteden.api.interfaces.HasUniqueId { // Parchment @@ -917,10 +917,10 @@ index f6d3b817de3001f04ea4554c7c39a1290af3fd6d..44efb5cc62149b34b994eadac488a902 public PlayerEvent(@NotNull final Player who) { diff --git a/src/main/java/org/bukkit/event/player/PlayerPreLoginEvent.java b/src/main/java/org/bukkit/event/player/PlayerPreLoginEvent.java -index 6800132c6288b4588fd02b08d26f016c38f27129..8e333a361cdee30a83e9472285dfb0b30b2e72ca 100644 +index 175ed12dd1698f4d153c9acdac8340c15a427ea5..5e14dc6968de1b146b31abef19fbba1af8c68b6f 100644 --- a/src/main/java/org/bukkit/event/player/PlayerPreLoginEvent.java +++ b/src/main/java/org/bukkit/event/player/PlayerPreLoginEvent.java -@@ -16,7 +16,7 @@ import org.jetbrains.annotations.NotNull; +@@ -23,7 +23,7 @@ import org.jetbrains.annotations.NotNull; */ @Deprecated @Warning(reason = "This event causes a login thread to synchronize with the main thread") diff --git a/patches/api/0008-Expose-MCUtil-Executors.patch b/patches/api/0008-Expose-MCUtil-Executors.patch index 081f1fa..7fe9c32 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 d0c634629aa0b6bac0da93655dd86ad3aea0ce30..b3162d58938ea5cb38f735a5977ce5e60d81c2b0 100644 +index 9af4bc16da09e59009c47911219e99450cdf2aa5..ed897ec092c10ac5e5e0b645849c696c2f09b597 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2162,6 +2162,22 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2170,6 +2170,22 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi @NotNull UnsafeValues getUnsafe(); diff --git a/patches/api/0012-Add-Player-getHiddenEntities-API.patch b/patches/api/0012-Add-Player-getHiddenEntities-API.patch index e47c84b..a2295da 100644 --- a/patches/api/0012-Add-Player-getHiddenEntities-API.patch +++ b/patches/api/0012-Add-Player-getHiddenEntities-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add Player#getHiddenEntities API diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index c445cff54095a5389c8d186a9a191beef082c118..e59cac883dc83186e0977a73b03636993696b37e 100644 +index 558903782a1898d875274be7561f332f1ca568b2..c8f6fb1d64c86ba2ca89793e25610d1a88f78540 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -1912,6 +1912,17 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1951,6 +1951,17 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @ApiStatus.Experimental public boolean canSee(@NotNull Entity entity); diff --git a/patches/api/0020-Add-CustomBlockUpdateEvent.patch b/patches/api/0019-Add-CustomBlockUpdateEvent.patch similarity index 95% rename from patches/api/0020-Add-CustomBlockUpdateEvent.patch rename to patches/api/0019-Add-CustomBlockUpdateEvent.patch index 771b3a6..306c580 100644 --- a/patches/api/0020-Add-CustomBlockUpdateEvent.patch +++ b/patches/api/0019-Add-CustomBlockUpdateEvent.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Add CustomBlockUpdateEvent diff --git a/src/main/java/gg/projecteden/parchment/event/block/CustomBlockUpdateEvent.java b/src/main/java/gg/projecteden/parchment/event/block/CustomBlockUpdateEvent.java new file mode 100644 -index 0000000000000000000000000000000000000000..620e091669dca44001f834ee66cf3b9681e998ce +index 0000000000000000000000000000000000000000..ae798a18bb07d83bfd3acefc222a48e29f9a3ec3 --- /dev/null +++ b/src/main/java/gg/projecteden/parchment/event/block/CustomBlockUpdateEvent.java @@ -0,0 +1,58 @@ diff --git a/patches/api/0019-Temporarily-remove-Javadoc-jar.patch b/patches/api/0019-Temporarily-remove-Javadoc-jar.patch deleted file mode 100644 index f11bfe9..0000000 --- a/patches/api/0019-Temporarily-remove-Javadoc-jar.patch +++ /dev/null @@ -1,18 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Blast-MC -Date: Fri, 15 Dec 2023 23:46:17 -0500 -Subject: [PATCH] Temporarily remove Javadoc jar - - -diff --git a/build.gradle.kts b/build.gradle.kts -index 9901114fba1469c138bba1821cafd057fbafd4b1..7b2266d0033a43a195e344f816c2a65bd2877db4 100644 ---- a/build.gradle.kts -+++ b/build.gradle.kts -@@ -6,7 +6,6 @@ plugins { - - java { - withSourcesJar() -- withJavadocJar() - } - - val annotationsVersion = "24.0.1" diff --git a/patches/api/0021-Entity-Data-Storage.patch b/patches/api/0020-Entity-Data-Storage.patch similarity index 98% rename from patches/api/0021-Entity-Data-Storage.patch rename to patches/api/0020-Entity-Data-Storage.patch index 8b37c42..a7d4ab8 100644 --- a/patches/api/0021-Entity-Data-Storage.patch +++ b/patches/api/0020-Entity-Data-Storage.patch @@ -223,18 +223,6 @@ index 0000000000000000000000000000000000000000..c52c8371b2edf4f62533ffcbc7f8d7b1 + return this.idx; + } +} -diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java -index 65d2b0e87feec296b9f20a6de2d2266493cd1e7b..283fa192456de9e643ed6b87ace05135e9cb7713 100644 ---- a/src/main/java/org/bukkit/entity/Entity.java -+++ b/src/main/java/org/bukkit/entity/Entity.java -@@ -1107,4 +1107,7 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent - */ - @NotNull String getScoreboardEntryName(); - // Paper end - entity scoreboard name -+ -+ gg.projecteden.parchment.entity.EntityData getStoredEntityData(); -+ - } diff --git a/src/main/java/gg/projecteden/parchment/entity/EntityDataServiceKey.java b/src/main/java/gg/projecteden/parchment/entity/EntityDataServiceKey.java new file mode 100644 index 0000000000000000000000000000000000000000..c9f9c0d235f33925ee247ba4af56bf9f31bf7056 @@ -271,3 +259,15 @@ index 0000000000000000000000000000000000000000..c9f9c0d235f33925ee247ba4af56bf9f + this.service = service; + } +} +diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java +index fb108c194483ef104f323eb2e0aa73451c843292..e0fdf6d2550a6f331c5ccc82443a9065eca48072 100644 +--- a/src/main/java/org/bukkit/entity/Entity.java ++++ b/src/main/java/org/bukkit/entity/Entity.java +@@ -1107,4 +1107,7 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent + */ + @NotNull String getScoreboardEntryName(); + // Paper end - entity scoreboard name ++ ++ gg.projecteden.parchment.entity.EntityData getStoredEntityData(); ++ + } diff --git a/patches/api/0022-Add-Sidebar-Utility.patch b/patches/api/0021-Add-Sidebar-Utility.patch similarity index 98% rename from patches/api/0022-Add-Sidebar-Utility.patch rename to patches/api/0021-Add-Sidebar-Utility.patch index 8a0f6c9..9a7c07d 100644 --- a/patches/api/0022-Add-Sidebar-Utility.patch +++ b/patches/api/0021-Add-Sidebar-Utility.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Add Sidebar Utility diff --git a/src/main/java/gg/projecteden/parchment/sidebar/Sidebar.java b/src/main/java/gg/projecteden/parchment/sidebar/Sidebar.java new file mode 100644 -index 0000000000000000000000000000000000000000..f3f7a138d8d0a0e5f863f50fa39ffd861a8a1db9 +index 0000000000000000000000000000000000000000..b0c704387e566d76d097595c35d06d8e5cbe204f --- /dev/null +++ b/src/main/java/gg/projecteden/parchment/sidebar/Sidebar.java @@ -0,0 +1,123 @@ @@ -135,7 +135,7 @@ index 0000000000000000000000000000000000000000..f3f7a138d8d0a0e5f863f50fa39ffd86 +} diff --git a/src/main/java/gg/projecteden/parchment/sidebar/SidebarBuffer.java b/src/main/java/gg/projecteden/parchment/sidebar/SidebarBuffer.java new file mode 100644 -index 0000000000000000000000000000000000000000..c4a58a2b4e8bf5d3130b7da71616f06b6ed98e8f +index 0000000000000000000000000000000000000000..ec13738dc625464d7fa41484ee44583ef82248fd --- /dev/null +++ b/src/main/java/gg/projecteden/parchment/sidebar/SidebarBuffer.java @@ -0,0 +1,100 @@ diff --git a/patches/server/0001-Build-changes.patch b/patches/server/0001-Build-changes.patch index 9597cc7..674487a 100644 --- a/patches/server/0001-Build-changes.patch +++ b/patches/server/0001-Build-changes.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Build changes diff --git a/build.gradle.kts b/build.gradle.kts -index 170a915098f09ace226648da342a04c5c7583d11..ff010d3680e8c6fea0f0ad7f455a2df757b495ba 100644 +index 376e8983fdfdbb6c3e5fd8ad0f6a05e655b622bf..556e2244f37243154e0f2bec756e290421ccc14b 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,4 +1,5 @@ @@ -14,10 +14,10 @@ index 170a915098f09ace226648da342a04c5c7583d11..ff010d3680e8c6fea0f0ad7f455a2df7 plugins { java -@@ -27,8 +28,12 @@ repositories { +@@ -13,8 +14,12 @@ configurations.named(log4jPlugins.compileClasspathConfigurationName) { + val alsoShade: Configuration by configurations.creating dependencies { - extraRuntime(platform("net.kyori:adventure-bom:4.15.0-SNAPSHOT")) - implementation(project(":paper-api")) - implementation(project(":paper-mojangapi")) + // Parchment start @@ -29,7 +29,7 @@ index 170a915098f09ace226648da342a04c5c7583d11..ff010d3680e8c6fea0f0ad7f455a2df7 // Paper start implementation("org.jline:jline-terminal-jansi:3.21.0") implementation("net.minecrell:terminalconsoleappender:1.3.0") -@@ -84,7 +89,7 @@ tasks.jar { +@@ -69,7 +74,7 @@ tasks.jar { attributes( "Main-Class" to "org.bukkit.craftbukkit.Main", "Implementation-Title" to "CraftBukkit", @@ -38,7 +38,7 @@ index 170a915098f09ace226648da342a04c5c7583d11..ff010d3680e8c6fea0f0ad7f455a2df7 "Implementation-Vendor" to date, // Paper "Specification-Title" to "Bukkit", "Specification-Version" to project.version, -@@ -112,7 +117,27 @@ tasks.compileTestJava { +@@ -97,7 +102,27 @@ tasks.compileTestJava { publishing { publications.create("maven") { @@ -67,7 +67,7 @@ index 170a915098f09ace226648da342a04c5c7583d11..ff010d3680e8c6fea0f0ad7f455a2df7 } } -@@ -168,7 +193,7 @@ fun TaskContainer.registerRunTask( +@@ -153,7 +178,7 @@ fun TaskContainer.registerRunTask( name: String, block: JavaExec.() -> Unit ): TaskProvider = register(name) { @@ -107,23 +107,23 @@ index 9d687da5bdf398bb3f6c84cdf1249a7213d09f2e..9b248dde91651b40b6b3e3dda8985c73 return history != null ? TextComponent.ofChildren(updateMessage, Component.newline(), history) : updateMessage; diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 34f19ac897a30c0c4e3ab406013fcca1c8b7db93..cb786826e228b88db7836c2641d32d025bea5a10 100644 +index fa2b4cdd4c4e2c1df3e378a7c706f06c3361ad53..7a6b94833bf62da8d2806849ebebee0709b09f59 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1866,7 +1866,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop // Spigot - Spigot > // CraftBukkit - cb > vanilla! +- return "Paper"; // Paper + return "Parchment"; // Parchment - Parchment > //Paper - Paper > // Spigot - Spigot > // CraftBukkit - cb > vanilla! } public SystemReport fillSystemReport(SystemReport details) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 782bb8ca67517dde5dba8f0a133eb8699353dd01..f8925b5f581fac113de89b9fca24d35e39a6fa3d 100644 +index 25f41119bcc19bab7cd2fdb044147b3f78a8ef1c..ce3bbb9909dde2594d33fd33d5d93a5afbbe601f 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -270,7 +270,7 @@ import javax.annotation.Nullable; // Paper +@@ -264,7 +264,7 @@ import javax.annotation.Nullable; // Paper import javax.annotation.Nonnull; // Paper public final class CraftServer implements Server { @@ -133,7 +133,7 @@ index 782bb8ca67517dde5dba8f0a133eb8699353dd01..f8925b5f581fac113de89b9fca24d35e private final String bukkitVersion = Versioning.getBukkitVersion(); private final Logger logger = Logger.getLogger("Minecraft"); diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 4b457cbfc56e55e0ae0fee5b69e2e75349702aab..d7f75d1a7107ce95dbba2842db0ced08ed4306e2 100644 +index ce341f42b3a5e17fb6d1f7de8057e73137ae2a6e..226cf8f41190abee10050013f27cd59e135944d6 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -301,7 +301,7 @@ public class Main { @@ -144,7 +144,7 @@ index 4b457cbfc56e55e0ae0fee5b69e2e75349702aab..d7f75d1a7107ce95dbba2842db0ced08 + System.err.println("*** Please download a new build as per instructions from https://github.com/ProjectEdenGG/Parchment ***"); // Paper //System.err.println("*** Server will start in 20 seconds ***"); //Thread.sleep(TimeUnit.SECONDS.toMillis(20)); - // Paper End + // Paper end diff --git a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java index 774556a62eb240da42e84db4502e2ed43495be17..6f1b3fa6ebeabc7596034663ed06686fd3892267 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java @@ -159,7 +159,7 @@ index 774556a62eb240da42e84db4502e2ed43495be17..6f1b3fa6ebeabc7596034663ed06686f if (stream != null) { diff --git a/src/main/java/org/spigotmc/WatchdogThread.java b/src/main/java/org/spigotmc/WatchdogThread.java -index 40dcdf6885e99b26283a9ea2bd4d4bf6ec358e71..be856b112dca06eac172a5c2b056b619ef47f6e6 100644 +index 9e638f72f180ff5ef63ec3dd6cf548c53f7bd4a5..b0df6388d08057774f965b5d830ba17e64ea131f 100644 --- a/src/main/java/org/spigotmc/WatchdogThread.java +++ b/src/main/java/org/spigotmc/WatchdogThread.java @@ -162,7 +162,7 @@ public final class WatchdogThread extends io.papermc.paper.util.TickThread // Pa diff --git a/patches/server/0003-Add-SoundEvent.patch b/patches/server/0003-Add-SoundEvent.patch index aed25be..d7cf507 100644 --- a/patches/server/0003-Add-SoundEvent.patch +++ b/patches/server/0003-Add-SoundEvent.patch @@ -39,10 +39,10 @@ index 0000000000000000000000000000000000000000..44245b61f64e4e2eb21ac4f5e540aa9a + } +} diff --git a/src/main/java/io/papermc/paper/adventure/PaperAdventure.java b/src/main/java/io/papermc/paper/adventure/PaperAdventure.java -index 99871023c54e387c6ef72a4307d945047aee87fe..4ce043faf03caf8858a86876b9125e274eb75c43 100644 +index ca80cbe422d766b3d044a5b53ce40bb7f92558e4..e1e379113a1e8aeeab0ce71ebc373756a7a16368 100644 --- a/src/main/java/io/papermc/paper/adventure/PaperAdventure.java +++ b/src/main/java/io/papermc/paper/adventure/PaperAdventure.java -@@ -344,6 +344,41 @@ public final class PaperAdventure { +@@ -348,6 +348,41 @@ public final class PaperAdventure { return asVanilla(source); } @@ -85,10 +85,10 @@ index 99871023c54e387c6ef72a4307d945047aee87fe..4ce043faf03caf8858a86876b9125e27 final ResourceLocation name = asVanilla(sound.name()); final Optional soundEvent = BuiltInRegistries.SOUND_EVENT.getOptional(name); diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index b78a9628a88f2a495ef6de74446a02a14d41a1f6..abd5300282563a804290eb2e9333e59a0e8ac708 100644 +index 6934e9dac0d69c043b73b7c46d59f2d39b37c67f..60df39dd0c6fbb970a39b5a67fc235fa87cdc789 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -1811,12 +1811,46 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1796,12 +1796,46 @@ public class ServerLevel extends Level implements WorldGenLevel { @Override public void playSeededSound(@Nullable Player source, double x, double y, double z, Holder sound, SoundSource category, float volume, float pitch, long seed) { @@ -138,10 +138,10 @@ index b78a9628a88f2a495ef6de74446a02a14d41a1f6..abd5300282563a804290eb2e9333e59a @Override diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 8efbbd379244e3ed54d4aba199037cc20ccd096a..823bc659f7421c3752e4cf1333e1568e1308464d 100644 +index 0dba30c41affafe7b1d585b515925043b37712fa..1d2fa2de139ea713051ca4d2d79bec9f62e69af3 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2435,7 +2435,20 @@ public class ServerPlayer extends Player { +@@ -2436,7 +2436,20 @@ public class ServerPlayer extends Player { @Override public void playNotifySound(SoundEvent event, SoundSource category, float volume, float pitch) { @@ -164,23 +164,24 @@ index 8efbbd379244e3ed54d4aba199037cc20ccd096a..823bc659f7421c3752e4cf1333e1568e @Override diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index a35638a92479b90afa89cf201fc45b49c9e767f3..70aa55d04875338b92d29faba18aee08a926e518 100644 +index e0ee45036b9bf14a6e2013fe291cde0402b85b1f..4810d387f70d00701dc970601d2684d7713dd20b 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -968,7 +968,7 @@ public abstract class PlayerList { +@@ -967,8 +967,7 @@ public abstract class PlayerList { BlockState data = worldserver1.getBlockState(blockposition); worldserver1.setBlock(blockposition, data.setValue(net.minecraft.world.level.block.RespawnAnchorBlock.CHARGE, data.getValue(net.minecraft.world.level.block.RespawnAnchorBlock.CHARGE) - 1), 3); } - entityplayer1.connection.send(new ClientboundSoundPacket(SoundEvents.RESPAWN_ANCHOR_DEPLETE, SoundSource.BLOCKS, (double) location.getX(), (double) location.getY(), (double) location.getZ(), 1.0F, 1.0F, worldserver1.getRandom().nextLong())); +- // Paper end - Fix SPIGOT-5989 + entityplayer1.playNotifySound(SoundEvents.RESPAWN_ANCHOR_DEPLETE.value(), SoundSource.BLOCKS, 1.0F, 1.0F); // Parchment - use existing play sound method - // Paper end } // Added from changeDimension + this.sendAllPlayerInfo(entityplayer); // Update health, etc... 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 7f3466340891b4409d1399ebeb2ca865d77841cd..f459202c3a79128df936be4a1a2cd51bbc9143b8 100644 +index 44a17a8e763455e834dcf488044a0f4907ce346e..001579e6919cbe634ae11482ec6d9303536457fe 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -1839,7 +1839,21 @@ public abstract class Player extends LivingEntity { +@@ -1853,7 +1853,21 @@ public abstract class Player extends LivingEntity { private static void sendSoundEffect(Player fromEntity, double x, double y, double z, SoundEvent soundEffect, SoundSource soundCategory, float volume, float pitch) { fromEntity.level().playSound(fromEntity, x, y, z, soundEffect, soundCategory, volume, pitch); // This will not send the effect to the entity himself if (fromEntity instanceof ServerPlayer) { @@ -202,7 +203,7 @@ index 7f3466340891b4409d1399ebeb2ca865d77841cd..f459202c3a79128df936be4a1a2cd51b + // Parchment end } } - // Paper end + // Paper end - send while respecting visibility diff --git a/src/main/java/net/minecraft/world/entity/raid/Raid.java b/src/main/java/net/minecraft/world/entity/raid/Raid.java index eaa2943b667967f93f28d9d794d702fdaeb670ec..df03f4867742cd194db260dfb81398b14286397e 100644 --- a/src/main/java/net/minecraft/world/entity/raid/Raid.java @@ -217,10 +218,10 @@ index eaa2943b667967f93f28d9d794d702fdaeb670ec..df03f4867742cd194db260dfb81398b1 } diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index f5a5ae30dfba21d5cf3990c046cfe41547e8a87a..dfd54e3f9016635c986afdb613c94be9bec91237 100644 +index b9e90f589749dfc9324c4aa2062c505fbd4447bc..8e18a66c45af55ef37794cb6c00f565a347c95aa 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -2177,4 +2177,42 @@ public class CraftEventFactory { +@@ -2172,4 +2172,42 @@ public class CraftEventFactory { return event; } // Paper end - add EntityFertilizeEggEvent diff --git a/patches/server/0005-Add-origin-location-to-EntityDamageByBlockEvent.patch b/patches/server/0005-Add-origin-location-to-EntityDamageByBlockEvent.patch index d1abb2d..f3d1001 100644 --- a/patches/server/0005-Add-origin-location-to-EntityDamageByBlockEvent.patch +++ b/patches/server/0005-Add-origin-location-to-EntityDamageByBlockEvent.patch @@ -5,19 +5,19 @@ Subject: [PATCH] Add origin location to EntityDamageByBlockEvent diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index dfd54e3f9016635c986afdb613c94be9bec91237..c7056a714cecb4c2190bc5e85bf4ac3812640f6c 100644 +index 8e18a66c45af55ef37794cb6c00f565a347c95aa..b5ad5d810dbad4609bde5f0e12249be1949574a0 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1063,7 +1063,7 @@ public class CraftEventFactory { +@@ -1058,7 +1058,7 @@ public class CraftEventFactory { CraftEventFactory.entityDamage = null; EntityDamageEvent event; if (damager == null) { -- event = new EntityDamageByBlockEvent(null, entity.getBukkitEntity(), DamageCause.BLOCK_EXPLOSION, modifiers, modifierFunctions, source.explodedBlockState); // Paper - handle block state in damage +- event = new EntityDamageByBlockEvent(null, entity.getBukkitEntity(), DamageCause.BLOCK_EXPLOSION, modifiers, modifierFunctions, source.explodedBlockState); // Paper - add exploded state + event = new EntityDamageByBlockEvent(null, entity.getBukkitEntity(), DamageCause.BLOCK_EXPLOSION, modifiers, modifierFunctions, source.explodedBlockState, source.getEntity().getBukkitEntity().getLocation()); // Paper - handle block state in damage } else if (entity instanceof EnderDragon && /*PAIL FIXME ((EntityEnderDragon) entity).target == damager*/ false) { event = new EntityDamageEvent(entity.getBukkitEntity(), DamageCause.ENTITY_EXPLOSION, modifiers, modifierFunctions); } else { -@@ -1111,7 +1111,7 @@ public class CraftEventFactory { +@@ -1106,7 +1106,7 @@ public class CraftEventFactory { return CraftEventFactory.callEntityDamageEvent(damager, entity, cause, modifiers, modifierFunctions, cancelled, source.isCritical()); // Paper - add critical damage API } else if (source.is(DamageTypes.FELL_OUT_OF_WORLD)) { @@ -26,7 +26,7 @@ index dfd54e3f9016635c986afdb613c94be9bec91237..c7056a714cecb4c2190bc5e85bf4ac38 event.setCancelled(cancelled); CraftEventFactory.callEvent(event); if (!event.isCancelled()) { -@@ -1121,7 +1121,7 @@ public class CraftEventFactory { +@@ -1116,7 +1116,7 @@ public class CraftEventFactory { } return event; } else if (source.is(DamageTypes.LAVA)) { diff --git a/patches/server/0006-Add-UnsafeValues-canPlaceItemOn.patch b/patches/server/0006-Add-UnsafeValues-canPlaceItemOn.patch index f039594..4e8573d 100644 --- a/patches/server/0006-Add-UnsafeValues-canPlaceItemOn.patch +++ b/patches/server/0006-Add-UnsafeValues-canPlaceItemOn.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add UnsafeValues#canPlaceItemOn diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index ec2396f0e5d62b10450eaa7239a8c5479638b3c3..ad1cc677ed7f04c9b6629050e1900e85299bac67 100644 +index 4e1390b9244aeb745ffd3fd1257bc74248722515..2a936889421098ced8c5231ec1671064519a9b1b 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -642,6 +642,55 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -645,6 +645,55 @@ public final class CraftMagicNumbers implements UnsafeValues { } // Paper end diff --git a/patches/server/0007-Add-Player-setGameProfile.patch b/patches/server/0007-Add-Player-setGameProfile.patch index d8f6143..374cad3 100644 --- a/patches/server/0007-Add-Player-setGameProfile.patch +++ b/patches/server/0007-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 f459202c3a79128df936be4a1a2cd51bbc9143b8..31f533ae280f147cbc183430a6209beedf4e96b3 100644 +index 001579e6919cbe634ae11482ec6d9303536457fe..f23f18af19a551a21b58ef868f5f216c8a87d030 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -1511,6 +1511,12 @@ public abstract class Player extends LivingEntity { +@@ -1525,6 +1525,12 @@ public abstract class Player extends LivingEntity { return this.gameProfile; } diff --git a/patches/server/0008-Expose-MCUtil-Executors.patch b/patches/server/0008-Expose-MCUtil-Executors.patch index ddf5608..fd60159 100644 --- a/patches/server/0008-Expose-MCUtil-Executors.patch +++ b/patches/server/0008-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 f8925b5f581fac113de89b9fca24d35e39a6fa3d..7aa1ee8ec0ddcbac85102c67394c757a438f95e9 100644 +index ce3bbb9909dde2594d33fd33d5d93a5afbbe601f..e6186484a966431b562c75f3f0952637f30ed221 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -3228,4 +3228,16 @@ public final class CraftServer implements Server { +@@ -3229,4 +3229,16 @@ public final class CraftServer implements Server { } // Paper end diff --git a/patches/server/0009-Add-BlockDropResourcesEvent.patch b/patches/server/0009-Add-BlockDropResourcesEvent.patch index 298bb04..c679077 100644 --- a/patches/server/0009-Add-BlockDropResourcesEvent.patch +++ b/patches/server/0009-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 4d50dd92a7f3187ee1d8edb926e7c273c8156549..c4c27fb5b92833eca243e1ba718c8dcaa676a310 100644 +index 73d6f881a7d4d8ff96040d34ac502e5b0937d577..d6e2b9d4bbd3ba9f9461a02b282c26b95861530a 100644 --- a/src/main/java/net/minecraft/world/level/block/Block.java +++ b/src/main/java/net/minecraft/world/level/block/Block.java @@ -309,7 +309,7 @@ public class Block extends BlockBehaviour implements ItemLike { @@ -29,20 +29,20 @@ index 4d50dd92a7f3187ee1d8edb926e7c273c8156549..c4c27fb5b92833eca243e1ba718c8dca Block.popResource((ServerLevel) world, pos, itemstack); }); state.spawnAfterBreak((ServerLevel) world, pos, ItemStack.EMPTY, true); -@@ -346,7 +346,7 @@ public class Block extends BlockBehaviour implements ItemLike { - - public static void dropResources(BlockState state, Level world, BlockPos pos, @Nullable BlockEntity blockEntity, @Nullable Entity entity, ItemStack tool) { +@@ -354,7 +354,7 @@ public class Block extends BlockBehaviour implements ItemLike { + public static void dropResources(BlockState state, Level world, BlockPos pos, @Nullable BlockEntity blockEntity, @Nullable Entity entity, ItemStack tool, boolean dropExperience) { + // Paper end - Properly handle xp dropping if (world instanceof ServerLevel) { - Block.getDrops(state, (ServerLevel) world, pos, blockEntity, entity, tool).forEach((itemstack1) -> { + org.bukkit.craftbukkit.event.CraftEventFactory.callBlockDropResourcesEvent(world, pos, Block.getDrops(state, (ServerLevel) world, pos, blockEntity, entity, tool)).forEach((itemstack1) -> { // Parchment Block.popResource(world, pos, itemstack1); }); - state.spawnAfterBreak((ServerLevel) world, pos, tool, true); + state.spawnAfterBreak((ServerLevel) world, pos, tool, dropExperience); // Paper - Properly handle xp dropping diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index c7056a714cecb4c2190bc5e85bf4ac3812640f6c..6c1f74e3dbbf421e6ff496aee58297e6a9d36308 100644 +index b5ad5d810dbad4609bde5f0e12249be1949574a0..2068624d9ce5685a8bf4748fa75002bdae6192dd 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -2214,5 +2214,19 @@ public class CraftEventFactory { +@@ -2209,5 +2209,19 @@ public class CraftEventFactory { } }); } diff --git a/patches/server/0010-Add-Furnace-Recipe-API.patch b/patches/server/0010-Add-Furnace-Recipe-API.patch index f051d0d..7cc1fbb 100644 --- a/patches/server/0010-Add-Furnace-Recipe-API.patch +++ b/patches/server/0010-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 e1fad381b861471a17529c246bb8a4a9c7646420..3a0fa7f7085607f44a52095c29647f6fbe641764 100644 +index a139601888b88e8580bdb9c2469386a94abae975..78545a1ee1c403c39563f1b3c9ffcc4bb6e91fd8 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -2505,4 +2505,11 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -2488,4 +2488,11 @@ public class CraftWorld extends CraftRegionAccessor implements World { return this.adventure$pointers; } // Paper end diff --git a/patches/server/0011-Disable-sleep-status-announcements.patch b/patches/server/0011-Disable-sleep-status-announcements.patch index 291c0f1..0da5a04 100644 --- a/patches/server/0011-Disable-sleep-status-announcements.patch +++ b/patches/server/0011-Disable-sleep-status-announcements.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Disable sleep status announcements diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index abd5300282563a804290eb2e9333e59a0e8ac708..bb6fcfe8c4fd42db3018b79853c11d598fac4b7b 100644 +index 60df39dd0c6fbb970a39b5a67fc235fa87cdc789..0b403859d0f24ceea72ea7ac2a8a608c949b74de 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -1173,7 +1173,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1172,7 +1172,7 @@ public class ServerLevel extends Level implements WorldGenLevel { } private void announceSleepStatus() { diff --git a/patches/server/0012-Add-config-for-ticking-TIME_SINCE_REST.patch b/patches/server/0012-Add-config-for-ticking-TIME_SINCE_REST.patch index 3eeda8e..1d06467 100644 --- a/patches/server/0012-Add-config-for-ticking-TIME_SINCE_REST.patch +++ b/patches/server/0012-Add-config-for-ticking-TIME_SINCE_REST.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add config for ticking TIME_SINCE_REST diff --git a/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java b/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java -index 071d3877e386a0c7c4d2f2e8ddd06e0765c49d0d..aa47cd0274db73cefb5feb062be53f1cd66d48cf 100644 +index 385ca2c1022e0985550a5cc2bbff953f1aa33f5c..3859342b3fa840aaeb71203fcf9ee88ec1aa1160 100644 --- a/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java +++ b/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java @@ -287,6 +287,7 @@ public class WorldConfiguration extends ConfigurationPart { @@ -17,10 +17,10 @@ index 071d3877e386a0c7c4d2f2e8ddd06e0765c49d0d..aa47cd0274db73cefb5feb062be53f1c public PillagerPatrols pillagerPatrols; 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 31f533ae280f147cbc183430a6209beedf4e96b3..1016f8a15756756fa7e85878aa22dbab5ae74a55 100644 +index f23f18af19a551a21b58ef868f5f216c8a87d030..c07747901ddf1ac35ead12679ca740b8903da00e 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -288,7 +288,7 @@ public abstract class Player extends LivingEntity { +@@ -286,7 +286,7 @@ public abstract class Player extends LivingEntity { this.awardStat(Stats.CROUCH_TIME); } diff --git a/patches/server/0013-Add-HangingFrame-Tick-API.patch b/patches/server/0013-Add-HangingFrame-Tick-API.patch index 0800579..632d275 100644 --- a/patches/server/0013-Add-HangingFrame-Tick-API.patch +++ b/patches/server/0013-Add-HangingFrame-Tick-API.patch @@ -5,11 +5,11 @@ Subject: [PATCH] Add HangingFrame Tick API diff --git a/src/main/java/net/minecraft/world/entity/decoration/HangingEntity.java b/src/main/java/net/minecraft/world/entity/decoration/HangingEntity.java -index 66cf0a6cd1525ecf2615809210a26d55f445d07d..360ca6458083fa4018f11fcdade3ce930835db72 100644 +index f88918b7c15b72f4cb1dd313734f550432fd5858..74215934d25d48fc2628401ed57cb78222b8c2ce 100644 --- a/src/main/java/net/minecraft/world/entity/decoration/HangingEntity.java +++ b/src/main/java/net/minecraft/world/entity/decoration/HangingEntity.java @@ -41,6 +41,7 @@ public abstract class HangingEntity extends Entity { - private int checkInterval; { this.checkInterval = this.getId() % this.level().spigotConfig.hangingTickFrequency; } // Paper + private int checkInterval; { this.checkInterval = this.getId() % this.level().spigotConfig.hangingTickFrequency; } // Paper - Perf: offset item frame ticking public BlockPos pos; protected Direction direction; + public boolean tick = true; // Parchment diff --git a/patches/server/0014-Add-Player-getHiddenEntities-API.patch b/patches/server/0014-Add-Player-getHiddenEntities-API.patch index 799047f..2c5b2e6 100644 --- a/patches/server/0014-Add-Player-getHiddenEntities-API.patch +++ b/patches/server/0014-Add-Player-getHiddenEntities-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add Player#getHiddenEntities API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index fd84786f3e72875e79df46416f47f3403876cef3..c3d6e20a29ab392ce9c1be027fbf6c6e06720efe 100644 +index 5c1e016de183933c5458deaae257b978e6350307..beb8b767f8dd6f13f20e782b9d8696567e07a110 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2009,6 +2009,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2013,6 +2013,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.server.getPluginManager().callEvent(new PlayerShowEntityEvent(this, entity)); } // Paper start diff --git a/patches/server/0016-Add-Timings-Events.patch b/patches/server/0016-Add-Timings-Events.patch index 82cb535..fb16de2 100644 --- a/patches/server/0016-Add-Timings-Events.patch +++ b/patches/server/0016-Add-Timings-Events.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add Timings Events diff --git a/src/main/java/co/aikar/timings/TimingsExport.java b/src/main/java/co/aikar/timings/TimingsExport.java -index a2f71a6d1a9e98133dff6cd0f625da9435a8af14..88244a89ccf7ed33073e3795ef26a5ee4645e323 100644 +index 7620c72a4c243cbeea245203ce03a97cbfa7d922..37da50840a55e9df555aaf3aceb21661e472bcff 100644 --- a/src/main/java/co/aikar/timings/TimingsExport.java +++ b/src/main/java/co/aikar/timings/TimingsExport.java -@@ -350,6 +350,8 @@ public class TimingsExport extends Thread { +@@ -348,6 +348,8 @@ public class TimingsExport extends Thread { timingsURL = con.getHeaderField("Location"); listeners.sendMessage(text("View Timings Report: ", NamedTextColor.GREEN).append(text(timingsURL).clickEvent(ClickEvent.clickEvent(ClickEvent.Action.OPEN_URL, timingsURL)))); diff --git a/patches/server/0017-Expanded-Insomnia-API.patch b/patches/server/0017-Expanded-Insomnia-API.patch index 236656a..b4bffa4 100644 --- a/patches/server/0017-Expanded-Insomnia-API.patch +++ b/patches/server/0017-Expanded-Insomnia-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expanded Insomnia API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index c3d6e20a29ab392ce9c1be027fbf6c6e06720efe..0070b39c9b4e6414c83d1863095af7ed93b55fc7 100644 +index beb8b767f8dd6f13f20e782b9d8696567e07a110..7d9715557fbe6c8eebbaee24f4d9b986adc4c313 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -197,6 +197,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -194,6 +194,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player { private static final boolean DISABLE_CHANNEL_LIMIT = System.getProperty("paper.disableChannelLimit") != null; // Paper - add a flag to disable the channel limit private long lastSaveTime; // Paper - getLastPlayed replacement API @@ -17,10 +17,10 @@ index c3d6e20a29ab392ce9c1be027fbf6c6e06720efe..0070b39c9b4e6414c83d1863095af7ed public CraftPlayer(CraftServer server, ServerPlayer entity) { super(server, entity); -@@ -3304,4 +3306,33 @@ public class CraftPlayer extends CraftHumanEntity implements Player { - return this.spigot; +@@ -3372,4 +3374,31 @@ public class CraftPlayer extends CraftHumanEntity implements Player { + public void setSendViewDistance(final int viewDistance) { + this.getHandle().setSendViewDistance(viewDistance); } - // Spigot end + + // Parchment start + @Override @@ -48,6 +48,4 @@ index c3d6e20a29ab392ce9c1be027fbf6c6e06720efe..0070b39c9b4e6414c83d1863095af7ed + return net.minecraft.util.Mth.clamp(this.getHandle().getStats().getValue(net.minecraft.stats.Stats.CUSTOM.get(net.minecraft.stats.Stats.TIME_SINCE_REST)), 1, Integer.MAX_VALUE); + } + // Parchment end -+ -+ } diff --git a/patches/server/0018-Add-spam-bypass-permission.patch b/patches/server/0018-Add-spam-bypass-permission.patch index bd792ad..56d57a0 100644 --- a/patches/server/0018-Add-spam-bypass-permission.patch +++ b/patches/server/0018-Add-spam-bypass-permission.patch @@ -5,26 +5,25 @@ Subject: [PATCH] Add spam bypass permission diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 30ccbab1586a656e0ae41d7406525fb02d9e025b..4a5c5a0f4e4bf1f256bcf518955403995e2368a7 100644 +index 6f9ec543185b6f68bb1eaa61a7ebea9d866d688f..981d10594ad23cdb0d202729a0ad08a9a0540b1c 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -773,6 +773,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -768,9 +768,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl public void handleCustomCommandSuggestions(ServerboundCommandSuggestionPacket packet) { - // PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel()); // Paper - run this async + // PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel()); // Paper - AsyncTabCompleteEvent; run this async // CraftBukkit start +- if (this.chatSpamTickCount.addAndGet(io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.tabSpamIncrement) > io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.tabSpamLimit && !this.server.getPlayerList().isOp(this.player.getGameProfile())) { // Paper - configurable tab spam limits +- server.scheduleOnMain(() -> this.disconnect(Component.translatable("disconnect.spam"), org.bukkit.event.player.PlayerKickEvent.Cause.SPAM)); // Paper - AsyncTabCompleteEvent & kick event cause +- return; + if (!this.getCraftPlayer().hasPermission("spam.bypass")) { // Parchment - spam bypass - if (this.chatSpamTickCount.addAndGet(io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.tabSpamIncrement) > io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.tabSpamLimit && !this.server.getPlayerList().isOp(this.player.getGameProfile())) { // Paper start - split and make configurable - server.scheduleOnMain(() -> this.disconnect(Component.translatable("disconnect.spam", new Object[0]), org.bukkit.event.player.PlayerKickEvent.Cause.SPAM)); // Paper - kick event cause - return; -@@ -783,6 +784,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl - server.scheduleOnMain(() -> this.disconnect(Component.translatable("disconnect.spam", new Object[0]))); // Paper - return; ++ if (this.chatSpamTickCount.addAndGet(io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.tabSpamIncrement) > io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.tabSpamLimit && !this.server.getPlayerList().isOp(this.player.getGameProfile())) { // Paper - configurable tab spam limits ++ server.scheduleOnMain(() -> this.disconnect(Component.translatable("disconnect.spam"), org.bukkit.event.player.PlayerKickEvent.Cause.SPAM)); // Paper - AsyncTabCompleteEvent & kick event cause ++ return; ++ } } -+ } // Parchment - spam bypass - // Paper end // CraftBukkit end // Paper start - Don't suggest if tab-complete is disabled -@@ -2450,6 +2452,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2439,6 +2441,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl // Spigot start - spam exclusions private void detectRateSpam(String s) { @@ -32,9 +31,9 @@ index 30ccbab1586a656e0ae41d7406525fb02d9e025b..4a5c5a0f4e4bf1f256bcf51895540399 // CraftBukkit start - replaced with thread safe throttle boolean counted = true; for ( String exclude : org.spigotmc.SpigotConfig.spamExclusions ) -@@ -3199,10 +3202,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -3188,10 +3191,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl public void handlePlaceRecipe(ServerboundPlaceRecipePacket packet) { - // Paper start + // Paper start - auto recipe limit if (!org.bukkit.Bukkit.isPrimaryThread()) { + if (!this.getCraftPlayer().hasPermission("spam.bypass")) { // Parchment - spam bypass if (this.recipeSpamPackets.addAndGet(io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.recipeSpamIncrement) > io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.recipeSpamLimit) { @@ -43,5 +42,5 @@ index 30ccbab1586a656e0ae41d7406525fb02d9e025b..4a5c5a0f4e4bf1f256bcf51895540399 } + } // Parchment - spam bypass } - // Paper end + // Paper end - auto recipe limit PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel()); diff --git a/patches/server/0019-Disable-set-respawn-message.patch b/patches/server/0019-Disable-set-respawn-message.patch index f3a9322..85dbe6f 100644 --- a/patches/server/0019-Disable-set-respawn-message.patch +++ b/patches/server/0019-Disable-set-respawn-message.patch @@ -5,18 +5,20 @@ Subject: [PATCH] Disable set respawn message diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 823bc659f7421c3752e4cf1333e1568e1308464d..b7cdefdbbdba46fdd9f39275474be356c2af8b40 100644 +index 1d2fa2de139ea713051ca4d2d79bec9f62e69af3..961bc4c00bb3b7aac7fa31a62130270353da04e4 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2399,9 +2399,11 @@ public class ServerPlayer extends Player { +@@ -2400,9 +2400,10 @@ public class ServerPlayer extends Player { forced = event.isForced(); - // Paper end + // Paper end - Add PlayerSetSpawnEvent +- if (event.willNotifyPlayer() && event.getNotification() != null) { // Paper - Add PlayerSetSpawnEvent +- this.sendSystemMessage(PaperAdventure.asVanilla(event.getNotification())); // Paper - Add PlayerSetSpawnEvent +- } + /* Parchment start - if (event.willNotifyPlayer() && event.getNotification() != null) { // Paper - this.sendSystemMessage(PaperAdventure.asVanilla(event.getNotification())); // Paper - } -+ Parchment end */ ++ if (event.willNotifyPlayer() && event.getNotification() != null) { // Paper ++ this.sendSystemMessage(PaperAdventure.asVanilla(event.getNotification())); // Paper ++ } Parchment end */ this.respawnPosition = pos; this.respawnDimension = dimension; diff --git a/patches/server/0022-Add-PreEntityShootBowEvent.patch b/patches/server/0022-Add-PreEntityShootBowEvent.patch index e06a31d..b0ccb5a 100644 --- a/patches/server/0022-Add-PreEntityShootBowEvent.patch +++ b/patches/server/0022-Add-PreEntityShootBowEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add PreEntityShootBowEvent diff --git a/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java b/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java -index b319021b22c5dceba6199ed27814b2dcf47b8d50..d12a49f9eb0110d4d889f15863ecb88c07a848b9 100644 +index 586e3e92ccc275446df6dbbff9bf010a37a9aa8f..e4d681ed34f53ba35fa066338c563a36f3937fa0 100644 --- a/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java +++ b/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java @@ -199,13 +199,17 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo @@ -28,7 +28,7 @@ index b319021b22c5dceba6199ed27814b2dcf47b8d50..d12a49f9eb0110d4d889f15863ecb88c org.bukkit.event.entity.EntityShootBowEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callEntityShootBowEvent(this, this.getMainHandItem(), entityarrow.getPickupItem(), entityarrow, net.minecraft.world.InteractionHand.MAIN_HAND, 0.8F, true); // Paper if (event.isCancelled()) { diff --git a/src/main/java/net/minecraft/world/entity/monster/Illusioner.java b/src/main/java/net/minecraft/world/entity/monster/Illusioner.java -index 63fce7e3d9f59f36e29bc827a46396d73143bb8b..9762a79c928d7235a7868b37858474e1b1e0cf56 100644 +index fb84b35e34063075e69e00e430bc00e7c3b9d62c..c31872f7cb9fa5d635ee833cae8ca7f66b359ecd 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Illusioner.java +++ b/src/main/java/net/minecraft/world/entity/monster/Illusioner.java @@ -189,13 +189,17 @@ public class Illusioner extends SpellcasterIllager implements RangedAttackMob { @@ -47,11 +47,11 @@ index 63fce7e3d9f59f36e29bc827a46396d73143bb8b..9762a79c928d7235a7868b37858474e1 - entityarrow.shoot(d0, d1 + d3 * 0.20000000298023224D, d2, 1.6F, (float) (14 - this.level().getDifficulty().getId() * 4)); + entityarrow.shoot(d0, d1 + d3 * 0.20000000298023224D, d2, 1.6F, (float) (14 - this.level().getDifficulty().getId() * 4), preEvent.isRelative()); // Parchment - // Paper start + // Paper start - EntityShootBowEvent org.bukkit.event.entity.EntityShootBowEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callEntityShootBowEvent(this, this.getMainHandItem(), entityarrow.getPickupItem(), entityarrow, target.getUsedItemHand(), 0.8F, true); if (event.isCancelled()) { diff --git a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java -index 42ebd91196ae420eee57f4380abc558555457163..593c9e840956efe0fcd723744eef389b01a140c4 100644 +index d14eab0d83d629a4522bf3f7d789d2853eb84f06..8f0e0efcc75dd07e3bd267ba0d4051d9e6891156 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java +++ b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java @@ -136,8 +136,10 @@ public abstract class AbstractArrow extends Projectile { @@ -68,7 +68,7 @@ index 42ebd91196ae420eee57f4380abc558555457163..593c9e840956efe0fcd723744eef389b } diff --git a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java -index 2f058cec80c6ef7a5a5ca065dc6c9fe353c521de..48f246351d75af18b72fe235b013de1c7290c8db 100644 +index 156809090f1f83ad68e7e2477a3cfddac5757a8e..82e696e49bc4c823ba9504cc4f1f2006462e6df7 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java +++ b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java @@ -172,9 +172,17 @@ public abstract class Projectile extends Entity implements TraceableEntity { @@ -132,7 +132,7 @@ index 08d597db1a5345a343777a01427655e6bf2c926b..b923ea037a69628309167d16cc2a0ae7 entityarrow.setCritArrow(true); } diff --git a/src/main/java/net/minecraft/world/item/CrossbowItem.java b/src/main/java/net/minecraft/world/item/CrossbowItem.java -index eede02c3f125d230af537bb67bebed9b88f7d1b4..343c634b97f3ff5e8eda008121a661423a1810aa 100644 +index 06689ee8799079510a1a4e7b68029b9629e318fb..05018b1fb5a9928ac70485533e6700f386903d2f 100644 --- a/src/main/java/net/minecraft/world/item/CrossbowItem.java +++ b/src/main/java/net/minecraft/world/item/CrossbowItem.java @@ -225,6 +225,11 @@ public class CrossbowItem extends ProjectileWeaponItem implements Vanishable { diff --git a/patches/server/0026-Add-CustomBlockUpdateEvent.patch b/patches/server/0025-Add-CustomBlockUpdateEvent.patch similarity index 96% rename from patches/server/0026-Add-CustomBlockUpdateEvent.patch rename to patches/server/0025-Add-CustomBlockUpdateEvent.patch index 0b79586..810053d 100644 --- a/patches/server/0026-Add-CustomBlockUpdateEvent.patch +++ b/patches/server/0025-Add-CustomBlockUpdateEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add CustomBlockUpdateEvent diff --git a/src/main/java/net/minecraft/world/level/block/NoteBlock.java b/src/main/java/net/minecraft/world/level/block/NoteBlock.java -index ff16075fbfe664c73a46bc4b002450867974114e..32b56119850282ba8da5741e22dc21ffd6f6fb08 100644 +index a541dc3a6e373b30fff0abf5305e77854c190f10..80624404c6e88ba2015f6732001dd462173ae214 100644 --- a/src/main/java/net/minecraft/world/level/block/NoteBlock.java +++ b/src/main/java/net/minecraft/world/level/block/NoteBlock.java @@ -2,6 +2,8 @@ package net.minecraft.world.level.block; @@ -52,7 +52,7 @@ index ff16075fbfe664c73a46bc4b002450867974114e..32b56119850282ba8da5741e22dc21ff this.playNote(player, state, world, pos); player.awardStat(Stats.TUNE_NOTEBLOCK); diff --git a/src/main/java/net/minecraft/world/level/block/TripWireBlock.java b/src/main/java/net/minecraft/world/level/block/TripWireBlock.java -index 2f947997ca746d18544940ef67ff550a95946edd..b1ecefd22a64bf7a134490cf7ac88d4d04e1f4e7 100644 +index 3cb1db27dba902678a5848a1fb5e2c6ec6241e60..950671e715b5353ab919814686fa0c55ae00050e 100644 --- a/src/main/java/net/minecraft/world/level/block/TripWireBlock.java +++ b/src/main/java/net/minecraft/world/level/block/TripWireBlock.java @@ -66,21 +66,25 @@ public class TripWireBlock extends Block { @@ -89,7 +89,7 @@ index 2f947997ca746d18544940ef67ff550a95946edd..b1ecefd22a64bf7a134490cf7ac88d4d + if (!new gg.projecteden.parchment.event.block.CustomBlockUpdateEvent(org.bukkit.craftbukkit.block.data.CraftBlockData.fromData(state), gg.projecteden.parchment.event.block.CustomBlockUpdateEvent.UpdateType.SHAPE).callEvent()) return; if (io.papermc.paper.configuration.GlobalConfiguration.get().blockUpdates.disableTripwireUpdates) return; // Paper - prevent adjacent tripwires from updating if (!moved && !state.is(newState.getBlock())) { - this.updateSource(world, pos, (BlockState) state.setValue(TripWireBlock.POWERED, true), true); // Paper - fix state inconsistency + this.updateSource(world, pos, (BlockState) state.setValue(TripWireBlock.POWERED, true), true); // Paper - fix tripwire state inconsistency @@ -97,6 +102,7 @@ public class TripWireBlock extends Block { @Override @@ -104,7 +104,7 @@ index 2f947997ca746d18544940ef67ff550a95946edd..b1ecefd22a64bf7a134490cf7ac88d4d private void updateSource(Level world, BlockPos pos, BlockState state) { + if (!new gg.projecteden.parchment.event.block.CustomBlockUpdateEvent(org.bukkit.craftbukkit.block.data.CraftBlockData.fromData(state), gg.projecteden.parchment.event.block.CustomBlockUpdateEvent.UpdateType.SHAPE).callEvent()) return; if (io.papermc.paper.configuration.GlobalConfiguration.get().blockUpdates.disableTripwireUpdates) return; // Paper - prevent adjacent tripwires from updating - // Paper start - fix state inconsistency + // Paper start - fix tripwire state inconsistency this.updateSource(world, pos, state, false); @@ -146,6 +153,7 @@ public class TripWireBlock extends Block { @@ -112,7 +112,7 @@ index 2f947997ca746d18544940ef67ff550a95946edd..b1ecefd22a64bf7a134490cf7ac88d4d public void entityInside(BlockState state, Level world, BlockPos pos, Entity entity) { + if (!new gg.projecteden.parchment.event.block.CustomBlockUpdateEvent(org.bukkit.craftbukkit.block.data.CraftBlockData.fromData(state), gg.projecteden.parchment.event.block.CustomBlockUpdateEvent.UpdateType.POWERED).callEvent()) return; if (io.papermc.paper.configuration.GlobalConfiguration.get().blockUpdates.disableTripwireUpdates) return; // Paper - prevent tripwires from detecting collision - if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper + if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper - Add EntityInsideBlockEvent if (!world.isClientSide) { @@ -157,6 +165,7 @@ public class TripWireBlock extends Block { diff --git a/patches/server/0027-Entity-Data-Storage.patch b/patches/server/0026-Entity-Data-Storage.patch similarity index 85% rename from patches/server/0027-Entity-Data-Storage.patch rename to patches/server/0026-Entity-Data-Storage.patch index 7dd0f10..66aa61c 100644 --- a/patches/server/0027-Entity-Data-Storage.patch +++ b/patches/server/0026-Entity-Data-Storage.patch @@ -27,7 +27,7 @@ index 0000000000000000000000000000000000000000..30f8fd154136d05267e8737ff04a0be4 + +} diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java -index 58536aabf607015939a1326f80207c0a06eed8ff..b27e958e8da8abbf0e36b432bf3a29da270ecb8e 100644 +index 6de6dad36203479677a29ad61e21bc369d4e5513..4718291014acba4fac77fe18766b46bf9e7b3277 100644 --- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java @@ -268,6 +268,8 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface @@ -40,10 +40,10 @@ index 58536aabf607015939a1326f80207c0a06eed8ff..b27e958e8da8abbf0e36b432bf3a29da // this.setPlayerList(new DedicatedPlayerList(this, this.registries(), this.playerDataStorage)); // Spigot - moved up this.server.loadPlugins(); diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 9abe817ae202edaa2d88cd59ae5c7db0b1c634be..861dff20a09d94cb90e1ff95ea51f50efa7b501d 100644 +index 2c06f3ebf7e1069727387bfc60db30c958c14b5a..95a732d2ff7bf604e1640015552495e14b3ff2a4 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -158,6 +158,31 @@ import org.bukkit.plugin.PluginManager; +@@ -160,6 +160,31 @@ import org.bukkit.plugin.PluginManager; public abstract class Entity implements Nameable, EntityAccess, CommandSource, ScoreHolder { @@ -74,12 +74,12 @@ index 9abe817ae202edaa2d88cd59ae5c7db0b1c634be..861dff20a09d94cb90e1ff95ea51f50e + // CraftBukkit start private static final int CURRENT_LEVEL = 2; - public boolean preserveMotion = true; // Paper - keep initial motion on first setPositionRotation + public boolean preserveMotion = true; // Paper - Fix Entity Teleportation and cancel velocity if teleported; keep initial motion on first setPositionRotation diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index aa4dbf91cf6da329fdcacbde98bb870eb48e8f5c..392d5b896254e5dd57de33e16fa196950e6f7c61 100644 +index 8698104e3eb98e2cc5da5de87a8f538860c1d91d..269ad2696e07a602ca350284c32771a02dcdff08 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -222,6 +222,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -77,6 +77,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { }; // Paper end - Folia schedulers diff --git a/patches/server/0028-Add-Sidebar-Utility.patch b/patches/server/0027-Add-Sidebar-Utility.patch similarity index 99% rename from patches/server/0028-Add-Sidebar-Utility.patch rename to patches/server/0027-Add-Sidebar-Utility.patch index c862ef4..4b9f3ae 100644 --- a/patches/server/0028-Add-Sidebar-Utility.patch +++ b/patches/server/0027-Add-Sidebar-Utility.patch @@ -27,7 +27,7 @@ index 30f8fd154136d05267e8737ff04a0be45b23a35d..7091340870607605521239893b8ab763 } diff --git a/src/main/java/gg/projecteden/parchment/sidebar/SidebarBufferImpl.java b/src/main/java/gg/projecteden/parchment/sidebar/SidebarBufferImpl.java new file mode 100644 -index 0000000000000000000000000000000000000000..5a1e28da1f3dcae1abeb016708dc6fdf883cd213 +index 0000000000000000000000000000000000000000..79900376e8d91792a23dde07fd9f516c3694318f --- /dev/null +++ b/src/main/java/gg/projecteden/parchment/sidebar/SidebarBufferImpl.java @@ -0,0 +1,181 @@