User:Ogidya/ComputerCraft

ComputerCraft is a Minecraft mod first released on December 24, 2011. It was originally conceived and created by Daniel Ratcliffe, also known under the pseudonym Dan200. The mod makes it possible to create and place computer blocks within the sandbox environment of Minecraft, after which they can be programmed in the Lua programming language. When a player clicks on a computer block, a view similar to a computer terminal opens. The player can now run programs and code that they have programmed or obtained from other players. It is possible to interact with the virtual world of Minecraft with various other peripheral blocks and items. The original version of ComputerCraft was downloaded more than 18.9 million times from CurseForge between October 2013 and March 2022.

History
On December 24, 2011, Daniel Ratcliffe uploaded a video to YouTube demonstrating how ComputerCraft works. That same day, he created an account on the minecraftforums.net forum and posted about the mod he made for Minecraft 1.0, with a link to a website and wiki he created for the mod. On the same day, dozens of people responded enthusiastically to the forum post, and the mod quickly gained popularity. On January 27, 2012, Ratcliffe posted a screenshot of the file host MediaFire's website, showing that the mod had been downloaded more than 100,000 times.

In the years that followed, Ratcliffe continued to update the mod to new Minecraft versions and over time, several features were added, such as the ability to communicate with the Internet via http in ComputerCraft version 1.1. In version 1.2, the possibility to exchange software and data between computers with floppy drives, floppy disk s and "redpower" network cables appeared. On February 23, 2012, Ratcliffe released version 1.3, which contained turtles, a type of programmable robots. The mod was also based on the Forge modding framework since this version. In version 1.3.1 for Minecraft 1.2.3, monitor blocks were implemented and position determination through triangulation became possible. Since version 1.4, turtles have been able to interact with the "physical" world by mining and placing blocks and attacking with weapons. The release of version 1.42 for Minecraft 1.3.2 allowed printing on paper, and since version 1.45 advanced variants of blocks have become available. Version 1.5.1 introduced wireless communication via modems, and the mod was ported to Minecraft 1.5.

ComputerCraftEdu
Since 2014, Ratcliffe has been working on a version of the mod aimed at education; ComputerCraftEdu. On July 1, 2015, he launched this variant of the mod, which, like Minecraft: Education edition, aimed to provide additional possibilities for applications in education. This variant was developed together with TeacherGaming, a project to use gaming to teach students concepts such as logic and programming. This educational mod differs from the standard mod, providing features that allow teachers to easily control and reset turtles, while co-programming them with or by children.

Open-sourcing
The last update Ratcliffe released is ComputerCraft version 1.79 for Minecraft 1.8.9, published on April 1, 2016. On May 1, 2017, Ratcliffe announced to make the mod's source code publicly available on GitHub under its own, rather controversial licence; the ComputerCraft Public License (CCPL). This allowed others to copy, modify, extend and update the mod to new Minecraft versions. Users could submit their changes to the mod via a pull request, after which these changes could be included into the original mod under the supervision of Ratcliffe.

Forks
The last time Ratcliffe accepted a pull request to his mod happened on May 26, 2019. Out of dissatisfaction within the community of Minecraft players interested in ComputerCraft, various forks have emerged in the years since, such as CC: Restitched and CC: Tweaked. The most famous fork, CC: Tweaked, was developed as a collaborative project led by Jonathan Coates, also known under the pseudonym SquidDev. The CC: Tweaked mod has been downloaded over 19 million times in total until March 2022.

CraftOS
CraftOS is the "operating system" that comes preinstalled on all computer blocks by default. This basic operating system, which itself is written in Lua, is very similar to MS-DOS. It supports a handful of generic commands and programs such as,  ,  ,   and   that can be used, for example, to interact with the virtual file system and the internet. In addition, there is a generic text editor available, which can be opened via. Furthermore, it is possible to invoke an interactive REPL (Read-eval-print loop) via, which makes it possible to type in code that will be executed immediately. It is not possible to change or remove this operating system, but players are free to develop their own shell that can be built over CraftOS as they wish.

Blocks and items
The ComputerCraft mod adds various blocks and items to the game. Many blocks and items have standard and advanced versions available, with the standard version being gray and the advanced versions gold. Advanced versions of blocks and items often offer more functionality or possibilities compared to the standard versions.

Computers
A computer block is one of the most recognisable blocks that the mod adds to Minecraft. The player can interact with this block through a display that resembles a computer terminal. When a new computer block is placed, it will automatically contain the virtual operating system CraftOS. In addition to keyboard input, the advanced version of this block also supports mouse input and a color display with 16 colors, instead of grayscale.

Turtles
A turtle is a mobile computer block; a kind of programmable robot. A turtle can move itself using fuel such as lava, coal, or other flammable Minecraft items. Turtles can be programmed and used like normal computer blocks, but have a smaller screen and a small amount of "physical" storage (inventory) for blocks and items from the game. In addition, turtles can be equipped with tools and weapons such as pickaxes and swords to mine blocks and kill monsters.

Monitors
Monitor blocks can be joined together to build larger rectangular or square screens that can span multiple blocks. These screens can display texts and images in the virtual world of Minecraft, without a player having to click on a block first. The advanced monitor supports "touch" input and color display in 16 colors.

Peripherals
Various peripherals are available such as floppy disk drives to read and write from floppy disks, printers to print paper pages, and modems to enable wireless communication and location determination by triangulation.