Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Creators-of-Create/Create/llms.txt

Use this file to discover all available pages before exploring further.

Create’s packaging system provides a postal-style logistics layer that sits on top of the belt-and-funnel transport network. Items are bundled into packages, addressed to specific receiving blocks (Package Frogports or Postboxes), and delivered automatically — either in response to stock requests or triggered by redstone. This makes it practical to maintain inventory levels across a large base, supply crafting stations on demand, or dispatch specific items to specific machines without manually routing every belt.
The packaging system is a newer addition to Create, introduced in the 6.x release series. Some features, including Recipe Viewer integration and the Repackager sub-block, were added or refined in subsequent 6.x patch releases.

Core Blocks

Packager

The central dispatcher. Accepts items from an adjacent inventory (via funnel/belt) or from direct input, bundles them into packages, and sends those packages to registered destination ports. Can be linked to a Stock Ticker for fully automatic replenishment, or triggered manually.

Package Frogport / Postbox

The in-game receiving blocks are the Package Frogport (for chain-conveyor delivery) and the Package Postbox (for train delivery). Both belong to the PackagePort block entity family. When a package addressed to this port arrives, the port unpacks the contents into an adjacent inventory. New port types can be registered via the PackagePortTargetType registry.

Packager Link

A wireless bridge between a Packager and one or more remote Frogports or Postboxes. Place a Packager Link adjacent to a Packager and configure its channel. Receiving ports on the same channel anywhere in the world (or dimension, depending on configuration) receive packages from that Packager without needing a physical belt connection.

Redstone Requester

Triggers a package request via a rising redstone edge. Place it adjacent to a Packager and configure which items and quantities to request. Useful for integrating the packaging system with comparators, observers, and other redstone circuits.

Built-in Package Port Target Types

Create registers two PackagePortTargetType entries out of the box:
  • create:chain_conveyor — the Package Frogport, which receives packages delivered via chain conveyors.
  • create:train_station — the train-station variant of the Frogport, which receives packages dispatched via train.
Addon developers can register additional target types in CreateRegistries.PACKAGE_PORT_TARGET_TYPE.

Setting Up a Distribution Network

1

Place and supply the Packager

Set the Packager down and connect your item storage to it — a Funnel pointing into the Packager’s input face is the simplest approach. The Packager will pull items from whatever inventory the Funnel is extracting from.
2

Place a Package Frogport or Postbox at each destination

At every location where items should be delivered, place a Package Frogport or Package Postbox adjacent to the destination inventory (chest, vault, basin, etc.). The port will unpack received packages into that inventory.
3

Configure addresses

Open each Frogport or Postbox’s interface and assign it an address or channel. Each port needs a unique address if you want to route different items to different destinations.
4

Link the Packager to its ports

Return to the Packager and configure which addresses it should dispatch to, along with what items each address should receive. Use a Packager Link block if the ports are far away or in a different area.
5

Trigger delivery

Items are bundled and dispatched automatically when a request is received — either from a Stock Ticker detecting low stock, from a Redstone Requester receiving a pulse, or from manual interaction with the Packager’s interface.

Stock Ticker Integration

The Stock Ticker is the intelligence layer of the packaging system. Place it adjacent to an inventory, configure target stock levels for each item type you want to maintain, and it continuously monitors actual stock against those targets.
1

Place the Stock Ticker

Put it directly next to a storage block (chest, vault, crate) that it should monitor. It reads the inventory contents through the adjacent face.
2

Set stock targets

Open the Stock Ticker’s interface. For each item type you want to maintain, specify the desired quantity. The ticker will request a top-up any time the actual count falls below this target.
3

Link to a Packager

The Stock Ticker must be associated with one or more Packagers (directly adjacent or via Packager Link) that can fulfil requests. When stock runs low, it automatically sends a packaging request to the linked Packager.
4

Use Recipe Viewer integration (optional)

If you have JEI or REI installed, the Stock Ticker’s Recipe Viewer sync feature lets you pull a recipe’s ingredient list directly into the ticker’s stock tracking configuration. Choose From Viewer sync mode, then look up a recipe — the ingredient quantities populate automatically.
Combine the Stock Ticker with filters for smart routing: configure each Package Frogport or Postbox with a filter so that only specific items are accepted at each destination. This prevents a Packager from flooding a specialised station with items it doesn’t need.

Unpacking

Package Frogports and Postboxes unpack received packages into adjacent inventories using registered UnpackingHandlers. Create registers three custom handlers by default; all other blocks fall back to standard NeoForge item-handler insertion:
BlockHandler behaviour
BasinBasinUnpackingHandler — items are deposited into the basin for processing
Mechanical CrafterCrafterUnpackingHandler — items are distributed across crafter input slots
Creative CrateVoidingUnpackingHandler — received items are voided (useful for testing)
All other inventories (chests, vaults, crates) receive items via the standard NeoForge item-handler capability. Addon developers can register custom UnpackingHandler instances via UnpackingHandler.REGISTRY.register(block, handler) to define bespoke delivery behaviour for their own blocks. For information on filtering which items flow through the packaging system and its associated logistics blocks, see Filtering Items.

Build docs developers (and LLMs) love