2021-11-05 16:01:40 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								From: Nassim Jahnke <nassim@njahnke.dev>
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Date: Sun, 24 Oct 2021 15:49:35 +0200
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Subject: [PATCH] Fix Bukkit NamespacedKey shenanigans
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-06-08 13:44:30 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								diff --git a/src/main/java/com/destroystokyo/paper/loottable/PaperContainerEntityLootableInventory.java b/src/main/java/com/destroystokyo/paper/loottable/PaperContainerEntityLootableInventory.java
  
						 
					
						
							
								
									
										
										
										
											2021-11-17 10:53:41 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
  
						 
					
						
							
								
									
										
										
										
											2022-06-08 13:44:30 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								--- a/src/main/java/com/destroystokyo/paper/loottable/PaperContainerEntityLootableInventory.java
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								+++ b/src/main/java/com/destroystokyo/paper/loottable/PaperContainerEntityLootableInventory.java
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								@@ -0,0 +0,0 @@ public class PaperContainerEntityLootableInventory implements PaperLootableEntit
  
						 
					
						
							
								
									
										
										
										
											2021-11-17 10:53:41 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     @Override
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     public org.bukkit.loot.LootTable getLootTable() {
							 
						 
					
						
							
								
									
										
										
										
											2022-06-08 13:44:30 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								-        return entity.getLootTable() != null ? Bukkit.getLootTable(CraftNamespacedKey.fromMinecraft(entity.getLootTable())) : null;
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								+        return entity.getLootTable() != null && !entity.getLootTable().getPath().isEmpty() ? Bukkit.getLootTable(CraftNamespacedKey.fromMinecraft(entity.getLootTable())) : null;
  
						 
					
						
							
								
									
										
										
										
											2021-11-17 10:53:41 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								     }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     @Override
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								diff --git a/src/main/java/com/destroystokyo/paper/loottable/PaperTileEntityLootableInventory.java b/src/main/java/com/destroystokyo/paper/loottable/PaperTileEntityLootableInventory.java
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								--- a/src/main/java/com/destroystokyo/paper/loottable/PaperTileEntityLootableInventory.java
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								+++ b/src/main/java/com/destroystokyo/paper/loottable/PaperTileEntityLootableInventory.java
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								@@ -0,0 +0,0 @@ public class PaperTileEntityLootableInventory implements PaperLootableBlockInven
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     @Override
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     public org.bukkit.loot.LootTable getLootTable() {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-        return tileEntityLootable.lootTable != null ? Bukkit.getLootTable(CraftNamespacedKey.fromMinecraft(tileEntityLootable.lootTable)) : null;
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								+        return tileEntityLootable.lootTable != null && !tileEntityLootable.lootTable.getPath().isEmpty() ? Bukkit.getLootTable(CraftNamespacedKey.fromMinecraft(tileEntityLootable.lootTable)) : null;
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     @Override
							 
						 
					
						
							
								
									
										
										
										
											2021-11-05 16:01:40 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftNamespacedKey.java b/src/main/java/org/bukkit/craftbukkit/util/CraftNamespacedKey.java
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								--- a/src/main/java/org/bukkit/craftbukkit/util/CraftNamespacedKey.java
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftNamespacedKey.java
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								@@ -0,0 +0,0 @@ public final class CraftNamespacedKey {
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								             return null;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								         }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								         ResourceLocation minecraft = ResourceLocation.tryParse(string);
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-        return (minecraft == null) ? null : CraftNamespacedKey.fromMinecraft(minecraft);
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								+        return (minecraft == null || minecraft.getPath().isEmpty()) ? null : CraftNamespacedKey.fromMinecraft(minecraft); // Paper - Bukkit's parser does not match Vanilla for empty paths
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     public static NamespacedKey fromString(String string) {