Configuração e Integração com GUI (MC 26.2)
Este documento detalha o esquema do arquivo de configuração, integração com YACL v3 GUI, pontos de entrada do ModMenu e regras de precedência de mundo para o Item Clumps no Minecraft 26.2.
📊 Ficha Técnica de Configuração
| Propriedade | Valor |
|---|---|
| Caminho do Arquivo de Configuração | config/item-clumps.json |
| Formato do Arquivo | JSON (Gerenciado via ConfigHelper da DasikLibrary) |
| Versão Atual do Esquema | configVersion: 1 |
| Provedor de Interface Gráfica | YetAnotherConfigLib v3 (YACL) via ModMenu |
| Isolamento de Carregamento de Classes | Reflexão diferida (GuiHelper.getOptionalYaclFactory) |
| Mandato de Precedência | Config define padrões para novos mundos; mundos ativos usam GameRules |
⚠️ Regra de Precedência: Configuração Global vs. Mundo Ativo
⚠️ AVISO IMPORTANTE: Modificar
config/item-clumps.jsonou alterar configurações na GUI do ModMenu define os valores padrão de referência para mundos recém-criados. Para configurar ajustes em um mundo ativo ou existente, use o comando/gameruleno jogo ou a tela nativa de edição de Regras do Jogo.
📄 Esquema do Arquivo JSON (config/item-clumps.json)
{
"configVersion": 1,
"enableClumping": true,
"maxClumpSize": 9999,
"renderLabels": true,
"mergeRadius": 1,
"labelMinCount": -1
}Definições de Campos
| Chave JSON | Tipo | Padrão | Descrição |
|---|---|---|---|
configVersion | Inteiro | 1 | Rastreador interno de migração de esquema. |
enableClumping | Booleano | true | Ativa ou desativa a fusão de itens em mega-pilhas. |
maxClumpSize | Inteiro | 9999 | Limite máximo de itens por entidade de agrupamento ($64\text{ a }2.147.483.647$). |
renderLabels | Booleano | true | Renderiza etiquetas flutuantes personalizadas com quantidades sobre agrupamentos. |
mergeRadius | Inteiro | 1 | Raio de busca de blocos na horizontal ($1\text{ a }10\text{ blocos}$). |
labelMinCount | Inteiro | -1 | Limiar antes de exibir a etiqueta de contagem (-1 = pilha máxima vanilla). |
🖥️ Interface Gráfica (YACL v3 e ModMenu)
O Item Clumps integra telas de configuração opcionais do lado do cliente através de YetAnotherConfigLib (YACL v3) e 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 ] |
+-------------------------------------------------------------------------+Carregamento de Classes Diferido e Seguro
Para garantir que o mod nunca cause travamentos em servidores dedicados ou clientes sem YACL ou ModMenu instalados, a instanciação de telas fica isolada por trás de 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"
);
}
}