Gas is not a resource you collect. It is one you have to find in the dark, contain, keep under pressure, and get rid of.
Thirteen gases generate in sealed pockets underground. Break into one with a pickaxe and it floods the tunnel. All you have at that point is a canister and a gas mask.
Gas spreads with a real density from 1 to 7 per block. It rises, sinks or drifts depending on what it is, thins out as it expands, and disperses in open sky. Density decides how opaque it looks, how much damage it does and how much it is worth in a tank.
Gas sealed inside rock costs nothing until you open it.
Gas travels between machines through pipes, and pressure is the whole game:
A pressure gauge in hand, or the gas mask on your head, puts a live readout on your HUD: what is in the block you are looking at, how much, and how close it is to bursting. A relief valve bleeds off the excess before it goes wrong.
Extractor, generator, compressor, separator, solidifier, pump, relief valve, detector, gas pipes, energy cables, energy cell and portable battery.
Start by hand: fill a canister, drop it in the generator, get your first energy. From there the plant runs itself — extractor pulls gas out of the world, pipes carry it, the separator cracks natural gas into methane and hydrogen, the solidifier turns carbon dioxide into graphite ingots.
Even your own pollution is worth something: exhaust fumes piped back into the solidifier come out as soot. Exhaust you vent instead never leaves the sky.
Every gas parameter lives in one config file: buoyancy, spread speed, dissipation, flammability, explosion power, contact damage, corrosion, energy value, spawn weight and depth range. Machine rates, pressure thresholds, pipe throughput and worldgen frequency are there too.
Minecraft 1.21.1 with NeoForge 21.1.65 or newer. Works on client and dedicated server.
Adding Gasworks to an existing world only generates gas pockets in newly generated chunks, so explore fresh terrain to find your first one.
This is a first public release. Textures are functional placeholders and will be replaced. Feedback and bug reports are welcome.