prismarine-chat
A parser for a minecraft chat message
Usage
const ChatMessage = require('prismarine-chat')('1.16')
const msg = new ChatMessage({"text":"Example chat mesasge"})
console.log(msg.toString()) // Example chat message
API
ChatMessage(message,[displayWarning])
message
- Can be either text or a minecraft chat JSON objectdisplayWarning
- Display warnings if true, default to false
chat.toString([lang])
Flattens the message in to plain-text
lang
- (optional) - Set a custom lang (defaults to mcData.language)
chat.toMotd([lang], parent)
Converts to motd format
lang
- (optional) - Set a custom lang (defaults to mcData.language)parent
- Set a custom lang (defaults to mcData.language)
chat.getText(idx, [lang])
Returns a text part from the message
idx
- Index of the partlang
- (optional) - Set a custom lang (defaults to mcData.language)
chat.toAnsi([lang])
Converts to ansi format
lang
- (optional) - Set a custom lang (defaults to mcData.language)
chat.length()
Returns the count of text extras and child ChatMessages Does not count recursively in to the children
chat.append(ChatMessage)
Appends another ChatMessage or a string
chat.clone()
Returns a clone of the ChatMessage
const { MessageBuilder } = require('prismarine-chat')('1.16')
const msg = new MessageBuilder().setText('Example chat mesasge')
console.log(JSON.stringify(msg)) // The string as a message component
static ChatMessage.fromNotch(msg)
Returns a prismarine-chat representation of the message recieved from the 'chat' packet, example shown here
MessageBuilder()
setBold (val: boolean) : this
setItalic (val: boolean) : this
setUnderlined (val: boolean) : this
setStrikethrough (val: boolean) : this
setObfuscated (val: boolean) : this
setColor (val: string) : this
setText (val: string) : this
check code for examples (and explanations) from here on
setFont (val: string) : this
setTranslate (val: string) : this
setInsertion (val: string) : this
setKeybind (val: string) : this
setScore (name: string, objective: string) : this
setClickEvent (action: string, value: object) : this
setHoverEvent (action: string, data: object, type?: 'contents'|'value') : this
addExtra (...val: MessageBuilder | string) : this
addWith (...val: MessageBuilder | string) : this
resetFormatting () : void
sets every one of the formatting options to false and sets text to reset
type
toJSON () : object
builder.toJSON()
is the same thing as JSON.stringify(builder)
toString () : string
runs JSON.stringify()
on this
static MessageBuilder.fromString(str, {colorSeparator = '&'}) : MessageBuilder
convert string with color codes like &4Hello&cWorld
to a MessageBuilder
object