From cb0e3ee2815398de79d0fd6ea999b0bf012ed8af Mon Sep 17 00:00:00 2001 From: Esophose Date: Wed, 14 Aug 2019 22:03:44 -0600 Subject: [PATCH] Cache the materials... duh --- .../skyblock/utils/version/Materials.java | 25 +++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/FabledSkyBlock/Core/src/main/java/me/goodandevil/skyblock/utils/version/Materials.java b/FabledSkyBlock/Core/src/main/java/me/goodandevil/skyblock/utils/version/Materials.java index d9ead1ea..2f1c3726 100644 --- a/FabledSkyBlock/Core/src/main/java/me/goodandevil/skyblock/utils/version/Materials.java +++ b/FabledSkyBlock/Core/src/main/java/me/goodandevil/skyblock/utils/version/Materials.java @@ -1059,6 +1059,7 @@ public enum Materials { String old12Mat; int data; boolean is13Plusonly; + private Material cachedMaterial; Materials(String old13Mat, String old12Mat, int data) { this(old13Mat, old12Mat, data, false); @@ -1236,20 +1237,30 @@ public enum Materials { } public Material parseMaterial() { - if (this.isSpawner() && this != Materials.SPAWNER) - return Materials.SPAWNER.parseMaterial(); + if (this.cachedMaterial != null) + return this.cachedMaterial; + + if (this.isSpawner() && this != Materials.SPAWNER) { + this.cachedMaterial = Materials.SPAWNER.parseMaterial(); + return this.cachedMaterial; + } Material mat = Material.matchMaterial(this.toString()); - if (mat != null) - return mat; + if (mat != null) { + this.cachedMaterial = mat; + return this.cachedMaterial; + } if (old13Mat != null) { mat = Material.matchMaterial(old13Mat); - if (mat != null) - return mat; + if (mat != null) { + this.cachedMaterial = mat; + return this.cachedMaterial; + } } - return Material.matchMaterial(old12Mat); + this.cachedMaterial = Material.matchMaterial(old12Mat); + return this.cachedMaterial; } public Material getPostMaterial() {