
FirmaLifeHardCore
A mod that completely overhauls Firmalife's cellar and greenhouse mechanics — no Climate Station required. Enclosed spaces are auto-detected via BFS floodfill with dynamic AABB tracking. Any insulating blocks form a functional cellar or greenhouse.
Links
Tags
Creators
Details
0.2.0-beta
Compatibility
Changes
Additions
- Pumping Station is now a NeoForge fluid container (IFluidHandler) with base 500mB storage.
- Each Irrigation Tank stacked directly above the pump adds 500mB capacity (max 3).
- Per-tick water fill driven by mechanical rotation speed, staggered by Z-coordinate.
- Pump Pressure system:
pumpY + tanks + RPM − sprinklerY ≥ 0determines if water reaches a sprinkler. - Sprinklers now consume 5mB water per spray cycle (~80 ticks). 15RPM ≈ 5 sprinklers equilibrium.
- Pump fluid capability registered via
RegisterCapabilitiesEventfor external pipe compatibility. - Configurable pipe BFS search distance
pipeMaxCost(default 64, was hardcoded 32). - Pump head Jade tooltip displays effective pumping height (tanks + RPM).
- Configurable irrigation parameters:
pumpBaseCapacity,tankCapacityBonus,maxTankBonus,sprinklerWaterUse,pumpRateFactor. - Patchouli manual: "Irrigation Overhaul" and "Sprinklers & Pump Pressure" pages.
Changes
- Irrigation Tank added to LOW thermal insulation tag — acts as wall, pipes through tank don't break greenhouse seal.
- Tank capacity scanning is event-driven (invalidated on tank place/break, 100-tick fallback).
- Sprinkler BFS treats Irrigation Tanks as pipe nodes for pass-through routing.
- Pipe BFS max distance increased from 32 to 64 (configurable).
Fixes
- Greenhouse split detection: breaking a wall now correctly detects orphaned spaces.
- Sprinkler Jade tooltip: disabled unreliable Firmalife HoeOverlay, replaced with CellarTracker-based SprinklerProvider.
- Pump water persistence fix:
saveAdditional/loadAdditionalproperly remapped for vanilla methods. lastFillTickinitialization prevents instant full fill on first world load.- Diagnostic log spam removed from cellar detection, pump BFS, and pressure calculation.
- Tank capacity no longer rescanned every access (event-driven with cache).
Known Issues
- Sprinklers cannot draw water from isolated tanks without pump mechanical power (centralized pump storage limitation).
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:diur6Jqx:ZSMC2XuQ"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:diur6Jqx:ZSMC2XuQ"
}
