Skip to content

Home en

shinyashen edited this page Sep 17, 2026 · 13 revisions

中文 | English

AE2 VM 1.12

AE2 VM 1.12 is an unofficial fork of AE2-VM (by Tao, NeoForge 1.21.1), ported to Minecraft 1.12.2 / Cleanroom / AE2 Unofficial Extended Life v0.56.x.

It replaces AE2's recursive crafting-tree walk with "pre-compiled pattern bytecode + a stack-based virtual machine + a JIT bundle cache": a crafting request becomes one VM execution instead of an expanding recursion tree. For deeply nested, exponentially recursive crafting requests this means an order-of-magnitude speedup (upstream benchmark: ~90 seconds with the vanilla recursion tree → ~38 ms with the VM), and stack overflows are impossible by construction.

Highlights

  • Sub-second planning: deep chains / Fibonacci-style exponential demand computed in milliseconds
  • Correctness first: all 36 reference-suite scenarios SUPPORTED — including the single FALSE_POSITIVE upstream carried since v1.9.6, now closed by the multi-pattern assignment solver
  • Stock-aware: existing inventory is consumed first, shortfalls are crafted; catalyst feedback loops and conversion rings all get exact semantics
  • Amplifying crafting rings: self-feeding loops that net-grow per round, plus their whole family (byproduct intermediates, external-input rings, byproduct-rooted orders, coupled ring chains) solved algebraically with exact counts and disclosed startup capital
  • Compatible: AE2FC fluid patterns, AE2CT display trees, third-party "scaled pattern" wrappers — plug and play
  • Safe fallback: anything the VM cannot handle falls back to the vanilla recursion tree; a config switch disables the proxy entirely

Getting started

  1. Install Minecraft 1.12.2 with the Cleanroom loader (recommended); plain Forge also works, with MixinBooter installed for mixin support
  2. Install AE2 Unofficial Extended Life (compatible with every 1.12.2 build of AE2UEL)
  3. Download ae2_vm_112-x.y.z.jar from Releases or CurseForge into your mods/ folder
  4. Done. The VM takes over crafting calculations automatically; the proxyEnabled config switch turns it off

Documentation

Page Contents
Features Every ported feature and how it works
Architecture Root-node replacement, VM bytecode, JIT cache, guard system
Multi-pattern solver The assignment solver that closed upstream's open problem
Performance Benchmark methodology, optimization history, per-release data
Testing How 268 tests are organized; the differential-testing methodology
Differences & roadmap Deliberate deviations from upstream, unported items, gap status

Credits

Licensed under LGPL-3.0, same as the original.

Clone this wiki locally