PlayerData Core
Una biblioteca ligera para almacenar y recuperar datos de jugadores en los plugins del servidor Hytale. Características ...

CodecLib es una biblioteca de configuración de Hytale ligera que automatiza la creación de BuilderCodec utilizando reflexión. Te permite crear archivos de configuración complejos y estructuras de datos utilizando simples POJOs (Plain Old Java Objects), sin necesidad de definir manualmente cada campo y codec.
🚀 Uso
Crea una clase con los campos que deseas serializar. Puedes inicializarlos para establecer valores predeterminados.
/**
* REGLAS:
* 1. Los campos NO DEBEN ser finales, estáticos o transitorios.
* 2. Los campos DEBEN comenzar con una letra mayúscula (convención de configuración de Hytale).
* 3. Asegúrate de que la clase personalizada que uses esté anotada con @Configuration también.
*/
@Configuration
public class MyConfig {
private String ExampleField = "defaultValue";
@FieldName("DifferentName") //Dentro de config.json este campo se llamará "DifferentName"
private String exampleFieldButWithDifferentName = "defaultValue2";
@SkipConfigField //Esto omitirá el campo para la serialización
private String thisFieldWillNotExist = "defaultValue3";
private int ExampleIntField = 42;
}
Usa el CodecFactory para generar el codec y cargar tu configuración.
// ... dentro de tu plugin ...
public CodecLibPlugin(@Nonnull JavaPluginInit init) {
super(init);
instance = this;
//Opcionalmente, puedes registrar tus propios codecs para tus tipos
CodecFactory.registerCustomCodec(Path.class, Codec.PATH);
//Simplemente usa CodecFactory.createClassCodec(YourClass.class) como Codec
CONFIG = withConfig("yourcustomconfig", CodecFactory.createClassCodec(ExampleConfig.class));
}
@Override
protected void setup() {
CONFIG.save();//Puedes guardar normalmente así
assert Objects.equals(CONFIG.get().getExampleField(), "defaultValue");
assert Objects.equals(CONFIG.get().getExampleIntField(), 42);
assert Objects.equals(CONFIG.get().getExampleFieldButWithDifferentName(), "defaultValue2");
}
Puedes poner objetos dentro de otros objetos. CodecLib generará codecs recursivamente para ellos.
@Configuration
public class DatabaseConfig {
public String Host = "localhost";
public int Port = 3306;
}
@Configuration
public class MainConfig {
public String PluginName = "MyPlugin";
// ¡Esto se manejará automáticamente!
public DatabaseConfig Database = new DatabaseConfig();
}
📦 Instalación
Reemplaza con tus instrucciones reales de JitPack/Maven si está alojado, de lo contrario, incluye o copia la biblioteca.
repositories {
maven { url 'https://jitpack.io' }
}
dependencies {
implementation 'com.github.Emibergo02:CodecLib:main-SNAPSHOT'
}
//Se sugiere reubicar el paquete en tu proyecto
shadowJar {
relocate 'dev.unnm3d.codeclib', 'your.package.name.codeclib'
}
✅ Tipos Soportados
La biblioteca resuelve automáticamente codecs para los siguientes tipos:
String, Boolean, Integer, Double, Long, Float, Byte, ShortUUID, InstantString[], int[], double[], long[], float[]📋 Requisitos
BuilderCodec, Codec, etc.)
Una biblioteca ligera para almacenar y recuperar datos de jugadores en los plugins del servidor Hytale. Características ...
SummonLib es una biblioteca de minions/summons impulsada por activos para mods de servidor de Hytale.Te permite definir ...
Colección de Interacciones de Hytale útiles para hacer una variedad de cosas. BlockRadiusInteraction Radius -> Basado...
Lemon Core es un mod de biblioteca compartida con código común para todos los mods de Hytale de LemonadeSergeants.Contie...
Este mod está destinado a convertirse en una biblioteca central y base para muchos mods futuros diferentes. ✨ Caracterís...
“kukso-hy-lib” es una biblioteca central para el ecosistema de Mods de Kukso Hytale. Proporciona utilidades ...