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)