Exports and outposts

Selling what a colony makes, and putting a small work site somewhere else.

The export buffer

Jobs flagged export — and any station whose own export switch is on — put their output into the colony's export buffer instead of its working stock. The buffer is exportBufferSlots (default 18) slots of the colony's store, exposed on the colony beacon.

It is a capability, not an API

The buffer is an ordinary vanilla container, and every loader already wraps the beacon's container as the standard item capability. Hoppers, pipes, AE2 and Create drain it with zero coupling — there is no export API to depend on, because there is nothing an external mod needs beyond "this block has an inventory". That is the whole design: interoperability by using the vanilla shape rather than by publishing a bridge.

Insertion from outside is refused

Nothing outside the colony can put goods into the buffer. What is in it is exactly what the colony produced for sale, which is what makes selling a meaningful operation rather than a laundering machine.

Overflow blocks, it never voids

A full buffer stops export production. It does not spill into storage and it certainly does not delete anything. A colony whose trade route has stalled should visibly stop making trade goods — that is a problem the player can see and fix — rather than quietly converting inputs into nothing.

Nothing NeroColonies produces is ever destroyed by a race, either: if a room check passes and the insert then does not fit because something else wrote to the store in between, the remainder goes into the working stock rather than being voided.

Selling

Selling pays the colony's owner in Neroland Core's CREDITS currency. Goods leave the buffer only for credits that actually moved: a refused payment leaves them where they are.

With NeroEconomy 0.3.0 or later the sale is paid from NeroEconomy's Reserve through its budgeted payout API, under the reason export_sale. A full buffer is paid in several payouts of at most exportPayoutChunk credits each (1,000 by default, matching NeroEconomy's siblingMaxSinglePayout). Each payout removes only the goods it paid for, and the sale stops at the first refusal — the Reserve is low, today's budget for colony exports is spent, the owner has had today's limit of credits from other mods, or the economy is paused. The player is told why in NeroEconomy's own words, and whatever was not paid for stays in the buffer for a later sale. Every payout carries a request key made of the colony id and a per-colony payout counter (never a player id or name), so a retried payout is recognised and never paid twice.

Without NeroEconomy the whole buffer is paid in one deposit through Core's currency API, and the goods leave only when Core reports that the deposit succeeded.

A sale can end five ways:

OutcomeMeaning
Soldgoods were removed and credits paid — possibly only part of the buffer, with the reason the rest stayed
Refusedthe market refused the first payout; nothing was sold and the reason is shown
Nothing to sellthe buffer held nothing the loaded export tables recognise
No marketno real currency provider is installed
No ownerthe colony has no player owner to pay

The no-market guard

Core ships an in-memory fallback currency provider whose balances do not persist — a development stand-in. Paying into it would look like a sale and lose the player's goods, so NeroColonies asks Core whether a real provider is installed and refuses the sale if not. The goods stay in the buffer and the player is told why. When an economy mod exists it registers itself as Core's currency provider and this path picks it up with no change here.

Valuation

With NeroEconomy installed, an item its Merchant Houses buy is priced at their live bid for one unmodified unit (NeroEconomy ships prices for the colony staples and upgrade modules). Everything else — and every item when NeroEconomy is absent — is priced from the export table:

credits = base value x item count x exportValueMultiplier   (floored to a whole number)

The multiplier applies to table prices only, never to a market bid.

Where a stack matches more than one export entry, the most valuable entry the colony has unlocked wins. A pack that lists an item twice meant the better price to apply, not whichever file happened to load first.

The colony's GUI also shows a read-only preview of what the buffer would fetch. A number on a screen is not a transaction, so the preview makes no market or ownership check.

Export tables are pure datapack

An export entry is a target (an item or a tag), a base value, a stack size and an optional research prerequisite. See Content format.

The shipped tables:

EntryTargetBase valueNeeds research
nerocolonies:surplus_food#nerocolonies:colony_food/staple1.0—
nerocolonies:refined_metalsminecraft:iron_ingot4.0nerocolonies:trade/manifest
nerocolonies:fabricated_goodsminecraft:repeater12.0nerocolonies:trade/manifest

NeroColonies has no market model and will not grow one: pricing belongs to the economy mod. The export table is the fallback price list, used whenever no market bid is available.

Stage rewards

stageRewardCredits (default 0, off) pays a colony's owner a one-off reward each time the colony reaches a new stage. It needs NeroEconomy 0.3.0 or later and is paid from its Reserve under the reason stage_reward, counted against the same daily budgets as export sales. Each stage can be paid at most once per colony; a refused reward is reported to the owner and not retried.

Outposts

An outpost beacon (nerocolonies:outpost_beacon) is a small remote work site belonging to a parent colony.

What an outpost has

  • a parent colony id, whose claim and permission context it borrows wholesale — no separate owner, no separate access list and no role lists of its own, so there is no second place for player-shaped data to accumulate;
  • its own small claim, outpostClaimRadius (default 16) blocks square from its beacon, widened by RANGE modules;
  • reduced caps: outpostColonistCap (default 2) and outpostJobSlots (default 1);
  • no research, no morale, no housing tiers and no food store of its own. It runs on the parent's, and its production feeds the parent's storage on the parent's colony tick.

Placing one

The parent is chosen automatically: the nearest colony you may act on, within outpostMaxDistance (default 512 blocks), in the same dimension. Choosing by proximity rather than asking is the one rule that makes outposts placeable without a UI, and "nearest of yours" is what a player means every time.

A placement is refused when:

CheckGoverned by
Outposts are switched off entirelyoutpostsPerColony set to 0
The spot is inside a colony's claim— (it would be doing nothing the colony was not)
The spot is inside another outpost's claim—
No colony you may act on is within rangeoutpostMaxDistance
The nearest such colony is already at its allowanceoutpostsPerColony (default 4)

Removing an outpost follows the same rule as a colony beacon: sneak and break it, as the parent colony's owner or an operator.

An outpost cannot become a colony

There is no graduation path. Break it and place a colony beacon instead. Graduation would mean deciding what happens to the parent's claim, the shared research and the split of the goods — three design questions with no obviously right answer, none of which need answering to make outposts useful.

Orphaned outposts

An outpost whose parent has been dissolved goes inert immediately — the parent lookup returns nothing, so nothing ticks — and the retention sweep removes the record. An outpost is never silently re-parented: one that quietly attached itself to whichever colony happened to be nearest would be a claim exploit. The same rule applies at world load, where an outpost whose parent did not survive is dropped rather than adopted.

See also

  • Jobs & research — the export flag and the per-station export switch
  • Content format — the export entry schema
  • Colony basics — claims, dissolving, and the colony tick
  • Config — exportBufferSlots, exportValueMultiplier, the outpost keys

Search across every Nero mod wiki.