Das offizielle Minecraft Wiki twittert hier: Wiki-Twitter     Noch keinen Server gefunden? Es gibt einen Wiki-Server
Neue Technik-Seiten werden hier vorgeschlagen: Gemeinschaftsportal

Abenteuermechanismen/Aufbau

Aus Technik Wiki
Wechseln zu: Navigation, Suche

Jede Abenteuerwelt die erstellt werden will, benötigt einen vernünftigen Aufbau. Dabei muss man für das Map Making auf zahlreiche Grundlagen zugreifen die man braucht um eine gute Abenteuerwelt zu erstellen. Zuallererst sollte man sich mit den Grundlagen befassen und sich die Befehle aussuchen, die man benötigt um das zu kreieren was man machen möchte. Hat man sich den Befehl oder die Befehle rausgesucht, so baut man sich anschließend diese zusammen und testet ob sie den Anforderungen entsprechen. Dann kann man über gehen und das ganze in Befehlsblöcken abspeichern. Wenn man Statistiken oder andere Spieldaten abfragen möchte, sollte man sich die Anzeigetafel zu rate ziehen. Bei Textnachrichten ist das JSON-Format zwingend erforderlich.

Um Objekte, Blöcke oder Gegenstände individuell zu gestalten/ kreieren sollte man sich auch mit dessen Spieldaten auseinandersetzen. Zu guter letzt kann man sich noch viele Beispiel-Befehle unter den Anleitungen anschauen, da geht es los von ganz einfachen einzelnen Befehlen bis zu den ganz komplexen und sehr langen in einander geschachtelten Befehlen die so komprimiert wurden, dass sie in nur einem Befehlsblock ausgeführt werden können.

Zu all dem kann auch der Konstruktionsblock zur Hilfe genommen werden. Mit ihm lassen sich große Bereiche schnell und einfach nach belieben anpassen.

Grundlagen[Bearbeiten | Quelltext bearbeiten]

Abenteuermechanismen Aufbau1Bild1.png

Elemente[Bearbeiten | Quelltext bearbeiten]

Einige der Befehlsblock-Techniken einer Abenteuerwelt benötigen diese Elemente:

Lupe.png Hauptartikel: Abenteuerwelt
Lupe.png Hauptartikel: Befehl
Lupe.png Hauptartikel: Befehlsblock
Lupe.png Hauptartikel: Anzeigetafel
Lupe.png Hauptartikel: JSON-Text

Spieldaten[Bearbeiten | Quelltext bearbeiten]

Alle Befehle benötigen bestimmte Daten:

Lupe.png Hauptartikel: Attribut
Lupe.png Hauptartikel: Blockobjektdaten
Lupe.png Hauptartikel: Blockzustand
Lupe.png Hauptartikel: Datenwerte
Lupe.png Hauptartikel: Gegenstandsdaten
Lupe.png Hauptartikel: Kreaturdaten
Lupe.png Hauptartikel: Metadaten
Lupe.png Hauptartikel: Objektdaten
Lupe.png Hauptartikel: Spielerdaten
Lupe.png Hauptartikel: Weltdaten

Anleitungen[Bearbeiten | Quelltext bearbeiten]

Zusätzlich gibt es auch Beispiel-Befehle die hier aufgelistet sind:

Lupe.png Hauptartikel: Befehle mit NBT
Lupe.png Hauptartikel: Komprimierte Befehle erstellen
Lupe.png Hauptartikel: Komprimierte Befehle - Beispiele

Regeln[Bearbeiten | Quelltext bearbeiten]

Abenteuermechanismen Aufbau1Bild2.png

Jede Abenteuerwelt unterliegt bestimmten, vom Autor der Karte vorgegebenen Regeln, an die man sich beim Spielen halten muss. Je nach Genre der Karte fallen die Regeln unterschiedlich aus. Die nachfolgende Liste bietet nur einen kleinen Überblick über die allgemeine Gestalt dieser Regelungen:

  • Grundsätzlich beinhaltet jede Abenteuerwelt die Regel, dass man nicht gegen die Regeln verstoßen sollte, denn sie wurden vom Autor mit gutem Grund festgelegt und unterstützen das Aufkommen von Spielspaß.
  • Nur auf Überlebenskarten ist das Platzieren und Abbauen von Blöcken möglich, da dort der Spieler im Überlebensmodus ist und nicht wie in den anderen im Abenteuermodus. Somit ist gewährleistet, dass der Spieler nicht bestimmte Spielabschnitte umgehen kann, indem er sich bspw. durch die Abgrenzung eines Weges gräbt. An bestimmten Orten gibt es auch bestimmte Gegenstände die man an bestimmten Blöcken setzen kann (Beispiel ein Hebel). Oder aber man bekommt ein bestimmtes Werkzeug mit dem man nur bestimmte Blöcke abbauen kann.

↑ Zum Seitenanfang ↑

Spielstart[Bearbeiten | Quelltext bearbeiten]

Abenteuermechanismen Aufbau1Bild3.png

Für die Erstellung der Hinweise als Schildnachricht, beschriebene Bücher, schwebende Texte oder Befehlsnachrichten können folgende Beispiel-Befehle genutzt werden, wobei die grüne Markierungen zeigen, wo man die Nachricht ändern könnte:

Schildnachricht:
/blockdata ~ ~1 ~  
{Text1:"{
       \"text\":\"Abenteuerwelt-\",
       \"color\":\"blue\",
       \"clickEvent\":
                      {
                       \"action\":\"run_command\",
                       \"value\":\"/tellraw @p {
                                                \\\"text\\\":
                                                \\\"Zur Wiki-Seite 'Abenteuerweltaufbau'\\\",
                                                \\\"color\\\":\\\"green\\\",
                                                \\\"hoverEvent\\\":
                                                                   {
                                                                    \\\"action\\\":\\\"show_text\\\", 
                                                                    \\\"value\\\":\\\"Klick mich!\\\"
                                                                   },
                                                \\\"clickEvent\\\":
                                                                   {
                                                                    \\\"action\\\":\\\"open_url\\\",
                                                                    \\\"value\\\":\\\"http://minecraft-de.gamepedia.com/Abenteuerweltaufbau\\\"
                                                                   }
                                               }
                      \"}
      }",
Text2:"{
      \"text\":\"aufbau\",
      \"color\":\"blue\"
      }"
}

↑ Zum Seitenanfang ↑

Handlungs-Elemente[Bearbeiten | Quelltext bearbeiten]

Abenteuermechanismen Aufbau1Bild4.png

Typische Handlungs-Elemente sind Dialogpartner mit denen man in einer gewissen Weise agieren muss. Um nun einen Dialogpartner zu erstellen, werden nachfolgend Befehle gezeigt mit denen man die Grundlagen für ein Gespräch mit einem Dorfbewohner schaffen kann.

Befehlsentscheidung:
/execute @e[type=Villager,name=Smith] ~ ~ ~ 
/tellraw @a[r=5] 
 ["",
  {"text":"< ",
   "color":"gold",
   "bold":true},
  {"selector":"@e[type=Villager,r=5]"},
  {"text":" >",
   "color":"gold",
   "bold":true},
  {"text":" Hallo "},
  {"selector":"@p[r=5]"},
  {"text":", kannst du für mich eine Aufgabe erledigen?",
   "color":"white"},
  {"text":" [Ja]",
   "color":"green",
   "hoverEvent":{"action":"show_text","value":{"text":"Wirf die grüne Wolle"}},
   "clickEvent":{"action":"run_command",
                 "value":"/execute @p[tag=!Hilfsbereit,r=0] ~ ~ ~ /scoreboard players tag @p[tag=!Geizig,r=0] add Hilfsbereit"}
   },
  {"text":" [Nein]",
   "color":"red",
   "hoverEvent":{"action":"show_text","value":{"text":"Wirf die rote Wolle"}},
   "clickEvent":{"action":"run_command",
                 "value":"/execute @p[tag=!Geizig,r=0] ~ ~ ~ /scoreboard players tag @p[tag=!Hilfsbereit,r=0] add Geizig"}
  }
 ]
Für weitere Beispiele mit Befehlen siehe: Anleitungen/Befehle mit NBT

↑ Zum Seitenanfang ↑

Beispiel-Handlungen[Bearbeiten | Quelltext bearbeiten]

In den Beispielen werden folgende Farben zur besseren Übersicht verwendet und um die Funktionen deutlicher darzustellen:

  • Grün Die Befehlskette die durch einen Wiederhol-Befehlsblock permanent aktiviert ist.
  • Violett Die Befehlskette die einmal automatisch nach dem Start der Säule oder durch den Spieler aktiviert wird, welche für die richtigen Voraussetzungen sorgt.
  • Blau Die Befehlskette die nur dazu da ist, dass immer nur eine Säule pro Welt existieren kann; eine zweite wird automatisch gelöscht.
  • Gelb Die Markierung zeigt Wiederhol- und Ketten-Befehlsböcke an, welche permanent ausgeführt werden.
  • Orange Die Markierung zeigt Befehlsblöcke an, die nur einmal, beispielsweise durch den Spieler oder durch einen anderen Befehlsblock, aktiviert werden.
  • Pink Alle öffnenden Doppelklammern müssen ganz unten auf die gleiche Anzahl an schließende Klammern stoßen.
  • Grau Der Name des Befehlsblocks. Sichtbar, falls die Spielregel "commandBlockOutput" eingeschaltet ist.

Beispiel 1[Bearbeiten | Quelltext bearbeiten]

Abenteuermechanismen Aufbau Beispiel1Bild1.png

Nachfolgend kann ein komprimierter Befehl kopiert und in einer Spielewelt in einem Befehlsblock aktiviert werden. Es wurden zwei Beispiele genommen um hier eine kleine Handlung aufzubauen: Sprechender_Baumeister und Individueller Handel. Der Befehl erzeugt eine 25 Meter hohe Säule mit Befehlsblöcken. Dabei besteht die Aufgabe des Spielers einem Dorfbewohner einen Rosenstrauch abzugeben, der ihm im Gegenzug eine Truhe voller Geschenke überreicht. Wenn man auf den Dorfbewohner rechtsklickt, erhält man beim ersten mal die Nachricht "Hallo Reisender, wärst du so nett und bringst mir einen Rosenstrauch?" vom Dorfbewohner. Wenn man jetzt den Rosenstrauch noch nicht im Überlebensmodus abgebaut hat, und ihn nochmals anklickt, so erhält man diese Nachricht über den tellraw-Befehl von dem Dorfbewohner: "Nanu, was ist los? Willst du mir nicht den Rosenstrauch bringen?". Wenn man den Rosenstrauch abgebaut hat und nun zum Dorfbewohner geht und ihn erneut rechtsklickt so gibt er folgendes von sich: "Sehr gut! Jetzt gebe ich dir dafür im Tausch eine Truhe" . Nun kann man mit dem Dorfbewohner bei einem erneuten rechtsklickt mit diesem den Tausch eingehen, bei dem er gegen einen Rosenstrauch eine Truhe mit Gegenständen abgibt. Hat man den Tausch abgeschlossen, so bringt er folgendes von sich: "Bitte sehr". Jetzt könnte man die Truhe platzieren und sich über die vielen Gegenstände erfreuen. Wenn man dann nochmals versucht mit dem Dorfbewohner zu sprechen so gibt er als letzte Nachricht folgendes von sich: "Ich wünsche dir noch einen schönen Tag". Damit ist dann die Beispiel-Handlung erledigt. Mit diesen Beispiel-Elementen könnte man eine ganze Abenteuerwelt erstellen.

"Rosenstrauch"-Beispiel:

/summon FallingSand ~ ~2 ~ {Time:1,Block:chain_command_block,Data:0,TileEntityData:{CustomName:Rosenstrauch,Command:"/execute @e[type=Villager,name=Haendler] ~ ~ ~ /scoreboard players reset @a[score_Tausch_min=1,r=5] Tausch",auto:1b},

Passengers:[{id:FallingSand,Time:1,Block:chain_command_block,Data:0,TileEntityData:{CustomName:Rosenstrauch,Command:"/execute @e[type=Villager,name=Jones] ~ ~ ~ /scoreboard players reset @a[score_Reden_min=1,r=5] Reden",auto:1b},

Passengers:[{id:FallingSand,Time:1,Block:chain_command_block,Data:0,TileEntityData:{CustomName:Rosenstrauch,Command:"/scoreboard players tag @a remove Rosenstrauch",auto:1b},

Passengers:[{id:FallingSand,Time:1,Block:chain_command_block,Data:0,TileEntityData:{CustomName:Rosenstrauch,Command:"/execute @e[type=Villager,name=Jones,tag=Tausch] ~ ~ ~ /execute @e[type=Villager,name=Jones,tag=Erfuellt,r=1,c=1] ~ ~ ~ /tellraw @a[score_Reden_min=1,r=2] {\"text\":\"Ich wünsche dir noch einen schönen Tag\"}",auto:1b},

Passengers:[{id:FallingSand,Time:1,Block:chain_command_block,Data:0,TileEntityData:{CustomName:Rosenstrauch,Command:"/execute @a ~ ~ ~ /entitydata @e[type=Villager,name=Jones,tag=Tausch,r=5] {Offers:{Recipes:[]}}",auto:1b},

Passengers:[{id:FallingSand,Time:1,Block:chain_command_block,Data:8,TileEntityData:{CustomName:Rosenstrauch,Command:"/tellraw @a {\"text\":\"Bitte sehr\"}",auto:1b},

Passengers:[{id:FallingSand,Time:1,Block:chain_command_block,Data:0,TileEntityData:{CustomName:Rosenstrauch,Command:"/execute @a[score_Tausch_min=1] ~ ~ ~ /scoreboard players tag @e[type=Villager,name=Jones,tag=!Tausch,r=5] add Tausch",auto:1b},

Passengers:[{id:FallingSand,Time:1,Block:chain_command_block,Data:8,TileEntityData:{CustomName:Rosenstrauch,Command:"/scoreboard players tag @e[type=Villager,tag=!Erfuellt] add Erfuellt",auto:1b},

Passengers:[{id:FallingSand,Time:1,Block:chain_command_block,Data:8,TileEntityData:{CustomName:Rosenstrauch,Command:"/entitydata @e[type=Villager,name=Jones] {Offers:{Recipes:[{buy:{id:double_plant,Damage:4s,Count:1b},sell:{id:chest,Count:1b,tag:{display:{Name:\"Abenteuerbox\",Lore:[\"Die Truhe ist gefüllt\"]},BlockEntityTag:{Items:[{Slot:0, id:chainmail_helmet,Count:1b,tag:{ench:[{id:0,lvl:4}]}},{Slot:1, id:chainmail_chestplate,Count:1b,tag:{ench:[{id:0,lvl:4}]}},{Slot:2, id:chainmail_leggings,Count:1b,tag:{ench:[{id:0,lvl:4}]}},{Slot:3,id:chainmail_boots,Count:1b,tag:{ench:[{id:0,lvl:4}]}},{Slot:4,id:diamond_sword,Count:1b,tag:{ench:[{id:16,lvl:5}]}},{Slot:5,id:spawn_egg,Count:1b,tag:{EntityTag:{id:EntityHorse}}},{Slot:6,id:saddle,Count:1b},{Slot:7,id:iron_horse_armor,Count:1b}]}}},maxUses:1,uses:0}]}}",auto:1b},

Passengers:[{id:FallingSand,Time:1,Block:chain_command_block,Data:0,TileEntityData:{CustomName:Rosenstrauch,Command:"/execute @e[type=Villager,name=Jones,tag=!Erfuellt] ~ ~ ~ /tellraw @a[score_Reden_min=1,tag=Rosenstrauch,r=2] {\"text\":\"Sehr gut! Jetzt gebe ich dir dafür im Tausch eine Truhe\"}",auto:1b},

Passengers:[{id:FallingSand,Time:1,Block:chain_command_block,Data:8,TileEntityData:{CustomName:Rosenstrauch,Command:"/scoreboard players tag @e[type=Villager,tag=!Auftrag] add Auftrag",auto:1b},

Passengers:[{id:FallingSand,Time:1,Block:chain_command_block,Data:0,TileEntityData:{CustomName:Rosenstrauch,Command:"/execute @e[type=Villager,name=Jones,tag=!Tausch] ~ ~ ~ /execute @e[type=Villager,name=Jones,tag=!Auftrag,r=1,c=1] ~ ~ ~ /tellraw @a[score_Reden_min=1,tag=!Rosenstrauch,r=2] {\"text\":\"Hallo Reisender, wärst du so nett und bringst mir einen Rosenstrauch?\"}",auto:1b},

Passengers:[{id:FallingSand,Time:1,Block:chain_command_block,Data:0,TileEntityData:{CustomName:Rosenstrauch,Command:"/execute @e[type=Villager,name=Jones,tag=!Tausch] ~ ~ ~ /execute @e[type=Villager,name=Jones,tag=Auftrag,r=1,c=1] ~ ~ ~ /tellraw @a[score_Reden_min=1,tag=!Rosenstrauch,r=2,c=1] {\"text\":\"Nanu, was ist los? Willst du mir nicht den Rosenstrauch bringen?\"}",auto:1b},

Passengers:[{id:FallingSand,Time:1,Block:repeating_command_block,Data:0,TileEntityData:{CustomName:Rosenstrauch,Command:"/scoreboard players tag @a[tag=!Rosenstrauch] add Rosenstrauch {Inventory:[{id:\"minecraft:double_plant\",Damage:4s}]}",auto:1b},

Passengers:[{id:FallingSand,Time:1,Block:chain_command_block,Data:0,TileEntityData:{CustomName:Rosenstrauch,Command:"/execute @e[type=ArmorStand,name=Abenteuerweltaufbau] ~ ~ ~ /title @a[r=25] title {\"text\":\"Rosenstrauch-Beispiel\"}",auto:1b},

Passengers:[{id:FallingSand,Time:1,Block:chain_command_block,Data:0,TileEntityData:{CustomName:Rosenstrauch,Command:"/execute @e[type=ArmorStand,name=Abenteuerweltaufbau] ~ ~ ~ /setblock ~ ~1 ~ double_plant 8",auto:1b},

Passengers:[{id:FallingSand,Time:1,Block:chain_command_block,Data:0,TileEntityData:{CustomName:Rosenstrauch,Command:"/execute @e[type=ArmorStand,name=Abenteuerweltaufbau] ~ ~ ~ /setblock ~ ~ ~ double_plant 4",auto:1b},

Passengers:[{id:FallingSand,Time:1,Block:chain_command_block,Data:0,TileEntityData:{CustomName:Rosenstrauch,Command:"/execute @e[type=ArmorStand,name=Abenteuerweltaufbau] ~ ~ ~ /setblock ~ ~-1 ~ grass",auto:1b},

Passengers:[{id:FallingSand,Time:1,Block:chain_command_block,Data:0,TileEntityData:{CustomName:Rosenstrauch,Command:"/execute @e[type=ArmorStand,name=Abenteuerweltaufbau] ~ ~ ~ /summon Villager ~-8 ~-.5 ~ {Profession:2,CustomName:\"Jones\",Offers:{Recipes:[]},Attributes:[{Name:\"generic.movementSpeed\",Base:\"0f\"}],Tags:[Abenteuerweltaufbau]}",auto:1b},

Passengers:[{id:FallingSand,Time:1,Block:chain_command_block,Data:0,TileEntityData:{CustomName:Rosenstrauch,Command:"/scoreboard objectives add Tausch stat.tradedWithVillager",auto:1b},

Passengers:[{id:FallingSand,Time:1,Block:chain_command_block,Data:0,TileEntityData:{CustomName:Rosenstrauch,Command:"/scoreboard objectives add Reden stat.talkedToVillager",auto:1b},

Passengers:[{id:FallingSand,Time:1,Block:chain_command_block,Data:0,TileEntityData:{CustomName:Rosenstrauch,Command:"/gamerule commandBlockOutput false",auto:1b},

Passengers:[{id:FallingSand,Time:1,Block:chain_command_block,Data:0,TileEntityData:{CustomName:Rosenstrauch,Command:"/summon ArmorStand ~10 ~-23 ~ {Marker:1b,NoGravity:1b,CustomName:\"Abenteuerweltaufbau\",Invisible:1b,Tags:[Abenteuerweltaufbau]}",auto:1b},

Passengers:[{id:FallingSand,Time:1,Block:chain_command_block,Data:0,TileEntityData:{CustomName:Rosenstrauch,Command:"/kill @e[tag=Abenteuerweltaufbau]",auto:1b},

Passengers:[{id:FallingSand,Time:1,Block:command_block,Data:0,TileEntityData:{CustomName:Rosenstrauch,Command:"/execute @e[type=ArmorStand,name=Abenteuerweltaufbau] ~ ~ ~ /fill ~-10 ~35 ~ ~-10 ~ ~ air",auto:1b}

}] }] }] }] }]

}] }] }] }] }]

}] }] }] }] }]

}] }] }] }] }]

}] }] }] }]

}

Beispiel 2[Bearbeiten | Quelltext bearbeiten]

Abenteuermechanismen Aufbau Beispiel2Bild1.png

Wenn man diesen komprimierten Befehl in einem Befehlsblock ausführt, wird ein Dorfbewohnerzombie gespawnt, der den Namen "Vergifteter Klaus" trägt. Wenn man ihm noch nicht gegenüberstand erhält man ein Eisenschwert. Nun muss man ihn bezwingen, damit er zum einen den Apfel namens "Apfelfrucht" droppt und zum anderen, damit er wieder zum normalen Dorfbewohner "Klaus" wird. Er gibt dann folgendes von sich: "Vielen Dank das du mich gerettet hast! Möchtest du mir bitte meinen Apfel wieder geben?". Dann kann man ihm per Handel wieder den Apfel zurück geben. Wenn man das gemacht hat, gibt er einem im Tausch dafür eine Truhe, die durch die Beutetabellen gefüllt ist. Im Anschluss gibt er folgendes von sich: "Ich stehe dir nun als Handelspartner zur Verfügung".

Beispiel 3[Bearbeiten | Quelltext bearbeiten]

Abenteuermechanismen Aufbau Beispiel3Bild1.png

Bei diesem Beispiel, werden zwei Dorfbewohner und ein Zombie gespawnt. Dieses tötet den Dorfbewohner Bernd. Danach versucht er auch den Dorfbewohner "Martin" zu töten, wird aber daran gehindert. Der Spieler muss ihn dann töten, dabei droppt das Zombie die Seele von Bernd. Nun soll man die Materialien besorgen, damit Bernd wenigstens einen schönen Grabstein erhält, dazu gibt Martin folgendes von sich Wie schrecklich! mein Kumpel Bernd wurde getötet. Kannst du mir vielleicht Steine besorgen, damit Bernd wenigstens ein ordentliches Grab erhält?. Jetzt soll der Spieler drei Bruchsteine besorgen und dem Dorfbewohner geben. Hat er ihm sie übergeben, entsteht an der Stelle wo Bernd verstorben ist ein Grabstein mit Blumentopf. Danach gibt der Dorfbewohner folgendes von sich Ich stehe dir nun als Handelspartner zur Verfügung.

Für weitere Beispiele mit komprimierten Befehlen siehe: Komprimierte Befehle - Beispiele