Extraction & production
MCSkylines-Industry
Version 0.2.1 · Documentation refreshed October 12, 2026
Large industrial multiblocks for finite oil extraction, refining, steel, polymers, and diesel power, built on Utilities.
Required plugins: MCSkylines-Utilities. Optional integrations: None declared.
01
What it handles
Feature overview
Finite oil fields
Survey deposits and manually start extraction batches. Wells share the remaining reserves of their field.
Refining
Convert crude into diesel, naphtha, refinery gas, and residue using configurable gameplay recipes.
Metallurgy & polymers
Electric furnaces produce steel; polymer reactors turn naphtha into resin.
Manual production
Players start finite batches. Inputs are reserved, output space and power are checked, and no next batch starts automatically.
Virtual fluid transport
Configured endpoint links move liquids and gases without ticking pipes or loading either endpoint.
Shared machinery controls
Uses Utilities ownership, permissions, storage, dashboards, persistence, and approved-plot policy.
02
Encyclopedia
Configuration defaults: Values shown for operator-configurable settings are the bundled defaults, and can be changed in the module’s configuration or definitions. The server’s active settings take precedence, so costs, speeds, ranges, durations, chances, effects, recipes, limits and enabled features may differ. Command examples illustrate syntax; fixed mechanics and validation bounds are not configuration defaults.
Industry adds finite crude extraction, refinery fractions, steel, polymer resin and diesel generation to Utilities. Utilities owns commissioning, property ownership/operator ACL, grids, containers, virtual transport, reservations, simulation and persistence. Both modules need to enable before saved machines restore.
Starter content
The following footprints and machine definitions are bundled defaults, configurable in Industry’s config.yml. Inspect the active blueprint before building.
| Machine | Footprint | Operation |
|---|---|---|
| Oil well | 3 × 3 × 5 | Manually extract a finite batch from a surveyed oil field |
| Refinery | 5 × 5 × 7 | Separate crude into diesel, naphtha, gas, and residue |
| Industrial furnace | 3 × 3 × 3 | Iron and charcoal to steel |
| Polymer reactor | 3 × 3 × 4 | Naphtha to polymer resin |
| Diesel generator | 3 × 3 × 3 | Consume delivered diesel to supply electricity virtually |
The production recipes are fictional gameplay abstractions and initial balance samples. Refinery stages, additional alloys, finished products, and more elaborate progression can be added or revised in config.yml. All commissioned machines run virtually on approved plots, without loading chunks, and production still runs only one manually requested batch at a time. Staff approve properties with /utilities industrial on.
/industry help exposes the same machine operations as /utilities help. There is one consistent ownership/operator model; infrastructure grid permissions remain separate from inventory access.
First factory workflow
- Use the Utilities commissioning guide to register a property, approve machinery, install its meter/grid and supply power.
- Survey a field before commissioning an oil well; wells in the same field share its finite reserve. Exhausted/no field is not replenished by moving an inventory item.
- Inspect each blueprint, build its complete footprint and commission a unique ID. Required AIR is part of validation.
- Manually start extraction, move crude by sealed containers or an authorized same-grid link, and start one refining batch.
- Store all output fractions with sufficient capacity. Feed naphtha to the polymer reactor, iron/carbon to the furnace and delivered diesel to a generator.
- Start the next batch manually after completion; nothing runs an infinite automatic recipe loop.
Bundled recipes and resources
All quantities, inputs, outputs, batch durations and power demands in this table are configurable defaults in Industry’s config.yml; use the active recipe for your server.
| Recipe ID / machine | Inputs | One-batch output | Time / power demand |
|---|---|---|---|
extract_oil / oil well | Shared field reserve | 1,000 L crude | 30 seconds / 40 EU demand |
refine_crude / refinery | 1,000 L crude | 400 L diesel, 300 L naphtha, 100 L refinery gas, 200 L residue | 60 seconds / 100 EU demand |
make_steel / industrial furnace | 8 iron + 2 carbon (charcoal) | 8 steel | 30 seconds / 80 EU demand |
make_polymer / polymer reactor | 300 L naphtha | 16 polymer resin | 45 seconds / 60 EU demand |
The diesel generator’s configurable defaults are 100,000 EU capacity, 400 power, diesel fuel and 200 fuel-energy in config.yml. These are initial abstract gameplay values, not real industrial physics. Stock resource IDs are iron, carbon, steel, crude_oil, diesel, naphtha, refinery_gas, residue, polymer_resin.
Batches, storage, and transport
Starting reserves inputs and checks destination capacity/power. Missing supply, lost authorization, known structural damage or full output pauses progress. Cancelling returns reserved inputs. Tanks contain one fluid at a time and require emptying before changing resource. Input/output modes, auto-eject, contents locks and link rates are ordinary inventory dashboard controls. Neither this simulation nor its links load chunks; offline server time earns no catch-up batches.
Configuration, appearance, and limitations
plugins/MCSkylines-Industry/config.yml defines footprints, capacities, resource quantities, recipes, durations and power; edit then restart. Preserve commissioned footprints/signatures during upgrades. Industry messages reload separately; shared dashboards/portable items use Utilities messages. Resources/machines/recipes accept display names and resources support lore/gauge material. Tagged commodities have matching pack models; vanilla iron/charcoal remain vanilla.
There is no remote Technology factory app, Utilities debit for ordinary brewery recipes, or automatic general-purpose grid fuel conversion into every vehicle. Use only documented API consumers. Utilities' machine permissions and stock ownership remain authoritative.
Reading command syntax
Configuration defaults: Values shown for operator-configurable settings are the bundled defaults, and can be changed in the module’s configuration or definitions. The server’s active settings take precedence, so costs, speeds, ranges, durations, chances, effects, recipes, limits and enabled features may differ. Command examples illustrate syntax; fixed mechanics and validation bounds are not configuration defaults.
<argument> is required; [argument] is optional. Replace the placeholder, including its brackets, with your value. Choices separated by a vertical bar mean choose one. ... accepts the remaining words. Do not type quotation marks around multiword names unless the command specifically requires them. A bare command has no required arguments. Examples use sample players/IDs: substitute entries from your server and use Tab for configured IDs.
player means a username; operational actions usually require that player online. amount and price are currency values such as 25.00, unless the row specifies items, levels, or units. reason, memo, message, name, and statement accept text where supported. duration uses the module's duration format (for example 10m, 2h, or 7d); it is not a bare number of minutes unless stated. id is the exact identifier displayed by that system, not its friendly name. Permissions and ownership/state/location checks both apply.
Shared machine commands
Both /industry and /industry route to this interface. All gameplay commands require utilities.use and an in-game player; targeted stock/batch actions also require owner/operator ACL. Staff grid/zoning permissions do not grant stock access. Industry reload refreshes Industry messages; Utilities reload refreshes shared messages, not machine footprints/recipes.
| Syntax | Required/optional values and action | Additional authority |
|---|---|---|
/industry, /industry open | Open looked-at machine dashboard | Operator |
/industry help | Help | Use |
/industry types | List registered machine type IDs | Use |
/industry resources | List registered resource IDs | Use |
/industry blueprint <type> | Print relative block coordinates/materials, including AIR | Use |
/industry build <type> | Place blueprint directly for testing | utilities.admin |
/industry commission <type> <unique-id> | Register looked-at fully built controller/footprint | Property/build control, approval except meters |
/industry grid <name> | Create named grid ID | utilities.grid.manage |
/industry connect <grid-name> | Connect looked-at meter | utilities.grid.connect |
/industry disconnect | Disconnect looked-at meter | utilities.grid.connect |
/industry access list | Owner/operators of looked-at machine | Owner/admin |
/industry access add <player-or-UUID> | Add cached/online player or exact UUID delegate | Owner/admin |
/industry access remove <player-or-UUID> | Remove delegate | Owner/admin |
/industry deposit | Deposit supported main-hand stack into target | Operator |
/industry withdraw <resource> [item-count] | Withdraw portable items; defaults one, not liters | Operator and inventory space |
/industry start <recipe> | Start exactly one configured recipe batch | Operator; input/power/output checks |
/industry pause, /industry resume | Disable/enable target operation | Operator |
/industry cancel | Cancel target batch and return reserved inputs | Operator |
/industry remove | Decommission empty target, removing attached links | Owner/admin; no batch, stock, energy or fuel credit |
/industry link <source-id> <destination-id> <fluid> <liters-per-second> | Directed virtual fluid route, integer rate bounded by configured limit | Operator at both endpoints, same world/grid |
/industry links | List links accessible at either endpoint | Operator |
/industry unlink <link-id> | Remove route ID shown by links | Operator at either endpoint |
/industry industrial <on or off> | Approve/revoke the property you stand in | utilities.plots.manage |
/industry lamp <add or remove> | Register/unregister looked-at configured electrical lamp | utilities.grid.connect; property/meter/grid |
/industry survey | Survey finite local field state | Use |
/industry status | Logical registries/background simulation counts | Use |
/industry save | Explicit state snapshot | utilities.admin |
/utilities reload | Shared message catalog only | utilities.reload; player/console |
/industry reload | Industry message catalog only | industry.reload; player/console |
IDs use lowercase letters/digits/underscore/hyphen and begin with a letter. Type, resource and recipe IDs come from config/types/resources/dashboard. Links use the listed generated ID. Example: /industry link oil_storage refinery_input crude_oil 100. Fluid defaults use 100-liter portable containers, so withdraw water 2 requests two containers rather than two liters.
Root commands and aliases
These are the registered command entry points. The subcommand tables above describe their complete operations. Alias names use the same arguments as their root.
| Syntax | Purpose | Permission / aliases |
|---|---|---|
/industry help | Industrial machinery and resource surveying | Checked by operation |
03
Command roots
Use the command syntax sections above for every required argument and subcommand. The short usage below is the plugin’s registered help text.
| Command | Usage | Description | Permission |
|---|---|---|---|
/industry | /industry help | Industrial machinery and resource surveying | Subcommand-based |
04
Permissions
| Node | Default | Description / children |
|---|---|---|
industry.reload | Reload Industry command messages; content changes require restart |
Command and permission references reflect the current plugin.yml manifests in this workspace.