Skip to content

🏛️ Architecture & Crochets d'Extension (Minecraft 26.3)

📌 Avertissement sur la source du dépôt : La documentation de ce wiki reflète l'état actuel du code source dans le dépôt, qui peut inclure des commits non publiés ou des fonctionnalités en cours de développement en avance sur CurseForge et Modrinth.

1. Official Infobox

ParameterTechnical Details
Subsystem NameArchitecture & Addon Extension Hooks
Root Packagenet.instantgratification.stewstacker
Core EntrypointStewStackerFabric.java (ModInitializer)
Client EntrypointStewStackerFabricClient.java (ClientModInitializer)
ModMenu EntrypointModMenuIntegration.java (ModMenuApi)
Core ManagerStewStackerManager.java
Network PayloadStewLimitSyncPayload.java
ConfigurationStewStackerConfig.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 StewStackerConfig.load(...).
    • Step B: Register functional override callback into StackSizeManager.registerOverride(...).
    • Step C: Register STEW_LIMIT GameRule 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 StewLimitSyncPayload.TYPE on ClientPlayNetworking.
  3. Stack Query Resolution:

    • When Minecraft queries item stack limit, Stack Size Adjuster iterates registered overrides.
    • Stew Stacker Addon inspects item class; returns stewLimit if stew or soup, 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()                     |
+------------------------------------+------------------------------------+
                                     |
                                     v
+-------------------------------------------------------------------------+
|                          Stew Stacker Addon                             |
|                        StewStackerManager.java                          |
+------------------------------------+------------------------------------+
                                     |
                                     v
+-------------------------------------------------------------------------+
|                           DasikLibrary (API)                            |
|       DynamicGameRuleManager  |  ConfigHelper  |  GuiHelper             |
+-------------------------------------------------------------------------+

5. Addon Hook Registration Schema

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

6. Navigation Globale

Official documentation & web portal for Dasik Igaijinn mods.