Skip to content

Gadomancy ​

15 merged pull requests.

New Features ​

  • #53 Replaced individual ethereal familiar creation/upgrade recipes with generic EtherealFamiliarCreationRecipe and updated EtherealFamiliarUpgradeRecipe to dynamically adapt costs based on the aspect being crafted. Aspect colors and upgrade requirements now derive from matched aspect. - @koolkrafter5
    • Added: EtherealFamiliarCreationRecipe, generic aspect-adaptive recipes
    • Removed: individual aspect-specific recipes
  • #52 Refactored TileNodeManipulator, TCMazeHandler, and TCMazeSession for improved multiblock logic, added exit portal spawning, sound effects to PacketTCNodeBolt, and reduced recipe complexity in RegisteredRecipes. - @thehoblit
    • Added: Exit portal generation at boss completion, Sound effects to lightning bolts, Improved collision detection for multiblock generation
    • Removed: Pedestal requirements from multiblock checks, Global event tracking for break events
    • Fixed: Dungeon overlap in multiplayer, Multiblock self-destruction on portal generation
    • Closes GTNH#23950

New Content ​

  • #51 Corrected 12 language entries in en_US.lang for grammar and spelling. - @Yoshy2002
    • Fixed: Typos and grammar in descriptions
  • #50 Modified language string in en_US.lang for Essentia Compressor research. - @Eldrinn-Elantey

Bug Fixes ​

  • #58 EtherealFamiliarCreationRecipe and EtherealFamiliarUpgradeRecipe now resolve essence components to the matched aspect via new FamiliarComponents class. Essence matching now rejects multi-aspect essences and binds matrix pedestal consumption to prevent mid-craft aspect swaps. - @alppp
    • Added: FamiliarComponents, aspect resolution logic
    • Fixed: infusion recipes failing due to aspect mismatch, multi-aspect essences being accepted
    • Closes GTNH#26196
  • #55 Cleared cached world references in ItemRenderFamiliar, RenderTileRemoteJar, and FamiliarHandlerClient that were holding stale server state. Cleaned up fake world instances in ChunkProviderTCOuter, TCMazeHandler, and related classes. - @Alexdoru
    • Fixed: world server memory leaks
  • #49 Split client and server event handlers into separate classes, properly segregated side-specific logic in ClientProxy and dedicated EventHandlerGolemServer, and fixed world reference cleanup introduced in PR #44. - @Alexdoru
    • Added: EventHandlerGolemServer for server-side events, EventHandlerTooltips for tooltip-specific handling, RenderEventHandler for client-side render events
    • Removed: Client-side rendering code from server event handlers
    • Fixed: Dedicated server crash on golem rendering, Regression from world leak fix (PR #44)
    • Closes GTNH#23000
  • #44 Refactored event handler proxies to properly clear world references on world unload; split EventHandlerWorld logic and added cleanup in CommonProxy and ClientProxy. - @Alexdoru
    • Added: World unload cleanup handlers
    • Fixed: World reference memory leak
  • #43 Added missing preNodeRender method stub to EventHandlerRedirect to satisfy DragonAPI's reflection-based event system after ASM-to-Mixin conversion. - @Alexdoru
    • Added: preNodeRender compatibility method
    • Fixed: NoSuchMethodError on node tile entity rendering with DragonAPI
  • #42 Changed potion ID assignment in RegisteredPotions to skip ID 0, preventing conflict with reserved potion slot. - @DarkShadow44
    • Fixed: Invalid potion ID 0 assignment

Performance ​

  • #59 Cached Enum.values() results in EntityAuraCore, ItemAuraCore, RegisteredRecipes, and RegisteredResearches to avoid repeated array allocations. - @boubou19
  • #57 Cached array allocations in CheckpointingSet and reused collections in FXFlow, FXVortex, and Orbital to reduce garbage collection pressure during effect rendering. - @boubou19
  • #46 Added caching to getRecipeOutput() in infusion recipe classes to reduce allocation spam during recipe removal phase. - @boubou19
    • Added: Output caching in infusion recipes
    • Fixed: NBT tag spam during startup
  • #45 Added caching to getRecipeOutput() in infusion recipe classes (EtherealFamiliarUpgradeRecipe, InfusionDisguiseArmor, InfusionUpgradeRecipe, InfusionVisualDisguiseArmor) to avoid repeated ItemStack allocation. - @Alexdoru
    • Added: Output caching in infusion recipes
    • Fixed: NBT tag spam during startup

Internal / Refactor ​

  • #41 Converted ASM-based bytecode modifications to mixin-based injections across rendering, events, and core functionality; updated dependencies and gradle configuration. - @Alexdoru
    • Added: Mixin-based implementations for previous ASM hooks
    • Removed: RemovedGolemType class, ASM-based redirect handlers, Direct CorePlugin bytecode manipulation

Contributors ​

Everyone who authored, reviewed or co-authored a change on this page, with how many of them:

@Alexdoru (8), @boubou19 (5), @Dream-Master (3), @DarkShadow44 (2), @koolkrafter5 (2), @Nikolay-Sitnikov (2), @Yoshy2002 (2), @Algent (1), @alppp (1), @Eldrinn-Elantey (1), @EnderProyects (1), @Luca-Guettinger (1), @MalTeeez (1), @Pxx500 (1), @thehoblit (1), @UltraProdigy (1)