Skip to content

Lightweight and Modular Redstone Computer Debugging Tools. 轻量级模块化红石计算机调试工具。

License

Notifications You must be signed in to change notification settings

NKID00/redstone-computer-utilities

Repository files navigation

icon

Redstone Computer Utilities

Lightweight and Modular Redstone Computer Debugging Tools.

English README | 简体中文简介

Highlights

  • Empowers programs in any programming language (as long as it supports JSON and TCP) to debug redstone computers
  • Supports redstone wires in any sizes and shapes from horizontal, vertical to even diagonal ones
  • Completions and suggestions for every argument of all commands
  • Server-side-only implementation, fully compatible with vanilla clients
  • Compatibility with tick speed controlling, stepping and pausing implemented by other mods
  • Built-in English and Simplified Chinese translations

Installation

This mod supports Minecraft 1.16-1.19.3 and requires Java 17, the latest Fabric Loader and the latest Fabric API.

Only server-side installation is required for multiplayer and client-side installation is required for singleplayer.

Basic Usage

  1. Execute /rcu to receive a wand item (or pick a pink dye by yourself).
  2. Attach target blocks to redstone wires of your redstone mechanics to be debugged.
  3. Left click with the wand item to select the most significant bit, right click to select the least significant bit.
  4. Execute /rcu new <interface name> to create an interface.
  5. Write debugging program and wrap it as a script.
  6. Start up the script.
  7. Execute /rcu run <script name> <interface name> to run the script.

You may also accelerate tick speed if it takes too long.

See docs/Details.md for details.

Development

JDK 17 or newer, GNU gettext and Python 3.10 or newer is required.

To build the mod,

./gradlew build

Built jars are in build/libs/.

To extract translation keys,

./gradlew extract

Extracted translation keys are located in build/messages.po. Translations are hosted on transifex.

To convert translations to or from Minecraft-compatible json format,

python po2minecraft.py path/to/messages.po path/to/messages.json
python minecraft2po.py path/to/messages.json path/to/messages.po

To determine which versions of dependencies are compatible with Minecraft,

python determine_deps.py

Credits

Copyright

Copyright © 2021-2023 NKID00

Distributed under MPL-2.0.