Minecraft Wiki
Advertisement

Vorlage:Modinfo

CCpcT

Links ein Eingeschalteter Computer + Modem - Rechts eine MiningTurtle

ComputerCraft ist eine Mod für Minecraft (SSP & SMP) welche mehrere Programmierbare Blöcke und Items hinzufügt. Diese Blöcke sind hauptsächlich Computer, DiskDrives und Turtles. Im Spiel kann man auf den Computern und die Turtles mit der Programmiersprache "LUA" Programme schreiben und Speichern.
ComputerCraft dient dann sozusagen als Interpreter der das LUA-Programm über die Computer/Turtles in Minecraft mit einbindet.

Allgemeines

Mit ComputerCraft lassen sich auf einfache Weise kleine Projekte wie Passwort-Schlössern bis hin zu großen Betriebssystemen für Anlagen mit BuildCraft oder RedPower2 realisieren. Das vorteilhafte an ComputerCraft ist, dass die Programme in LUA geschrieben sind.
LUA ist eine ähnliche Programmiersprache wie BASIC, also eine leicht zu erlernende und aus wenig Schlüsselwörter bestehende Programmiersprache.
LUA können sie Hier lernen. Weiter unten sind die API's und der Umgang mit der Programmiersprache und den Computern/Turtles erklärt.

Konflikte

Computercraft ist nicht mit Optifine HD_C2 kompatibel.

Computer

CC-ComputerInterface

Ein ComputerInterface mit eingebenen "help"-Befehl

Der Computer ist das übliche Hilfsmittel um seine Projekte stationär umzusetzen.
Computer lassen sich mit einem Rechtsklick öffnen und bieten einem danach eine Konsole. In diese kann man wie in der Windows-CMD Befehle eingeben. Eine Übersicht aller Befehle oder Hilfsseiten kann man sich anzeigen lassen indem man den Befehl "help" in die Konsole eingibt.

Neue Programme/Dateien lassen sich mit dem Befehl "edit <DATEINAME>" schreiben.
Nach eingabe des Befehles öffnet sich ein fast leeres Fenster in welches der Dateiinhalt geschrieben werden kann. Nach Abschluss seiner Tätigkeiten kann man die Datei abspeichern oder das Fenster ohne zu speichern verlassen. Dazu drückt man einfach die Vorlage:Key-Taste und wählt mit den Tasten Vorlage:Key und Vorlage:Key die gewünschte Option an und Drückt Vorlage:Key.

Dateien lassen sich im nachhinein immer noch bearbeiten, indem man den Befehl "edit <DATEINAME>" wiederholt.
Man kan sich alle auf dem Computer vorhandenen Dateien oder Verzeichnisse mit dem befehl "dir" oder "ls" anzeigen lassen.
Das Verzeichnis kann man mit dem Befehl "cd <VERZEICHNISNAME>" ändern.
Dateien lassen sich auch einfach ausführen indem man nur ihren Dateinamen in die Konsole eingibt. Sind es aber reine Textdateien, bekommt man einen SYNTAX-Error.
Außerdem kann man den Computer mit der Vorlage:Key jederzeit verlassen. Dabei wird keine Eingabe in die Konsole, bearbeitung einer Datei oder ein laufendes Programm gestoppt, sondern der Computer läuft ganz normal weiter.

CC-DiskDriveInterface

Ein Diskettenlaufwerk, per Rechtsklick geöffnet

Diskdrives

Die Diskettenlaufwerke dienen zur Übertragung von Dateien auf Disketten oder auch andersrum.
Sobald man per Rechtsklick das Diskettenlaufwerk öffnet, erscheint ein Inventar mit einem Slot. In diesen Slot können Disketten oder Schallplatten gelegt werden.
Das ist aber ohne einen nebenstehenden Computer nutzlos. Sobald man ein Diskettenlaufwerk neben einem Computer platziert, kann man schon mehr mit diesen Features anfangen.

  • Man kann das Label einer Diskette umbenennen
  • Man kann die Diskette mit dem Befehl "cp <DATEINAME> disk/<DATEINAME>" mit auf dem Computer abgespeicherten Dateien beschreiben (Dateien von der Diskette auf den PC lassen sich mit "cp disk/<DATEINAME> <DATEINAME>" Kopieren)
  • Man kann eingelegte Schallplatten abspielen
CC-TurtleGross

Eine Mining-Turtle mit Modem

Turtles

Turtles sind grob das gleiche wie ein Computer. Ausnahme hier ist, dass Turtles (je nach Turtle-Art) sich fortbewegen, Blöcke abbauen, Blöcke plazieren, Blöcke vergleichen oder Blöcke "Erkennen" können.
Dazu wurden extra für Turtles neue API's und Programme hinzugefügt. Auch die Ordnerstrucktur im ".minecraft\mods\ComputerCraft\lua\rom\programs" - Ordner wurde in Computer und Turtles gesplittet. Das ermöglicht, Programme nur für Turtles/nur für Computer zugänglich zu machen. Aber alle Programme die sich in dem oben genannten Pfad befinden, sind für beide zugänglich.
Auch wurden vom Entwickler ein paar Programme für Turtles hinzugefügt.
Die API's sind unten im Programmier-Abschnitt aufgelistet.

Crafting

Name Crafting Funktion
Computer Datei:CC-Computer.png Der Computer ist das Haupt-/Grundelement von ComputerCraft.
Mit ihm lassen sich Programme schreiben, bearbeiten und ausführen.
Diskdrive Datei:CC-DiskDrive.png Das Diskdrive (Dt.: Diskettenlaufwerk) wird dazu benutzt, Programme/Dateien zwischen
Computer und Diskette auszutauschen.
Disk Datei:CC-Disk.png Auf einer Disk (Dt.: Diskette) werden Programme/Dateien gespeichert um
diese auf andere Computer/Turtles zu übertragen.
Monitor Datei:CC-Monitor.png Der Monitor zeigt Text für alle Spieler sichtbar ausserhalb der Computer-Konsole an. Ein Monitor kann eine beliebige grösse haben.
Wireless-Modem Datei:CC-WirelessModem.png Mittels eines Wireless-Modems können zwei oder mehrere Computer drahtlos Kommunizieren.
(Standard-Reichweite des Modems: 64 Blöcke, bei Regen: 16 Blöcke - Ist aber in der Config-Datei einstellbar)
Turtle Datei:CC-Turtle.png Ein Turtle (Dt.: Schildkröte) ist ein Roboter. Es kann sich bewegen, es hat einen Inventar, es kan Blöcke bauen und es kann Blöcke in der Spielwelt mit Items aus seinem Inventar vergleichen.
Wireless Turtle Datei:CC-ModemTurtle.png Das Wireless Turtle hat die selben Funktionen wie ein normales Tuttle. Zusätzlich verfügt es aber noch über ein Wireless-Modem.
Mining Turtle Datei:CC-MiningTurtle.png Zusätzlich zu den mormalen Funktionen kann ein Mining Turtle auch Blöcke abbauen.

Die Programmierung

Die Programme in ComputerCraft werden in LUA geschrieben.
Lua ist (wie oben genannt) eine ähnliche Programmiersprache wie BASIC, die einfach zu erlernen ist und wenig Schlüselwörter besitzt.
In diesem Abschnitt möchte ich nur die Programmierung mit den Computern/Turtles im Bezug auf die API's (Englisch: application programming interface (API), Deutsch: „Schnittstelle zur Anwendungsprogrammierung“) erklären.
Ich setze voraus dass sie bereits die Website Lua für Anfänger besucht und sich mit LUA vertraut gemacht haben. Notfalls sind hier die benötigten Befehle auch grob erklärt. (Eventuell wird später auch noch ein Crashkurs für LUA hinzugefügt)

Die Grundlagen

CC-GrundlagenPasswortSchloss

Man setzt dem Computer neben eine Eisentür (Optional: Die Redstone-Lampe)

Wir beginnen mit einem einfachen Passwort-Schloss, welches eine Eisentür neben dem Computer für eine bestimmte Zeitintervall bei richtiger Passworteingabe öffnen soll.
Noch ein kurzes Vorwort, Computer sind im ablauf sehr Penibel. Tippfehler nehmen sie einem sofort übel und melden sich mit einer Error-Meldung beim Benutzer.

1. Zuerst craften wir einen Computer und plazieren ihn neben einer Eisentür an ein eventuell schon stehendes Haus.
2. Wir öffnen den Computer per Rechtsklick und bearbeiten die Datei "startup" mit dem Befehl "edit startup
" (sobald eine Datei auf einem Terminal "startup" heißt, wird sie nach starten des Computers sofort ausgeführt)
3. Jetzt fängt das Programmieren an, sie schreiben jetzt in die Datei folgenden Code (Die Texte mit den "--" davor sind nur Kommentare! diese müssen also nicht abgeschrieben werden!):

 local passwort = "schinken"      -- Hier wird in die Variable "passwort" der String "schinken" eingesetzt (Nach belieben austauschbar)
 local door = "right"             -- Hier wird in die Variable "door" die Seite vom Computer eingetragen, an der sich die Tür befindet
 local warte = 3                  -- Hier wird die Tür-Offenhalte-Zeit eingetragen
 
 shell.run('clear')               -- Der Bildschirm wird gelöscht 
 os.pullEvent = os.pullEventRaw   -- STRG + T wird unterdrückt
 print("")                        -- eine Leerzeile wird hinzugefügt
 write(" Passwort: ")             -- Hier wird der eingeklammerte Text auf den Bildschirm "Gedruckt"
 eingabe = read("*")              -- Eine Eingabe erfolgt; Eingegebenes wird mit einem "*" Überblendet
 
 if eingabe == passwort then      -- Eine Abfrage; Es wird geprüft ob Eingabe = (oben festgelegtes) Passwort ist
   print(" Richtig! ")            -- Wieder eine Ausgabe an den Bildschirm
   rs.setOutput(door, true)       -- Es wird ein Redstone-Impuls an die Tür weitergegeben
   rs.setOutput("left", true)     -- OPTIONAL: Die RedstoneLamp wird "angeschaltet"
   sleep(warte)                   -- Es wird solange wie oben festgelegt gewartet
   rs.setOutput(door, false)      -- Die Tür wird wieder geschlossen
   rs.setOutput("left", false)    -- OPTIONAL: Die RedstoneLamp wird "abgeschaltet"
 else                             -- Abfragebedingung was passiert, wenn die Eingabe eine andere ist
   print(" Falsches Passwort! ")  -- Eine Ausgabe an den Bildschirm
   sleep(2)                       -- Es wird 2 Sekunden gewartet
 end                              -- Abfragekonstruktion- Ende
 os.shutdown()                    -- Der Computer schaltet sich ab


4. Sie drücken nun Vorlage:Key und wählen [Save] aus und drücken Vorlage:Key
5. Sie drücken nun Vorlage:Key und wählen [Exit] aus und drücken Vorlage:Key damit verlassen sie das Bearbeitungsinterface.
6. Sie geben in den PC den Befehl "shutdown" ein und schließen den Computer.
7. Nun wird sich beim nächsten mal der Computer mit einer Abfrage auf das Passwort öffnen. Ist dieses Richtig wird die Tür für 3 Sekunden geöffnet und der PC schaltet sich ab.

Der Umgang mit DiskDrives

Hier wird demnächst etwas folgen

Der Umgang mit Turtles

Hier wird demnächst etwas folgen

Vorlage:Mods

Advertisement