From ba1ae01801aeb71cda78b8f2410a1c09f871dcb3 Mon Sep 17 00:00:00 2001 From: hyperdefined Date: Tue, 10 May 2022 14:41:01 -0400 Subject: [PATCH] use minimessage for various messages --- pom.xml | 15 +++++++++- .../java/lol/hyper/toolstats/ToolStats.java | 13 +++++++++ .../toolstats/commands/CommandToolStats.java | 29 +++++++++++-------- src/main/resources/plugin.yml | 6 +++- 4 files changed, 49 insertions(+), 14 deletions(-) diff --git a/pom.xml b/pom.xml index 07cd2ad..24ae77e 100644 --- a/pom.xml +++ b/pom.xml @@ -101,7 +101,7 @@ org.spigotmc spigot-api - 1.18.1-R0.1-SNAPSHOT + 1.18.2-R0.1-SNAPSHOT provided @@ -120,6 +120,19 @@ lol.hyper github-release-api 1.0.1 + provided + + + net.kyori + adventure-text-minimessage + 4.10.1 + provided + + + net.kyori + adventure-platform-bukkit + 4.1.0 + provided diff --git a/src/main/java/lol/hyper/toolstats/ToolStats.java b/src/main/java/lol/hyper/toolstats/ToolStats.java index 6398b6b..3a8a255 100644 --- a/src/main/java/lol/hyper/toolstats/ToolStats.java +++ b/src/main/java/lol/hyper/toolstats/ToolStats.java @@ -21,6 +21,8 @@ import lol.hyper.githubreleaseapi.GitHubRelease; import lol.hyper.githubreleaseapi.GitHubReleaseAPI; import lol.hyper.toolstats.commands.CommandToolStats; import lol.hyper.toolstats.events.*; +import net.kyori.adventure.platform.bukkit.BukkitAudiences; +import net.kyori.adventure.text.minimessage.MiniMessage; import org.bstats.bukkit.Metrics; import org.bukkit.Bukkit; import org.bukkit.ChatColor; @@ -82,8 +84,12 @@ public final class ToolStats extends JavaPlugin { public FileConfiguration config; public final int CONFIG_VERSION = 3; + private BukkitAudiences adventure; + public MiniMessage miniMessage = MiniMessage.miniMessage(); + @Override public void onEnable() { + this.adventure = BukkitAudiences.create(this); if (!configFile.exists()) { this.saveResource("config.yml", true); logger.info("Copying default config!"); @@ -254,4 +260,11 @@ public final class ToolStats extends JavaPlugin { } return lore; } + + public BukkitAudiences getAdventure() { + if(this.adventure == null) { + throw new IllegalStateException("Tried to access Adventure when the plugin was disabled!"); + } + return this.adventure; + } } diff --git a/src/main/java/lol/hyper/toolstats/commands/CommandToolStats.java b/src/main/java/lol/hyper/toolstats/commands/CommandToolStats.java index ac22fb4..0f875f4 100644 --- a/src/main/java/lol/hyper/toolstats/commands/CommandToolStats.java +++ b/src/main/java/lol/hyper/toolstats/commands/CommandToolStats.java @@ -19,7 +19,10 @@ package lol.hyper.toolstats.commands; import lol.hyper.toolstats.ToolStats; import lol.hyper.toolstats.UUIDDataType; -import org.bukkit.*; +import net.kyori.adventure.platform.bukkit.BukkitAudiences; +import net.kyori.adventure.text.Component; +import net.kyori.adventure.text.format.NamedTextColor; +import org.bukkit.Material; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.command.TabExecutor; @@ -36,28 +39,30 @@ import java.util.*; public class CommandToolStats implements TabExecutor { private final ToolStats toolStats; + private final BukkitAudiences audiences; public CommandToolStats(ToolStats toolStats) { this.toolStats = toolStats; + this.audiences = toolStats.getAdventure(); } @Override public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) { if (!sender.hasPermission("toolstats.use")) { - sender.sendMessage(ChatColor.RED + "You do not have permission for this command."); + audiences.sender(sender).sendMessage(Component.text("You do not have permission for this command.").color(NamedTextColor.RED)); return true; } if (args.length == 0) { - sender.sendMessage(ChatColor.GREEN + "ToolStats version " + toolStats.getDescription().getVersion() + ". Created by hyperdefined."); + audiences.sender(sender).sendMessage(Component.text("ToolStats version " + toolStats.getDescription().getVersion() + ". Created by hyperdefined.").color(NamedTextColor.GREEN)); return true; } switch (args[0]) { case "reload": { if (sender.isOp() || sender.hasPermission("toolstats.reload")) { toolStats.loadConfig(); - sender.sendMessage(ChatColor.GREEN + "Configuration reloaded!"); + audiences.sender(sender).sendMessage(Component.text("Configuration reloaded!").color(NamedTextColor.GREEN)); } else { - sender.sendMessage(ChatColor.RED + "You do not have permission for this command."); + audiences.sender(sender).sendMessage(Component.text("You do not have permission for this command.").color(NamedTextColor.RED)); } return true; } @@ -66,21 +71,21 @@ public class CommandToolStats implements TabExecutor { Player player = (Player) sender; ItemStack heldItem = player.getInventory().getItemInMainHand(); if (heldItem.getType() == Material.AIR) { - sender.sendMessage(ChatColor.RED + "You must hold an item!"); + audiences.sender(sender).sendMessage(Component.text("You must hold an item!").color(NamedTextColor.RED)); return true; } fixItemLore(heldItem, player); - sender.sendMessage(ChatColor.GREEN + "The lore was reset!"); + audiences.sender(sender).sendMessage(Component.text("The lore was reset!").color(NamedTextColor.GREEN)); return true; } - sender.sendMessage(ChatColor.GREEN + "This will remove ALL current lore from the held item and replace it with the correct lore."); - sender.sendMessage(ChatColor.GREEN + "The item owner will be who ever is currently running this command."); - sender.sendMessage(ChatColor.GREEN + "Only use this if the tags on the tool are incorrect."); - sender.sendMessage(ChatColor.GREEN + "Type /toolstats reset confirm to confirm this."); + audiences.sender(sender).sendMessage(Component.text("This will remove ALL current lore from the held item and replace it with the correct lore.").color(NamedTextColor.GREEN)); + audiences.sender(sender).sendMessage(Component.text("The item owner will be who ever is currently running this command.").color(NamedTextColor.GREEN)); + audiences.sender(sender).sendMessage(Component.text("Only use this if the tags on the tool are incorrect.").color(NamedTextColor.GREEN)); + audiences.sender(sender).sendMessage(Component.text("Type /toolstats reset confirm to confirm this.").color(NamedTextColor.GREEN)); return true; } default: { - sender.sendMessage(ChatColor.RED + "Invalid sub-command."); + audiences.sender(sender).sendMessage(Component.text("Invalid sub-command.").color(NamedTextColor.RED)); } } return true; diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 8e150cf..53b6e88 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -15,4 +15,8 @@ permissions: default: true toolstats.reload: description: Allows the usage of /toolstats reload - default: op \ No newline at end of file + default: op +libraries: + - lol.hyper:github-release-api:1.0.1 + - net.kyori:adventure-text-minimessage:4.10.1 + - net.kyori:adventure-platform-bukkit:4.1.0 \ No newline at end of file