Neilon (Text Library)

Mod

FabricMC text library to aid working with Minecraft's text system

Client or server Library

18 downloads
1 follower
Follow Save

Neilon

Neilon is a Fabric text library to aid in working with Minecraft text.

Featureset

  • Literal text
  • Translation text
  • Keybinding text
  • Basic text styling (bold, italic, underlined, strikethrough, magic)
  • Colors
  • Click actions
    • Command running
    • Command suggestions
    • Opening URLs
    • Copy to clipboard
  • Hover events
    • Text
    • Item
    • Entity
  • QOL text methods
    • Repeat
    • Keybinding
    • Translation
    • Color
  • QOL features
    • Automatic command click fixer, no longer requiring / in front
    • Automatic URL fixer, no longer requiring https:// in front

Planned

  • Gradients

Usage

See the wiki, or directly contribute to our wiki

Update policy

Unless we see high demand, or we need it ourselves, we will follow the latest Minecraft version by looking at Create Fabric, as this mod is used primarily for the SnackBag Create mod server.

We try our best to not introduce breaking changes unless truly necessary. Methods will rather be marked as deprecated

Code example

NText.assemble()
    .text("[Epic Button]")
    .color(Color.RED)
    .hover("What will this do?")
    .click(ClickType.RUN, "kill @s")
    
    .text(" ")
    
    .text("[Another Button]")
    .color(Color.GREEN)
    .hover(NText.of("I suspect this won't be any better.", Color.GREEN))
    .click(ClickType.COPY, "i like trains")
    
    .build();

For reference, this is how it would look like when using vanilla code

Text.literal("[Epic Button]")
    .styled(style -> style
        .withColor(Formatting.RED)
        .withHoverEvent(new HoverEvent(
            HoverEvent.Action.SHOW_TEXT,
            Text.literal("What will this do?")
        ))
        .withClickEvent(new ClickEvent(
            ClickEvent.Action.RUN_COMMAND,
            "kill @s"
        ))
    )
    
    .append(" ")
    
    .append(Text.literal("[Another Button]")
        .styled(style -> style
            .withColor(Formatting.GREEN)
            .withHoverEvent(new HoverEvent(
                HoverEvent.Action.SHOW_TEXT,
                Text.literal("I suspect this won't be any better.")
                    .styled(s -> s.withColor(Formatting.GREEN))
            ))
            .withClickEvent(new ClickEvent(
                ClickEvent.Action.COPY_TO_CLIPBOARD,
                "i like trains"
            ))
        )
    );

Project members

JXSnack

Member

Details

Licensed GPL-3.0-only
Published a month ago
Updated 2 months ago