Fieldworks

Ore patches, oil fields and the Harvester that works them
Back to Files

Fieldworks 0.2.0

File namefieldworks-0.2.0.jar
Uploader
kc00lkc00l
Uploaded
Oct 11, 2026
Downloads
14
Size
476.5 KB
Mod Loaders
NeoForge
File ID
9128325
Type
B
Beta
Supported game versions
  • 26.1.2

Curse Maven Snippet

NeoForge

implementation "curse.maven:fieldworks-1737485:9128325"

Learn more about Curse Maven

What's new

  • Groundworks is now required, from 0.5.5 up to but not including 0.6, and is not nested: a player installs it beside Fieldworks. libworks-runtime 0.1.0 (mod id libworks) rides inside the jar by jar-in-jar (#5).
  • The Burner Harvester, fieldworks:harvester_1, a 3×3×3 Groundworks footprint, draws the ore blocks in the layer under it one unit per operation, in turn, as a hand break does. It burns any fuel a hopper feeds it, a coal for eight operations as a furnace smelts eight, and pushes what it draws into the item handler at its front; with nowhere to put it, it stops and drops nothing. Its rank, speed and power come from data/fieldworks/harvester_tier/harvester_1.json, which a datapack can override; a missing or invalid file leaves it idle and the load logs why (#5).
  • Harvest Recipes are data: a fieldworks:harvesting recipe in data/<ns>/recipe/ names a source (a block, a block tag or a list of blocks), a result item, a duration in ticks at speed ×1, which a tier's speed divides, an optional minimum_tier (a Harvester block id, compared by rank) and replaces_default. With no Held recipe the Harvester runs only Default recipes, and skips an ore block whose Default recipe a recipe replaces; it works the rest of its footprint. A recipe the load refuses is logged with its id and why. A Held recipe, set as #10 describes, runs a written recipe in place of the Default recipes (#8).
  • A Harvester over an oil well pumps it: one operation is one cycle of the well's yield and decay, into an 8,000 mB product tank, and the well never falls below its floor. While any well is under the footprint it works only the wells, in turn, and leaves the ore. A full tank stops it (#9).
  • Crude oil has a bucket, fieldworks:crude_oil_bucket, a plain BucketItem with NeoForge's fluid item capability. Empty buckets a hopper feeds the Harvester come out of its output face filled with crude (#9).
  • The Harvester exposes NeoForge's fluid capability on every face: a pipe can drain its crude and, from #11, fill only its Drilling Fluid tank. It also pushes crude into the fluid handler at its output face, and pulls nothing from it. The oil well itself still exposes no fluid capability (#9).
  • The oil field marker on the FTB Chunks map draws the crude oil bucket in place of the vanilla bucket (#9).
  • The Electric Harvester, fieldworks:harvester_2, ships at rank 2 and speed ×2 on FE alone: 40 FE per tick of work from a 50,000 FE buffer, taken through NeoForge's energy capability on every face of its footprint, which gives none back. A tier file's power may name fuel, fe_per_tick or both, with fe_buffer; a tier that takes both pays FE first and lights fuel only when the buffer is short of a tick's cost, and a fuel item already burning finishes before FE is spent again. A tier exposes only the power it declares: one that takes no FE has no energy capability, and one that takes no fuel accepts none. Default English names are "Burner Harvester" and "Electric Harvester", from lang (#7).
  • A tier's power.burn_per_operation (default 200, as a furnace spends on a smelt) is the burn time one operation spends, however long the operation runs: one coal buys the Burner Harvester eight ore draws, or eight breaks of a harvestable block.
  • The Harvester breaks every block in the fieldworks:harvestable block tag under its footprint, #c:ores by default, for its normal loot and leaves air: the loot table runs against an unenchanted pick and no tool is checked, so diamond ore breaks though a hand break would need an iron pick. Its Default recipe takes 40 ticks at speed ×1. Ore blocks are in c:ores too but are always drawn, never broken, whatever the tag holds. A footprint over ore blocks and harvestable blocks works them in turn, skips any other block, and, over an oil well, still pumps only the well. A Harvest Recipe's source may name a harvestable block, and its result replaces the block's loot. A pack sets what the Harvester breaks by replacing or extending the tag (#6).
  • Harvest Recipes and the ore blocks' Default recipes show in EMI and JEI, in a fieldworks:harvesting tab with each recipe's source, result, duration at speed ×1 and minimum tier; a Default recipe a recipe replaces is not shown. Both viewers are optional. With a Harvester's menu open, a written recipe's + sets its Held recipe, which is saved with the block: the Harvester then works only the sources that recipe matches, and when it cannot run it idles and never falls back to the Default recipes. A Default recipe is not held. The server sends fieldworks:harvesting recipes to every client at login and on /reload (#10).
  • Drilling mud, fieldworks:drilling_mud, is a fluid in the new #fieldworks:drilling_fluids tag, with fieldworks:drilling_mud_bucket (a plain BucketItem) and fieldworks:drilling_mud_bottle, a 250 mB container that turns into a glass bottle when emptied; both expose NeoForge's fluid item capability. A vanilla brewing stand brews the bottle from a water bottle with a clay ball or a slime ball. A Harvester has a Drilling Fluid tank of 8,000 mB: a filled container a hopper feeds it is emptied into the tank and the emptied one leaves by the output face with the results, one waiting in the Harvester while the tank has no room for all it holds, and a pipe can fill the tank with a fluid in the tag but never drain it, and the Harvester never pushes it out. A Harvest Recipe may name a drilling_fluid, { "fluid": <fluid, #fluid_tag or list>, "amount": <mB> }; only the fluids in #fieldworks:drilling_fluids serve, and a recipe naming none of them loads with a warning and never runs. A Held recipe takes its mB from the tank when each operation completes, and idles with no fluid when the tank is short; with no Held recipe, nothing is ever taken. EMI and JEI show a recipe's fluid and mB beside its source (#11).
  • A Harvester's menu shows its power (the burn left, in operations, and the FE buffered, only for the kinds its tier declares), the Drilling Fluid and product tanks, its output buffer, progress, the Held recipe and why it is idle. Its fuel, fill and drain slots are in the menu, the fuel slot only on a tier that takes fuel; an empty one shows, faded, each item it would take in turn, and EMI's and JEI's recipe and usage keys work on it. Jade's tooltip shows its state, its items as icons with their counts, the FE buffer and each tank as its own bar. A Clear button on the menu sends the server a packet that drops the Held recipe, returning the Harvester to its Default recipes; a recipe is still set only from EMI or JEI. The idle reason is the choice's own; a well whose product tank has no room for another cycle idles with "Output full", as a full output buffer does (#13).
  • A well recipe can yield crude and be conditioned on the well's floor. A Harvest Recipe's result may be {"crude_oil": <mB>} for an oil well, the crude one operation pumps in place of the cycle's own yield, or {"crude_oil": {"restores": <fraction>}}, that fraction, above 0 and at most 1.0, of the yield the well had at its starting amount (either way the cycle still takes its step off the well, so it decays to its floor and no lower), and yield_condition is above_floor or at_floor: the recipe works a well only in that state, and with none it works a well either way. A Held recipe also takes its drilling_fluid when it pumps. Fieldworks ships fieldworks:crude_from_drilling_mud, at_floor: 25 mB of drilling mud restores a cycle to the well's starting yield, 10 mB for a well that started at 300,000 against its floor's 2 mB, while the Default recipe goes on pumping the floor rate with no fluid. One hopper carrying mud bottles and empty buckets together fills the drain and fill slots, and the glass bottles and crude buckets reach the output face. A recipe that names its source block by block is refused if its result or yield_condition does not suit an oil well. EMI and JEI list the oil well's Default recipe, with the crude oil bucket as the well's icon and crude per cycle falling to its floor, a restoring recipe with the share it restores and its crude at a normal well, and each fieldworks:harvestable block's Default recipe, a 40-tick break for its loot (#12).
  • Superflat worlds generate ore patches and oil fields too, whatever structures their preset lists, where their biome is in #fieldworks:patch_land as anywhere else: the default preset's plains do, Water World's ocean does not. The structure sets they add are #fieldworks:flat_worlds.