promotional bannermobile promotional banner

SPC Core

The official API library for Stored Program Controls, providing the shared foundation for addons, integrations, and compatibility with other mods.

File Details

SPC Core 1.2.0 for SPC 1.0.0 (1.21.1)

  • R
  • Apr 21, 2026
  • 72.53 KB
  • 9
  • 1.21.1
  • NeoForge

File Name

storedprogramcontrols-1.2.0-api.jar

Supported Versions

  • 1.21.1

Curse Maven Snippet

NeoForge

implementation "curse.maven:spc-core-1510924:7961683"
Curse Maven does not yet support mods that have disabled 3rd party sharing

Learn more about Curse Maven

Stored Program Controls — API Changelog

API Version 1.2.0 (April 21, 2026)

Help Page API (new package com.hypernova.spc.api.help)

Addons can now publish rich help pages for their function blocks. When a player opens the Block Help dialog on a node whose typeId is not in the built-in catalog, the registry is consulted and the registered page is rendered with the same layout used by built-in entries.

  • SpcHelpRegistry: Static, thread-safe, freezable registry mapping a node typeId to a SpcHelpPage. Call register(typeId, page) during mod construction or FMLCommonSetupEvent.
  • SpcHelpPage: Immutable record assembled via a fluent Builder. Builder methods:
    • builder(title, shortDescription) — required entry point.
    • connection(label, signalType, description) — appends a row to the connection/parameter table.
    • parameter(label, description) — convenience wrapper that emits a row with SpcHelpSignalType.PARAMETER for rows that describe properties configurable inside the block but with no visible port.
    • row(SpcHelpRow) — append a pre-built row.
    • paragraph(text) — append a narrative paragraph (blank lines separate paragraphs).
    • logicTable(SpcHelpLogicTable) — append a truth/state table.
    • diagram(SpcHelpDiagram) — append a captioned PNG diagram.
  • SpcHelpSignalType: Enum of canonical connection signal types. Values: DIGITAL, ANALOG, INTEGER, DECIMAL, STRING, ITEM, ITEM_ID, PARAMETER, OTHER. displayName() gives the human-readable label shown in the "Signal Type" column of the connection table.
  • SpcHelpRow: Record (label, signalType, description). Only label is required; signalType null renders as em-dash.
  • SpcHelpLogicTable: Record (title, columnHeaders, rows). Row widths must match columnHeaders length (validated at construction).
  • SpcHelpDiagram: Record (texture, widthPixels, heightPixels, caption) pointing at a ResourceLocation-style PNG path.

Backwards Compatibility

  • All previous API surfaces from 1.1.6 are unchanged. Addons compiled against 1.1.6 continue to load; addons that want to ship detailed help pages should compile against 1.2.0.