From c40c9c40448374a917a06f90885e68dfab38633b Mon Sep 17 00:00:00 2001 From: BONNe Date: Tue, 18 Dec 2018 00:41:56 +0200 Subject: [PATCH 1/3] Fix crash reported in #24. GUI will be opened only if caller is player. --- src/main/java/world/bentobox/level/commands/IslandTop.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/world/bentobox/level/commands/IslandTop.java b/src/main/java/world/bentobox/level/commands/IslandTop.java index aec6312..d484511 100644 --- a/src/main/java/world/bentobox/level/commands/IslandTop.java +++ b/src/main/java/world/bentobox/level/commands/IslandTop.java @@ -17,7 +17,9 @@ public class IslandTop extends CompositeCommand { @Override public boolean execute(User user, String label, List list) { - plugin.getTopTen().getGUI(getWorld(), user, getPermissionPrefix()); + if (user.isPlayer()) { + this.plugin.getTopTen().getGUI(getWorld(), user, getPermissionPrefix()); + } return true; } From 4f384989bb64202b4c827110b8b359f472b24e73 Mon Sep 17 00:00:00 2001 From: BONNe Date: Tue, 18 Dec 2018 01:17:24 +0200 Subject: [PATCH 2/3] Fix issue when /bsbadmin top returns weird string. Relates to issue #24. In lang file was missing admin.topten variable. --- .../java/world/bentobox/level/commands/AdminTop.java | 9 +++++++-- src/main/resources/locales/en-US.yml | 3 ++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/main/java/world/bentobox/level/commands/AdminTop.java b/src/main/java/world/bentobox/level/commands/AdminTop.java index 31be8cf..0a60006 100644 --- a/src/main/java/world/bentobox/level/commands/AdminTop.java +++ b/src/main/java/world/bentobox/level/commands/AdminTop.java @@ -45,8 +45,13 @@ public class AdminTop extends CompositeCommand { Island island = getPlugin().getIslands().getIsland(world, topTen.getKey()); if (island != null) { rank++; - String item = String.valueOf(rank) + ":" + island.getName() + " " - + user.getTranslation("topten.islandLevel", "[level]", String.valueOf(topTen.getValue())); + String item = user.getTranslation("admin.topten", + "[rank]", + "[name]", + "[level]", + String.valueOf(rank), + this.getPlugin().getPlayers().getUser(island.getOwner()).getName(), + String.valueOf(topTen.getValue())); user.sendRawMessage(item); } } diff --git a/src/main/resources/locales/en-US.yml b/src/main/resources/locales/en-US.yml index adf49e6..2f56e3a 100755 --- a/src/main/resources/locales/en-US.yml +++ b/src/main/resources/locales/en-US.yml @@ -10,7 +10,8 @@ admin: top: description: "show the top ten list" unknown-world: "&cUnknown world!" - + topten: "[rank]. [name] - island level = [level]" + island: level: parameters: "[player]" From bdb0331dc19e7330271d59213c3bd859764fc730 Mon Sep 17 00:00:00 2001 From: BONNe1704 Date: Tue, 18 Dec 2018 10:22:33 +0200 Subject: [PATCH 3/3] Fix failing UnitTest. Test was failing because getTeamLeader method was switched to getOwner. --- src/test/java/world/bentobox/level/LevelPresenterTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/world/bentobox/level/LevelPresenterTest.java b/src/test/java/world/bentobox/level/LevelPresenterTest.java index e47eb6f..28679a1 100644 --- a/src/test/java/world/bentobox/level/LevelPresenterTest.java +++ b/src/test/java/world/bentobox/level/LevelPresenterTest.java @@ -47,7 +47,7 @@ public class LevelPresenterTest { // In team when(im.inTeam(Mockito.any(), Mockito.any())).thenReturn(true); // team leader - when(im.getTeamLeader(Mockito.any(), Mockito.any())).thenReturn(UUID.randomUUID()); + when(im.getOwner(Mockito.any(), Mockito.any())).thenReturn(UUID.randomUUID()); pl = mock(PlayerLevel.class); PowerMockito.whenNew(PlayerLevel.class).withAnyArguments().thenReturn(pl);