Giter VIP home page Giter VIP logo

opencomputersprojects's Introduction

About This Project

This is a collection of programs for the OpenComputers mod for Minecraft. OpenComputers provides virtual robots, servers, drones, microcontrollers, and all kinds of hackable hardware, as well as a minimalistic Unix kernel written entirely in Lua. This makes OpenComputers ideal for virtual robotics programming in a simplified voxel-based environment.

All of the programs here use the OpenPrograms Package Manager (OPPM) for installation. Try the following steps to get this set up on a new device (computer, server, robot, etc):

  1. Install OpenOS and OPPM (floppy disks are available for both). Note that OPPM requires an internet card to function.
  2. Run oppm register tdepke2/OpenComputersProjects
  3. Install any of the packages here with oppm install <package>

See the programs.cfg file for specific package names (usually the package name is the same as the directory name in the root of this repository, and includes the prefix "td." for libraries).

Featured Programs

Libraries

td.libapptools

A few modules to help with multithreading, debugging to log files, automatic require() reloading, and more.

td.libconfig

Define user-facing configuration structures, then save and load these from a file.

td.libdstructs

Various data structures like CharArray, ByteArray, Deque, etc.

td.libembedded

Utilities for embedded devices (like drones and microcontrollers).

td.libitem

Simple item hashing and inventory iterators.

td.libminer

Provides navigation, safe wrappers for robot actions, inventory arrangement, etc.

td.libmnet

Networking library with support for reliable/unreliable messaging (like TCP/UDP) and messages of any size. Automatic routing makes the network design very flexible, and the code has a small footprint for embedded devices (fits on EEPROM).

Robotics

tquarry

Digs a specified rectangular area using a robot. The robot is smart enough to deal with obstacles, broken tools, low energy, refueling generators, etc.

Tools

oppm_linker

Simplify program development with OPPM by symlinking files in a Git repository to their install location.

simple_doc

Document all the code! Did I mention it's fully automated too?

simple_preprocess

Minimalistic preprocessor for Lua code. Use metaprogramming to let the code write new code!

xprint

Serialize Lua data (tables/numbers/etc) to human-readable strings. Includes a hexdump utility.

Unmaintained and/or Unfinished

td.libmatrix

Provides vector and matrix objects for mathematic operations. Currently the vector type is finished, but matrix type is not.

td.libwnet

A very simple networking module with RPC-like functionality. This is the precursor to td.libmnet.

minibuilder

An automated solution for crafting with a miniaturization field projector (from Compact Machines mod).

oc_energistics

Modular factory automation system. This is essentially a complete implementation of a matter-energy system (like Applied Energistics 2 or Refined Storage mods), using only hardware provided in OpenComputers. This is the most complex project in this repo, and it may never be finished.

ocvnc

Virtual network computing client/server. Can be used to remotely connect to a system to provide keyboard input and view the screen.

tgol

Just another implementation of Conway's Game of Life.

tminer

Robotic miner that uses a geolyzer to analyze locations of ore veins. The robot plans an efficient path to mine all of the ore and minimize digging up other blocks.

Development

Most of these programs have been designed around Lua 5.3 but a few are also compatible with Lua 5.2. OpenComputers supports both architectures in the CPU item, but defaults to different ones depending on the mod version (shift-right-click the CPU to cycle the architecture).

Programs have been tested with OpenComputers-MC1.12.2-1.7.5.192, but newer versions of the mod should be compatible.

Notes related to pending development tasks, bugs, and future program ideas are on the wiki.

opencomputersprojects's People

Contributors

actions-user avatar tdepke2 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.