From b32dc0b72784f082bc97c9885da9e6a91db54900 Mon Sep 17 00:00:00 2001 From: TheBusyBiscuit Date: Sun, 4 Oct 2020 13:40:41 +0200 Subject: [PATCH] @poma123 for the rescue --- .../slimefun4/api/MinecraftVersion.java | 2 +- .../slimefun4/api/player/PlayerBackpack.java | 3 ++- .../core/guide/SlimefunGuideLayout.java | 2 +- .../core/guide/options/GuideLayoutOption.java | 2 +- .../localization/SlimefunLocalization.java | 2 +- .../localization/SupportedLanguage.java | 2 +- .../services/profiler/PerformanceRating.java | 2 +- .../services/profiler/SlimefunProfiler.java | 2 +- .../implementation/SlimefunPlugin.java | 6 +++--- .../items/androids/Instruction.java | 4 ++-- .../items/androids/ProgrammableAndroid.java | 2 +- .../slimefun4/utils/HeadTexture.java | 4 +++- .../slimefun4/utils/tags/SlimefunTag.java | 12 +++++++++--- .../tools/TestClimbingPick.java | 13 ++----------- .../tests/listeners/TestBackpackListener.java | 5 +---- .../testing/tests/tags/TestSlimefunTags.java | 18 ++++-------------- .../testing/tests/utils/TestHeadTextures.java | 2 +- 17 files changed, 35 insertions(+), 48 deletions(-) diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/api/MinecraftVersion.java b/src/main/java/io/github/thebusybiscuit/slimefun4/api/MinecraftVersion.java index c4c8c0dd5..9cb5793b9 100644 --- a/src/main/java/io/github/thebusybiscuit/slimefun4/api/MinecraftVersion.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/api/MinecraftVersion.java @@ -50,7 +50,7 @@ public enum MinecraftVersion { */ UNIT_TEST("Unit Test Environment"); - public static final MinecraftVersion[] values = values(); + public static final MinecraftVersion[] valuesCache = values(); private final String name; private final String prefix; diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/api/player/PlayerBackpack.java b/src/main/java/io/github/thebusybiscuit/slimefun4/api/player/PlayerBackpack.java index e0f2086f2..336a6bfbe 100644 --- a/src/main/java/io/github/thebusybiscuit/slimefun4/api/player/PlayerBackpack.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/api/player/PlayerBackpack.java @@ -28,13 +28,14 @@ import io.github.thebusybiscuit.slimefun4.implementation.listeners.BackpackListe */ public class PlayerBackpack { + private static final String CONFIG_PREFIX = "backpacks."; + private final PlayerProfile profile; private final int id; private final Config cfg; private Inventory inventory; private int size; - private static final String CONFIG_PREFIX = "backpacks."; /** * This constructor loads an existing Backpack diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/core/guide/SlimefunGuideLayout.java b/src/main/java/io/github/thebusybiscuit/slimefun4/core/guide/SlimefunGuideLayout.java index 278352c9d..562fe5981 100644 --- a/src/main/java/io/github/thebusybiscuit/slimefun4/core/guide/SlimefunGuideLayout.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/core/guide/SlimefunGuideLayout.java @@ -31,6 +31,6 @@ public enum SlimefunGuideLayout { */ CHEAT_SHEET; - public static final SlimefunGuideLayout[] values = values(); + public static final SlimefunGuideLayout[] valuesCache = values(); } diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/core/guide/options/GuideLayoutOption.java b/src/main/java/io/github/thebusybiscuit/slimefun4/core/guide/options/GuideLayoutOption.java index f30704905..de7f10de4 100644 --- a/src/main/java/io/github/thebusybiscuit/slimefun4/core/guide/options/GuideLayoutOption.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/core/guide/options/GuideLayoutOption.java @@ -101,7 +101,7 @@ class GuideLayoutOption implements SlimefunGuideOption { @Override public Optional getSelectedOption(Player p, ItemStack guide) { - for (SlimefunGuideLayout layout : SlimefunGuideLayout.values) { + for (SlimefunGuideLayout layout : SlimefunGuideLayout.valuesCache) { if (SlimefunUtils.isItemSimilar(guide, SlimefunGuide.getItem(layout), true, false)) { return Optional.of(layout); } diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/core/services/localization/SlimefunLocalization.java b/src/main/java/io/github/thebusybiscuit/slimefun4/core/services/localization/SlimefunLocalization.java index a4e21ba01..bc14a57b3 100644 --- a/src/main/java/io/github/thebusybiscuit/slimefun4/core/services/localization/SlimefunLocalization.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/core/services/localization/SlimefunLocalization.java @@ -85,7 +85,7 @@ public abstract class SlimefunLocalization extends Localization implements Keyed protected abstract void addLanguage(@Nonnull String id, @Nonnull String texture); protected void loadEmbeddedLanguages() { - for (SupportedLanguage lang : SupportedLanguage.values) { + for (SupportedLanguage lang : SupportedLanguage.valuesCache) { if (lang.isReadyForRelease() || SlimefunPlugin.getUpdater().getBranch() != SlimefunBranch.STABLE) { addLanguage(lang.getLanguageId(), lang.getTexture()); } diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/core/services/localization/SupportedLanguage.java b/src/main/java/io/github/thebusybiscuit/slimefun4/core/services/localization/SupportedLanguage.java index 76287f772..a6381a059 100644 --- a/src/main/java/io/github/thebusybiscuit/slimefun4/core/services/localization/SupportedLanguage.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/core/services/localization/SupportedLanguage.java @@ -58,7 +58,7 @@ enum SupportedLanguage { MACEDONIAN("mk", false, "a0e0b0b5d87a855466980a101a757bcdb5f77d9f7287889f3efa998ee0472fc0"), TAGALOG("tl", true, "9306c0c1ce6a9c61bb42a572c49e6d0ed20e0e6b3d122cc64c339cbf78e9e937"); - public static final SupportedLanguage[] values = values(); + public static final SupportedLanguage[] valuesCache = values(); private final String id; private final boolean releaseReady; diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/core/services/profiler/PerformanceRating.java b/src/main/java/io/github/thebusybiscuit/slimefun4/core/services/profiler/PerformanceRating.java index b03191c6c..b1417b523 100644 --- a/src/main/java/io/github/thebusybiscuit/slimefun4/core/services/profiler/PerformanceRating.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/core/services/profiler/PerformanceRating.java @@ -31,7 +31,7 @@ public enum PerformanceRating implements Predicate { HURTFUL(ChatColor.DARK_RED, 500), BAD(ChatColor.DARK_RED, Float.MAX_VALUE); - public static final PerformanceRating[] values = values(); + public static final PerformanceRating[] valuesCache = values(); private final ChatColor color; private final float threshold; diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/core/services/profiler/SlimefunProfiler.java b/src/main/java/io/github/thebusybiscuit/slimefun4/core/services/profiler/SlimefunProfiler.java index b69118d89..ae3925596 100644 --- a/src/main/java/io/github/thebusybiscuit/slimefun4/core/services/profiler/SlimefunProfiler.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/core/services/profiler/SlimefunProfiler.java @@ -297,7 +297,7 @@ public class SlimefunProfiler { public PerformanceRating getPerformance() { float percentage = getPercentageOfTick(); - for (PerformanceRating rating : PerformanceRating.values) { + for (PerformanceRating rating : PerformanceRating.valuesCache) { if (rating.test(percentage)) { return rating; } diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/SlimefunPlugin.java b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/SlimefunPlugin.java index b96b58e0f..20617921b 100644 --- a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/SlimefunPlugin.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/SlimefunPlugin.java @@ -318,7 +318,7 @@ public final class SlimefunPlugin extends JavaPlugin implements SlimefunAddon { String currentVersion = ReflectionUtils.getVersion(); if (currentVersion.startsWith("v")) { - for (MinecraftVersion version : MinecraftVersion.values) { + for (MinecraftVersion version : MinecraftVersion.valuesCache) { if (version.matches(currentVersion)) { minecraftVersion = version; return false; @@ -345,7 +345,7 @@ public final class SlimefunPlugin extends JavaPlugin implements SlimefunAddon { private Collection getSupportedVersions() { List list = new ArrayList<>(); - for (MinecraftVersion version : MinecraftVersion.values) { + for (MinecraftVersion version : MinecraftVersion.valuesCache) { if (version != MinecraftVersion.UNKNOWN) { list.add(version.getName()); } @@ -498,7 +498,7 @@ public final class SlimefunPlugin extends JavaPlugin implements SlimefunAddon { } private void loadTags() { - for (SlimefunTag tag : SlimefunTag.values) { + for (SlimefunTag tag : SlimefunTag.valuesCache) { try { tag.reload(); } diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/androids/Instruction.java b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/androids/Instruction.java index 429821dc4..4a2083b05 100644 --- a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/androids/Instruction.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/androids/Instruction.java @@ -146,10 +146,10 @@ enum Instruction { }); private static final Map nameLookup = new HashMap<>(); - public static final Instruction[] values = values(); + public static final Instruction[] valuesCache = values(); static { - for (Instruction instruction : values) { + for (Instruction instruction : valuesCache) { nameLookup.put(instruction.name(), instruction); } } diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/androids/ProgrammableAndroid.java b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/androids/ProgrammableAndroid.java index ea61d38f6..b4485b525 100644 --- a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/androids/ProgrammableAndroid.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/androids/ProgrammableAndroid.java @@ -502,7 +502,7 @@ public class ProgrammableAndroid extends SlimefunItem implements InventoryBlock, protected List getValidScriptInstructions() { List list = new ArrayList<>(); - for (Instruction part : Instruction.values) { + for (Instruction part : Instruction.valuesCache) { if (part == Instruction.START || part == Instruction.REPEAT) { continue; } diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/utils/HeadTexture.java b/src/main/java/io/github/thebusybiscuit/slimefun4/utils/HeadTexture.java index 019979dfb..8db1b1e07 100644 --- a/src/main/java/io/github/thebusybiscuit/slimefun4/utils/HeadTexture.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/utils/HeadTexture.java @@ -109,7 +109,7 @@ public enum HeadTexture { IRON_GOLEM("89091d79ea0f59ef7ef94d7bba6e5f17f2f7d4572c44f90f76c4819a714"), PIGLIN_HEAD("2882af1294a74023e6919a31d1a027310f2e142afb4667d230d155e7f21dbb41"); - public static final HeadTexture[] values = values(); + public static final HeadTexture[] valuesCache = values(); private final String texture; @@ -123,6 +123,7 @@ public enum HeadTexture { * * @return The associated texture hash */ + @Nonnull public String getTexture() { return texture; } @@ -132,6 +133,7 @@ public enum HeadTexture { * * @return A custom head {@link ItemStack} */ + @Nonnull public ItemStack getAsItemStack() { return SlimefunUtils.getCustomHead(getTexture()); } diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/utils/tags/SlimefunTag.java b/src/main/java/io/github/thebusybiscuit/slimefun4/utils/tags/SlimefunTag.java index ebbd4e110..16a4069cb 100644 --- a/src/main/java/io/github/thebusybiscuit/slimefun4/utils/tags/SlimefunTag.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/utils/tags/SlimefunTag.java @@ -164,7 +164,7 @@ public enum SlimefunTag implements Tag { * All weak materials which the {@link ClimbingPick} is able to climb. */ CLIMBING_PICK_WEAK_SURFACES, - + /** * This {@link SlimefunTag} holds all surfaces for the {@link ClimbingPick}. * This is an aggregation of {@code CLIMBING_PICK_STRONG_SURFACES} and {@code CLIMBING_PICK_WEAK_SURFACES} @@ -177,10 +177,10 @@ public enum SlimefunTag implements Tag { CAVEMAN_TALISMAN_TRIGGERS; private static final Map nameLookup = new HashMap<>(); - public static final SlimefunTag[] values = values(); + public static final SlimefunTag[] valuesCache = values(); static { - for (SlimefunTag tag : values) { + for (SlimefunTag tag : valuesCache) { nameLookup.put(tag.name(), tag); } } @@ -214,6 +214,12 @@ public enum SlimefunTag implements Tag { }); } + public static void reloadAll() throws TagMisconfigurationException { + for (SlimefunTag tag : valuesCache) { + tag.reload(); + } + } + @Nonnull @Override public NamespacedKey getKey() { diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/testing/tests/items/implementations/tools/TestClimbingPick.java b/src/test/java/io/github/thebusybiscuit/slimefun4/testing/tests/items/implementations/tools/TestClimbingPick.java index 6d77a6c65..4213c1649 100644 --- a/src/test/java/io/github/thebusybiscuit/slimefun4/testing/tests/items/implementations/tools/TestClimbingPick.java +++ b/src/test/java/io/github/thebusybiscuit/slimefun4/testing/tests/items/implementations/tools/TestClimbingPick.java @@ -55,15 +55,6 @@ class TestClimbingPick implements SlimefunItemTest { @Override public ClimbingPick registerSlimefunItem(SlimefunPlugin plugin, String id) { - try { - TestUtilities.registerDefaultTags(server); - SlimefunTag.CLIMBING_PICK_WEAK_SURFACES.reload(); - SlimefunTag.CLIMBING_PICK_STRONG_SURFACES.reload(); - } - catch (TagMisconfigurationException e) { - Assertions.fail(e); - } - SlimefunItemStack item = new SlimefunItemStack(id, Material.IRON_PICKAXE, "&5Test Pick", id); ClimbingPick pick = new ClimbingPick(TestUtilities.getCategory(plugin, "climbing_pick"), item, RecipeType.NULL, new ItemStack[9]) { @@ -93,7 +84,7 @@ class TestClimbingPick implements SlimefunItemTest { private static Stream getStrongSurfaces() throws TagMisconfigurationException { TestUtilities.registerDefaultTags(server); - SlimefunTag.CLIMBING_PICK_STRONG_SURFACES.reload(); + SlimefunTag.reloadAll(); return SlimefunTag.CLIMBING_PICK_STRONG_SURFACES.getValues().stream().map(Arguments::of); } @@ -111,7 +102,7 @@ class TestClimbingPick implements SlimefunItemTest { private static Stream getWeakSurfaces() throws TagMisconfigurationException { TestUtilities.registerDefaultTags(server); - SlimefunTag.CLIMBING_PICK_WEAK_SURFACES.reload(); + SlimefunTag.reloadAll(); return SlimefunTag.CLIMBING_PICK_WEAK_SURFACES.getValues().stream().map(Arguments::of); } diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/testing/tests/listeners/TestBackpackListener.java b/src/test/java/io/github/thebusybiscuit/slimefun4/testing/tests/listeners/TestBackpackListener.java index d798b1677..ed9d3014e 100644 --- a/src/test/java/io/github/thebusybiscuit/slimefun4/testing/tests/listeners/TestBackpackListener.java +++ b/src/test/java/io/github/thebusybiscuit/slimefun4/testing/tests/listeners/TestBackpackListener.java @@ -55,10 +55,7 @@ class TestBackpackListener { server = MockBukkit.mock(); TestUtilities.registerDefaultTags(server); plugin = MockBukkit.load(SlimefunPlugin.class); - - for (SlimefunTag tag : SlimefunTag.values) { - tag.reload(); - } + SlimefunTag.reloadAll(); listener = new BackpackListener(); listener.register(plugin); diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/testing/tests/tags/TestSlimefunTags.java b/src/test/java/io/github/thebusybiscuit/slimefun4/testing/tests/tags/TestSlimefunTags.java index 5dc4b454c..7e4b760c9 100644 --- a/src/test/java/io/github/thebusybiscuit/slimefun4/testing/tests/tags/TestSlimefunTags.java +++ b/src/test/java/io/github/thebusybiscuit/slimefun4/testing/tests/tags/TestSlimefunTags.java @@ -46,9 +46,7 @@ class TestSlimefunTags { @Test @DisplayName("Test for infinite loops with Slimefun Tags") void testForInfiniteLoops() throws TagMisconfigurationException { - for (SlimefunTag tag : SlimefunTag.values()) { - tag.reload(); - } + SlimefunTag.reloadAll(); for (SlimefunTag tag : SlimefunTag.values()) { assertNotCyclic(tag); @@ -58,9 +56,7 @@ class TestSlimefunTags { @Test @DisplayName("Test SlimefunTag#isTagged()") void testIsTagged() throws TagMisconfigurationException { - for (SlimefunTag tag : SlimefunTag.values()) { - tag.reload(); - } + SlimefunTag.reloadAll(); // Direct inclusion Assertions.assertTrue(SlimefunTag.SENSITIVE_MATERIALS.isTagged(Material.CAKE)); @@ -75,9 +71,7 @@ class TestSlimefunTags { @Test @DisplayName("Test SlimefunTag#toArray()") void testToArray() throws TagMisconfigurationException { - for (SlimefunTag tag : SlimefunTag.values()) { - tag.reload(); - } + SlimefunTag.reloadAll(); for (SlimefunTag tag : SlimefunTag.values()) { Set values = tag.getValues(); @@ -88,9 +82,7 @@ class TestSlimefunTags { @Test @DisplayName("Test SlimefunTag#getValues()") void testGetValues() throws TagMisconfigurationException { - for (SlimefunTag tag : SlimefunTag.values()) { - tag.reload(); - } + SlimefunTag.reloadAll(); for (SlimefunTag tag : SlimefunTag.values()) { Set values = tag.getValues(); @@ -119,8 +111,6 @@ class TestSlimefunTags { Assertions.assertEquals(SlimefunTag.SHULKER_BOXES, SlimefunTag.getTag("SHULKER_BOXES")); Assertions.assertNull(SlimefunTag.getTag("hello")); Assertions.assertThrows(IllegalArgumentException.class, () -> SlimefunTag.getTag(null)); - - Assertions.assertArrayEquals(SlimefunTag.values(), SlimefunTag.values); } private void assertNotCyclic(@Nonnull SlimefunTag tag) { diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/testing/tests/utils/TestHeadTextures.java b/src/test/java/io/github/thebusybiscuit/slimefun4/testing/tests/utils/TestHeadTextures.java index ecaaa4368..601d0d335 100644 --- a/src/test/java/io/github/thebusybiscuit/slimefun4/testing/tests/utils/TestHeadTextures.java +++ b/src/test/java/io/github/thebusybiscuit/slimefun4/testing/tests/utils/TestHeadTextures.java @@ -16,7 +16,7 @@ class TestHeadTextures { void testForDuplicates() { Set textures = new HashSet<>(); - for (HeadTexture head : HeadTexture.values) { + for (HeadTexture head : HeadTexture.valuesCache) { String texture = head.getTexture(); Assertions.assertNotNull(texture);