Minecraft Skript "Einrückung" Erklärung?

2 Antworten

(...) wie viel muss ich eine Zeile immer "einrücken"?

Dafür gibt es keine feste Vorgabe. Bei Skriptlang handelt es sich lediglich um eine Konvention, die den Code besser lesbar machen soll. So ist leichter ersichtlich, wo Code-Blöcke anfangen oder enden. Ich würde dir daher empfehlen, ebenfalls stets Einrückungen zu nutzen.

Die übliche Spannweite einer Einrückung liegt bei 2-8 Zeichen nach rechts (dann aber immer einheitlich, nicht variierend) - manche Entwickler finden große Einrückungen besser, manche eher kurze. In den Beispielen aus der Dokumentation nutzt man die wohl am weitesten verbreitete Einrückungslänge von vier Leerzeichen.

Bei weiterentwickelten Quelltexteditoren (wie Notepad++, Sublime Text, Visual Studio Code, etc.) oder IDEs gibt es übrigens meist die Option, in den Editoreinstellungen die Tabulatortaste umzudefinieren, sodass sie für ein Tab-Zeichen eine bestimmte Anzahl an Leerzeichen setzt.

Ich hab herausgefunden das immer z.B nach einem Event oder Bedingung man die nächste Zeile nach Rechts rücken muss

Im Grunde immer dann, sobald du einen neuen Codeblock/Kontext öffnest.

Beispiel:

function doesExist(haystack: objects, needle: object) :: boolean:
  loop {_haystack::*}:
    if loop_value is {_needle}:
      return true
  return false

Es gibt drei Kontexte: Den Funktionsblock, den Schleifenblock und den Block der durchlaufen wird, wenn die Bedingung zutrifft. Folglich gibt es im Code drei Einrückungen.

Und wenn man doch richtig viel Skript hat dann wird doch am Ende richtig weit rechts geschrieben, oder?

Ja, bei einer tiefen Verschachtelung könnte das passieren. Dem kannst du allerdings entgegenwirken, indem du Codeabläufe umstrukturierst oder Code in Funktionen auslagerst.

Beispiel:

Bei dieser konstruierten Schachtelung

trigger:
  if {someValue} is true:
    if {someOtherValue} is true:
      message "Hello"

könnte man die Bedingungsausdrücke logisch umdrehen und falls sie zutreffen, vorzeitig aus dem Codeblock herausspringen.

trigger:
  if {someValue} is not true:
    stop trigger

  if {someOtherValue} is not true:
    stop trigger

  message "Hello"
Neueruser541 
Fragesteller
 09.11.2023, 08:27

Danke fùr deine tolle Antwort, dank dir hab ich's endlich verstanden! Doch Irgendwie bin ich noch ein wenig zu dumm um zu verstehen wie man Codeabläufe um strukturiert, doch ich kann mal ein wenig drüber nachgucken.

0

Mein Tipp, Besorgt dir IntelliJ erstell ein Leeres Projekt, und hoffe das es dieses Minecrft Scripting Plugin nich gibt. https://www.jetbrains.com/de-de/idea/

Sonst ist das Einrücken eingentlich für Minecraft Scripting nicht Relevant, es ist nur für die Optik gut

Woher ich das weiß:Hobby – Spiele Minecraft seit 2015
Neueruser541 
Fragesteller
 09.11.2023, 08:28

Eigentlich kommt eine Fehlermeldung wenn man die ignoriert, also ist das eigentlich nicht nur wegen der Optik. (Denke ich)

0