@createlumina/text-component
v1.0.0
Published
Parse Minecraft text component and render it to css.
Downloads
3
Maintainers
Readme
Text-component Module
Version made for Lumina projects. Original credits goes to Voxelum/minecraft-launcher-core-node
Provide functions to parse Minecraft text component.
Usage
TextComponent
Create TextComponent from string OR Minecraft's formatted string, like '§cThis is red'
:
import { TextComponent, fromFormattedString } from '@createlumina/text-component';
const formattedString: string;
const fromFormatted: TextComponent = fromFormattedString(formattedString);
Render the TextComponent to css:
import { TextComponent, render, RenderNode } from '@createlumina/text-component';
const yourComponent: TextComponent;
const node: RenderNode = render(yourComponent);
node.text; // the text of the node
node.style; // style of the node
node.children; // children
// you can render in dom like this:
function renderToDom(node: RenderNode) {
const span = document.createElement('span');
span.style = node.style;
span.textContent = node.text;
for (const child of node.children) {
span.appendChild(renderToDom(child));
}
}
Iterate the TextComponent and its children:
import { TextComponent, flat } from '@createlumina/text-component';
const yourComponent: TextComponent;
const selfAndAllChildren: Array<TextComponent> = flat(yourComponent);