Das offizielle Minecraft Wiki twittert hier: Wiki-Twitter   Noch keinen Server gefunden? Es gibt einen Wiki-Server

Mod/ComputerCraft

Aus Minecraft Wiki
< Mod
Wechseln zu: Navigation, Suche
Achtung.svg Diese Seite wird vom Minecraft Wiki nicht auf inhaltliche Richtigkeit geprüft.
Diese Seite ist unvollständig.
Du kannst helfen, indem Du sie ergänzt. Fehlende Inhalte: Weitere Erläuterungen, Ergänzungen und (evtl.) einzelne Unterartikel zu den einzelnen Items, Blöcken und zur Programmierung, sowie grundsätzliche Aktualisierung auf die aktuellste Version.
ComputerCraft
ComputerCraftLogo.png
Autor

Dan200

Voraussetzungen

MinecraftForge

Mod-Version

1.79

Minecraft-Version

Vollversion 1.8.9

Eigenes Wiki

ComputerCraft Wiki

Downloadlink

Forum
Offizielle Website

Links ein eingeschalteter Computer mit Modem - Rechts eine Mining Turtle

ComputerCraft ist eine Mod für Minecraft (SSP & SMP), welche mehrere programmierbare Blöcke und Gegenstände hinzufügt. Diese Blöcke sind hauptsächlich Computer, Diskettenlaufwerken und Turtles ("Schildkröten"). Im Spiel kann man auf den Computern und den 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[Bearbeiten | Quelltext bearbeiten]

Mit ComputerCraft lassen sich auf einfache Weise kleine Projekte wie Passwort-Schlösser 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. Weiter unten sind die APIs und der Umgang mit der Programmiersprache und den Computern/Turtles erklärt.

ComputerCraft ist enthalten in folgenden ModPacks:

  • Tekkit Lite
  • FTB TechWorld2
  • Blightfall
  • und mehr...

Konflikte[Bearbeiten | Quelltext bearbeiten]

Mit älteren Versionen von Computercraft und Optifine gab es Anzeigenprobleme. Die aktuelle Version sollte mit Optifine HD_U_B4 kompatibel sein.

Blöcke und Gegenstände[Bearbeiten | Quelltext bearbeiten]

Computer[Bearbeiten | Quelltext bearbeiten]

Ein ComputerInterface mit eingebenen "help"-Befehl

Der Computer ist das Haupt-/Grundelement von ComputerCraft. Mit ihm lassen sich Programme schreiben, bearbeiten und ausführen.

Benutzung[Bearbeiten | Quelltext bearbeiten]

Computer lassen sich mit einem Rechtsklick öffnen und bieten einem danach eine Konsole. In diese kann, man wie in der Windows-Eingabeaufforderung (CMD), Befehle eingeben. Eine Übersicht aller Befehle oder Hilfsseiten kann man sich anzeigen lassen, indem man den Befehl "help" in die Konsole eingibt.

Programme oder Dateien lassen sich mit dem Befehl "edit <DATEINAME>" erstellen bzw. bearbeiten.

Nach Eingabe des Befehles wird der Programmcode angezeigt, den man nun bearbeiten kann. Nach Abschluss seiner Tätigkeiten kann man die Datei abspeichern oder den Code, ohne zu speichern, verlassen. Dazu drückt man die Strg-Taste und wählt mit den Tasten und die gewünschte Option an und drückt ↵ Eingabe.

Man kann sich alle auf dem Computer vorhandenen Dateien oder Verzeichnisse mit dem Befehl "dir" oder "ls" anzeigen lassen und mit dem Befehl "cd <VERZEICHNISNAME>" kann man sein aktuelles Verzeichnis wechseln. Programme lassen sich ausführen, indem man ihren Programmnamen in die Konsole eingibt. Sind es aber reine Textdateien, lässt sich das Programm wegen eines Syntax-Fehlers nicht starten.

Den Computer kann man durch Drücken der ESC-Taste jederzeit verlassen. Dabei wird nichts in die Konsole eingegeben, die Bearbeitung einer Datei oder ein laufendes Programm gestoppt, sondern der Computer läuft ganz normal weiter. Zum Herunterfahren muss man den Befehl "shutdown" eingeben oder die Tastenkombination Strg+S drücken, außerdem kann man den Computer durch den Befehl "restart" oder durch Drücken von Strg+R neustarten. Zum Beenden eines Programmes kann man, insofern diese Tastenkombination vom Programm nicht unterdrückt wird, Strg+T drücken. Jede der oben genannten Tastenkombinationen muss man mindestens eine Sekunde lang gedrückt bleiben.

Der Advanced Computer[Bearbeiten | Quelltext bearbeiten]

Der Advanced Computer (deutsch: erweitert) kann zusätzlich zum normalen Computer Farben darstellen und unterstützt die Navigation durch Maus, nicht nur durch Tastatur.

Der Command Computer[Bearbeiten | Quelltext bearbeiten]

Der Command Computer kann Minecraft-Befehle ausführen und ist deshalb nur für Spieler mit Operator-Rechten verfügbar.
Commandcomputer.png

Rezepte[Bearbeiten | Quelltext bearbeiten]

Name Zutaten Eingabe » Ausgabe Bilder
Computer Stein
Redstone
Glasscheibe
Grid Layout Pfeil (klein).png ComputerCraft:Computer
ComputerOn (ComputerCraft).pngComputerOff (ComputerCraft).png
Advanced
Computer
Goldbarren
Redstone
Glasscheibe
Grid Layout Pfeil (klein).png ComputerCraft:Advanced Computer
AdvComputerOn (ComputerCraft).pngAdvComputerOff (ComputerCraft).png

Turtles[Bearbeiten | Quelltext bearbeiten]

Eine Mining Turtle mit Wireless Modem

Turtles ("Schildkröten") sind Roboter. Turtles haben ein eigenes Inventar, können sich fortbewegen, Blöcke in der Spielwelt mit Gegenstände aus dem Inventar vergleichen, Blöcke "erkennen" und (je nach Turtle-Art) Blöcke abbauen, Blöcke platzieren und Kreaturen oder Spieler schlagen.

Dazu wurden extra für Turtles neue APIs und Programme hinzugefügt. Auch die Ordnerstruktur 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 APIs sind unten im Programmier-Abschnitt aufgelistet.

Allgemeine Turtle-Varianten[Bearbeiten | Quelltext bearbeiten]

Es gibt viele Arten von Turtles. Jede der folgenden ist mit den anderen kombinierbar. Für eine vollständige Liste ohne Beschreibung siehe hier.

Name Bild Beschreibung
Mining Turtle
Hier fehlt ein Bild.
Kann alle Materialen abbauen und wird daher häufig zur automatischen Erzsuche genutzt.

Bilder[Bearbeiten | Quelltext bearbeiten]

Rezepte[Bearbeiten | Quelltext bearbeiten]

Diese Seite ist unvollständig.
Du kannst helfen, indem Du sie ergänzt. Fehlende Inhalte: Rezepte.
Name Bild Beschreibung
Hier fehlt ein Text.
Hier fehlt ein Bild.
Hier fehlt ein Text.

Diskettenlaufwerke[Bearbeiten | Quelltext bearbeiten]

Inventar eines Diskettenlaufwerkes

Das Diskettenlaufwerk wird dazu benutzt, Programme oder Dateien zwischen Computer und einer Diskette auszutauschen.

Disketten[Bearbeiten | Quelltext bearbeiten]

Auf einer Diskette werden Programme oder Dateien gespeichert, um diese auf andere Computer/Turtles zu übertragen. Dazu benötigt man: Ein Diskettenlaufwerk, und eine Diskette

Benutzung[Bearbeiten | Quelltext bearbeiten]

Sobald man per Rechtsklick das Diskettenlaufwerk öffnet, erscheint ein Inventar mit nur einem Slot. In dieses Inventar können Disketten oder Schallplatten gelegt werden. Dies ist allerdings 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

Rezepte[Bearbeiten | Quelltext bearbeiten]

Name Zutaten Eingabe » Ausgabe Bilder
Diskettenlaufwerk Stein
Redstone
Grid Layout Pfeil (klein).png ComputerCraft:Disk Drive
Ein Diskettenlaufwerk
Diskette Redstone

Papier


Grid Layout Pfeil (klein).png ComputerCraft:Disk






Grid Layout Formlos.png

Drucker[Bearbeiten | Quelltext bearbeiten]

Der Drucker ermöglicht es Seiten vielfach zu erstellen, nützlich auf Servern für z.B. die Serverbeschreibung.

Zugleich ist es mit dem Drucker möglich in verschieden Farben zu Drucken.

Gedruckte Seiten[Bearbeiten | Quelltext bearbeiten]

Man kann mehrere gedruckte Seiten zu einem Stapel gedruckter Seiten verbinden. Die Reihenfolge der Seiten wird dabei über das Hineinlegen an der Werkbank (Links oben nach rechts unten) festgelegt.

Gedruckte Bücher[Bearbeiten | Quelltext bearbeiten]

Ebenfalls kann man mehrere gedruckte Seiten - auch zusammen mit einem Stapel gedruckter Seiten zu einem gedruckten Buch verbinden. Im Gegensatz zu den gedruckten Seiten hat es einen Rand aus Leder und ist nicht mehr veränderbar.

Rezepte[Bearbeiten | Quelltext bearbeiten]

Name Zutaten Eingabe » Ausgabe Bilder
Drucker Stein
Redstone
Tintensack
Grid Layout Pfeil (klein).png ComputerCraft:Printer
Ein Drucker
Gedruckte Seiten Gedruckte Seite
Gedruckte Seiten
Faden

ComputerCraft:Printed Pages
ComputerCraft:Printed PageComputerCraft:Printed Pages
ComputerCraft:Printed Pages
Grid Layout Pfeil (klein).png ComputerCraft:Printed Pages
ComputerCraft:Printed Page ComputerCraft:Printed PageComputerCraft:Printed Page
ComputerCraft:Printed Page

ComputerCraft:Printed Page
Grid Layout Formlos.png
Gedrucktes Buch Gedruckte Seite
Gedruckte Seiten
Faden
Leder
ComputerCraft:Printed PageComputerCraft:Printed Pages ComputerCraft:Printed PageComputerCraft:Printed Pages ComputerCraft:Printed PageComputerCraft:Printed Pages Grid Layout Pfeil (klein).png ComputerCraft:Printed Book
ComputerCraft:Printed Page ComputerCraft:Printed Page
ComputerCraft:Printed Page



Grid Layout Formlos.png

Monitor[Bearbeiten | Quelltext bearbeiten]

Der Monitor zeigt Text für alle Spieler sichtbar außerhalb der Computer-Konsole an. Ein Monitor kann eine beliebige Größe haben. Angesprochen werden kann der Monitor wenn er neben einem Computer platziert wird.

Advanced Monitor[Bearbeiten | Quelltext bearbeiten]

Der Advanced Monitor (deutsch: erweiterter Monitor) kann zusätzlich zum normale Monitor Farben darstellen und unterstützt die Navigation durch das Fadenkreuz, ist also ein Touch-Screen.

Rezepte[Bearbeiten | Quelltext bearbeiten]

Name Zutaten Eingabe » Ausgabe Bilder
Monitor Stein
Glasscheibe
Grid Layout Pfeil (klein).png ComputerCraft:Monitor
Ein Monitor
Advanced
Monitor
Goldbarren
Glasscheibe
Grid Layout Pfeil (klein).png ComputerCraft:Advanced_Monitor4
Ein Advanced Monitor

Crafting[Bearbeiten | Quelltext bearbeiten]

Name Zutaten Eingabe » Ausgabe Beschreibung
Wired Modem Stein
Redstone
Grid Layout Pfeil (klein).png ComputerCraft:Wired Modem
Mittels eines Wired Modems können Geräte per Networking Cable kommunizieren. Dazu wird das Modem einfach an der Seite des entsprechenden Gerätes platziert. Beispiel: Computer mit Wired Modem:

WiredModemComputer (ComputerCraft).png

Networking Cable Stein
Redstone


Grid Layout Pfeil (klein).png ComputerCraft:Networking Cable


Networking Cable werden benötigt, um Wired Modems miteinander zu verbinden. Beispiel: ein Diskettenlaufwerk und ein Computer, an denen jeweils ein Wired Modem befestigt ist, sind über ein Networking Cable verbunden:

NetworkingCable (ComputerCraft).png

Wireless Modem Stein
Enderperle
Grid Layout Pfeil (klein).png ComputerCraft:Wireless-Modem
Mittels eines Wireless Modems können zwei oder mehrere Computer drahtlos kommunizieren. Beispiel: Computer mit Wireless Modem:

WirelessModemComputer (ComputerCraft).png
(Standard-Reichweite des Modems: 64 Blöcke, bei Regen: 16 Blöcke - ist aber in der Config-Datei einstellbar) (Vor Version 1.51 statt der Enderperle eine Redstone-Fackel)

Turtle Eisen
Computer
Truhe
Grid Layout Pfeil (klein).png ComputerCraft:Turtle
ComputerCraft:Computer
Eine Turtle ("Schildkröte") ist ein Roboter. Sie kann sich bewegen, sie hat ein Inventar, sie kann Blöcke bauen und sie kann Blöcke in der Spielwelt mit Items aus ihrem Inventar vergleichen.
Wireless Turtle Wireless-Modem
Turtle
ComputerCraft:Wireless-Modem ComputerCraft:Turtle
Grid Layout Pfeil (klein).png ComputerCraft:Wireless Turtle






Grid Layout Formlos.png
Die Wireless Turtle hat die selben Funktionen wie eine normale Turtle. Zusätzlich verfügt sie aber noch über ein Wireless-Modem.
Mining Turtle Turtle
Diamantspitzhacke
ComputerCraft:Turtle
Grid Layout Pfeil (klein).png ComputerCraft:Mining Turtle






Grid Layout Formlos.png
Zusätzlich zu den normalen Funktionen kann eine Mining Turtle auch Blöcke abbauen.
Advanced Turtle Gold
Advanced Computer
Truhe
Grid Layout Pfeil (klein).png ComputerCraft:Advanced Turtle
ComputerCraft:Advanced Computer
Eine Advanced Turtle (deutsch: erweitert) kann zusätzlich zur normalen Turtle Farben darstellen.
Advanced Wireless Turtle Wireless-Modem
Advanced Turtle
ComputerCraft:Wireless-Modem ComputerCraft:Advanced Turtle
Grid Layout Pfeil (klein).png ComputerCraft:Advanced Wireless Turtle






Grid Layout Formlos.png
Die Advanced Wireless Turtle hat dieselben Funktionen wie eine Advanced Turtle. Zusätzlich verfügt sie aber noch über ein Wireless-Modem.
Advanced Mining Turtle Advanced Turtle
Diamantspitzhacke
ComputerCraft:Advanced Turtle
Grid Layout Pfeil (klein).png ComputerCraft:Advanced Mining Turtle






Grid Layout Formlos.png
Zusätzlich zu den Funktionen einer Advanced Turtle kann eine Advanced Mining Turtle auch Blöcke abbauen.

Die Programmierung[Bearbeiten | Quelltext bearbeiten]

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üsselwörter besitzt. In diesem Abschnitt möchte ich nur die Programmierung mit den Computern/Turtles im Bezug auf die APIs (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[Bearbeiten | Quelltext bearbeiten]

Man setzt den 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 platzieren 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. Wir 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 lamp = "left"              -- Hier wird in die Variable "lamp" die Seite vom Computer eingetragen, an der sich die Lampe 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  //passwort ohne ""
   print(" Richtig! ")            -- Wieder eine Ausgabe an den Bildschirm
   rs.setOutput( door, true )     -- Es wird ein Redstone-Impuls an die Tür weitergegeben
   rs.setOutput( lamp, 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( lamp, 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. Wir drücken nun Strg, wählen [Save] aus und drücken ↵ Eingabe

5. Wir drücken nun Strg, wählen [Exit] aus und drücken ↵ Eingabe. Damit verlassen wir das Bearbeitungsinterface.

6. Wir geben in den Computer 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 drei Sekunden geöffnet und der Computer schaltet sich ab.

8. Durch Drücken von Strg + T kann man laufende Programme terminieren (beenden). Dies ist in der Testphase wichtig. Wenn das Programm fertig ist und funktioniert, soll es jedoch nicht mehr an beliebiger Stelle unterbrochen werden können. Um das zu verhindern, fügt man in den Code "os.pullEvent = os.pullEventRaw" ein. Aber Achtung: Wenn man das macht, kannst man das Programm nicht mehr beenden!

Endlos funktionierende Variante:

 os.pullEvent = os.pullEventRaw                -- Sorgt dafür, dass man das Programm nicht terminieren kann
 while true do                                 -- Wiederholt die nachfolgenden Anweisungen endlos
   term.clear()                                -- Leert den Bildschirm
   term.setCursorPos(1, 1)                     -- Setzt den Cursor in die obere linke Ecke
   print("Bitte Password eingeben:")           -- Gibt Text aus
   input = read("*")                           -- Liest die Eingabe und speichert sie in der Variablen "input"
   if input == "password" then                 -- Prüft, ob die Eingabe des Passwortes richtig ist (in dem Fall "password")
     print("Das Passwort ist richtig!")        -- Gibt Antwort
     redstone.setOutput("right", true)         -- Öffnet die Tür auf der rechten Seite (gibt Redstone Signal aus)
     sleep(2)                                  -- Das Programm wartet 2 Sekunden
     redstone.setOutput("right", false)        -- Schließt die Tür auf der rechten Seite (schließt das Redstone Signal)
   else                                        -- andernfalls, also wenn die Eingabe des Passwortes nicht richtig ist
     print("Das Password ist falsch!")         -- Gibt Antwort
     sleep(2)                                  -- Das Programm wartet 2 Sekunden
   end                                         -- Abfragekonstruktion- Ende
 end                                           -- Schleifenanweisung-Ende und weiter beim "while" (siehe oben)

Der Umgang mit DiskDrives[Bearbeiten | Quelltext bearbeiten]

Mit Disk Drives kann man Floppy Disks Lesen

Der Umgang mit Turtles[Bearbeiten | Quelltext bearbeiten]

Hier wird demnächst etwas folgen