TEP-MINI

TEP-MINI (Technology Expansion Pack) adds a modular, Minecraft-friendly technology system with energy, machines, and interconnected devices to expand gameplay and automation.

File Details

tepmini-0.1.0.jar

  • R
  • May 13, 2026
  • 481.65 KB
  • 4
  • 1.21.11
  • Forge

File Name

tepmini-0.1.0.jar

Supported Versions

  • 1.21.11

Curse Maven Snippet

Forge

implementation "curse.maven:tep-mini-1508548:8084100"
Curse Maven does not yet support mods that have disabled 3rd party sharing

Learn more about Curse Maven

TEP Mini - Version 0.1.0
Release date: 2026-04-09

Overview
Version 0.1.0 adds the first Technology Expansion Pack machine line with energy-driven processing, dust progression, fluid logistics, and modernized block visuals.

Added
- Added new machine: Cobblestone Crusher.
- Added new item: Cobblestone Dust.
- Added crusher processing recipe: 1 Cobblestone -> 6 Cobblestone Dust.
- Added crafting recipe: 9 Cobblestone Dust -> 1 Gravel.
- Added new multiblock-like Fluid Tank system (up to 3x3x3 connected blocks).
- Added Fluid Tank capacity scaling: 10 buckets per tank block.
- Added Fluid Tank GUI and live fluid state sync.
- Added bucket support for Fluid Tank (insert/extract fluids).
- Added side I/O configuration for Fluid Tank with Pipe Wrench.
- Added new item: Pipe Wrench.
- Added new block: Tier 1 Pipe.
- Added new block: Water Pump.
- Added Water Pump GUI with energy and fluid indicators.
- Added new block: Concrete Mixer.
- Added Concrete Mixer recipe logic for all concrete powder colors.
- Added Concrete Mixer pipe-water intake support.
- Added directional block placement (facing player) for machine blocks.

Changed
- Changed Fluid Tank interaction flow:
  - Fluid transfer uses right click with bucket items.
  - GUI opening is wrench-based.
- Changed Fluid Tank side behavior:
  - top side is always input
  - horizontal sides are configurable as input/output with wrench
- Changed Fluid Tank visuals to connected-pool style with connected walls/corners and shared surface rendering.
- Changed fluid rendering logic to reflect stored amount in connected tank clusters.
- Changed fluid display to reflect fluid type (water/lava) instead of a single generic look.
- Changed Cobblestone Crusher display/localization so proper block name is shown instead of fallback keys.
- Changed machine textures toward a modern style.
- Updated Cobblestone Crusher textures to 64x64 modern set.
- Updated Concrete Mixer textures to 64x64 modern set.
- Updated Water Pump textures to 64x64 modern set.
- Updated Tier 1 Pipe visuals to glass style with animated internal flow texture.

Fixed
- Fixed startup crash caused by incorrect client event-bus registration for block color handler.
- Fixed dust-to-gravel recipe registration so recipe resolves correctly in TEP Mini.
- Fixed fluid level visualization issues in stacked tank structures.
- Fixed fluid cluster rendering edge cases where top/bottom visual fill looked inconsistent.
- Fixed hopper automation on Cobblestone Crusher input/output sides:
  - input slot no longer extracts to hoppers
  - output extraction remains valid
- Fixed Fluid Tank output transfer logic:
  - output-configured sides now actively push fluid through pipe network
  - fluid now transfers from Fluid Tank output to Concrete Mixer through Tier 1 Pipe

Compatibility and Safety
- TEP Mini machine functionality is implemented to run without requiring PCI Mini as a hard dependency.
- Optional interoperability with PCI Mini energy/pipe workflows remains supported where available.

Patch update - 2026-04-09 (Fluid transport correction)

Changed
- Added active Fluid Tank server tick output transfer pass for horizontal sides set to OUTPUT.
- Added shared-cluster transfer budgeting and source-cluster loop prevention when pushing into tank/pipe networks.

Fixed
- Fixed case where Fluid Tank side set to OUTPUT still did not send water into Concrete Mixer via connected pipes.

Patch update - 2026-04-09 (Pipe visual modernization)

Added
- Added new pipe textures:
  - textures/block/tier_1_pipe_glass.png
  - textures/block/tier_1_pipe_flow.png
  - textures/block/tier_1_pipe_flow.png.mcmeta (animation)

Changed
- Tier 1 Pipe block models now use glass shell + internal flow layers.
- Pipe models now use translucent render type and disabled ambient occlusion for cleaner transparent visuals.

Patch update - 2026-04-09 (Concrete Mixer power usage)

Added
- Added energy storage to Concrete Mixer (`5000 MFE` internal capacity).
- Added Forge energy capability input for Concrete Mixer so it can be powered by compatible cables/networks.

Changed
- Concrete Mixer processing now requires both resources per operation:
  - `100 ml` water
  - `100 MFE` energy
- Concrete Mixer GUI now displays current energy and per-block energy usage.

Fixed
- Prevented no-power processing path in Concrete Mixer (mixing now stops correctly when energy is insufficient).

Patch update - 2026-04-09 (Fluid Tank side OFF mode)

Added
- Added third Fluid Tank side mode: `OFF` (cycle: `INPUT -> OUTPUT -> OFF`).

Changed
- Horizontal side wrench toggling now cycles through three modes instead of two.
- Fluid Tank GUI hint updated to show `I/O/OFF` side configuration.
- Pipe-to-tank visual connection now respects tank side mode:
  - `OFF` side no longer renders as connected pipe endpoint.

Fixed
- OFF side now blocks both directions for pipe transfer:
  - no fluid input on OFF side
  - no fluid output on OFF side
- Added immediate adjacent pipe connection refresh when tank side mode changes.

Patch update - 2026-04-10 (Metal melting v1)

Added
- Added new machine block: `Metal Melter`.
- Added new machine block: `Casting Table`.
- Added molten metal fluid types in internal fluid system:
  - `Molten Iron`
  - `Molten Copper`
  - `Molten Gold`
- Added `Metal Melter` processing flow:
  - accepts `iron/copper/gold` ingots
  - converts `1 ingot -> 1000 mb` molten fluid
  - internal tank `4000 mb`
  - internal energy `5000 MFE`
- Added `Casting Table` processing flow:
  - accepts molten metals from pipes
  - converts `1000 mb -> 1 ingot`
  - internal tank `1000 mb`
  - internal energy `2000 MFE`
- Added full GUI + menu sync for both new machines (energy/fluid/progress/usage).
- Added crafting recipes for `metal_melter` and `casting_table` blocks.

Changed
- Tier 1 Pipe connectivity expanded to include `Metal Melter` and `Casting Table` blocks.
- Fluid transport routing refactored to shared `FluidPipeNetwork` utility.
- Introduced shared `PipeFluidReceiver` interface for fluid machine integration.
- `Concrete Mixer` now receives fluids through shared pipe receiver flow (water-only validation kept).
- `Fluid Tank` now supports internal molten fluid types and fluid-name/color helpers for GUI.
- `Fluid Tank` output can now forward non-water fluids (including molten metals) via pipe network.
- Fluid Tank surface visualization now maps non-water fluids to lava-style surface rendering path for stable visuals.

Fixed
- Removed duplicated per-machine pipe-search logic by unifying transfer behavior.
- Ensured molten fluid transfer respects destination validation (e.g., Casting Table molten-only input).

Patch update - 2026-04-10 (Build fix)

Fixed
- Restored missing syncToClient() methods in:
  - MetalMelterBlockEntity
  - CastingTableBlockEntity
- Fixed compile errors (cannot find symbol: syncToClient) during compileJava.
- Verified Gradle tasks now pass:
  - compileJava
  - processResources

Patch update - 2026-04-10 (Metal Melter output routing)

Fixed
- Metal Melter fluid output no longer depends on only one side.
- Melter now tries to push fluid through all sides (front side first), so transfer to Fluid Tank works even if pipe/tank is connected on a different side.

Patch update - 2026-04-10 (Melter raw + nuggets)

Changed
- Metal Melter now accepts raw metals and nuggets:
  - Raw Iron, Raw Copper, Raw Gold
  - Iron Nugget, Copper Nugget, Gold Nugget
- Added shared melt amount helper (`meltAmountForItem`) for melter input handling.

Patch update - 2026-04-10 (Metal Melter balance pass)

Changed
- Added balancing for metal melting yields:
  - Ingot = 1000 mb
  - Raw metal = 1250 mb (advanced melter bonus)
  - Nugget = exact 1/9 ingot (with remainder accumulation so 9 nuggets = 1000 mb total)
- Metal Melter GUI usage now shows current input melt amount dynamically.

Patch update - 2026-04-10 (Pipe network stability)

Fixed
- Increased fluid pipe network search limit from 256 to 4096 nodes.
- Prevented early cutoff on larger pipe layouts by tightening BFS loop bound.
- This improves machine-to-tank transfer reliability (including Metal Melter -> Fluid Tank).

Patch update - 2026-04-10 (Fluid compatibility guard)

Fixed
- Fluid Tank now auto-clears tiny leftover fluid (<1000 mb) when a different fluid type is inserted.
- This prevents lockups where residual water/lava blocked molten metal transfer from pipes.
- Pipe transfer remains fluid-agnostic (water/lava/molten iron/molten copper/molten gold).

Patch update - 2026-04-10 (Molten fluid visuals)

Added
- Added custom fluid textures:
  - `textures/block/fluid/molten_iron_still.png`
  - `textures/block/fluid/molten_copper_still.png`
  - `textures/block/fluid/molten_gold_still.png`
  - `textures/block/fluid/water_still.png` (bluer water)
- Added molten surface model variants for Fluid Tank fills 1..14:
  - `fluid_tank_surface_molten_iron_*`
  - `fluid_tank_surface_molten_copper_*`
  - `fluid_tank_surface_molten_gold_*`

Changed
- Fluid Tank blockstate now maps fluid ids 3/4/5 to molten iron/copper/gold surface models.
- Fluid Tank visual `FLUID` state range expanded from `0..2` to `0..5`.
- Visual fluid mapping now preserves molten fluid ids (not forced to lava visual).
- Water surface models now use custom blue water texture without biome tint dependency.

Patch update - 2026-04-10 (Molten iron recolor)

Changed
- Recolored `molten_iron_still` fluid texture to metallic gray tone.
- Updated molten iron GUI bar color to gray (`#B3BBC4`) for visual consistency.

Patch update - 2026-04-10 (Casting Table dump button)

Added
- Added `Dump` button in Casting Table GUI.
- Button sends server-side action through menu button click.

Changed
- Casting Table can now push stored molten fluid back into a Fluid Tank via connected Tier 1 pipe network.
- Dump action requires actual pipe path from Casting Table to Fluid Tank (no direct/no-pipe transfer).

Patch update - 2026-04-10 (GUI units in milliliters)

Changed
- Standardized fluid unit labels across all GUIs to milliliters (`mL`).
- Removed Fluid Tank GUI liters conversion and now display raw fluid values in `mL`.
- Updated screens:
  - Fluid Tank
  - Water Pump
  - Metal Melter
  - Casting Table
  - Concrete Mixer

Patch update - 2026-04-10 (Fluid Network Controller)

Added
- New multiblock device: `Fluid Network Controller`.
- New block entity/menu/screen for fluid network monitoring.
- New recipe: `data/tepmini/recipe/fluid_network_controller.json`.

Changed
- Controller scans connected Tier 1 pipe network and detects all connected `Fluid Tank` blocks.
- GUI shows network summary in mL:
  - connected tank count
  - total stored / total capacity
  - per-fluid totals: Water, Lava, Molten Iron, Molten Copper, Molten Gold
- Tier 1 Pipe can now connect to `Fluid Network Controller`.

Patch update - 2026-04-10 (Block break + pickaxe support)

Fixed
- Ensured all mod blocks are mineable with pickaxe via Minecraft block tags.
- Added missing blocks to `mineable/pickaxe` and `needs_stone_tool`:
  - `metal_melter`
  - `casting_table`
  - `fluid_network_controller`

Added
- Added missing block loot tables so blocks always drop their item when broken (with correct tool):
  - `loot_table/blocks/metal_melter.json`
  - `loot_table/blocks/casting_table.json`
  - `loot_table/blocks/fluid_network_controller.json`

Patch update - 2026-04-10 (Fluid Tank empty-hand interaction)

Fixed
- Fluid Tank no longer opens or falls through interaction logic when used with empty hand.
- Empty-hand right click is now explicitly blocked; GUI remains wrench-only.

Patch update - 2026-04-10 (Pipe Wrench removal)

Removed
- Removed `pipe_wrench` item registration and creative tab entry.
- Removed all `pipe_wrench` resources and recipe:
  - assets item/model json
  - recipe json
  - language item entries
- Removed all in-code `pipe_wrench` interaction logic from Fluid Tank.

Changed
- Fluid Tank hint text updated to bucket-only usage.
- Fluid Tank no longer supports wrench-based side mode toggle or GUI open flow.

Patch update - 2026-04-10 (Fluid Tank RMB GUI block fix)

Fixed
- Fluid Tank no longer opens GUI through RMB fallback interaction.
- Non-bucket right click now always returns `FAIL`, fully blocking GUI open with empty hand or unrelated held items.

Patch update - 2026-04-10 (Fluid Tank GUI always on RMB)

Changed
- Fluid Tank GUI now opens with `RMB` regardless of held item.
- Bucket fluid transfer/extract was moved to `Shift + RMB` with bucket to avoid GUI conflict.
- Updated Fluid Tank GUI hint text to show the new controls.

Patch update - 2026-04-10 (Fluid Network Controller multiblock tank detection)

Fixed
- `Fluid Network Controller` now expands detected tank blocks to full connected Fluid Tank multiblock clusters.
- If a pipe reaches any one part of a modular Fluid Tank, controller GUI now counts all connected tank parts (capacity and stored fluid).

Patch update - 2026-04-10 (Fluid Tank mini tool slot)

Added
- Added dedicated `Fluid Tank` tool slot (1x) in GUI.
- Tool slot accepts only `minimod_api:mini_tool`.
- Added shift-click support to move `mini_tool` between player inventory and tool slot.

Changed
- `Fluid Tank` now persists tool slot inventory in block entity NBT.
- `Fluid Tank` drops inserted tool item when block is broken.

Patch update - 2026-04-10 (Fluid Tank side IO GUI via mini tool)

Added
- When `mini_tool` is inserted into `Fluid Tank` tool slot, GUI now shows side IO controls for horizontal sides:
  - North
  - East
  - South
  - West
- Added per-side buttons with mode cycle:
  - `INPUT -> OUTPUT -> OFF -> INPUT`

Changed
- Side IO GUI controls are hidden/disabled when tool slot is empty.
- Fluid Tank menu now syncs per-side IO modes and tool-installed state to client.

Patch update - 2026-04-10 (Fluid Tank GUI layout cleanup)

Changed
- Reworked Fluid Tank top panel layout to prevent text/button overlap.
- Shortened status labels and IO button captions (`IN/OUT/OFF`) for clean fit.
- Moved tool slot and side IO controls into a compact right panel.
- Simplified fluid info lines for readability:
  - Fluid type
  - Stored mL
  - Connected blocks
  - Bucket interaction hint

Patch update - 2026-04-10 (Fluid Tank wide GUI + dedicated side panel)

Changed
- Expanded Fluid Tank GUI size (`176x166` -> `256x190`) for stable spacing.
- Added dedicated right control panel for:
  - `Side I/O` buttons
  - `Tool` slot
- Left panel now focuses only on tank status (fluid, stored mL, connected count, bucket hint).
- Bottom inventory section widened and repositioned for clean alignment with slot frames.
- Updated menu slot coordinates to match new wide GUI layout (tool slot + player inventory positions).

Patch update - 2026-04-11 (New Fluid Network Block)

Added
- New block: `fluid_network_block`.
- New item/model/blockstate/recipe/loot resources for `fluid_network_block`.
- Added `fluid_network_block` to Functional Blocks creative tab.

Changed
- `FluidNetworkControllerBlockEntity` now uses placed block display name for GUI title, so both network blocks show correct names.
- Reused existing Fluid Network Controller functionality (same block class/entity/menu/screen behavior).

Compatibility
- Added `fluid_network_block` to:
  - pickaxe mineable tag
  - needs stone tool tag
  - minimod tier-1 pipe connectables tag

Localization
- Added EN/LT names for `block/item.tepmini.fluid_network_block`.

Patch update - 2026-04-11 (Fluid Network Block module behavior)

Changed
- `Fluid Network Block` now acts as a module for `Fluid Network Controller` (not an independent controller).
- Right-clicking a `Fluid Network Block` opens nearby controller GUI (within 3x3 around module).
- Module blocks do not run standalone controller ticking logic.

Added
- Controller now tracks connected network modules (`Fluid Network Block`) in surrounding 3x3 pattern around controller center:
  - `xxx`
  - `xyx`
  - `x = Fluid Network Block`, `y = Fluid Network Controller`
- Max active modules per controller: `5`.
- Controller GUI now includes module side I/O section with 5 toggle buttons:
  - `INPUT / OUTPUT` per connected module.
- Controller now shows connected module count in GUI.

Smart Pipe Rules
- `Fluid Network Block` accepts pipe connection only from `minimod_api:smart_pipe_tier_1`.
- Module is considered connected/active only when smart pipe is attached.

Patch update - 2026-04-11 (Fluid Tank shared mini tool slot across multiblock)

Changed
- Fluid Tank `mini_tool` slot is now shared per connected tank cluster (multiblock-wide).
- Inserting `mini_tool` in any one tank part is visible and usable from all connected tank parts.

Fixed
- Prevented duplicate tool drops from non-controller tank parts.
- Tool item drop now occurs only from cluster controller block when breaking tank blocks.

Patch update - 2026-04-11 (Fluid Tank side output-only + smart side visibility)

Changed
- Fluid Tank horizontal side modes are now output-only control:
  - removed side `INPUT`
  - side toggle now cycles `OFF <-> OUTPUT`
- Side I/O buttons are now shown only on sides that have an actually connectable adjacent block.
- Side connectability check now supports:
  - Tier 1 Pipe blocks
  - adjacent fluid receiver blocks
  - adjacent Tier1PipeConnectable blocks with valid opposite-side connection.

Fixed
- Horizontal side fluid intake is disabled, so side pipes can no longer insert fluid into Fluid Tank.
- Horizontal transfer loop now only uses sides configured to `OUTPUT`.

Patch update - 2026-04-11 (Fluid Tank side UI: ignore tank-to-tank adjacency)

Fixed
- Fluid Tank side I/O buttons no longer appear for sides touching another Fluid Tank block.
- Side visibility now ignores internal tank cluster connections and only reflects external connectable neighbors.

Patch update - 2026-04-11 (Fluid Network Controller smart-pipe-only info)

Changed
- Fluid Network Controller now exposes/updates network data only when at least one adjacent `minimod_api:smart_pipe_tier_1` is connected.
- Without smart pipe connection, controller GUI now shows only smart-pipe connection instructions.
- Module side I/O buttons are hidden/disabled until smart pipe is connected.

Fixed
- Controller no longer treats direct tank adjacency as valid scan source.
- Controller-side pipe connectivity is now smart-pipe-only (same rule as Fluid Network Block).

Patch update - 2026-04-11 (Smart Block + Smart Controller split workflow)

Added
- Added dedicated `Fluid Network Block` menu type and screen (`smart block` GUI).
- Smart Block now has built-in `mini tool` slot (accepts only `minimod_api:mini_tool`).
- Added per-side Smart Block I/O configuration (6 sides): `OFF / INPUT / OUTPUT`.

Changed
- `Fluid Network Block` now opens its own GUI directly (no redirect to controller GUI).
- Smart Block now tracks connected pipe type and fluid telemetry:
  - Smart pipe: shows fluid type + amount (mL)
  - Normal pipe: shows fluid type only (amount hidden)
- Smart Block side mode now controls pipe connectivity (OFF visually/logically disconnects side).
- `Fluid Network Controller` GUI changed to monitor-only mode:
  - shows connected Smart Blocks (max 5)
  - shows each block fluid info if available
  - no side mode controls in controller GUI
- Controller module snapshot now syncs per-block fluid type + amount from connected Smart Blocks.

Fixed
- `Fluid Network Block` now ticks server-side for live telemetry updates.
- Breaking Smart Block now drops inserted mini tool item from tool slot.

Patch update - 2026-04-11 (Fluid Tank OFF side isolation in network info)

Fixed
- Fluid network scanning now respects Fluid Tank side I/O state.
- If a Fluid Tank side is `OFF`, that side is treated as disconnected for network discovery.
- Tanks behind an `OFF` side are no longer shown as connected and no longer contribute fluid telemetry to Smart Block / Controller views.

Patch update - 2026-04-11 (Smart Block side visibility by pipe adjacency)

Changed
- Fluid Network Block side buttons now show only for sides that have adjacent pipe blocks.
- Supported adjacency for visibility includes both normal `Tier 1 Pipe` and `smart_pipe_tier_1`.

Fixed
- Hidden side buttons can no longer be toggled from menu button actions.

Patch update - 2026-04-11 (Casting Table mode selection + start/stop)

Added
- Added Casting Table output mode selection in GUI:
  - `Ingot`
  - `Block`
  - `Nugget`
- Added Casting Table `Start/Stop` button in GUI to pause/resume processing.

Changed
- Casting Table operation values are now mode-dependent:
  - Ingot: `1000 mL`, `50 MFE`, output `x1 ingot`
  - Block: `9000 mL`, `450 MFE`, output `x1 block`
  - Nugget: `1000 mL`, `50 MFE`, output `x9 nuggets`
- Casting Table internal fluid tank capacity increased to `10000 mL` to support block casting.
- GUI now shows current mode, output count per operation, and running/stopped state.

Fixed
- Switching mode now resets in-progress operation safely to prevent mixed-mode completion.

Patch update - 2026-04-11 (Casting Table GUI layout overhaul)

Changed
- Reworked Casting Table GUI into two clearly separated panels:
  - top `context` panel for machine status and controls
  - bottom `inventory` panel for player inventory/hotbar
- Increased overall GUI size and expanded context area so all lines/buttons fit without overlap.
- Repositioned output slot, status text, bars, and action buttons to prevent clipping.
- Updated menu slot coordinates to match the new wide/tall layout.

Visual
- Removed full-screen/background color fill from Casting Table GUI.
- GUI now uses border-only panel style with transparent background behind panels.

Patch update - 2026-04-11 (Casting Table nugget output count)

Changed
- Casting Table `Nugget` mode now outputs `x1 nugget` per operation (was `x9`).

Patch update - 2026-04-11 (Casting Table inventory alignment + nugget fluid cost)

Changed
- Centered Casting Table inventory slots horizontally in the inventory panel.
- Moved `Inventory` label lower to avoid overlap and improve panel separation readability.
- Nugget mode fluid usage updated to `110 mL` per `1 nugget` output.

Patch update - 2026-04-11 (Casting Table labels top-left alignment)

Changed
- Moved `Casting Table` title text to the top-left inner corner of the context panel.
- Moved `Inventory` label text to the top-left inner corner of the inventory panel.
- Both labels now keep safe inner padding and no longer touch panel borders.

Patch update - 2026-04-11 (Casting Table UI alignment + shift-void dump)

Changed
- Shifted `State` progress bar left so it aligns with the right edge of the main power/fluid bar area.
- Moved `Output` slot and `Output` label lower for cleaner spacing.
- Added panel background colors for both Casting Table context panel and inventory panel.

Added
- `Shift + Dump` action now performs irreversible fluid voiding (removes remaining fluid without routing to tanks).
- Normal `Dump` click behavior remains unchanged (tries to send residual fluid to connected tank via pipes).

Patch update - 2026-04-11 (Casting Table dump/clean controls)

Changed
- Removed `Shift+Dump` behavior from Casting Table GUI.
- `Dump` button now always performs normal residual transfer to connected tank only.
- Added separate `Clean` button for irreversible fluid wipe (void).
- Mode button text simplified to show only value: `Ingot`, `Nugget`, `Block` (removed `Mode:` prefix).

Patch update - 2026-04-11 (Metal Melter GUI overhaul)

Changed
- Reworked Metal Melter GUI layout to match the new two-panel style:
  - larger top context panel
  - separate bottom inventory panel
- Increased GUI size to provide full spacing for text, bars, and slots (no overlap).
- Repositioned Metal Melter input slot and input label lower/right for clear separation from fluid/status lines.
- Repositioned bars/progress for cleaner visual alignment.
- Moved title and inventory label to top-left inner corners of their respective panels.
- Added panel background colors for both context and inventory sections.

Layout sync
- Updated Metal Melter menu slot coordinates to match the new GUI positions.

Patch update - 2026-04-11 (Metal Melter color parity + metal block melting)

Changed
- Updated Metal Melter GUI color palette to match Casting Table GUI style.
- Metal Melter now accepts metal blocks as valid melting input:
  - Iron Block
  - Copper Block
  - Gold Block
- Metal block melt yield set to `9000 mL` per block (9 ingots equivalent).

Patch update - 2026-04-11 (Metal block melting capacity fix)

Fixed
- Increased Metal Melter internal fluid tank capacity from `4000 mL` to `10000 mL`.
- This allows `metal block` melting recipes (`9000 mL`) to process correctly.

Patch update - 2026-04-15 (ATM decorative multiblock)

Added
- Added new decorative block: `ATM`.
- ATM is a two-block-tall structure (`lower` + `upper`) with horizontal facing on placement.
- Added full ATM resource set:
  - blockstate
  - lower/upper block models
  - item model
  - 64x64 texture set for all faces/parts
- Added ATM localization entries:
  - EN: `ATM`
  - LT: `Bankomatas`
- Added ATM loot table and mining tags (pickaxe / stone tool).
- Added ATM block item to Functional Blocks creative tab.

Fixed
- Updated ATM block code for current Forge/Minecraft API signatures so project compiles cleanly (`compileJava` OK).

Patch update - 2026-04-15 (ATM GUI v1)

Added
- Added new ATM menu type: `atm`.
- Added new ATM screen with real-world style layout:
  - central ATM display panel
  - side soft keys
  - numeric keypad (`0-9`, `C`, `OK`)
  - session/status lines
  - separate inventory panel
- Added localized container titles:
  - `container.tepmini.atm` (EN/LT).

Changed
- ATM block now opens GUI on `RMB` with empty hand or item.
- Both ATM halves (upper/lower) open the same ATM menu tied to the base block position.

Notes
- ATM GUI is currently visual/demo only (no economy or account backend logic yet).

Patch update - 2026-04-15 (Fluid Tank transparent window view)

Added
- Added new Fluid Tank GUI toggle button: `Window ON/OFF` (`Set as transparent` behavior).
- Added new Fluid Tank blockstate flag: `transparent` (cluster-wide visual mode).
- Added new transparent wall texture with narrow view slit:
  - `textures/block/fluid_tank_wall_window.png`
- Added transparent wall model variants:
  - `fluid_tank_wall_north_window`
  - `fluid_tank_wall_east_window`
  - `fluid_tank_wall_south_window`
  - `fluid_tank_wall_west_window`
- Added vertical fluid level indicator models (`fill 1..14`) rendered behind slit:
  - `fluid_tank_window_fluid_1` ... `fluid_tank_window_fluid_14`

Changed
- Fluid Tank wall rendering now switches by mode:
  - normal walls when `transparent=false`
  - slit-window walls when `transparent=true`
- Fluid Tank GUI right panel now includes a dedicated `View` control section.
- Fluid Tank block color handler now supports dedicated tint index for window indicator fluid color.

Behavior
- Transparent mode is applied to whole connected Fluid Tank cluster.
- Visible strip level matches current per-block fill level and updates with stored fluid amount.

Patch update - 2026-04-15 (Fluid Tank transparent mode scope fix)

Changed
- Transparent window mode is now per-block (local), not cluster-wide.
- `Window ON/OFF` now affects only the exact Fluid Tank block whose GUI was used.

Fixed
- Removed forced transparent-state sync across connected Fluid Tank blocks.
- Blockstate `transparent` rendering now reads each tank block's own setting.

Patch update - 2026-04-15 (Fluid Tank window precision + connected visuals)

Added
- Added new Fluid Tank blockstate property: `window_fill` (`0..100`) for precise window indicator rendering.
- Added high-resolution window indicator model set:
  - `fluid_tank_window_fluid_1` ... `fluid_tank_window_fluid_100`

Changed
- Transparent window indicator now uses `window_fill` percent instead of coarse `fill 1..14`.
- Window fluid column geometry updated to be vertically continuous-looking between stacked blocks.
- Window wall texture updated to cleaner vertical-slit style to reduce visible segment breaks.
- Fluid Tank blockstate window rules now use `window_fill` for per-side indicator rendering.

Visual result
- Better connected window appearance across stacked transparent tank blocks.
- More accurate occupied-level display (near-continuous 1% steps).
- Indicator color remains mapped to actual fluid type (water/lava/molten iron/copper/gold).

Patch update - 2026-04-17 (Client color handler event bus fix)

Fixed
- Fixed Fluid Tank block color handler registration bus in `ClientModEvents`.
- `RegisterColorHandlersEvent.Block` listener moved off MOD bus to avoid startup crash caused by wrong event bus group.

Patch update - 2026-04-17 (Client registry guard hardening)

Fixed
- Hardened client startup registry access in `ClientModEvents`:
  - menu screen registration now uses `RegistryObject.isPresent()` guard
  - Fluid Tank color handler registration now exits safely when `FLUID_TANK` registry object is not present
- This prevents hard startup crashes from direct `RegistryObject.get()` in edge-case load-order/registry states.

Patch update - 2026-04-17 (Color handler bus compatibility fix)

Fixed
- Fixed `RegisterColorHandlersEvent.Block` subscription bus for TEP Mini client events.
- Listener moved to `FORGE` bus to match event type (non-`IModBusEvent`) and avoid startup failure:
  - `BusGroup "modBusFortepmini" requires all events ... IModBusEvent ... RegisterColorHandlersEvent$Block doesn't`.

Patch update - 2026-04-17 (Client color handler class split + bus isolation)

Fixed
- Moved Fluid Tank block color registration into standalone client class:
  - `lt.laurynas.tepmini.client.ClientForgeEvents`
- Registered `RegisterColorHandlersEvent.Block` on `FORGE` bus in that standalone class.
- Removed nested color handler subscriber from `ClientModEvents` to avoid mixed bus-group registration ambiguity.
- This targets launcher error:
  - `BusGroup "modBusFortepmini" requires ... IModBusEvent ... RegisterColorHandlersEvent$Block doesn't`.

Patch update - 2026-04-17 (Fluid Tank window_fill rollback)

Changed
- Rolled back high-cardinality Fluid Tank `window_fill (0..100)` blockstate property.
- Restored window indicator rendering to existing `fill (1..14)` model set.

Fixed
- Reduced Fluid Tank blockstate/model complexity to prevent client startup/bake stalls.
- Removed `window_fill` handling from block/entity and blockstate resource mapping.


Patch update - 2026-04-17 (Fluid Tank window artifacts + seam reduction)

Fixed
- Transparent Fluid Tank now disables corner overlay models to avoid edge z-fighting artifacts:
  - all `fluid_tank_corner_*` multipart rules now require `transparent=false`
- Updated window wall models (`north/east/south/west`) to reduce seam artifacts:
  - switched render type to `cutout`
  - removed top/bottom faces from window wall elements (less horizontal seam between stacked blocks)
  - added UV mapping on window face to keep slit visually continuous across stacked blocks.

Changed
- Window slit rendering remains per-block, but now appears cleaner at block boundaries and side edges.

Patch update - 2026-04-17 (Fluid Tank selective window placement + visible level strip)

Changed
- Reworked transparent window placement rules in `fluid_tank.json`:
  - window walls and window fluid strips now render only on edge-middle positions of a side
  - center and corner positions are excluded
- Generated explicit side cases so each window is shown only when exactly one adjacent orthogonal direction is open (edge-middle behavior).

Fixed
- Improved fluid level visibility in window strip:
  - regenerated `fluid_tank_window_fluid_1..14` with thicker/deeper geometry behind slot
  - keeps tint color by fluid type and fill-based height.
- Reduced edge shimmer:
  - switched window wall models to `solid` render type
  - removed overlapping transparent surface usage in window frame pieces.

Patch update - 2026-04-17 (Fluid Tank Window moved to dedicated block)

Added
- New block: `fluid_tank_window` (dedicated visual monitor for Fluid Tank clusters).
- New block entity: `FluidTankWindowBlockEntity`.
- New crafting recipe and loot table for `fluid_tank_window`.
- New block/item/lang entries and creative tab registration.
- New blockstate+models for window monitor:
  - front icon shows fluid type item
  - progress bar shows cluster capacity fill level.

Behavior
- `fluid_tank_window` can be placed only on a horizontal side adjacent to a Fluid Tank.
- Only one window can be placed per connected Fluid Tank cluster.
- Window auto-updates from connected tank cluster every few ticks:
  - fill 0..14 based on stored/capacity
  - icon mapping:
    - molten metals -> ingot icon
    - water/lava -> bucket icon
- If attached tank is removed, window block removes itself.

Changed
- Removed old Fluid Tank GUI `Window ON/OFF` control.
- Legacy transparent tank-window visual path disabled in practice:
  - Fluid Tank no longer renders old embedded window models.
  - Fluid Tank visuals now stay on standard wall/surface rendering.

Client
- Added color handler for `fluid_tank_window` progress bar tint based on displayed fluid.

Patch update - 2026-04-17 (Fluid Tank Window missing texture fix)

Fixed
- Replaced `fluid_tank_window` icon model texture sources from `minecraft:item/*` to local block textures under:
  - `assets/tepmini/textures/block/window/icon_*.png`
- Added custom icon texture set for:
  - none, water_bucket, lava_bucket, milk_bucket, iron_ingot, copper_ingot, gold_ingot.
- Updated all `fluid_tank_window_icon_*.json` block models to use `tepmini:block/window/icon_*` paths.

Result
- Removed purple/black missing-texture cube on `fluid_tank_window` front display.

Patch update - 2026-04-17 (Fluid Tank GUI split)

Changed
- `Fluid Tank` GUI was simplified to configuration-only view:
  - side I/O buttons
  - mini tool slot
  - player inventory
- Removed fluid information lines and fill bar from `Fluid Tank` GUI.
- Added guidance text in `Fluid Tank` GUI that tank status is now shown in `Fluid Tank Window`.

Window UI
- `Fluid Tank Window` remains the full status GUI for tank cluster monitoring:
  - fluid type
  - stored/capacity in mL
  - fill level and percent
  - connected tank block count
  - visual fluid icon + progress bar

Patch update - 2026-04-17 (Fluid Tank Window GUI visual polish)

Changed
- Reworked `Fluid Tank Window` GUI layout for clearer readability.
- Added dedicated right-side icon zone with framed background.
- Enlarged fill progress bar to a wide bottom row in context panel.
- Improved text row spacing and simplified status wording for faster scan.
- Kept inventory panel styling aligned with other machine GUIs.

Patch update - 2026-04-17 (Fluid Tank Window GUI spacing cleanup)

Changed
- Moved `Fluid Tank Window` title lower with safe top padding.
- Removed icon type text label (`Ingot/Bucket`) from context panel.
- Removed decorative icon border frame for cleaner minimal icon display.
- Enlarged inventory panel and moved inventory label/slots down to prevent text overlap with panel border.

Patch update - 2026-04-17 (Fluid Tank + Window requested layout pass)

Changed
- Fluid Tank Window:
  - `Fill` line now shows only percentage value.
  - Inventory slots were aligned with drawn grid by syncing menu slot Y positions.
  - Fluid icon was moved lower for better visual alignment.
- Fluid Tank:
  - Removed `Side configuration` text block from top panel.
  - Reworked top content to a single full-width side I/O panel.
  - Rearranged side buttons into a wider two-column layout.
  - Moved tool slot and labels to match new full-width panel.
  - Enlarged/lowered inventory section and moved inventory label down to avoid border overlap.

Patch update - 2026-04-17 (Funnel block v1)

Added
- New block: `funnel`.
- New block entity: `FunnelBlockEntity`.
- Added `funnel` recipe, loot table, item definition, blockstate/model/item model, EN/LT localization, and pickaxe/stone-tool tags.
- Added `funnel` to functional creative tab.

Behavior
- `RMB` with `Water Bucket` or `Lava Bucket` pours fluid into Funnel.
- `RMB` with empty `Bucket` extracts fluid back (when at least `1000 mL` available and fluid has matching bucket form).
- Funnel outputs fluid only downward (`bottom output`) each tick.
- Downward output supports direct receiver or connected pipe network routing via existing fluid network helper.

Patch update - 2026-04-17 (Funnel opaque + Bucket Filler)

Changed
- Funnel top/grate visuals were updated to non-transparent textures (no cutout transparency).

Added
- New machine block: `bucket_filler`.
- Added `Bucket Filler` block entity, menu, and GUI screen.
- Added full resources for `bucket_filler`:
  - blockstate/model/item model/item definition
  - recipe
  - loot table
  - localization EN/LT
  - pickaxe/stone-tool tags
  - tier 1 pipe connectable tag entry

Behavior
- `Bucket Filler` accepts fluid from pipe network only when an empty bucket is inserted in its bucket slot.
- Supported fill fluids: `Water` and `Lava`.
- Once internal fluid reaches one bucket (`1000 mL`), inserted empty bucket is converted into filled bucket.

Patch update - 2026-04-17 (Funnel pipe sides + molten bucket textures)

Changed
- `Funnel` now implements side-aware tier 1 pipe connect rules:
  - only `UP` and `DOWN` can connect
  - horizontal sides no longer connect to pipes
- `Funnel` keeps pipe fluid input support from `UP` and fluid output routing downward.
- `Funnel` now refreshes adjacent tier 1 pipe connection states on placement to apply side rules immediately.
- `MoltenBucketItem` bucket-empty behavior was expanded so ground/block right-click placement path is handled more reliably.

Added
- Added missing molten bucket item definition files:
  - `assets/tepmini/items/molten_iron_bucket.json`
  - `assets/tepmini/items/molten_copper_bucket.json`
  - `assets/tepmini/items/molten_gold_bucket.json`
- Added missing molten bucket item model files:
  - `assets/tepmini/models/item/molten_copper_bucket.json`
  - `assets/tepmini/models/item/molten_gold_bucket.json`

Result
- Missing texture issues for molten bucket items are resolved by complete item/model registration files.

Patch update - 2026-04-17 (Casting Table dump routing fix for Funnel)

Changed
- `Casting Table` dump-to-pipe logic now uses shared `FluidPipeNetwork` routing instead of direct `FluidTank`-only search.
- Dump can now deliver fluid to any valid `PipeFluidReceiver` on the network path, including `Funnel` (with top input rules).

Result
- `Dump` works when pipeline path leads through/into `Funnel` instead of requiring direct `Fluid Tank` endpoint.

Patch update - 2026-04-17 (Distinct molten visuals: buckets + world placement)

Changed
- Molten bucket world placement is now type-aware:
  - `Molten Iron Bucket` places `molten_iron_fluid` block
  - `Molten Copper Bucket` places `molten_copper_fluid` block
  - `Molten Gold Bucket` places `molten_gold_fluid` block
- Added dedicated molten world block registrations and models using existing molten fluid textures.
- Updated molten bucket item models so they no longer all look identical:
  - iron uses bucket + iron ingot overlay
  - copper uses bucket + copper ingot overlay
  - gold uses bucket + gold ingot overlay

Added
- New block class: `MoltenFluidBlock`.
- New blockstates/models:
  - `molten_iron_fluid`
  - `molten_copper_fluid`
  - `molten_gold_fluid`

Patch update - 2026-04-17 (Molten placed fluid visual style)

Changed
- Molten placed blocks were switched from full solid cube look to fluid-style render:
  - translucent render type
  - lowered liquid height model (not full cube)
  - dedicated still textures per metal retained
- Molten placed blocks now have:
  - no collision
  - no occlusion
  - replaceable behavior
  - light emission per molten type

Result
- Poured molten iron/copper/gold no longer looks like a solid block and is visually distinct per metal.

Patch update - 2026-04-17 (Real flowing molten fluid system)

Changed
- Replaced static molten fluid-style blocks with real Forge flowing fluids:
  - `ForgeFlowingFluid.Source`
  - `ForgeFlowingFluid.Flowing`
  - `LiquidBlock` fluid blocks
- Molten buckets are now standard `BucketItem` instances bound to real fluid sources.
- Molten fluid rendering now uses vanilla lava still/flow sprites with per-fluid tint:
  - iron: gray
  - copper: copper-orange
  - gold: gold-yellow
- Client render layer registration now includes both source and flowing molten fluids.

Removed
- Removed deprecated static-fluid implementation classes:
  - `MoltenFluidBlock`
  - `MoltenBucketItem`
- Removed old static molten blockstate/model resources no longer used by the flowing system.

Result
- Molten Iron/Copper/Gold now behave as true fluids in-world (flow + spread), instead of static pseudo-fluid blocks.
- Bucket placement/extraction path is now aligned with vanilla fluid bucket behavior.

Patch update - 2026-04-17 (Molten color tuning pass)

Changed
- Adjusted molten fluid visual tint palette to requested tones:
  - Iron -> more silver
  - Copper -> more orange/rust (ryza)
  - Gold -> richer gold
- Synced these colors across:
  - real flowing fluid tint (`MoltenFluidType`)
  - Fluid Tank bars (`fluidBarColor`)
  - Fluid Tank Window progress tint (`progressBarColor`)

Patch update - 2026-04-17 (Per-metal flowing texture split)

Changed
- Real flowing molten fluids no longer use shared vanilla lava texture.
- Each molten fluid now has dedicated texture pair:
  - `molten_iron_still` + `molten_iron_flowing`
  - `molten_copper_still` + `molten_copper_flowing`
  - `molten_gold_still` + `molten_gold_flowing`
- Updated fluid type bindings so Iron/Copper/Gold read their own still/flowing assets.
- Removed global tint forcing for molten fluids (set to neutral white), so texture color is preserved directly.

Added
- New flowing texture assets:
  - `assets/tepmini/textures/block/fluid/molten_iron_flowing.png`
  - `assets/tepmini/textures/block/fluid/molten_copper_flowing.png`
  - `assets/tepmini/textures/block/fluid/molten_gold_flowing.png`

Patch update - 2026-04-17 (Molten fluid animation + bucket fill visuals)

Changed
- Molten fluid textures are now animated for both still and flowing states.
- Generated 4-frame animated sheets (`16x64`) for:
  - `molten_iron_still/flowing`
  - `molten_copper_still/flowing`
  - `molten_gold_still/flowing`
- Added animation metadata (`.mcmeta`) with interpolation:
  - still textures use slower frame time
  - flowing textures use faster frame time

- Molten bucket item visuals were changed from ingot overlay to fluid-fill overlay:
  - `molten_iron_bucket`
  - `molten_copper_bucket`
  - `molten_gold_bucket`
- New bucket fill item textures added:
  - `textures/item/molten_iron_fluid.png`
  - `textures/item/molten_copper_fluid.png`
  - `textures/item/molten_gold_fluid.png`

Result
- In-world molten fluids now visually move (animated), so they look less static/fake.
- Bucket icons now look closer to water/lava bucket style (visible fluid fill instead of ingot icon).

Patch update - 2026-04-17 (Animation speed + bucket icon style refinement)

Changed
- Slowed molten texture animation speed to look more natural:
  - still fluids: `frametime 10`
  - flowing fluids: `frametime 8`
- Kept interpolation enabled for smoother movement.

- Refined molten bucket fluid overlay icons to match vanilla-like bucket fill look:
  - replaced full-square fill with bucket-interior mask shape
  - added subtle highlight/shadow gradient for depth
  - preserved per-metal color identity (iron/copper/gold)

Result
- Fluid movement appears less fast/arcade-like.
- Bucket icons now visually match water/lava bucket style more closely.

Patch update - 2026-04-17 (Vanilla-style molten bucket icons)

Changed
- Rebuilt molten bucket item textures directly from vanilla bucket style composition.
- Molten bucket models now use full per-item textures (single layer), instead of custom overlay stack.
- Updated models:
  - `models/item/molten_iron_bucket.json`
  - `models/item/molten_copper_bucket.json`
  - `models/item/molten_gold_bucket.json`
- Added new full icon textures:
  - `textures/item/molten_iron_bucket.png`
  - `textures/item/molten_copper_bucket.png`
  - `textures/item/molten_gold_bucket.png`

Result
- Molten bucket icons now match vanilla bucket silhouette/shading style while keeping distinct metal fluid colors.

Patch update - 2026-04-20 (MiniKoro pet system expansion + UI polish)

Added
- Added MiniKoro `Shower` action button and server-side action handling.
- Added side-panel UI animations for MiniKoro:
  - smooth stat bar transitions
  - slide-in/out animation for `Pet Info` and `Pet Stats` side menus.
- Added dynamic pet stat scaling system by animal type and level:
  - per-type base values
  - per-level growth values
  - real max stat calculation per pet.

Changed
- MiniKoro GUI layout was reworked to avoid text/button overlap:
  - status line moved
  - button rows resized/repositioned
  - player inventory moved lower.
- `Pet Stats` panel now shows real numeric values as `current/max` based on pet type and level.
- Sleep energy gain now follows sleep progression timing (removed extra fast sleep boost path).
- MiniKoro item reequip animation handling was adjusted so continuous NBT updates do not trigger hand flicker.

Fixed
- Fixed issue where closing MiniKoro during sleep could look like continuous RMB/use animation.
- Fixed unnecessary capsule persistence writes by saving MiniKoro capsule data only when NBT actually changes.
- Fixed pet catch-up stat changes after long inactivity:
  - if capsule is not in MiniKoro, stats are frozen
  - after game-off/long pause, stats do not jump forward
  - sleep timer is also frozen during inactivity.

Patch update - 2026-04-20 (Fluid Tank water animation vanilla restore)

Changed
- Fluid Tank water surface models were switched from custom local water texture reference to vanilla Minecraft water texture:
  - from `tepmini:block/fluid/water_still`
  - to `minecraft:block/water_still`
- This restores original vanilla water animation style inside Fluid Tank water surfaces.

Patch update - 2026-04-20 (Fluid Tank Window top placement support)

Added
- `Fluid Tank Window` can now be placed on top of `Fluid Tank` blocks (upper face), not only on horizontal sides.

Changed
- Window attachment/survival logic now supports `facing=up` and links to the tank block below.
- Window blockstate/model mapping now includes `up` orientation rendering variants.

Fixed
- Window cluster uniqueness check now also accounts for top-placed windows in the same connected tank cluster.

Patch update - 2026-04-20 (Casting Table input control + smart metal selector)

Added
- Added `In ON/OFF` button in Casting Table GUI to control fluid intake.
- Added `Metal` selector button in Casting Table GUI for molten input filter:
  - `Auto -> Iron -> Copper -> Gold`
  - selector is active only when Smart Pipe is connected.

Changed
- Casting Table now supports dedicated fluid intake state independent from processing state:
  - when intake is `OFF`, table rejects all incoming pipe fluids.
- Molten input filtering now applies for Smart Pipe input:
  - selected metal accepts only matching molten fluid from smart-pipe side.
- Casting Table GUI top controls were compacted to fit:
  - output mode
  - run/stop
  - intake on/off
  - dump
  - clean

Compatibility
- If no Smart Pipe is connected, Metal selector remains visible but disabled (`Smart pipe required` hint is shown in status text).

Patch update - 2026-05-07 (TEP Mini model warnings fix)

Fixed
- Fixed missing `particle` texture warnings for Fluid Tank Window overlay models:
  - `models/block/fluid_tank_window_icon_*.json`
  - `models/block/fluid_tank_window_bar_*.json`
- Added molten fluid blockstate coverage to remove `Missing model for variant` warnings:
  - `blockstates/molten_iron_fluid.json`
  - `blockstates/molten_copper_fluid.json`
  - `blockstates/molten_gold_fluid.json`
- Added shared molten fluid block model:
  - `models/block/molten_fluid.json` (`forge:block/fluid` parent)