diff --git a/gradle.properties b/gradle.properties
index 2a9ced0f6..dc3715d13 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -1,8 +1,8 @@
group = org.purpurmc.purpur
version = 1.21.5-R0.1-SNAPSHOT
-mcVersion = 1.21.5-rc1
-paperCommit = 92abbc6ccc73e4da969c3aa6d71efd880197412e
+mcVersion = 1.21.5-rc2
+paperCommit = e50bb66a012d256305c9904330200fa2a634b723
org.gradle.configuration-cache = true
org.gradle.caching = true
diff --git a/purpur-api/paper-patches/features/0002-Purpur-config-files.patch b/purpur-api/paper-patches/features/0002-Purpur-config-files.patch
index 08df6095c..eb88bb178 100644
--- a/purpur-api/paper-patches/features/0002-Purpur-config-files.patch
+++ b/purpur-api/paper-patches/features/0002-Purpur-config-files.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Purpur config files
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 313af4c93ba978f8727110c293d1588bc1651c71..f89b1218f0162d35384cbffa2d4a93d3fb559f00 100644
+index 53ad1696d02afbebf27663dd753fa93e41cfeb4e..cec387842895d617b0dcf9158f080fe03e08a926 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -2371,6 +2371,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -2369,6 +2369,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
}
// Paper end
diff --git a/purpur-api/paper-patches/files/src/main/java/org/bukkit/Bukkit.java.patch b/purpur-api/paper-patches/files/src/main/java/org/bukkit/Bukkit.java.patch
index efaae85e3..c6c42f557 100644
--- a/purpur-api/paper-patches/files/src/main/java/org/bukkit/Bukkit.java.patch
+++ b/purpur-api/paper-patches/files/src/main/java/org/bukkit/Bukkit.java.patch
@@ -1,6 +1,6 @@
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -2994,4 +_,133 @@
+@@ -2997,4 +_,133 @@
public static void restart() {
server.restart();
}
diff --git a/purpur-api/paper-patches/files/src/main/java/org/bukkit/Server.java.patch b/purpur-api/paper-patches/files/src/main/java/org/bukkit/Server.java.patch
index c9fb37bf3..5b53e005a 100644
--- a/purpur-api/paper-patches/files/src/main/java/org/bukkit/Server.java.patch
+++ b/purpur-api/paper-patches/files/src/main/java/org/bukkit/Server.java.patch
@@ -1,6 +1,6 @@
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -2707,4 +_,111 @@
+@@ -2705,4 +_,111 @@
*/
void allowPausing(@NotNull org.bukkit.plugin.Plugin plugin, boolean value);
// Paper end - API to check if the server is sleeping
diff --git a/purpur-api/paper-patches/files/src/main/java/org/bukkit/World.java.patch b/purpur-api/paper-patches/files/src/main/java/org/bukkit/World.java.patch
index aaf9c281d..32feb363a 100644
--- a/purpur-api/paper-patches/files/src/main/java/org/bukkit/World.java.patch
+++ b/purpur-api/paper-patches/files/src/main/java/org/bukkit/World.java.patch
@@ -1,6 +1,6 @@
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -4277,6 +_,86 @@
+@@ -4283,6 +_,86 @@
@Nullable
public DragonBattle getEnderDragonBattle();
diff --git a/purpur-api/paper-patches/files/src/main/java/org/bukkit/inventory/ItemStack.java.patch b/purpur-api/paper-patches/files/src/main/java/org/bukkit/inventory/ItemStack.java.patch
index 131717ddc..24a90431c 100644
--- a/purpur-api/paper-patches/files/src/main/java/org/bukkit/inventory/ItemStack.java.patch
+++ b/purpur-api/paper-patches/files/src/main/java/org/bukkit/inventory/ItemStack.java.patch
@@ -1,6 +1,6 @@
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
-@@ -21,6 +_,13 @@
+@@ -22,6 +_,13 @@
import org.bukkit.persistence.PersistentDataContainer;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -14,7 +14,7 @@
/**
* Represents a stack of items.
-@@ -1345,4 +_,482 @@
+@@ -1371,4 +_,482 @@
return this.craftDelegate.matchesWithoutData(item, excludeTypes, ignoreCount);
}
// Paper end - data component API
diff --git a/purpur-server/build.gradle.kts.patch b/purpur-server/build.gradle.kts.patch
index 35861e39c..5e6fea4b4 100644
--- a/purpur-server/build.gradle.kts.patch
+++ b/purpur-server/build.gradle.kts.patch
@@ -1,19 +1,9 @@
--- a/paper-server/build.gradle.kts
+++ b/paper-server/build.gradle.kts
-@@ -18,11 +_,21 @@
+@@ -24,6 +_,16 @@
+ // oldPaperCommit = "f4f275519f7c1fbe9db173b7144a4fe81440e365"
+ //}
- paperweight {
- minecraftVersion = providers.gradleProperty("mcVersion")
-- gitFilePatches = false
--
-- updatingMinecraft {
-- oldPaperCommit = "f4f275519f7c1fbe9db173b7144a4fe81440e365"
-+ //gitFilePatches = true
-+
-+ //updatingMinecraft {
-+ // oldPaperCommit = "f4f275519f7c1fbe9db173b7144a4fe81440e365"
-+ //}
-+
+ val purpur = forks.register("purpur") {
+ upstream.patchDir("paperServer") {
+ upstreamPath = "paper-server"
@@ -21,11 +11,12 @@
+ patchesDir = rootDirectory.dir("purpur-server/paper-patches")
+ outputDir = rootDirectory.dir("paper-server")
+ }
- }
++ }
+ activeFork = purpur
-
++
spigot {
buildDataRef = "3edaf46ec1eed4115ce1b18d2846cded42577e42"
+ packageVersion = "v1_21_R3" // also needs to be updated in MappingEnvironment
@@ -104,7 +_,21 @@
}
}
diff --git a/purpur-server/paper-patches/features/0005-Add-EntityTeleportHinderedEvent.patch b/purpur-server/paper-patches/features/0005-Add-EntityTeleportHinderedEvent.patch
index aca6d53ee..d08b9c1b0 100644
--- a/purpur-server/paper-patches/features/0005-Add-EntityTeleportHinderedEvent.patch
+++ b/purpur-server/paper-patches/features/0005-Add-EntityTeleportHinderedEvent.patch
@@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see .
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
-index 65c4c0690874c29814098448b6cc6077a1e8c566..549f6fcf5ded0563e665673a797fa92496786c3b 100644
+index e7fec5d2d54dc02bad76cb4100f597208ae46912..2344ee5f7c76d4c0eff375826e75cb97e104c3f1 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -264,6 +264,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
@@ -29,10 +29,10 @@ index 65c4c0690874c29814098448b6cc6077a1e8c566..549f6fcf5ded0563e665673a797fa924
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index d53cc5f0952be042629cd8e6e319157d0afb14c7..9b72d1e90ceb531088ace34ff11db12a4bcba2b7 100644
+index 9bea9f41cbffaacb77b27636086c57b6f8cb17d7..dcdf06516b0bcfaa191ed82f4236602710d11e44 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1420,6 +1420,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1422,6 +1422,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
// Paper start - Teleport passenger API
// Don't allow teleporting between worlds while keeping passengers
if (ignorePassengers && entity.isVehicle() && location.getWorld() != this.getWorld()) {
@@ -40,7 +40,7 @@ index d53cc5f0952be042629cd8e6e319157d0afb14c7..9b72d1e90ceb531088ace34ff11db12a
return false;
}
-@@ -1441,6 +1442,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1443,6 +1444,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
if (entity.isVehicle() && !ignorePassengers) { // Paper - Teleport API
diff --git a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java.patch b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java.patch
index 01fc3ac5b..b7ffe4864 100644
--- a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java.patch
+++ b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java.patch
@@ -1,6 +1,6 @@
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
-@@ -273,6 +_,7 @@
+@@ -276,6 +_,7 @@
@Override
public void recalculatePermissions() {
this.perm.recalculatePermissions();
diff --git a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java.patch b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java.patch
index 511f97b31..32b0fc0fa 100644
--- a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java.patch
+++ b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java.patch
@@ -1,6 +1,6 @@
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -590,10 +_,15 @@
+@@ -592,10 +_,15 @@
@Override
public void setPlayerListName(String name) {
@@ -17,7 +17,7 @@
if (this.getHandle().connection == null) return; // Paper - Updates are possible before the player has fully joined
for (ServerPlayer player : (List) this.server.getHandle().players) {
if (player.getBukkitEntity().canSee(this)) {
-@@ -2730,6 +_,28 @@
+@@ -2732,6 +_,28 @@
return this.getHandle().getAbilities().walkingSpeed * 2f;
}
@@ -46,9 +46,9 @@
private void validateSpeed(float value) {
Preconditions.checkArgument(value <= 1f && value >= -1f, "Speed value (%s) need to be between -1f and 1f", value);
}
-@@ -3576,4 +_,76 @@
- public void setDeathScreenScore(final int score) {
- getHandle().setScore(score);
+@@ -3594,4 +_,76 @@
+ public void setSimplifyContainerDesyncCheck(final boolean simplifyContainerDesyncCheck) {
+ this.simplifyContainerDesyncCheck = simplifyContainerDesyncCheck;
}
+
+ // Purpur start - Purpur client support
diff --git a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java.patch b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java.patch
index 9203db018..a7623accc 100644
--- a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java.patch
+++ b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java.patch
@@ -1,6 +1,6 @@
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
-@@ -649,4 +_,285 @@
+@@ -669,4 +_,285 @@
}
// Paper end - data component API