Skip to content

twilightforest ​

22 merged pull requests.

New Features ​

  • #158 Extended BlockTFMagicLogSpecial to recognize GregTech soft mallets and toggle sound state while consuming normal durability. Regular right-click continues to toggle acceleration. Added Mods.java config entry. - @DreamYao520
    • Added: soft mallet sound toggle for Timewood Clock
  • #152 Added IFlowerPottable interface; updated BlockTFSapling, BlockTFPlant, and BlockTFHugeWaterLily to support flower pot placement. Added dependency. - @FourIsTheNumber
    • Added: IFlowerPottable interface, flower pot support for saplings and plants
  • #133 New Coord2D helper class and rewritten portal lookup logic in TFTeleporter; uses spiral search with Manhattan distance filtering for efficiency. Portal creation and validation logic improved in BlockTFPortal. Updated gradle dependencies. - @LooseEthics
    • Added: Coord2D utility class for 2D coordinate handling, configurable max portal size
  • #41 Created TFMajorFeatureProvider interface and TFMajorFeatureProviders registry; updated ComponentTFHollowHill, StructureTFMajorFeatureStart, and TFGenCaveStalactite to use provider callbacks for stalactite ore placement. - @YannickMG
    • Added: TFMajorFeatureProvider interface, TFMajorFeatureProviders registry

New Content ​

  • #129 Updated lang files (de_DE, en_US, ru_RU, zh_CN, zh_TW) to add missing string entries and fix metadata-keyed locale keys (tile.TFMagicLogSpecial.8.name). - @Eldrinn-Elantey
    • Added: localization strings for Twilight Forest blocks and items across five languages
    • Fixed: tile.TFMagicLogSpecial.8.name display in multiple languages

Changes ​

  • #149 Updated ModelTFTrophyArmor and ItemTFTrophy to use game tick-based animation timing instead of frame counting, and added sneak-state detection for animation mode. - @Eldrinn-Elantey
  • #144 Updated BlockTFMagicLogSpecial tick logic; added TwilightForestMod configuration for blocked blocks list (defaults to Nether portal). Changed to match upstream Tree of Time implementation. - @Caedis
    • Added: configuration option for Timewood Clock blocked blocks
    • Fixed: Timewood Clock incorrectly accelerating cactus and rainbow cactus
    • Closes GTNH#25287
  • #123 Added configuration option in TwilightForestMod to conditionally enable/disable EFR integration logic in TFFeature. - @wlhlm
    • Added: EFR integration configuration option

Bug Fixes ​

  • #154 Updated TFSkyRenderer to use renderViewEntity for perspective calculations instead of EntityPlayer reference, enabling compatibility with freecam mods. - @Caedis
    • Fixed: freecam compatibility in sky rendering
  • #145 Added TFWeatherData class to track dimension-specific weather state; modified TFEventListener to maintain separate time/weather from overworld instead of copying it. - @koolkrafter5
    • Added: TFWeatherData for dimension-specific weather tracking
    • Fixed: weather obelisk and weather control in Twilight Forest
  • #142 Updated TFGenericPacketHandler, BlockTFMagicLogSpecial, and ChunkProviderTwilightForest to handle extended block metadata ranges via EndlessIDs. Added EID dependency. - @UltraProdigy
    • Added: EndlessIDs compatibility
    • Fixed: Tree of Transformation crash with EndlessIDs
    • Closes #141
  • #140 Added IntCache.resetIntCache() call in TFWorldChunkManager to clear cached int arrays after chunk generation, preventing unbounded memory growth. - @Alexdoru
    • Fixed: IntCache memory leak in world chunk manager
    • Closes GTNH#22708
  • #139 Removed custom ItemBlockTFLeaves and ItemBlockTFLog classes that were overriding getUnlocalizedName; implemented proper localization in TFBlocks and ItemBlockTFTree instead. Simplified lang file entries. - @tiffit
    • Removed: ItemBlockTFLeaves custom class, ItemBlockTFLog custom class
    • Fixed: unlocalized names for logs and leaves in WAILA
    • Closes #105, #124
  • #138 Set TFBiomeBase field_76754_C (filler block metadata) to 0 instead of leaving it at the vanilla default of 5169201, which was causing metadata 49 to appear on filler blocks. - @tiffit
    • Fixed: biome filler block metadata, silk touch dirt tagging
    • Closes #57, GTNH#24206
  • #136 Removed unnecessary strong references to world servers in TwilightForestMod and BehaviorTFMobEggDispense, allowing proper garbage collection. - @Alexdoru
    • Removed: world server memory leak references
    • Fixed: world server memory leak
  • #131 Updated BlockTFMagicLogSpecial tick logic to check IGrowable interface instead of all blocks, and removed chunk-loading behavior from block scanning. - @Caedis
    • Fixed: Timewood Clock incorrectly accelerating non-plant blocks
  • #130 Moved Fiery Metal and Knightmetal material registration in TFTinkerConstructIntegration.java above the corresponding tool part registrations, enabling TConstructRegistry's default toolpart addition. - @Charsy89
    • Fixed: default toolpart registration for TConstruct materials
  • #128 Added hardness check in EntityTFNaga to prevent targeting of unbreakable blocks during combat. - @ModularityEnjoyer
    • Fixed: Naga destroying Bedrock and unbreakable blocks
    • Closes GTNH#22990
  • #127 Added block existence check in BlockTFCritter to verify available surface space before firefly placement, preventing unintended block deletion. - @DarkShadow44
    • Fixed: Fireflies deleting blocks during placement, Firefly placement crash
    • Closes GTNH#22373, GTNH#22520

Performance ​

  • #137 Rewrote ModelTFTrophyArmor to reuse model vertex arrays instead of allocating new ones each frame, and optimized TFClientProxy rendering code. - @Alexdoru
    • Fixed: trophy armor frame allocation spam
    • Closes GTNH#22959
  • #134 Added FastRandom utility class and refactored ChunkProviderTwilightForest, MapGenTFHollowTree, TFGenCaves, TFGenHugeLilyPad, TFGenLargeRainboak, and TFGenRavine to use faster random operations and reduce allocations. - @mitchej123
    • Added: FastRandom utility class

Chores ​

  • #135 Minor comment text adjustment in Coord2D.java. - @LooseEthics

Contributors ​

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

@Caedis (5), @Alexdoru (3), @DarkShadow44 (3), @Dream-Master (2), @Eldrinn-Elantey (2), @FourIsTheNumber (2), @koolkrafter5 (2), @LooseEthics (2), @Luca-Guettinger (2), @mitchej123 (2), @Ruling-0 (2), @tiffit (2), @YannickMG (2), @ABKQPO (1), @Algent (1), @boubou19 (1), @Charsy89 (1), @cubefury (1), @DreamYao520 (1), @glowredman (1), @Guvante (1), @ModularityEnjoyer (1), @Nikolay-Sitnikov (1), @RecursivePineapple (1), @Sanduhr32 (1), @thehoblit (1), @UltraProdigy (1), @wlhlm (1)