Skip to content

AE2FluidCraft-Rework ​

101 merged pull requests.

Needs action on an existing world:

  • [check your build] #340 AE2FluidCraft now uses the standard AE2 GUIs and cell system instead of its own copies, so its fluid terminals, level emitter, monitors and wireless terminal give way to the AE2 ones, which handle fluids. Placed and stored ones are converted when the world loads. The Fluid Discretizer is removed without a conversion.
    The Fluid Terminal, Fluid Pattern Terminal and Pattern Terminal Ex, Fluid Level Emitter, Fluid Storage Monitor, Fluid Conversion Monitor and Wireless Fluid Terminal are converted to their Applied Energistics counterparts when the world loads, placed ones included, and keep what they were configured to. The Fluid Discretizer is removed and not converted; it had nothing left to do, since fluid patterns are encoded in the normal Pattern Terminal now.
  • [items disappear] #377 The Fluid Discretizer block is removed. Placed Fluid Discretizers and any in inventories will disappear; nothing converts them. The creative tab icon changes to the Walrus.
    Take Fluid Discretizers out of your networks and storage before updating, because the block and item are deleted.

New Features ​

  • #466 BlockFluidInterface registers colored icons (fluid_interface, _a, _arrow per AEColor) and exposes getColoredTexture. RenderBlockFluidInterface picks them by the tile proxy color, falling back to the default icons for Transparent. Adds about 48 texture files. - @Worive
    • Added: colored fluid interface textures
  • #463 Extended TileLevelMaintainer, GuiLevelMaintainer, and supporting network packets to support lite crafting mode toggle via CPacketLevelMaintainer. - @Nana-Sakura
    • Added: lite crafting mode toggle for Level Maintainer
  • #456 Added client-side ME Chest texture rendering logic in FluidCellHandler.java and FCPartsTexture.java to display different access face textures based on installed cell type. - @samhaines-wustl
    • Added: Fluid cell type detection and visual indicators for ME Chests, New fluid terminal texture variants
  • #453 Added recipe to allow clearing Fluid Storage Bus settings via crafting in RecipeLoader.java. - @Sanduhr32
    • Added: Clear recipe for Fluid Storage Bus configuration
  • #447 Modified PartFluidAnnihilationPlane.java to recognize and collect stationary fluid blocks in addition to flowing ones. - @Redderpears
    • Added: Stationary fluid collection for Annihilation Planes
    • Fixed: Inability to collect fluids from certain sources like Blood Magic rituals
    • Closes GTNH#25451
  • #446 Added tab navigation event handling to GuiLevelMaintainer.java to allow keyboard traversal between input fields. - @Kogepan229
    • Added: Tab key navigation in Level Maintainer GUI
    • Closes GTNH#25371
  • #443 Added memory card serialization support to PartFluidInterface, PartFluidP2PInterface, TileFluidInterface, and utility classes for handling dual-host settings. - @Kogepan229
    • Added: Memory Card compatibility for Fluid Interface configurations
  • #442 Extended TileSuperStockReplenisher with logic for full-stock mode, updated GUI and container to support mode selection and display state. - @Inphysible
    • Added: Full-stock mode for Super Stock Replenisher, Mode toggle UI button, Localized strings for new mode
  • #441 Modified FCBaseItemCell.java to allow fluid-filled Fluid Cells to be stored as items within Item Cells. - @Inphysible
    • Added: Fluid Cell storage in Item Cells
  • #430 Modified ContainerFluidPacketDecoder, TileFluidPacketDecoder, and FCSlotRestrictedInput to accept fluid output in decode operations; updated localization. - @lc-1337
    • Added: Fluid output support in packet decoder
  • #429 Added tooltip text to ItemFluidPacket and registered description key in NameConst and en_US localization. - @lc-1337
    • Added: Fluid packet description tooltip
  • #424 Introduced PartFluidFormationPlane, PartFluidAnnihilationPlane, ItemFluidFormationPlane, ItemFluidAnnihilationPlane; added textures, texture registration, and localization entries. - @lc-1337
    • Added: Fluid Formation Plane part, Fluid Annihilation Plane part, Fluid plane textures, Fluid plane items
  • #417 Enhanced GuiFCImgButton and GuiLevelTerminal to provide dimension-aware feedback; updated localizations in de_DE, en_US, ru_RU, and zh_CN. - @Kogepan229
    • Added: Dimension-aware GUI tooltip
  • #412 Updated all multipart item classes to allow OpenComputers robot placement by setting the appropriate flag. - @MarkinoTeck
    • Added: OpenComputers robot placement support for multiparts
  • #407 DualityFluidInterface replaces the fixed item and fluid MEMonitorPassThrough fields with a map keyed by IAEStackType, built from AEStackTypeRegistry. Sister change of AE2-Unofficial PR 1095. - @Kogepan229
    • Added: generic stack type support in the Fluid Interface
  • #398 Added tooltip display logic to ItemPartFluidStorageBus and updated language files in multiple locales. - @Eldrinn-Elantey
    • Added: storage priority tooltip for Fluid Storage Bus
  • #388 Added inverter card support in CommonProxy to allow the card to be applied to fluid cells. - @serenibyss
    • Added: inverter card support for fluid cells
  • #379 Extended KeybindLoader to register separate keybinds for each terminal variant and updated language file. - @iR3turnZ
    • Added: Individual keybinds for each Universal Terminal type
  • #359 Updated TileCertusQuartzTank drain logic to check lower tanks when current tank is empty. Enhanced CertusQuartzTankWailaDataProvider and Tooltip to aggregate tower fluid and capacity information. - @danyadev
    • Added: Drain from empty top tank, Tower-wide Waila display
  • #339 TileLevelMaintainer.doWork also fetches the fluid inventory storage list. For ItemFluidDrop entries it looks up the AE fluid stack with findPrecise and uses its stack size. - @lc-1337
    • Added: fluid level reading in the Level Maintainer
  • #332 Added GuiLevelEmitterProxy and new GuiType enum value to support opening Level Emitter GUI from Level Terminal; extended CPacketLevelTerminalCommands to handle additional operations. - @Kogepan229
    • Added: Level Emitter GUI access from Level Terminal, GuiLevelEmitterProxy class
    • Removed: Infinity Booster Card restrictions
    • Fixed: Wireless Level Terminal icon
  • #327 Extended TileLevelMaintainer to implement Memory Card serialization and deserialization methods. - @Kogepan229
    • Added: Memory Card configuration support for Level Maintainer

New Content ​

  • #386 Replaced block texture file. - @Ranzuu

Changes ​

  • #473 Changed the en_US.lang value for item.fluid_encoded_pattern.name from 'Encoded Pattern' to 'Fluid Processing Pattern'. The item id is unchanged. - @shironakoushi
  • #449 Updated NEICellViewHandler.java to remove duplicate unit labels from cell storage display text. - @przemo1232
    • Fixed: Redundant unit text in cell tooltips
  • #440 FCGuiColors is converted from an enum that parsed colors from lang keys into GTNHLib ColorResource fields built with ColorResource.Factory("ae2fc"). Callers in GuiLevelMaintainer and GuiLevelTerminal were updated, the ae2fc.gui.color.* lang entries were removed, and the AE2-Unofficial dependency was bumped to rv3-beta-983. The diff adds an itemSlotOverlayUnpowered color (0x66111111). - @Ranzuu
    • Added: itemSlotOverlayUnpowered color
    • Removed: ae2fc.gui.color lang entries
  • #435 Refactored GuiSuperStockReplenisher, ContainerSuperStockReplenisher, and TileSuperStockReplenisher to use new slot handling and switch from I/O operation logging to direct inventory counting on updates; removed BlockSuperStockReplenisher. - @lc-1337
    • Removed: BlockSuperStockReplenisher class
    • Fixed: Stock Replenisher reliability issues
  • #426 ItemPartFluidInterface.getIconString now returns part_fluid_interface, and a part_fluid_interface.png texture was added. - @Ranzuu
    • Added: separate part_fluid_interface texture
  • #405 Modified pixel coordinates in GuiLevelTerminal for improved component positioning. - @Ranzuu
  • #402 Removed essentia terminal component from recipe definition in RecipeLoader. - @lc-1337
    • Removed: Essentia Terminal from Ultra Terminal recipe
  • #387 Corrected GuiLevelMaintainer FCGuiLineField layout and updated corresponding texture. - @Ranzuu
    • Fixed: FCGuiLineField overflow
  • #340 Removes the copy-pasted GUI, container and support classes and the cell system, and moves network machines to inherit from AE2 classes. Requires Applied-Energistics-2-Unofficial PR 872. The fluid discretizer functionality and the ExtraCells integration are deleted. The diff was too large to fetch, so the details come from the body and file list. - @lc-1337
    • Removed: Fluid Terminal (deprecated), Fluid Pattern Terminal (deprecated), Fluid discretizer functionality, ExtraCells integration
    • Migration: The Fluid Terminal, Fluid Pattern Terminal and Pattern Terminal Ex, Fluid Level Emitter, Fluid Storage Monitor, Fluid Conversion Monitor and Wireless Fluid Terminal are converted to their Applied Energistics counterparts when the world loads, placed ones included, and keep what they were configured to. The Fluid Discretizer is removed and not converted; it had nothing left to do, since fluid patterns are encoded in the normal Pattern Terminal now.
  • #293 Removed the coremod transformers (CraftingCpu, CraftingGridCache, CraftingTreeNode, DualityInterface), CoreModHooks, FluidConvertingInventoryAdaptor and related proxies. FCContainerEncodeTerminal, ItemFluidPacket, PartFluidExportBus and PartFluidP2PInterface now use IAEStack, ICraftingPatternItem and InventoryAdaptor.getAdaptor. ItemFluidPacket gained getFluidAEStack and clamps packet amounts to Integer.MAX_VALUE. - @lc-1337
    • Added: ItemFluidPacket helpers for AE fluid stacks
    • Removed: coremod crafting transformers, FluidConvertingInventoryAdaptor

Balance ​

  • #392 Updated ItemAndBlockHolder configuration to increase the type capacity of the Artificial Universe Fluid Cell. - @UltraProdigy

Bug Fixes ​

  • #476 GuiLevelTerminal drops its own tooltip renderer and stores the button tooltip in a field. It draws it with drawHoveringText at the end of drawScreen, after the viewport. - @Eldrinn-Elantey
    • Removed: custom tooltip renderer in Level Terminal
    • Fixed: Level Terminal button tooltips ignoring resource pack tooltip styling, row items drawing over button tooltips
  • #469 PartFluidFormationPlane.updateHandler now calls onNeighborChanged only when getProxy().isReady() is true, so NBT loading no longer triggers it before the multipart host exists. - @Pxx500
    • Fixed: Fluid Formation Plane updating neighbors during NBT load before its host tile exists
  • #468 ContainerLevelWireless.createPrimaryGui now calls setSlotIndex(getTargetSlotIndex()) on the FluidPrimaryGui so the return navigation keeps the bauble slot. - @Worive
    • Fixed: stuck on Level Terminal Status page when opened from a bauble slot
  • #465 FCBaseItemCell overrides addCheckedInformation (client side). For a FluidCellInventoryHandler with one total type and at least one stored type, it fetches the first stored fluid stack and replaces the old 'Contains' line with the fluid name and amount when Ctrl is held. - @Worive
    • Fixed: single-fluid cell tooltip not showing contents with Ctrl held
  • #464 Modified GuiMagnetFilter to re-apply oreDict value from container sync while field is not being edited, compensating for Baubles slot NBT-only changes not triggering resync. - @Eldrinn-Elantey
    • Fixed: stale magnet card filter oreDict display
  • #462 Added active-channel validation in DualityFluidInterface before accessing ME fluid inventory. - @Worive
    • Fixed: fluid transfer through inactive dual interfaces
    • Closes GTNH#21121
  • #461 Modified CPacketSwitchGuis and Util to preserve the exact terminal instance across tab switches; global actions now prefer Baubles-equipped terminals over inventory terminals. - @Worive
    • Fixed: terminal swapping to wrong ME network on tab switch
    • Closes GTNH#19436
  • #460 Applied orientation transform from ItemDropRender to ItemPacketRender with push/pop wrapper to prevent modelview leakage. - @Eldrinn-Elantey
    • Fixed: fluid packet rendering orientation in item frames and holograms
  • #455 Fixed search logic, hover detection, and focus management in GuiLevelTerminal.java to prevent null pointer exceptions and incorrect GUI state. - @Kogepan229
  • #452 Added Crafting Card upgrade detection and MultiCraftingTracker integration to fluid-side ME Interface logic in PartFluidInterface, PartFluidP2PInterface, and TileFluidInterface. - @Eldrinn-Elantey
    • Added: Crafting Card support for Fluid Interfaces
    • Fixed: Fluid Interfaces not crafting missing fluids with Crafting Card
  • #451 Updated UltraTerminalButtons.java to sync client-side terminal mode with the authoritative server state when the terminal is reopened. - @DreamYao520
    • Fixed: Invisible terminal when reopened after mode switch in Baubles
    • Closes GTNH#25828
  • #445 Fixed TileFluidAutoFiller.java to handle edge case where stack size is 0, preventing a null pointer or index exception. - @Kogepan229
    • Fixed: Instant crash on Fluid Auto Filler connection
    • Closes GTNH#25224
  • #444 Part lookups now go through Platform.getPartFromTE (from AE2-Unofficial PR 1368) in the OpenComputers driver, AEFluidInterfaceHandler, PartGuiFactory, TileOrPartGuiFactory and CPacketLevelTerminalCommands. WailaInit also registers the part data provider for codechicken.multipart.TileMultipart, and Util.getPart was removed. - @Kogepan229
    • Added: Waila part provider for ForgeMultipart tiles
    • Removed: Util.getPart
    • Fixed: fluid interface parts not working in ForgeMultipart hosts
  • #438 Fixed null pointer or index bounds issue in TileCertusQuartzTank.java when handling fluid drainage with Large Steel Fluid Cells. - @Luca-Guettinger
    • Fixed: Crash when draining Certus Quartz Tank with Large Steel Fluid Cell
    • Closes GTNH#24725
  • #423 Added overrides to PartFluidInterface, PartFluidP2PInterface, and TileFluidInterface to prevent default TileInterface/PartInterface item config behavior from interfering with fluid handling. - @daxsc
    • Fixed: Item config blocking fluid interface fluids, Fluid interface returning wrong network's fluids
  • #422 Corrected DualityFluidInterface to properly track and return internal fluid contents on every query, not just once after config update. - @daxsc
    • Fixed: Dual Interface internal fluids returned only once after config change
  • #420 PartFluidStorageBus.readFromNBT now runs after super and replaces IAEItemStack entries in the CONFIG inventory with the fluid from Util.getAEFluidFromItem. - @Kogepan229
    • Fixed: old Fluid Storage Bus config not migrated at load
  • #419 Removed redundant addCheckedInformation override in FCBaseItemBlock and related empty methods in FCBaseBlock; relies on AEBaseItemBlock's native tooltip handling. - @CaelixOrbit
    • Removed: FCBaseItemBlock.addCheckedInformation override, FCBaseBlock.addCheckedInformation bridge, FCBaseBlock.addInformation stub
    • Fixed: Duplicate tooltips in item stacks
  • #418 Implemented getDrops override in PartFluidInterface and PartFluidP2PInterface to delegate dropping logic to the internal fluidDuality handler. - @CaelixOrbit
    • Fixed: Fluid packets lost when breaking or wrenching interface parts
  • #416 PartFluidLevelEmitter overrides getUltraLegacyType to return FLUID_STACK_TYPE. Bumped AE2-Unofficial to rv3-beta-889, NEI, GTNHLib, GT5-Unofficial, OpenComputers and ThaumicEnergistics. - @lc-1337
    • Fixed: legacy Fluid Level Emitter config read with the wrong stack type
  • #415 Added fluid readability delegates to PartFluidInterface, PartFluidP2PInterface, and TileFluidInterface to expose internal fluid contents to external storage buses. - @lc-1337
    • Fixed: ME Fluid Storage Bus not recognizing fluids in Dual Interfaces
    • Closes GTNH#24147
  • #414 Corrected the closeInventory method in TileFluidPacketDecoder to call inventory.closeInventory() instead of inventory.openInventory(). - @CaelixOrbit
    • Fixed: copy-paste error in closeInventory method
  • #404 Corrected UI factory logic in multiple files to properly handle terminal state when stored in Baubles equipment slots. - @lc-1337
    • Fixed: crash when opening magnet filter with terminal in Baubles
  • #400 PartFluidLevelEmitter.readFromNBT now uses getAEInventoryByName(StorageName.CONFIG) instead of null, and imports StorageName. - @lc-1337
    • Fixed: Fluid Level Emitter config storage lookup
  • #399 PartFluidImportBus and PartFluidExportBus now call getAEInventoryByName(StorageName.CONFIG) instead of StorageName.NONE, following AE2-Unofficial PR 1049. Bumped AE2-Unofficial to rv3-beta-811-GTNH. - @lc-1337
    • Fixed: Fluid Import Bus and Fluid Export Bus filter storage lookup
  • #397 Edited en_US.lang: added a comma and articles to the fluid_packet_decoder and fluid_auto_filler descriptions, changed 'ToolTips:' to 'Tooltips:', and added spaces after the list numbers in ultra_terminal.tips.desc. - @Yoshy2002
    • Fixed: typos in English tooltips
  • #396 Updated Applied-Energistics-2-Unofficial dependency and modified TileSuperStockReplenisher item handling. - @Kogepan229
    • Fixed: Stock Replenisher voiding items
    • Closes GTNH#23232
  • #395 Increased inventory size in TileSuperStockReplenisher to accommodate more items in transit. - @lc-1337
    • Fixed: Stock Replenisher voiding items
    • Closes GTNH#23232
  • #394 Adjusted item handling logic in TileSuperStockReplenisher to prevent item loss. - @lc-1337
    • Fixed: Stock Replenisher voiding items
    • Closes GTNH#23232
  • #393 Restored FCClassTransformer, FluidCraftCore, core mod hooks, and storage registry/GUI/NEI transformers required for fluid storage bus operations. Removed only the problematic transformer that caused issues, keeping the transformers still needed until full removal in #375. - @Kogepan229
    • Added: bytecode transformers for fluid storage, external storage registry transformer, GUI crafting transformer, NEI transformer
    • Fixed: fluid storage bus broken in daily
    • Closes GTNH#23231
  • #390 Added null check in TileCertusQuartzTank to prevent NullPointerException when draining high-volume fluid from a tower structure. - @danyadev
    • Fixed: NPE when draining large tanks in tower configuration
  • #389 Removed bytecode transformation classes (FCClassTransformer, FluidCraftCore, CoreModHooks, and associated transformers) and set usesMixins to false in gradle.properties. - @lc-1337
    • Removed: FCClassTransformer, FluidCraftCore, CoreModHooks, ExternalStorageRegistryTransformer, GuiCraftingTransformer, NEITransformer
    • Fixed: crash when using optimization matrix
    • Closes GTNH#23003
  • #385 Optimized TileCertusQuartzTank update frequency. - @lc-1337
    • Fixed: Tank update spam
  • #384 Updated PartFluidImportBus and PartFluidExportBus to properly handle edge cases when destination is full or unavailable, preventing server hangs and ensuring correct behavior when fluid cannot be transferred. - @hiroscho
    • Fixed: Fluid Import Bus server hang, Fluid Export Bus issues
    • Closes GTNH#22958
  • #383 Corrected TileCertusQuartzTank to properly distinguish between simulation and actual drain operations. - @danyadev
    • Fixed: Tank drain simulation performing actual drain
    • Closes GTNH#22962
  • #382 Renamed getPrimaryGui to createPrimaryGui in three containers and in the CPacketFluidPatternTermBtns, CPacketLevelTerminalCommands and CPacketSwitchGuis callers, following AE2-Unofficial PR 971. Bumped AE2-Unofficial, NEI, GTNHLib, WCT, EnderIO, GT5-Unofficial and OpenComputers versions in dependencies.gradle. - @Kogepan229
  • #378 Updated ItemWirelessUltraTerminal and UltraTerminalButtons to ensure NBT changes are synchronized to client when terminal is in Baubles slot. - @Kogepan229
    • Fixed: Universal Terminal mode switch sync in Baubles slot
  • #374 Corrected SPacketMEUpdateBuffer to properly null out world reference after packet processing, preventing memory retention. - @Alexdoru
    • Fixed: World reference memory leak in network packet
  • #373 TileSuperStockReplenisher.onChangeInventory now branches on the inventory first, and the cell is reset only when a cell is removed with nothing added. The markDirty case now calls markDirty(). - @lc-1337
    • Fixed: byte count and idle power reset when swapping cells in the Super Stock Replenisher, replenisher inventory changes not being saved
  • #362 Corrected FluidCellInventory partition evaluation loop to iterate over all partition slots rather than breaking at getTotalFluidTypes() (5), ensuring slots beyond the first 5 are considered for fluid distribution. - @Litten95
    • Fixed: Multi-fluid cell distribution limit only counting the first 5 partition slots
    • Migration: Re-partition multi-fluid storage cells if partition slots beyond the first five were not working as expected.
  • #354 Extended PartFluidP2PInterface bind operation to preserve stocking configuration. - @hiroscho
    • Fixed: P2P bind stocking settings not copied
  • #353 Added flag synchronization to PartFluidP2PInterface memory card save/load operations. - @hiroscho
    • Fixed: P2P interface desync on repeated memory card save
  • #352 Added missing synchronization flag to PartFluidP2PInterface. - @hiroscho
    • Fixed: P2P dual interface item duplication
  • #342 Updated MEMonitorIFluidHandler to correctly apply blocking card filtering on world load. - @hiroscho
    • Fixed: Advanced Blocking Card initialization on world load
    • Closes GTNH#22144

Performance ​

  • #474 TileLevelMaintainer.doWork() now uses getStorageList().findPrecise() instead of IMEMonitor.getAvailableItem(), checks CPU availability and isDone before the stock lookup, and checks craftability through the crafting grid instead of the stack's isCraftable flag. Bumps Applied-Energistics-2-Unofficial from rv3-beta-1040 to rv3-beta-1078. - @Elios5014
    • Fixed: Level Maintainer scanning all network storage per row every tick, stale craftability check after a pattern is added or removed
  • #459 Added a cached CellType.VALUES array and used it in getTypeColor(int) instead of repeated values() calls. - @boubou19
  • #457 Added cached VALUES arrays to UltraTerminalModes and WirelessMagnet.Mode and replaced values() calls in UltraTerminalButtons, ItemBaseWirelessTerminal, ItemWirelessUltraTerminal, WirelessMagnet and CPacketSwitchGuis. - @boubou19
  • #437 Introduced WalrusRenderer caching class to centralize walrus model loading; refactored ItemWalrusRender and RenderBlockWalrus to use shared cached model; registered renderer in RenderLoader. Requires GTNHLib PR #354. - @sisyphussy
    • Added: WalrusRenderer caching class
    • Removed: ClientProxy walrus model field
    • Fixed: Excessive walrus render allocations, Walrus lighting at huge scales
    • Closes GTNH#21332
  • #431 In ContainerLevelTerminal.updateList, changed the quantity, batchSize and state comparisons from == to !=, so SPacketLevelTerminalUpdate only carries changed entries. - @czqwq
    • Fixed: Level Terminal sending unchanged slots in update packets
  • #421 Moved AdvancedModelLoader.loadModel for walrus.obj into ClientProxy.init with a static getWalrusModel accessor, used by ItemWalrusRender and RenderBlockWalrus. - @Alexdoru

Removals ​

  • #433 Deleted item classes (ItemFluidLevelEmitter, ItemFluidStorageMonitor, ItemFluidConversionMonitor, ItemPartFluidTerminal variants, ItemWirelessFluidTerminal), part classes (PartFluidLevelEmitter, PartFluidTerminal), recipes, and related registry entries; updated texture and localization files. - @lc-1337
    • Removed: Fluid Level Emitter item and part, Fluid Storage Monitor item, Fluid Conversion Monitor item, Fluid Terminal items (standard and extended), Wireless Fluid Terminal item, Related recipes and registry entries
  • #377 Deleted BlockFluidDiscretizer, TileFluidDiscretizer, their holder and name entries, and the lang string, and reworked RecipeLoader. Added FCBaseItemCell.getCellData and PartFluidLevelEmitter.readFromNBT, which converts a stored fluid packet into an AE fluid stack. Deprecated tooltips are prefixed with the red colour code. - @lc-1337
    • Added: red deprecated tooltips, fluid cell data for cell tooltips, fluid packet conversion in Fluid Level Emitter
    • Removed: Fluid Discretizer block
    • Migration: Take Fluid Discretizers out of your networks and storage before updating, because the block and item are deleted.

Internal / Refactor ​

  • #471 Replaces hardcoded 0x404040 in the Gui* drawFG methods with FCGuiColors.guiTextColorGray.getColor() and adjusts FCGuiColors. - @Ranzuu
  • #448 ContainerSuperStockReplenisher and TileSuperStockReplenisher replace the ItemBasicStorageCell and FCBaseItemCell instanceof branches with a single IStorageCell check calling getBytesLong. - @lc-1337
  • #434 WirelessCraftingTerminal moved to runtimeOnlyNonPublishable and the ultra terminal recipe looks it up only when ModAndClassUtil.WCT is set. Deleted the nei recipes and extractor classes, and ThaumicEnergisticsCrafting now builds essentia stacks through AEStackTypeRegistry and NBT. The infinity booster card code now points at WirelessTerminalQuantumBridgeRecipe. Depends on AE2-Unofficial rv3-beta-936. - @Kogepan229
    • Removed: NEI recipe extractor loader, Thaumic Energistics dependency, hard Wireless Crafting Terminal dependency
  • #428 Removed the getCellData override in FCBaseItemCell and added getTypeWeight returning 8 * 256 to FCBaseItemCell and ItemPortableFluidCell. Bumped AE2-Unofficial to rv3-beta-928. - @lc-1337
    • Removed: custom cell data string for fluid cells
  • #406 Removed the reflection-based feature flags (isBigInterface, isSearchBar, isSaveText and others) from ModAndClassUtil and made their code paths unconditional. Replaced Util.isBaublesLoaded with ModAndClassUtil.BAUBLES and GuiLevelTerminal's neiPresent with ModAndClassUtil.NEI. - @danyadev
    • Removed: reflection-based AE2 version checks
  • #380 Removed the func_146977_a override in GuiFluidInterface that reflectively called func_146977_a_original, along with its now-unused imports, following the AE2 slot rendering refactor. - @Kogepan229
    • Removed: slot rendering override in the Fluid Interface GUI
  • #375 Adapts item, cell, part and GUI classes to the AE2 stack type API (for example the IAEStackType accept callback on VirtualMEPhantomSlot), moves LevelTerminalRegistry to the util package, removes the CalculatorV2 plugin loader and the coremod hooks, and bumps AE2, NEI, GTNHLib, Waila and other dependencies. Needs AE2-Unofficial PR 958 and ThaumicEnergistics PR 98. - @Kogepan229
    • Removed: CalculatorV2 plugin loader
  • #341 PartFluidP2PInterface overrides applyMemoryCard instead of pasteMemoryCardData, and its onPartActivate pattern-moving code is removed. dependencies.gradle moves AE2 Unofficial from rv3-beta-711 to rv3-beta-717. - @lc-1337
    • Removed: custom pattern-moving code in the Fluid P2P Interface
  • #326 Replaced Ae2Reflect and Ae2ReflectClient calls with direct access to myIcon, drag_click, getGrid, getUpgradeable and similar in GUIs and containers. Added IFluidCellInventoryHandler.getWhitelist and deprecated getIncludeExcludeMode. - @NeOzay
    • Removed: most Ae2Reflect usages

Chores ​

  • #450 Fixed grammatical error in en_US.lang localization file for Fluid Packet tooltip. - @ham-corp
    • Fixed: Grammar in Fluid Packet tooltip
  • #439 GuiLevelTerminal switches from GuiColors.InterfaceTerminalTitle/InterfaceTerminalInventory to GuiColors.GuiTextColorGray for AE2-Unofficial PR 1340. Dependency versions were bumped. - @Kogepan229
  • #436 Removed the getTypeWeight overrides (8 * 256) from FCBaseItemCell and ItemPortableFluidCell to follow AE2-Unofficial PR 1297, and bumped AE2-Unofficial to rv3-beta-944 plus NEI, Waila, GTNHLib and other dependencies. - @lc-1337
    • Removed: getTypeWeight overrides on fluid cells
  • #408 Removed the curse.maven cofh-lib api dependency from dependencies.gradle, since Applied-Energistics-2-Unofficial depends on cofhcore, which ships cofhlib. - @Kogepan229
    • Removed: separate CoFH Lib dependency
    • Fixed: crash caused by duplicate CoFH Lib
  • #403 Removed required-after:CoFHCore from the @Mod dependencies, swapped the cofh-core dependency for cofh-lib, and replaced CoFHFontRenderer with FontRenderer in GuiLevelMaintainer. Added an access transformer for FontRenderer.func_78280_d. - @unix-supremacist
    • Removed: CoFH Core requirement
  • #357 Removed IPatchedTextureAtlasSprite.markNeedsAnimationUpdate() calls throughout rendering and GUI classes. - @danyadev
    • Removed: Hodgepodge animation update calls, Hodgepodge compile dependency

Contributors ​

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

@Kogepan229 (69), @lc-1337 (52), @Dream-Master (25), @UltraProdigy (9), @danyadev (7), @Ranzuu (7), @Eldrinn-Elantey (6), @hiroscho (5), @Worive (5), @Alexdoru (3), @boubou19 (3), @CaelixOrbit (3), @Luca-Guettinger (3), @Nikolay-Sitnikov (3), @Algent (2), @daxsc (2), @Inphysible (2), @koolkrafter5 (2), @PLASMAchicken (2), @Pxx500 (2), @sisyphussy (2), @AnsonYeung (1), @C0bra5 (1), @copilot-pull-request-reviewer (1), @czqwq (1), @DreamYao520 (1), @Elios5014 (1), @Guvante (1), @ham-corp (1), @iR3turnZ (1), @kuba6000 (1), @Litten95 (1), @MarkinoTeck (1), @Nana-Sakura (1), @NeOzay (1), @przemo1232 (1), @Redderpears (1), @samhaines-wustl (1), @Sanduhr32 (1), @serenibyss (1), @shironakoushi (1), @Spicierspace153 (1), @unix-supremacist (1), @Yoshy2002 (1)