Skip to content

BuildCraft ​

12 merged pull requests.

New Features ​

  • #28 Added ItemBlockTank class for custom tank tooltips and updated ItemPipe to display color-coded pipe type information. Updated tank block registration and added pipe-type-to-color mappings. - @Eldrinn-Elantey
    • Added: ItemBlockTank class, color-coded pipe tooltips
  • #24 Enhanced BlockTank interaction logic to support all fluid container types and improved inventory handling for stacked items and structures. - @UltraProdigy
    • Added: interactive functionality for all cell types with BC tanks
    • Fixed: BC Tank interaction with all cell types, stacked cell interaction

New Content ​

  • #27 Added PipeFluidsObsidian class with configurable experimental content flag. Uses same energy cost as Pump (25RF per 250mB) but transfers at lower rate with fluid loss. - @DrParadox7
    • Added: Obsidian Fluid Pipe, experimental content config

Changes ​

  • #26 Updated locale files and GUI classes to add localized titles, adjusted GUI window sizes and inventory label positions to match texture resources. - @Ranzuu
    • Added: localized GUI titles
    • Fixed: GUI appearance and alignment

Bug Fixes ​

  • #33 Removed useServerDataOnClient config flag and related proxy code that allowed server-side data to override client predictions, causing desynchronization. - @tiffit
    • Removed: useServerDataOnClient config option
    • Fixed: EBF infinite power exploits, item duplication bugs, Wiremill multiple output stacks, Coke oven chest spawn
    • Migration: The removed option only affected how tanks, refineries and pipes were drawn on the client in singleplayer; it never moved items or power, so there is nothing in a 2.8.4 world to clean up.
    • Closes GTNH#24468, GTNH#24658, GTNH#24710, GTNH#24722, GTNH#25365
  • #32 Fixed world reference leaks in multiple BuildCraft modules through reference cleanup in singleton instances and listeners. - @Alexdoru
    • Fixed: three world memory leaks

Performance ​

  • #35 Cached AssemblyRecipeManager results until input slots change, trimmed FlexibleRecipe capacity, shared read-only facade NBT across instances, and replaced quadratic facade-ID list scan with set-based lookup. - @Algent
    • Fixed: excessive GUI frame-by-frame recipe scanning
  • #30 Replaced .replaceAll() calls that compiled regex patterns on each invocation with more efficient alternatives, and cached static resource location instances. - @mitchej123
    • Fixed: regex pattern recompilation, resource location re-allocation
  • #23 Cleared temporary LinkedList in BuildCraftTransport and replaced frequent Object[0] allocations with a static singleton instance in SchematicRegistry. - @Alexdoru
    • Fixed: memory retention in GC roots, excessive Object[0] allocations

Internal / Refactor ​

  • #34 Added synchronization and thread-safe patterns to RenderBlockComplex, RenderUtils, and block rendering handlers to prevent concurrent access issues. - @mitchej123
  • #25 Deleted unreferenced event registration code in BuildCraftCore. - @Alexdoru
    • Removed: unused event registration

Chores ​

  • #29 Reverted commit e3123215844fcd794af6ccb7e9f47aa32a478778 which had polluted all language locale files with English entries. - @DrParadox7
    • Removed: English keys from non-English locale files
    • Fixed: locale file pollution

Contributors ​

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

@Nikolay-Sitnikov (4), @Alexdoru (3), @mitchej123 (3), @Dream-Master (2), @DrParadox7 (2), @Algent (1), @boubou19 (1), @Caedis (1), @danyadev (1), @DarkShadow44 (1), @Eldrinn-Elantey (1), @Guvante (1), @koolkrafter5 (1), @LazyFlesh (1), @Ranzuu (1), @Ruling-0 (1), @tiffit (1), @UltraProdigy (1)