A TypeScript-written library for encode/decode Minecraft Formatting Code. 一个解析/编码Minecraft中的格式代码的,使用TypeScript编写的库。
- 分别支持基岩版、Java版各自的解析方式(Java版暂未完成)
- 自带类型注释
- 支持转换到HTML(§k以外)
import {parseFmc} from 'mc-format-code'
const result = parseFmc('§o§2Hello §r§lMinecraft')
console.log(result)
/**expect:
* RichString(2) [
RichSpan {
content: 'Hello ',
color: Color {
name: 'dark_green',
fmc: '2',
cssBackColor: '#002A00',
cssForeColor: '#00AA00'
},
decorations: [ false, true, false, false, false ]
},
RichSpan {
content: 'Minecraft',
color: undefined,
decorations: [ true, false, false, false, false ]
}
]
*/一段文本中每段相同样式的字段由RichSpan表示,RichSpan组成RichString。
使用new RichString(new RichSpan('abc'),new RichSpan({content:'def'}))来构造RichString。
调用RichString.toFmt()来编码成格式代码。
调用RichString.toHTML()来编码HTML。
//TODO:
部分版本的Minecraft: Java Edition仅支持ASCII字符,Unicode字符需要转换成/u****的形式才能被正常解析。
unicode-helper.ts中提供escapeSpecialChar()来执行转换。