mirror of
https://github.com/PaperMC/Paper.git
synced 2025-07-26 09:42:06 -07:00
So it begins...
This commit is contained in:
@@ -1,30 +0,0 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Josh Roy <10731363+JRoy@users.noreply.github.com>
|
||||
Date: Mon, 23 Jan 2023 19:19:01 -0500
|
||||
Subject: [PATCH] Remove CraftItemStack#setAmount null assignment
|
||||
|
||||
This creates a problem with Paper's item serialization
|
||||
api where deserialized items, which are internally
|
||||
created as a CraftItemStack, will be completely lost if
|
||||
#setAmount(0) is invoked (since the underlying handle
|
||||
is set to null), while a regular Bukkit ItemStack
|
||||
simply sets the amount field to zero, retaining the
|
||||
item's data.
|
||||
|
||||
Vanilla treats items with zero amounts the same as items
|
||||
with less than zero amounts, so this code doesn't create
|
||||
a problem with operations on the vanilla ItemStack.
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
|
||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
|
||||
@@ -0,0 +0,0 @@ public final class CraftItemStack extends ItemStack {
|
||||
}
|
||||
|
||||
this.handle.setCount(amount);
|
||||
- if (amount == 0) {
|
||||
+ if (false && amount == 0) { // Paper - remove CraftItemStack#setAmount null assignment
|
||||
this.handle = null;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user