Hast du auch schon immer gedacht, dass die Welt doch nicht so rund ist, wie sie zu sein scheint? Hattest du jeher das Gefühl, dass die Kreiszahl eher quadratisch sein müsste?
Dann bist du genau hier richtig! Blockforum ist die neue Minecraft-Community. Werde Mitglied und teile mit uns Deine Leidenschaft. Wir freuen uns auf dich!

Der Zugriff auf das Forum ist für Gäste eingeschränkt, als registrierter Benutzer würden Dir alle Funktionen (wie z.B. Bildvergrößerung und Downloads) im Forum zur Verfügung stehen.

Grundlagen

    • Tutorial

      Grundlagen

      Bitte hier kein Feedback schreiben!
      Hier geht es zum Feedback-Thread


      Hier werde ich, wenn es sich gerade ergibt, Grundlagen erklären. Da Gerade im Anzeigetafel-Thread die Zielauswahl aufgetaucht ist, werde ich das hier im übernächsten Beitrag kurz erklären. :) Zuvor kommen aber noch einige grundlegende Grundlagen ;)

      Befehlsblock als Redstonekomponente

      Bevor die anderen Punkte gelesen werden sollte dies hier gelesen werden.
      aktivieren eines Befehlsblockes
      Ein Befehlsblock wird durch Redstone aktiviert. Das heißt, man kann durch jede Redstoneschaltung einen Befehlsblock z.B. durch einen Knopfdruck aktivieren. Soll er ständig irgendetwas überprüfen, so kann er auch durch eine Clock alle 0,2 Sekunden (=2 Redstone-Ticks) aktiviert werden.
      Überprüfen mit dem Befehlsblock
      Wenn überprüft werden soll, ob der Befehl erfolgreich war (z.B. bei /testfor), muss ein so Komparator neben dem Befehlsblock platziert werden, dass die Seite mit den beiden Fackeln am Befehlsblock liegt. Hierbei ist zu beachten, dass der Komparator so lange ein Signal abgibt, wie der Befehl, als er zuletzt ausgeführt wurde, erfolgreich war. D.h. Wurde der Befehlsblock einmal aktiviert und der Befehl war erfolgreich, so wird ein Komparator die ganze Zeit ein Signal ausgeben. Wird der Befehlsblock aber danach noch einmal aktiviert, und der Befehl war nicht erfolgreich, so geht auch der Komparator wieder aus.


      Inhaltsverzeichnis
      1. Befehle im Allgemeinen
      2. Zielauswahl
      3. NBT-Daten

      Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von „Baumeister_Daniel“ ()

      1. Befehle im Allgemeinen

      [nach oben]
      Mit einem Befehlsblock kann man jeden Befehl ausführen. Hierzu muss man aber zunächst einmal die Befehle verstehen ;)

      Einen Befehl richtig lesen

      Ein Befehl fängt immer mit einem Slash ("/") an. Im Befehlsblock kann er auch weggelassen werden, beim Schreiben eines Befehls im Chat ist er aber unbedingt erforderlich
      Danach kommt der Befehl selbst. Er beginnt mit einer Bezeichnung für den Befehl, z.B. "time" um die Spielzeit zu verändern. Danach kommen Parameter, die für jeden Befehl anders sind. der befehl für time sieht beispielsweise so aus:
      /time set|add <Zeit>
      Bei set|add bedeutet der strich "|", dass man entweder set oder add schreiben muss. Ein Parameter kann auch mehr als 2 Optionen haben, dann wird einfach ein weiterer Strich gesetzt (z.B. set|add|remove).
      <Zeit> ist ein ganz normaler Parameter. Man erkennt ihn daran, dass er von größer/kleiner-Zeichen eingeschlossen ist.

      Manchmal sind Parameter auch in [eckigen Klammern]:
      /give <Spieler> <Gegenstand-ID> [Menge] [Metadaten-ID] [NBT-Daten]
      Spieler und Gegenstand-ID sind wieder ganz normale Parameter.
      Menge, Metadaten-ID und NBT-Daten sind jedoch in eckigen Klammern. Das bedeutet ganz einfach, dass diese Parameter optional sind, also nicht zwangsläufig belegt werden müssen.

      Befehlstypen

      Man unterscheidet zwischen Befehlen. Es gibt Spieler-Befehle, Cheat-Befehle, Server-Befehle und Befehlsblock-Befehle.
      Spieler-Befehle kann jeder Spieler in jedem Spielmodus verwenden, auch wenn Cheats erlauben auf aus ist.
      Cheat-Befehl ist ein Befehl, der das Spiel verändert. Er kann im Einzelspieler nur verwendet werden, wenn man Cheats erlauben auf An gestellt hat und im Mehrspieler benötigt man Operator-Rechte.
      Server-Befehle sind auf Servern vorhanden und funktionieren auch in der Server-Konsole.
      Befehlsblock-Befehle können vom Befehlsblock ausgeführt werden.

      relative Koordinaten

      Kommen in einem Befehl Koordinaten (x y z) vor, so kann man anstelle der reellen Koordinaten auch relative Koordinaten verwenden. Das heißt, dass den Koordinaten der Befehlsquelle die gegebenen Koordinaten entweder hinzugefügt werden oder abgezogen werden. Dazu muss man einfach eine Tilde (~) vor jede Koordinate schreiben. Bei +/- 0 muss nur die Tilde geschrieben werden.
      Beispiel: ~5 ~ ~-3
      Bedeutet von der Befehlsquelle aus 5 Blöcke in x-Richtung, 0 Blöcke in y-Richtung und 3 Blöcke in entgegengesetzte z-Richtung. Wie sich die Koordinaten verändern, kann man wie folgt ablesen:
      1. F3 drücken
      2. Den Wert bei "facing" bzw. vor Versin 1.8 bei "f" ablesen. Seit Version 1.8 steht dort jeweils positive bzw. negative x oder z. Vor Version 1.8 hier eine Liste:
        1. 0 (Süden): z-Richtung
        2. 1 (Westen): entgegengesetzte x-Richtung
        3. 2 (Norden): entgegengesetzte z-Richtung
        4. 3 (Süden): x-Richtung
      [nach oben]

      Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von „Baumeister_Daniel“ ()

      2. Zielauswahl

      [nach oben]
      Es gibt viele Befehle mit dem Parameter "<Spielername>". Gerade wenn man Abenteuerkarten erstell, möchte man aber oft, dass die Befehle für jeden Spieler, der die Karte spielt funktioniert. Dazu gibt es sogenannte Zielauswahlen, die man anstelle eines Spielernamens verwenden kann.

      Zielauswahlen

      Name der Zielauswahl
      Beschreibung
      @p
      Der Spieler, der der Befehlsquelle am nächsten steht
      @a
      Alle Spieler
      @r
      ein zufälliger Spieler
      Neu mit Version 1.8
      @e
      Alle Objekte (also Mobs, Spieler, Geschosse, Fahrzeuge, Drops usw.). Funktioniert nicht bei allen Befehlen.
      Schreibt man also in einen Kommandoblock /give @p stone 10 bekommt der Spieler, der dem Kommandoblock am nächsten steht 10 Steine ins Inventar. Würde diesen Befehl ein Spieler im Chat ausführen, würde dieser Spieler selbst 10 Steine bekommen, weil er die Befehlsquelle ist und somit logischerweise auch der Befehlsquelle am nächsten.

      Eigenschaften

      Man kann die Zielauswahl spezifizieren, indem man noch bestimmte Eigenschaften definiert. diese schreibt man ohne Leerzeichen in eckige Klammern neben die Zielauswahl. Eine Eigenschaft kann immer nur einmal belegt werden. Bei Mehrfachbelegung wird nur der letzte Wert berücksichtigt
      Eigenschaft
      Erklärung
      Beispiele
      x, y, z
      Die Koordinaten für den Mittelpunkt beim Radius, bzw. der Eckpunkt bei Angabe von dx, dy und dz. Wenn x, y und z nicht gegeben sind, werden die Koordinaten der Befehlsquelle
      @a[x=-62,y=42,z=1042,r=5]
      Alle Spieler in dem Würfelförmigen Bereich mit Radius 5 und Mittelpunkt x=-62 y=42 und z=1042 werden ausgewählt. Also von x=-67/y=37/z=1037 bis x=-57/y=47/z=1047
      r
      Ausgewählt werden nur Objekte, die sich in dem Radius befinden, dessen Mittelpunkt bei dem definierbaren x, y, z oder der Befehlsquelle liegt
      @p[r=42]
      Der Spieler, der sich in dem würfelförmigen Bereich in einem Radius von 42 und mit dem Mittelpunkt die Befehlsquelle befindet und, bei mehren, der der sich der Befehlsquelle am nächsten befindet (wegen Zielauswahl "@p" nur einer)
      rm
      Mindestradius. Ausgewählt werden Objekte, die sich außerhalb des Radiuses befinden.
      @a[rm=5,r=10]
      Alle Spieler, die mindestens 5 und maximal 10 Blöcke von der Befehlsquelle entfernt sind
      Neu mit Version 1.8
      dx, dy, dz
      Ausdehnung eines Quaderförmigen Bereiches, dessen Eckpunkt bei x, y, z liegt. Mit der Ausdehnung sind keine Koordinaten gemeint, sondern wie weit sich der Bereich in x, y bzw. z Richtung Ausdehnt.
      Man kann den Wert errechnen, indem man Von den Koordinaten bis zu denen der Bereich gehen soll die bei x, y, z definierten (bzw. die der Befehlsquelle) abzieht
      @a[x=-62,y=42,z=1042,dx=10,dy=2,dz=5]
      Alle Spieler, die sich in dem Quderförmigen Bereich befinden, der die Eckpunkte x=-62/y=42/z=1042 und x=-52/y=44/z=1047 hat.
      c
      Maximale Auswahlmenge. Wenn sich mehr Spieler, als hier definiert werden im Auswahlbereich befinden, werden nur die ausgewählt, die dem Mittelpunkt des Auswahlbereiches am nächsten sind.
      @a[r=42,c=3]
      Maximal drei Spieler, die sich in einem Radius von 42 Blöcken um die Befehlsquelle aufhalten. Bei mehr als 3 Spielern die 3, die der Befehlsquelle am nächsten sind.
      m
      Spielmodus des Spielers (0=Überlebensmodus, 1 = Kreativmodus, 2 = Abenteuermodus und 3 = Beobachtungsmodus)
      @a[m=1]
      Alle Spieler im Kreativmodus
      l
      Maximales Erfahrungslevel
      @a[m=0,l=25]
      Alle Spieler im Überlebensmodus, die maximal Stufe 25 sind
      lm
      Minimales Erfahrungslevel
      @a[m=0,l=25,lm=10]
      Alle Spieler im Überlebensmodus, die maximal Stufe 25 sind und mindestens Stufe 10
      Neu mit Version 1.8
      rx
      Maximaler Kopfneigungswinkel. -90 = senkrecht nach oben, 0 = waagerecht und 90 = senkrecht nach unten
      @a[rx=-45]
      Alle Spieler, die Diagonal schräg nach oben gucken oder noch höher
      Neu mit Version 1.8
      rxm
      Minimaler Kopfneigungswinkel.
      @a[rxm=-50,rx=-40]
      Alle Spieler, die in etwa Diagonal schräg nach oben gucken. (-50<-40 also -50 ist der minimale)
      Neu mit Version 1.8
      ry
      Maximaler Blickrichtungswinkel. -180 = Norden, -90 = Osten, 0 = Süden, 90 = Westen und 180 = Norden.
      @a[rxm=-50,rx=-40,ry=-175]
      Alle Spieler, die in etwa Diagonal schräg nach oben in Richtung Norden gucken.
      Neu mit Version 1.8
      rym
      Minimaler Blickrichtungswinkel
      @a[rxm=-50,rx=-40,ry=10,rym-10]
      Alle Spieler, die in etwa Diagonal schräg nach oben und ungefähr in Richtung Süden gucken.
      score_name
      Höchstpunktestand, für das Ziel, das bei der Anzeigetafel unter dem bei name vermerktem internen Namen zu finden ist.
      Für Hilfestellungen zur Anzeigetafel hier klicken
      @a[score_Sprengmeister=50]
      Alle Spieler, die bei Sprengmeister maximal 50 Punkte erreicht haben
      score_name_min
      Mindestpunktstand für das Ziel.
      @a[score_Sprengmeister_min=25,score_Sprengmeister=50]
      Alle Spieler, die bei Sprengmeister mindestens 25 und maximal 50 Punkte erreicht haben
      team
      Mitgliedschaft in einem Team der Anzeigetafel. Es muss der interne Name des Teams angegeben werden. Mit einem "!" vor dem Namen wird es zu einer Negation, und alle Spieler, die nicht diesem Team angehören werden ausgewählt
      Für Hilfestellungen zu den Teams hier klicken
      @a[team=Krümelmonster]
      Alle Spieler, die im team Krümelmonster sind

      @a[team=!Krümelmonster]
      Alle Spieler, die nicht im team Krümelmonster sind

      @a[team=]
      Alle Spieler, die in keinem team sind

      @a[team=!]
      Alle Spieler, die in irgendeinem Team sind.
      name
      Name des Spielers. Mit einem "!" vor dem Namen wird es zu einer Negation, und alle Spieler, die nicht diesen Namen tragen werden ausgewählt
      @a[name=Schortan,score_Sprengmeister_min=25]
      Wird bei einem /testfor erfüllt, wenn der Spieler Schortan beim Ziel Sprengmeister mindestens den Punktestand 25 erreicht hat.

      @a[name=!Schortan]
      Alle Spieler außer Schortan
      Neu mit Version 1.8
      type
      Objekt-ID des Ziels. Mit einem "!" vor dem Namen wird es zu einer Negation, und alle Objekte außer das mit der ID weden ausgewählt.
      @e[type=Creeper]
      Alle Creeper

      [nach oben]

      Dieser Beitrag wurde bereits 9 mal editiert, zuletzt von „Baumeister_Daniel“ ()

      3. NBT-Daten

      [nach oben]

      In vielen Befehlen gibt es den Parameter [NBT-Daten]. Die gesamte Minecraft-Welt ist im NBT-Format (Named Binary Tag-Format) gespeichert. Um NBT-Daten in Befehlen zu verändern benötigt man als Eingabeformat das JSON-Format (JavaScript Object Notation-Format).
      Für jedes Objekt können unterschiedliche NBT-Daten definiert werden, auch wenn sie sich zum Teil gleichen (Beispiel: Jeder Mob hat den Parameter "Health", der die aktuelle Gesundheit zeigt. "ExplosionRadius" ist der Radius der Explosion und kann nur beim Creeper angegeben werden).
      Für die unterschiedlichen Daten gibt es unterschiedliche Datentypen. Manchmal muss in Befehlen der Datentyp mit dem Kürzel, welches bei "Markierung" genannt wird, markiert wurden, meistens ist dies jedoch nicht erforderlich.

      IconMakierungNameBeschreibung
      :nbtb: bByteWird häufig für Booleans verwendet (true=1/false=0). Ist eine Zahl (keine Dezimalstellen) zwichen -128 und 127.
      :nbts: sShortIst eine Ganzzahl mit einen Wertebereich zwichen -32768 und 32767.
      :nbti: nichtsIntIst eine Ganzzahl mit einem Wertebereich von -2.147.483.648 bis 2.147.483.647 (~2 Milliarde)
      :nbtl: lLongIst eine Ganzzahl mit einem werte bereich von -9.223.372.036.854.775.808 bis 9.223.372.036.854.775.807 (~9 Drillionen)
      :nbtf: fFloatFließkommazahl (geringere Genauigkeit als Double)
      :nbtd: dDoubleFließkommazahl (höhere Genauigkeit als Float)
      :nbtst: Inhalt steht in ""StringIst ein Text. Wird manchmal auch für Booleans mit den Worten true und false verwendet (meist wird aber der Typ Byte verwendet)
      :nbtli: Inhalt steht in []ListEine Liste. Enthält meistens mehrere Compound-Tags, selten aber auch unbenannte sonstige Datentypen. Alle Datentypen der Liste sind immer die selben.
      :nbtc: Inhalt steht in {}CompoundEin Compound-Tag kann beliebig viele andere Tags unterschiedlicher Typen enthalten. Kann auch weitere Compound-Tags enthalten, dadurch entsteht dann eine Baumstruktur.


      Ich habe bewusst das Byte- und Int-Array ausgelassen, weil die für Befehle und unsere Zwecke nicht wichtig sind.

      Im Folgenden werde ich auf die Schreibweise des JSON-Formates näher eingehen.
      Das JSON-Format wird unter anderem für Befehle benötigt, die NBT-Daten enthalten. Es ist auch ein Teil der Plugin-API und kommt daher z.B. auch in Ressourcenpaketen zum Einsatz.

      Ich werde das Format anhand eines Beispieles näher erläutern:

      Quellcode

      1. /summon Skeleton ~ ~1 ~
      2. {
      3. CustomName:"Fernkämpfer Feigling",
      4. CustomNameVisible:1b,
      5. Health:17s,
      6. Equipment:
      7. [
      8. {
      9. Count:1b,
      10. id:"minecraft:bow"
      11. },
      12. {
      13. Count:1b,
      14. id:"minecraft:diamond_boots"
      15. },
      16. {
      17. Count:1b,
      18. id:"minecraft:diamond_leggings"
      19. },
      20. {
      21. Count:1b,
      22. id:"minecraft:diamond_chestplate"
      23. },
      24. {
      25. Count:1b,
      26. id:"minecraft:diamond_helmet"
      27. }
      28. ]
      29. }

      Hinweis:
      Vor Version 1.8 müssen beim Equipment numerische IDs verwendet werden!


      Am Anfang steht immer eine geschweifte Klammer ({), die den Beginn des ersten Compound-Tags darstellt. Danach kommt ein String. Ein String muss mit Anführungszeichen (Entwerder ' oder ") eingeschlossen werden, sobald er mindestens ein Leerzeichen oder Doppelpunkt enthält.
      Der Tag CustomNameVisible ist ein Byte-Tag, daher kann die Makierung b verwendet werden. Hier könnte man es auch weglassen, manchmal ist es jedoch auch erforderlich.
      Der Health-Tag benötigt die Makierung s zum Funktionieren.
      Das Equipment ist ein List-Tag. In einem List-Tag stehen weitere unbenannte Tags, in diesem Fall Compound-Tags. Alles, was in dem List-Tag ist muss in Eckigen Klammern ([ ]) geschlossen sein. Der Inhalt von Compound-Tags ist von geschweiften Klammern ({ }) eingeschlossen.
      zu beachten ist, dass nach jedem Tag (auch bei List bzw. Compound-Tags nach der schließenden Klammer) ein Komma stehen muss, sofern weitere Tags folgen.

      Wie die einzelnen Tags eines spezifischen Objektes heißen, und wofür sie gut sind, findet man im Wiki. Ich werde bei möglichen NBT-Daten entweder auf das Wiki verweisen oder u.U. selbst einen Baum zuerstellen, wenn es unübersichtlich wird...

      [nach oben]

      Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „Baumeister_Daniel“ ()

    Du bist nicht angemeldet.
    Anmelden oder Registrieren