From ace7691b7fd006a42ef84982186f8a1310357171 Mon Sep 17 00:00:00 2001 From: TheLonelyWolf <42873246+TheLonelyWolf1@users.noreply.github.com> Date: Tue, 14 Jun 2022 20:24:42 +0200 Subject: [PATCH 1/2] Added MiniMessage Support as CommandTag - CommandTags: minimessage= Tested with: 1.19, 1.18, 1.16 DISCLAIMER: Only works on Paper 1.18 or newer! --- pom.xml | 16 ++++++++++++- .../classresources/Serializer.java | 12 ++++++++++ .../commandtags/tags/standard/BasicTags.java | 24 +++++++++++++++++++ 3 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 src/me/rockyhawk/commandpanels/classresources/Serializer.java 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/Serializer.java b/src/me/rockyhawk/commandpanels/classresources/Serializer.java new file mode 100644 index 0000000..dbb0a80 --- /dev/null +++ b/src/me/rockyhawk/commandpanels/classresources/Serializer.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 Serializer { + + 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..8a3153e 100644 --- a/src/me/rockyhawk/commandpanels/commandtags/tags/standard/BasicTags.java +++ b/src/me/rockyhawk/commandpanels/commandtags/tags/standard/BasicTags.java @@ -2,13 +2,21 @@ package me.rockyhawk.commandpanels.commandtags.tags.standard; import me.rockyhawk.commandpanels.CommandPanels; import me.rockyhawk.commandpanels.api.PanelCommandEvent; +import me.rockyhawk.commandpanels.classresources.Serializer; 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; +import java.util.Arrays; + public class BasicTags implements Listener { CommandPanels plugin; public BasicTags(CommandPanels pl) { @@ -98,5 +106,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 = Serializer.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!"); + } + } } } From 3d49d7281e41a917b9d397724426ffc1e005836f Mon Sep 17 00:00:00 2001 From: TheLonelyWolf <42873246+TheLonelyWolf1@users.noreply.github.com> Date: Thu, 16 Jun 2022 12:20:54 +0200 Subject: [PATCH 2/2] Fix Failing Checks for PR --- .../{Serializer.java => SerializerUtils.java} | 2 +- .../commandpanels/commandtags/tags/standard/BasicTags.java | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) rename src/me/rockyhawk/commandpanels/classresources/{Serializer.java => SerializerUtils.java} (91%) diff --git a/src/me/rockyhawk/commandpanels/classresources/Serializer.java b/src/me/rockyhawk/commandpanels/classresources/SerializerUtils.java similarity index 91% rename from src/me/rockyhawk/commandpanels/classresources/Serializer.java rename to src/me/rockyhawk/commandpanels/classresources/SerializerUtils.java index dbb0a80..8c88f62 100644 --- a/src/me/rockyhawk/commandpanels/classresources/Serializer.java +++ b/src/me/rockyhawk/commandpanels/classresources/SerializerUtils.java @@ -3,7 +3,7 @@ package me.rockyhawk.commandpanels.classresources; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.minimessage.MiniMessage; -public class Serializer { +public class SerializerUtils { public static Component serializeText(String msg){ Component parsedText = MiniMessage.miniMessage().deserialize(msg); diff --git a/src/me/rockyhawk/commandpanels/commandtags/tags/standard/BasicTags.java b/src/me/rockyhawk/commandpanels/commandtags/tags/standard/BasicTags.java index 8a3153e..d2918a4 100644 --- a/src/me/rockyhawk/commandpanels/commandtags/tags/standard/BasicTags.java +++ b/src/me/rockyhawk/commandpanels/commandtags/tags/standard/BasicTags.java @@ -2,7 +2,7 @@ package me.rockyhawk.commandpanels.commandtags.tags.standard; import me.rockyhawk.commandpanels.CommandPanels; import me.rockyhawk.commandpanels.api.PanelCommandEvent; -import me.rockyhawk.commandpanels.classresources.Serializer; +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; @@ -15,8 +15,6 @@ import org.bukkit.Sound; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; -import java.util.Arrays; - public class BasicTags implements Listener { CommandPanels plugin; public BasicTags(CommandPanels pl) { @@ -113,7 +111,7 @@ public class BasicTags implements Listener { 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 = Serializer.serializeText(String.join(" ",e.args)); + 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!");