https://github.com/nkid00/redstone-computer-utilities
Lightweight and Modular Redstone Computer Debugging Tools. 轻量级模块化红石计算机调试工具。
https://github.com/nkid00/redstone-computer-utilities
computer debug fabric minecraft mod redstone redstone-computer-utilities
Last synced: 6 months ago
JSON representation
Lightweight and Modular Redstone Computer Debugging Tools. 轻量级模块化红石计算机调试工具。
- Host: GitHub
- URL: https://github.com/nkid00/redstone-computer-utilities
- Owner: NKID00
- License: mpl-2.0
- Created: 2021-08-16T07:11:52.000Z (almost 4 years ago)
- Default Branch: refactor-websocket
- Last Pushed: 2024-04-25T15:00:38.000Z (about 1 year ago)
- Last Synced: 2024-04-26T14:31:00.684Z (about 1 year ago)
- Topics: computer, debug, fabric, minecraft, mod, redstone, redstone-computer-utilities
- Language: Java
- Homepage: https://modrinth.com/mod/redstone-computer-utilities
- Size: 1.05 MB
- Stars: 14
- Watchers: 2
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Redstone Computer Utilities
> Lightweight and Modular Redstone Computer Debugging Tools.
[English README](./README.md) | [简体中文简介](./README.zh_cn.md)
## Highlights
- Empowers programs in any programming language (as long as it supports JSON and TCP) to debug redstone computers
- Specially, [a Python library](https://github.com/NKID00/redstone-computer-utilities-python) is provided to facilitate development
- 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 ` to create an interface.
5. Write debugging program and wrap it as a script.
6. Start up the script.
7. Execute `/rcu run <interface name>` to run the script.You may also accelerate tick speed if it takes too long.
See [docs/Details.md](./docs/Details.md) for details.
## Development
JDK 17 or newer, GNU gettext and Python 3.10 or newer is required.
To build the mod,
```sh
./gradlew build
```Built jars are in `build/libs/`.
To extract translation keys,
```sh
./gradlew extract
```Extracted translation keys are located in `build/messages.po`. Translations are hosted on [transifex](https://www.transifex.com/nkid00/redstone-computer-utilities).
To convert translations to or from Minecraft-compatible json format,
```sh
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,
```sh
python determine_deps.py
```## Credits
- [Fabric Loader](https://github.com/FabricMC/fabric-loader), distributed under [Apache-2.0](https://github.com/FabricMC/fabric-loader/blob/master/LICENSE).
- [Fabric API](https://github.com/FabricMC/fabric), distributed under [Apache-2.0](https://github.com/FabricMC/fabric/blob/master/LICENSE).
- [GSON](https://github.com/google/gson), distributed under [Apache-2.0](https://github.com/google/gson/blob/master/LICENSE).
- [netty](https://github.com/netty/netty), distributed under [Apache-2.0](https://github.com/netty/netty/blob/4.1/LICENSE.txt).
- [Guava](https://github.com/google/guava), distributed under [Apache-2.0](https://github.com/google/guava/blob/master/COPYING).## Copyright
Copyright © 2021-2023 NKID00
Distributed under [MPL-2.0](./LICENSE).