use internal method for message sending, replace some try/catch with null checks

This commit is contained in:
2022-05-14 11:53:31 +02:00
parent 4088a6dd5b
commit 5a36ba7748
7 changed files with 104 additions and 103 deletions
@@ -6,6 +6,7 @@ import me.youhavetrouble.preventstabby.hooks.PlacoholderApiHook;
import me.youhavetrouble.preventstabby.hooks.WorldGuardHook; import me.youhavetrouble.preventstabby.hooks.WorldGuardHook;
import me.youhavetrouble.preventstabby.players.PlayerManager; import me.youhavetrouble.preventstabby.players.PlayerManager;
import me.youhavetrouble.preventstabby.players.SmartCache; import me.youhavetrouble.preventstabby.players.SmartCache;
import me.youhavetrouble.preventstabby.util.PluginMessages;
import me.youhavetrouble.preventstabby.util.PreventStabbyListener; import me.youhavetrouble.preventstabby.util.PreventStabbyListener;
import me.youhavetrouble.preventstabby.util.DatabaseSQLite; import me.youhavetrouble.preventstabby.util.DatabaseSQLite;
import lombok.Getter; import lombok.Getter;
@@ -96,7 +97,7 @@ public final class PreventStabby extends JavaPlugin {
public void reloadPluginConfig(CommandSender commandSender) { public void reloadPluginConfig(CommandSender commandSender) {
getServer().getScheduler().runTaskAsynchronously(this, () -> { getServer().getScheduler().runTaskAsynchronously(this, () -> {
reloadPluginConfig(); reloadPluginConfig();
commandSender.sendMessage("PreventStabby configuration reloaded."); PluginMessages.sendMessage(commandSender, "PreventStabby configuration reloaded.");
}); });
} }
@@ -8,7 +8,7 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
public class HelpCommand { public class HelpCommand {
// TODO change this to be 1 component when transitioning to adventure
public static void help(CommandSender sender, String[] args) { public static void help(CommandSender sender, String[] args) {
Bukkit.getScheduler().runTaskAsynchronously(PreventStabby.getPlugin(), () -> { Bukkit.getScheduler().runTaskAsynchronously(PreventStabby.getPlugin(), () -> {
List<String> helpPage = new ArrayList<>(); List<String> helpPage = new ArrayList<>();
@@ -7,6 +7,7 @@ import org.bukkit.command.Command;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.command.TabExecutor; import org.bukkit.command.TabExecutor;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
@@ -28,35 +29,35 @@ public class MainCommand implements TabExecutor {
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if (sender.hasPermission("preventstabby.command")) { if (!sender.hasPermission("preventstabby.command")) {
if (args.length >= 1) { PluginMessages.sendMessage(sender, PreventStabby.getPlugin().getConfigCache().getNo_permission());
switch (args[0].toLowerCase()) { return true;
case "help": }
HelpCommand.help(sender, args); if (args.length >= 1) {
break; switch (args[0].toLowerCase()) {
case "toggle": case "help":
PvpToggleCommand.toggle(sender, args); HelpCommand.help(sender, args);
break; break;
case "on": case "toggle":
case "enable": PvpToggleCommand.toggle(sender, args);
PvpToggleCommand.enable(sender, args); break;
break; case "on":
case "off": case "enable":
case "disable": PvpToggleCommand.enable(sender, args);
PvpToggleCommand.disable(sender, args); break;
break; case "off":
case "reload": case "disable":
ReloadCommand.reload(sender); PvpToggleCommand.disable(sender, args);
break; break;
default: case "reload":
sender.sendMessage(PluginMessages.parseMessage(PreventStabby.getPlugin().getConfigCache().getNo_such_command())); ReloadCommand.reload(sender);
break; break;
} default:
} else { PluginMessages.sendMessage(sender, PreventStabby.getPlugin().getConfigCache().getNo_such_command());
HelpCommand.help(sender, args); break;
} }
} else { } else {
sender.sendMessage(PluginMessages.parseMessage(PreventStabby.getPlugin().getConfigCache().getNo_permission())); HelpCommand.help(sender, args);
} }
return true; return true;
} }
@@ -4,7 +4,6 @@ import me.youhavetrouble.preventstabby.PreventStabby;
import me.youhavetrouble.preventstabby.util.CombatTimer; import me.youhavetrouble.preventstabby.util.CombatTimer;
import me.youhavetrouble.preventstabby.util.PluginMessages; import me.youhavetrouble.preventstabby.util.PluginMessages;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
@@ -13,64 +12,60 @@ public class PvpToggleCommand {
public static void toggle(CommandSender sender, String[] args) { public static void toggle(CommandSender sender, String[] args) {
Bukkit.getScheduler().runTaskAsynchronously(PreventStabby.getPlugin(), () -> { Bukkit.getScheduler().runTaskAsynchronously(PreventStabby.getPlugin(), () -> {
if (!sender.hasPermission("preventstabby.command.toggle")) { if (!sender.hasPermission("preventstabby.command.toggle")) {
String message = ChatColor.translateAlternateColorCodes('&', PreventStabby.getPlugin().getConfigCache().getNo_permission()); PluginMessages.parseMessage(sender, PreventStabby.getPlugin().getConfigCache().getNo_permission());
sender.sendMessage(message);
return; return;
} }
if (args.length == 1) { if (args.length == 1) {
if (sender instanceof Player) { if (sender instanceof Player) {
Player player = (Player) sender; Player player = (Player) sender;
if (CombatTimer.isInCombat(player.getUniqueId())) { if (CombatTimer.isInCombat(player.getUniqueId())) {
sender.sendMessage(PluginMessages.parseMessage(PreventStabby.getPlugin().getConfigCache().getCant_do_that_during_combat())); PluginMessages.sendMessage(sender, PreventStabby.getPlugin().getConfigCache().getCant_do_that_during_combat());
return; return;
} }
boolean currentState = PreventStabby.getPlugin().getPlayerManager().togglePlayerPvpState(player.getUniqueId()); boolean currentState = PreventStabby.getPlugin().getPlayerManager().togglePlayerPvpState(player.getUniqueId());
String message = ""; String message;
if (currentState) { if (currentState) {
message = PluginMessages.parseMessage(PreventStabby.getPlugin().getConfigCache().getPvp_enabled()); message = PluginMessages.parseMessage(sender, PreventStabby.getPlugin().getConfigCache().getPvp_enabled());
} else { } else {
message = PluginMessages.parseMessage(PreventStabby.getPlugin().getConfigCache().getPvp_disabled()); message = PluginMessages.parseMessage(sender, PreventStabby.getPlugin().getConfigCache().getPvp_disabled());
} }
player.sendMessage(message); PluginMessages.sendMessage(sender, message);
} else { } else {
sender.sendMessage("Try /pvp toggle <player>"); PluginMessages.sendMessage(sender, "Try /pvp toggle <player>");
} }
} else if (args.length == 2) { } else if (args.length == 2) {
if (!sender.hasPermission("preventstabby.command.toggle.others")) { if (!sender.hasPermission("preventstabby.command.toggle.others")) {
String message = ChatColor.translateAlternateColorCodes('&', PreventStabby.getPlugin().getConfigCache().getNo_permission()); PluginMessages.sendMessage(sender, PreventStabby.getPlugin().getConfigCache().getNo_permission());
sender.sendMessage(message);
return; return;
} }
if (sender instanceof Player) { if (sender instanceof Player) {
Player player = (Player) sender; Player player = (Player) sender;
if (CombatTimer.isInCombat(player.getUniqueId())) { if (CombatTimer.isInCombat(player.getUniqueId())) {
sender.sendMessage(PluginMessages.parseMessage(PreventStabby.getPlugin().getConfigCache().getCant_do_that_during_combat())); PluginMessages.sendMessage(sender, PreventStabby.getPlugin().getConfigCache().getCant_do_that_during_combat());
return; return;
} }
} }
try {
Player player = Bukkit.getPlayer(args[1]);
boolean currentState = PreventStabby.getPlugin().getPlayerManager().togglePlayerPvpState(player.getUniqueId());
String message;
if (currentState) {
message = PreventStabby.getPlugin().getConfigCache().getPvp_enabled_other();
} else {
message = PreventStabby.getPlugin().getConfigCache().getPvp_disabled_other();
}
sender.sendMessage(PluginMessages.parsePlayerName(player, message));
} catch (NullPointerException e) { Player player = Bukkit.getPlayer(args[1]);
sender.sendMessage(PluginMessages.parseMessage("&cPlayer offline.")); if (player == null) {
PluginMessages.sendMessage(sender, "&cPlayer offline.");
return;
} }
boolean currentState = PreventStabby.getPlugin().getPlayerManager().togglePlayerPvpState(player.getUniqueId());
String message;
if (currentState) {
message = PreventStabby.getPlugin().getConfigCache().getPvp_enabled_other();
} else {
message = PreventStabby.getPlugin().getConfigCache().getPvp_disabled_other();
}
PluginMessages.sendMessage(sender, PluginMessages.parsePlayerName(player, message));
} else { } else {
if (sender.hasPermission("preventstabby.command.toggle.others")) { if (sender.hasPermission("preventstabby.command.toggle.others")) {
sender.sendMessage("Try /pvp toggle <player>"); PluginMessages.sendMessage(sender, "Try /pvp toggle <player>");
} else { } else {
sender.sendMessage("Try /pvp toggle"); PluginMessages.sendMessage(sender, "Try /pvp toggle");
} }
} }
}); });
@@ -78,98 +73,93 @@ public class PvpToggleCommand {
public static void enable(CommandSender sender, String[] args) { public static void enable(CommandSender sender, String[] args) {
if (!sender.hasPermission("preventstabby.command.toggle")) { if (!sender.hasPermission("preventstabby.command.toggle")) {
String message = ChatColor.translateAlternateColorCodes('&', PreventStabby.getPlugin().getConfigCache().getNo_permission()); PluginMessages.sendMessage(sender, PreventStabby.getPlugin().getConfigCache().getNo_permission());
sender.sendMessage(message);
return; return;
} }
if (args.length == 1) { if (args.length == 1) {
if (sender instanceof Player) { if (sender instanceof Player) {
Player player = (Player) sender; Player player = (Player) sender;
if (CombatTimer.isInCombat(player.getUniqueId())) { if (CombatTimer.isInCombat(player.getUniqueId())) {
sender.sendMessage(PluginMessages.parseMessage(PreventStabby.getPlugin().getConfigCache().getCant_do_that_during_combat())); PluginMessages.sendMessage(sender, PreventStabby.getPlugin().getConfigCache().getCant_do_that_during_combat());
return; return;
} }
PreventStabby.getPlugin().getPlayerManager().setPlayerPvpState(player.getUniqueId(), true); PreventStabby.getPlugin().getPlayerManager().setPlayerPvpState(player.getUniqueId(), true);
String message = PluginMessages.parseMessage(PreventStabby.getPlugin().getConfigCache().getPvp_enabled()); PluginMessages.sendMessage(sender, PreventStabby.getPlugin().getConfigCache().getPvp_enabled());
player.sendMessage(message);
} else { } else {
sender.sendMessage("Try /pvp enable <player>"); PluginMessages.sendMessage(sender, "Try /pvp enable <player>");
} }
} else if (args.length == 2) { } else if (args.length == 2) {
if (!sender.hasPermission("preventstabby.command.toggle.others")) { if (!sender.hasPermission("preventstabby.command.toggle.others")) {
String message = ChatColor.translateAlternateColorCodes('&', PreventStabby.getPlugin().getConfigCache().getNo_permission()); PluginMessages.sendMessage(sender, PreventStabby.getPlugin().getConfigCache().getNo_permission());
sender.sendMessage(message);
return; return;
} }
if (sender instanceof Player) { if (sender instanceof Player) {
Player player = (Player) sender; Player player = (Player) sender;
if (CombatTimer.isInCombat(player.getUniqueId())) { if (CombatTimer.isInCombat(player.getUniqueId())) {
sender.sendMessage(PluginMessages.parseMessage(PreventStabby.getPlugin().getConfigCache().getCant_do_that_during_combat())); PluginMessages.sendMessage(sender, PreventStabby.getPlugin().getConfigCache().getCant_do_that_during_combat());
return; return;
} }
} }
try { Player player = Bukkit.getPlayer(args[1]);
Player player = Bukkit.getPlayer(args[1]); if (player == null) {
String message = PreventStabby.getPlugin().getConfigCache().getPvp_enabled_other(); PluginMessages.sendMessage(sender, PluginMessages.parseMessage("&cPlayer offline."));
sender.sendMessage(PluginMessages.parsePlayerName(player, message)); return;
PreventStabby.getPlugin().getPlayerManager().setPlayerPvpState(player.getUniqueId(), true);
} catch (NullPointerException e) {
sender.sendMessage(PluginMessages.parseMessage("&cPlayer offline."));
} }
String message = PreventStabby.getPlugin().getConfigCache().getPvp_enabled_other();
PluginMessages.sendMessage(sender, PluginMessages.parsePlayerName(player, message));
PreventStabby.getPlugin().getPlayerManager().setPlayerPvpState(player.getUniqueId(), true);
} else { } else {
if (sender.hasPermission("preventstabby.command.toggle.others")) { if (sender.hasPermission("preventstabby.command.toggle.others")) {
sender.sendMessage("Try /pvp enable <player>"); PluginMessages.sendMessage(sender, "Try /pvp enable <player>");
} else { } else {
sender.sendMessage("Try /pvp enable"); PluginMessages.sendMessage(sender, "Try /pvp enable");
} }
} }
} }
public static void disable(CommandSender sender, String[] args) { public static void disable(CommandSender sender, String[] args) {
if (!sender.hasPermission("preventstabby.command.toggle")) { if (!sender.hasPermission("preventstabby.command.toggle")) {
String message = ChatColor.translateAlternateColorCodes('&', PreventStabby.getPlugin().getConfigCache().getNo_permission()); PluginMessages.sendMessage(sender, PreventStabby.getPlugin().getConfigCache().getNo_permission());
sender.sendMessage(message);
return; return;
} }
if (args.length == 1) { if (args.length == 1) {
if (sender instanceof Player) { if (sender instanceof Player) {
Player player = (Player) sender; Player player = (Player) sender;
if (CombatTimer.isInCombat(player.getUniqueId())) { if (CombatTimer.isInCombat(player.getUniqueId())) {
sender.sendMessage(PluginMessages.parseMessage(PreventStabby.getPlugin().getConfigCache().getCant_do_that_during_combat())); PluginMessages.sendMessage(sender, PreventStabby.getPlugin().getConfigCache().getCant_do_that_during_combat());
return; return;
} }
PreventStabby.getPlugin().getPlayerManager().setPlayerPvpState(player.getUniqueId(), false); PreventStabby.getPlugin().getPlayerManager().setPlayerPvpState(player.getUniqueId(), false);
String message = PluginMessages.parseMessage(PreventStabby.getPlugin().getConfigCache().getPvp_disabled()); PluginMessages.sendMessage(sender, PreventStabby.getPlugin().getConfigCache().getPvp_disabled());
player.sendMessage(message);
} else { } else {
sender.sendMessage("Try /pvp disable <player>"); PluginMessages.sendMessage(sender, "Try /pvp disable <player>");
} }
} else if (args.length == 2) { } else if (args.length == 2) {
if (!sender.hasPermission("preventstabby.command.toggle.others")) { if (!sender.hasPermission("preventstabby.command.toggle.others")) {
String message = PreventStabby.getPlugin().getConfigCache().getNo_permission(); PluginMessages.sendMessage(sender, PreventStabby.getPlugin().getConfigCache().getNo_permission());
sender.sendMessage(message);
return; return;
} }
if (sender instanceof Player) { if (sender instanceof Player) {
Player player = (Player) sender; Player player = (Player) sender;
if (CombatTimer.isInCombat(player.getUniqueId())) { if (CombatTimer.isInCombat(player.getUniqueId())) {
sender.sendMessage(PluginMessages.parseMessage(PreventStabby.getPlugin().getConfigCache().getCant_do_that_during_combat())); PluginMessages.sendMessage(sender, PreventStabby.getPlugin().getConfigCache().getCant_do_that_during_combat());
return; return;
} }
} }
try { Player player = Bukkit.getPlayer(args[1]);
Player player = Bukkit.getPlayer(args[1]); if (player == null) {
String message = PreventStabby.getPlugin().getConfigCache().getPvp_disabled_other(); PluginMessages.sendMessage(sender, PluginMessages.parseMessage("&cPlayer offline."));
sender.sendMessage(PluginMessages.parsePlayerName(player, message)); return;
PreventStabby.getPlugin().getPlayerManager().setPlayerPvpState(player.getUniqueId(), true);
} catch (NullPointerException e) {
sender.sendMessage(PluginMessages.parseMessage("&cPlayer offline."));
} }
String message = PreventStabby.getPlugin().getConfigCache().getPvp_disabled_other();
PluginMessages.sendMessage(sender, PluginMessages.parsePlayerName(player, message));
PreventStabby.getPlugin().getPlayerManager().setPlayerPvpState(player.getUniqueId(), true);
} else { } else {
if (sender.hasPermission("preventstabby.command.toggle.others")) { if (sender.hasPermission("preventstabby.command.toggle.others")) {
sender.sendMessage("Try /pvp disable <player>"); PluginMessages.sendMessage(sender, "Try /pvp disable <player>");
} else { } else {
sender.sendMessage("Try /pvp disable"); PluginMessages.sendMessage(sender, "Try /pvp disable");
} }
} }
} }
@@ -1,8 +1,8 @@
package me.youhavetrouble.preventstabby.commands; package me.youhavetrouble.preventstabby.commands;
import me.youhavetrouble.preventstabby.PreventStabby; import me.youhavetrouble.preventstabby.PreventStabby;
import me.youhavetrouble.preventstabby.util.PluginMessages;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
public class ReloadCommand { public class ReloadCommand {
@@ -10,8 +10,7 @@ public class ReloadCommand {
public static void reload(CommandSender sender) { public static void reload(CommandSender sender) {
Bukkit.getScheduler().runTaskAsynchronously(PreventStabby.getPlugin(), () -> { Bukkit.getScheduler().runTaskAsynchronously(PreventStabby.getPlugin(), () -> {
if (!sender.hasPermission("preventstabby.command.reload")) { if (!sender.hasPermission("preventstabby.command.reload")) {
String message = ChatColor.translateAlternateColorCodes('&', PreventStabby.getPlugin().getConfigCache().getNo_permission()); PluginMessages.parseMessage(sender, PreventStabby.getPlugin().getConfigCache().getNo_permission());
sender.sendMessage(message);
return; return;
} }
PreventStabby.getPlugin().reloadPluginConfig(sender); PreventStabby.getPlugin().reloadPluginConfig(sender);
@@ -55,6 +55,7 @@ public class WorldGuardHook {
RegionContainer container = WorldGuard.getInstance().getPlatform().getRegionContainer(); RegionContainer container = WorldGuard.getInstance().getPlatform().getRegionContainer();
RegionQuery query = container.createQuery(); RegionQuery query = container.createQuery();
org.bukkit.Location loc = player.getLocation(); org.bukkit.Location loc = player.getLocation();
if (loc.getWorld() == null) return false;
LocalPlayer localPlayer = WorldGuardPlugin.inst().wrapPlayer(player); LocalPlayer localPlayer = WorldGuardPlugin.inst().wrapPlayer(player);
ApplicableRegionSet set = query.getApplicableRegions(new Location(BukkitAdapter.adapt(loc.getWorld()), loc.getX(), loc.getY(), loc.getZ())); ApplicableRegionSet set = query.getApplicableRegions(new Location(BukkitAdapter.adapt(loc.getWorld()), loc.getX(), loc.getY(), loc.getZ()));
return set.testState(localPlayer, FORCE_PVP_FLAG); return set.testState(localPlayer, FORCE_PVP_FLAG);
@@ -7,6 +7,7 @@ import net.md_5.bungee.api.chat.BaseComponent;
import net.md_5.bungee.api.chat.TextComponent; import net.md_5.bungee.api.chat.TextComponent;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.ChatColor; import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import java.util.UUID; import java.util.UUID;
@@ -17,19 +18,27 @@ public class PluginMessages {
return ChatColor.translateAlternateColorCodes('&', message); return ChatColor.translateAlternateColorCodes('&', message);
} }
public static void sendMessage(Player player, String message) { public static String parseMessage(CommandSender sender,String message) {
if (PreventStabby.getPlugin().getServer().getPluginManager().getPlugin("PlaceholderAPI") != null) {
if (sender instanceof Player && isPlaceholderApiEnabled()) {
Player player = (Player) sender;
message = PlaceholderAPI.setPlaceholders(player, message); message = PlaceholderAPI.setPlaceholders(player, message);
} }
message = ChatColor.translateAlternateColorCodes('&', message); return ChatColor.translateAlternateColorCodes('&', message);
player.sendMessage(message); }
private static boolean isPlaceholderApiEnabled() {
return PreventStabby.getPlugin().getServer().getPluginManager().getPlugin("PlaceholderAPI") != null;
}
public static void sendMessage(CommandSender sender, String message) {
message = parseMessage(sender, message);
sender.sendMessage(message);
} }
public static void sendActionBar(Player player, String message) { public static void sendActionBar(Player player, String message) {
// TODO use adventure // TODO use adventure
if (PreventStabby.getPlugin().getServer().getPluginManager().getPlugin("PlaceholderAPI") != null) { message = parseMessage(player, message);
message = PlaceholderAPI.setPlaceholders(player, message);
}
BaseComponent[] component = TextComponent.fromLegacyText(parseMessage(message)); BaseComponent[] component = TextComponent.fromLegacyText(parseMessage(message));
player.spigot().sendMessage(ChatMessageType.ACTION_BAR, component); player.spigot().sendMessage(ChatMessageType.ACTION_BAR, component);
} }