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.players.PlayerManager;
import me.youhavetrouble.preventstabby.players.SmartCache;
import me.youhavetrouble.preventstabby.util.PluginMessages;
import me.youhavetrouble.preventstabby.util.PreventStabbyListener;
import me.youhavetrouble.preventstabby.util.DatabaseSQLite;
import lombok.Getter;
@@ -96,7 +97,7 @@ public final class PreventStabby extends JavaPlugin {
public void reloadPluginConfig(CommandSender commandSender) {
getServer().getScheduler().runTaskAsynchronously(this, () -> {
reloadPluginConfig();
commandSender.sendMessage("PreventStabby configuration reloaded.");
PluginMessages.sendMessage(commandSender, "PreventStabby configuration reloaded.");
});
}
@@ -8,7 +8,7 @@ import java.util.ArrayList;
import java.util.List;
public class HelpCommand {
// TODO change this to be 1 component when transitioning to adventure
public static void help(CommandSender sender, String[] args) {
Bukkit.getScheduler().runTaskAsynchronously(PreventStabby.getPlugin(), () -> {
List<String> helpPage = new ArrayList<>();
@@ -7,6 +7,7 @@ import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.command.TabExecutor;
import org.bukkit.entity.Player;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -28,7 +29,10 @@ public class MainCommand implements TabExecutor {
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if (sender.hasPermission("preventstabby.command")) {
if (!sender.hasPermission("preventstabby.command")) {
PluginMessages.sendMessage(sender, PreventStabby.getPlugin().getConfigCache().getNo_permission());
return true;
}
if (args.length >= 1) {
switch (args[0].toLowerCase()) {
case "help":
@@ -49,15 +53,12 @@ public class MainCommand implements TabExecutor {
ReloadCommand.reload(sender);
break;
default:
sender.sendMessage(PluginMessages.parseMessage(PreventStabby.getPlugin().getConfigCache().getNo_such_command()));
PluginMessages.sendMessage(sender, PreventStabby.getPlugin().getConfigCache().getNo_such_command());
break;
}
} else {
HelpCommand.help(sender, args);
}
} else {
sender.sendMessage(PluginMessages.parseMessage(PreventStabby.getPlugin().getConfigCache().getNo_permission()));
}
return true;
}
@@ -4,7 +4,6 @@ import me.youhavetrouble.preventstabby.PreventStabby;
import me.youhavetrouble.preventstabby.util.CombatTimer;
import me.youhavetrouble.preventstabby.util.PluginMessages;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@@ -13,47 +12,47 @@ public class PvpToggleCommand {
public static void toggle(CommandSender sender, String[] args) {
Bukkit.getScheduler().runTaskAsynchronously(PreventStabby.getPlugin(), () -> {
if (!sender.hasPermission("preventstabby.command.toggle")) {
String message = ChatColor.translateAlternateColorCodes('&', PreventStabby.getPlugin().getConfigCache().getNo_permission());
sender.sendMessage(message);
PluginMessages.parseMessage(sender, PreventStabby.getPlugin().getConfigCache().getNo_permission());
return;
}
if (args.length == 1) {
if (sender instanceof Player) {
Player player = (Player) sender;
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;
}
boolean currentState = PreventStabby.getPlugin().getPlayerManager().togglePlayerPvpState(player.getUniqueId());
String message = "";
String message;
if (currentState) {
message = PluginMessages.parseMessage(PreventStabby.getPlugin().getConfigCache().getPvp_enabled());
message = PluginMessages.parseMessage(sender, PreventStabby.getPlugin().getConfigCache().getPvp_enabled());
} 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 {
sender.sendMessage("Try /pvp toggle <player>");
PluginMessages.sendMessage(sender, "Try /pvp toggle <player>");
}
} else if (args.length == 2) {
if (!sender.hasPermission("preventstabby.command.toggle.others")) {
String message = ChatColor.translateAlternateColorCodes('&', PreventStabby.getPlugin().getConfigCache().getNo_permission());
sender.sendMessage(message);
PluginMessages.sendMessage(sender, PreventStabby.getPlugin().getConfigCache().getNo_permission());
return;
}
if (sender instanceof Player) {
Player player = (Player) sender;
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;
}
}
try {
Player player = Bukkit.getPlayer(args[1]);
if (player == null) {
PluginMessages.sendMessage(sender, "&cPlayer offline.");
return;
}
boolean currentState = PreventStabby.getPlugin().getPlayerManager().togglePlayerPvpState(player.getUniqueId());
String message;
if (currentState) {
@@ -61,16 +60,12 @@ public class PvpToggleCommand {
} else {
message = PreventStabby.getPlugin().getConfigCache().getPvp_disabled_other();
}
sender.sendMessage(PluginMessages.parsePlayerName(player, message));
} catch (NullPointerException e) {
sender.sendMessage(PluginMessages.parseMessage("&cPlayer offline."));
}
PluginMessages.sendMessage(sender, PluginMessages.parsePlayerName(player, message));
} else {
if (sender.hasPermission("preventstabby.command.toggle.others")) {
sender.sendMessage("Try /pvp toggle <player>");
PluginMessages.sendMessage(sender, "Try /pvp toggle <player>");
} 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) {
if (!sender.hasPermission("preventstabby.command.toggle")) {
String message = ChatColor.translateAlternateColorCodes('&', PreventStabby.getPlugin().getConfigCache().getNo_permission());
sender.sendMessage(message);
PluginMessages.sendMessage(sender, PreventStabby.getPlugin().getConfigCache().getNo_permission());
return;
}
if (args.length == 1) {
if (sender instanceof Player) {
Player player = (Player) sender;
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;
}
PreventStabby.getPlugin().getPlayerManager().setPlayerPvpState(player.getUniqueId(), true);
String message = PluginMessages.parseMessage(PreventStabby.getPlugin().getConfigCache().getPvp_enabled());
player.sendMessage(message);
PluginMessages.sendMessage(sender, PreventStabby.getPlugin().getConfigCache().getPvp_enabled());
} else {
sender.sendMessage("Try /pvp enable <player>");
PluginMessages.sendMessage(sender, "Try /pvp enable <player>");
}
} else if (args.length == 2) {
if (!sender.hasPermission("preventstabby.command.toggle.others")) {
String message = ChatColor.translateAlternateColorCodes('&', PreventStabby.getPlugin().getConfigCache().getNo_permission());
sender.sendMessage(message);
PluginMessages.sendMessage(sender, PreventStabby.getPlugin().getConfigCache().getNo_permission());
return;
}
if (sender instanceof Player) {
Player player = (Player) sender;
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;
}
}
try {
Player player = Bukkit.getPlayer(args[1]);
String message = PreventStabby.getPlugin().getConfigCache().getPvp_enabled_other();
sender.sendMessage(PluginMessages.parsePlayerName(player, message));
PreventStabby.getPlugin().getPlayerManager().setPlayerPvpState(player.getUniqueId(), true);
} catch (NullPointerException e) {
sender.sendMessage(PluginMessages.parseMessage("&cPlayer offline."));
if (player == null) {
PluginMessages.sendMessage(sender, PluginMessages.parseMessage("&cPlayer offline."));
return;
}
String message = PreventStabby.getPlugin().getConfigCache().getPvp_enabled_other();
PluginMessages.sendMessage(sender, PluginMessages.parsePlayerName(player, message));
PreventStabby.getPlugin().getPlayerManager().setPlayerPvpState(player.getUniqueId(), true);
} else {
if (sender.hasPermission("preventstabby.command.toggle.others")) {
sender.sendMessage("Try /pvp enable <player>");
PluginMessages.sendMessage(sender, "Try /pvp enable <player>");
} else {
sender.sendMessage("Try /pvp enable");
PluginMessages.sendMessage(sender, "Try /pvp enable");
}
}
}
public static void disable(CommandSender sender, String[] args) {
if (!sender.hasPermission("preventstabby.command.toggle")) {
String message = ChatColor.translateAlternateColorCodes('&', PreventStabby.getPlugin().getConfigCache().getNo_permission());
sender.sendMessage(message);
PluginMessages.sendMessage(sender, PreventStabby.getPlugin().getConfigCache().getNo_permission());
return;
}
if (args.length == 1) {
if (sender instanceof Player) {
Player player = (Player) sender;
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;
}
PreventStabby.getPlugin().getPlayerManager().setPlayerPvpState(player.getUniqueId(), false);
String message = PluginMessages.parseMessage(PreventStabby.getPlugin().getConfigCache().getPvp_disabled());
player.sendMessage(message);
PluginMessages.sendMessage(sender, PreventStabby.getPlugin().getConfigCache().getPvp_disabled());
} else {
sender.sendMessage("Try /pvp disable <player>");
PluginMessages.sendMessage(sender, "Try /pvp disable <player>");
}
} else if (args.length == 2) {
if (!sender.hasPermission("preventstabby.command.toggle.others")) {
String message = PreventStabby.getPlugin().getConfigCache().getNo_permission();
sender.sendMessage(message);
PluginMessages.sendMessage(sender, PreventStabby.getPlugin().getConfigCache().getNo_permission());
return;
}
if (sender instanceof Player) {
Player player = (Player) sender;
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;
}
}
try {
Player player = Bukkit.getPlayer(args[1]);
String message = PreventStabby.getPlugin().getConfigCache().getPvp_disabled_other();
sender.sendMessage(PluginMessages.parsePlayerName(player, message));
PreventStabby.getPlugin().getPlayerManager().setPlayerPvpState(player.getUniqueId(), true);
} catch (NullPointerException e) {
sender.sendMessage(PluginMessages.parseMessage("&cPlayer offline."));
if (player == null) {
PluginMessages.sendMessage(sender, PluginMessages.parseMessage("&cPlayer offline."));
return;
}
String message = PreventStabby.getPlugin().getConfigCache().getPvp_disabled_other();
PluginMessages.sendMessage(sender, PluginMessages.parsePlayerName(player, message));
PreventStabby.getPlugin().getPlayerManager().setPlayerPvpState(player.getUniqueId(), true);
} else {
if (sender.hasPermission("preventstabby.command.toggle.others")) {
sender.sendMessage("Try /pvp disable <player>");
PluginMessages.sendMessage(sender, "Try /pvp disable <player>");
} else {
sender.sendMessage("Try /pvp disable");
PluginMessages.sendMessage(sender, "Try /pvp disable");
}
}
}
@@ -1,8 +1,8 @@
package me.youhavetrouble.preventstabby.commands;
import me.youhavetrouble.preventstabby.PreventStabby;
import me.youhavetrouble.preventstabby.util.PluginMessages;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
public class ReloadCommand {
@@ -10,8 +10,7 @@ public class ReloadCommand {
public static void reload(CommandSender sender) {
Bukkit.getScheduler().runTaskAsynchronously(PreventStabby.getPlugin(), () -> {
if (!sender.hasPermission("preventstabby.command.reload")) {
String message = ChatColor.translateAlternateColorCodes('&', PreventStabby.getPlugin().getConfigCache().getNo_permission());
sender.sendMessage(message);
PluginMessages.parseMessage(sender, PreventStabby.getPlugin().getConfigCache().getNo_permission());
return;
}
PreventStabby.getPlugin().reloadPluginConfig(sender);
@@ -55,6 +55,7 @@ public class WorldGuardHook {
RegionContainer container = WorldGuard.getInstance().getPlatform().getRegionContainer();
RegionQuery query = container.createQuery();
org.bukkit.Location loc = player.getLocation();
if (loc.getWorld() == null) return false;
LocalPlayer localPlayer = WorldGuardPlugin.inst().wrapPlayer(player);
ApplicableRegionSet set = query.getApplicableRegions(new Location(BukkitAdapter.adapt(loc.getWorld()), loc.getX(), loc.getY(), loc.getZ()));
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 org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import java.util.UUID;
@@ -17,19 +18,27 @@ public class PluginMessages {
return ChatColor.translateAlternateColorCodes('&', message);
}
public static void sendMessage(Player player, String message) {
if (PreventStabby.getPlugin().getServer().getPluginManager().getPlugin("PlaceholderAPI") != null) {
public static String parseMessage(CommandSender sender,String message) {
if (sender instanceof Player && isPlaceholderApiEnabled()) {
Player player = (Player) sender;
message = PlaceholderAPI.setPlaceholders(player, message);
}
message = ChatColor.translateAlternateColorCodes('&', message);
player.sendMessage(message);
return ChatColor.translateAlternateColorCodes('&', 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) {
// TODO use adventure
if (PreventStabby.getPlugin().getServer().getPluginManager().getPlugin("PlaceholderAPI") != null) {
message = PlaceholderAPI.setPlaceholders(player, message);
}
message = parseMessage(player, message);
BaseComponent[] component = TextComponent.fromLegacyText(parseMessage(message));
player.spigot().sendMessage(ChatMessageType.ACTION_BAR, component);
}