Modular Machinery: Community Edition Reborn

Build your own multiblock machines and recipes: a 1.20.1 port of Modular Machinery: Community Edition that ships no content of its own.

Modular Machinery: Community Edition Reborn — Introduction

⚠️ WORK IN PROGRESS — not finished

Current version 0.30.0. Everything under "Done" below has been verified in game. Everything under "Not done" is not usable yet. Please keep this status banner wherever you repost this text.


What this is

A reimplementation of Modular Machinery: Community Edition (Minecraft 1.12.2) for Minecraft 1.20.1 / Forge.

It is a framework: the mod ships no machines and no recipes of its own. You supply the multiblocks and the recipes, by any of three routes:

  • Data pack JSON (recommended; takes effect on /reload)
  • Config directory config/modular_machinery_reborn/machinery/ (after a restart, the machine gets a dedicated controller block)
  • KubeJS scripts in the server-script directory (takes effect on /reload)

See docs/使用说明.md (Chinese) and docs/KJS-配方指南.md for the authoring guides.


✅ Done — verified in game

Machine definitions

  • Three sources (data pack / config directory / KubeJS); multi-layer and arbitrary shapes; matching rotated to the controller's facing
  • Blueprint binding and requires-blueprint
  • Controller-claim mechanism, so data-pack machines can have a dedicated controller too

Recipe engine

  • Requirement-list schema; types item / fluid / energy / interface_number_input / ingredient_array_input
  • Inputs consumed at start, energy drained per tick, outputs rolled independently per completion
  • The original's ore-dictionary syntax (ore:) mapped to tags; the original's namespace (modularmachinery:) accepted unchanged

Hatches and port capabilities

  • Item / fluid / energy hatches hold their storage and expose capabilities; tier textures; fluid rendered by colour

User interface (reproduced from the original)

  • Machine controller screen (176×213), hatch screens, factory controller screen (280×213)
  • 3D structure preview — right-click a blueprint; a JEI "machine structure" category; machine info including the parallelism/thread rows
  • Recipe JEI pages (input quantities, and the blocks a machine is built from)

Upgrades / parallelism / factory

  • Upgrade bus in 5 tiers (3/6/9/12/18 slots); upgrade effects declared as data
  • Parallel controller in 5 tiers (4 / 16 / 64 / 256 / 512), with N copies genuinely settled
  • Factory controller: several different recipes running at once, core threads, a thread ceiling
  • Recipe modifiers (duration / output / input / chance / energy)

Smart data interface

  • Merged into the controller (no separate block); consumed by the interface_number_input requirement

Structure construct tool

  • WorldEdit-wand-style selection, white outline, rotation to the controller's facing, and export of a machine-definition fragment into the config directory

Compatibility

  • The old ModularController's modularcontroller namespace, so controllers in older saves survive — with a migration prompt

❌ Not done — not usable yet

KubeJS machine-definition extended fields

  • modifiers, smart-interfaces, has-factory / factory-only / max-threads / core-threads, the three parallelism fields, failure-action, requires-blueprint
  • KubeJS can currently define only the core fields (pattern/parts, display name); everything above still has to be written in a data pack or the config directory

Structures

  • Variable-size structures (dynamic-patterns) are not implemented, so the built-in assembly line (assembly_line) is missing — 3 of the original's 4 built-in machines are ported

Recipes

  • Gas requirements: gas / gas_pertick / fluid_pertick (need a gas API)
  • Recipe adapters (mechanically routing another mod's recipes into one of these machines)

Interface and presentation

  • Per-machine JEI categories (all controllers currently share one category)
  • color tinting
  • The full craftcheck.failure.* failure text (a machine waiting for resources still just shows idle)

Tools

  • The projector machine_projector (world-space ghost preview) — deliberately not in this release
  • The preview panel's button row (layer toggle / reset view / per-layer 2D view)
  • ItemDebugStruct
  • A real "select a region and place the blocks" builder — the original has no such feature. This mod's construct tool is selection + definition export, not a placer.

Scripting

  • A CraftTweaker-equivalent API
  • AE2 / GregTech / TConstruct and similar compatibility modules (optional, standalone, and excluded from the main-line completion count)

Known limitations

The full user-facing list — including which machine source can have a dedicated controller, the difference between /reload and a restart, and the things deliberately not done with the reason why — is in 已知限制.md (Chinese).

Modular Machinery: Community Edition Reborn Team

profile avatar
Owner
  • 3
    Projects
  • 265
    Downloads

More from xiansi

  • terra-plate-extension project image

    terra-plate-extension

    A Botania addon that lets you fully customize Terra Plate recipes — below-plate block conditions, post-craft transformations, and mana costs — via KubeJS scripts or datapacks, with a vanilla-style JEI interface.

    • 129
    • September 20, 2026
  • Rainbow Lotus project image

    Rainbow Lotus

    A Botania addon flower that produces no mana from fuel — it blooms only when one of each of the thirteen generating flower species is working around it, then floods you with mana.

    • 77
    • September 19, 2026
  • terra-plate-extension project image

    terra-plate-extension

    A Botania addon that lets you fully customize Terra Plate recipes — below-plate block conditions, post-craft transformations, and mana costs — via KubeJS scripts or datapacks, with a vanilla-style JEI interface.

    • 129
    • September 20, 2026
  • Rainbow Lotus project image

    Rainbow Lotus

    A Botania addon flower that produces no mana from fuel — it blooms only when one of each of the thirteen generating flower species is working around it, then floods you with mana.

    • 77
    • September 19, 2026