From 017a86fb54da4c78482ebe973465bad01abc7c79 Mon Sep 17 00:00:00 2001 From: SoSeDiK Date: Sun, 1 Dec 2024 15:01:35 +0200 Subject: [PATCH] Updated Upstream (Purpur) Upstream has released updates that appear to apply and compile correctly Purpur Changes: PurpurMC/Purpur@2b694c9 Updated Upstream (Paper) PurpurMC/Purpur@96d7ef7 Updated Upstream (Paper) PurpurMC/Purpur@e141f68 Updated Upstream (Paper) PurpurMC/Purpur@7f6f667 Updated Upstream (Pufferfish) PurpurMC/Purpur@de20ba9 ignore `minecart.max-speed` config value if using minecart experiment, closes #1618 --- gradle.properties | 2 +- patches/server/0001-Init.patch | 4 ++-- .../0002-Pufferfish-s-yaml-changes.patch | 10 +++++----- ...Hide-irrelevant-compilation-warnings.patch} | 11 ++--------- .../{0003-Rebrand.patch => 0004-Rebrand.patch} | 14 +++++++------- ... => 0005-Kiterino-in-version-fetcher.patch} | 0 ...s.patch => 0006-Add-Kiterino-configs.patch} | 0 ....patch => 0007-Init-Kiterino-configs.patch} | 8 ++++---- ...e-EULA.patch => 0008-Accept-the-EULA.patch} | 0 ...-tint-API.patch => 0009-Red-tint-API.patch} | 2 +- ....patch => 0010-Forced-panic-mode-API.patch} | 4 ++-- ...=> 0011-Allow-setting-entity-s-rider.patch} | 4 ++-- ...API.patch => 0012-Item-Modifiers-API.patch} | 4 ++-- ...ial-nbt-cases-for-Item-Modifiers-API.patch} | 0 ...event-creative-from-overriding-items.patch} | 0 ...w-server-side-translatables-on-items.patch} | 0 ...Parse-items-in-show_item-hover-event.patch} | 2 +- ...17-Customizing-extra-item-properties.patch} | 0 ...tems.patch => 0018-Data-driven-items.patch} | 14 +++++++------- ...h => 0019-Injecting-custom-Materials.patch} | 6 +++--- ...packet-item-faker-for-injected-items.patch} | 4 ++-- ...atch => 0021-Data-driven-mob-effects.patch} | 4 ++-- ...-t-send-custom-mob-effects-to-client.patch} | 0 ...atch => 0023-Init-destruct-injectors.patch} | 4 ++-- ...ing.patch => 0024-Material-rerouting.patch} | 0 ...ate-goal-target-when-changing-target.patch} | 0 ...on-for-respawn-events-parity-until-P.patch} | 0 ... 0027-Add-PlayerLoadsProjectileEvent.patch} | 0 ...id-world-to-PlayerSpawnLocationEvent.patch} | 0 ...29-Allow-jumping-in-water-as-Drowned.patch} | 0 ...e-Passenger-Teleporting-for-Bukkit-A.patch} | 4 ++-- ... => 0031-Keep-rider-when-teleporting.patch} | 4 ++-- ...> 0032-Add-PlayerStartUsingItemEvent.patch} | 4 ++-- ...0033-Allow-resending-entity-metadata.patch} | 0 ...s-to-control-horses-without-a-saddle.patch} | 0 ...ter-EntityShootBowEvent-cancellation.patch} | 0 ...patch => 0036-More-resource-pack-API.patch} | 0 ...rverListPingEvent-for-secondary-motd.patch} | 0 ...> 0038-Bats-ignore-invisible-players.patch} | 2 +- ...API.patch => 0039-Send-ItemStack-API.patch} | 2 +- ...-API.patch => 0040-Extra-recipes-API.patch} | 18 +++++++++--------- ...dd-predicate-support-for-recipe-book.patch} | 0 ... => 0042-Less-limited-recipe-matcher.patch} | 2 +- ...patch => 0043-Extra-item-drop-method.patch} | 0 ...lBottleEvents-for-player-and-dispens.patch} | 0 ...tch => 0045-Anger-nearby-piglins-API.patch} | 2 +- ...I.patch => 0046-Open-ender-chest-API.patch} | 2 +- ...patch => 0047-Add-combat-tracker-API.patch} | 0 48 files changed, 65 insertions(+), 72 deletions(-) rename patches/{removed => }/server/0002-Pufferfish-s-yaml-changes.patch (69%) rename patches/server/{0002-Hide-irrelevant-compilation-warnings.patch => 0003-Hide-irrelevant-compilation-warnings.patch} (70%) rename patches/server/{0003-Rebrand.patch => 0004-Rebrand.patch} (95%) rename patches/server/{0004-Kiterino-in-version-fetcher.patch => 0005-Kiterino-in-version-fetcher.patch} (100%) rename patches/server/{0005-Add-Kiterino-configs.patch => 0006-Add-Kiterino-configs.patch} (100%) rename patches/server/{0006-Init-Kiterino-configs.patch => 0007-Init-Kiterino-configs.patch} (94%) rename patches/server/{0007-Accept-the-EULA.patch => 0008-Accept-the-EULA.patch} (100%) rename patches/server/{0008-Red-tint-API.patch => 0009-Red-tint-API.patch} (97%) rename patches/server/{0009-Forced-panic-mode-API.patch => 0010-Forced-panic-mode-API.patch} (96%) rename patches/server/{0010-Allow-setting-entity-s-rider.patch => 0011-Allow-setting-entity-s-rider.patch} (93%) rename patches/server/{0011-Item-Modifiers-API.patch => 0012-Item-Modifiers-API.patch} (99%) rename patches/server/{0012-Handle-special-nbt-cases-for-Item-Modifiers-API.patch => 0013-Handle-special-nbt-cases-for-Item-Modifiers-API.patch} (100%) rename patches/server/{0013-Prevent-creative-from-overriding-items.patch => 0014-Prevent-creative-from-overriding-items.patch} (100%) rename patches/server/{0014-Allow-server-side-translatables-on-items.patch => 0015-Allow-server-side-translatables-on-items.patch} (100%) rename patches/server/{0015-Parse-items-in-show_item-hover-event.patch => 0016-Parse-items-in-show_item-hover-event.patch} (98%) rename patches/server/{0016-Customizing-extra-item-properties.patch => 0017-Customizing-extra-item-properties.patch} (100%) rename patches/server/{0017-Data-driven-items.patch => 0018-Data-driven-items.patch} (93%) rename patches/server/{0018-Injecting-custom-Materials.patch => 0019-Injecting-custom-Materials.patch} (98%) rename patches/server/{0019-Implement-packet-item-faker-for-injected-items.patch => 0020-Implement-packet-item-faker-for-injected-items.patch} (97%) rename patches/server/{0020-Data-driven-mob-effects.patch => 0021-Data-driven-mob-effects.patch} (98%) rename patches/server/{0021-Don-t-send-custom-mob-effects-to-client.patch => 0022-Don-t-send-custom-mob-effects-to-client.patch} (100%) rename patches/server/{0022-Init-destruct-injectors.patch => 0023-Init-destruct-injectors.patch} (94%) rename patches/server/{0023-Material-rerouting.patch => 0024-Material-rerouting.patch} (100%) rename patches/server/{0024-Update-goal-target-when-changing-target.patch => 0025-Update-goal-target-when-changing-target.patch} (100%) rename patches/server/{0025-Temporary-solution-for-respawn-events-parity-until-P.patch => 0026-Temporary-solution-for-respawn-events-parity-until-P.patch} (100%) rename patches/server/{0026-Add-PlayerLoadsProjectileEvent.patch => 0027-Add-PlayerLoadsProjectileEvent.patch} (100%) rename patches/server/{0027-Expose-invalid-world-to-PlayerSpawnLocationEvent.patch => 0028-Expose-invalid-world-to-PlayerSpawnLocationEvent.patch} (100%) rename patches/server/{0028-Allow-jumping-in-water-as-Drowned.patch => 0029-Allow-jumping-in-water-as-Drowned.patch} (100%) rename patches/server/{0029-EMC-Allow-Vehicle-Passenger-Teleporting-for-Bukkit-A.patch => 0030-EMC-Allow-Vehicle-Passenger-Teleporting-for-Bukkit-A.patch} (98%) rename patches/server/{0030-Keep-rider-when-teleporting.patch => 0031-Keep-rider-when-teleporting.patch} (94%) rename patches/server/{0031-Add-PlayerStartUsingItemEvent.patch => 0032-Add-PlayerStartUsingItemEvent.patch} (91%) rename patches/server/{0032-Allow-resending-entity-metadata.patch => 0033-Allow-resending-entity-metadata.patch} (100%) rename patches/server/{0033-Allow-riders-to-control-horses-without-a-saddle.patch => 0034-Allow-riders-to-control-horses-without-a-saddle.patch} (100%) rename patches/server/{0034-Better-EntityShootBowEvent-cancellation.patch => 0035-Better-EntityShootBowEvent-cancellation.patch} (100%) rename patches/server/{0035-More-resource-pack-API.patch => 0036-More-resource-pack-API.patch} (100%) rename patches/server/{0036-Paper-PR-Fire-ServerListPingEvent-for-secondary-motd.patch => 0037-Paper-PR-Fire-ServerListPingEvent-for-secondary-motd.patch} (100%) rename patches/server/{0037-Bats-ignore-invisible-players.patch => 0038-Bats-ignore-invisible-players.patch} (95%) rename patches/server/{0038-Send-ItemStack-API.patch => 0039-Send-ItemStack-API.patch} (91%) rename patches/server/{0039-Extra-recipes-API.patch => 0040-Extra-recipes-API.patch} (96%) rename patches/server/{0040-Add-predicate-support-for-recipe-book.patch => 0041-Add-predicate-support-for-recipe-book.patch} (100%) rename patches/server/{0041-Less-limited-recipe-matcher.patch => 0042-Less-limited-recipe-matcher.patch} (96%) rename patches/server/{0042-Extra-item-drop-method.patch => 0043-Extra-item-drop-method.patch} (100%) rename patches/server/{0043-Paper-PR-Add-FillBottleEvents-for-player-and-dispens.patch => 0044-Paper-PR-Add-FillBottleEvents-for-player-and-dispens.patch} (100%) rename patches/server/{0044-Anger-nearby-piglins-API.patch => 0045-Anger-nearby-piglins-API.patch} (91%) rename patches/server/{0045-Open-ender-chest-API.patch => 0046-Open-ender-chest-API.patch} (97%) rename patches/server/{0046-Add-combat-tracker-API.patch => 0047-Add-combat-tracker-API.patch} (100%) diff --git a/gradle.properties b/gradle.properties index 7ec6f84..b5b5b28 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,7 +4,7 @@ version = 1.21.3-R0.1-SNAPSHOT mcVersion = 1.21.3 # Upstream commit -purpurCommit = 504f31151f25cde91d686ef5ab7b0736f75168db +purpurCommit = de20ba9e3ecf1a5cddc1aa228c4699f0f3c88052 # Gradle org.gradle.caching = true diff --git a/patches/server/0001-Init.patch b/patches/server/0001-Init.patch index 2031968..7ab6eeb 100644 --- a/patches/server/0001-Init.patch +++ b/patches/server/0001-Init.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Init diff --git a/build.gradle.kts b/build.gradle.kts -index c673a2cf682378aac38d047b999d8a1731f7569d..691b475a1d5577170e11a69700c2d98dd8192274 100644 +index 77602e4445b1b45a17e5552ac6a769e0ed46ebc7..82ca36909d4f4e4910f23812fbe2c22fdd7ab957 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -25,7 +25,7 @@ abstract class MockitoAgentProvider : CommandLineArgumentProvider { @@ -17,7 +17,7 @@ index c673a2cf682378aac38d047b999d8a1731f7569d..691b475a1d5577170e11a69700c2d98d // Paper start implementation("org.jline:jline-terminal-ffm:3.27.1") // use ffm on java 22+ implementation("org.jline:jline-terminal-jni:3.27.1") // fall back to jni on java 21 -@@ -103,14 +103,14 @@ tasks.jar { +@@ -118,14 +118,14 @@ tasks.jar { val gitBranch = git("rev-parse", "--abbrev-ref", "HEAD").getText().trim() // Paper attributes( "Main-Class" to "org.bukkit.craftbukkit.Main", diff --git a/patches/removed/server/0002-Pufferfish-s-yaml-changes.patch b/patches/server/0002-Pufferfish-s-yaml-changes.patch similarity index 69% rename from patches/removed/server/0002-Pufferfish-s-yaml-changes.patch rename to patches/server/0002-Pufferfish-s-yaml-changes.patch index 358cd33..4b6f078 100644 --- a/patches/removed/server/0002-Pufferfish-s-yaml-changes.patch +++ b/patches/server/0002-Pufferfish-s-yaml-changes.patch @@ -6,12 +6,12 @@ Subject: [PATCH] Pufferfish's yaml changes Include Simple-YAML repo and sync snakeyaml version to API's one diff --git a/build.gradle.kts b/build.gradle.kts -index 99ba2fc1fd9d442f26e32ce29bd61b70e07e246d..f4a9915f520fa55a5186caedd355b85d0f631b71 100644 +index 82ca36909d4f4e4910f23812fbe2c22fdd7ab957..f66407a02d39785b5f6980f1299a4402c14c1b81 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -12,6 +12,12 @@ configurations.named(log4jPlugins.compileClasspathConfigurationName) { +@@ -24,6 +24,12 @@ abstract class MockitoAgentProvider : CommandLineArgumentProvider { } - val alsoShade: Configuration by configurations.creating + // Paper end - configure mockito agent that is needed in newer java versions +// Kiterino start - Pufferfish's yaml changes +repositories { @@ -22,12 +22,12 @@ index 99ba2fc1fd9d442f26e32ce29bd61b70e07e246d..f4a9915f520fa55a5186caedd355b85d dependencies { implementation(project(":kiterino-api")) // Kiterino - Init // Paper start -@@ -48,7 +54,7 @@ dependencies { +@@ -61,7 +67,7 @@ dependencies { runtimeOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.9.18") // Pufferfish start - implementation("org.yaml:snakeyaml:1.32") -+ implementation("org.yaml:snakeyaml:2.2") // Kiterino start - Sync snakeyaml to API's version - Pufferfish's yaml changes ++ implementation("org.yaml:snakeyaml:2.2") // Kiterino - Sync snakeyaml to API's version - Pufferfish's yaml changes implementation ("com.github.carleslc.Simple-YAML:Simple-Yaml:1.8.4") { // Purpur exclude(group="org.yaml", module="snakeyaml") } diff --git a/patches/server/0002-Hide-irrelevant-compilation-warnings.patch b/patches/server/0003-Hide-irrelevant-compilation-warnings.patch similarity index 70% rename from patches/server/0002-Hide-irrelevant-compilation-warnings.patch rename to patches/server/0003-Hide-irrelevant-compilation-warnings.patch index e56be83..e5a67de 100644 --- a/patches/server/0002-Hide-irrelevant-compilation-warnings.patch +++ b/patches/server/0003-Hide-irrelevant-compilation-warnings.patch @@ -5,17 +5,10 @@ Subject: [PATCH] Hide irrelevant compilation warnings diff --git a/build.gradle.kts b/build.gradle.kts -index 691b475a1d5577170e11a69700c2d98dd8192274..0fa47955027052c6df301a2206e4897236a90ddb 100644 +index f66407a02d39785b5f6980f1299a4402c14c1b81..a69a1ca3fc10df9f7ad08500abb8b7dfd3e352a3 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -1,4 +1,5 @@ --import io.papermc.paperweight.util.* -+import io.papermc.paperweight.util.Git -+import io.papermc.paperweight.util.path - import java.time.Instant - - plugins { -@@ -255,3 +256,12 @@ tasks.registerRunTask("runReobfPaperclip") { +@@ -276,3 +276,12 @@ tasks.registerRunTask("runReobfPaperclip") { classpath(rootProject.tasks.named("createReobfPaperclipJar").flatMap { it.outputZip }) mainClass.set(null as String?) } diff --git a/patches/server/0003-Rebrand.patch b/patches/server/0004-Rebrand.patch similarity index 95% rename from patches/server/0003-Rebrand.patch rename to patches/server/0004-Rebrand.patch index 20b83b2..54bd54d 100644 --- a/patches/server/0003-Rebrand.patch +++ b/patches/server/0004-Rebrand.patch @@ -40,18 +40,18 @@ index 90b3526479320064378f2cde6c2f2b8e48a59ba6..70145bafa7c9c45a6f7a7a6854e9eefa .completer(new ConsoleCommandCompleter(this.server)) .option(LineReader.Option.COMPLETE_IN_WORD, true); diff --git a/src/main/java/io/papermc/paper/ServerBuildInfoImpl.java b/src/main/java/io/papermc/paper/ServerBuildInfoImpl.java -index a6e5950b5875cafd734300cdfbf58f5d3736f3c8..aeb739d8d0f1178bcbade4913b3391f0808dbf0d 100644 +index 3099c21ee589acf6edff5903a23673adf489024f..b49360050a81ce984e7f9fdd04894be296648540 100644 --- a/src/main/java/io/papermc/paper/ServerBuildInfoImpl.java +++ b/src/main/java/io/papermc/paper/ServerBuildInfoImpl.java -@@ -32,6 +32,7 @@ public record ServerBuildInfoImpl( - +@@ -33,6 +33,7 @@ public record ServerBuildInfoImpl( private static final String BRAND_PAPER_NAME = "Paper"; + private static final String BRAND_PUFFERFISH_NAME = "Pufferfish"; // Purpur private static final String BRAND_PURPUR_NAME = "Purpur"; // Purpur + private static final String BRAND_KITERINO_NAME = "Kiterino"; // Kiterino - Rebrand private static final String BUILD_DEV = "DEV"; -@@ -43,9 +44,9 @@ public record ServerBuildInfoImpl( +@@ -44,9 +45,9 @@ public record ServerBuildInfoImpl( this( getManifestAttribute(manifest, ATTRIBUTE_BRAND_ID) .map(Key::key) @@ -63,12 +63,12 @@ index a6e5950b5875cafd734300cdfbf58f5d3736f3c8..aeb739d8d0f1178bcbade4913b3391f0 SharedConstants.getCurrentVersion().getId(), SharedConstants.getCurrentVersion().getName(), getManifestAttribute(manifest, ATTRIBUTE_BUILD_NUMBER) -@@ -62,7 +63,7 @@ public record ServerBuildInfoImpl( +@@ -63,7 +64,7 @@ public record ServerBuildInfoImpl( @Override public boolean isBrandCompatible(final @NotNull Key brandId) { -- return brandId.equals(this.brandId) || brandId.equals(BRAND_PAPER_ID); // Purpur -+ return brandId.equals(this.brandId) || brandId.equals(BRAND_PAPER_ID) || brandId.equals(BRAND_PURPUR_ID); // Purpur // Kiterino - Rebrand +- return brandId.equals(this.brandId) || brandId.equals(BRAND_PAPER_ID) || brandId.equals(BRAND_PUFFERFISH_ID); // Purpur ++ return brandId.equals(this.brandId) || brandId.equals(BRAND_PAPER_ID) || brandId.equals(BRAND_PUFFERFISH_ID) || brandId.equals(BRAND_PURPUR_ID); // Purpur // Kiterino - Rebrand } @Override diff --git a/patches/server/0004-Kiterino-in-version-fetcher.patch b/patches/server/0005-Kiterino-in-version-fetcher.patch similarity index 100% rename from patches/server/0004-Kiterino-in-version-fetcher.patch rename to patches/server/0005-Kiterino-in-version-fetcher.patch diff --git a/patches/server/0005-Add-Kiterino-configs.patch b/patches/server/0006-Add-Kiterino-configs.patch similarity index 100% rename from patches/server/0005-Add-Kiterino-configs.patch rename to patches/server/0006-Add-Kiterino-configs.patch diff --git a/patches/server/0006-Init-Kiterino-configs.patch b/patches/server/0007-Init-Kiterino-configs.patch similarity index 94% rename from patches/server/0006-Init-Kiterino-configs.patch rename to patches/server/0007-Init-Kiterino-configs.patch index cc83555..f8eef93 100644 --- a/patches/server/0006-Init-Kiterino-configs.patch +++ b/patches/server/0007-Init-Kiterino-configs.patch @@ -19,7 +19,7 @@ index 0000000000000000000000000000000000000000..0d0312744369b332ed0dfd171c060fc9 + +} diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java -index e9ad8e2ac267c46df80e884308df8bb12d0deeff..d020f6158228f0399f597dfe40437c557aa73205 100644 +index 7a442fb4cf78bcb1268359ee41a6de138edb76b6..b6c9c7732a9eddec41111cedaec50feaa7cb2abb 100644 --- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java @@ -229,6 +229,15 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface @@ -39,7 +39,7 @@ index e9ad8e2ac267c46df80e884308df8bb12d0deeff..d020f6158228f0399f597dfe40437c55 this.paperConfigurations.initializeGlobalConfiguration(this.registryAccess()); this.paperConfigurations.initializeWorldDefaultsConfiguration(this.registryAccess()); diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index c5311db98e6a5fb48cbbc6f60874fd3edb475dd3..722a8e774fee5433b1e55fae8214e1a1bcaba48a 100644 +index 34e8eb828be517d9ee3973597c74c5cac3d75c99..760f7105d9d4d6277a354d387827c273edb545b5 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -175,6 +175,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl @@ -85,10 +85,10 @@ index 81922bf93f8a96e6cf05944ca98a82cc5945a6c6..6df57f213eca74b00842e9c2ee292ae9 public void restart() { org.spigotmc.RestartCommand.restart(); diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 5bce26e9671aab15ac4bac9a0d00b5184bef74ea..5fbb2740a21a84dbae3c6ec6d8e144b72021cccd 100644 +index 430407b0cf06ba337c59cd576c7e40a8e5fe8229..31fcdc4e2fecc2fbf03bd53bd881a78e82582b4f 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java -@@ -191,6 +191,14 @@ public class Main { +@@ -197,6 +197,14 @@ public class Main { .defaultsTo("Unknown Server") .describedAs("Name"); // Paper end diff --git a/patches/server/0007-Accept-the-EULA.patch b/patches/server/0008-Accept-the-EULA.patch similarity index 100% rename from patches/server/0007-Accept-the-EULA.patch rename to patches/server/0008-Accept-the-EULA.patch diff --git a/patches/server/0008-Red-tint-API.patch b/patches/server/0009-Red-tint-API.patch similarity index 97% rename from patches/server/0008-Red-tint-API.patch rename to patches/server/0009-Red-tint-API.patch index 53b71a7..77fa4e8 100644 --- a/patches/server/0008-Red-tint-API.patch +++ b/patches/server/0009-Red-tint-API.patch @@ -42,7 +42,7 @@ index 802de2ff74b490ea73c415739375a0169fce9f2f..f191e86c6d3a76225be95914ba521492 this.oldSize = buf.readDouble(); this.newSize = buf.readDouble(); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 49f69a42dbf35ac812b5bd53f395c3de8b332c19..55ddb8b29fdd678a60e02d6c0d9bc88a61058553 100644 +index e7600715c0b063ef74ecd29ff4bba927d4e91519..985aa95a90867187f6d1c55bd21cc7b670b883a5 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -3675,4 +3675,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0009-Forced-panic-mode-API.patch b/patches/server/0010-Forced-panic-mode-API.patch similarity index 96% rename from patches/server/0009-Forced-panic-mode-API.patch rename to patches/server/0010-Forced-panic-mode-API.patch index 883fbe9..1e81191 100644 --- a/patches/server/0009-Forced-panic-mode-API.patch +++ b/patches/server/0010-Forced-panic-mode-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Forced panic mode API diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 31326cc83130e4226aee443be880c00c2adc7ab0..aa51fd2feffec755ef0752d9f66652238876ada6 100644 +index aa171a1afb9800e6ec84f6b4f1b28e44177752f7..201d547b3b004edcdd1b18368eea472a81a90312 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -306,6 +306,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -16,7 +16,7 @@ index 31326cc83130e4226aee443be880c00c2adc7ab0..aa51fd2feffec755ef0752d9f6665223 public boolean wasTouchingWater; protected Object2DoubleMap> fluidHeight; protected boolean wasEyeInWater; -@@ -961,6 +962,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -964,6 +965,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess this.clearFire(); } diff --git a/patches/server/0010-Allow-setting-entity-s-rider.patch b/patches/server/0011-Allow-setting-entity-s-rider.patch similarity index 93% rename from patches/server/0010-Allow-setting-entity-s-rider.patch rename to patches/server/0011-Allow-setting-entity-s-rider.patch index cc39892..755ff3b 100644 --- a/patches/server/0010-Allow-setting-entity-s-rider.patch +++ b/patches/server/0011-Allow-setting-entity-s-rider.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Allow setting entity's rider diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index aa51fd2feffec755ef0752d9f66652238876ada6..2ecc051c102e5d4d5f0e75fa3888c5a8e6a9261e 100644 +index 201d547b3b004edcdd1b18368eea472a81a90312..b431f627cadd264478f573b167052a86e439be37 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -3347,6 +3347,21 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -3350,6 +3350,21 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } } diff --git a/patches/server/0011-Item-Modifiers-API.patch b/patches/server/0012-Item-Modifiers-API.patch similarity index 99% rename from patches/server/0011-Item-Modifiers-API.patch rename to patches/server/0012-Item-Modifiers-API.patch index 8715079..e2f5b80 100644 --- a/patches/server/0011-Item-Modifiers-API.patch +++ b/patches/server/0012-Item-Modifiers-API.patch @@ -767,7 +767,7 @@ index 2490a42c9c35c7e080279ef8566288a28362d167..c4eb48cfcf363da7968c0022919bc23b private final boolean symmetrical; diff --git a/src/main/java/net/minecraft/world/item/crafting/ShapelessRecipe.java b/src/main/java/net/minecraft/world/item/crafting/ShapelessRecipe.java -index 12f95bee2a69fd5df7c4a165537e01299e60c5f6..4aa41825806f6baa0c07a1d8c085428a35912bab 100644 +index d7ce86752e4138cdd3844b3374609753aa20f9ea..4a111a9a71d462c12053ca339b74246c82818484 100644 --- a/src/main/java/net/minecraft/world/item/crafting/ShapelessRecipe.java +++ b/src/main/java/net/minecraft/world/item/crafting/ShapelessRecipe.java @@ -27,8 +27,8 @@ public class ShapelessRecipe implements CraftingRecipe { @@ -780,7 +780,7 @@ index 12f95bee2a69fd5df7c4a165537e01299e60c5f6..4aa41825806f6baa0c07a1d8c085428a + public final List ingredients; // Kiterino - Item Modification API @Nullable private PlacementInfo placementInfo; - + private final boolean isBukkit; // Pufferfish diff --git a/src/main/java/net/minecraft/world/item/crafting/SingleItemRecipe.java b/src/main/java/net/minecraft/world/item/crafting/SingleItemRecipe.java index 834a874beedeba65d4f6425189b7e1739a9411bf..d37d53914eeca66d76892f864b55bd81485f70d1 100644 --- a/src/main/java/net/minecraft/world/item/crafting/SingleItemRecipe.java diff --git a/patches/server/0012-Handle-special-nbt-cases-for-Item-Modifiers-API.patch b/patches/server/0013-Handle-special-nbt-cases-for-Item-Modifiers-API.patch similarity index 100% rename from patches/server/0012-Handle-special-nbt-cases-for-Item-Modifiers-API.patch rename to patches/server/0013-Handle-special-nbt-cases-for-Item-Modifiers-API.patch diff --git a/patches/server/0013-Prevent-creative-from-overriding-items.patch b/patches/server/0014-Prevent-creative-from-overriding-items.patch similarity index 100% rename from patches/server/0013-Prevent-creative-from-overriding-items.patch rename to patches/server/0014-Prevent-creative-from-overriding-items.patch diff --git a/patches/server/0014-Allow-server-side-translatables-on-items.patch b/patches/server/0015-Allow-server-side-translatables-on-items.patch similarity index 100% rename from patches/server/0014-Allow-server-side-translatables-on-items.patch rename to patches/server/0015-Allow-server-side-translatables-on-items.patch diff --git a/patches/server/0015-Parse-items-in-show_item-hover-event.patch b/patches/server/0016-Parse-items-in-show_item-hover-event.patch similarity index 98% rename from patches/server/0015-Parse-items-in-show_item-hover-event.patch rename to patches/server/0016-Parse-items-in-show_item-hover-event.patch index abc8faa..33cfa0a 100644 --- a/patches/server/0015-Parse-items-in-show_item-hover-event.patch +++ b/patches/server/0016-Parse-items-in-show_item-hover-event.patch @@ -23,7 +23,7 @@ index 25eafe3b3cce238ebd556ac894bb59c549c27e48..48f6ee0a3ac1f3276d90229aafe42e16 public static boolean preventCreativeItemOverride; private static void preventCreativeItemsOverride() { diff --git a/src/main/java/me/sosedik/kiterino/modifier/item/ItemModifiersHandlerImpl.java b/src/main/java/me/sosedik/kiterino/modifier/item/ItemModifiersHandlerImpl.java -index 6a5a61def44c7c5a3e9fb76c825893e59ef05c54..34e4c1ff35c3e976d1a3dc1cb856dae4bee5f0d8 100644 +index c6d52745ec4b99191c8bd366d8360316eca9faa2..ad238f0e17c70bcc0c637ff03ae4a7140ef29dc7 100644 --- a/src/main/java/me/sosedik/kiterino/modifier/item/ItemModifiersHandlerImpl.java +++ b/src/main/java/me/sosedik/kiterino/modifier/item/ItemModifiersHandlerImpl.java @@ -22,6 +22,8 @@ import net.minecraft.advancements.AdvancementHolder; diff --git a/patches/server/0016-Customizing-extra-item-properties.patch b/patches/server/0017-Customizing-extra-item-properties.patch similarity index 100% rename from patches/server/0016-Customizing-extra-item-properties.patch rename to patches/server/0017-Customizing-extra-item-properties.patch diff --git a/patches/server/0017-Data-driven-items.patch b/patches/server/0018-Data-driven-items.patch similarity index 93% rename from patches/server/0017-Data-driven-items.patch rename to patches/server/0018-Data-driven-items.patch index 07b6ebc..fe4aae7 100644 --- a/patches/server/0017-Data-driven-items.patch +++ b/patches/server/0018-Data-driven-items.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Data-driven items diff --git a/src/main/java/io/papermc/paper/registry/PaperRegistries.java b/src/main/java/io/papermc/paper/registry/PaperRegistries.java -index b81d0d906789ef2ff3759395821316462aacf323..e65060f8361a5bcaa3b8f3e7fe920ab306dc763e 100644 +index 132afec6bceb6c866de0aeb83db9613d4e74e2e7..ae5850c9f5d4187341c8357a79a7c1a8f9402001 100644 --- a/src/main/java/io/papermc/paper/registry/PaperRegistries.java +++ b/src/main/java/io/papermc/paper/registry/PaperRegistries.java @@ -87,7 +87,7 @@ public final class PaperRegistries { @@ -48,14 +48,14 @@ index 1e9a0143bc3b70dfc5e129a0fe849ff3e01447ab..7ed31220736afedd41dabc0343e18e22 } diff --git a/src/main/java/me/sosedik/kiterino/registry/data/KiterinoItemRegistryEntity.java b/src/main/java/me/sosedik/kiterino/registry/data/KiterinoItemRegistryEntity.java new file mode 100644 -index 0000000000000000000000000000000000000000..a71123cbc2cc1b3a4496f4bf0e9a782279f6ce7a +index 0000000000000000000000000000000000000000..eddac4503a7fac252c1c738d50d8363a4890ac89 --- /dev/null +++ b/src/main/java/me/sosedik/kiterino/registry/data/KiterinoItemRegistryEntity.java @@ -0,0 +1,145 @@ +package me.sosedik.kiterino.registry.data; + +import io.papermc.paper.datacomponent.DataComponentType; -+import io.papermc.paper.datacomponent.PaperComponentType; ++import io.papermc.paper.datacomponent.PaperDataComponentType; +import io.papermc.paper.registry.PaperRegistryBuilder; +import io.papermc.paper.registry.TypedKey; +import io.papermc.paper.registry.data.util.Conversions; @@ -174,10 +174,10 @@ index 0000000000000000000000000000000000000000..a71123cbc2cc1b3a4496f4bf0e9a7822 + var properties = new Item.Properties(); + properties.setId(ResourceKey.create(Registries.ITEM, ResourceLocation.fromNamespaceAndPath(this.itemKey.key().namespace(), this.itemKey.key().value()))); + this.components.forEach((type, value) -> { -+ if (type instanceof PaperComponentType.ValuedImpl valued) { -+ setData(properties, (PaperComponentType) valued, value); ++ if (type instanceof PaperDataComponentType.ValuedImpl valued) { ++ setData(properties, (PaperDataComponentType) valued, value); + } else { -+ setData(properties, (PaperComponentType.NonValuedImpl) type, null); ++ setData(properties, (PaperDataComponentType.NonValuedImpl) type, null); + } + }); + if (this.nmsItemFunction == null) { @@ -190,7 +190,7 @@ index 0000000000000000000000000000000000000000..a71123cbc2cc1b3a4496f4bf0e9a7822 + return item; + } + -+ private void setData(Item.@NonNull Properties properties, @NonNull PaperComponentType type, @Nullable Object value) { ++ private void setData(Item.@NonNull Properties properties, @NonNull PaperDataComponentType type, @Nullable Object value) { + properties.component(type.getHandle(), type.getAdapter().toVanilla(value)); + } + diff --git a/patches/server/0018-Injecting-custom-Materials.patch b/patches/server/0019-Injecting-custom-Materials.patch similarity index 98% rename from patches/server/0018-Injecting-custom-Materials.patch rename to patches/server/0019-Injecting-custom-Materials.patch index a7e8220..e0d6a70 100644 --- a/patches/server/0018-Injecting-custom-Materials.patch +++ b/patches/server/0019-Injecting-custom-Materials.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Injecting custom Materials diff --git a/build.gradle.kts b/build.gradle.kts -index 0fa47955027052c6df301a2206e4897236a90ddb..1c072ccde1f29e439d58ad81e083f1c345f87184 100644 +index a69a1ca3fc10df9f7ad08500abb8b7dfd3e352a3..82fdf50a60c64343230d77f4936d0cfee4f7dfb4 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -104,6 +104,7 @@ tasks.jar { +@@ -124,6 +124,7 @@ tasks.jar { val gitBranch = git("rev-parse", "--abbrev-ref", "HEAD").getText().trim() // Paper attributes( "Main-Class" to "org.bukkit.craftbukkit.Main", @@ -16,7 +16,7 @@ index 0fa47955027052c6df301a2206e4897236a90ddb..1c072ccde1f29e439d58ad81e083f1c3 "Implementation-Title" to "Kiterino", // Kiterino - Init "Implementation-Version" to implementationVersion, "Implementation-Vendor" to date, // Paper -@@ -188,6 +189,7 @@ fun TaskContainer.registerRunTask( +@@ -208,6 +209,7 @@ fun TaskContainer.registerRunTask( vendor.set(JvmVendorSpec.JETBRAINS) }) jvmArgs("-XX:+AllowEnhancedClassRedefinition", "-XX:+AllowRedefinitionToAddDeleteMethods") diff --git a/patches/server/0019-Implement-packet-item-faker-for-injected-items.patch b/patches/server/0020-Implement-packet-item-faker-for-injected-items.patch similarity index 97% rename from patches/server/0019-Implement-packet-item-faker-for-injected-items.patch rename to patches/server/0020-Implement-packet-item-faker-for-injected-items.patch index 399dcff..0c31b9e 100644 --- a/patches/server/0019-Implement-packet-item-faker-for-injected-items.patch +++ b/patches/server/0020-Implement-packet-item-faker-for-injected-items.patch @@ -67,7 +67,7 @@ index 0000000000000000000000000000000000000000..0a27cb17c68901f0d921e2239ac1a174 + +} diff --git a/src/main/java/me/sosedik/kiterino/registry/data/KiterinoItemRegistryEntity.java b/src/main/java/me/sosedik/kiterino/registry/data/KiterinoItemRegistryEntity.java -index a71123cbc2cc1b3a4496f4bf0e9a782279f6ce7a..1ad99eadb0d8a47b251719a63c479a101021c11a 100644 +index eddac4503a7fac252c1c738d50d8363a4890ac89..325b0f62ca5b3ba92f2b403709672a1766ccd1d4 100644 --- a/src/main/java/me/sosedik/kiterino/registry/data/KiterinoItemRegistryEntity.java +++ b/src/main/java/me/sosedik/kiterino/registry/data/KiterinoItemRegistryEntity.java @@ -1,5 +1,9 @@ @@ -78,7 +78,7 @@ index a71123cbc2cc1b3a4496f4bf0e9a782279f6ce7a..1ad99eadb0d8a47b251719a63c479a10 +import org.bukkit.inventory.ItemStack; + import io.papermc.paper.datacomponent.DataComponentType; - import io.papermc.paper.datacomponent.PaperComponentType; + import io.papermc.paper.datacomponent.PaperDataComponentType; import io.papermc.paper.registry.PaperRegistryBuilder; @@ -24,6 +28,7 @@ public class KiterinoItemRegistryEntity implements ItemRegistryEntity { protected @Nullable Float compostChance; diff --git a/patches/server/0020-Data-driven-mob-effects.patch b/patches/server/0021-Data-driven-mob-effects.patch similarity index 98% rename from patches/server/0020-Data-driven-mob-effects.patch rename to patches/server/0021-Data-driven-mob-effects.patch index 1285b5f..a011322 100644 --- a/patches/server/0020-Data-driven-mob-effects.patch +++ b/patches/server/0021-Data-driven-mob-effects.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Data-driven mob effects diff --git a/src/main/java/io/papermc/paper/registry/PaperRegistries.java b/src/main/java/io/papermc/paper/registry/PaperRegistries.java -index e65060f8361a5bcaa3b8f3e7fe920ab306dc763e..f6735b6e4807f5b2304e407981ffb6624e08a746 100644 +index ae5850c9f5d4187341c8357a79a7c1a8f9402001..b15ed5e980d852097e4f044aea347136f1e655c9 100644 --- a/src/main/java/io/papermc/paper/registry/PaperRegistries.java +++ b/src/main/java/io/papermc/paper/registry/PaperRegistries.java @@ -85,7 +85,7 @@ public final class PaperRegistries { @@ -209,7 +209,7 @@ index 0000000000000000000000000000000000000000..e39eeb78f824cdc5b912f1260096d371 + +} diff --git a/src/test/java/io/papermc/paper/registry/RegistryBuilderTest.java b/src/test/java/io/papermc/paper/registry/RegistryBuilderTest.java -index b31d6d19ee12c6c79792af4220597673000ad44c..d27f4fcab0c6ed05554523a2d47fede80da8dfc8 100644 +index 6f3d99ae7a959f53aec2d1a39110782b6db47df5..7a534c33fd0fb45af9a24b71d3d15405a38f01c9 100644 --- a/src/test/java/io/papermc/paper/registry/RegistryBuilderTest.java +++ b/src/test/java/io/papermc/paper/registry/RegistryBuilderTest.java @@ -26,6 +26,7 @@ class RegistryBuilderTest { diff --git a/patches/server/0021-Don-t-send-custom-mob-effects-to-client.patch b/patches/server/0022-Don-t-send-custom-mob-effects-to-client.patch similarity index 100% rename from patches/server/0021-Don-t-send-custom-mob-effects-to-client.patch rename to patches/server/0022-Don-t-send-custom-mob-effects-to-client.patch diff --git a/patches/server/0022-Init-destruct-injectors.patch b/patches/server/0023-Init-destruct-injectors.patch similarity index 94% rename from patches/server/0022-Init-destruct-injectors.patch rename to patches/server/0023-Init-destruct-injectors.patch index 78044b5..0009c9e 100644 --- a/patches/server/0022-Init-destruct-injectors.patch +++ b/patches/server/0023-Init-destruct-injectors.patch @@ -22,10 +22,10 @@ index ffca3a7df1c5b344dbd77e1db997c76d22a31021..56169e077b0275773953e14bd5016c3d if (BuiltInRegistries.REGISTRY.keySet().isEmpty()) { throw new IllegalStateException("Unable to load registries"); diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java -index d020f6158228f0399f597dfe40437c557aa73205..dc91da4dbf9f457ee2b5b009b00df9bb5d416031 100644 +index b6c9c7732a9eddec41111cedaec50feaa7cb2abb..f921fc2da6365a3905f21c1a21360c3c751864bd 100644 --- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java -@@ -327,6 +327,11 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface +@@ -330,6 +330,11 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface } // Purpur end diff --git a/patches/server/0023-Material-rerouting.patch b/patches/server/0024-Material-rerouting.patch similarity index 100% rename from patches/server/0023-Material-rerouting.patch rename to patches/server/0024-Material-rerouting.patch diff --git a/patches/server/0024-Update-goal-target-when-changing-target.patch b/patches/server/0025-Update-goal-target-when-changing-target.patch similarity index 100% rename from patches/server/0024-Update-goal-target-when-changing-target.patch rename to patches/server/0025-Update-goal-target-when-changing-target.patch diff --git a/patches/server/0025-Temporary-solution-for-respawn-events-parity-until-P.patch b/patches/server/0026-Temporary-solution-for-respawn-events-parity-until-P.patch similarity index 100% rename from patches/server/0025-Temporary-solution-for-respawn-events-parity-until-P.patch rename to patches/server/0026-Temporary-solution-for-respawn-events-parity-until-P.patch diff --git a/patches/server/0026-Add-PlayerLoadsProjectileEvent.patch b/patches/server/0027-Add-PlayerLoadsProjectileEvent.patch similarity index 100% rename from patches/server/0026-Add-PlayerLoadsProjectileEvent.patch rename to patches/server/0027-Add-PlayerLoadsProjectileEvent.patch diff --git a/patches/server/0027-Expose-invalid-world-to-PlayerSpawnLocationEvent.patch b/patches/server/0028-Expose-invalid-world-to-PlayerSpawnLocationEvent.patch similarity index 100% rename from patches/server/0027-Expose-invalid-world-to-PlayerSpawnLocationEvent.patch rename to patches/server/0028-Expose-invalid-world-to-PlayerSpawnLocationEvent.patch diff --git a/patches/server/0028-Allow-jumping-in-water-as-Drowned.patch b/patches/server/0029-Allow-jumping-in-water-as-Drowned.patch similarity index 100% rename from patches/server/0028-Allow-jumping-in-water-as-Drowned.patch rename to patches/server/0029-Allow-jumping-in-water-as-Drowned.patch diff --git a/patches/server/0029-EMC-Allow-Vehicle-Passenger-Teleporting-for-Bukkit-A.patch b/patches/server/0030-EMC-Allow-Vehicle-Passenger-Teleporting-for-Bukkit-A.patch similarity index 98% rename from patches/server/0029-EMC-Allow-Vehicle-Passenger-Teleporting-for-Bukkit-A.patch rename to patches/server/0030-EMC-Allow-Vehicle-Passenger-Teleporting-for-Bukkit-A.patch index 6588f4a..287176a 100644 --- a/patches/server/0029-EMC-Allow-Vehicle-Passenger-Teleporting-for-Bukkit-A.patch +++ b/patches/server/0030-EMC-Allow-Vehicle-Passenger-Teleporting-for-Bukkit-A.patch @@ -19,7 +19,7 @@ index b96425fa1dc34df1a8efbf687095010b837e6e36..476bd55ab11af4f10ce518f6e44ce540 this.playersByName.remove(entityplayer.getScoreboardName().toLowerCase(java.util.Locale.ROOT)); // Spigot entityplayer.serverLevel().removePlayerImmediately(entityplayer, entity_removalreason); diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 2ecc051c102e5d4d5f0e75fa3888c5a8e6a9261e..635eb249c27f1ed934126d1354540a524dc116b6 100644 +index b431f627cadd264478f573b167052a86e439be37..d101b7fb2dd8875df7ef0cf21f6c66105f1c6bdf 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -268,7 +268,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -162,7 +162,7 @@ index 18a4b993a7f5f895b1f9d768abd84578304f1e10..8911afabdb2bc7381dbb35b81b93135e } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 55ddb8b29fdd678a60e02d6c0d9bc88a61058553..f44d00c29e5597e2edfa4d234cc85928e52c89dc 100644 +index 985aa95a90867187f6d1c55bd21cc7b670b883a5..f153af8ae2dba145f03631fa89388dbd42458c5b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1439,13 +1439,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0030-Keep-rider-when-teleporting.patch b/patches/server/0031-Keep-rider-when-teleporting.patch similarity index 94% rename from patches/server/0030-Keep-rider-when-teleporting.patch rename to patches/server/0031-Keep-rider-when-teleporting.patch index a6a2bac..89ff8f4 100644 --- a/patches/server/0030-Keep-rider-when-teleporting.patch +++ b/patches/server/0031-Keep-rider-when-teleporting.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Keep rider when teleporting diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 635eb249c27f1ed934126d1354540a524dc116b6..ae3e5810f6f0c08b64fec18c538aed74c0191574 100644 +index d101b7fb2dd8875df7ef0cf21f6c66105f1c6bdf..d7fb5e95e69590e98264334fb1b3d0bbcf35b516 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -5408,7 +5408,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -5411,7 +5411,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess // Paper end - Expose entity id counter // Purpur start @Nullable diff --git a/patches/server/0031-Add-PlayerStartUsingItemEvent.patch b/patches/server/0032-Add-PlayerStartUsingItemEvent.patch similarity index 91% rename from patches/server/0031-Add-PlayerStartUsingItemEvent.patch rename to patches/server/0032-Add-PlayerStartUsingItemEvent.patch index e03a32e..eca3f17 100644 --- a/patches/server/0031-Add-PlayerStartUsingItemEvent.patch +++ b/patches/server/0032-Add-PlayerStartUsingItemEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add PlayerStartUsingItemEvent diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 734644edf9109ce0d0b059296d229f4877499c26..dc81f5788ebf201657572b54a0e09b0dd6015e83 100644 +index f4604e543a980d6aeb485252da5a4e755aa12bfa..a5e0238f1056db29b5c5ad7a06273044e7d62c6d 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -4257,8 +4257,19 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -4284,8 +4284,19 @@ public abstract class LivingEntity extends Entity implements Attackable { if (!itemstack.isEmpty() && !this.isUsingItem() || forceUpdate) { // Paper - Prevent consuming the wrong itemstack this.useItem = itemstack; diff --git a/patches/server/0032-Allow-resending-entity-metadata.patch b/patches/server/0033-Allow-resending-entity-metadata.patch similarity index 100% rename from patches/server/0032-Allow-resending-entity-metadata.patch rename to patches/server/0033-Allow-resending-entity-metadata.patch diff --git a/patches/server/0033-Allow-riders-to-control-horses-without-a-saddle.patch b/patches/server/0034-Allow-riders-to-control-horses-without-a-saddle.patch similarity index 100% rename from patches/server/0033-Allow-riders-to-control-horses-without-a-saddle.patch rename to patches/server/0034-Allow-riders-to-control-horses-without-a-saddle.patch diff --git a/patches/server/0034-Better-EntityShootBowEvent-cancellation.patch b/patches/server/0035-Better-EntityShootBowEvent-cancellation.patch similarity index 100% rename from patches/server/0034-Better-EntityShootBowEvent-cancellation.patch rename to patches/server/0035-Better-EntityShootBowEvent-cancellation.patch diff --git a/patches/server/0035-More-resource-pack-API.patch b/patches/server/0036-More-resource-pack-API.patch similarity index 100% rename from patches/server/0035-More-resource-pack-API.patch rename to patches/server/0036-More-resource-pack-API.patch diff --git a/patches/server/0036-Paper-PR-Fire-ServerListPingEvent-for-secondary-motd.patch b/patches/server/0037-Paper-PR-Fire-ServerListPingEvent-for-secondary-motd.patch similarity index 100% rename from patches/server/0036-Paper-PR-Fire-ServerListPingEvent-for-secondary-motd.patch rename to patches/server/0037-Paper-PR-Fire-ServerListPingEvent-for-secondary-motd.patch diff --git a/patches/server/0037-Bats-ignore-invisible-players.patch b/patches/server/0038-Bats-ignore-invisible-players.patch similarity index 95% rename from patches/server/0037-Bats-ignore-invisible-players.patch rename to patches/server/0038-Bats-ignore-invisible-players.patch index ffd8e43..a593af3 100644 --- a/patches/server/0037-Bats-ignore-invisible-players.patch +++ b/patches/server/0038-Bats-ignore-invisible-players.patch @@ -20,7 +20,7 @@ index 0e430c0915012eb55ad9f656565499a9071b2064..2979eb09eee76d5b54e118bf5ce7d39c + } diff --git a/src/main/java/net/minecraft/world/entity/ambient/Bat.java b/src/main/java/net/minecraft/world/entity/ambient/Bat.java -index 2d4fe19da8d53d47df36399531e78da2c961aecd..29a6a34e64c5f3497789353a5b1473f19b790961 100644 +index c8ffbbccbf20ce911a3d75fa860d5a1452c5e590..f9d76becd07f5f9badb49d8c1f69d78dc62c911a 100644 --- a/src/main/java/net/minecraft/world/entity/ambient/Bat.java +++ b/src/main/java/net/minecraft/world/entity/ambient/Bat.java @@ -39,7 +39,7 @@ public class Bat extends AmbientCreature { diff --git a/patches/server/0038-Send-ItemStack-API.patch b/patches/server/0039-Send-ItemStack-API.patch similarity index 91% rename from patches/server/0038-Send-ItemStack-API.patch rename to patches/server/0039-Send-ItemStack-API.patch index c8548b2..b499ef4 100644 --- a/patches/server/0038-Send-ItemStack-API.patch +++ b/patches/server/0039-Send-ItemStack-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Send ItemStack API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index f44d00c29e5597e2edfa4d234cc85928e52c89dc..096597393d5306626eb5f57812d11985a4622168 100644 +index f153af8ae2dba145f03631fa89388dbd42458c5b..f40ecca11953fab39ce24816de7e9be1b1f42583 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -3702,4 +3702,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0039-Extra-recipes-API.patch b/patches/server/0040-Extra-recipes-API.patch similarity index 96% rename from patches/server/0039-Extra-recipes-API.patch rename to patches/server/0040-Extra-recipes-API.patch index 7c2f675..8e23216 100644 --- a/patches/server/0039-Extra-recipes-API.patch +++ b/patches/server/0040-Extra-recipes-API.patch @@ -75,18 +75,18 @@ index 23f8ea3cfaec486d1768d37509b7031fb41f8c53..633ad8ece53a5da27a8d616fcb0827f3 } // CraftBukkit end diff --git a/src/main/java/net/minecraft/world/item/crafting/ShapelessRecipe.java b/src/main/java/net/minecraft/world/item/crafting/ShapelessRecipe.java -index 4aa41825806f6baa0c07a1d8c085428a35912bab..86701aa1bc0e18e0b7744fa7dfd59b04f15d539f 100644 +index 4a111a9a71d462c12053ca339b74246c82818484..0a9281721229bca2ebe5da770a7c795fb502eabe 100644 --- a/src/main/java/net/minecraft/world/item/crafting/ShapelessRecipe.java +++ b/src/main/java/net/minecraft/world/item/crafting/ShapelessRecipe.java -@@ -31,6 +31,7 @@ public class ShapelessRecipe implements CraftingRecipe { - public final List ingredients; // Kiterino - Item Modification API +@@ -32,6 +32,7 @@ public class ShapelessRecipe implements CraftingRecipe { @Nullable private PlacementInfo placementInfo; + private final boolean isBukkit; // Pufferfish + public boolean special = false; // Kiterino - Extra recipes API + // Pufferfish start public ShapelessRecipe(String group, CraftingBookCategory category, ItemStack result, List ingredients) { - this.group = group; -@@ -39,6 +40,13 @@ public class ShapelessRecipe implements CraftingRecipe { +@@ -44,6 +45,13 @@ public class ShapelessRecipe implements CraftingRecipe { this.ingredients = ingredients; } @@ -100,7 +100,7 @@ index 4aa41825806f6baa0c07a1d8c085428a35912bab..86701aa1bc0e18e0b7744fa7dfd59b04 // CraftBukkit start @SuppressWarnings("unchecked") @Override -@@ -51,6 +59,7 @@ public class ShapelessRecipe implements CraftingRecipe { +@@ -56,6 +64,7 @@ public class ShapelessRecipe implements CraftingRecipe { for (Ingredient list : this.ingredients) { recipe.addIngredient(CraftRecipe.toBukkit(list)); } @@ -249,7 +249,7 @@ index 31da9c526135ddaf1f1448b9047c0c2e5a64604d..ca26bcce31437a0ee74221bb6c981544 private static String[] replaceUndefinedIngredientsWithEmpty(String[] shape, Map ingredients) { diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftShapelessRecipe.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftShapelessRecipe.java -index 7c989318dc7ad89bb0d9143fcaac1e4bba6f5907..6a4f2f980c5c08f07240ca1d08aa51fce05c3557 100644 +index 143a4d4efcc989ed4a4c73cc304e1978ad8f0699..5e324b375bb74f350602659b63a5b03a470e996c 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftShapelessRecipe.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftShapelessRecipe.java @@ -33,6 +33,7 @@ public class CraftShapelessRecipe extends ShapelessRecipe implements CraftRecipe @@ -264,9 +264,9 @@ index 7c989318dc7ad89bb0d9143fcaac1e4bba6f5907..6a4f2f980c5c08f07240ca1d08aa51fc data.add(this.toNMS(i, true)); } -- MinecraftServer.getServer().getRecipeManager().addRecipe(new RecipeHolder<>(CraftRecipe.toMinecraft(this.getKey()), new net.minecraft.world.item.crafting.ShapelessRecipe(this.getGroup(), CraftRecipe.getCategory(this.getCategory()), CraftItemStack.asNMSCopy(this.getResult()), data))); +- MinecraftServer.getServer().getRecipeManager().addRecipe(new RecipeHolder<>(CraftRecipe.toMinecraft(this.getKey()), new net.minecraft.world.item.crafting.ShapelessRecipe(this.getGroup(), CraftRecipe.getCategory(this.getCategory()), CraftItemStack.asNMSCopy(this.getResult()), data, true))); // Pufferfish + // Kiterino start - Extra recipes API -+ var recipe = new net.minecraft.world.item.crafting.ShapelessRecipe(this.getGroup(), CraftRecipe.getCategory(this.getCategory()), CraftItemStack.asNMSCopy(this.getResult()), data); ++ var recipe = new net.minecraft.world.item.crafting.ShapelessRecipe(this.getGroup(), CraftRecipe.getCategory(this.getCategory()), CraftItemStack.asNMSCopy(this.getResult()), data, true); // Pufferfish + recipe.special = isSpecial(); + MinecraftServer.getServer().getRecipeManager().addRecipe(new RecipeHolder<>(CraftRecipe.toMinecraft(this.getKey()), recipe)); + // Kiterino end - Extra recipes API diff --git a/patches/server/0040-Add-predicate-support-for-recipe-book.patch b/patches/server/0041-Add-predicate-support-for-recipe-book.patch similarity index 100% rename from patches/server/0040-Add-predicate-support-for-recipe-book.patch rename to patches/server/0041-Add-predicate-support-for-recipe-book.patch diff --git a/patches/server/0041-Less-limited-recipe-matcher.patch b/patches/server/0042-Less-limited-recipe-matcher.patch similarity index 96% rename from patches/server/0041-Less-limited-recipe-matcher.patch rename to patches/server/0042-Less-limited-recipe-matcher.patch index fb6ac44..4618938 100644 --- a/patches/server/0041-Less-limited-recipe-matcher.patch +++ b/patches/server/0042-Less-limited-recipe-matcher.patch @@ -27,7 +27,7 @@ index 48f6ee0a3ac1f3276d90229aafe42e162f757f04..1b84547f4cb4034081bd8e368c7804cd + } diff --git a/src/main/java/net/minecraft/world/entity/player/Inventory.java b/src/main/java/net/minecraft/world/entity/player/Inventory.java -index 0990bcf65f484b9a019c91fcdae1783bac6388da..76d7bcdd6bfb6f4e29b6edb80a2f2cb8c9babdb3 100644 +index 99feda30fb85a7615560b6e9a3701d5dfeb3e524..82a00f7e73c438d2b81ceb5e209f8fbbc9365bbb 100644 --- a/src/main/java/net/minecraft/world/entity/player/Inventory.java +++ b/src/main/java/net/minecraft/world/entity/player/Inventory.java @@ -198,7 +198,7 @@ public class Inventory implements Container, Nameable { diff --git a/patches/server/0042-Extra-item-drop-method.patch b/patches/server/0043-Extra-item-drop-method.patch similarity index 100% rename from patches/server/0042-Extra-item-drop-method.patch rename to patches/server/0043-Extra-item-drop-method.patch diff --git a/patches/server/0043-Paper-PR-Add-FillBottleEvents-for-player-and-dispens.patch b/patches/server/0044-Paper-PR-Add-FillBottleEvents-for-player-and-dispens.patch similarity index 100% rename from patches/server/0043-Paper-PR-Add-FillBottleEvents-for-player-and-dispens.patch rename to patches/server/0044-Paper-PR-Add-FillBottleEvents-for-player-and-dispens.patch diff --git a/patches/server/0044-Anger-nearby-piglins-API.patch b/patches/server/0045-Anger-nearby-piglins-API.patch similarity index 91% rename from patches/server/0044-Anger-nearby-piglins-API.patch rename to patches/server/0045-Anger-nearby-piglins-API.patch index fc7b9c6..c8aae5f 100644 --- a/patches/server/0044-Anger-nearby-piglins-API.patch +++ b/patches/server/0045-Anger-nearby-piglins-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Anger nearby piglins API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 096597393d5306626eb5f57812d11985a4622168..807303fcc16ac5d7117c5f722aca923baccd009c 100644 +index f40ecca11953fab39ce24816de7e9be1b1f42583..7595bc3764d756ce9709a9fec50be535fbb69126 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -3710,4 +3710,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0045-Open-ender-chest-API.patch b/patches/server/0046-Open-ender-chest-API.patch similarity index 97% rename from patches/server/0045-Open-ender-chest-API.patch rename to patches/server/0046-Open-ender-chest-API.patch index 0b0372f..2b178aa 100644 --- a/patches/server/0045-Open-ender-chest-API.patch +++ b/patches/server/0046-Open-ender-chest-API.patch @@ -27,7 +27,7 @@ index 6ad4aa371607ab92616626285a7e71757c76a3db..eae3ccbb9d6ae63042a3d12960914a5d org.bukkit.craftbukkit.entity.CraftHumanEntity bukkitPlayer = player.getBukkitEntity(); if (bukkitPlayer.hasPermission("purpur.enderchest.rows.six")) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 807303fcc16ac5d7117c5f722aca923baccd009c..8ba32dfd429294d0abdbafdbc28eccaab7a9e3b6 100644 +index 7595bc3764d756ce9709a9fec50be535fbb69126..95887b7ecc40515aa11c8f196b161686a87ba3bb 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -3717,4 +3717,19 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0046-Add-combat-tracker-API.patch b/patches/server/0047-Add-combat-tracker-API.patch similarity index 100% rename from patches/server/0046-Add-combat-tracker-API.patch rename to patches/server/0047-Add-combat-tracker-API.patch