Technik Wiki
Tobi 406 (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
(Einleitung, Ausführer, Ausführungsposition, Syntax, Namensräume und Text-Formatierung überarbeitet)
Zeile 1: Zeile 1:
 
{{Unterseite|
 
{{Unterseite|
 
{{Seitenkopf|re=1|dw=r}}
 
{{Seitenkopf|re=1|dw=r}}
  +
{{Baustelle|50|Nethonos}}
{{Technik-Familien|familie=element|Redstone-Element}}
 
 
|
 
|
 
}}
 
}}
   
Die '''Grundlage''' aller [[Technik/Befehle|Befehle-Techniken]] sind (wie auch in der Programmierung der Wirklichkeit) die Konventionen, bzw. Richtlinien, wie man Befehle schreibt. Diese '''Richtlinien''' müssen nicht befolgt werden, auch ohne diese funktionieren die Befehle. Allerdings wird in dem Wiki sich stehts daran gehalten, um ein einheitliches Format anzubieten, das auch sehr aussagekräftig ist. Um diese Richtlinien zu visualisieren, wurden die einzelnen Befehle als Namen für schwebende unsichtbare Rüstungsständer verwendet, mit dem {{b|1=/summon minecraft:armor_stand ~ ~1 ~ {NoGravity:true,Invisible:true,Marker:true,CustomName:"{\"text\":\"<Befehl>\"}",CustomNameVisible:true,Tags:["EtiTechEl.1Alle"] } }} kann man solch einen schwebenden Befehl erzeugen.
+
Die '''Grundlage''' aller [[Technik/Befehle|Befehlstechniken]] sind (wie auch in der realen Programmierung) die '''Richtlinien''', wie man Befehle schreibt. Diese Richtlinien müssen nicht befolgt werden, auch ohne diese funktionieren die Befehle. Allerdings wird in dem Wiki sich möglichst daran gehalten, um ein einheitliches Format anzubieten, das auch sehr aussagekräftig ist. Es dient dazu, dass sämtliche Techniken sich nicht in die Quere kommen, da jede Technik mit diesen Richtlinien immer stehts einen eigenen Namensraum besitzen um bei gleichnamigen Dingen stehts diese unterscheiden zu können.
   
  +
Um diese Richtlinien zu visualisieren, wurden die einzelnen Befehle als Namen für schwebende unsichtbare Rüstungsständer verwendet, mit dem {{b|1=/summon minecraft:armor_stand ~ ~1 ~ {NoGravity:true,Invisible:true,Marker:true,CustomName:"{\"text\":\"<Befehl>\"}",CustomNameVisible:true,Tags:["EtiTechEl.1Alle"] } }} kann man solch einen schwebenden Befehl erzeugen.
== Ausführer ==
 
  +
  +
== Ausführer und Ausführungsposition ==
 
[[Datei:Grundmodule Technik-Element (Befehle) Bild 1.10.png|250px|right]]
 
[[Datei:Grundmodule Technik-Element (Befehle) Bild 1.10.png|250px|right]]
*Der '''Ausführer''' kann ein {{de|Block}} sein, er kann aber auch ein {{de|Objekt}} sein oder eine {{de|Spielregel}}. Die ausgeführten Befehle werden dabei standardmäßig in dem Chat angezeigt, man kann dies aber auch verhindern, mit dem {{b|1=/gamerule commandBlockOutput}} und dem {{b|1=/gamerule sendCommandFeedback}}.
+
*Der '''Ausführer''' ist in der Regel der {{de|Spieler}}. Aber ein Ausführer kann auch ein anderes {{de|Objekt}}, ein {{de|Befehlblock}} oder eine {{de|Funktion}} sein. Wenn der Befehl unmittelbar vom Ausführer ausgeführt wird, übernimmt der Befehl auch dessen Position. Dabei ist es nicht zwingend, dass stehts vom Ausführer die Position übernommen wird.
   
  +
Ausgeführte Befehle werden standardmäßig im Chat oder in der Server-Konsole angezeigt, dies kann man einstellen:
  +
* {{b|1=/gamerule sendCommandFeedback}}
  +
* {{b|1=/gamerule commandBlockOutput}}
  +
* {{b|1=/gamerule logAdminCommands}}
   
  +
;{{de|Chat}}
*{{Gridbild|Befehlsblock|link}}
 
  +
*Im Chat können sämtliche Befehle direkt ausgeführt werden. Man öffnet die Chat-Leiste mit {{Taste|T}} und beginnt als erstes Zeichen mit einem <code>/</code> (Schrägstrich). Dann tippt man den vollständigen Befehl ein und tippt {{Taste|Enter}}. Mehrere Befehle können nicht gleichzeitig sondern nur nacheinander eingetippt werden. In der Chat-Leiste ist die maximale Zeichenanzahl jedoch auf 256 Zeichen begrenzt. Man kann sie aber für die meisten einfachen Befehle dafür verwenden. Solange man den Ausführer mit dem Selektor nicht ändert, wird ein Chat-Befehl immer den Spieler selbst als Auszuführenden nutzen.
*{{Gridbild|Ketten-Befehlsblock|link}}
 
*{{Gridbild|Wiederhol-Befehlsblock|link}}
 
*Die Befehlsblöcke führen Befehle von ihrer Position in der Welt aus und können dabei so oft in Kette geschaltet sein, wie es einem beliebt, die einstellbare Grenze von 65536 Befehlen kann durch den {{b|1=/gamerule maxCommandChainLength}} eingestellt werden. Das {{de|Befehlssignal}} wird dabei durch eine Kette innerhalb eines {{de|Tick}}s durchgeleitet. Befehle können eine maximale Zeichenanzahl von 32500 besitzen.
 
   
  +
;{{de|Schild}}
  +
*Ein normales Schild kann mit einem Befehl so verändert werden, dass es den Spieler bis zu vier Befehle auf einmal ausführen lassen kann. Als Ausführer wird der Spieler genommen aber als Ausführungsposition wird die Position des Schildes verwendet. Auch hier muss darauf geachtet werden, dass wie beim Chat die Befehle nicht länger als 256 Zeichen lang sein dürfen, da sie intern vom Spieler ausgeführt werden.
   
 
;{{de|Beschriebenes Buch}}
*{{Gridbild|Befehlsblocklore|link}}
 
  +
*Ein beschriebenes Buch, mit der Möglichkeit Befehle ausführen zu können, kann dem Spieler mit einem Befehl gegeben werden. Wenn man das ausgewählt und mit einem Rechtsklick geöffnet hat, erscheinen in der Regel ein paar anklickbare Texte. Manche dieser anklickbaren Texte verfügen über eine Schnellinfo, wenn man mit der Maus über sie fährt. Klickt man die Schrift an, wird der Befehl ausgeführt und das Buch geschlossen. Auch hier ist zu beachten, dass die maximale Zeichenanzahl, wie beim Chat, bei 256 Zeichen liegt. Als Ausführer wird der Spieler genommen und auch dessen Position.
*{{Gridbild|Aktivierungsschiene|link}}
 
*Die Befehlsblocklore kann Befehle alle vier Ticks auslösen (fünfmal in der Sekunde) und benötigt dazu eine Aktivierungsschiene. Zudem kann solch eine Lore keine Kette bilden.
 
   
 
;{{de|Befehlsblock}}
  +
*Den Befehlsblock kann man sich geben, in dem man den {{b|1=/give @p minecraft:command_block}} im Chat eingibt. Diesen platziert man in der Welt und öffnet mit einem Rechtsklick dessen Inventar. Im Befehlsblock erscheint eine Leiste ähnlich der Chat-Leiste. dort tippt man die Befehle ein und drückt dann auf die Schaltfläche {{Taste|Fertig}}. Befehlsblöcke erlauben eine maximale Zeichenanzahl von 32500 Zeichen. Das reicht in den allermeisten Fällen auch aus. Mit Befehlsblöcken baut man die einfacheren Befehlstechniken. Durch Wiederhol-Befehlsblöcke können Befehlen jeden Tick ausgeführt werden. Mehrere Befehle sind auch möglich, in dem man Ketten-Befehlsblöcke an die Impuls- oder den Wiederhol-Befehlsblöcken anschließt. Jedoch kann man standardmäßig maximal 65536 Befehle durch so eine Konstruktion in einem Tick ausführen lassen. Als Ausführer wird der Befehlsblock verwendet, wie auch dessen Position.
   
  +
Die maximale Anzahl der Befehle in einem {{de|Tick}} lässt sich einstellen:
*{{Gridbild|Konstruktionsblock|link}}
 
  +
* {{b|1=/gamerule maxCommandChainLength}}
*Der Konstruktionsblock kann, wenn er durch ein {{de|Redstone-Signal}} angesteuert wurde, ein Bauwerk speichern, laden oder die Ecken erkennen. Dabei kann er pro Tick einmal seine Eigenschaft nutzen.
 
   
 
;{{de|Befehlsblocklore}}
  +
*Die Befehlsblocklore wird wie ein normaler Befehlsblock behandelt, der Unterschied zu diesem liegt darin, dass es ein beweglicher Block auf Schienen ist, welcher sich mit Hilfe dieser fortbewegen kann. Die Lore kann auch nur alle vier Ticks ausgelöst werden. Der Ausführer bleibt die Befehlsblocklore, jedoch ändert sich dessen Position mit, wenn die Lore sich bewegt. Aktiviert wird die Befehlsblocklore durch eine {{de|Aktivierungsschiene}}.
   
 
;{{de|Funktion}}
*{{Gridbild|Schild (Schrift)|link}}
 
  +
*Eine Funktion kann nur außerhalb von Minecraft erstellt werden und sie kann im Spiel nur durch den {{b|1=/function}} oder durch einen {{de|Fortschritt}} aufgerufen werden. Mithilfe von {{de|Aliasdaten}} lassen sich die Befehle innerhalb von Funktionen wie beim Wiederhol-Befehlsblock jeden Tick ausführen. Im Gegensatz zum Befehlsblock besitzt die Funktion keine Einschränkung der Zeichenanzahl und kann mehrere Befehle in sich beherbergen. Die maximale Anzahl der Befehle die in einem Tick ausgeführt werden kann, liegt dabei auch wie bei den Befehlsblöcken bei 65536 Befehlen. Als Ausführer wird die Server-Konsole verwendet und als Ausführungsposition der vom Startwert festgelegte {{de|Spawn}}. Da sich der Spawn verschieben lässt, kann somit auch die Ausführungsposition verschoben werden.
*Ein Schild das mit NBT-Daten so verändert wurde, das es Befehle ausführen kann. Es kann maximal vier Befehle auf einmal ausführen.
 
   
  +
Die maximale Anzahl der Befehle in einem {{de|Tick}} lässt sich einstellen:
  +
* {{b|1=/gamerule maxCommandChainLength}}
   
 
;{{de|Konstruktionsblock}}
*{{Gridbild|Beschriebenes Buch|link}}
 
  +
*Der Konstruktionsblock kann keine Befehle ausführen, allerdings kann er Konstruktionen und Bauwerke außerhalb der Welt speichern. Sodass man sie mit Hilfe einer Befehlstechnik wieder aufrufen lassen kann. Das macht ihn in dieser Hinsicht sehr nützlich in dieser Kombination. Man erhält ihn durch den {{b|1=/give @p minecraft:structure_block}}. Um ihn zu aktivieren, muss ein {{de|Redstone-Signal}} an ihm anliegen. Mit Hilfe von Taktgebern können Konstruktionsblöcke so maximal jeden Tick eine gespeicherte Konstruktion laden lassen.
*Ein beschriebenes Buch das mit NBT-Daten so verändert wurde, das man im Buch auf bestimmte Textstellen klicken kann um so Befehle auszuführen, das Buch wird dabei aber geschlossen.
 
 
{{-}}
   
 
== Syntax ==
 
[[Datei:Grundmodule Technik-Element (Befehle) Bild 1.1.png|250px|right]]
  +
Befehle werden im {{de|Chat}} mit einem <code>/</code> (Schrägstrich, engl: Slash) geschrieben, um diese von dem normalen Text unterscheiden zu können, jedoch sind sie in {{de|Funktion}}en und nach dem run-Befehl vom {{b|1=/execute}} nicht erlaubt. In {{de|Befehlsblock|Befehlsblöcken}} dagegen sind beide Varianten erlaubt. Das macht die Sache etwas schwierig, allerdings wird im Wiki es so gehandhabt, dass einzelne Befehle im Text mit einem Schrägstrich angezeigt werden, aber in Befehlsblöcken oder Funktionen ohne diese verwendet werden. Das hat den Grund, dass einzelne Befehle vielmehr im Chat eingetippt werden, während Befehle in Befehlsblöcken eher in diesen eingetragen werden oder auch direkt in Funktionen kopiert werden, wo diese sowieso nicht erlaubt sind. Das macht das Lernen mit Befehlen dann wieder etwas einfacher, wenn man bei den Befehlstechniken keine Schrägstriche verwendet.
   
  +
;Mit Schrägstrich
*{{Gridbild|Konstruktionsleere}}{{de|Chat}}
 
  +
Befehle mit Schrägstrichen werden nur in einem Text verwendet, welchen man auch direkt in den Chat eingeben würde:
*Im Chat können sämtliche Befehle ausgeführt werden, jedoch ist die maximale Zeichenanzahl dort auf 256 begrenzt.
 
  +
*{{b|1=/give @p minecraft:debug_stick}}
   
  +
;Ohne Schrägstrich
  +
Befehle ohne Schrägstrich werden immer in Befehlsblöcken oder auch in Funktionen verwendet.
  +
{{bb|1|1|ib|4=tellraw @a ["Technik-Element.1: ",{"text":"Dies ist ein tellraw-Befehl nach den Richtlinien"}]}}
  +
{{bb|1|2|kb|4=execute as @a[distance=..50,tag=!EtiTechEl.1Etikett] run tag @s add EtiTechEl.1Etikett}}
   
*{{Gridbild|Barriere}}{{de|Funktion}}
 
*Funktionen können eine beliebig große Anzahl an Befehlen gleichzeitig ausführen und sind nur an die variabel einstellbare Grenze vom {{b|/gamerule maxCommandChainLength}} gebunden. Zudem lassen sich Funktionen von der Datei '''tick.json''', die in <code>saves/<weltname>/datapacks/<datapackname>/data/<eigener-namensraum>/tags/functions/tick.json</code> in einem {{de|Datenpaket}} stehen muss, um eine Funktion jeden Tick (20 mal pro Sekunde)wiederholen zu lassen (siehe hierzu {{de|Funktion}}).
 
{{-}}
 
   
  +
<font size="2"><u>Variante 1:</u> </font><font size="4"><b>Beispiel-Funktion</b></font><br/>
== Syntax ==
 
  +
{{Funktion|name=technik_wiki:technik-element/v1beispiel1|1=
[[Datei:Grundmodule Technik-Element (Befehle) Bild 1.1.png|250px|right]]
 
  +
# Punktestand-Ziele werden erstellt
*Die meisten Befehle werden ohne den <code>/</code> (Schrägstrich, engl: Slash) geschrieben, da man die meisten Befehle (in {{de|Funktionen}}, in {{de|Kommandoblöcken}} und in dem {{b|1=/execute}}) ohne Schrägstrich schreiben muss oder ihn überhaupt nicht benutzen kann, lediglich im {{de|Chat}} ist er unbedigt benötigt
 
  +
scoreboard objectives add PZTechEl.1Nr dummy {"text":"Technik-Element.1: Nummer"}
**{{b|ohnetitel=1|1=/execute as @a at @s run data merge block ~ ~-1 ~ {auto:true} }}
 
  +
scoreboard objectives add PZTechEl.1Wert dummy {"text":"Technik-Element.1: Wert"}
**=> Damit man den Beginn eines neuen Befehls immer sofort an dem Schrägstrich erkennen kann (besonders bei Nachfolge-Befehle oder NBT-Daten-Befehle sinnvoll)
 
  +
}}
  +
  +
== Namensräume ==
  +
Bei Angaben von Objekten, Blöcken, Gegenständen oder anderen Dingen wird immer der vorhandene Namensraum <code>minecraft:</code> verwendet. Wenn man Befehle im Chat eintippt werden die Namensräume automatisch mit angegeben und bei manchen Befehlen werden nur diese nur mit Namensraum akzeptiert. Weswegen das Wiki bei sämtlichen Angelegenheiten immer den Namensraum mit angibt. Der Namensraum ist auch hilfreich um beispielsweise alle Objekte auf einer Seite schnell ausfindig zu machen. Dazu tippt man {{Taste|Strg}} und {{Taste|f}} gleichzeitig. Dann öffnet sich eine Suchleiste, in der man den Namensraum eintippen kann und schon findet man alle Objekte.
  +
  +
;Minecraft-Namensraum <code>minecraft:</code>
 
*{{b|ohnetitel=1|1=/summon '''''minecraft:'''''armor_stand}}
 
*{{b|ohnetitel=1|1=/execute if entity @e[type='''''minecraft:'''''zombie] run say Zombie gesichtet}}
  +
  +
  +
Darüber hinaus werden auch speziell für das Wiki benutzerdefinierte Namensräume verwendet. Standardmäßig wird <code>technik_wiki:</code> für Funktionen, JSON-Dateien und Konstruktionsdateien verwendet. Aber auch bei Objekten, Blöcken und Gegenstände werden bestimmte Namensräume vergeben um jede Technik von einer anderen Technik sauber abzugrenzen.
  +
  +
  +
<font size="2"><u>Variante 1:</u> </font><font size="4"><b>Wiki-Namensraum <code>technik_wiki:</code></b></font><br/>
  +
{{Funktion|name='''''technik_wiki:'''''technik-element/v1beispiel2|1=
  +
function technik_wiki:technik-element/v1beispiel2
  +
}}
  +
{{JSON-Datei|name='''''technik_wiki:'''''werkzeug-system/v1alias|type=alias|1=
  +
{
  +
"values": [
  +
"minecraft:command_block"
  +
]
  +
}
  +
}}
  +
  +
Benutzerdefinierte Namensräume werden Objekten, Etiketten, Punkteständen usw. gegeben um sie restlos von jeder Technik unterscheiden zu können. Sie werden abgekürzt, da der Name eines Punktestand-Ziels nur maximal 16 Zeichen erlaubt. Sie setzen sich aus dem einer Abkürzung der Technik, in diesem Beispiel wäre es <code>TechEl</code> für Technik-Element. Dann folgt ein Punkt mit einer Zahl <code>.1</code>. Die Zahl entspricht der Variante dieser Technik. Bei einer Plus-Technik, wird noch ein kleines <code>p</code> an die Zahl angehongen. Danach folgt der eigentliche Name den man dem Objekt oder der anderen genannten Dinge geben würde, indem Fall <code>Beispiel</code>. Vor dem ganzen, wird dann noch die jeweilige Abkürzung angefügt. Bei Konstruktionsdateien wird eine abweichende Namensraumbenennung durchgeführt, da Dateien nur klein geschrieben werden dürfen.
  +
  +
;Objekten, Etiketten, Punktestände usw.
  +
*<code>'''''Obj'''''TechEl.1Beispiel</code> für Objekte/Entities
  +
*<code>'''''Eti'''''TechEl.1Beispiel</code> für Etiketten/Tags
  +
*<code>'''''PZ'''''TechEl.1Beispiel</code> für Punktestand-Ziele/Scores
  +
*<code>'''''#Var'''''TechEl.1Beispiel</code> für Variablen/Fake-Players
  +
*<code>'''''TM'''''TechEl.1Beispiel</code> für Teams
  +
  +
*<code>'''''ks'''''_technik-element_1Beispiel</code> für Konstruktionsdateien/Structurefiles
  +
  +
Gegenstände und tellraw-Nachrichten erhalten zusätzliche Namensräume, welche im Chat oder über der Schnellzugriffsleiste angezeigt werden.
  +
  +
;Gegenstände und tellraw-Texte
  +
  +
== Text-Formatierung ==
  +
Wie bei den Namensräumen wird auch bei der Textformatierung darauf geachtet dass sie vollständig angegeben werden, denn manche Befehle verlangen die vollständige Textformatierung wie <code>"{\"text\":\"Hallo Welt\"}"</code> und lassen solche wie diese <code>"\"Hallo Welt\""</code> nicht zu. Auch {{Taste|§}} werden vermieden, da sie innerhalb von Minecraft nicht erlaubt sind und nur außerhalb in Funktionen verwendet werden können. Da aber sämtliche Texte auch eine Formatierung erlauben wird auf diese zugegriffen, da sie in allen Bereichen verwendet werden darf.
   
  +
Aus diesem Grund wird im Wiki immer die vollständige Formatierung verwendet.
*Bei Angaben von Objekten, Kreaturen, Blöcken oder Gegenständen wird immer das Präfix <code>minecraft:</code> für den Namensraum verwendet.
 
**{{b|ohnetitel=1|1=/summon '''''minecraft:'''''armor_stand}}
 
**{{b|ohnetitel=1|1=/execute if entity @e[type='''''minecraft:'''''zombie] run say Zombie gesichtet}}
 
**=> Bei manchen Angaben wird das Präfix benötigt, deshalb ist es sinnvoll dies gleich bei allen zu nutzen (Nebeneffekt: Wiki-Bots können anhand der Präfixe Namensänderungen oder andere Änderungen leicht durchführen)
 
   
*Befehle werden immer in der ausgeschriebenen Form eingetippt, damit nicht nur der Profi nachvollziehen kann, was gemeint ist.
+
Befehle werden immer in der ausgeschriebenen Form eingetippt, damit nicht nur der Profi nachvollziehen kann, was gemeint ist.
**{{b|ohnetitel=1|1=/gamemode '''''survival''''' @p}}
+
*{{b|ohnetitel=1|1=/gamemode '''''survival''''' @p}}
**=> Namen-iDs sagen mehr als Zahlen-IDs (Nebeneffekt: Wiki-Bot kann zwischen den einzelnen Zuständen unterscheiden, bei Zahlen nicht)
+
*=> Namen-iDs sagen mehr als Zahlen-IDs (Nebeneffekt: Wiki-Bot kann zwischen den einzelnen Zuständen unterscheiden, bei Zahlen nicht)
 
{{-}}
 
{{-}}
   
Zeile 80: Zeile 136:
 
== Koordinaten ==
 
== Koordinaten ==
 
[[Datei:Grundmodule Technik-Element (Befehle) Bild 1.3.png|250px|right]]
 
[[Datei:Grundmodule Technik-Element (Befehle) Bild 1.3.png|250px|right]]
*Befehle mit Koordinaten, werden so gestaltet, das negative Werte mit einem <code>-</code> (Minus) bestückt werden, positive Werte werden ohne Angabe des Vorzeichen getätigt.
+
*Befehle mit Koordinaten, werden so gestaltet, das negative Werte mit einem <code>-</code> (Minus) bestückt werden, positive Werte werden ohne Angabe des Vorzeichen getätigt. Nullen werden bei relativen Angaben einfach weggelassen
 
**{{b|ohnetitel=1|1=/setblock ~'''''10''''' ~'''''-5''''' ~'''''42''''' minecraft:stone}}
 
**{{b|ohnetitel=1|1=/setblock ~'''''10''''' ~'''''-5''''' ~'''''42''''' minecraft:stone}}
 
**=> Hierbei setzt man voraus, das man weis das eine Zahl ohne Vorzeichen immer positiv ist.
 
**=> Hierbei setzt man voraus, das man weis das eine Zahl ohne Vorzeichen immer positiv ist.
Zeile 123: Zeile 179:
 
== Teams ==
 
== Teams ==
 
[[Datei:Grundmodule Technik-Element (Befehle) Bild 1.6.png|250px|right]]
 
[[Datei:Grundmodule Technik-Element (Befehle) Bild 1.6.png|250px|right]]
*Teams werden mit <code>TM</code> am Anfang des Teamnamens ausgestattet.
+
*Teams werden mit <code>TM</code> am Anfang des Teamnamens ausgestattet. Präfixe besitzen einen Namensraum
**{{b|ohnetitel=1|1=/teams add '''''TM'''''TechEl.1}}
+
**{{b|ohnetitel=1|1=/team add '''''TM'''''TechEl.1}}
 
**=> Damit man Teams von Punktestand-Zielen unterscheiden kann.
 
**=> Damit man Teams von Punktestand-Zielen unterscheiden kann.
 
{{-}}
 
{{-}}
Zeile 153: Zeile 209:
 
**=> Damit man immer auf einen Blick erkennt, um was es sich dabei gerade handelt, gerade bei sehr großen Techniken kann man schnell den Überblick verlieren.
 
**=> Damit man immer auf einen Blick erkennt, um was es sich dabei gerade handelt, gerade bei sehr großen Techniken kann man schnell den Überblick verlieren.
   
*Alle selbst definierbaren Zählwerte wie Punktestand-Ziele, Variablen, Objektnamen etc. werden abgekürzt und nach der CamelCase-Konvention eingerückt. Nicht begrenzte Wortbezeichnungen können ab der Varianten-Zahl ausgeschrieben werden.
+
*Alle selbst definierbaren Zählwerte wie Punktestand-Ziele, Variablen, Objektnamen etc. werden abgekürzt und nach der CamelCase-Richtlinie eingerückt. Nicht begrenzte Wortbezeichnungen können ab der Varianten-Zahl ausgeschrieben werden.
 
**{{b|ohnetitel=1|1=/execute if entity @e[name="'''''ObjTechEl.5B'''''"]}}
 
**{{b|ohnetitel=1|1=/execute if entity @e[name="'''''ObjTechEl.5B'''''"]}}
 
**{{b|ohnetitel=1|1=/scoreboard players test #'''''VarTechEl.7Ausgabe''''' '''''PZTechEl'''''.1 0 0}}
 
**{{b|ohnetitel=1|1=/scoreboard players test #'''''VarTechEl.7Ausgabe''''' '''''PZTechEl'''''.1 0 0}}
Zeile 160: Zeile 216:
   
 
== Etiketten ==
 
== Etiketten ==
*Etiketten sind dazu gedacht bestimmte Entititäten zu bestimmen und zu erkennen
+
*Etiketten sind dazu gedacht bestimmte Objekte zu bestimmen und zu erkennen
 
**Etiketten werden mit <code>Eti</code> abgekürzt.
 
**Etiketten werden mit <code>Eti</code> abgekürzt.
 
**Etiketten werden mit dem {{b|1=/tag}} verwaltet
 
**Etiketten werden mit dem {{b|1=/tag}} verwaltet
Zeile 167: Zeile 223:
 
**{{b|1=/tag @e[type=zombie,distance=..5] add EtiTechEl.6}}
 
**{{b|1=/tag @e[type=zombie,distance=..5] add EtiTechEl.6}}
 
**{{b|1=/kill @e[tag=EtiTechEl.6]}}
 
**{{b|1=/kill @e[tag=EtiTechEl.6]}}
**=> Somit kann man mehrere Entititäten mit verschiedenen Eigenschaften alle durch den ein Etikett gleichzeitig auswählen
+
**=> Somit kann man mehrere Objekte mit verschiedenen Eigenschaften alle durch das eine Etikett gleichzeitig auswählen
 
{{-}}
 
{{-}}
   
Zeile 173: Zeile 229:
 
[[Datei:Grundmodule Technik-Element (Befehle) Bild 1.8.png|250px|right]]
 
[[Datei:Grundmodule Technik-Element (Befehle) Bild 1.8.png|250px|right]]
 
*Bei Funktionen wird der Ordner immer <code>TW:</code> und die Textdateien <code>Technik</code> nach der Technik bezeichnet. Bei Vererbungen sollte man zur besseren Struktur weitere Unterordner anlegen und dort dann die Unterfunktionen einbauen. Die Unterfunktionen werden dabei, immer mit <code>/</code> (Schrägstrich) und nicht mit <code>\</code> (Rückstrich) eingebunden.
 
*Bei Funktionen wird der Ordner immer <code>TW:</code> und die Textdateien <code>Technik</code> nach der Technik bezeichnet. Bei Vererbungen sollte man zur besseren Struktur weitere Unterordner anlegen und dort dann die Unterfunktionen einbauen. Die Unterfunktionen werden dabei, immer mit <code>/</code> (Schrägstrich) und nicht mit <code>\</code> (Rückstrich) eingebunden.
**{{b|ohnetitel=1|1=/function '''''TW:'''''Technik-Element.1'''''/'''''TechEl.1}}
+
**{{b|ohnetitel=1|1=/function '''''technik_wiki:'''''technik-element'''''/'''''v1beispiel}}
**{{b|ohnetitel=1|1=/function '''''TW:'''''Technik-Element.1'''''/'''''Zähl.1'''''/'''''TechEl.1Endlos}}
+
**{{b|ohnetitel=1|1=/function '''''technik_wiki:'''''technik-element'''''/'''''Zähl.1'''''/'''''TechEl.1Endlos}}
**=> Damit man einen Hauptordner "TW" hat, der die Technik-Wiki-Funktionen beinhaltet und in diesem dann wiederum für jede Technik ein Ordner existiert in dem noch weitere Funktionen eingetragen werden können.
+
**=> Damit man einen Hauptordner "technik_wiki" hat, der die Technik-Wiki-Funktionen beinhaltet und in diesem dann wiederum für jede Technik ein Ordner existiert in dem noch weitere Funktionen eingetragen werden können.
   
 
*Damit Funktionsbefehle leichter zu verstehen sind, werden sie immer mit Kommentaren ausgestattet, dies geht mit einem <code>#</code> (Raute) vor dem Kommentar.
 
*Damit Funktionsbefehle leichter zu verstehen sind, werden sie immer mit Kommentaren ausgestattet, dies geht mit einem <code>#</code> (Raute) vor dem Kommentar.
Zeile 184: Zeile 240:
 
[[Datei:Grundmodule Technik-Element (Befehle) Bild 1.9.png|250px|right]]
 
[[Datei:Grundmodule Technik-Element (Befehle) Bild 1.9.png|250px|right]]
 
*Konstruktionsblock-Dateien werden mit <code>KS</code> ausgestattet.
 
*Konstruktionsblock-Dateien werden mit <code>KS</code> ausgestattet.
**{{b|ohnetitel=1|1=/setblock ~ ~ ~1 minecraft:structure_block 1 keep {mode:"SAVE",name:"'''''KS'''''TechEl.1Vergleicher"} }}
+
**{{b|ohnetitel=1|1=/setblock ~ ~ ~1 minecraft:structure_block 1 keep {mode:"SAVE",name:"technik_wiki:'''''ks'''''_technik-element_1vergleicher"} }}
 
**=> Damit man immer den Überblick über Konstruktionsdateien behält, falls man sie umbenennen muss.
 
**=> Damit man immer den Überblick über Konstruktionsdateien behält, falls man sie umbenennen muss.
 
{{-}}
 
{{-}}
   
 
{{Unterseite|
 
{{Unterseite|
 
{{Technik-Familien|familie=element|Redstone-Element}}
 
{{Navbox-Technik}}
 
{{Navbox-Technik}}
 
{{Navbox-Technik|Technik}}
 
{{Navbox-Technik|Technik}}

Version vom 19. September 2018, 11:37 Uhr

Gruppe: Unbekannter Gruppenname
[[]]

Grid Roter Sand blass mit Mechaniken

Grid Redstone mit Redstone
                Hier:
Grid Befehlsblock mit Befehlen
Verfügbar in:
Wiki Redstone-Welt Redstone-Welt
Baustelle
Diese Seite wird gerade von Nethonos neu erstellt oder grundlegend überarbeitet.
Fragen und Vorschläge bitte in die Diskussion. Fortschritt: Grid Redstone-BlockGrid Redstone-BlockGrid Redstone-BlockGrid Redstone-BlockGrid Redstone-BlockGrid Redstone-Block blassGrid Redstone-Block blassGrid Redstone-Block blassGrid Redstone-Block blassGrid Redstone-Block blass

Die Grundlage aller Befehlstechniken sind (wie auch in der realen Programmierung) die Richtlinien, wie man Befehle schreibt. Diese Richtlinien müssen nicht befolgt werden, auch ohne diese funktionieren die Befehle. Allerdings wird in dem Wiki sich möglichst daran gehalten, um ein einheitliches Format anzubieten, das auch sehr aussagekräftig ist. Es dient dazu, dass sämtliche Techniken sich nicht in die Quere kommen, da jede Technik mit diesen Richtlinien immer stehts einen eigenen Namensraum besitzen um bei gleichnamigen Dingen stehts diese unterscheiden zu können.

Um diese Richtlinien zu visualisieren, wurden die einzelnen Befehle als Namen für schwebende unsichtbare Rüstungsständer verwendet, mit dem Befehl /summon minecraft:armor_stand ~ ~1 ~ {NoGravity:true,Invisible:true,Marker:true,CustomName:"{\"text\":\"<Befehl>\"}",CustomNameVisible:true,Tags:["EtiTechEl.1Alle"] } kann man solch einen schwebenden Befehl erzeugen.

Ausführer und Ausführungsposition

  • Der Ausführer ist in der Regel der Vorlage:De. Aber ein Ausführer kann auch ein anderes Vorlage:De, ein Vorlage:De oder eine Vorlage:De sein. Wenn der Befehl unmittelbar vom Ausführer ausgeführt wird, übernimmt der Befehl auch dessen Position. Dabei ist es nicht zwingend, dass stehts vom Ausführer die Position übernommen wird.

Ausgeführte Befehle werden standardmäßig im Chat oder in der Server-Konsole angezeigt, dies kann man einstellen:

Vorlage:De
  • Im Chat können sämtliche Befehle direkt ausgeführt werden. Man öffnet die Chat-Leiste mit T und beginnt als erstes Zeichen mit einem / (Schrägstrich). Dann tippt man den vollständigen Befehl ein und tippt ↵ Eingabe. Mehrere Befehle können nicht gleichzeitig sondern nur nacheinander eingetippt werden. In der Chat-Leiste ist die maximale Zeichenanzahl jedoch auf 256 Zeichen begrenzt. Man kann sie aber für die meisten einfachen Befehle dafür verwenden. Solange man den Ausführer mit dem Selektor nicht ändert, wird ein Chat-Befehl immer den Spieler selbst als Auszuführenden nutzen.
Vorlage:De
  • Ein normales Schild kann mit einem Befehl so verändert werden, dass es den Spieler bis zu vier Befehle auf einmal ausführen lassen kann. Als Ausführer wird der Spieler genommen aber als Ausführungsposition wird die Position des Schildes verwendet. Auch hier muss darauf geachtet werden, dass wie beim Chat die Befehle nicht länger als 256 Zeichen lang sein dürfen, da sie intern vom Spieler ausgeführt werden.
Vorlage:De
  • Ein beschriebenes Buch, mit der Möglichkeit Befehle ausführen zu können, kann dem Spieler mit einem Befehl gegeben werden. Wenn man das ausgewählt und mit einem Rechtsklick geöffnet hat, erscheinen in der Regel ein paar anklickbare Texte. Manche dieser anklickbaren Texte verfügen über eine Schnellinfo, wenn man mit der Maus über sie fährt. Klickt man die Schrift an, wird der Befehl ausgeführt und das Buch geschlossen. Auch hier ist zu beachten, dass die maximale Zeichenanzahl, wie beim Chat, bei 256 Zeichen liegt. Als Ausführer wird der Spieler genommen und auch dessen Position.
Vorlage:De
  • Den Befehlsblock kann man sich geben, in dem man den Befehl /give @p minecraft:command_block im Chat eingibt. Diesen platziert man in der Welt und öffnet mit einem Rechtsklick dessen Inventar. Im Befehlsblock erscheint eine Leiste ähnlich der Chat-Leiste. dort tippt man die Befehle ein und drückt dann auf die Schaltfläche Fertig. Befehlsblöcke erlauben eine maximale Zeichenanzahl von 32500 Zeichen. Das reicht in den allermeisten Fällen auch aus. Mit Befehlsblöcken baut man die einfacheren Befehlstechniken. Durch Wiederhol-Befehlsblöcke können Befehlen jeden Tick ausgeführt werden. Mehrere Befehle sind auch möglich, in dem man Ketten-Befehlsblöcke an die Impuls- oder den Wiederhol-Befehlsblöcken anschließt. Jedoch kann man standardmäßig maximal 65536 Befehle durch so eine Konstruktion in einem Tick ausführen lassen. Als Ausführer wird der Befehlsblock verwendet, wie auch dessen Position.

Die maximale Anzahl der Befehle in einem Vorlage:De lässt sich einstellen:

Vorlage:De
  • Die Befehlsblocklore wird wie ein normaler Befehlsblock behandelt, der Unterschied zu diesem liegt darin, dass es ein beweglicher Block auf Schienen ist, welcher sich mit Hilfe dieser fortbewegen kann. Die Lore kann auch nur alle vier Ticks ausgelöst werden. Der Ausführer bleibt die Befehlsblocklore, jedoch ändert sich dessen Position mit, wenn die Lore sich bewegt. Aktiviert wird die Befehlsblocklore durch eine Vorlage:De.
Vorlage:De
  • Eine Funktion kann nur außerhalb von Minecraft erstellt werden und sie kann im Spiel nur durch den Befehl /function oder durch einen Vorlage:De aufgerufen werden. Mithilfe von Vorlage:De lassen sich die Befehle innerhalb von Funktionen wie beim Wiederhol-Befehlsblock jeden Tick ausführen. Im Gegensatz zum Befehlsblock besitzt die Funktion keine Einschränkung der Zeichenanzahl und kann mehrere Befehle in sich beherbergen. Die maximale Anzahl der Befehle die in einem Tick ausgeführt werden kann, liegt dabei auch wie bei den Befehlsblöcken bei 65536 Befehlen. Als Ausführer wird die Server-Konsole verwendet und als Ausführungsposition der vom Startwert festgelegte Vorlage:De. Da sich der Spawn verschieben lässt, kann somit auch die Ausführungsposition verschoben werden.

Die maximale Anzahl der Befehle in einem Vorlage:De lässt sich einstellen:

Vorlage:De
  • Der Konstruktionsblock kann keine Befehle ausführen, allerdings kann er Konstruktionen und Bauwerke außerhalb der Welt speichern. Sodass man sie mit Hilfe einer Befehlstechnik wieder aufrufen lassen kann. Das macht ihn in dieser Hinsicht sehr nützlich in dieser Kombination. Man erhält ihn durch den Befehl /give @p minecraft:structure_block. Um ihn zu aktivieren, muss ein Vorlage:De an ihm anliegen. Mit Hilfe von Taktgebern können Konstruktionsblöcke so maximal jeden Tick eine gespeicherte Konstruktion laden lassen.

Syntax

Befehle werden im Vorlage:De mit einem / (Schrägstrich, engl: Slash) geschrieben, um diese von dem normalen Text unterscheiden zu können, jedoch sind sie in Vorlage:Deen und nach dem run-Befehl vom Befehl /execute nicht erlaubt. In Vorlage:De dagegen sind beide Varianten erlaubt. Das macht die Sache etwas schwierig, allerdings wird im Wiki es so gehandhabt, dass einzelne Befehle im Text mit einem Schrägstrich angezeigt werden, aber in Befehlsblöcken oder Funktionen ohne diese verwendet werden. Das hat den Grund, dass einzelne Befehle vielmehr im Chat eingetippt werden, während Befehle in Befehlsblöcken eher in diesen eingetragen werden oder auch direkt in Funktionen kopiert werden, wo diese sowieso nicht erlaubt sind. Das macht das Lernen mit Befehlen dann wieder etwas einfacher, wenn man bei den Befehlstechniken keine Schrägstriche verwendet.

Mit Schrägstrich

Befehle mit Schrägstrichen werden nur in einem Text verwendet, welchen man auch direkt in den Chat eingeben würde:

Ohne Schrägstrich

Befehle ohne Schrägstrich werden immer in Befehlsblöcken oder auch in Funktionen verwendet.

tellraw @a ["Technik-Element.1: ",{"text":"Dies ist ein tellraw-Befehl nach den Richtlinien"}]
execute as @a[distance=..50,tag=!EtiTechEl.1Etikett] run tag @s add EtiTechEl.1Etikett


Variante 1: Beispiel-Funktion

Editor Icon technik_wiki:technik-element/v1beispiel1.mcfunction
# Punktestand-Ziele werden erstellt
scoreboard objectives add PZTechEl.1Nr dummy {"text":"Technik-Element.1: Nummer"}
scoreboard objectives add PZTechEl.1Wert dummy {"text":"Technik-Element.1: Wert"}

Namensräume

Bei Angaben von Objekten, Blöcken, Gegenständen oder anderen Dingen wird immer der vorhandene Namensraum minecraft: verwendet. Wenn man Befehle im Chat eintippt werden die Namensräume automatisch mit angegeben und bei manchen Befehlen werden nur diese nur mit Namensraum akzeptiert. Weswegen das Wiki bei sämtlichen Angelegenheiten immer den Namensraum mit angibt. Der Namensraum ist auch hilfreich um beispielsweise alle Objekte auf einer Seite schnell ausfindig zu machen. Dazu tippt man Strg und f gleichzeitig. Dann öffnet sich eine Suchleiste, in der man den Namensraum eintippen kann und schon findet man alle Objekte.

Minecraft-Namensraum minecraft:
  • /summon minecraft:armor_stand
  • /execute if entity @e[type=minecraft:zombie] run say Zombie gesichtet


Darüber hinaus werden auch speziell für das Wiki benutzerdefinierte Namensräume verwendet. Standardmäßig wird technik_wiki: für Funktionen, JSON-Dateien und Konstruktionsdateien verwendet. Aber auch bei Objekten, Blöcken und Gegenstände werden bestimmte Namensräume vergeben um jede Technik von einer anderen Technik sauber abzugrenzen.


Variante 1: Wiki-Namensraum technik_wiki:

Editor Icon technik_wiki:technik-element/v1beispiel2.mcfunction
function technik_wiki:technik-element/v1beispiel2
JSON Icon technik_wiki:werkzeug-system/v1alias.json
{
  "values": [
    "minecraft:command_block"
  ]
}

Benutzerdefinierte Namensräume werden Objekten, Etiketten, Punkteständen usw. gegeben um sie restlos von jeder Technik unterscheiden zu können. Sie werden abgekürzt, da der Name eines Punktestand-Ziels nur maximal 16 Zeichen erlaubt. Sie setzen sich aus dem einer Abkürzung der Technik, in diesem Beispiel wäre es TechEl für Technik-Element. Dann folgt ein Punkt mit einer Zahl .1. Die Zahl entspricht der Variante dieser Technik. Bei einer Plus-Technik, wird noch ein kleines p an die Zahl angehongen. Danach folgt der eigentliche Name den man dem Objekt oder der anderen genannten Dinge geben würde, indem Fall Beispiel. Vor dem ganzen, wird dann noch die jeweilige Abkürzung angefügt. Bei Konstruktionsdateien wird eine abweichende Namensraumbenennung durchgeführt, da Dateien nur klein geschrieben werden dürfen.

Objekten, Etiketten, Punktestände usw.
  • ObjTechEl.1Beispiel für Objekte/Entities
  • EtiTechEl.1Beispiel für Etiketten/Tags
  • PZTechEl.1Beispiel für Punktestand-Ziele/Scores
  • #VarTechEl.1Beispiel für Variablen/Fake-Players
  • TMTechEl.1Beispiel für Teams
  • ks_technik-element_1Beispiel für Konstruktionsdateien/Structurefiles

Gegenstände und tellraw-Nachrichten erhalten zusätzliche Namensräume, welche im Chat oder über der Schnellzugriffsleiste angezeigt werden.

Gegenstände und tellraw-Texte

Text-Formatierung

Wie bei den Namensräumen wird auch bei der Textformatierung darauf geachtet dass sie vollständig angegeben werden, denn manche Befehle verlangen die vollständige Textformatierung wie "{\"text\":\"Hallo Welt\"}" und lassen solche wie diese "\"Hallo Welt\"" nicht zu. Auch § werden vermieden, da sie innerhalb von Minecraft nicht erlaubt sind und nur außerhalb in Funktionen verwendet werden können. Da aber sämtliche Texte auch eine Formatierung erlauben wird auf diese zugegriffen, da sie in allen Bereichen verwendet werden darf.

Aus diesem Grund wird im Wiki immer die vollständige Formatierung verwendet.

Befehle werden immer in der ausgeschriebenen Form eingetippt, damit nicht nur der Profi nachvollziehen kann, was gemeint ist.

  • /gamemode survival @p
  • => Namen-iDs sagen mehr als Zahlen-IDs (Nebeneffekt: Wiki-Bot kann zwischen den einzelnen Zuständen unterscheiden, bei Zahlen nicht)

Selektoren

  • Befehle die auf bestimmte Objekte abzielen und über mehrere Befehle immer nur diese prüfen sollen, werden mit @s ausgestattet.
    • /execute as @p[scores={PZTechEl.1=1},tag=EtiTechEl.1A] run tellraw @s[tag=EtiTechEl.1B] {"text":"Buchhalter"}
    • /execute as @p[tagEtiTechEl.1B,scores={PZTechEl.1=2}] run give @s minecraft:diamond
    • => Damit der Zusammenhang der Zielauswahlen leichter fällt, zu verstehen.
  • In der Zielauswahl werden Kubus-Angaben, wenn sie relative Koordinaten enthalten immer auch so angegeben, auch wenn es alternative Schreibweisen gibt.
    • /execute if entity @e[x=~,y=~,z=~,dx=5,dy=5,dz=5] run give @p minecraft:diamond
    • => Mit der Angabe dieser Daten, gibt man die Möglichkeit, zu verstehen wie das überhaupt funktioniert, ohne diese optionale Angabe versteht das nur ein fortgeschrittener Spieler.
  • In der Zielauswahl so viele Kriterien verwenden wie es sinnvoll erscheint, dabei gilt, lieber zu viele Abbruchkriterien als zu wenige!
    • /execute as @e[type=minecraft:armor_stand,name="ObjTechEl.1",tag=EtiTechEl.1,distance=..25,limit=1] run kill @s[tag=EtiTechEl.1B]
    • => Damit keine anderen Objekte betroffen sind und so aus versehen ausgewählt werden.
  • Wenn man das distance= Argument bei Selektoren verwendet, müssen um das ganze in einem Radius zu überprüfen immer zwei Punkte vor der Zahl stehen!
    • /execute as @a[distance=..5] run say Ich bin 5 Blöcke in der Nähe der Befehlsquelle

Koordinaten

  • Befehle mit Koordinaten, werden so gestaltet, das negative Werte mit einem - (Minus) bestückt werden, positive Werte werden ohne Angabe des Vorzeichen getätigt. Nullen werden bei relativen Angaben einfach weggelassen
    • /setblock ~10 ~-5 ~42 minecraft:stone
    • => Hierbei setzt man voraus, das man weis das eine Zahl ohne Vorzeichen immer positiv ist.
  • Es werden immer relative Koordinaten benutzt und nur dort wo es absolut nicht möglich ist, werden absolute Koordinaten verwendet.
    • /execute as @p at @s run fill ~ ~ ~ ~25 ~ ~25 minecraft:stone
    • /clone 0 10 0 0 20 10 ~ ~3 ~
    • => Damit man die Techniken auch problemlos verschieben kann, ohne alle Befehlsblöcke mit Koordinaten korrigieren zu müssen.
  • Befehle mit relativen Koordinaten-Angaben werden immer nur dann mit Zahlen bestückt, wenn diese größer oder kleiner null sind, eine einzelne 0 wird nicht hinter eine ~ (Tilde) geschrieben.
    • /teleport @e[distance=..5] ~1 ~0.2 ~-3
    • => Das ist sinnvoll, da das Spiel zum einen die null ignoriert und zum anderen, da es bei Zielauswahl-Angaben (Kubus) nur so möglich ist.

Kommentare

  • Bei dem Befehl /tellraw wird zu aller erst immer der Technik-Name erwähnt, damit immer klar ist, zu welcher Technik diese Nachrichten gehören.
    • /tellraw @p ["Technik-Element.1 ",{"text":"Texte der Technik"} ]
    • => Damit man zu jeder Zeit sofort erkennen kann, von welcher Technik welche Nachricht gesendet wurde.
  • Kommentare werden mit einer Raute (#) angeführt und anschließend kommt der Kommentar.
    • #Dies ist ein Kommentar
    • => Damit man weis, das es beabsichtigt ist, das der Befehlsblock keinen Befehl trägt und es einheitlich zu den Funktionskommentaren ist.

Befehle-Daten

  • NBT, JSON, JSON-NBT, Blockzustände und MC-Befehle werden immer nach dem striktesten Prinzip erstellt.
    • /fill ~5 ~5 ~5 ~-5 ~-5 ~-5 minecraft:fence_gate[facing=west,open=true] replace minecraft:air
    • => Damit Änderungen von den Entwicklern an diesen Datenstrukturen keine Welle der Überarbeitung auslösen. Es hat sich bisher gezeigt, das immer das striktere Format das beständigere ist.
  • NBT-Daten die logische Ausdrücke verlangen, wie true (wahr) und false (falsch), werden immer auch mit diesen Angaben ausgestattet, auf 1b oder 0b wird verzichtet.
    • /data merge @e[tag=EtiTechEl.1] {NoGravity:true}
    • /tag @a[tag=!EtiTechEl.1] add EtiTechEl.1 {OnGround:true}
    • => Damit mit den eher aussagekräftigen Worten sofort klar ist, was gemeint ist.
  • Wenn Objekte ein Zeitlimit besitzen, wie lange sie maximal in ihrer Form existieren können, wird immer der größte oder kleinste maximal mögliche Integer-Wert verwendet 2147483647 (2^31-1) oder -2147483648.
    • /summon minecraft:falling_block ~ ~ ~ {Time:-2147483648,NoGravity:true}
    • => Dies hat den Vorteil, das man das volle Potenzial der Objekte nutzt und zugleich eine der wichtigsten Zahlenwerte vermittelt.

Teams

  • Teams werden mit TM am Anfang des Teamnamens ausgestattet. Präfixe besitzen einen Namensraum
    • /team add TMTechEl.1
    • => Damit man Teams von Punktestand-Zielen unterscheiden kann.

Punktestände

  • Punktestand-Ziele müssen immer den Namen der Technik beinhalten, sowie die Varianten-Nummer, dies wird durch ein : getrennt, danach folgt die Varianten-Nummer. p steht für Plus-Variante und wird direkt an die Varianten-Nummer gehangen. Sie werden immer mit PZ bestückt.
    • /scorebord objectives add PZTechEl:1 dummy
    • /scorebord objectives add PZTechEl:3p dummy
    • => Damit man die einzelnen Varianten relativ einfach voneinander unterscheiden kann. Dies ist für Wiki-Bot und Autor im Technik-Wiki und Technik-Welt dienlicher, wie wenn die Punktestände nicht einheitlich sind.
  • Wenn mehr als ein Punktestand-Ziel, Variable, Etiketten oder Objektnamen benötigt werden, wird bei allen ein großer Buchstabe beginnend bei A angehongen.
    • /scoreboard objectives add PZTechEl.1B dummy
    • /scoreboard objectives add PZTechEl.1AusgabeC dummy
    • /scoreboard players add VarTechEl.1A PZTechEl.1 5
    • => Damit man Punktestand-Ziele, Variablen, Etiketten oder Objektnamen besser untereinander unterscheiden kann.
  • Wenn Punktestand-Ziele, Variablen, Etiketten oder Objekt-Namen zur Ausgabe oder Eingabe dienen, sprich wenn man sie auf andere Techniken weiter anwenden könnte, sollten sie aus besserem Verständnis ein Wort beinhalten:
    • /scoreboard objectives tag @p add EtiTechEl.3Vergleichswert
    • /scoreboard players add #VarTechEl.4Zeiger PZTechEl.3Vergl 7
    • => Damit man Punktestand-Ziele, Variablen, Etiketten oder Objektnamen besser dem jeweiligen Umstand zuordnen kann.
  • Variablen von Punktestand-Zielen werden immer mit # (Raute) und : ausgestattet. Nur wenn die Variable in der Scoreboard-Sidebar sichtbar sein soll, kann man auf die Raute verzichten.
    • /scoreboard players add #VarTechEl:1 PZTechEl.1 1
    • => Damit man mit einem Blick Objekte von Pseudo-Objekten unterscheiden kann, denn Spieler können keinen Doppelpunkt im Namen tragen.
  • Variablen werden immer mit Var abgekürzt, Objekte, Kreaturen, Rahmen etc. werden mit Obj abgekürzt. Punktestand-Ziele werden mit dem Zusatz PZ ausgestattet.
    • => Damit man immer auf einen Blick erkennt, um was es sich dabei gerade handelt, gerade bei sehr großen Techniken kann man schnell den Überblick verlieren.
  • Alle selbst definierbaren Zählwerte wie Punktestand-Ziele, Variablen, Objektnamen etc. werden abgekürzt und nach der CamelCase-Richtlinie eingerückt. Nicht begrenzte Wortbezeichnungen können ab der Varianten-Zahl ausgeschrieben werden.
    • /execute if entity @e[name="ObjTechEl.5B"]
    • /scoreboard players test #VarTechEl.7Ausgabe PZTechEl.1 0 0
    • => Damit die Namen nicht zu lang ausfallen (durch Leerzeichen oder Unterstrich), da man maximal nur 16 Zeichen bei Punktestand-Zielen verwenden kann.

Etiketten

  • Etiketten sind dazu gedacht bestimmte Objekte zu bestimmen und zu erkennen
    • Etiketten werden mit Eti abgekürzt.
    • Etiketten werden mit dem Befehl /tag verwaltet
  • Dies würde alle Creeper und Zombies die mindestens 5 Blöcke in der Nähe der Befehlsquelle sind, töten
    • Befehl /tag @e[type=zombie,distance=..5] add EtiTechEl.6
    • Befehl /kill @e[tag=EtiTechEl.6]
    • => Somit kann man mehrere Objekte mit verschiedenen Eigenschaften alle durch das eine Etikett gleichzeitig auswählen

Funktionen

  • Bei Funktionen wird der Ordner immer TW: und die Textdateien Technik nach der Technik bezeichnet. Bei Vererbungen sollte man zur besseren Struktur weitere Unterordner anlegen und dort dann die Unterfunktionen einbauen. Die Unterfunktionen werden dabei, immer mit / (Schrägstrich) und nicht mit \ (Rückstrich) eingebunden.
    • /function technik_wiki:technik-element/v1beispiel
    • /function technik_wiki:technik-element/Zähl.1/TechEl.1Endlos
    • => Damit man einen Hauptordner "technik_wiki" hat, der die Technik-Wiki-Funktionen beinhaltet und in diesem dann wiederum für jede Technik ein Ordner existiert in dem noch weitere Funktionen eingetragen werden können.
  • Damit Funktionsbefehle leichter zu verstehen sind, werden sie immer mit Kommentaren ausgestattet, dies geht mit einem # (Raute) vor dem Kommentar.
    • => Die Kommentare sind wichtig, da Funktionen eine beliebig große Anzahl an Befehlen beherbergen kann, bei der nicht immer klar werden muss, was sie bewerkstelligen.

Konstruktionen

  • Konstruktionsblock-Dateien werden mit KS ausgestattet.
    • /setblock ~ ~ ~1 minecraft:structure_block 1 keep {mode:"SAVE",name:"technik_wiki:ks_technik-element_1vergleicher"}
    • => Damit man immer den Überblick über Konstruktionsdateien behält, falls man sie umbenennen muss.


Disambig color
Grid Grasblock
Auch im Minecraft Wiki wird das Thema dieser Technik behandelt:
Redstone-Element