Skip to content

Commit e3f16c6

Browse files
committed
Better getMap method and compile fixes
1 parent 4d1a163 commit e3f16c6

File tree

2 files changed

+15
-10
lines changed

2 files changed

+15
-10
lines changed

Towny/src/main/java/com/palmergames/bukkit/towny/TownySettings.java

+8-4
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
import org.bukkit.NamespacedKey;
3939
import org.bukkit.Registry;
4040
import org.bukkit.Tag;
41+
import org.bukkit.configuration.ConfigurationSection;
4142
import org.bukkit.entity.EntityType;
4243
import org.jetbrains.annotations.ApiStatus;
4344
import org.jetbrains.annotations.NotNull;
@@ -654,9 +655,12 @@ public static long getMillis(ConfigNodes node) {
654655
public static Map<String, String> getMap(ConfigNodes node) {
655656
final Map<String, String> map = new HashMap<>();
656657

657-
for (final Map<?, ?> generic : config.getMapList(node.getRoot()))
658-
for (Map.Entry<?, ?> entry : generic.entrySet())
659-
map.put(entry.getKey().toString(), entry.getValue().toString());
658+
final ConfigurationSection section = config.getConfigurationSection(node.getRoot());
659+
if (section == null)
660+
return map;
661+
662+
for (String key : section.getKeys(false))
663+
map.put(key, section.getString(key));
660664

661665
return map;
662666
}
@@ -1145,7 +1149,7 @@ private static <T extends Keyed, F extends AbstractRegistryList<T>> boolean chec
11451149
return true;
11461150
}
11471151

1148-
private static final List<String> REGISTRY_LIST_PACKAGES = List.of(
1152+
private static final List<String> REGISTRY_LIST_PACKAGES = Arrays.asList(
11491153
"org.bukkit.entity",
11501154
"org.bukkit.entity.minecart",
11511155
"org.bukkit.block.data",

Towny/src/test/java/com/palmergames/bukkit/towny/test/RegistryListTests.java

+7-6
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,14 @@
1010
import org.junit.jupiter.api.BeforeAll;
1111
import org.junit.jupiter.api.Test;
1212

13+
import java.util.Arrays;
1314
import java.util.HashSet;
14-
import java.util.List;
1515
import java.util.Set;
1616

1717
import static org.bukkit.Material.*;
1818
import static org.junit.jupiter.api.Assertions.*;
1919

20+
@SuppressWarnings("ArraysAsListWithZeroOrOneArgument")
2021
public class RegistryListTests {
2122

2223
@BeforeAll
@@ -44,19 +45,19 @@ void testNothingAddedToTheBuilderGivesEverything() {
4445

4546
@Test
4647
void testCustomRegistryListBuilderClassNames() {
47-
EntityLists built = (EntityLists) TownySettings.constructRegistryList(EntityLists.newBuilder(), Tag.REGISTRY_ENTITY_TYPES, List.of("c:Animals"), EntityType::getEntityClass);
48+
EntityLists built = (EntityLists) TownySettings.constructRegistryList(EntityLists.newBuilder(), Tag.REGISTRY_ENTITY_TYPES, Arrays.asList("c:Animals"), EntityType::getEntityClass);
4849
assertEquals(built.tagged(), EntityLists.ANIMALS.tagged());
4950

50-
Set<Material> expected = new HashSet<>(Set.of(WEEPING_VINES, NETHER_WART, FROSTED_ICE, SWEET_BERRY_BUSH, CACTUS, COCOA, CAVE_VINES, PITCHER_CROP, BEETROOTS, SUGAR_CANE, CHORUS_FLOWER, FIRE, BAMBOO, POTATOES, MELON_STEM, CARROTS, TORCHFLOWER_CROP, WHEAT, MANGROVE_PROPAGULE, KELP, TWISTING_VINES, PUMPKIN_STEM));
51-
ItemLists list = (ItemLists) TownySettings.constructRegistryList(ItemLists.newBuilder(), Tag.REGISTRY_BLOCKS, List.of("c:org.bukkit.block.data.Ageable"), type -> type.data);
51+
Set<Material> expected = new HashSet<>(Arrays.asList(WEEPING_VINES, NETHER_WART, FROSTED_ICE, SWEET_BERRY_BUSH, CACTUS, COCOA, CAVE_VINES, PITCHER_CROP, BEETROOTS, SUGAR_CANE, CHORUS_FLOWER, FIRE, BAMBOO, POTATOES, MELON_STEM, CARROTS, TORCHFLOWER_CROP, WHEAT, MANGROVE_PROPAGULE, KELP, TWISTING_VINES, PUMPKIN_STEM));
52+
ItemLists list = (ItemLists) TownySettings.constructRegistryList(ItemLists.newBuilder(), Tag.REGISTRY_BLOCKS, Arrays.asList("c:org.bukkit.block.data.Ageable"), type -> type.data);
5253
assertEquals(expected, list.tagged());
5354

5455
expected.remove(WEEPING_VINES);
55-
list = (ItemLists) TownySettings.constructRegistryList(ItemLists.newBuilder(), Tag.REGISTRY_BLOCKS, List.of("c:org.bukkit.block.data.Ageable", "-weeping_vines"), type -> type.data);
56+
list = (ItemLists) TownySettings.constructRegistryList(ItemLists.newBuilder(), Tag.REGISTRY_BLOCKS, Arrays.asList("c:org.bukkit.block.data.Ageable", "-weeping_vines"), type -> type.data);
5657
assertEquals(expected, list.tagged());
5758

5859
expected.add(STONE);
59-
list = (ItemLists) TownySettings.constructRegistryList(ItemLists.newBuilder(), Tag.REGISTRY_BLOCKS, List.of("c:org.bukkit.block.data.Ageable", "-weeping_vines", "+stone"), type -> type.data);
60+
list = (ItemLists) TownySettings.constructRegistryList(ItemLists.newBuilder(), Tag.REGISTRY_BLOCKS, Arrays.asList("c:org.bukkit.block.data.Ageable", "-weeping_vines", "+stone"), type -> type.data);
6061
assertEquals(expected, list.tagged());
6162
}
6263
}

0 commit comments

Comments
 (0)