Skip to content

ClickEvent.custom crashes MiniMessage.serialize #1313

@kangarko

Description

@kangarko

Creating a new click event with a custom tag will crash MiniMessage.serialize

Code

ClickEvent.custom(Key.key("fo_custom_command"), BinaryTagHolder.binaryTagHolder(CommonCore.GSON.toJson(CommonCore.newHashMap("command", text))))

Error

java.lang.IllegalStateException: Payload is not a string payload, is CustomImpl{key=KeyImpl{namespace="minecraft", value="fo_custom_command"}, nbt=BinaryTagHolderImpl{}}
	at net.kyori.adventure.text.event.ClickEvent.value(ClickEvent.java:286) ~[adventure-api-4.24.0.jar:?]
	at net.kyori.adventure.text.minimessage.tag.standard.ClickTag.lambda$static$0(ClickTag.java:52) ~[adventure-text-minimessage-4.24.0.jar:?]
	at net.kyori.adventure.text.minimessage.internal.serializer.StyleClaimImpl.lambda$apply$0(StyleClaimImpl.java:57) ~[adventure-text-minimessage-4.24.0.jar:?]
	at net.kyori.adventure.text.minimessage.MiniMessageSerializer$Collector.style(MiniMessageSerializer.java:320) ~[adventure-text-minimessage-4.24.0.jar:?]
	at net.kyori.adventure.text.minimessage.internal.serializer.SerializableResolver$Single.handle(SerializableResolver.java:132) ~[adventure-text-minimessage-4.24.0.jar:?]
	at net.kyori.adventure.text.minimessage.tag.resolver.SequentialTagResolver.handle(SequentialTagResolver.java:89) ~[adventure-text-minimessage-4.24.0.jar:?]
	at net.kyori.adventure.text.minimessage.MiniMessageSerializer.visit(MiniMessageSerializer.java:70) ~[adventure-text-minimessage-4.24.0.jar:?]
	at net.kyori.adventure.text.minimessage.MiniMessageSerializer.serialize(MiniMessageSerializer.java:57) ~[adventure-text-minimessage-4.24.0.jar:?]
	at net.kyori.adventure.text.minimessage.MiniMessageImpl.serialize(MiniMessageImpl.java:122) ~[adventure-text-minimessage-4.24.0.jar:?]
	at net.kyori.adventure.text.minimessage.MiniMessageImpl.serialize(MiniMessageImpl.java:46) ~[adventure-text-minimessage-4.24.0.jar:?]

Please advise how can I serialize these components as we need to convert them to json etc. and back and for our chat plugin.

Thanks,
Matej

@devpedrobarbosa

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions