OpenComputers is a Minecraft mod that adds programmable computers and robots to the game. The built-in computer implementation uses Lua 5.2 and is fully persistent. This means programs will continue running across reloads. For more information, please see the wiki.
To get started, head over to the Releases and grab the most recent build!
This fork ports the mod to NeoForge 1.21.1! My only qualm with this mod was its last stable version being back in 1.12, so I decided I'd fix it myself.
This is in Alpha - everything should work, but I still have a lot of testing to do.
Most mod integrations have been stripped due to other mods completely redesigning their codebases. I currently plan to reimplement AE2 integration, and add Create integration. If you want any other mods added, feel free to open an issue in the issue tracker!
This mod is licensed under the MIT license. All assets are public domain, unless otherwise stated; all are free to be distributed as long as the license / source credits are kept. This means you can use this mod in any mod pack as you please. I'd be happy to hear about you using it, though, just out of curiosity.
- Translations
TBD - I do not have access to the original repository's Weblate, so I will rework and document this later. - Textures
If you would like to contribute better textures for certain items or blocks, feel free to pull-request them. If you would like to contribute alternative textures, make it a resource pack,and post it on the forums, for example(official OpenComputers forums are not associated with this project - TBD where else). - Documentation
WIP - I plan to rewrite most of the documentation and do something similar to Create ponders. Currently there are significant issues with the manual and documentation due to changes in path case sensitivity. I certainly plan to fix several manual pages just sending you to changelogs from 1.7. - Robot Names
Robots get a random name when placed (unless set with an Anvil). The list the names are chose from can be found here. Feel free to pull request additional names! However: since the list has grown to a considerable length already, here are the two basic criteria for new names: it must either be a real or fictional robot, or an AI that at least appears to be self-aware.
- Bugs
If you've found a bug, please report it in this repository in the issue tracker, and make sure you are on the latest OC:R version for your Minecraft version. If you think you can and have fixed it, feel free to do a pull request. I'll happily pull it if it looks all right to me - otherwise I'll gladly tell you what to change to get it merged. - Features
If you'd like to propose a new feature, open an issue for it on the issue tracker. If you'd like to contribute code that adds new features, you may also open a pull request to demonstrate. However, blink / unexpected feature pull requests may very well not make it, so to ensure your work can be merged in the first place, make sure to open an issue first. - Scripts / Programs
OpenComputers generates floppy disks in dungeon chests that can contain data from a selection of 'loot' directories. For example, the IRC client and OPPM (a package manager) are two programs that can be found on such loot disks. If you'd like to contribute a program that can be found this way, please have a look at the loot readme, which explains how to add custom loot. Simply pull request your loot! - Core Scripts
If you would like to contribute scripts to the "core" Lua code (which basically defines 'OpenOS'), please have a look at the code conventions for Lua to save us all some time. Bug fixes are always welcome. Additional programs and features should be kept small. Bigger programs (rule of thumb: larger than 3KiB) should go onto loot disks. - Drivers
If you wish to contribute a driver for blocks from other mods, that is much appreciated! However, I still need to rework and redo documentation, so I recommend holding off for now. The integration package remains mostly applicable.
The following are a few quick guidelines on pull requests. That is to say they are not necessarily rules, so there may be exceptions and all that. Just try to stick to those points as a baseline.
- Make sure your code is formatted properly.
- Make sure it builds and works.
- Try to keep your changes as minimal as possible. In particular, no whitespace changes in existing files, please.
- When adding mod dependencies, keep them weak, i.e. make sure OC still works without that mod. Also, prefer adding a Gradle dependency over adding API class files to the repo.
- Squash your commits!
Also, and this should go without saying, your contributed code will also fall under OC's license, unless otherwise specified (in the super rare case of adding third-party stuff, add the according license information as a LICENSE-??? file, please).
TBD - this also needs to be updated after the fork.
