Integração de API e Addons (MC 26.2)
Este documento detalha pontos de integração com mods de terceiros, interações com a API da DasikLibrary e consultas programáticas de agrupamentos para o Item Clumps no Minecraft 26.2.
📊 Ficha Técnica de Integração
| Propriedade | Valor |
|---|---|
| Arquitetura de API | APIs nativas de ItemEntity e ItemStack do Vanilla |
| Protocolo de Armazenamento | Direto em ItemStack.getCount() (VarInt / Inteiro de 32 bits) |
| API de GameRules | DynamicGameRuleManager (API da DasikLibrary) |
| Interfaces de Duck-Typing | Compatível com interfaces personalizadas de ímãs e entidades de itens |
🔌 Consultas Programáticas de Agrupamentos para Desenvolvedores de Addons
Como o Item Clumps armazena as contagens de mega-pilhas diretamente dentro do ItemStack padrão do Minecraft, desenvolvedores de addons não precisam de fachadas de API personalizadas para ler ou alterar o tamanho dos agrupamentos:
1. Lendo a Quantidade do Agrupamento
java
// Standard ItemEntity instance
ItemEntity entity = ...;
// Native vanilla getter returns true mega-count (e.g. 5000)
int trueCount = entity.getItem().getCount();2. Verificando Capacidade de Fusão
java
// Queries Item Clumps customIsMergable logic
boolean canMerge = entity.isMergable();3. Modificando Quantidades com Segurança
java
// When mutating item entity counts, always update the stack object:
ItemStack stack = entity.getItem().copyWithCount(newCount);
entity.setItem(stack); // Triggers custom name tag update automatically!🧲 Gancho de Duck-Typing para Ímãs e Voo
Se você estiver desenvolvendo um mod de ímã de itens, telecinese ou vácuo, você pode evitar que o Item Clumps funda itens prematuramente durante o voo adicionando qualquer um dos métodos duck-typed abaixo ao seu mixin de ItemEntity:
java
public boolean ig_magnet$isMagnetized() {
return this.isFlyingTowardsPlayer;
}
// Or legacy alternative:
public boolean ig$isMagnetized() {
return this.isFlyingTowardsPlayer;
}O Item Clumps invoca automaticamente este método por reflexão durante os ticks de fusão.
