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.

CommandblocksJS - Vanilla Minecraft in Javascript programmieren

      CommandblocksJS - Vanilla Minecraft in Javascript programmieren

      Hallo Community, Internet und Welt

      In den letzten Monaten hab ich an einem externen Tool für Minecraft gearbeitet das ermöglicht Javascript Code (der die CommandblocksJS API verwendet) auszuführen und in eine Minecraft Welt als Kommandoblöcke zu schreiben. Damit bietet es unter anderem die Möglichkeit komplexe Aufgaben, deren Logik in Programmcode viel einfacher verständlich ist als in Kommandoblöcken, zu programmieren und für Minecraft zu übersetzen. Wichtig zu erwähnen ist auch, dass die Ausgabe sprich die Minecraft Welt in Vanilla Minecraft funktioniert und keine Mods/Plugins benötigt.

      Ein kleines Beispiel: Fast jeder Server und auch viele Adventure Maps haben heutzutage einen Autoannouncer der stumpf alle z.b. 2 Minuten eine Nachricht ausgibt. Dies kann man mit CommandblocksJS sehr einfach "programmieren":

      Quellcode

      1. timer(1200, function()
      2. {
      3. say("Irgendeine Nachricht");
      4. });

      Die Timer Funktion führt alle 1200 Decisekunden (=1/10 Sekunde = 1 repeater =2 ticks) die Funktion aus die als 2. Parameter übergeben wird, in diesem Fall eine die eine Nachricht per say Befehl ausgibt.
      Die "Ausgabe" sieht so aus:

      Sie beinhaltet schon mehrere Kommandoblöck die ein Scoreboard objective für den timer erstellen damit bis 120 (sekunden) zählen und dann den say Befehl ausführen

      Dies bringt mich auch gleich zum nächsten Vorteil von CommandblocksJS man kann Dinge innerhalb weniger Minuten schreiben für die man in Minecraft viel länger zum bauen bräuchte. Ein Beispiel für so etwas ist ein Countdown beispielsweise vor einen Spielstart:

      Quellcode

      1. for(var i = 10; i > 0; i--)
      2. {
      3. say("Spiel startet in "+i+" Sekunden!");
      4. }

      hier sollte man allerdings beachten dass in diesem Fall nicht eine Variable in Minecraft erstellt wird sondern lediglich in Javascript. Somit ist die Ausgabe 10 Kommandoblöcke mit say Befehlen und keine for schleife mit Kommandoblöcken ;)

      Es gibt noch viel mehr Features wie z.b. Variablen erstellen:

      Quellcode

      1. var myString = new RuntimeString();
      2. myString.set("Hallo Welt");

      Diese kann man dann auch in eine Tellraw Nachricht einbauen:

      Quellcode

      1. var message = new Tellraw();
      2. message.addText("Wert: ");
      3. message.addExtra(myString.asTellrawExtra());


      Eine Dokumentation befindet sich genauso wie der gesamte Source code auf Github

      Ich freue mich natürlich immer auf Feedback zu meiner Arbeit und hoffe ihr und natürlich besonders @Baumeister_Daniel können damit was anfangen :)

      MFG Jakob (aka M4GNV5)

    Du bist nicht angemeldet.
    Anmelden oder Registrieren