Gadomancy
16 merged pull requests.
New Features
- #53 Replaced individual ethereal familiar creation/upgrade recipes with generic
EtherealFamiliarCreationRecipeand updatedEtherealFamiliarUpgradeRecipeto 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, andTCMazeSessionfor improved multiblock logic, added exit portal spawning, sound effects toPacketTCNodeBolt, and reduced recipe complexity inRegisteredRecipes. - @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.langfor grammar and spelling. - @Yoshy2002- Fixed: Typos and grammar in descriptions
- #50 Modified language string in
en_US.langfor 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
EtherealFamiliarCreationRecipeandEtherealFamiliarUpgradeRecipenow resolve essence components to the matched aspect via newFamiliarComponentsclass. 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, andFamiliarHandlerClientthat were holding stale server state. Cleaned up fake world instances inChunkProviderTCOuter,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
EventHandlerWorldlogic and added cleanup inCommonProxyandClientProxy. - @Alexdoru- Added: World unload cleanup handlers
- Fixed: World reference memory leak
- #43 Added missing
preNodeRendermethod stub toEventHandlerRedirectto 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)