1.4.0+26.2-fabric
Compatibility
Required content
Changes
Hardcore Winter 1.4.0 — patch notes
Why any of this
The last build had you walking. Crops die under open sky, the herds are thinned, and the one thing that fixes farming — the greenhouse — wants seeds, glass and a steady heat source before it does anything at all. Until all three landed there was nothing to make, only things to go and find. Twenty or thirty minutes of crossing snow looking for the next thing you need is not difficulty, it is just distance, and it is not fun.
So 1.4.0 adds work you can do where you already are. The Fish Trap fills while you are busy with something else. The hot springs are warmth you can stand in instead of fuel you have to carry there. The caves coming back means digging is worth something again rather than being one grey tunnel in every direction.
The springs answer the other half of it too. The ring around the water grows short grass, and grass breaks into wheat seeds — so a spring is somewhere you can walk out of with the one thing the greenhouse actually needs, without waiting for a trader to knock. There is sugar cane along the waterline as well, renewable the moment you have a single stalk. That was the real gate: not the glass, not the fire, the seeds. The buried oases have always had both, but you had to find one first.
The shape I was aiming for is vanilla's own loop. In vanilla you gather, you craft, you build, and the thing you built makes the next gather better — everything you need is reachable from where you are standing, and progress comes from what you put down rather than how far you walked. This mod had broken that. It took the early production away without giving you anything to make in its place, so the loop turned into walk until you find something, and that is a different game.
So the trap is sticks, and sticks never run out. It produces where you put it. More fish means a bigger pond, which is digging — the thing you built making the next gather better, which is the loop running again. Seeds from a spring restart farming, farming feeds the greenhouse, the greenhouse feeds you.
And where a rule still had to be decided, I let vanilla decide it. Its fishing rod checks for open water, and failing that check does not stop you fishing — it only costs you the treasure. So a bucket poured into your floor still catches fish, just slowly enough that the lake is obviously worth the walk. Nothing is refused with a message you would have to guess the meaning of.
None of it makes the world softer. The trap only ticks while its chunk is loaded, so it fishes for you around camp and stops the moment you wander off. Cramped water catches at 6% against 60% under real lake ice, so the walk still pays. Wanting more fish means digging a bigger pond, which is building rather than shopping. And a hot spring is still a warm patch in the open, with the storm on all sides of it.
The intent was to give the early hours something to build toward, not to take the winter out of it.
Content
- New block:
hardcore-winter:fish_trap. Waterlogged-only; refuses placement outside a water source. Catch level0-3is held in the blockstate, so it needs no block entity and persists for free. Fills on random tick, right-click empties it into cod or salmon. Cannot be picked up with a bucket. - New feature:
hardcore-winter:surface_oasis. Geothermal springs on the surface, 1-in-25 chunks before site rejection. Runs inTOP_LAYER_MODIFICATIONafterminecraft:freeze_top_layer, or the pool is iced and the ring snowed over by the same chunk's own generation. Magma scores as a tier-2 heat source; shroomlight on the pool floor keeps vanilla's random-tick freeze off the water. Plants short grass, fern, dandelion and poppy around the rim and sugar cane along the waterline, so a spring is a seed source as well as a heat source. - Fish Trap recipe (8 sticks), loot table, and an unlock advancement using a
minecraft:tickcriterion, so the recipe is known from world start.
Worldgen
overworld.jsonswitched from a fixed biome source tomulti_noise, carrying vanilla's full climate table. Every surface parameter cell is remapped toice_spikes, so nothing above ground changed.deep_dark,lush_caves,dripstone_cavesandsulfur_cavesare preserved, which brings the cave biomes back.- Removed the
has_structure/ancient_cityoverride. Cities gate ondeep_darkagain instead of the whole world, which restores vanilla rarity. - Added
has_structure/shipwreck_beachedandhas_structure/pillager_outpost. - New
CaveBiomesclass re-adds the mod's underground flora and the oasis-adjacent decoration to the four cave biomes, in an order matchingice_spikes.jsonexactly. Applied as one modification rather than several, because the staticaddFeaturehelper applies in id order rather than call order and shuffled them, which contradicted the biome file and refused to generate at all. - Underground oasis outline is now lobed rather than a true circle.
Client rendering
- New
StormStateholds one eased view of storm strength, sky exposure and gust phase, sampled by the render thread. StormFogMixin(FogRenderer.setupFog): visibility closes in with the storm tier and tightens further on gusts. Distances only ever tighten, so underwater and blindness keep priority.StormSkyMixin(SkyRenderer.extractRenderState): sky colour, star and rain brightness track the storm.ColdGradeMixin(LightmapRenderStateExtractor.extract): skylight cold, block light warm.ExperimentalWarningMixin(WorldOpenFlows.confirmWorldCreation) and a new inject onPrimaryLevelData.worldGenSettingsLifecyclesuppress the experimental prompt on world creation and on load. They are separate code paths.- Removed the
MobEffects.DARKNESSpulse on blizzard nights.
Config
- New keys:
stormFog,skyGrading,suppressExperimentalWarning. - The config file is now rewritten on every load so new keys appear in existing installs — except after a failed parse, where it is left untouched.
Fixes
- Every buried oasis had an empty barrel. All of them, in every world, since the feature shipped. The loot is in there now.
- Icicles and icicle clusters pointed the wrong way on cave ceilings, and the clusters hung a little clear of the stone as well.
- Buried oases are no longer perfect spheres — the walls come in and out now.
- No more "experimental settings" warning every time you make a world.
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:92OTlCRC:CHEQOrIJ"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:92OTlCRC:CHEQOrIJ"
}

