diff --git a/src/main/java/world/bentobox/level/Level.java b/src/main/java/world/bentobox/level/Level.java index b4c2422..ba1b88c 100644 --- a/src/main/java/world/bentobox/level/Level.java +++ b/src/main/java/world/bentobox/level/Level.java @@ -42,6 +42,9 @@ import world.bentobox.level.requests.TopTenRequestHandler; */ public class Level extends Addon implements Listener { + // The 10 in top ten + public static final int TEN = 10; + // Settings private ConfigSettings settings; private Config configObject = new Config<>(this, ConfigSettings.class); @@ -201,16 +204,16 @@ public class Level extends Addon implements Listener { String getRankName(World world, int rank) { if (rank < 1) rank = 1; - if (rank > 10) rank = 10; - return getPlayers().getName(getManager().getTopTen(world, 10).keySet().stream().skip(rank - 1L).limit(1L).findFirst().orElse(null)); + if (rank > TEN) rank = TEN; + return getPlayers().getName(getManager().getTopTen(world, TEN).keySet().stream().skip(rank - 1L).limit(1L).findFirst().orElse(null)); } String getRankLevel(World world, int rank) { if (rank < 1) rank = 1; - if (rank > 10) rank = 10; + if (rank > TEN) rank = TEN; return getManager() .formatLevel(getManager() - .getTopTen(world, 10) + .getTopTen(world, TEN) .values() .stream() .skip(rank - 1L) diff --git a/src/main/java/world/bentobox/level/LevelsManager.java b/src/main/java/world/bentobox/level/LevelsManager.java index d67ba1b..7f0b366 100644 --- a/src/main/java/world/bentobox/level/LevelsManager.java +++ b/src/main/java/world/bentobox/level/LevelsManager.java @@ -241,7 +241,7 @@ public class LevelsManager { */ public void getGUI(World world, final User user) { // Check world - Map topTen = getTopTen(world, 10); + Map topTen = getTopTen(world, Level.TEN); PanelBuilder panel = new PanelBuilder() .name(user.getTranslation("island.top.gui-title")) @@ -418,11 +418,11 @@ public class LevelsManager { .collect(Collectors.toMap( Map.Entry::getKey, Map.Entry::getValue, (e1, e2) -> e1, LinkedHashMap::new))); } - + void createAndCleanRankings(@NonNull World world) { topTenLists.computeIfAbsent(world, TopTenData::new); // Remove player from top ten if they are online and do not have the perm - topTenLists.get(world).getTopTen().keySet().removeIf(u -> !hasTopTenPerm(world, u)); + topTenLists.get(world).getTopTen().keySet().removeIf(u -> !hasTopTenPerm(world, u)); } /** @@ -441,12 +441,12 @@ public class LevelsManager { public int getRank(@NonNull World world, UUID uuid) { createAndCleanRankings(world); Stream> stream = topTenLists.get(world).getTopTen().entrySet().stream() - .filter(e -> addon.getIslands().isOwner(world, e.getKey())) - .filter(l -> l.getValue() > 0) - .sorted(Collections.reverseOrder(Map.Entry.comparingByValue())); + .filter(e -> addon.getIslands().isOwner(world, e.getKey())) + .filter(l -> l.getValue() > 0) + .sorted(Collections.reverseOrder(Map.Entry.comparingByValue())); return takeWhile(stream, x -> !x.getKey().equals(uuid)).map(Map.Entry::getKey).collect(Collectors.toList()).size() + 1; } - + /** * Java 8's version of Java 9's takeWhile * @param stream @@ -457,7 +457,7 @@ public class LevelsManager { CustomSpliterator customSpliterator = new CustomSpliterator<>(stream.spliterator(), predicate); return StreamSupport.stream(customSpliterator, false); } - + /** * Checks if player has the correct top ten perm to have their level saved * @param world diff --git a/src/main/java/world/bentobox/level/commands/AdminTopCommand.java b/src/main/java/world/bentobox/level/commands/AdminTopCommand.java index 8387c5e..9144107 100644 --- a/src/main/java/world/bentobox/level/commands/AdminTopCommand.java +++ b/src/main/java/world/bentobox/level/commands/AdminTopCommand.java @@ -30,7 +30,7 @@ public class AdminTopCommand extends CompositeCommand { public boolean execute(User user, String label, List args) { user.sendMessage("island.top.gui-title"); int rank = 0; - for (Map.Entry topTen : levelPlugin.getManager().getTopTen(getWorld(), 10).entrySet()) { + for (Map.Entry topTen : levelPlugin.getManager().getTopTen(getWorld(), Level.TEN).entrySet()) { Island island = getPlugin().getIslands().getIsland(getWorld(), topTen.getKey()); if (island != null) { rank++; diff --git a/src/main/java/world/bentobox/level/commands/AdminTopRemoveCommand.java b/src/main/java/world/bentobox/level/commands/AdminTopRemoveCommand.java index e1e78c4..4e1c29a 100644 --- a/src/main/java/world/bentobox/level/commands/AdminTopRemoveCommand.java +++ b/src/main/java/world/bentobox/level/commands/AdminTopRemoveCommand.java @@ -59,7 +59,7 @@ public class AdminTopRemoveCommand extends CompositeCommand { @Override public Optional> tabComplete(User user, String alias, List args) { - return Optional.of(addon.getManager().getTopTen(getWorld(), 10).keySet().stream().map(addon.getPlayers()::getName) + return Optional.of(addon.getManager().getTopTen(getWorld(), Level.TEN).keySet().stream().map(addon.getPlayers()::getName) .filter(n -> !n.isEmpty()).collect(Collectors.toList())); } } diff --git a/src/main/java/world/bentobox/level/requests/TopTenRequestHandler.java b/src/main/java/world/bentobox/level/requests/TopTenRequestHandler.java index 898d2be..5401d2b 100644 --- a/src/main/java/world/bentobox/level/requests/TopTenRequestHandler.java +++ b/src/main/java/world/bentobox/level/requests/TopTenRequestHandler.java @@ -54,6 +54,6 @@ public class TopTenRequestHandler extends AddonRequestHandler { } // No null check required - return addon.getManager().getTopTen(Bukkit.getWorld((String) map.get(WORLD_NAME)), 10); + return addon.getManager().getTopTen(Bukkit.getWorld((String) map.get(WORLD_NAME)), Level.TEN); } } diff --git a/src/test/java/world/bentobox/level/LevelsManagerTest.java b/src/test/java/world/bentobox/level/LevelsManagerTest.java index ec4c184..3d9b26b 100644 --- a/src/test/java/world/bentobox/level/LevelsManagerTest.java +++ b/src/test/java/world/bentobox/level/LevelsManagerTest.java @@ -337,7 +337,7 @@ public class LevelsManagerTest { */ @Test public void testGetTopTenEmpty() { - Map tt = lm.getTopTen(world, 10); + Map tt = lm.getTopTen(world, Level.TEN); assertTrue(tt.isEmpty()); } @@ -347,7 +347,7 @@ public class LevelsManagerTest { @Test public void testGetTopTen() { testLoadTopTens(); - Map tt = lm.getTopTen(world, 10); + Map tt = lm.getTopTen(world, Level.TEN); assertFalse(tt.isEmpty()); assertEquals(1, tt.size()); assertEquals(1, lm.getTopTen(world, 1).size()); @@ -360,7 +360,7 @@ public class LevelsManagerTest { public void testGetTopTenNoOwners() { when(im.isOwner(eq(world), any())).thenReturn(false); testLoadTopTens(); - Map tt = lm.getTopTen(world, 10); + Map tt = lm.getTopTen(world, Level.TEN); assertTrue(tt.isEmpty()); } @@ -394,10 +394,10 @@ public class LevelsManagerTest { @Test public void testRemoveEntry() { testLoadTopTens(); - Map tt = lm.getTopTen(world, 10); + Map tt = lm.getTopTen(world, Level.TEN); assertTrue(tt.containsKey(uuid)); lm.removeEntry(world, uuid); - tt = lm.getTopTen(world, 10); + tt = lm.getTopTen(world, Level.TEN); assertFalse(tt.containsKey(uuid)); } @@ -414,8 +414,8 @@ public class LevelsManagerTest { */ @Test public void testSetInitialIslandLevel() { - lm.setInitialIslandLevel(island, 10); - assertEquals(10, lm.getInitialLevel(island)); + lm.setInitialIslandLevel(island, Level.TEN); + assertEquals(Level.TEN, lm.getInitialLevel(island)); } /** @@ -443,7 +443,7 @@ public class LevelsManagerTest { } */ } - + /** * Test method for {@link world.bentobox.level.LevelsManager#getRank(World, UUID)} */ @@ -453,7 +453,7 @@ public class LevelsManagerTest { Map ttl = lm.getTopTenLists(); Map tt = ttl.get(world).getTopTen(); for (long i = 100; i < 150; i++) { - tt.put(UUID.randomUUID(), i); + tt.put(UUID.randomUUID(), i); } // Put player as lowest rank tt.put(uuid, 10L);