
Forgewright
Start by tapping a rubber tree with a treetap. End by fabricating matter from raw energy in an orbital station you built with construction drones. Forgewright is an eight-tier engineering mod on NeoForge 26.1.x, with real chemistry, hired workers
Tags
Creators
Details
0.4.1-alpha
Compatibility
Changes
[0.4.1-alpha] (2026-05-29)
Bug-fix release on top of 0.4.0-alpha. Save-compatible with 0.4.0-alpha.
Fixes
- The mod now loads cleanly when Curios is not installed. The Tier 2 Brass Spectacles previously registered their Curios accessory binding unconditionally at startup, which crashed the game for players who did not have Curios installed.
- Uncured insulated copper wire is now gated behind Wire Drawing research rather than Rubber Curing.
- Recipe-locked chat messages are now clickable — clicking the research name opens its Codex entry.
- Cured wire (and any other dried output) can be taken directly off a Drying Rack with an empty-hand right-click; no need to break the rack or let items drop on the ground.
- The postman's cap no longer covers the entire face. It now sits as a crown and brim with the face visible.
- Quests whose objective was already satisfied before the quest was granted now auto-complete on activation — for example, crafting an item that a later quest asks for. Backed by vanilla statistics for craft, pickup, mine, and kill objectives.
- Quest rewards can no longer be lost. When the Letterbox and inventory are both full (or no Letterbox is bound), rewards are held and re-delivered on the next login and when a Letterbox is placed, instead of being dropped on the ground where they can despawn.
[0.4.0-alpha] (2026-05-28)
First CurseForge upload. Alpha pre-release: feature surface is in active development through later phases of the roadmap; saves are not guaranteed forward-compatible across alpha releases. Back up your worlds.
Tier 0: Foundation
- Rubber tree worldgen in jungle, swamp, and mangrove biomes. Distinct yellow-orange trunk; drips animate on tappable sides.
- Treetap, sticky resin, rubber, rubber sheet. Spile + Resin Collector drip-budget system survives partial-stripping and pre-patch saves.
- Flint Hammer, Mortar and Pestle, Crushed Ore + Ore Dust pipeline.
- Tin worldgen, bronze alloying (copper + tin), rubber-insulated copper wire.
Tier 1: Mechanical Age
- Water Wheels (3 sizes), Windmills (sail count + height scaling), Hand Crank.
- Stress Units (SU) network: wooden / iron / bronze shafts, gearboxes, clutches, brakes, speed controllers.
- Millstone, Saw Mill, Edge Runner Mill, Trip Hammer, Bellows, Archimedes Screw, Rope Drum.
- Coke Kiln (3x3x3 sealed multiblock): coal to coke and coal tar.
- Bloomery (bellows-fed): iron ore to wrought iron.
- Cementation Furnace: wrought iron + coke to steel.
Tier 2: Steam Age
- Brass Boiler multiblock (3x3x4); steam tracked by pressure and temperature.
- Steam Engines and Steam Turbines (multiblock) producing SU at real efficiency curves.
- Brass piping with pressure-loss-over-distance and instant-break under the Iron Pry Bar / Brass Wrench.
- Belt Drive blocks (standard and heavy-duty) with all-direction rotation via Iron Pry Bar and port-side spine indicators.
- Basic Chemistry Bench: soap, lye, quicklime, crude sulfuric acid.
- Distillation Column (variable-height multiblock; 5 fixed-height variants).
- Calciner, Cement Mixer, Edge-Runner Bed, Trip-Hammer Anvil.
- Ironworks Mk1 (historical-faithful air + water fluid model).
- Oil Pumpjack (surface-seep extraction).
- Alloys: brass, invar, electrum, zinc, nickel, silver.
- Concrete is grey-only and structural; the dyed concrete palette belongs to vanilla and stays there.
- Machine recipes accept any wood-plank type through the
#minecraft:plankstag.
Workforce and Zone Markers
- Job Office workstation.
- Worker hierarchy: roles (Worker, Supervisor, Manager, Treasurer) on one axis, skills (Lumberjack, Farmer, Smelter, Postman, Engineer, and others) on a second axis.
- NPC visual variety: postman variants, role insignia layers, two body builds, 20 hero skins.
- Zone Marker family: Lumberyard, Cropfield, Pasture, Quarry. Each is an abstract zone marker with a planCycle / performAction override hook reused across the family.
Story, Quests, and Codex
- In-house Codex engine (markdown-backed, parchment theme). Replaces the retired GuideME integration.
- Research Map UI with cluster + barycenter layout, orthogonal routing cache, click-through to codex pages.
- Backbone hub-and-spoke quest design: Carpentry, Mechanical Breadth, the four primary correspondents' opening chains (Surveyor, Defense, Trade, plus Holloway's Engineering Bureau spine).
- Correspondence tab: letter archive for all four primary correspondents.
- Postman delivery system on the hero-skin NPCs.
Engineering Infrastructure
- Platform isolation layer: NeoForge wrapped under
com.forgewright.platform; library mods (GeckoLib, Curios, JEI, LambDynamicLights) wrapped undercom.forgewright.compat.*. - ArchUnit baseline-frozen architecture rules. Direct NeoForge imports outside the platform layer fail the build beyond the frozen baseline.
- JUnit 5 unit-test surface for pure-logic code (fluid network, recipe codecs, orientation math).
Known Limitations
- Tiers 3 through 8 are not yet implemented. The codex documents the full roadmap, but only T0, T1, and most T2 content is currently playable.
- High Resolution texture packs are not yet published. The texture set is still iterating per tier; HD packs will appear as additional files on this CurseForge page once T3+ stabilises.
- JEI is an optional runtime dependency. Curios is optional (Engineer's Spectacles head slot). The mod loads cleanly without either.
Optional dependencies
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:O3A4Pm4V:XowbSLvQ"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:O3A4Pm4V:XowbSLvQ"
}
