Skip to content

🏛️ Arquitectura y Ganchos de Expansión (Minecraft 26.3) ​

📌 Descargo de responsabilidad de la fuente del repositorio: La documentación de esta Wiki refleja el estado actual del código fuente en el repositorio, que puede incluir confirmaciones recientes no publicadas o características en desarrollo antes de las compilaciones públicas en CurseForge y Modrinth.

1. Official Infobox ​

ParameterTechnical Details
Subsystem NameArchitecture & Addon Extension Hooks
Root Packagenet.instantgratification.potionstacker
Core EntrypointPotionStackerFabric.java (ModInitializer)
Client EntrypointPotionStackerFabricClient.java (ClientModInitializer)
ModMenu EntrypointModMenuIntegration.java (ModMenuApi)
Core ManagerPotionStackerManager.java
Network PayloadPotionLimitSyncPayload.java
ConfigurationPotionStackerConfig.java, YaclScreenHelper.java
Mixin Count0 Mixins (100% Pure Addon Delegation)
Upstream FrameworkStack Size Adjuster (StackSizeManager)

2. Step-by-Step Subsystem Lifecycle ​

  1. onInitialize() Lifecycle Execution:

    • Step A: Load configuration baseline via PotionStackerConfig.load(...).
    • Step B: Register functional override callback into StackSizeManager.registerOverride(...).
    • Step C: Register POTION_LIMIT and STEW_LIMIT GameRules under namespaced category.
    • Step D: Register S2C payload type and codec via PayloadTypeRegistry.clientboundPlay().
    • Step E: Attach ServerPlayConnectionEvents.JOIN listener for client sync.
    • Step F: Attach ServerLifecycleEvents.SERVER_STARTED listener for world initialization checks.
  2. Client Initialization (onInitializeClient):

    • Register global receiver for PotionLimitSyncPayload.TYPE on ClientPlayNetworking.
  3. Stack Query Resolution:

    • When Minecraft queries item stack limit, Stack Size Adjuster iterates registered overrides.
    • Potion Stacker Addon inspects item class; returns potionLimit if potion, stewLimit if soup (and stew mod absent), or -1 to continue chain.

3. Algorithmic Complexity & Zero-Allocation Path ​

  • Time Complexity: $O(1)$ constant time lookup.
  • Space Complexity: $O(1)$ zero heap allocation on the hot path.

4. Visual ASCII Architecture Diagram ​

+-------------------------------------------------------------------------+
|                            Minecraft Engine                             |
+------------------------------------+------------------------------------+
                                     |
                                     v
+-------------------------------------------------------------------------+
|                       Stack Size Adjuster (Core)                        |
|                     StackSizeManager.getStackSize()                     |
+------------------------------------+------------------------------------+
                                     |
              +----------------------+----------------------+
              | CustomStackSizeOverride                     |
              v                                             v
+-----------------------------+             +-----------------------------+
|    Potion Stacker Addon     |             |     Stew Stacker Addon      |
|  PotionStackerManager.java  |             |      (Sibling Addon)        |
+--------------+--------------+             +-----------------------------+
               |                                            ^
               |-- isModLoaded("stew-stacker-addon")? ------|
               |   If TRUE: returns -1 (defers stew logic)
               |
               v
+-------------------------------------------------------------------------+
|                           DasikLibrary (API)                            |
|       DynamicGameRuleManager  |  ConfigHelper  |  GuiHelper             |
+-------------------------------------------------------------------------+

5. Addon Hook Registration Schema ​

java
@FunctionalInterface
public interface CustomStackSizeOverride {
    int getModifiedStackSize(Item item, int originalSize);
}

6. Enlaces Globales y Externos ​

Official documentation & web portal for Dasik Igaijinn mods.