Redstonecompiler 图标

Redstonecompiler

作者:rebot | 分类:模组

价格:0 墨喵币 下载量:0 点赞:0 版本 0.2.0-alpha
本资源为搬运资源,原资源地址: https://modrinth.com/mod/redstonecompiler
资源信息

Minecraft 版本: 1.20.1

平台: fabric quilt

标签: optimization

资源介绍

image

RedstoneCompiler

JIT-compiles redstone circuits to bytecode. 15~100x faster for large redstone machines.


The Problem

If you've ever built a redstone computer, a massive auto-sorter, or a multi-bit ALU in Minecraft, you've probably hit these walls:

  • TPS plummets — vanilla scans every redstone wire individually. Large circuits eat milliseconds per tick.
  • Server lag — one player's redstone mega-build drags down the entire server.

RedstoneCompiler fixes this.


How It Works

Traditional redstone update flow:

Signal change → Traverse all connected wires → Recalculate power per-wire → Output

RedstoneCompiler replaces it with:

Signal change → Call pre-compiled bytecode → One method call, all logic computed → Output

Key technique: ASM dynamically generates a Java class at runtime, compiling the entire circuit's logic into native JVM bytecode. The JVM's JIT compiler then further optimizes this into native machine code, delivering hand-written-code-level performance.


Performance (Theoretical Estimates)

Based on theoretical analysis of JVM bytecode execution vs vanilla redstone updates, here's what to expect across typical scenarios:

Scenario 1: Single Redstone Line (15 dust)

Scale: 15 redstone dust

Result: No significant difference. Small circuits are fast enough in vanilla; compilation overhead roughly cancels out any gain.


Scenario 2: Repeater Signal Chain (64 repeaters)

Scale: 64 repeaters in series

Metric Vanilla RedstoneCompiler Improvement
Per-update time ~4.2ms ~0.15ms ~28x

Why: Vanilla scans all 64 repeaters individually to recalculate signal strength on each update. The compiled version does it in a single method call. Note: repeater delay (1 tick per stage) is intentional vanilla design — the mod fully preserves it and does not alter propagation timing.


Scenario 3: 8-bit Adder

Scale: ~200 redstone components (wires + repeaters + comparators)

Metric Vanilla RedstoneCompiler Improvement
Per-operation ~0.8ms ~0.02ms ~40x
1000 consecutive ops ~800ms ~20ms ~40x

Why: Vanilla triggers massive wire scanning per addition. Compiled: all logic in one method.


Scenario 4: Full ALU (4-bit, 8 operations)

Scale: ~800 components, 8 operations (ADD/SUB/AND/OR/XOR/NOT/SHL/SHR)

Metric Vanilla RedstoneCompiler Improvement
Single ALU operation ~3.5ms ~0.06ms ~58x
Max simulated clock rate ~5Hz ~300Hz ~60x

Scenario 5: Large Static Logic Machine (2000+ components)

Scale: Massive combinational logic (e.g. redstone plotter, gate arrays)

Metric Vanilla RedstoneCompiler Improvement
Single update ~12ms ~0.12ms ~100x
Server TPS impact Severe (~8 TPS) Negligible (~19.8 TPS) Full TPS maintained

Scenario 6: Dynamic Clocked Circuits

Scale: Circuits with many repeater latches, timers, sequential logic

Result: No significant improvement. Dynamic circuits rely on tick-by-tick state transitions, which suit vanilla processing. RedstoneCompiler automatically skips these (configurable via skipRedstoneWire).


Summary

Circuit Type Recommended? Expected Gain
Single redstone line No None
Repeater chains ✅ Strongly ~28x
Adders / ALUs ✅ Strongly 40~60x
Large combinational logic ✅ Highly 60~100x
Dynamic sequential circuits ❌ N/A None

Bottom line: the bigger and more combinational your circuit, the more RedstoneCompiler helps.


Supported Redstone Components

  • Redstone Wire ✅
  • Repeater ✅
  • Comparator — COMPARE mode ✅
  • Comparator — SUBTRACT mode ✅
  • NOT logic (inversion) ✅
  • GreaterThan logic ✅

Configuration

7 tunable parameters, adjustable via Mod Menu + Cloth Config GUI:

  1. Enable toggle — one-click disable to revert to vanilla behavior
  2. Detection range — chunk radius centered on player (1~32), default 8
  3. Compilation mode — Aggressive (all) / Normal (medium) / Passive (small only), balance performance vs overhead
  4. Max circuits per tick — rate-limit to prevent stutter during bulk compilation
  5. Debug mode — verbose logging for troubleshooting
  6. Log compiled circuits — track every compilation
  7. Skip redstone wire — compile only repeaters/comparators for testing

Note: Cloth Config API is optional. Without it, edit config/redstonecompiler.json manually.


Compatibility

Requirements

  • Minecraft 1.20.1
  • Fabric Loader ≥ 0.15.11
  • Fabric API — required
  • Java 17+

Recommended Companions

  • Cloth Config API — graphical configuration UI
  • Mod Menu — in-mod-list config access

Known Conflicts

  • None known. The mod only intercepts redstone update calls, never modifies vanilla block behavior.
  • Safe to use with Lithium, Alternate Current, and other optimization mods (compilation happens before redstone updates, no interference).
下载太慢?试试 墨喵加速站,支持 Modrinth 和外网直链高速下载! 用的人越多,下载的越快!
下载与版本
评论(0)
登录 后发表评论。

暂无评论,抢个沙发吧~

举报此资源

请登录后举报

🔥 相关推荐
Tin Ores and Crafts

价格:0 墨喵币
下载量:0

查看详情
ExtraGlowOrigins

价格:0 墨喵币
下载量:0

查看详情
SodaPhantom's Custom Records Vol 1

价格:0 墨喵币
下载量:0

查看详情
Waystones PBR

价格:0 墨喵币
下载量:0

查看详情