Home of the OpenComputers mod for Minecraft.

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][wiki]. Feel invited to visit the [community forums][forums] or drop by in the [IRC channel #oc on esper.net][irc].
A few useful links:
- [Minecraft Forum Thread][mcf]
- [Downloads][releases]
- [Bug Tracker][issues]
- [Wiki][wiki]
- [Ingame Manual][ingame manual]
- [IRC][irc]
- [Community Forums][forums]
Experimental Builds
You can find experimental builds [on the build server][github-actions]. Expect these to be generally more unstable than builds marked as releases. Use these at your own risk, but - when using the latest one - please do report bugs you encounter using them. Thanks!License / Use in Modpacks
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.Contributing
Assets and Localizations
- Translations
- Textures
- Documentation
text or sides) would help a lot. Thanks!
- Robot Names
Bug fixes, features and scripts
- Bugs
- Features
- Scripts / Programs
- Core Scripts
- Drivers
Pull requests
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.
- Feel free to code in Java, but don't be surprised if I convert it to Scala later on, if I feel it makes the code more concise ;-)
- 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!
LICENSE-??? file, please).
Extending
In your own mod
To use [the API][api] in your own mod, either get the API JAR from the [build server][github-actions], or if you're using Gradle, add a dependency to the maven repo:repositories {
maven { url = "http://maven.cil.li/" }
}
dependencies {
compile "li.cil.oc:OpenComputers:MC1.7.10-1.5.+:api"
}
Adjust the version number accordingly to the version you'd like to build against.
To run the mod in your development environment, download the [dev JAR from the build server][dev-jar] and drop it into your development environment's eclipse/mods (Eclipse) or run/mods (IntelliJ IDEA) folder.
Alternatively, leave out the api classifier and you can build against the dev JAR directly. This way you don't have to add it to your mods folder, but you will have to add -Dfml.coreMods.load=li.cil.oc.common.launch.TransformerLoader to the VM options in your run configuration.
If you have any questions, please do not hesitate to ask, either in the [forums][] or in the [IRC][irc]!
OpenComputers
Want to tinker with the mod itself? Here is how - for IntelliJ IDEA users.Important
- Make sure you have the Gradle plugin enabled in IntelliJ IDEA (File->Settings->Plugins).
- Make sure you have the Scala plugin enabled.
gradlew setupDecompWorkspace to setup the workspace, including assets and such, then gradlew idea to create an IntelliJ IDEA project.
Open the project and you will be asked to import the Gradle project (check your Event Log if you missed the pop-up). Do so. This will configure additionally referenced libraries.
For more specific instructions, read [Steps to run master MC1.7.10 from IDEA][idea_1.7.10]
In the case you wish to use Eclipse rather than IntelliJ IDEA, the process is mostly the same, except you must run gradlew eclipse rather than gradlew idea.
[api]: https://github.com/MightyPirates/OpenComputers/tree/master-MC1.7.10/src/main/java/li/cil/oc/api [code conventions]: https://ocdoc.cil.li/lua_conventions [dev-jar]: https://ci.cil.li/view/OpenComputers/job/OpenComputers-MC1.7.10/ [forums]: https://oc.cil.li/ [github-actions]: https://github.com/MightyPirates/OpenComputers/actions [irc]: http://webchat.esper.net/?channels=#oc [issues]: https://github.com/MightyPirates/OpenComputers/issues?state=open [localizations]: https://github.com/MightyPirates/OpenComputers/tree/master-MC1.7.10/src/main/resources/assets/opencomputers/lang [loot]: https://github.com/MightyPirates/OpenComputers/tree/master-MC1.7.10/src/main/resources/assets/opencomputers/loot [manpages]: https://github.com/MightyPirates/OpenComputers/tree/master-MC1.7.10/src/main/resources/assets/opencomputers/loot/OpenOS/usr/man [manual]: https://github.com/MightyPirates/OpenComputers/tree/master-MC1.7.10/src/main/resources/assets/opencomputers/doc [mcf]: http://www.minecraftforum.net/topic/2201440-opencomputers-v122/ [pack.mcmeta]: https://github.com/MightyPirates/OpenComputers/blob/master-MC1.7.10/src/main/resources/pack.mcmeta [releases]: https://github.com/MightyPirates/OpenComputers/releases [robot names]: https://github.com/MightyPirates/OpenComputers/blob/master-MC1.7.10/src/main/resources/assets/opencomputers/robot.names [wiki]: https://ocdoc.cil.li/ [integration]: https://github.com/MightyPirates/OpenComputers/tree/master-MC1.7.10/src/main/scala/li/cil/oc/integration [ingame manual]: https://github.com/MightyPirates/OpenComputers/tree/master-MC1.7.10/src/main/resources/assets/opencomputers/doc [idea1.7.10]: https://ocdoc.cil.li/tutorial:debug1.7.10