Skip to content

Gadomancy ​

16 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 ​

  • #62 RegisteredResearches drops the ResearchItem constructors for ELEMENTALAXE, ELEMENTALPICK, ELEMENTALSHOVEL and ELEMENTALSWORD and uses raw research key strings, with setParentsHidden for the Arcane Dropper's DISTILESSENTIA parent. - @Antaresque
    • Removed: duplicate ELEMENTALAXE, ELEMENTALPICK, ELEMENTALSHOVEL and ELEMENTALSWORD research items
    • Fixed: research id collision with Thaumcraft
  • #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 EventHandlerGolem is split into EventHandlerGolemServer, EventHandlerTooltips and a common handler. EventHandlerEntity is renamed EventHandlerEntityServer. RenderEventHandler is finalised and registered once per instance. CommonProxy and ClientProxy registration is reorganised so client-only classes are not loaded on the server. - @Alexdoru
    • Fixed: TC golem rendering crash, dedicated server crash from Gadomancy event handlers
    • 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 RegisteredPotions.registerPotion now starts its free-slot search at index 1 instead of 0 in Potion.potionTypes. - @DarkShadow44
    • Fixed: Gadomancy potion registered with id 0

Performance ​

  • #59 AuraCoreType gets a static final VALUES array, replacing values() calls in EntityAuraCore, ItemAuraCore, RegisteredRecipes and RegisteredResearches. - @boubou19
  • #57 CheckpointingSet switches from HashSets to ArrayLists with explicit synchronization and index-based get/size access. FXFlow, FXVortex and Orbital iterate with indexed loops instead of iterators. - @boubou19
    • Fixed: per-frame allocations in effect rendering
  • #45 EtherealFamiliarUpgradeRecipe, InfusionDisguiseArmor and InfusionUpgradeRecipe cache super.getRecipeOutput() in a final field and override getRecipeOutput(). InfusionVisualDisguiseArmor.findArmorItems is reworked to avoid extra lists. - @Alexdoru
    • Fixed: NBT tag and item stack allocations at startup

Internal / Refactor ​

  • #41 Replaces ASM transformers with mixins and removes GolemEnumHelper and RemovedGolemType. AdditionalGolemType now takes the EnumGolemType in its constructor and setEnumEntry is removed. Also bumps GTNHLib, ThaumicEnergistics, Waila, ThaumicHorizons and NEI. - @Alexdoru
    • Removed: AdditionalGolemType.setEnumEntry, ASM-based golem enum handling
    • Migration: The AdditionalGolemType constructor now takes the EnumGolemType as its first argument, and setEnumEntry is gone. GadomancyApi.registerAdditionalGolemType no longer adds a value to Thaumcraft's EnumGolemType, so an addon must add its own enum value (Gadomancy uses a mixin on EnumGolemType) and pass it in.

Chores ​

  • #60 Deleted the ModData class and its load and unload calls in Gadomancy and EventHandlerWorld. It was unused and read with ObjectInputStream. - @Nikolay-Sitnikov
    • Removed: unused ModData save file

Contributors ​

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

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