Minecraft 1.12 Redstone-Befehlsblöcke, 4.355 2.872 Bytes
(Größe wird durch die Größe der gespeicherten Strukturblockdatei bestimmt.)
Hier ist eine vollständige YouTube-Übersicht , aber ich werde versuchen, den folgenden Code zu skizzieren.
Setup-Routine:
Dadurch wird das 40x40-Raster der Minecraft-Rüstungsstände aufgebaut. Rüstungsstände sind notwendig, da Minecraft keine Möglichkeit hat, Variablen in Weltkoordinaten zu setzen . Die Problemumgehung besteht also darin, sich auf die Position dieser Rüstungsstand-Einheiten zu beziehen .
(impulse) summon armor_stand 2 ~ 1 {CustomName:"A"} /create named armor stand
(chain) fill -2 ~ -2 43 ~ 43 stone /create big stone square
(chain) fill -1 ~ -1 42 ~ 42 air /leave just a ring of stone
(chain) setblock -4 ~ -12 redstone_block /kicks off next sequence
Dieser benannte Rüstungsständer ist im Grunde unser "Cursor", um alle Rüstungsständer zu platzieren, die wir brauchen werden. Der Redstone-Block im letzten Schritt "treibt" Blöcke in der Nähe an (einschließlich unserer Befehlsblöcke), also startet die nächste Schleife:
(repeat) execute @e[name=A] ~ ~ ~ summon armor_stand ~-1 ~ ~ /create new armor stand
(chain) tp @e[name=A] ~1 ~ ~ /move "cursor" one block
(chain) execute @e[name=A] ~ ~ ~ testforblock ~1 ~ ~ stone /if at end of row,
(conditional) tp @e[name=A] ~-40 ~ ~1 /go to start of next row
(chain) execute @e[name=A] ~ ~ ~ testforblock ~ ~ ~2 stone /If at last row
(conditional) setblock ~6 ~ ~ air /stop looping
(conditional) kill @e[name=A] /kill cursor
Zu diesem Zeitpunkt ist unser Raster vollständig:
Zufällige Farbauswahl
Die violetten Repeater in der Mitte dieses Bildes wählen mit dem folgenden Befehl eine zufällige Farbe:
(repeat) execute @r[type=armor_stand,r=9] ~ ~ ~ setblock ~ ~-2 ~ redstone_block
Das "@r []" ist die magische Sauce, es wählt eine zufällige Entität in der Welt aus, die den gegebenen Bedingungen entspricht . In diesem Fall findet es einen Rüstungsständer in einem Umkreis von 9 Blöcken und wir haben 16 Rüstungsständer aufgestellt, einen für jede Wollfarbe. Unter der ausgewählten Farbe wird ein Redstone-Block platziert (der die beiden Befehlsblöcke auf beiden Seiten antreibt).
Zufällige Pixelauswahl
Das Platzieren des Redstone-Blocks unter der ausgewählten Wollfarbe löst zwei weitere Befehlsblöcke aus:
(impulse) execute @r[type=armor_stand] ~ ~ ~ setblock ~ ~3 ~ wool X
(impulse) setblock ~ ~ ~1 air
In dieser ersten Zeile wird mit demselben Befehl magic @r ein beliebiger Panzerungsstand auf der gesamten Karte ausgewählt (ohne Radiusbeschränkung, einschließlich des Gitters 40 x 40) und eine Wolle der ausgewählten Farbe über dem Kopf platziert. Das X bestimmt die Farbe und reicht von 0 bis 15. Der zweite Befehl entfernt den Redstone-Block, damit er wieder einsatzbereit ist.
Ich habe 5 violette Repeaterblöcke und Redstone arbeitet 20-mal pro Sekunde in "Ticks", also platziere ich 100 Pixel pro Sekunde (abzüglich einiger Farbüberlappungen). Ich habe es zeitlich festgelegt und normalerweise bekomme ich das gesamte Raster in ca. 3 Minuten abgedeckt.
Das hat Spaß gemacht, ich werde versuchen, nach anderen Herausforderungen zu suchen, die auch in Minecraft funktionieren könnten. Vielen Dank an lorgon111 für seine YouTube Command Block Tutorial-Serie .
BEARBEITEN: Die Größe der gespeicherten Struktur wurde erheblich reduziert (jetzt bei 2.872 gespeicherten Bytes) :
- Scooted Dinge in einem Stück (in allen 3 Dimensionen), so dass ich die Gesamtgröße des gespeicherten Bereichs reduzieren konnte.
- Die verschiedenfarbigen Wolle wurden in Stein geändert, sie waren sowieso nur dekorativ.
- Die Glühsteinlampe entfernt.
- Alle Luftblöcke wurden in leere Blöcke (die roten Quadrate) geändert.
Getestet, indem die gespeicherte Struktur in eine neue Welt gezogen wird, funktioniert immer noch alles wie geplant.
EDIT 2 : Schreibgeschützter Dropbox-Link zur NBT-Strukturdatei
Zu Fuß durch ist in meinem YouTube-Video , aber hier sind die Schritte:
- Erstellen Sie in Minecraft 1.12 mit der Voreinstellung "Redstone Ready" eine neue kreative, superflache Welt. Mach es friedlich.
- Sobald die Welt existiert, kopieren Sie die NBT-Datei in einen neuen
\structures
Ordner, den Sie unter der aktuellen Weltspeicherung erstellt haben.
- Zurück im Spiel, machen Sie es
/give @p structure_block
und /tp @p -12, 56, -22
springen Sie an die richtige Stelle, um anzufangen.
- Grabe ein Loch und platziere den Strukturblock bei -12, 55, -22.
- Klicken Sie mit der rechten Maustaste auf den Strukturblock, und klicken Sie auf die Modustaste, um ihn auf "Laden" zu schalten.
- Tippe "random_pixels" ein, aktiviere "include entity" und klicke auf "Load"
- Wenn die Strukturdatei gefunden wird, wird eine Vorschau der Gliederung angezeigt. Klicken Sie erneut mit der rechten Maustaste und klicken Sie auf "Laden", um die Struktur in die Welt zu bringen.
- Drücken Sie die Taste, um die Setup-Routine auszuführen.
- Wenn der Vorgang abgeschlossen ist, betätigen Sie den Schalter, um die Woll-Randomisierung auszuführen.