1
mirror of https://github.com/StarWishsama/Slimefun4.git synced 2024-09-20 03:35:51 +00:00

@poma123 for the rescue

This commit is contained in:
TheBusyBiscuit 2020-10-04 13:40:41 +02:00
parent 655b429f0d
commit b32dc0b727
17 changed files with 35 additions and 48 deletions

View File

@ -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;

View File

@ -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

View File

@ -31,6 +31,6 @@ public enum SlimefunGuideLayout {
*/
CHEAT_SHEET;
public static final SlimefunGuideLayout[] values = values();
public static final SlimefunGuideLayout[] valuesCache = values();
}

View File

@ -101,7 +101,7 @@ class GuideLayoutOption implements SlimefunGuideOption<SlimefunGuideLayout> {
@Override
public Optional<SlimefunGuideLayout> 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);
}

View File

@ -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());
}

View File

@ -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;

View File

@ -31,7 +31,7 @@ public enum PerformanceRating implements Predicate<Float> {
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;

View File

@ -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;
}

View File

@ -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<String> getSupportedVersions() {
List<String> 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();
}

View File

@ -146,10 +146,10 @@ enum Instruction {
});
private static final Map<String, Instruction> 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);
}
}

View File

@ -502,7 +502,7 @@ public class ProgrammableAndroid extends SlimefunItem implements InventoryBlock,
protected List<Instruction> getValidScriptInstructions() {
List<Instruction> list = new ArrayList<>();
for (Instruction part : Instruction.values) {
for (Instruction part : Instruction.valuesCache) {
if (part == Instruction.START || part == Instruction.REPEAT) {
continue;
}

View File

@ -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());
}

View File

@ -164,7 +164,7 @@ public enum SlimefunTag implements Tag<Material> {
* All <strong>weak</strong> 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<Material> {
CAVEMAN_TALISMAN_TRIGGERS;
private static final Map<String, SlimefunTag> 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<Material> {
});
}
public static void reloadAll() throws TagMisconfigurationException {
for (SlimefunTag tag : valuesCache) {
tag.reload();
}
}
@Nonnull
@Override
public NamespacedKey getKey() {

View File

@ -55,15 +55,6 @@ class TestClimbingPick implements SlimefunItemTest<ClimbingPick> {
@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<ClimbingPick> {
private static Stream<Arguments> 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<ClimbingPick> {
private static Stream<Arguments> 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);
}

View File

@ -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);

View File

@ -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<Material> 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<Material> 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) {

View File

@ -16,7 +16,7 @@ class TestHeadTextures {
void testForDuplicates() {
Set<String> textures = new HashSet<>();
for (HeadTexture head : HeadTexture.values) {
for (HeadTexture head : HeadTexture.valuesCache) {
String texture = head.getTexture();
Assertions.assertNotNull(texture);