TaleMessage

TaleMessage

Por InsiderAnh 18 de enero de 2026
#Gamers#Hytale#Java#Mensaje de Cuento#mensajes#plugins#programación#TaleMessage

Una biblioteca de utilidades al estilo MiniMessage para Hytale que simplifica el formato de mensajes utilizando etiquetas al estilo HTML.

alt text

¿Qué es TaleMessage?

TaleMessage te permite crear mensajes formateados para Hytale utilizando una sintaxis intuitiva basada en etiquetas, similar a MiniMessage. En lugar de construir manualmente cadenas de Message complejas, puedes escribir cadenas limpias y legibles con etiquetas.

¿Por qué añadir soporte para TaleMessage?

  • Mejora de la experiencia del usuario: Permite a los usuarios personalizar colores y formatos en archivos de configuración sin códigos de color complejos.
  • Fácil de usar: Etiquetas simples al estilo HTML que cualquiera puede entender y utilizar.
  • Características potentes: Soporte para degradados, colores RGB, colores hexadecimales y formato anidado.
  • Aspecto profesional: Dale a tu plugin un toque moderno y pulido con mensajes formateados.

Beneficios para tus usuarios

Al soportar TaleMessage, los usuarios de tu plugin pueden:

  • Personalizar toda la salida de texto sin modificar el código de tu plugin.
  • Crear mensajes de aspecto profesional con degradados y colores personalizados.
  • Utilizar una sintaxis simple y legible en lugar de códigos de color.
  • Compartir y reutilizar estilos de formato fácilmente.

Características

  • Colores nombrados (rojo, azul, dorado, etc.)
  • Colores hexadecimales (#FF5555)
  • Colores RGB (255,85,85)
  • Formato de texto (negrita, cursiva, subrayado, monoespaciado)
  • Degradados multicolores
  • Soporte para etiquetas anidadas
  • Caracteres de escape

Integración rápida

Agrega TaleMessage como una dependencia (como se muestra en la sección de Instalación), luego simplemente analiza las cadenas proporcionadas por el usuario:

import io.github.insideranh.talemessage.TaleMessage;
import com.hypixel.hytale.server.core.Message;

// En tu configuración o manejador de mensajes
public void sendCustomMessage(PlayerRef player, String configMessage) {
    Message formattedMessage = TaleMessage.parse(configMessage);
    player.sendMessage(formattedMessage);
}

Ejemplos de casos de uso

Archivos de configuración: Permite a los usuarios personalizar mensajes en la configuración de tu plugin:

{
  "messages": {
    "welcome": "<gradient:gold:yellow>¡Bienvenido al servidor!</gradient> <white>Disfruta de tu estancia, <aqua>{player}</aqua></white>",
    "error": "<red><bold>Error:</bold></red> <white>{message}</white>",
    "success": "<green>✓</green> <white>{message}</white>"
  }
}

Instalación

Gradle

repositories {
    maven { url 'https://jitpack.io' }
}

dependencies {
    compileOnly 'com.github.InsiderAnh:TaleMessage:1.0.1'
}

Maven

<repositories>
    <repository>
        <id>jitpack.io</id>
        <url>https://jitpack.io&lt;/url&gt;
    </repository>
</repositories>

<dependencies>
    <dependency>
        <groupId>com.github.InsiderAnh</groupId>
        <artifactId>TaleMessage</artifactId>
        <version>1.0.1</version>
        <scope>provided</scope>
    </dependency>
</dependencies>

Ejemplos rápidos

Uso básico

import io.github.insideranh.talemessage.TaleMessage;

// Mensaje simple de color
Message msg = TaleMessage.parse("<red>¡Error!</red>");
playerRef.sendMessage(msg);

// Múltiples colores
Message welcome = TaleMessage.parse("<gold>Bienvenido</gold> <white>al servidor!</white>");
playerRef.sendMessage(welcome);

Formato

// Texto en negrita
Message bold = TaleMessage.parse("<bold>Mensaje importante</bold>");
playerRef.sendMessage(bold);

// Formato combinado
Message error = TaleMessage.parse("<red><bold>¡Error crítico!</bold></red>");
playerRef.sendMessage(error);

Colores Hex y RGB

// Hexadecimal
Message hex = TaleMessage.parse("<#FF5555>Color personalizado</#FF5555>");
playerRef.sendMessage(hex);

// Valores RGB
Message rgb = TaleMessage.parse("<255,85,85>Texto rojo</255,85,85>");
playerRef.sendMessage(rgb);

Degradados

// Degradado de dos colores
Message gradient = TaleMessage.parse("<gradient:red:blue>Texto degradado</gradient>");
playerRef.sendMessage(gradient);

// Efecto arcoíris
Message rainbow = TaleMessage.parse("<gradient:red:yellow:green:blue:purple>¡Arcoíris!</gradient>");
playerRef.sendMessage(rainbow);

Etiquetas anidadas

// Combina colores y formato
Message complex = TaleMessage.parse(
    "<blue><bold>Servidor:</bold> <white>El estado es <green>En línea</green></white></blue>"
);
playerRef.sendMessage(complex);

Métodos auxiliares

// Mensaje coloreado rápido
Message msg = TaleMessage.colored("aqua", "Mensaje rápido");

// Degradado rápido
Message grad = TaleMessage.gradient("Texto", "red", "yellow", "green");

// Eliminar etiquetas (obtener texto plano)
String plain = TaleMessage.strip("<red>Hola <bold>Mundo</bold></red>");
// Resultado: "Hola Mundo"

Ejemplos prácticos

Mensaje de error

Message error = TaleMessage.parse(
    "<red><bold>Error:</bold></red> <white>No se pudo cargar el archivo <gold>config.yml</gold></white>"
);
playerRef.sendMessage(error);

Mensaje de éxito

Message success = TaleMessage.parse(
    "<green><bold>Éxito:</bold></green> <white>¡Has ganado <gold>100</gold> puntos!</white>"
);
playerRef.sendMessage(success);

Transmisión del servidor

Message broadcast = TaleMessage.parse(
    "<gradient:gold:yellow>[SERVIDOR]</gradient> <white>Mantenimiento en <red>5 minutos</red></white>"
);
server.broadcast(broadcast);

Mensaje de chat

Message chat = TaleMessage.parse(
    "<dark_gray>[</dark_gray><gradient:red:dark_red>Admin</gradient><dark_gray>]</dark_gray> " +
    "<red><bold>" + playerName + "</bold></red><dark_gray>:</dark_gray> " +
    "<white>" + message + "</white>"
);
server.broadcast(chat);

En el código de tu plugin:

import com.hypixel.hytale.codec.Codec;
import com.hypixel.hytale.codec.KeyedCodec;
import com.hypixel.hytale.codec.builder.BuilderCodec;
import io.github.insideranh.talemessage.TaleMessage;
import com.hypixel.hytale.server.core.Message;

public class MessagesConfig {

    public static final BuilderCodec<MessagesConfig> CODEC =
        BuilderCodec.builder(MessagesConfig.class, MessagesConfig::new)
            .append(new KeyedCodec<>("messages.welcome", Codec.STRING),
                (c, v) -> c.welcomeMessage = v, c -> c.welcomeMessage)
            .add()
            .append(new KeyedCodec<>("messages.error", Codec.STRING),
                (c, v) -> c.errorMessage = v, c -> c.errorMessage)
            .add()
            .append(new KeyedCodec<>("messages.success", Codec.STRING),
                (c, v) -> c.successMessage = v, c -> c.successMessage)
            .add()
            .build();

    public static MessagesConfig INSTANCE;

    private String welcomeMessage = "<gradient:gold:yellow>¡Bienvenido!</gradient>";
    private String errorMessage = "<red><bold>Error:</bold></red> <white>{message}</white>";
    private String successMessage = "<green>✓</green> <white>{message}</white>";

    {
        INSTANCE = this;
    }

    public void sendWelcome(PlayerRef player) {
        String formatted = welcomeMessage.replace("{player}", player.getName());
        Message message = TaleMessage.parse(formatted);
        player.sendMessage(message);
    }

    public void sendError(PlayerRef player, String errorText) {
        String formatted = errorMessage.replace("{message}", errorText);
        Message message = TaleMessage.parse(formatted);
        player.sendMessage(message);
    }

    public void sendSuccess(PlayerRef player, String successText) {
        String formatted = successMessage.replace("{message}", successText);
        Message message = TaleMessage.parse(formatted);
        player.sendMessage(message);
    }
}

Colores soportados

Colores de Minecraft

black, dark_blue, dark_green, dark_aqua, dark_red, dark_purple, gold, gray, dark_gray, blue, green, aqua, red, light_purple, yellow, white

Colores adicionales

orange, pink, purple, cyan, magenta, lime, brown

Colores personalizados

  • Hexadecimal: <#RRGGBB>text</#RRGGBB> o <RRGGBB>text</RRGGBB>
  • RGB: <R,G,B>text</R,G,B> donde los valores son 0-255

Etiquetas de formato

  • Negrita: <bold> o <strong>
  • Cursiva: <italic> o <em>
  • Subrayado: <underline> o <u>
  • Monoespaciado: <monospace> o <mono>

Caracteres de escape

Utiliza la barra invertida para escapar los corchetes angulares:

String escaped = TaleMessage.escape("<html>");
// Resultado: "<html>"

Enlaces

Requisitos

  • Java 21+
  • API del servidor de Hytale

Licencia

Proyecto de código abierto para su uso en proyectos de Hytale.

Nota: Este es un proyecto independiente no afiliado oficialmente con Hytale o Hypixel Studios.

Relacionados:

ChatBrawl Chat Games

ChatBrawl Chat Games

#ChatBrawl#Competencia#Gamers

ChatBrawl (Hytale – Plugin de Juegos de Chat) ChatBrawl añade minijuegos basados en chat rápidos y divertidos a tu servi...

Lendills Stack Size

Lendills Stack Size

#actualización#apilamiento#Gamers

Tamaños de apilamiento de Lendills El tamaño de apilamiento estándar de Hytale para la mayoría de los objetos y bloques ...

Minecraftians

Minecraftians

#armaduras#armas#elaboración

¡Añade un conjunto familiar de herramientas, armas y armaduras, 9 nuevas pociones de transformación, un nuevo tipo de co...

Simple Debug Info Hud

Simple Debug Info Hud

#coordenadas#depuración#Gamers

Un plugin ligero que proporciona a los jugadores una superposición de depuración. Características:Coordenadas del jugado...

UUID/Name Condition Interaction

UUID/Name Condition Interaction

#Gamers#Hytale#Interacción

Interacción Plug-n-Play para comprobar UUIDs o Nombres de Pantalla. El uso previsto es para servidores pequeños donde de...