Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 58 additions & 0 deletions faqs/different_versions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
---
title: Differences between CC, CC:Tweaked, OC, and OC2
search: differences different
---
Over the years, multiple different computer mods have been created. Each of these mods have their own unique features, and cater to different play styles. Below is a brief overview of the differences between the most popular computer mods.

## Brief Descriptions

**CC (ComputerCraft)**

ComputerCraft is the original version of ComputerCraft, developed by Dan200. It's available for Minecraft 1.6.4 up to 1.12.2. This version is missing many of the modern features that CC:Tweaked contains. The computers are programmed using Lua 5.1.

**CC:Tweaked**

CC:Tweaked is an updated version of ComputerCraft, maintained by SquidDev and many members of the community. It adds many new features on top of the original ComputerCraft, including websocket support, new peripherals, and DFPWM audio support. CC:Tweaked operates on the value of backwards compatibility, attempting to ensure that as many existing programs as possible continue to work without modification. Newer versions of the mod also include support for Lua 5.2.

**OC (OpenComputers)**

OpenComputers is a separate mod from ComputerCraft, developed by Asie. It focuses on a more 'realistic' approach to computers within Minecraft, featuring more complex (but limited) hardware components, and its own set of peripherals. OpenComputers is available for Minecraft 1.6.4 up to 1.12.2, and is also programmed using Lua.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

was developed by Sangar, is maintained by Asie

there is a fairly complete (?) fork that ported the mod to 1.16


**OC2 (OpenComputers 2)**

OC2 is the successor to OpenComputers, though make no mistake: it's not just a continuation like CC:Tweaked is. OC2 introduces the RISC-V architecture, which is a significant departure from the original OpenComputers mod. This mod is still in development, and aims to bring modern features and improvements to the OpenComputers experience. OC2 is available for Minecraft 1.18.1 and 1.18.2. OC2's default operating system is Linux, and Lua is included to enable easy scripting.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

aims to bring modern features and improvements to the OpenComputers experience

more like it's trying to be more realistic by running risc-v emulation so you can run real linxu kernel. There are also forks that make it run on 1.20/1.21? but you'd have to check this


## Main Differences

If you're looking for a bullet-point list of differences between the mods, here you go:

- **Programming Language**: All four mods use Lua, but OC2 uses RISC-V, meaning it can use anything else you desire as well.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

to be more specific, "it can use anything that compiles to RISC-V"

- **Operating System**
- **CC/CC:Tweaked**:
- CraftOS: Simplifies scripting for users as it provides a large set of APIs available in the global environment.
- **OpenComputers**:
- OpenOS: A more modular operating system that requires the user to explicitly import non-standard libraries.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

haven't used craftos much but saying that one OS has everything loaded in the global env and in the other you have to import the libraries explicitly is a cosmetic technicality IMO. I'd rather point out that OpenOS has a different directory structure that tries to mimic UNIX-likes, with /home, /bin, /usr etc. and you're free to edit this while iirc CraftOS just had a ROM directory, and that was non-editable(?).

Also maybe it would be good to point out that some APIs of openos will be familiar to craftos users.

- **OC2**:
- Base operating system is Linux, but you can theoretically run anything on it.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can imagine people coming and asking "can I run windows on this"? to be more specific, "run anything that can be compiled to RISC-V".

- **Resource Limits**
- **CC/CC:Tweaked**:
- No limits on CPU or RAM usage.
- Configurable storage limit applied globally to all computers (and floppy disks).
- **OpenComputers/OC2**:
- Resource limits are determined by the hardware components used in the computer.
- Tiered items are used to increase the available resources individually.
- **Complexity**:
- **CC/CC:Tweaked**: Generally simpler to use and understand, requiring minimal crafting and setup to get started.
- **OpenComputers/OC2**: Have a steeper learning curve due to their more complex hardware and software systems.
- **Realism**:
- **CC/CC:Tweaked**: While still offering a small degree of realism, are more focused on accessibility and ease of use.
- **OpenComputers/OC2**: Aim for a much more realistic approach to computing within Minecraft, featuring more complex hardware components and a greater emphasis on modularity and customization.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this kind of misses the point by just saying some generic things, i.e. "it's modular and customizable", ok, in what way?

I think better phrasing would be to directly say that you can swap out parts of the hardware, and different hardware gives you different capabilities. You want internet access? You need to put internet card into your computer. You want to control redstone? You need connect a redstone I/O block.

- **World Interaction**:
- **CC/CC:Tweaked**: Allow for basic interaction with the Minecraft world, primarily through the use of peripherals, turtles, and redstone.
- **Peripherals**: Blocks which are placed in the world and connect to a computer, which can interact with the world in various ways (e.g., setting redstone states, playing audio).
- **Turtles**: Mobile computers that can be programmed to perform tasks in the world, such as mining or building. Turtles can move anywhere (so long as they are not obstructed by another block).
- **OpenComputers/OC2**: Require more setup and configuration to interact with the world, through the use of peripherals, robots, drones, and redstone components.
- **Peripherals**: Similar to CC, OpenComputers provides many of their own peripherals that can interact with the world.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"peripherals' are called "components" in the OC world

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you could give some examples as in the CC case, e.g: interacting with inventories, scanning the terrain, controlling redstone

- **Robots**: Mobile computers that can be programmed to perform tasks in the world, similar to turtles, but with more customization options. Robots have a [defined set of rules](https://ocdoc.cil.li/api:robot#movement) restricting their movement based on their surroundings.
- **OpenComputers**:
- **Drones**: Entities which can move through the air extremely quickly and perform small tasks.