Skip to content

ForestryMC ​

32 merged pull requests.

New Features ​

  • #122 Added getProtectionCount() method to IArmorApiarist interface and updated ArmorApiaristHelper to use this new API. - @FourIsTheNumber
    • Added: getProtectionCount() API method
  • #120 Registered pollenFertile item under 'itemPollenFertile' OreDict entry with wildcard to cover all NBT variants. - @Eldrinn-Elantey
    • Added: OreDictionary entry for fertile tree pollen
  • #112 Created IFarmFertilizerRegistry interface and FarmFertilizerRegistry implementation; integrated with MultiblockManager API; updated InventoryFarm to use registry; added plugin support in PluginCore and PluginFarming. - @C0bra5
    • Added: IFarmFertilizerRegistry interface, FarmFertilizerRegistry implementation
  • #106 Added .title suffix support for machine GUI titles in localization; enabled color override system in FontColour and StringUtil; moved override file location for better organization. - @Ranzuu
    • Added: GUI title customization via localization, color override for resource packs
  • #105 Refactored backpack opening logic to support opening items from anywhere in the inventory. Added ItemLocation tracking and modified GuiHandler, ContainerItemInventory, and all item analyzers/imprinters to work with items not in hand. - @Erixonich
    • Added: ItemLocation class, ContainerItemInventory support, NoHotbarNeeded mod support
  • #104 Added PluginEtFuturumRequiem compatibility layer to register Et Futurum flowers with Forestry's flower type system (vanilla, nether, end). - @CN132DAS
    • Added: Et Futurum Requiem flower support for bees
    • Fixed: bees not recognizing EFR flowers
    • Closes GTNH#22435
  • #102 Modified AlvearyController and InventoryBeeHousing to drop items when the multiblock is broken. - @DarkShadow44
    • Added: item dropping on Alveary destruction
    • Fixed: item loss on Alveary break
  • #101 Added durability bar rendering for ItemBackpack based on inventory fullness percentage. Added Config.java option to toggle the feature on/off. Added language string for the option. - @querns
    • Added: backpack fullness durability bar display

Changes ​

  • #115 Added missing items to GuiWorktable color properties and registered them in colour.properties configuration file. - @Ranzuu
    • Added: color localization for worktable items
  • #100 Added public getters to AlleleEffectThrottled, TreeDefinition, and Mutation classes for use by GT5-Unofficial. - @Alexdoru
    • Added: public getter methods

Bug Fixes ​

  • #129 Corrected BlockSlab display logic for double slab blocks in NEI. - @Cardinalstars
    • Fixed: double slab display in NEI
  • #128 Updated ja_JP.lang to convert old-format tile localization keys (e.g., 'tile.for.apiculture.0') to modern format with .name suffix, enabling proper display and external override support. - @sivaDog
    • Fixed: Japanese block name localization
    • Closes GTNH#26145
  • #127 Removed hardcoded return value in BlockSlab to implement proper stacked block slab logic. - @vermz99
    • Fixed: hardcoded slab block stacking
  • #124 Modified CustomOverlayHandler to explicitly force shift to be considered held for worktable, carpenter, and fabricator handlers. - @YannickMG
    • Fixed: worktable NEI fill regression
  • #123 Adapted worktable NEI overlay handler for carpenter and fabricator 3x3 grids, added IGridRecipeHandler interface, updated PacketNEISelect and related network handlers. - @tiffit
    • Added: NEI overlay handlers for carpenter and fabricator
    • Fixed: carpenter recipe freezing in NEI
    • Closes GTNH#25009
  • #121 Enhanced ItemInventory, ItemWithGui, ItemInventoryBackpackPaged, and related backpack classes with improved synchronization logic to prevent item duplication under lag. - @Algent
  • #119 Fixed butterfly selection logic in RenderButterflyItem rendering method. - @Alexdoru
    • Fixed: incorrect butterfly display in rendering
  • #118 Added null check in RenderButterflyItem to provide a default butterfly when rendering the creative tab. - @Yoshy2002
    • Fixed: crash when opening Forestry creative tab
    • Closes GTNH#24505
  • #117 Changed integer to float in apiary comb production formula division in Bee.java to prevent rounding errors. - @Faltsolph
    • Fixed: apiary comb production rounding error
    • Closes GTNH#24462
  • #116 Updated RenderAnalyzer, RenderMill, EntityButterfly, and RenderButterflyItem to properly release WorldClient references after rendering. - @Alexdoru
    • Fixed: WorldClient memory leaks in multiple renderers
  • #114 Added null check in TileWood.getPickBlock() to prevent NPE when the block state is null. - @Alexdoru
    • Fixed: crash on world rejoin due to null block in TileWood
    • Closes GTNH#24296
  • #113 Refactored RenderButterflyItem to properly manage WorldClient lifecycle references, preventing retained memory in the renderer. - @Alexdoru
    • Fixed: WorldClient memory leak in butterfly rendering
  • #109 Added rounding to two decimal places during temperature and humidity calculations in AlvearyController to prevent floating-point imprecision from accumulating and causing discrepancies between server and client values. - @TweksTY
    • Fixed: floating-point precision in climate changes, server-client climate value desync
  • #103 Added null guards to BlockUtil.getItemStackFromBlockBelow() reflection calls to prevent calling methods on null objects. - @Teteros
    • Fixed: NullPointerException in BlockUtil reflections

Performance ​

  • #133 Optimized Genome NBT repair logic to cache species default template resolution, reducing array allocations during NEI operation. - @boubou19
  • #131 Added enum .values() caching in BlockSlab that was previously missed in earlier optimization pass. - @boubou19
  • #130 Cached LetterProperties enum .values() calls that were invoked over 500 times during gameplay profiling. - @boubou19
  • #110 Refactored BlockFruitPod, BlockSoil, BlockForestryFluid, and BlockMushroom to prevent chunk loading during tick operations. - @Alexdoru
  • #107 Cached Enum.values() array calls in EnumBeeChromosome, EnumBeeType, EnumTreeChromosome, EnumHumidity, EnumTemperature, FarmDirection, EnumButterflyChromosome, and related classes to reduce runtime allocations. - @Alexdoru

Internal / Refactor ​

  • #125 Created new IArmorApiaristMulti interface with getProtectionCount() method, moved implementation from IArmorApiarist to maintain ASM compatibility. - @FourIsTheNumber
    • Added: IArmorApiaristMulti interface
    • Removed: getProtectionCount() from IArmorApiarist
  • #111 Removed LeafDecayHelper.java and custom leaf decay logic from BlockForestryLeaves; now uses NHLib's BFS leaf decay system. Added nh-lib dependency. - @Alexdoru
    • Removed: LeafDecayHelper, custom BlockForestryLeaves decay logic

Chores ​

  • #126 Deleted CONTRIBUTING.md documentation file. - @UltraProdigy
    • Removed: CONTRIBUTING.md

Contributors ​

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

@Alexdoru (9), @boubou19 (9), @Dream-Master (7), @UltraProdigy (6), @Algent (3), @DarkShadow44 (3), @koolkrafter5 (3), @Luca-Guettinger (3), @FourIsTheNumber (2), @Ranzuu (2), @tiffit (2), @ah-OOG-ah (1), @AshVz (1), @C0bra5 (1), @Caedis (1), @Cardinalstars (1), @CN132DAS (1), @cursoragent (1), @Eldrinn-Elantey (1), @Erixonich (1), @Faltsolph (1), @Kogepan229 (1), @MalTeeez (1), @Miklebe (1), @querns (1), @RecursivePineapple (1), @sisyphussy (1), @sivaDog (1), @Teteros (1), @TweksTY (1), @vermz99 (1), @Worive (1), @YannickMG (1), @Yoshy2002 (1)