SPC Addon API

Build custom function block nodes for Stored Program Controls — the Siemens LOGO!-inspired industrial automation mod for Minecraft.

API 1.1.2 NeoForge 1.21.1 Java 21
TL;DR — Your first addon in 3 steps

You need 3 Java files (~80 lines total) and 1 config entry to create a working addon node. Follow the learning path below — you can have a custom node running in under 30 minutes.

Recommended Learning Path

Follow these pages in order. Each one builds on the previous.

1
Getting Started Beginner
Set up your project, add the API jar, configure your mod descriptor.
~10 min
2
Core Concepts Beginner
Understand nodes, ports, signals, execution phases, and how the runtime works.
~15 min
3
Your First Addon Beginner
Hands-on: build a complete Daylight Sensor node from scratch — copy-paste ready.
~15 min
After completing the 3 steps above, your addon will work!
The guides below go deeper — read them when you want to build more advanced nodes.
4
Creating Custom Nodes Intermediate
Deep dive into schemas, ports, parameters, factories, and execution phases — with 4 full examples.
~20 min
5
Node Categories Intermediate
Organize your nodes with custom categories, icons, and sort order in the editor palette.
~10 min
6
State & Persistence Intermediate
Build timers, counters, and toggles with persistent state slots and double buffering.
~15 min
7
Signal Processing Intermediate
Read, write, convert, and transform signals — scalers, clamps, multiplexers, and more.
~15 min

What Can You Build?

The SPC Addon API lets other NeoForge mods add custom function block nodes to the in-game LOGO programming editor. Your nodes appear in the palette, can be wired to other blocks, saved in programs, and run by the LOGO runtime — just like built-in ones.

What you want to doDifficultyPage to read
Add a sensor, logic gate, math block, or actuatorBeginnerYour First Addon + Examples
Deep-dive into node schemas, ports, and parametersIntermediateCreating Custom Nodes
Organize nodes with custom categories and iconsIntermediateNode Categories
Build timers, counters, or toggles with stateIntermediateState & Persistence
Transform, scale, or multiplex signalsIntermediateSignal Processing
Understand when/how your node executesBeginnerCore Concepts
Read world data (weather, time, light, entities)BeginnerExecution Context
Use different data types (numbers, text, items)BeginnerSignal Types
Bridge to another mod (Create, Mekanism, etc.)IntermediateContext Extensions
Add physical blocks to the LOGO machineAdvancedMultiblock Modules
Add wireless devices or network cablesAdvancedNetwork Devices
React to program start/stop eventsIntermediateRuntime Events
Essential Pages
Go Deeper — When You Need Them
Advanced Features
Reference

How It Works — At a Glance

Your Addon Mod Registers nodes, factories, extensions compile-time dependency (API jar) SPC Core (API) mod: spc_core — interfaces & records provides runtime implementation SPC Main Mod Runtime, compiler, editor, multiblock Nodes, factories, categories Registries, enums, signals LOGO runtime, I/O blocks, GUI

Your addon depends on the lightweight API jar at compile time. It contains only interfaces and records — no implementation. At runtime, the full SPC mod provides everything. Players need SPC installed alongside your addon.

Node Lifecycle Overview

  1. Define a Schema Declare your node's unique type ID, execution phase, input/output ports, and any configurable parameters using SpcNodeSchema.
  2. Implement the Compiled Node Write a class that implements ISpcCompiledNode. This is the per-tick executable logic: read inputs, compute, write outputs.
  3. Create a Factory Implement ISpcNodeFactory to construct compiled node instances during program compilation. The factory receives all resolved addresses and parameter values.
  4. Register Call SpcNodeRegistry.register(schema, factory, category) in your @Mod constructor. Done!
  5. Play! Your node appears in the LOGO editor palette. Players place it on the canvas, wire it to other blocks, and run programs.
💡 Ready to jump in?
Head to Getting Started to set up your project, or straight to Your First Addon if you already have a NeoForge mod ready.