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:
parent
655b429f0d
commit
b32dc0b727
@ -50,7 +50,7 @@ public enum MinecraftVersion {
|
|||||||
*/
|
*/
|
||||||
UNIT_TEST("Unit Test Environment");
|
UNIT_TEST("Unit Test Environment");
|
||||||
|
|
||||||
public static final MinecraftVersion[] values = values();
|
public static final MinecraftVersion[] valuesCache = values();
|
||||||
|
|
||||||
private final String name;
|
private final String name;
|
||||||
private final String prefix;
|
private final String prefix;
|
||||||
|
@ -28,13 +28,14 @@ import io.github.thebusybiscuit.slimefun4.implementation.listeners.BackpackListe
|
|||||||
*/
|
*/
|
||||||
public class PlayerBackpack {
|
public class PlayerBackpack {
|
||||||
|
|
||||||
|
private static final String CONFIG_PREFIX = "backpacks.";
|
||||||
|
|
||||||
private final PlayerProfile profile;
|
private final PlayerProfile profile;
|
||||||
private final int id;
|
private final int id;
|
||||||
private final Config cfg;
|
private final Config cfg;
|
||||||
|
|
||||||
private Inventory inventory;
|
private Inventory inventory;
|
||||||
private int size;
|
private int size;
|
||||||
private static final String CONFIG_PREFIX = "backpacks.";
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This constructor loads an existing Backpack
|
* This constructor loads an existing Backpack
|
||||||
|
@ -31,6 +31,6 @@ public enum SlimefunGuideLayout {
|
|||||||
*/
|
*/
|
||||||
CHEAT_SHEET;
|
CHEAT_SHEET;
|
||||||
|
|
||||||
public static final SlimefunGuideLayout[] values = values();
|
public static final SlimefunGuideLayout[] valuesCache = values();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -101,7 +101,7 @@ class GuideLayoutOption implements SlimefunGuideOption<SlimefunGuideLayout> {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Optional<SlimefunGuideLayout> getSelectedOption(Player p, ItemStack guide) {
|
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)) {
|
if (SlimefunUtils.isItemSimilar(guide, SlimefunGuide.getItem(layout), true, false)) {
|
||||||
return Optional.of(layout);
|
return Optional.of(layout);
|
||||||
}
|
}
|
||||||
|
@ -85,7 +85,7 @@ public abstract class SlimefunLocalization extends Localization implements Keyed
|
|||||||
protected abstract void addLanguage(@Nonnull String id, @Nonnull String texture);
|
protected abstract void addLanguage(@Nonnull String id, @Nonnull String texture);
|
||||||
|
|
||||||
protected void loadEmbeddedLanguages() {
|
protected void loadEmbeddedLanguages() {
|
||||||
for (SupportedLanguage lang : SupportedLanguage.values) {
|
for (SupportedLanguage lang : SupportedLanguage.valuesCache) {
|
||||||
if (lang.isReadyForRelease() || SlimefunPlugin.getUpdater().getBranch() != SlimefunBranch.STABLE) {
|
if (lang.isReadyForRelease() || SlimefunPlugin.getUpdater().getBranch() != SlimefunBranch.STABLE) {
|
||||||
addLanguage(lang.getLanguageId(), lang.getTexture());
|
addLanguage(lang.getLanguageId(), lang.getTexture());
|
||||||
}
|
}
|
||||||
|
@ -58,7 +58,7 @@ enum SupportedLanguage {
|
|||||||
MACEDONIAN("mk", false, "a0e0b0b5d87a855466980a101a757bcdb5f77d9f7287889f3efa998ee0472fc0"),
|
MACEDONIAN("mk", false, "a0e0b0b5d87a855466980a101a757bcdb5f77d9f7287889f3efa998ee0472fc0"),
|
||||||
TAGALOG("tl", true, "9306c0c1ce6a9c61bb42a572c49e6d0ed20e0e6b3d122cc64c339cbf78e9e937");
|
TAGALOG("tl", true, "9306c0c1ce6a9c61bb42a572c49e6d0ed20e0e6b3d122cc64c339cbf78e9e937");
|
||||||
|
|
||||||
public static final SupportedLanguage[] values = values();
|
public static final SupportedLanguage[] valuesCache = values();
|
||||||
|
|
||||||
private final String id;
|
private final String id;
|
||||||
private final boolean releaseReady;
|
private final boolean releaseReady;
|
||||||
|
@ -31,7 +31,7 @@ public enum PerformanceRating implements Predicate<Float> {
|
|||||||
HURTFUL(ChatColor.DARK_RED, 500),
|
HURTFUL(ChatColor.DARK_RED, 500),
|
||||||
BAD(ChatColor.DARK_RED, Float.MAX_VALUE);
|
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 ChatColor color;
|
||||||
private final float threshold;
|
private final float threshold;
|
||||||
|
@ -297,7 +297,7 @@ public class SlimefunProfiler {
|
|||||||
public PerformanceRating getPerformance() {
|
public PerformanceRating getPerformance() {
|
||||||
float percentage = getPercentageOfTick();
|
float percentage = getPercentageOfTick();
|
||||||
|
|
||||||
for (PerformanceRating rating : PerformanceRating.values) {
|
for (PerformanceRating rating : PerformanceRating.valuesCache) {
|
||||||
if (rating.test(percentage)) {
|
if (rating.test(percentage)) {
|
||||||
return rating;
|
return rating;
|
||||||
}
|
}
|
||||||
|
@ -318,7 +318,7 @@ public final class SlimefunPlugin extends JavaPlugin implements SlimefunAddon {
|
|||||||
String currentVersion = ReflectionUtils.getVersion();
|
String currentVersion = ReflectionUtils.getVersion();
|
||||||
|
|
||||||
if (currentVersion.startsWith("v")) {
|
if (currentVersion.startsWith("v")) {
|
||||||
for (MinecraftVersion version : MinecraftVersion.values) {
|
for (MinecraftVersion version : MinecraftVersion.valuesCache) {
|
||||||
if (version.matches(currentVersion)) {
|
if (version.matches(currentVersion)) {
|
||||||
minecraftVersion = version;
|
minecraftVersion = version;
|
||||||
return false;
|
return false;
|
||||||
@ -345,7 +345,7 @@ public final class SlimefunPlugin extends JavaPlugin implements SlimefunAddon {
|
|||||||
private Collection<String> getSupportedVersions() {
|
private Collection<String> getSupportedVersions() {
|
||||||
List<String> list = new ArrayList<>();
|
List<String> list = new ArrayList<>();
|
||||||
|
|
||||||
for (MinecraftVersion version : MinecraftVersion.values) {
|
for (MinecraftVersion version : MinecraftVersion.valuesCache) {
|
||||||
if (version != MinecraftVersion.UNKNOWN) {
|
if (version != MinecraftVersion.UNKNOWN) {
|
||||||
list.add(version.getName());
|
list.add(version.getName());
|
||||||
}
|
}
|
||||||
@ -498,7 +498,7 @@ public final class SlimefunPlugin extends JavaPlugin implements SlimefunAddon {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void loadTags() {
|
private void loadTags() {
|
||||||
for (SlimefunTag tag : SlimefunTag.values) {
|
for (SlimefunTag tag : SlimefunTag.valuesCache) {
|
||||||
try {
|
try {
|
||||||
tag.reload();
|
tag.reload();
|
||||||
}
|
}
|
||||||
|
@ -146,10 +146,10 @@ enum Instruction {
|
|||||||
});
|
});
|
||||||
|
|
||||||
private static final Map<String, Instruction> nameLookup = new HashMap<>();
|
private static final Map<String, Instruction> nameLookup = new HashMap<>();
|
||||||
public static final Instruction[] values = values();
|
public static final Instruction[] valuesCache = values();
|
||||||
|
|
||||||
static {
|
static {
|
||||||
for (Instruction instruction : values) {
|
for (Instruction instruction : valuesCache) {
|
||||||
nameLookup.put(instruction.name(), instruction);
|
nameLookup.put(instruction.name(), instruction);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -502,7 +502,7 @@ public class ProgrammableAndroid extends SlimefunItem implements InventoryBlock,
|
|||||||
protected List<Instruction> getValidScriptInstructions() {
|
protected List<Instruction> getValidScriptInstructions() {
|
||||||
List<Instruction> list = new ArrayList<>();
|
List<Instruction> list = new ArrayList<>();
|
||||||
|
|
||||||
for (Instruction part : Instruction.values) {
|
for (Instruction part : Instruction.valuesCache) {
|
||||||
if (part == Instruction.START || part == Instruction.REPEAT) {
|
if (part == Instruction.START || part == Instruction.REPEAT) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -109,7 +109,7 @@ public enum HeadTexture {
|
|||||||
IRON_GOLEM("89091d79ea0f59ef7ef94d7bba6e5f17f2f7d4572c44f90f76c4819a714"),
|
IRON_GOLEM("89091d79ea0f59ef7ef94d7bba6e5f17f2f7d4572c44f90f76c4819a714"),
|
||||||
PIGLIN_HEAD("2882af1294a74023e6919a31d1a027310f2e142afb4667d230d155e7f21dbb41");
|
PIGLIN_HEAD("2882af1294a74023e6919a31d1a027310f2e142afb4667d230d155e7f21dbb41");
|
||||||
|
|
||||||
public static final HeadTexture[] values = values();
|
public static final HeadTexture[] valuesCache = values();
|
||||||
|
|
||||||
private final String texture;
|
private final String texture;
|
||||||
|
|
||||||
@ -123,6 +123,7 @@ public enum HeadTexture {
|
|||||||
*
|
*
|
||||||
* @return The associated texture hash
|
* @return The associated texture hash
|
||||||
*/
|
*/
|
||||||
|
@Nonnull
|
||||||
public String getTexture() {
|
public String getTexture() {
|
||||||
return texture;
|
return texture;
|
||||||
}
|
}
|
||||||
@ -132,6 +133,7 @@ public enum HeadTexture {
|
|||||||
*
|
*
|
||||||
* @return A custom head {@link ItemStack}
|
* @return A custom head {@link ItemStack}
|
||||||
*/
|
*/
|
||||||
|
@Nonnull
|
||||||
public ItemStack getAsItemStack() {
|
public ItemStack getAsItemStack() {
|
||||||
return SlimefunUtils.getCustomHead(getTexture());
|
return SlimefunUtils.getCustomHead(getTexture());
|
||||||
}
|
}
|
||||||
|
@ -177,10 +177,10 @@ public enum SlimefunTag implements Tag<Material> {
|
|||||||
CAVEMAN_TALISMAN_TRIGGERS;
|
CAVEMAN_TALISMAN_TRIGGERS;
|
||||||
|
|
||||||
private static final Map<String, SlimefunTag> nameLookup = new HashMap<>();
|
private static final Map<String, SlimefunTag> nameLookup = new HashMap<>();
|
||||||
public static final SlimefunTag[] values = values();
|
public static final SlimefunTag[] valuesCache = values();
|
||||||
|
|
||||||
static {
|
static {
|
||||||
for (SlimefunTag tag : values) {
|
for (SlimefunTag tag : valuesCache) {
|
||||||
nameLookup.put(tag.name(), tag);
|
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
|
@Nonnull
|
||||||
@Override
|
@Override
|
||||||
public NamespacedKey getKey() {
|
public NamespacedKey getKey() {
|
||||||
|
@ -55,15 +55,6 @@ class TestClimbingPick implements SlimefunItemTest<ClimbingPick> {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ClimbingPick registerSlimefunItem(SlimefunPlugin plugin, String id) {
|
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);
|
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]) {
|
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 {
|
private static Stream<Arguments> getStrongSurfaces() throws TagMisconfigurationException {
|
||||||
TestUtilities.registerDefaultTags(server);
|
TestUtilities.registerDefaultTags(server);
|
||||||
SlimefunTag.CLIMBING_PICK_STRONG_SURFACES.reload();
|
SlimefunTag.reloadAll();
|
||||||
return SlimefunTag.CLIMBING_PICK_STRONG_SURFACES.getValues().stream().map(Arguments::of);
|
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 {
|
private static Stream<Arguments> getWeakSurfaces() throws TagMisconfigurationException {
|
||||||
TestUtilities.registerDefaultTags(server);
|
TestUtilities.registerDefaultTags(server);
|
||||||
SlimefunTag.CLIMBING_PICK_WEAK_SURFACES.reload();
|
SlimefunTag.reloadAll();
|
||||||
return SlimefunTag.CLIMBING_PICK_WEAK_SURFACES.getValues().stream().map(Arguments::of);
|
return SlimefunTag.CLIMBING_PICK_WEAK_SURFACES.getValues().stream().map(Arguments::of);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -55,10 +55,7 @@ class TestBackpackListener {
|
|||||||
server = MockBukkit.mock();
|
server = MockBukkit.mock();
|
||||||
TestUtilities.registerDefaultTags(server);
|
TestUtilities.registerDefaultTags(server);
|
||||||
plugin = MockBukkit.load(SlimefunPlugin.class);
|
plugin = MockBukkit.load(SlimefunPlugin.class);
|
||||||
|
SlimefunTag.reloadAll();
|
||||||
for (SlimefunTag tag : SlimefunTag.values) {
|
|
||||||
tag.reload();
|
|
||||||
}
|
|
||||||
|
|
||||||
listener = new BackpackListener();
|
listener = new BackpackListener();
|
||||||
listener.register(plugin);
|
listener.register(plugin);
|
||||||
|
@ -46,9 +46,7 @@ class TestSlimefunTags {
|
|||||||
@Test
|
@Test
|
||||||
@DisplayName("Test for infinite loops with Slimefun Tags")
|
@DisplayName("Test for infinite loops with Slimefun Tags")
|
||||||
void testForInfiniteLoops() throws TagMisconfigurationException {
|
void testForInfiniteLoops() throws TagMisconfigurationException {
|
||||||
for (SlimefunTag tag : SlimefunTag.values()) {
|
SlimefunTag.reloadAll();
|
||||||
tag.reload();
|
|
||||||
}
|
|
||||||
|
|
||||||
for (SlimefunTag tag : SlimefunTag.values()) {
|
for (SlimefunTag tag : SlimefunTag.values()) {
|
||||||
assertNotCyclic(tag);
|
assertNotCyclic(tag);
|
||||||
@ -58,9 +56,7 @@ class TestSlimefunTags {
|
|||||||
@Test
|
@Test
|
||||||
@DisplayName("Test SlimefunTag#isTagged()")
|
@DisplayName("Test SlimefunTag#isTagged()")
|
||||||
void testIsTagged() throws TagMisconfigurationException {
|
void testIsTagged() throws TagMisconfigurationException {
|
||||||
for (SlimefunTag tag : SlimefunTag.values()) {
|
SlimefunTag.reloadAll();
|
||||||
tag.reload();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Direct inclusion
|
// Direct inclusion
|
||||||
Assertions.assertTrue(SlimefunTag.SENSITIVE_MATERIALS.isTagged(Material.CAKE));
|
Assertions.assertTrue(SlimefunTag.SENSITIVE_MATERIALS.isTagged(Material.CAKE));
|
||||||
@ -75,9 +71,7 @@ class TestSlimefunTags {
|
|||||||
@Test
|
@Test
|
||||||
@DisplayName("Test SlimefunTag#toArray()")
|
@DisplayName("Test SlimefunTag#toArray()")
|
||||||
void testToArray() throws TagMisconfigurationException {
|
void testToArray() throws TagMisconfigurationException {
|
||||||
for (SlimefunTag tag : SlimefunTag.values()) {
|
SlimefunTag.reloadAll();
|
||||||
tag.reload();
|
|
||||||
}
|
|
||||||
|
|
||||||
for (SlimefunTag tag : SlimefunTag.values()) {
|
for (SlimefunTag tag : SlimefunTag.values()) {
|
||||||
Set<Material> values = tag.getValues();
|
Set<Material> values = tag.getValues();
|
||||||
@ -88,9 +82,7 @@ class TestSlimefunTags {
|
|||||||
@Test
|
@Test
|
||||||
@DisplayName("Test SlimefunTag#getValues()")
|
@DisplayName("Test SlimefunTag#getValues()")
|
||||||
void testGetValues() throws TagMisconfigurationException {
|
void testGetValues() throws TagMisconfigurationException {
|
||||||
for (SlimefunTag tag : SlimefunTag.values()) {
|
SlimefunTag.reloadAll();
|
||||||
tag.reload();
|
|
||||||
}
|
|
||||||
|
|
||||||
for (SlimefunTag tag : SlimefunTag.values()) {
|
for (SlimefunTag tag : SlimefunTag.values()) {
|
||||||
Set<Material> values = tag.getValues();
|
Set<Material> values = tag.getValues();
|
||||||
@ -119,8 +111,6 @@ class TestSlimefunTags {
|
|||||||
Assertions.assertEquals(SlimefunTag.SHULKER_BOXES, SlimefunTag.getTag("SHULKER_BOXES"));
|
Assertions.assertEquals(SlimefunTag.SHULKER_BOXES, SlimefunTag.getTag("SHULKER_BOXES"));
|
||||||
Assertions.assertNull(SlimefunTag.getTag("hello"));
|
Assertions.assertNull(SlimefunTag.getTag("hello"));
|
||||||
Assertions.assertThrows(IllegalArgumentException.class, () -> SlimefunTag.getTag(null));
|
Assertions.assertThrows(IllegalArgumentException.class, () -> SlimefunTag.getTag(null));
|
||||||
|
|
||||||
Assertions.assertArrayEquals(SlimefunTag.values(), SlimefunTag.values);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void assertNotCyclic(@Nonnull SlimefunTag tag) {
|
private void assertNotCyclic(@Nonnull SlimefunTag tag) {
|
||||||
|
@ -16,7 +16,7 @@ class TestHeadTextures {
|
|||||||
void testForDuplicates() {
|
void testForDuplicates() {
|
||||||
Set<String> textures = new HashSet<>();
|
Set<String> textures = new HashSet<>();
|
||||||
|
|
||||||
for (HeadTexture head : HeadTexture.values) {
|
for (HeadTexture head : HeadTexture.valuesCache) {
|
||||||
String texture = head.getTexture();
|
String texture = head.getTexture();
|
||||||
Assertions.assertNotNull(texture);
|
Assertions.assertNotNull(texture);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user