Parser and printer for Minecraft json text
Based on the text schema from wiki.vg.
Basic usage of parsing and printing
import { Converter } from 'minecraft-text';
const converter = new Converter();
const component = converter.parse('{"text": "Test", "bold": "true"}');
const html = converter.toHTML(component);Default options for the Converter constructor
newline: falseIf newlines should be replaced with a space for plaintext or<br>for htmluseClasses: falseIf using classes or inline styles in the html outputclassPrefix: 'mc-'The prefix to use for class html outputsetClassSuffix: '-set'The suffix to use fortruestyle booleans for class html outputunsetClassSuffix: '-unset'The suffix to use forfalsestyle booleans for class html outputparsersA map of parsers for specific types of components, likeITextComponentandITranslateComponent. The key is set to the key of a json you want to support parsing for. Default a parser for thetexttype is added if not existing.printersA map of printers to check for printing components. By default a printer forITextComponentis added if no other is added to thetextkey. The key is only used to override the default one.styles:The inline styles to use when printing to HTML.black: '#000000'darkBlue: '#0000AA'darkGreen: '#00AA00'darkAqua: '#00AAAA'darkRed: '#AA0000'darkPurple: '#AA00AA'gold: '#FFAA00'gray: '#AAAAAA'darkGray: '#555555'blue: '#5555FF'green: '#55FF55'aqua: '#55FFFF'red: '#FF5555'lightPurple: '#FF55FF'yellow: '#FFFF55'white: '#FFFFFF'minecoinGold: '#DDD605'bold: 'bold'italic: 'italic'underlined: 'underline'strikethrough: 'line-through'obfuscated: ''
classes:The classes to use when printing to HTML.black: 'black'darkBlue: 'dark-blue'darkGreen: 'dark-green'darkAqua: 'dark-aqua'darkRed: 'dark-red'darkPurple: 'dark-purple'gold: 'gold'gray: 'gray'darkGray: 'dark-gray'blue: 'blue'green: 'green'aqua: 'aqua'red: 'red'lightPurple: 'light-purple'yellow: 'yellow'white: 'white'minecoinGold: 'minecoin-gold'bold: 'bold'italic: 'italic'underlined: 'underlined'strikethrough: 'strikethrough'obfuscated: 'obfuscated'