package cc.reconnected.server.util; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.ComponentLike; import net.kyori.adventure.text.event.ClickEvent; import net.kyori.adventure.text.event.HoverEvent; import net.kyori.adventure.text.format.NamedTextColor; import net.kyori.adventure.text.serializer.json.JSONComponentSerializer; import net.minecraft.text.MutableText; import net.minecraft.text.Text; public class Components { public static Component makeButton(ComponentLike text, ComponentLike hoverText, String command) { return Component.empty() .append(Component.text("[")) .append(text) .append(Component.text("]")) .color(NamedTextColor.AQUA) .hoverEvent(HoverEvent.showText(hoverText)) .clickEvent(ClickEvent.runCommand(command)); } public static MutableText toText(Component component) { var json = JSONComponentSerializer.json().serialize(component); return Text.Serializer.fromJson(json); } }