promotional bannermobile promotional banner

Firstworks

Makes early-game survival tougher and more realistic through primitive processing.
Back to Files

Firstworks 0.0.14 - NeoForge 1.21.1

File namefirstworks-0.0.14.jar
Uploader
NsTutNsTut
Uploaded
Sep 16, 2026
Downloads
37
Size
605.5 KB
Mod Loaders
NeoForge
File ID
8897272
Type
R
Release
Supported game versions
  • 1.21.1

Curse Maven Snippet

NeoForge

implementation "curse.maven:firstworks-1635133:8897272"

Learn more about Curse Maven

What's new

Firstworks 0.0.14

Stone Age completion

  • Added renewable resin tapping on pack-extensible firstworks:resin_trees with regrowing resin scars.
  • Resin scars now mount to the tapped tree face and expose four readable in-world growth stages from fresh cut to harvest-ready resin.
  • Added Resin Tap, Resin, and Hafting Compound; the compound joins firstworks:strong_bindings as a reusable late-Stone binding sink.

Advanced ceramics and air control

  • Added a data-driven firstworks:workshop_processing recipe type with Pottery Wheel, Stone Anvil, and Crucible Furnace station modes; ceramic firing and copper annealing use vanilla furnace recipes.
  • Added grog/refractory clay, refractory bricks, fired crucibles, tuyères, reusable casting molds, Stone Hammer, Heavy Leather, Bellows, and the Crucible Furnace.
  • Crucible-furnace recipes pause without active Bellows air, making airflow an actual processing requirement rather than a recipe checkbox.
  • Crucible Furnace fuel is pack-extensible through #firstworks:crucible_furnace_fuels, which ships Coal and Charcoal by default and is also used by JEI.
  • Bellows presses now add to a finite three-stroke air reserve instead of replacing one fixed pulse, so attentive players can bank airflow while furnace particles become visibly more intense at high reserve.
  • The bundled Pottery Wheel now supports a physical top-plate batch gesture: sneak-place a valid primary input on the inner, middle, or outer ring to load 1/2/3 items in one action while preserving the data-driven batch recipe contract.
  • Pottery Wheel batch placement is input-slot-specific: catalyst-only items no longer trigger the 1/2/3 shortcut and instead fall through to normal single-item catalyst insertion.
  • Rebuilt Stone/Copper workshop stations with full 3D in-world models, animated manual mechanisms, visible workpieces/process state, matching geometry-aware interaction/collision shapes, and matching 3D inventory renders instead of placeholder cubes or flat block-item sprites.
  • Heated-station fuel is now a reserve independent of recipe state: manual or automated fuel top-ups preserve active progress and do not force a second fuel consumption.
  • Workshop recipes reject unknown station ids during loading rather than silently creating unreachable recipes.
  • Explicitly declared workshop catalysts remain required even when their ingredient/tag resolves empty; unresolved catalyst tags can no longer silently turn into catalyst-free recipes.
  • Workshop recipes support optional priority (default 0) before the existing batch-size/catalyst/id tie-breakers, so pack overrides do not depend on recipe-id naming.
  • GUI-free workshop insertion now resolves overlapping recipe/fuel roles deterministically, with sneak-right-click forcing any valid tagged Crucible fuel into the fuel reserve on heated stations.
  • Added cancellable workshopProcessingStarting and completion workshopProcessingCompleted KubeJS lifecycle events with station, recipe, input, catalyst, result, block entity, position, and level context.
  • Added Jade live status for all three workshop stations plus Bellows connection/air-reserve feedback, including progress, loaded catalyst, fuel/air pause reasons, and manual-action hints.
  • Improved workshop JEI views with explicit manual-action vs processing-tick units, reusable/consumed catalyst state, Pottery Wheel batch-selection guidance, tagged Crucible fuels, and non-overlapping Bellows-air requirements.

Primitive Copper

  • Added a complete raw copper -> Crucible Furnace cast billet -> vanilla-furnace annealed billet -> Stone Anvil -> copper ingot loop before mature foundry machinery.
  • Added Copper Fasteners and Copper Knife downstream of the finished copper ingot.
  • Added enablePrimitiveCopperProgression (default true): enabled removes vanilla raw/ore copper smelting and blasting bypasses; disabled leaves the winning vanilla/datapack routes untouched while all Firstworks copper mechanics remain available.

Copper support and construction

  • Added the lime/plaster construction loop.
  • Added public tags for hammers, refractory materials, primitive copper, Crucible Furnace fuels, resin trees, and resin tapping tools.
  • Added KubeJS schema and JEI integration for workshop recipes plus progression regression coverage.

Testing and CI

  • Added NeoForge GameTests for the complete primitive-copper casting -> furnace annealing -> Stone Anvil chain, base Quern/Loom manual operation, Bellows air gating and reserve banking, reusable molds, block entities, valid lower/upper build-height edge behavior, running-furnace fuel/input/catalyst top-ups, and Pottery Wheel catalyst-only batch routing.
  • Added behavioral regression coverage for catalyst-presence semantics plus checks for datapack-friendly grain/copper gating, tagged fuel, priority selection/schema bounds, workshop role routing, retained manual-machine/workshop JEI catalysts, workstation collision geometry, resin growth/facing assets, workshop station validation, and bounded quern animation catch-up.
  • GameTest now loads isolated test-only KubeJS server scripts and executes the real workshop event bus, verifying that a cancelled workshopProcessingStarting consumes zero fuel/progress and remains latched, while workshopProcessingCompleted fires exactly once for a completed recipe.
  • CI and release verification run the JVM/resource checks plus runGameTestServer in the same Gradle invocation, while dropping unnecessary clean work so compiled outputs are reused within the run.

Packmaker Customization

  • Grain Progression Toggle:
    • Added enableGrainProgression (default true). When enabled, the winning Bread, Cookie, and Cake recipe ids are rewritten to require the Firstworks flour/dough pipeline (#c:doughs/wheat / #c:flours/wheat).
    • Firstworks no longer ships hard data/minecraft replacements for those recipes. When the toggle is disabled and datapacks are reloaded, Firstworks leaves the winning recipes untouched, so vanilla or another datapack/mod can supply them.
    • Changing this option requires a datapack reload or game restart.
  • Primitive Copper Progression Toggle:
    • Added enablePrimitiveCopperProgression (default true). Disabling it stops Firstworks from removing the six vanilla copper smelting/blasting recipe ids while retaining Firstworks workshop recipes and content.
  • Workshop Extension Contract:
    • firstworks:workshop_processing accepts input_count / catalyst_count in 1–64, work in 1–72000, and optional integer priority (default 0).
    • #firstworks:crucible_furnace_fuels makes Crucible fuel data-driven and defaults to Coal + Charcoal.
    • KubeJS exposes cancellable workshopProcessingStarting and non-cancellable workshopProcessingCompleted hooks alongside the other processing APIs.
  • Quern Recipe Priority:
    • firstworks:quern_grinding supports an optional priority field (default 0). When several quern recipes match the same ingredient, the highest priority is selected; ties break by recipe id, so overlapping matchers resolve deterministically. The requirement that quern ingredient matchers be mutually exclusive is relaxed.
  • Quern Visual Speed:
    • The grinding stone's rotation and catch-up speed scale with the work applied per crank (quernManualWorkPerCrank). Faster manual/rotary work therefore reads as faster motion without the old fixed-speed multi-second animation backlog. No per-source labor or duration fields were added to recipes.

Notes

  • Targets NeoForge 1.21.1.
  • Keeps the existing project license and loader compatibility contract; 0.0.14 does not change either as part of the workshop feature set.

This mod has no additional files