Gadomancy
15 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
- #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 Split client and server event handlers into separate classes, properly segregated side-specific logic in
ClientProxyand dedicatedEventHandlerGolemServer, 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
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 Changed potion ID assignment in
RegisteredPotionsto skip ID 0, preventing conflict with reserved potion slot. - @DarkShadow44- Fixed: Invalid potion ID 0 assignment
Performance
- #59 Cached
Enum.values()results inEntityAuraCore,ItemAuraCore,RegisteredRecipes, andRegisteredResearchesto avoid repeated array allocations. - @boubou19 - #57 Cached array allocations in
CheckpointingSetand reused collections inFXFlow,FXVortex, andOrbitalto 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)