diff --git a/README.md b/README.md
index 0da22f4fa..062f378c8 100644
--- a/README.md
+++ b/README.md
@@ -40,7 +40,7 @@ How To (Plugin Developers)
io.papermc.paper
paper-api
- 1.21-R0.1-SNAPSHOT
+ 1.21.1-R0.1-SNAPSHOT
provided
```
@@ -53,7 +53,7 @@ repositories {
}
dependencies {
- compileOnly("io.papermc.paper:paper-api:1.21-R0.1-SNAPSHOT")
+ compileOnly("io.papermc.paper:paper-api:1.21.1-R0.1-SNAPSHOT")
}
java {
diff --git a/build.gradle.kts b/build.gradle.kts
index 5a2840e06..95035067b 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -67,7 +67,7 @@ repositories {
}
dependencies {
- paramMappings("net.fabricmc:yarn:1.21+build.1:mergedv2")
+ paramMappings("net.fabricmc:yarn:1.21.1+build.3: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 7aa001f7c..4d595c30f 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -1,6 +1,6 @@
group=io.papermc.paper
-version=1.21-R0.1-SNAPSHOT
-mcVersion=1.21
+version=1.21.1-R0.1-SNAPSHOT
+mcVersion=1.21.1
# Set to true while updating Minecraft version
updatingMinecraft=false
diff --git a/patches/api/Convert-project-to-Gradle.patch b/patches/api/Convert-project-to-Gradle.patch
index 90bfc56a9..c09f55698 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-R0.1-SNAPSHOT
+- 1.21.1-R0.1-SNAPSHOT
- jar
-
- Spigot-API
diff --git a/patches/server/API-to-get-a-BlockState-without-a-snapshot.patch b/patches/server/API-to-get-a-BlockState-without-a-snapshot.patch
index ea056a02c..6ac744879 100644
--- a/patches/server/API-to-get-a-BlockState-without-a-snapshot.patch
+++ b/patches/server/API-to-get-a-BlockState-without-a-snapshot.patch
@@ -17,13 +17,13 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
--- a/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java
@@ -0,0 +0,0 @@ public abstract class BlockEntity {
- this.type = type;
this.worldPosition = pos.immutable();
+ this.validateBlockState(state);
this.blockState = state;
+ this.persistentDataContainer = new CraftPersistentDataContainer(DATA_TYPE_REGISTRY); // Paper - always init
}
- public static BlockPos getPosFromTag(CompoundTag nbt) {
+ private void validateBlockState(BlockState state) {
@@ -0,0 +0,0 @@ public abstract class BlockEntity {
// CraftBukkit start - read container
diff --git a/patches/server/Fix-EntityArgument-suggestion-permissions-to-align-w.patch b/patches/server/Fix-EntityArgument-suggestion-permissions-to-align-w.patch
index e94cacbc5..160c897e4 100644
--- a/patches/server/Fix-EntityArgument-suggestion-permissions-to-align-w.patch
+++ b/patches/server/Fix-EntityArgument-suggestion-permissions-to-align-w.patch
@@ -16,7 +16,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
StringReader stringreader = new StringReader(suggestionsbuilder.getInput());
stringreader.setCursor(suggestionsbuilder.getStart());
-- EntitySelectorParser argumentparserselector = new EntitySelectorParser(stringreader, icompletionprovider.hasPermission(2));
+- EntitySelectorParser argumentparserselector = new EntitySelectorParser(stringreader, EntitySelectorParser.allowSelectors(icompletionprovider));
+ // Paper start - Fix EntityArgument suggestion permissions
+ final boolean permission = object instanceof CommandSourceStack stack
+ ? stack.bypassSelectorPermissions || stack.hasPermission(2, "minecraft.command.selector")
diff --git a/patches/server/Fix-entity-type-tags-suggestions-in-selectors.patch b/patches/server/Fix-entity-type-tags-suggestions-in-selectors.patch
index a57d5a8df..f52fa2936 100644
--- a/patches/server/Fix-entity-type-tags-suggestions-in-selectors.patch
+++ b/patches/server/Fix-entity-type-tags-suggestions-in-selectors.patch
@@ -103,10 +103,6 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
private boolean usesSelectors;
+ public boolean parsingEntityArgumentSuggestions; // Paper - tell clients to ask server for suggestions for EntityArguments
- public EntitySelectorParser(StringReader reader) {
- this(reader, true);
- }
-
public EntitySelectorParser(StringReader reader, boolean atAllowed) {
+ // Paper start - tell clients to ask server for suggestions for EntityArguments
+ this(reader, atAllowed, false);
diff --git a/patches/server/Prevent-block-entity-and-entity-crashes.patch b/patches/server/Prevent-block-entity-and-entity-crashes.patch
index d7cb9358b..c2975880e 100644
--- a/patches/server/Prevent-block-entity-and-entity-crashes.patch
+++ b/patches/server/Prevent-block-entity-and-entity-crashes.patch
@@ -30,8 +30,8 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
--- a/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java
@@ -0,0 +0,0 @@ public abstract class BlockEntity {
- return s + " // " + this.getClass().getCanonicalName();
- });
+ public void fillCrashReportCategory(CrashReportCategory crashReportSection) {
+ crashReportSection.setDetail("Name", this::getNameForReporting);
if (this.level != null) {
- CrashReportCategory.populateBlockDetails(crashReportSection, this.level, this.worldPosition, this.getBlockState());
+ // Paper start - Prevent block entity and entity crashes
diff --git a/patches/server/Prevent-sending-oversized-item-data-in-equipment-and.patch b/patches/server/Prevent-sending-oversized-item-data-in-equipment-and.patch
index c7d8e5e47..565c37432 100644
--- a/patches/server/Prevent-sending-oversized-item-data-in-equipment-and.patch
+++ b/patches/server/Prevent-sending-oversized-item-data-in-equipment-and.patch
@@ -160,15 +160,15 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
@@ -0,0 +0,0 @@ public class ClientboundSetEquipmentPacket implements Packet> slots;
- public ClientboundSetEquipmentPacket(int id, List> equipmentList) {
+ public ClientboundSetEquipmentPacket(int entityId, List> equipmentList) {
+ // Paper start - data sanitization
-+ this(id, equipmentList, false);
++ this(entityId, equipmentList, false);
+ }
-+ private boolean sanitize = false;
-+ public ClientboundSetEquipmentPacket(int id, List> equipmentList, boolean sanitize) {
++ private boolean sanitize;
++ public ClientboundSetEquipmentPacket(int entityId, List> equipmentList, boolean sanitize) {
+ this.sanitize = sanitize;
+ // Paper end - data sanitization
- this.entity = id;
+ this.entity = entityId;
this.slots = equipmentList;
}
@@ -0,0 +0,0 @@ public class ClientboundSetEquipmentPacket implements Packetorg.spigotmc
- spigot
- jar
-- 1.21-R0.1-SNAPSHOT
+- 1.21.1-R0.1-SNAPSHOT
- Spigot
- https://www.spigotmc.org/
-
diff --git a/work/BuildData b/work/BuildData
index ae1e7b1e3..533b02cd6 160000
--- a/work/BuildData
+++ b/work/BuildData
@@ -1 +1 @@
-Subproject commit ae1e7b1e31cd3a3892bb05a6ccdcecc48c73c455
+Subproject commit 533b02cd6ba8dbf8c8607250b02bf2d8c36421e8
diff --git a/work/Bukkit b/work/Bukkit
index 2ec53f498..facd52d21 160000
--- a/work/Bukkit
+++ b/work/Bukkit
@@ -1 +1 @@
-Subproject commit 2ec53f498e32b3af989cb24672fc54dfab087154
+Subproject commit facd52d216243e2b7f90a9f4d5cc54a8f4bbcbf7
diff --git a/work/CraftBukkit b/work/CraftBukkit
index 8ee6fd1b8..b95736b13 160000
--- a/work/CraftBukkit
+++ b/work/CraftBukkit
@@ -1 +1 @@
-Subproject commit 8ee6fd1b8db9896590aa321d0199453de1fc35db
+Subproject commit b95736b13f776ba47322313f482c0520630c3533
diff --git a/work/Spigot b/work/Spigot
index fb8fb722a..5a6439b9e 160000
--- a/work/Spigot
+++ b/work/Spigot
@@ -1 +1 @@
-Subproject commit fb8fb722a327a2f9f097f2ded700ac5de8157408
+Subproject commit 5a6439b9eca2e28522873a0488e142cfc089c0fe