Boilerplate is a retro-futuristic logistics and storage mod, in the spirit of the original Logistics Pipes.
Items, fluids and chemicals ride the same blackstone pipes, lit by glowing orange lumen and driven by ordinary energy. Storage is a warehouse you build out of racks, with a gantry crane that walks it to fetch what you ask for. And the whole network can be programmed, with node graphs that read its stock, drive redstone and put live graphs up on holographic displays.
There is a Pipe and a Glass Pipe — the same conduit, with the glass one letting you watch cargo travel through it, plus a Structural Pipe of the same gauge that carries only power and signals. Behaviour comes from hooks: small attachments fitted to a single face of a pipe segment. Six faces, six independent hooks, one block.
| Hook | What it does |
|---|---|
| Extraction | Pulls from whatever it faces and sends it into the network. Acts on its own, on a timer you set. |
| Filter | Makes the face a routing destination, with a filter, a priority and a colour to match. |
| Provider | Marks the attached inventory as a source that network requests may pull from. |
| Requester | Holds standing orders and tops the attached inventory back up from the network. |
| Sync | A filtered destination and a filtered source on the same face. |
| Interface | A stocking reservoir with a pass-through face, and the seam between two subnets. |
| Terminal | A searchable window onto everything the network reaches, with withdraw and deposit. |
| Crafting Terminal | A terminal with a real 3×3 grid, fed straight from network stock. |
| Pattern Terminal | A terminal with a ghost grid, for authoring patterns. |
| Pattern Provider | Holds encoded patterns and runs them against the machine it faces. |
| Circuit Gate | Runs a node program on the network: reads stock and redstone, writes variables, drives redstone. |
| Circuit Terminal | Where a network's variables, functions, records and events are declared. |
| Holo Display | A named peripheral: shows what a program sends it off the face of the pipe, as text, a 2D or 3D graph, or a mesh. |
| Redstone Hook | A named peripheral: reads the redstone on its face, or drives it, for the network's programs. |
| Modem Hook | With ComputerCraft: hands the circuit network to a computer as a circuit peripheral - its variables, functions, events and storage, from Lua. |
A Substrate Wrench or Lumen Wrench harvests every Boilerplate block, and sneak-right-click takes off just the hook, casing or pipe you're pointing at. Neither ever wears out. An infrastructure tool is one you keep in the hotbar.
A filter is a Filter Card, written once and usable anywhere a filter goes — an extraction hook, a filter hook, a provider, a requester. Six kinds:
- Resource — one exact item, fluid or chemical, matched with or without its data components.
- Tag — everything in a tag.
- Mod — everything from one mod.
- Regex — names matching a pattern.
- Colour — cargo carrying a particular consignment colour.
- Combined — AND or OR over other cards, which may themselves be combined cards. Set a card inside to blacklist and you have NOT.
Cards nest, so "anything tagged c:ores, from this mod, that isn't iron" is one card holding three
others.
Only the Resource card has a recipe of its own. Craft a fresh card by itself and it turns into the next kind, round and round; craft a configured one by itself and it goes back to blank.
- Consignment colours. An extraction hook stamps a dye colour on everything it sends, and a destination can require a matching one, so two runs share the same pipes and stay separate. The colour can be picked on the hook's screen, or decided pull by pull by a circuit.
- Priority. Destinations are ranked, with distance breaking ties, so "fill the machine, then the overflow barrel" is a pair of numbers. Everything starts at 0; the bottom of the slider is Default Route, which only gets what nowhere else will take.
- Distribution. An extractor can spread its pulls round-robin across equally ranked destinations, or keep feeding the best one until it fills.
Two networks meeting at an Interface Hook stay separate — a subnet, bridged through that hook's own stock. Routing, requests and terminal reachability each stop at the seam, so a processing loop keeps its own working stock to itself.
Mark out a volume with the Warehouse Planner — two corners and a click on the Warehouse Controller — and a Gantry Rail frame goes up around it. Fill that space with storage, and the crane travels to each block to fetch what a terminal or a request asks for.
A rack is simply anything that holds things. Chests, barrels, another mod's drawers, tanks and machine buffers all index and serve exactly like Boilerplate's own racks — the warehouse looks at every block inside the bounds and takes whatever storage each one exposes, per face and per resource kind, so a tank offering items on one side and chemicals on another is indexed for both.
The mod's own racks are shaped for particular jobs:
- General Rack — ordinary shelving, closest to a chest.
- Bulk Rack — a very large quantity of one resource.
- Unstackable Rack — enchanted gear, written books and similar; identical copies collapse into a single record with a count.
- Distributed Multi Buffer — one stack-denominated pool shared by every counted resource, so each one costs its own share of a stack: 64 cobblestone, 16 ender pearls, one shulker box.
- Distributed Multi Tank — the same pool in buckets, for fluids and chemicals. A millibucket each of a thousand fluids costs one bucket of room.
- Omnibuffer — both pools at once, for a process handling a mixture.
A standalone Fluid Tank block holds 16 buckets, and serves as a rack or anywhere else on the network that storage is wanted.
Encode a Blank Pattern at a Pattern Terminal as either a Crafting Pattern, matched against
a real recipe, or a Processing Pattern, an unordered bag of inputs and outputs — so
1000mB water + clay → slurry is a single pattern.
Crafting happens in the pipes. A Crafting Buffer encasement wraps a pipe segment, and adjacent encased segments form a shared-capacity Crafting CPU when they make up a complete cuboid. The CPU claims a plan's raw materials up front, ships each step out to whatever Pattern Provider can run it, and pulls the result back. Your furnaces and machines do the work; the pipes do the fetching.
A processing pattern can also name a circuit function or event. As an input it fires once the step's materials are delivered; as an output, once the product comes back. Either can fire once per run or once for the whole step, so "switch the machine on for the length of the job" and "ring a bell when the batch is done" are both a cell in a pattern.
A Structural Pipe is the same gauge as an ordinary pipe but carries power and signals instead of cargo, and it is what Generator and Energy Cell encasements clamp onto. Everything the network reaches draws from there. Energy is ordinary FE/RF, so another mod's generator powers a Boilerplate network directly and a Boilerplate cell bank stores that mod's output:
- A pipe run always moves its cargo, and moves it faster the more energy is behind it. Cut the supply and nothing freezes mid-pipe — the run simply slows to its baseline rate.
- Each hook, by contrast, draws energy to stay online at all, and shows its state on the block: a hook with supply reads as running, one without reads as idle, so a glance along a run finds where the power ran out.
- The gantry crane and Crafting CPUs move at a speed set by what is available.
A Generator burns anything a furnace would. Feed it with a hopper, or anything else that inserts into a block.
A terminal shows what it can currently reach and act on, which for an unpowered network is nothing.
Ordinary pipes conduct energy alongside their cargo, so a structural run is only needed where a branch wants power or circuitry and no transport at all — and a circuit hook attaches to either kind.
Every pipe also carries a circuit network, and a Circuit Gate runs a program on it. Programs are node graphs you wire on a canvas, closer to Unreal's Blueprints than to a redstone combinator.
- Typed. Whole numbers, decimals, truths, text, resources, lists, maps, and records you
declare yourself. Generic nodes like
First Ofwork on a list of anything and type themselves from what you wire in. - Event-driven. A gate is a set of handlers. Listen for the tick, for a block update next to the gate, or for events you declare and announce yourself.
- Shared state. Network variables are read and written by every gate on the wire, and writes land as they happen. Locals belong to one gate and keep their value between runs.
- Functions. Procedures and pure computations, written once and called from any gate. A listed procedure shows up in an ordinary terminal for players to run by hand, and any function copies to the clipboard as text for moving between worlds.
- A real standard library. Lists and maps with
Keep Where,Map Each,Foldand friends, loops, text, and a maths shelf that goes as far as matrices, tensors, complex numbers and quaternions. - Holo displays. A named Holo Display gives programs a step to send it a value, one to set how it draws it (text, a line or bar graph, a 3D scatter, a 3D surface or a mesh) and one to set a transform that moves, turns and scales its 3D drawing.
- Meshes.
/boilerplate mesh <file>reads a Wavefront.obj, a Minecraft.jsonmodel or a Blockbench.bbmodelinto a Mesh constant on your clipboard, ready to paste into a program and send to a display. - The canvas. Drag to box-select nodes and move them together, Ctrl+C and Ctrl+V to copy and paste them with their wiring (as text, so between worlds too), Delete to remove them, and middle-drag to pan.
- Peripherals. Name a peripheral hook and it offers the network's programs nodes of its own, under that name. A Redstone Hook in input mode gives a read of its line, a step that reads it there and then, and an event whenever it changes; in output mode, a step that sets its level. A Holo Display is a peripheral too. With a mod carrying bundled cables installed (ComputerCraft counts), a Redstone Hook can also read or drive all sixteen colours of a bundled line at once.
- Computers. With ComputerCraft installed, a Modem Hook hands the network to a computer as a
circuitperipheral: read and write its variables, call its functions, announce its events, and hear every event announced on it as acircuit_event. It meets a wired modem plate to plate. - Storage from programs. Circuit programs and computers alike can list what the network holds and can craft, start a craft and follow or cancel it, and deliver stock to any inventory the network reaches.
- Network control. Any hook can be switched on or off by a small computation, like "only extract while there's less than a thousand cobblestone in storage".
Subnets get their own circuit network. They can see everything the network around them declares, and share back only what they mark as shared.
Everything but the creative blocks has a recipe, and they're built from three materials rather than piles of vanilla blocks:
- Inert Lumen, from an amethyst shard bound with redstone and glowstone, smelted into Lumen.
- Lumen Dust, ground from Lumen four to one. Mekanism, Create, GregTech, Immersive Engineering, Ender IO, Modern Industrialization, Tech Reborn, Oritech, Occultism and Actually Additions all grind it in their own machines. With none of them installed, drop an anvil on it.
- Dark Substrate, which is smelted blackstone.
Those make eight components (Logic Board, Hook Mount, Actuator, Storage Core, Fluid Membrane, Holo Lens, Assembly Core, Energy Coil), and machines are made from components. A hook is a Hook Mount plus whatever does the hook's job.
Items, fluids, and — on NeoForge with Mekanism installed — chemicals travel the same pipes, fill the same racks, list in the same terminal, and go into the same patterns and filter cards. Resource kinds come from a registry, so an addon can add its own and have it work across all of that.
JEI, REI and EMI each get the same support. Every row in a terminal is right-clickable for recipes, whether it holds an item, a fluid or a chemical. The transfer button fills a Crafting Terminal's grid from network stock, and fills a Pattern Terminal's ghost grid from any recipe at all, setting the pattern to crafting or processing to suit it.
The filter card cycle and reset show up as ordinary crafting recipes, and there's an Anvil Grinding page for Lumen Dust when that's how you're getting it.
With Patchouli installed there's an in-game manual covering all of the above in more detail. It's in the creative tab, or craft a book with a Dark Substrate.
An extraction hook on a chest, a run of pipe, a filter hook on a furnace and a generator to drive it is a working system. Add a warehouse and a terminal hook as the chests multiply; patterns and a Crafting CPU to have the machines fed for you; an interface hook to give one corner of the base its own stock.
Pipe speed, extraction batch size, how much may queue at a destination and the rest are all in the config screen, and the settings belonging to a particular hook can be set on that hook's own GUI.
- Minecraft 1.21.1
- Fabric or NeoForge
- Architectury API, Archie, Cloth Config — plus Fabric API and Fabric Language Kotlin on Fabric
Optional: JEI, REI or EMI for recipe lookup; Patchouli for the guide book; Mekanism (NeoForge) for chemical support.
Pre-release. Every system described above is built and covered by tests, and everything has a recipe. What's still being worked out is balance (how much a machine should cost, how fast things should go) and the art, so expect numbers to move between versions.
Bug reports and design arguments are equally welcome on the issue tracker.
I'm looking for someone willing to take on the mod's textures and models — pipes, hooks, racks, the gantry, the GUI, all of it. If a retro-futuristic look in blackstone and glowing orange sounds like your kind of thing, open an issue on the tracker and let's talk.
Licensed under GPL-3.0-or-later.
