diff options
| author | NopoTheGamer <40329022+NopoTheGamer@users.noreply.github.com> | 2024-08-04 01:51:14 +1000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-08-03 17:51:14 +0200 |
| commit | 2b2f59ef37e93f11a70a44bc83d81ac8d9b64381 (patch) | |
| tree | 2a2bcd45b0d54ef3963030c149d973d726960e77 /src/main/java/io/github/moulberry/notenoughupdates/NEUOverlay.java | |
| parent | 24ff8316f1b43db4dca47bb1fba529e69d0d72df (diff) | |
| download | notenoughupdates-2b2f59ef37e93f11a70a44bc83d81ac8d9b64381.tar.gz notenoughupdates-2b2f59ef37e93f11a70a44bc83d81ac8d9b64381.tar.bz2 notenoughupdates-2b2f59ef37e93f11a70a44bc83d81ac8d9b64381.zip | |
Fix performance when NEU deals with item stacks (#1271)
Diffstat (limited to 'src/main/java/io/github/moulberry/notenoughupdates/NEUOverlay.java')
| -rw-r--r-- | src/main/java/io/github/moulberry/notenoughupdates/NEUOverlay.java | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/NEUOverlay.java b/src/main/java/io/github/moulberry/notenoughupdates/NEUOverlay.java index 77cc2cab..1a56bf1a 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/NEUOverlay.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/NEUOverlay.java @@ -568,7 +568,7 @@ public class NEUOverlay extends Gui { extraScale = 1.3f; } else if (manager.getItemInformation().containsKey(display)) { - render = manager.jsonToStack(manager.getItemInformation().get(display), true, true); + render = manager.jsonToStack(manager.getItemInformation().get(display), true, false); } else { Item item = Item.itemRegistry.getObject(new ResourceLocation(display.toLowerCase(Locale.ROOT))); if (item != null) { @@ -2270,7 +2270,7 @@ public class NEUOverlay extends Gui { JsonObject json = tooltipToDisplay.get(); if (json != null) { - ItemStack stack = manager.jsonToStack(json); + ItemStack stack = manager.jsonToStack(json, false, true); { NBTTagCompound tag = stack.getTagCompound(); tag.setBoolean("DisablePetExp", true); @@ -2443,10 +2443,15 @@ public class NEUOverlay extends Gui { if (json == null) { return; } - ItemStack stack = manager.jsonToStack(json, true, true, false); - if (stack == null || !stack.hasEffect()) { - return; + boolean hasEnch = false; + if (json.has("nbttag")) { + String jsonString = json.get("nbttag").getAsJsonPrimitive().getAsString(); + // scuffed way of doing it but improves performance significantly over the old method + if (jsonString.contains("ench:[") || jsonString.contains("CustomPotionEffects:[")) { + hasEnch = true; + } } + if (!hasEnch) return; GlStateManager.pushMatrix(); GlStateManager.enableRescaleNormal(); @@ -2601,7 +2606,7 @@ public class NEUOverlay extends Gui { renderEntity(x + ITEM_SIZE / 2, y + ITEM_SIZE, scale, name, entities); } else { if (!items) return; - ItemStack stack = manager.jsonToStack(json, true, true, false); + ItemStack stack = manager.jsonToStack(json, true, false, false); if (stack != null) { if (glint) { Utils.drawItemStack(stack, x, y); |
