Applied all patches
This commit is contained in:
		
					parent
					
						
							
								b5f8080674
							
						
					
				
			
			
				commit
				
					
						c07518e0c6
					
				
			
		
					 37 changed files with 56 additions and 206 deletions
				
			
		| 
						 | 
				
			
			@ -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;
 | 
			
		||||
         }
 | 
			
		||||
     }
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue