Fix NPE on /is ban [SD-8476]

This commit is contained in:
Christian Koop 2021-07-29 20:27:25 +02:00
parent 72d33a080b
commit aa1bfd1330
No known key found for this signature in database
GPG Key ID: 89A8181384E010A3
2 changed files with 28 additions and 28 deletions

View File

@ -53,7 +53,6 @@ public class BanCommand extends SubCommand {
OfflinePlayer targetPlayerOffline = new OfflinePlayer(args[0]);
targetPlayerUUID = targetPlayerOffline.getUniqueId();
targetPlayerName = targetPlayerOffline.getName();
} else {
targetPlayerUUID = targetPlayer.getUniqueId();
targetPlayerName = targetPlayer.getName();
@ -62,7 +61,7 @@ public class BanCommand extends SubCommand {
if (targetPlayerUUID == null) {
messageManager.sendMessage(player, configLoad.getString("Command.Island.Ban.Found.Message"));
soundManager.playSound(player, CompatibleSound.BLOCK_ANVIL_LAND.getSound(), 1.0F, 1.0F);
} else if((targetPlayer.hasPermission("fabledskyblock.bypass.ban") || targetPlayer.isOp())){
} else if (targetPlayer != null && (targetPlayer.hasPermission("fabledskyblock.bypass.ban") || targetPlayer.isOp())) {
messageManager.sendMessage(player, configLoad.getString("Command.Island.Ban.Exempt"));
soundManager.playSound(player, CompatibleSound.BLOCK_ANVIL_LAND.getSound(), 1.0F, 1.0F);
} else if (targetPlayerUUID.equals(player.getUniqueId())) {
@ -70,36 +69,37 @@ public class BanCommand extends SubCommand {
soundManager.playSound(player, CompatibleSound.BLOCK_ANVIL_LAND.getSound(), 1.0F, 1.0F);
} else if (island.hasRole(IslandRole.Member, targetPlayerUUID) || island.hasRole(IslandRole.Operator, targetPlayerUUID)
|| island.hasRole(IslandRole.Owner, targetPlayerUUID)) {
messageManager.sendMessage(player, configLoad.getString("Command.Island.Ban.Member.Message"));
soundManager.playSound(player, CompatibleSound.BLOCK_ANVIL_LAND.getSound(), 1.0F, 1.0F);
} else
if (island.getBan().isBanned(targetPlayerUUID)) {
messageManager.sendMessage(player, configLoad.getString("Command.Island.Ban.Already.Message"));
soundManager.playSound(player, CompatibleSound.BLOCK_ANVIL_LAND.getSound(), 1.0F, 1.0F);
} else {
messageManager.sendMessage(player, configLoad.getString("Command.Island.Ban.Banned.Sender.Message").replace("%player", targetPlayerName));
soundManager.playSound(player, CompatibleSound.ENTITY_IRON_GOLEM_ATTACK.getSound(), 1.0F, 1.0F);
messageManager.sendMessage(player, configLoad.getString("Command.Island.Ban.Member.Message"));
soundManager.playSound(player, CompatibleSound.BLOCK_ANVIL_LAND.getSound(), 1.0F, 1.0F);
} else if (island.getBan().isBanned(targetPlayerUUID)) {
messageManager.sendMessage(player, configLoad.getString("Command.Island.Ban.Already.Message"));
soundManager.playSound(player, CompatibleSound.BLOCK_ANVIL_LAND.getSound(), 1.0F, 1.0F);
} else {
messageManager.sendMessage(player, configLoad.getString("Command.Island.Ban.Banned.Sender.Message")
.replace("%player", targetPlayerName));
soundManager.playSound(player, CompatibleSound.ENTITY_IRON_GOLEM_ATTACK.getSound(), 1.0F, 1.0F);
if (island.isCoopPlayer(targetPlayerUUID)) {
island.removeCoopPlayer(targetPlayerUUID);
}
if (island.isCoopPlayer(targetPlayerUUID)) {
island.removeCoopPlayer(targetPlayerUUID);
}
Ban ban = island.getBan();
ban.addBan(player.getUniqueId(), targetPlayerUUID);
ban.save();
Ban ban = island.getBan();
ban.addBan(player.getUniqueId(), targetPlayerUUID);
ban.save();
if (targetPlayer != null) {
if (islandManager.isPlayerAtIsland(island, targetPlayer)) {
messageManager.sendMessage(targetPlayer, configLoad.getString("Command.Island.Ban.Banned.Target.Message").replace("%player", player.getName()));
soundManager.playSound(targetPlayer, CompatibleSound.ENTITY_IRON_GOLEM_ATTACK.getSound(), 1.0F, 1.0F);
if (targetPlayer != null) {
if (islandManager.isPlayerAtIsland(island, targetPlayer)) {
messageManager.sendMessage(targetPlayer, configLoad.getString("Command.Island.Ban.Banned.Target.Message")
.replace("%player", player.getName()));
soundManager.playSound(targetPlayer, CompatibleSound.ENTITY_IRON_GOLEM_ATTACK.getSound(), 1.0F, 1.0F);
LocationUtil.teleportPlayerToSpawn(targetPlayer);
}
LocationUtil.teleportPlayerToSpawn(targetPlayer);
}
}
}
} else {
messageManager.sendMessage(player, configLoad.getString("Command.Island.Ban.Permission.Message"));
soundManager.playSound(player, CompatibleSound.ENTITY_VILLAGER_NO.getSound(), 1.0F, 1.0F);
soundManager.playSound(player, CompatibleSound.ENTITY_VILLAGER_NO.getSound(), 1.0F, 1.0F);
}
} else {
messageManager.sendMessage(player, configLoad.getString("Command.Island.Ban.Disabled.Message"));

View File

@ -41,11 +41,11 @@ public class UnbanCommand extends SubCommand {
.getBoolean("Island.Visitor.Banning")) {
if (island.hasRole(IslandRole.Owner, player.getUniqueId())
|| (island.hasRole(IslandRole.Operator, player.getUniqueId())
&& plugin.getPermissionManager().hasPermission(island,"Unban", IslandRole.Operator))) {
&& plugin.getPermissionManager().hasPermission(island, "Unban", IslandRole.Operator))) {
Player targetPlayer = Bukkit.getServer().getPlayer(args[0]);
UUID targetPlayerUUID = null;
String targetPlayerName = null;
UUID targetPlayerUUID;
String targetPlayerName;
if (targetPlayer == null) {
OfflinePlayer targetPlayerOffline = new OfflinePlayer(args[0]);
@ -82,7 +82,7 @@ public class UnbanCommand extends SubCommand {
}
} else {
messageManager.sendMessage(player, configLoad.getString("Command.Island.Unban.Permission.Message"));
soundManager.playSound(player, CompatibleSound.ENTITY_VILLAGER_NO.getSound(), 1.0F, 1.0F);
soundManager.playSound(player, CompatibleSound.ENTITY_VILLAGER_NO.getSound(), 1.0F, 1.0F);
}
} else {
messageManager.sendMessage(player, configLoad.getString("Command.Island.Unban.Disabled.Message"));