diff --git a/README.md b/README.md
index de9253cf0b..9085b3e36b 100644
--- a/README.md
+++ b/README.md
@@ -40,7 +40,7 @@ How To (Plugin Developers)
io.papermc.paper
paper-api
- 1.21.2-R0.1-SNAPSHOT
+ 1.21.3-R0.1-SNAPSHOT
provided
```
@@ -53,7 +53,7 @@ repositories {
}
dependencies {
- compileOnly("io.papermc.paper:paper-api:1.21.2-R0.1-SNAPSHOT")
+ compileOnly("io.papermc.paper:paper-api:1.21.3-R0.1-SNAPSHOT")
}
java {
diff --git a/build.gradle.kts b/build.gradle.kts
index 0182b94ed1..9f0522ccbd 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -67,7 +67,7 @@ repositories {
}
dependencies {
- paramMappings("net.fabricmc:yarn:1.21.2+build.1:mergedv2")
+ paramMappings("net.fabricmc:yarn:1.21.3+build.1:mergedv2")
remapper("net.fabricmc:tiny-remapper:0.10.3:fat")
decompiler("org.vineflower:vineflower:1.10.1")
spigotDecompiler("io.papermc:patched-spigot-fernflower:0.1+build.13")
diff --git a/gradle.properties b/gradle.properties
index c61582a178..37e2da14d9 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -1,6 +1,6 @@
group=io.papermc.paper
-version=1.21.2-R0.1-SNAPSHOT
-mcVersion=1.21.2
+version=1.21.3-R0.1-SNAPSHOT
+mcVersion=1.21.3
# Set to true while updating Minecraft version
updatingMinecraft=true
diff --git a/patches/api/Add-FeatureFlag-API.patch b/patches/api/Add-FeatureFlag-API.patch
index 3cf3f6ab2f..9eccd985f2 100644
--- a/patches/api/Add-FeatureFlag-API.patch
+++ b/patches/api/Add-FeatureFlag-API.patch
@@ -137,7 +137,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ FeatureFlag VANILLA = create("vanilla");
/**
- * AVAILABLE BETWEEN VERSIONS: 1.19.3 - 1.21.2
+ * AVAILABLE BETWEEN VERSIONS: 1.19.3 - 1.21.1
@@ -0,0 +0,0 @@ public interface FeatureFlag extends Keyed {
* @deprecated not available since 1.21.2
*/
diff --git a/patches/api/Convert-project-to-Gradle.patch b/patches/api/Convert-project-to-Gradle.patch
index b6f2c4213c..f75c7fd939 100644
--- a/patches/api/Convert-project-to-Gradle.patch
+++ b/patches/api/Convert-project-to-Gradle.patch
@@ -135,7 +135,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
-
- org.spigotmc
- spigot-api
-- 1.21.2-R0.1-SNAPSHOT
+- 1.21.3-R0.1-SNAPSHOT
- jar
-
- Spigot-API
diff --git a/patches/server/Fix-equipment-slot-and-group-API.patch b/patches/server/Fix-equipment-slot-and-group-API.patch
index a230d22f50..a93cfa772b 100644
--- a/patches/server/Fix-equipment-slot-and-group-API.patch
+++ b/patches/server/Fix-equipment-slot-and-group-API.patch
@@ -38,7 +38,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ throw new IllegalArgumentException("BODY is not valid for players!");
+ // Paper end
default:
- throw new IllegalArgumentException("Not implemented. This is a bug");
+ throw new IllegalArgumentException("Could not set slot " + slot + " - not a valid slot for PlayerInventory");
}
@@ -0,0 +0,0 @@ public class CraftInventoryPlayer extends CraftInventory implements org.bukkit.i
return java.util.Objects.requireNonNullElseGet(this.getChestplate(), () -> new ItemStack(org.bukkit.Material.AIR)); // Paper - make nonnull
@@ -49,7 +49,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ throw new IllegalArgumentException("BODY is not valid for players!");
+ // Paper end
default:
- throw new IllegalArgumentException("Not implemented. This is a bug");
+ throw new IllegalArgumentException("Could not get slot " + slot + " - not a valid slot for PlayerInventory");
}
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
diff --git a/patches/server/Fix-issues-with-Recipe-API.patch b/patches/server/Fix-issues-with-Recipe-API.patch
index c7a017fba3..2d4a110363 100644
--- a/patches/server/Fix-issues-with-Recipe-API.patch
+++ b/patches/server/Fix-issues-with-Recipe-API.patch
@@ -24,7 +24,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
@@ -0,0 +0,0 @@ public interface CraftRecipe extends Recipe {
stack = Ingredient.of(((RecipeChoice.MaterialChoice) bukkit).getChoices().stream().map((mat) -> CraftItemType.bukkitToMinecraft(mat)));
} else if (bukkit instanceof RecipeChoice.ExactChoice) {
- stack = Ingredient.ofStacks(((RecipeChoice.ExactChoice) bukkit).getChoices().stream().map((mat) -> CraftItemStack.asNMSCopy(mat)));
+ stack = Ingredient.ofStacks(((RecipeChoice.ExactChoice) bukkit).getChoices().stream().map((mat) -> CraftItemStack.asNMSCopy(mat)).toList());
+ // Paper start - support "empty" choices
+ } else if (bukkit == RecipeChoice.empty()) {
+ stack = Ingredient.of();
diff --git a/patches/server/Make-some-itemstacks-nonnull.patch b/patches/server/Make-some-itemstacks-nonnull.patch
index 4ef873eaef..6b22073d4f 100644
--- a/patches/server/Make-some-itemstacks-nonnull.patch
+++ b/patches/server/Make-some-itemstacks-nonnull.patch
@@ -24,5 +24,5 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
- return this.getHelmet();
+ return java.util.Objects.requireNonNullElseGet(this.getHelmet(), () -> new ItemStack(org.bukkit.Material.AIR)); // Paper - make nonnull
default:
- throw new IllegalArgumentException("Not implemented. This is a bug");
+ throw new IllegalArgumentException("Could not get slot " + slot + " - not a valid slot for PlayerInventory");
}
diff --git a/patches/server/Setup-Gradle-project.patch b/patches/server/Setup-Gradle-project.patch
index 29af543bc7..383b6891e8 100644
--- a/patches/server/Setup-Gradle-project.patch
+++ b/patches/server/Setup-Gradle-project.patch
@@ -175,7 +175,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
- org.spigotmc
- spigot
- jar
-- 1.21.2-R0.1-SNAPSHOT
+- 1.21.3-R0.1-SNAPSHOT
- Spigot
- https://www.spigotmc.org/
-
diff --git a/work/BuildData b/work/BuildData
index 0ea6fcc9bc..0c5ebabcb4 160000
--- a/work/BuildData
+++ b/work/BuildData
@@ -1 +1 @@
-Subproject commit 0ea6fcc9bc8ad9e7c729f5031123bcc69ce2b033
+Subproject commit 0c5ebabcb4ce41f69a7d2319b468b6faee434038
diff --git a/work/Bukkit b/work/Bukkit
index f6ac70751d..553558256c 160000
--- a/work/Bukkit
+++ b/work/Bukkit
@@ -1 +1 @@
-Subproject commit f6ac70751dbb9d2280a14b3706248987c243e313
+Subproject commit 553558256cab26217919a0809cc26f7aad22995d
diff --git a/work/CraftBukkit b/work/CraftBukkit
index 459c38af30..18b8ae1839 160000
--- a/work/CraftBukkit
+++ b/work/CraftBukkit
@@ -1 +1 @@
-Subproject commit 459c38af307944fbf03a472cba33c71d93287d33
+Subproject commit 18b8ae18390763d48ea292435b75c1eabf5dbff7
diff --git a/work/Spigot b/work/Spigot
index a084d85da8..5eb8a94b2f 160000
--- a/work/Spigot
+++ b/work/Spigot
@@ -1 +1 @@
-Subproject commit a084d85da8604d468f81091f56dc81166d912931
+Subproject commit 5eb8a94b2f4dfefed5c71a40f87a84c34d1c8828