Skip to content

Commit c1dc824

Browse files
committed
Prevent potential NPEs with placeholders
1 parent 22ea268 commit c1dc824

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

src/main/java/world/bentobox/level/PlaceholderManager.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,8 @@ String getRankName(World world, int rank, boolean weighted) {
117117
}
118118
@Nullable
119119
UUID owner = addon.getManager().getTopTen(world, Level.TEN).keySet().stream().skip(rank - 1L).limit(1L)
120-
.findFirst().flatMap(addon.getIslands()::getIslandById).map(Island::getOwner).orElse(null);
120+
.findFirst().flatMap(addon.getIslands()::getIslandById).filter(island -> island.getOwner() != null) // Filter out null owners
121+
.map(Island::getOwner).orElse(null);
121122

122123
return addon.getPlayers().getName(owner);
123124
}
@@ -135,10 +136,12 @@ String getRankIslandName(World world, int rank, boolean weighted) {
135136
rank = Math.max(1, Math.min(rank, Level.TEN));
136137
if (weighted) {
137138
return addon.getManager().getWeightedTopTen(world, Level.TEN).keySet().stream().skip(rank - 1L).limit(1L)
138-
.findFirst().map(Island::getName).orElse("");
139+
.findFirst().filter(island -> island.getName() != null) // Filter out null names
140+
.map(Island::getName).orElse("");
139141
}
140142
return addon.getManager().getTopTen(world, Level.TEN).keySet().stream().skip(rank - 1L).limit(1L).findFirst()
141-
.flatMap(addon.getIslands()::getIslandById).map(Island::getName).orElse("");
143+
.flatMap(addon.getIslands()::getIslandById).filter(island -> island.getName() != null) // Filter out null names
144+
.map(Island::getName).orElse("");
142145
}
143146

144147
/**

0 commit comments

Comments
 (0)