Prevent NPEs

This commit is contained in:
tastybento 2021-10-11 18:02:23 -07:00
parent 1a802a7510
commit 731d902d98
5 changed files with 15 additions and 5 deletions

View File

@ -2,6 +2,7 @@ package world.bentobox.bentobox.listeners.flags.clicklisteners;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import org.bukkit.Bukkit;
import org.bukkit.Material;
@ -43,7 +44,8 @@ public class CommandRankClickListener implements ClickHandler {
}
// Check if has permission
String prefix = plugin.getIWM().getPermissionPrefix(Util.getWorld(panel.getWorld().orElse(user.getWorld())));
World w = Objects.requireNonNull(Util.getWorld(panel.getWorld().orElse(user.getWorld())));
String prefix = plugin.getIWM().getPermissionPrefix(w);
String reqPerm = prefix + "settings." + Flags.COMMAND_RANKS.getID();
String allPerms = prefix + "settings.*";
if (!user.hasPermission(reqPerm) && !user.hasPermission(allPerms)

View File

@ -1,5 +1,7 @@
package world.bentobox.bentobox.listeners.flags.clicklisteners;
import java.util.Objects;
import org.bukkit.Sound;
import org.bukkit.World;
import org.bukkit.event.inventory.ClickType;
@ -29,7 +31,8 @@ public class GeoLimitClickListener implements ClickHandler {
}
World world = panel.getWorld().orElse(user.getWorld());
IslandWorldManager iwm = BentoBox.getInstance().getIWM();
String reqPerm = iwm.getPermissionPrefix(Util.getWorld(world)) + "admin.settings.GEO_LIMIT_MOBS";
World w = Objects.requireNonNull(Util.getWorld(world));
String reqPerm = iwm.getPermissionPrefix(w) + "admin.settings.GEO_LIMIT_MOBS";
if (!user.hasPermission(reqPerm)) {
user.sendMessage("general.errors.no-permission", "[permission]", reqPerm);
user.getPlayer().playSound(user.getLocation(), Sound.BLOCK_METAL_HIT, 1F, 1F);

View File

@ -1,5 +1,7 @@
package world.bentobox.bentobox.listeners.flags.clicklisteners;
import java.util.Objects;
import org.bukkit.Sound;
import org.bukkit.World;
import org.bukkit.event.inventory.ClickType;
@ -29,7 +31,8 @@ public class MobLimitClickListener implements ClickHandler {
}
World world = panel.getWorld().orElse(user.getWorld());
IslandWorldManager iwm = BentoBox.getInstance().getIWM();
String reqPerm = iwm.getPermissionPrefix(Util.getWorld(world)) + "admin.settings.LIMIT_MOBS";
World w = Objects.requireNonNull(Util.getWorld(world));
String reqPerm = iwm.getPermissionPrefix(w) + "admin.settings.LIMIT_MOBS";
if (!user.hasPermission(reqPerm)) {
user.sendMessage("general.errors.no-permission", "[permission]", reqPerm);
user.getPlayer().playSound(user.getLocation(), Sound.BLOCK_METAL_HIT, 1F, 1F);

View File

@ -2,6 +2,7 @@ package world.bentobox.bentobox.listeners.flags.worldsettings;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Objects;
import org.bukkit.Material;
import org.bukkit.Sound;
@ -39,7 +40,8 @@ public class InvincibleVisitorsListener extends FlagListener implements ClickHan
user.sendMessage("general.errors.wrong-world");
return true;
}
String reqPerm = getIWM().getPermissionPrefix(Util.getWorld(user.getWorld())) + "admin.settings.INVINCIBLE_VISITORS";
World w = Objects.requireNonNull(Util.getWorld(user.getWorld()));
String reqPerm = getIWM().getPermissionPrefix(w) + "admin.settings.INVINCIBLE_VISITORS";
if (!user.hasPermission(reqPerm)) {
user.sendMessage("general.errors.no-permission", "[permission]", reqPerm);
user.getPlayer().playSound(user.getLocation(), Sound.BLOCK_METAL_HIT, 1F, 1F);

View File

@ -32,7 +32,7 @@ public class IslandRespawnListener extends FlagListener {
@EventHandler(priority = EventPriority.LOW)
public void onPlayerDeath(PlayerDeathEvent e) {
World world = Util.getWorld(e.getEntity().getWorld());
if (!getIWM().inWorld(world)) {
if (world == null || !getIWM().inWorld(world)) {
return; // not in the island world
}
if (!Flags.ISLAND_RESPAWN.isSetForWorld(world)) {