Configuración e integración de GUI (MC 26.2)
Este documento detalla el esquema del archivo de configuración, la integración de la GUI de YACL v3, puntos de entrada de ModMenu y reglas de precedencia de mundo para Item Clumps en Minecraft 26.2.
📊 Ficha técnica de configuración
| Propiedad | Valor |
|---|---|
| Ruta del archivo de configuración | config/item-clumps.json |
| Formato de archivo | JSON (Administrado mediante ConfigHelper de DasikLibrary) |
| Versión de esquema actual | configVersion: 1 |
| Proveedor de interfaz gráfica | YetAnotherConfigLib v3 (YACL) mediante ModMenu |
| Aislamiento de carga de clases | Reflexión diferida (GuiHelper.getOptionalYaclFactory) |
| Mandato de precedencia | Config define valores predeterminados de nuevos mundos; mundos activos usan GameRules |
⚠️ Regla de precedencia: Configuración global vs. Mundo activo
⚠️ AVISO IMPORTANTE: Modificar
config/item-clumps.jsono cambiar la configuración en la GUI de ModMenu define los valores predeterminados de referencia para los mundos recién creados. Para configurar ajustes en un mundo activo o existente, utiliza el comando/gameruleen el juego o la pantalla de edición nativa de Reglas de juego.
📄 Esquema del archivo JSON (config/item-clumps.json)
{
"configVersion": 1,
"enableClumping": true,
"maxClumpSize": 9999,
"renderLabels": true,
"mergeRadius": 1,
"labelMinCount": -1
}Definiciones de campos
| Clave JSON | Tipo | Predeterminado | Descripción |
|---|---|---|---|
configVersion | Entero | 1 | Rastreador interno de migración de esquema. |
enableClumping | Booleano | true | Habilita o deshabilita la fusión de objetos en mega-stacks. |
maxClumpSize | Entero | 9999 | Límite máximo de objetos por entidad de grupo ($64\text{ a }2,147,483,647$). |
renderLabels | Booleano | true | Muestra etiquetas de nombre personalizadas flotantes con cantidades sobre los grupos. |
mergeRadius | Entero | 1 | Radio de búsqueda de bloques horizontal ($1\text{ a }10\text{ bloques}$). |
labelMinCount | Entero | -1 | Umbral antes de mostrar la etiqueta de cantidad (-1 = stack máximo vanilla). |
🖥️ Interfaz gráfica (YACL v3 y ModMenu)
Item Clumps integra pantallas de configuración opcionales del lado del cliente mediante YetAnotherConfigLib (YACL v3) y ModMenu:
+-------------------------------------------------------------------------+
| ITEM CLUMPS CONFIGURATION |
| |
| [ General Settings ] |
| |
| Enable Clumping ............................................ [ ON ] |
| When true, ground items aggressively merge into mega-stacks. |
| |
| Max Clump Size ............................................. [ 9999 ] |
| The hard cap on items per entity. (Hidden if Stack Size Adjuster on) |
| |
| Render Labels .............................................. [ ON ] |
| Renders holographic count above item clumps. |
| |
| Merge Radius ................................... [───●──────────] (1) |
| Horizontal block search radius (1-10 blocks). |
| |
| Label Min Count ............................................ [ -1 ] |
| Minimum item count before label displays (-1 for vanilla max stack). |
| |
| [ Cancel ] [ Save & Quit ] |
+-------------------------------------------------------------------------+Carga de clases diferida y segura
Para garantizar que el mod nunca cause caídas en servidores dedicados o clientes que no tengan YACL o ModMenu instalados, la instanciación de pantallas está aislada tras GuiHelper.getOptionalYaclFactory:
// ModMenuIntegration.java (MC 26.2)
public class ModMenuIntegration implements ModMenuApi {
@Override
public ConfigScreenFactory<?> getModConfigScreenFactory() {
return GuiHelper.getOptionalYaclFactory(
"item_clumps",
"net.instantgratification.item_clumps.config.YaclScreenHelper",
"createScreen"
);
}
}