mirror of
https://github.com/PaperMC/Paper.git
synced 2025-01-01 17:01:56 +01:00
1f44d0b82b
This ensures that enchants are never added in inconsistent order. The client shows the enchants in a sorted order already This will auto fix previously created items too on load.
29 lines
No EOL
1.3 KiB
Diff
29 lines
No EOL
1.3 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Aikar <aikar@aikar.co>
|
|
Date: Wed, 21 Dec 2016 03:48:29 -0500
|
|
Subject: [PATCH] Optimize ItemStack.isEmpty()
|
|
|
|
Remove hashMap lookup every check, simplify code to remove ternary
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java
|
|
index a8f7ff98f..9465f4c16 100644
|
|
--- a/src/main/java/net/minecraft/server/ItemStack.java
|
|
+++ b/src/main/java/net/minecraft/server/ItemStack.java
|
|
@@ -0,0 +0,0 @@ public final class ItemStack {
|
|
this.F();
|
|
}
|
|
|
|
+ // Paper start - optimize isEmpty
|
|
+ private static Item airItem;
|
|
public boolean isEmpty() {
|
|
- return this == ItemStack.a ? true : (this.item != null && this.item != Item.getItemOf(Blocks.AIR) ? (this.count <= 0 ? true : this.damage < -32768 || this.damage > '\uffff') : true);
|
|
+ if (airItem == null) {
|
|
+ airItem = Item.REGISTRY.get(new MinecraftKey("air"));
|
|
+ }
|
|
+ return this == ItemStack.a || this.item == null || this.item == airItem || (this.count <= 0 || (this.damage < -32768 || this.damage > '\uffff'));
|
|
}
|
|
+ // Paper end
|
|
|
|
public static void a(DataConverterManager dataconvertermanager) {
|
|
dataconvertermanager.a(DataConverterTypes.ITEM_INSTANCE, (DataInspector) (new DataInspectorBlockEntity()));
|
|
--
|