aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/server/0808-Expand-PlayerItemMendEvent.patch
diff options
context:
space:
mode:
authorBjarne Koll <[email protected]>2024-10-31 17:25:52 +0100
committerGitHub <[email protected]>2024-10-31 17:25:52 +0100
commitad9c58e1035333a63aea416325d2ec988fdb9b36 (patch)
tree449bf4e16a4b8765c7d83e47935289a121bde692 /patches/server/0808-Expand-PlayerItemMendEvent.patch
parent147b7961fea0a33dde0cc6041bea578a5e25e7ee (diff)
downloadPaper-ad9c58e1035333a63aea416325d2ec988fdb9b36.tar.gz
Paper-ad9c58e1035333a63aea416325d2ec988fdb9b36.zip
Only expose velocity relative tp flags to API (#11532)dev/1.21.2
Since 1.21.2, vanilla split relative teleportation flags into position and delta/velocity flags into separate enum entries. This highlighted a design flaw in the paper api addition for teleport flags, which just simply mirrored internals while also only being able to apply the delta/velocity part of a flag, given the teleport target is always absolute in the API. This patch proposes to simply no longer expose the non-velocity related flags to the API, instead marking the entire Relative enum as being purely velocity related, as non-velocity related flags are not useful to callers. This was done over simply exposing all internal flags, as another vanilla change to the internal enum would result in the same breakage. The newly proposed API *only* promises that the passed flags prevent the loss of velocity in the specific axis/context, which should be independent enough of vanillas specific implementation of this feature.
Diffstat (limited to 'patches/server/0808-Expand-PlayerItemMendEvent.patch')
-rw-r--r--patches/server/0808-Expand-PlayerItemMendEvent.patch4
1 files changed, 2 insertions, 2 deletions
diff --git a/patches/server/0808-Expand-PlayerItemMendEvent.patch b/patches/server/0808-Expand-PlayerItemMendEvent.patch
index 93c7b9d1e2..32a8f1a464 100644
--- a/patches/server/0808-Expand-PlayerItemMendEvent.patch
+++ b/patches/server/0808-Expand-PlayerItemMendEvent.patch
@@ -30,10 +30,10 @@ index 3a7af27bb1ce0cbe56bd3760cd400083daf98d4c..bf0838f574fa3fb9654e087d602b8d38
if (l > 0) {
// this.value = l; // CraftBukkit - update exp value of orb for PlayerItemMendEvent calls // Paper - the value field should not be mutated here because it doesn't take "count" into account
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 3419024a58a3c68b160f16350c72d1250c10d4dd..d48a0d67853fb17cc73bba94c9b6660d2689c8fc 100644
+index b6aa646b28aef25e07c6e7fc0dfc2a252671e6c5..d4cf68ad626e6a7d5facaa0a7474a7d4ad7981db 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1877,11 +1877,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1875,11 +1875,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
handle.serverLevel(), itemstack, amount
);
int i = Math.min(possibleDurabilityFromXp, itemstack.getDamageValue());