diff --git a/pom.xml b/pom.xml index 0dc0ce9..5e3f775 100644 --- a/pom.xml +++ b/pom.xml @@ -12,5 +12,19 @@ 8 8 - + + + + sonatype + https://oss.sonatype.org/content/groups/public/ + + + + + + net.kyori + adventure-text-minimessage + 4.11.0 + + \ No newline at end of file diff --git a/src/me/rockyhawk/commandpanels/classresources/SerializerUtils.java b/src/me/rockyhawk/commandpanels/classresources/SerializerUtils.java new file mode 100644 index 0000000..8c88f62 --- /dev/null +++ b/src/me/rockyhawk/commandpanels/classresources/SerializerUtils.java @@ -0,0 +1,12 @@ +package me.rockyhawk.commandpanels.classresources; + +import net.kyori.adventure.text.Component; +import net.kyori.adventure.text.minimessage.MiniMessage; + +public class SerializerUtils { + + public static Component serializeText(String msg){ + Component parsedText = MiniMessage.miniMessage().deserialize(msg); + return parsedText; + } +} diff --git a/src/me/rockyhawk/commandpanels/commandtags/tags/standard/BasicTags.java b/src/me/rockyhawk/commandpanels/commandtags/tags/standard/BasicTags.java index 345e764..d2918a4 100644 --- a/src/me/rockyhawk/commandpanels/commandtags/tags/standard/BasicTags.java +++ b/src/me/rockyhawk/commandpanels/commandtags/tags/standard/BasicTags.java @@ -2,9 +2,15 @@ package me.rockyhawk.commandpanels.commandtags.tags.standard; import me.rockyhawk.commandpanels.CommandPanels; import me.rockyhawk.commandpanels.api.PanelCommandEvent; +import me.rockyhawk.commandpanels.classresources.SerializerUtils; import me.rockyhawk.commandpanels.commandtags.CommandTagEvent; +import me.rockyhawk.commandpanels.ioclasses.legacy.LegacyVersion; +import me.rockyhawk.commandpanels.ioclasses.legacy.MinecraftVersions; import me.rockyhawk.commandpanels.openpanelsmanager.PanelOpenType; +import net.kyori.adventure.audience.Audience; +import net.kyori.adventure.text.Component; import org.bukkit.Bukkit; +import org.bukkit.ChatColor; import org.bukkit.Sound; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; @@ -98,5 +104,21 @@ public class BasicTags implements Listener { PanelCommandEvent commandEvent = new PanelCommandEvent(e.p, e.args[0], e.panel); Bukkit.getPluginManager().callEvent(commandEvent); } + if(e.name.equalsIgnoreCase("minimessage=")){ + e.commandTagUsed(); + String tag = plugin.config.getString("config.format.tag") + " "; + if(Bukkit.getServer().getVersion().contains("Paper")){ + LegacyVersion legacy = new LegacyVersion(plugin); + if(legacy.LOCAL_VERSION.greaterThanOrEqualTo(MinecraftVersions.v1_18)){ + Audience player = (Audience) e.p; // Needed because the basic Player from the Event can't send Paper's Components + Component parsedText = SerializerUtils.serializeText(String.join(" ",e.args)); + player.sendMessage(parsedText); + }else{ + plugin.tex.sendString(e.p, tag + ChatColor.RED + "MiniMessage-Feature needs Paper 1.18 or newer to work!"); + } + }else{ + plugin.tex.sendString(e.p, tag + ChatColor.RED + "MiniMessage-Feature needs Paper 1.18 or newer to work!"); + } + } } }