From 3c078fc50395b1e6ef5f19158a5e12ca8a48c323 Mon Sep 17 00:00:00 2001 From: Liza <86650306+6uf@users.noreply.github.com> Date: Sun, 29 May 2022 18:41:02 -0200 Subject: [PATCH] Make HoverEvent struct work. --- chat/hoverevent.go | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/chat/hoverevent.go b/chat/hoverevent.go index 698fa48..87c7900 100644 --- a/chat/hoverevent.go +++ b/chat/hoverevent.go @@ -2,12 +2,17 @@ package chat // HoverEvent defines an event that occurs when this component hovered over. type HoverEvent struct { - Action string `json:"action"` - Value Message `json:"value"` + Action string `json:"action"` + Value []HoverSub `json:"value"` // The issue i found is the fact the json is different now, it wasnt parsing properly because Message was invalid, its a listed dict. +} + +type HoverSub struct { + Color string `json:"color"` + Text string `json:"text"` } // ShowText show the text to display. -func ShowText(text Message) *HoverEvent { +func ShowText(text []HoverSub) *HoverEvent { return &HoverEvent{ Action: "show_text", Value: text, @@ -18,17 +23,29 @@ func ShowText(text Message) *HoverEvent { // Item is encoded as the S-NBT format, nbt.StringifiedMessage could help. // See: https://wiki.vg/Chat#:~:text=show_item,in%20red%20instead. func ShowItem(item string) *HoverEvent { + T := Text(item) return &HoverEvent{ Action: "show_item", - Value: Text(item), + Value: []HoverSub{ + { + Color: T.Color, + Text: T.Text, + }, + }, } } // ShowEntity show an entity describing by the S-NBT, nbt.StringifiedMessage could help. // See: https://wiki.vg/Chat#:~:text=show_entity,given%20entity%20loaded. func ShowEntity(entity string) *HoverEvent { + T := Text(entity) return &HoverEvent{ Action: "show_entity", - Value: Text(entity), + Value: []HoverSub{ + { + Color: T.Color, + Text: T.Color, + }, + }, } }