| 0.16.0 (build 1) |
|
|---|---|
| Alpha 0.16.0 (build 2) |
|
| Vollversion 1.0.0 (0.17.0.1) |
|
Agent
| Dieser Inhalt ist nur für die Bedrock Edition und Minecraft Education. |
| Größe |
Breite: 0,8 Blöcke |
|---|---|
| Spawn |
Siehe Vorkommen |
| Drops |
Nichts |
| ID-Name |
learn_to_code_mascot |
| NBT-Daten |
Siehe Kreaturdaten |
Der Agent ist eine Kreatur, die nur in der Education Edition vorkommt. Für jeden Spieler gibt es normalerweise genau einen Agenten, er kann damit das Programmieren lernen, indem er den Agenten selbst programmiert. Dafür sind verschiedene Befehle verfügbar (siehe engl. Doku).
Die Objekt-ID des Agenten (learn_to_code_mascot) kann im Spiel nicht mittels Befehlen aufgerufen, bzw. angesprochen werden, weswegen Befehle den Agenten in keiner Weise beeinflussen.
Aussehen
[Bearbeiten | Quelltext bearbeiten]Der Agent ist eine kleine Kreatur, genau ein Block hoch. Vom Aussehen ähnelt er dem Eisengolem: Er hat überproportional lange Arme, eine Dorfbewohner-Nase und eine metallische Haut mit zwei Streifen auf dem Kopf. Im Gegensatz zum Eisengolem sind seine Beine ziemlich kurz. Der Agent besitzt außerdem auf seiner Vorderseite und seinem Rücken jeweils einen roten Punkt, der darauf hindeuten könnte, dass es sich um ein ferngesteuertes Wesen handelt.
Verhalten
[Bearbeiten | Quelltext bearbeiten]Der Agent wird ausschließlich über Befehle gesteuert. Deswegen verfügt er über keine KI. Wurde er in eine Welt geholt, steht er bewegungslos auf der Stelle. Lediglich sein Kopf zeigt gelegentlich in die Richtung eines nahen Spielers, um diesen anzuschauen.
Doch nicht nur die KI des Agenten scheint zu fehlen, er reagiert generell sehr unüblich auf seine Umgebung. So wird er nicht von der Schwerkraft beeinflusst. Entfernt man also den Block, auf dem er steht, bleibt er mitten in der Luft schweben. Dabei wippt er immer wieder auf und ab. Dieses Verhalten ist für seine Programmierung notwendig, da es Befehle gibt, um den Agenten nach oben oder unten zu bewegen.
Weiterhin erhält er niemals Schaden, weder durch den Angriff eines anderen Wesens, noch durch Umwelteinflüsse oder den Befehl /kill @e. Der Spieler kann den Agenten zwar schlagen, dieser schwingt dann auch kurz mit Armen und Beinen, genau wie es ein Eisengolem tut, doch er färbt sich nicht rot, wie es sonst üblich ist, wenn eine Kreatur Schaden erleidet. Außerdem steckt er unbegrenzt viele Schläge ein, was darauf schließen lässt, dass er über keine Gesundheit verfügt. Steht der Agent z. B. inmitten von Lava, passiert ihm nichts: Er sinkt nicht nach unten, fängt kein Feuer und nimmt keinen Schaden.
Neben der Steuerung mittels Befehlen kann der Agent von einem Kolben verschoben werden.
Bei der Interaktion mit dem Agenten öffnet sich dessen ein Inventar. Es ist genauso groß wie das einer einfachen Truhe, verfügt also über 27 Slots, in die der Agent Blöcke und Gegenstände aufnehmen und mit sich herumtragen kann. Oben links steht <Name des Besitzers>Agent als Bezeichnung des Inventars. Der Spieler kann sowohl manuell den Inhalt entnehmen bzw. etwas hinzufügen, als auch mit Befehlen darauf zugreifen.
Vorkommen
[Bearbeiten | Quelltext bearbeiten]Für den Agenten gibt es ein Spawn-Ei, mit er erschaffen werden kann. Da Befehle auf ihn keinen Einfluss haben, lässt er sich nicht mit dem Befehl /summon erschaffen. Er entsteht einmalig pro Spieler in jeder Welt, wenn das erste Mal mit dem zum Programmieren des Agenten genutzten Programms "Code Connection for Minecraft" eine Verbindung hergestellt wird. Es ist nicht möglich, mehr als einen Agenten zu haben, außer er befindet sich in einem Bereich, der z.B. mit einem Konstruktionsblock geklont wird.
Programmierung
[Bearbeiten | Quelltext bearbeiten]Der Sinn des Agenten besteht darin, ihn mit simplen Befehlen zu programmieren.
Befehle
[Bearbeiten | Quelltext bearbeiten]Obwohl der Agent eigentlich über den Code-Editor von der Minecraft Education Edition mit MakeCode, Python oder Tynker programmiert werden sollte, kann man ihn auch mit Befehlen in einem NPC steuern. Zum Erschaffen und Steuern eines Agenten sind die folgenden Befehle verfügbar (siehe engl. Befehlsreferenz):
teleportToPlayerAgenten erschaffen, indem er zum Spieler teleportiert wirdmove <direction> <distance>Bewegungturn <turnDirection>Drehungdetect <type> <direction>Erkennung eines zerstörbaren Blocks oder Redstone neben dem AgentensetAssist <type> true|falseAufgabe geben:- Mit jedem Schritt einen Block aus dem aktiven Inventarslot setzen
- Mit jedem Schritt einen Block aus irgendeinem Inventarslot setzen
- Ein Hindernis zerstören
place <direction>Block aus dem aktiven Inventarslot platzierendestroy <direction>Block abbauentill <direction>Erde in Ackerboden umwandelnattack <direction>AngreifensetSlot <slotNum>Aktiven Inventarslot festlegencollectAllAufsammeln aller Drops in der Nähecollect <item>Aufsammeln eines bestimmten Blockes oder Gegenstandesinspect <type> <direction>Liefert die Block-ID oder die Blockdatentransfer <quantity> <srcSlotNum> <dstSlotNum>Gegenstand im Inventar verschiebendrop <direction> <slotNum> <quantity>Fallenlassen eines Inventarinhaltsdropall <direction>Fallenlassen des gesamten Inventarsgetitemcount <slotNum>Liefert die Anzahl der Gegenstände in einem Inventarslotgetitemspace <slotNum>Liefert den restlichen freien Platz in einem Inventarslotgetitemdetail <slotNum>Liefert die Block- oder Gegenstand-ID in einem Inventarslot
Für <direction> können forward|back|left|right|up|down verwendet werden.
Python
[Bearbeiten | Quelltext bearbeiten]| Dieser Abschnitt ist nur für Minecraft Education. |
Syntax
[Bearbeiten | Quelltext bearbeiten]Im Code-Editor können folgende Befehle verwendet werden, um den Agent zu steuern:
agent.move(direction: str)
# Bewege den Agenten in eine bestimmte Richtung
agent.turn(turn_direction: str)
# Drehe den Agenten in eine bestimmte Richtung
agent.place(direction: str, slot: int)
# Platzieren einen Block aus dem Inventar des Agenten
agent.destroy(direction: str)
# Zerstöre den Block in eine bestimmte Richtung
agent.teleport(location: list[float], facing_location: list[float])
# Teleportiere den Agenten zu einer bestimmten Position
agent.say(message: str)
# Lasse den Agent etwas sagen
agent.attack(direction: str)
# Attacke in die gegebene Richtung ausführen
agent.collect(item: str)
# Items in der Nähe aufheben
agent.detect(direction: str, detect_type: str)
# Prüft, ob in der gegebenen Richtung ein Block ist
# Kann auch auf ein Redstone-Signal prüfen
agent.drop(direction: str, quantity: int, slot: int)
# Lässt einen oder mehrere Gegenstände aus dem Inventar des Agents fallen.
agent.get_item(slot: int) -> dict
# Gibt den Namen des Gegenstandes aus dem angegebenen Slot wieder.
agent.get_item_count(slot: int) -> int
# Gibt die Anzahl des Gegenstandes aus dem angegebenen Slot wieder.
agent.give(item: str, quantity: int, slot: int)
# Legt dem Agenten den angegebenen Gegenstand in der angegebenen Anzahl in den angegebenen Slot.
agent.inspect(direction: str)
# Gibt den Namen des Blocks in der gegebenen Richtung wieder
agent.interact(direction: str)
# Lässt den Agenten mit dem Block in der gegebenen Richtung interagieren
# Um Wasser in Blöcke zu füllen, wird die Methode agent.place() verwendet
agent.position: str
# Die Position des Agenten
# Kann ausgelesen und gesetzt werden
agent.rotation: str
# Die Rotation des Agenten
# Kann nur ausgelesen werden
agent.till(direction: str)
# verwandelt, wenn eine Hacke im Inventar ist, Erde zu Ackerboden
agent.transfer(source_slot: int, quantity: int, destination_slot: int)
# Verschiebt einen Gegenstand im Inventar des Agenten
Parameter
[Bearbeiten | Quelltext bearbeiten]direction: str
- In welche Richtung die Aktion ausgeführt werden soll.
- Kann einen der folgenden Werte haben:
- forward, back, left, right, up, down
turn_direction: str
- In welche Richtung sich der Agent drehen soll
- Kann einen der folgenden Werte haben:
- left, right
slot: int
- Die Slot-Nummer.
- Kann einer der 27 Slots (1-27) sein.
location: list[float]
- Die Position
- Ist eine Liste (list) mit 3 Einträgen, welche alle Kommazahlen (float) sind.
facing_location: list[float]
- Die Position, zu der der Agent gucken soll
- Ist eine Liste (list) mit 3 Einträgen, welche alle Kommazahlen (float) sind.
message: str
- Die Nachrichte, die in den Chat gesendet werden soll
- Dieser Wert ist eine Zeichenkette (str)
item: str
- Die ID des Gegenstandes, der aufgesammelt werden soll
- Dieser Wert ist eine Zeichenkette (str)
detect_type: str
- Die Art der Überprüfung des Blocks
- Dieser Wert ist entweder "block" oder "redstone"
- Standard: "block"
quantity: int
- Gibt die Anzahl der Gegenstände an
- Dieser Wert ist eine ganze Zahl (int)
- Standard: 64
source_slot: int
- Gibt den Quell-Slot an
- Dieser Wert ist eine ganze Zahl (int) von 1 bis 27
destination_slot: int
- Gibt den Ziel-Slot an
- Dieser Wert ist eine ganze Zahl (int) von 1 bis 27
Galerie
[Bearbeiten | Quelltext bearbeiten]-
Ein Agent auf einer Wiese
-
Der Agent auf einem offiziellen Bild[1]
-
Die Programmierung des Agenten
Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]Geschichte
[Bearbeiten | Quelltext bearbeiten]| Versionen der Bedrock Edition |
|---|
| Versionen von Minecraft Education |
|---|
Navigation
[Bearbeiten | Quelltext bearbeiten]| Entwicklung | |||||||
|---|---|---|---|---|---|---|---|
| Technisches | |||||||
| Mehrspieler | |||||||
| Exklusive Inhalte |
| ||||||
| Editionen |
| ||||
|---|---|---|---|---|---|
| Entwicklung |
| ||||
| Technisches | |||||
| Mehrspieler | |||||
| Exklusive Inhalte |
| ||||
| Historisch | |||||