ComputerCraft

ComputerCraft

Computers, Programming and Robotics in Minecraft


About ComputerCraft

ComputerCraft is a modification for Minecraft that’s all about computer programming. It allows you to build in-game Computers and Turtles, and write programs for them using the Lua programming language. The addition of programming to Minecraft opens up a wide variety of new possibilities for automation and creativity. If you’ve never programmed before, it also serves as excellent way to learn a real world skill in a fun, familiar environment.

Visit the official ComputerCraft Website to Download ComputerCraft

ComputerCraft is funded by donations and merchandise. If you enjoy the mod, please consider making a donation, or buying a 3D printed pet turtle! The more I get, the more time I can afford to spend making the mod even better!



Original thread lies below:

Introducing ComputerCraft!




ComputerCraft is a Minecraft mod (with full multiplayer support) that adds in-game Computers. Each Computer has an operating system, a filesystem, a suite of builtin programs (including a text editor, a realtime Lua interpreter, and two games), and can be programmed to do anything you want with the easy-to-use Lua programming language. Computers can interact with redstone wiring and bundled cables from the RedPower2 mod, meaning they can be used to fully automate and control your worlds. With peripheral devices, the capabilities of computers can be expanded further, with Disk Drives adding the ability to transfer files between computers and play music, Wireless Modems adding Wireless Networking between machines, Monitors adding external large external displays and Printers adding printing capabilities.

But that's not all!


Version 1.3 adds a new block to ComputerCraft: The Turtle. The Turtle is a small, portable robot, that can be programmed just as Computers, but with the added ability to move around the world, placing and destroying blocks as it goes. A Turtle with the right programs can be used to build structures, kill monsters, mine resources, dig tunnels, control redstone on the move, craft, move and sort items, and a million and one things I haven't thought of yet. The machines have risen.

Since the release of 1.0, many prominent mod reviewers have recorded spotlight videos of ComputerCraft, and many talented players have recorded videos of their creations. Instead of cluttering up this thread with videos, here's some links to the best YouTube content:
[Mod Spotlights, Reviews and Tutorials]
[Best of ComputerCraft]

DOWNLOAD
Current version:
1.53 (for Minecraft 1.5.2) [MediaFire]

ComputerCraft is provided completely free, with no adf.ly! If you enjoy the mod and would like to show your appreciation, visit our donate page. Or if that's not your thing: order a 3D printed Computer or Turtle from our shapeways store! All proceeds support the future development of the mod, plus they're really cool!

Old versions:
1.52 (for Minecraft 1.5.1) [MediaFire]
1.51 (for Minecraft 1.5) [MediaFire]
1.5 (for Minecraft 1.4.7 or 1.4.6) [MediaFire]
1.481 (for Minecraft 1.4.7 or 1.4.6) [MediaFire]
1.48 (for Minecraft 1.4.6) [MediaFire]
1.47 (for Minecraft 1.4.5 or 1.4.4) [MediaFire]
1.46 (for Minecraft 1.4.2) [MediaFire]
1.45 (for Minecraft 1.3.2) [MediaFire]
1.41 (for Minecraft 1.2.5) [Client] [Server]
1.33 (for Minecraft 1.2.5) [Client] [Server]

INSTALL
  1. Install [Minecraft Forge] version 601 or above for Minecraft 1.5.1
  2. Download ComputerCraft from one of the links above, and place it in the "mods" folder in your minecraft directory.
  3. You're done! You should now be able to run the game, and start crafting and placing computers.
  4. (Optional) If you wish to edit or add to the programs that come installed with ComputerCraft, create a new folder called "ComputerCraft" in your mods directory, extract ComputerCraft1.5.zip there, and delete the zip.
GET STARTED
First, build a Computer (or its Advanced counterpart):

Then right click on its screen to interact. You're now in the command prompt. Type "help" for an introduction, then type "programs" to see the list of programs you can run. Try running some of them. Type "help" followed by the name of a program to find out what it does. Don't miss "worm" and "adventure"! When you're ready to start creating your own programs, type "help programming" for advice on learning the Lua programming language, then use "edit" to create programs or "lua" to just start entering code. All the programs and APIs on the system have their own help pages.

Want more? Build a Disk Drive and Floppy Disks like so:

Place the disk drive next to the computer, put a disk into the drive, and access your computer again. Type "list", and you'll see that each Floppy Disk has it's own folder. Now you can use the "copy" or "move" commands to move your programs onto disks, and carry the disks around to transfer files between machines! For some light entertainment, try putting a record into a disk drive and running the "dj" application.

Computer Disk Drives too static for you? Maybe you're ready to craft some Turtles:





Access your Turtle like a computer, and you'll see the similarities. Turtles run programs just like Computers, but have access to new programs and a new API to make them move around and interact with the world. Add some coal to the turtle and fuel up your turtle with "refuel", then try experimenting with the "go", "excavate" or "craft" programs. To write your own turtle programs, use "lua" or "edit" just as with the computer, and call functions from the "turtle" API. There's a lot these little guys can do!

For truly advanced worlds, try building Wireless Modems and Wireless Turtles:

Attach your modem to your computer (sneak-click to place it on the side), or craft it together with a Turtle, and you now have devices that can use the "rednet" API to wirelessly send each other messages. This is one of the more advanced areas of the Mod, and requires programming, but anybody who's used the internet knows the potential of wireless communication.

New in ComputerCraft 1.31 is the Monitor peripheral, build it like so:

Build lots of monitor blocks, and place them together, and you will see they expand to one contiguous display. If your computer is touching the display, it can be programmed to draw text to this screen, which will be visible to anyone who walks past. Try the monitor out by running the "monitor" program, like "monitor left hello". Try to find the secret program added in 1.31 designed especially for monitors!

New in ComputerCraft 1.42 is the Printer:

Place a printer down next to your computer, supply it with paper and ink, or dye of any colour, and print messages for your friends! Either interact with the printer yourself using lua, or print documents using the "edit" program! Try feeding a printed page back into the input and changing the ink to print in different colours!

That covers the basic features of ComputerCraft, and the potential for amazing automated creations should be clear. Visit the forums at http://www.computercraft.info for help with Lua, programming, and to view and download programs and creations created by the community. If you make anything cool yourself, remember to share it with the world!

VERSION HISTORY
For the full list of program and API changes, type "help whatsnew" at any computer ingame.

1.53
  • Ported to Minecraft 1.5.2
  • rs.setBundledOutput() and rs.getBundledOutput() now work with cables from Minefactory Reloaded, as well as RedPower
  • Monitors and Advanced Monitors can now be placed on floors and ceilings
  • As always, plenty of bugfixes and stability improvements!
1.52
  • Ported to Minecraft 1.5.1
1.51
  • Ported to Minecraft 1.5
  • Added Wired Modems
  • Added Networking Cables
  • Made Wireless Modems more expensive to craft
  • New redstone API functions: getAnalogInput(), setAnalogOutput(), getAnalogOutput()
  • Peripherals can now be controlled remotely over wired networks
  • New peripheral API function: getNames()
  • New event: “monitor_resize” when the size of a monitor changes
  • Except for labelled computers and turtles, ComputerCraft blocks no longer drop items in creative mode
  • The pick block function works in creative mode now works for all ComputerCraft blocks
  • All blocks and items now use the IDs numbers assigned by FTB by default
  • Fixed turtles sometimes placing blocks with incorrect orientations
  • Fixed Wireless modems being able to send messages to themselves
  • Fixed turtle.attack() having a very short range
  • Various bugfixes
1.5
  • Redesigned Wireless Modems; they can now send and receive on multiple channels, independent of the computer ID. To use these features, interface with modem peripherals directly. The rednet API still functions as before.
  • Floppy Disks can now be dyed with multiple dyes, just like armour.
  • The “excavate” program now retains fuel in it’s inventory, so can run unattended.
  • turtle.place() now tries all possible block orientations before failing.
  • turtle.refuel(0) returns true if a fuel item is selected.
  • turtle.craft(0) returns true if the inventory is a valid recipe.
  • The in-game help system now has documentation for all the peripherals and their methods, including the new modem functionality.
  • A romantic surprise.
1.48
  • Ported to Minecraft 1.4.6
  • Advanced Monitors
  • Advanced Monitors are now easier to craft
  • Turtles now get slightly less movement from fuel
  • Turtles can now push items
  • Computers can now control Command Blocks, if enabled in the config
  • New API function: os.day()
  • A christmas surprise!
1.46
  • Ported to Minecraft 1.4.2
1.45
  • Added Advanced Computers
  • Added Advanced Monitors
  • New program: paint (by nitrogenfingers)
  • New API: paintutils
  • New API functions: term.setBackgroundColor( color ), term.setTextColor( color ), term.isColor(), turtle.transferTo( slot, [count] )
1.43
  • Added Printed Pages (use string to bind several Printed Page items into one)
  • Added Printed Books (add a leather cover to your Printed Pages to make books)
  • Labelled Turtles now keep their fuel when broken
  • Fixed incompatibility with Forge 275 and above
1.42
  • Ported to Minecraft 1.3.2 and the Forge mod system
  • Added Printers
  • Floppy Disks can now be dyed different colours
  • Wireless Crafty Turtles can now be crafted
  • All new textures
  • New Forge config file
  • Various tweaks and bug fixes
1.41
  • Fixed labelled Computers not keeping their data when destroyed
  • Fixed the “excavate” program outputting lots of spam
  • File system size limits now take into account empty files and directories
  • Some small changes to the Turtle Upgrade API ahead of it’s impending release
1.4
  • Ported to Forge Mod Loader
  • Added Farming, Felling, Digging, Melee, Crafty and 14 other combination types of Turtles
  • Labelled computers and turtles can now be upgraded into other turtle types without losing their data
  • Added an API for mod developers to create their own tools and peripherals for turtles (defails coming soon)
  • Turtles can now attack entities with turtle.attack(), and collect their dropped items
  • Turtles can now use turtle.place() with any item the player can, and can interact with entities
  • Turtles can now craft items with turtle.craft()
  • Turtles can now place items into inventories with turtle.drop()
  • Changed the behaviour of turtle.place() and turtle.drop() to only consider the currently selected slot
  • Turtles can now pick up items from the ground, or from inventories, with turtle.suck()
  • Turtles can now compare items in their inventories with turtle.compareTo()
  • Turtles can place signs with text on them with turtle.place( [signText] )
  • Turtles now optionally require fuel items to move, and can refuel themselves
  • Increased the size of the the turtle inventory and screen
  • New turtle programs: craft, refuel
  • The turtle “excavate” program is now much smarter: Will return items to a chest when full, attack mobs, and refuel itself automatically
  • Added optional Floppy Disk and Hard Drive space limits for computers and turtles
  • The send and receive range of wireless modems now increases with altitude, allowing long range networking from high-altitude computers (great for GPS networks)
  • Right clicking a Disk Drive with a Floppy Disk or a Record when sneaking will insert the item into the Disk Drive automatically
  • The default size of the computer screen has been increased
  • Lots of additions to existing APIs and programs. Type "help whatsnew" in game for the full details.
  • Several security, stability and bug fixes
1.33
  • Ported to Minecraft 1.2.5
  • Ported to Forge Mod Loader. No more ModLoaderMP!
1.32
  • Ported to Minecraft 1.2.4
  • Fixed a big memory leak in LuaJ that caused extra threads to stay around forever when computers were shutdown.
1.31
  • Ported to Minecraft 1.2.3
  • Added Monitors (thanks to Cloudy). Build huge external displays for your computers!
  • New positioning capabilities for computers and turtles. Build GPS networks and triangulate the positions of your turtles position so they never get lost!
  • New turtle.compare() function for turtles for more intelligent mining.
  • New programs and APIs: gps, monitor, vector
  • New program: pastebin (requires enableAPI_HTTP=1 in mod_ComputerCraft.cfg), upload and download programs made by other users ingame!
  • Added a new top secret program designed for use with Monitors, see if you can find it.
  • Lots of additions to existing APIs and programs. Type "help whatsnew" in game for the full details.
1.3
  • Ported to Minecraft Forge.
  • Added Turtles, Mining Turtles, Wireless Turtles and Wireless Mining Turtles (Block ID 209).
  • Added a Peripheral API to allow mod developers to create custom peripherals for ComputerCraft. Details on this will be posted in the next few days.
  • Added Wireless Modems. Use the rednet API to send data wirelessly between computers and turtles!
  • Computers and Disk Drives no longer get destroyed by water.
  • Computers and Turtles can now be labelled, destroyed, and moved around, keeping their state.
  • Computers and Turtles can connect to adjacent devices, and turn them on or off.
  • User programs now give line numbers in their error messages, for easier debugging.
  • New APIs and programs for Turtles: turtle, excavate, tunnel, go, turn and dance.
  • Lots of additions to existing APIs and programs. Type "help whatsnew" in game for the full details.
1.21
  • Ported to Minecraft 1.1
  • Added a new shortcut key Ctrl+S to shutdown the computer (hold down for 1 second).
  • Fixed a couple of semi-serious bugs and a couple more not-so-serious ones.
  • Added a help API so add-on pack developers can add extra help pages.
1.2
  • Added Disk Drives (Block ID 208) and Floppy Disks (Item ID 4000). Transfer files between computers!
  • Added shortcut keys to terminate the current program, and reboot the computer. Hold Ctrl+T and Ctrl+R respectively.
  • Added a new system for user created APIs. Added new "bit" and "colour" apis to make bundled cable programming easier.
  • Added rednet, a new API for using RedPower cables to send text between computers. Create the internet! This will be heavilly expanded in future versions.
  • Added shell.setPath() and shell.setAlias(), and a new rom startup script, to allow the creation of program addon packs.
  • Added os.clock(), os.time() and os.setAlarm(), to write programs that respond to the time of day.
  • New built in game: Worm!
  • New Programs: alias, apis, copy, delete, dj, drive, eject, id, label, list, move, reboot, redset, rename, time, worm.
  • New APIs: bit, colours, disk, help, rednet, parallel, textutils.
  • Text entered into the shell can now be edited more easilly with the left and right arrow keys.
  • Bug fixes and help system updates galore.
1.11
  • Fixed a bug where Computers could not read input from RedPower cables which had a bend in the immediately adjacent square.
1.1
  • Changed the default Block ID for the computer to 207.
  • Added complete Multiplayer support throughout.
  • Added connectivity with RedPower bundled cables if the RedPower mod is installed, allowing a full 96-bits of I/O per computer.
  • Added a HTTP api, enabled via the mod config, to allow computers to access the real world internet.
  • Fixed support for HD textures on the front of the computer.
  • Added command history to the shell, press up and down to navigate previously entered commands.
  • Added config options to change the size of the computer terminal, and the text colour.
  • Programs which spin in an infinite loop without yielding will no longer freeze minecraft, and will instead terminate after 10 seconds.
  • Extended the help, and fixed typos and small errors in various programs.
1.02
  • Fixed the MCPatcher HD Textures incompatibility that was causing the computer texture to replace cobblestone blocks.
1.01
  • Added a ModLoader configuration file, so the computers blockID can be changed.
  • Made the error message that displays when the lua files aren't installed correctly much more clear, no more "Assertion failed."
1.0
  • First release.
KNOWN ISSUES
  • If you join an SMP server with different Block IDs in config/ComputerCraft.cfg or config/CCTurtle.cfg than the server, your game may crash. To rectify this, delete the config files, or set the IDs to their default values.
  • Reloading the game or restarting a server while a Computer or Turtle is running a program will reset that program, unfortunately this is an unavoidable result of the Lua scripting engine used, can cannot be fixed. If you want a computer that always runs the same program, set it as the "startup" script.
LICENSE
I authorise and encourage people to create and distribute lua programs for ComputerCraft however they see fit (try the forums at computercraft.info!). I also give permission for ComputerCraft to be included in any and all mod packs, provided that the ComputerCraft files are included completely unmodified. If you include ComputerCraft in a popular modpack, please consider donating to the development of the mod.

No comments:

Post a Comment