Technik Wiki
Advertisement
Gruppe: Grid Kolben
Vorrichtungen

Grid Roter Sand blass mit Mechaniken

Grid Redstone blass mit Redstone
                Hier:
Grid Befehlsblock mit Befehlen
Verfügbar in:
Wiki Redstone-Welt Redstone-Welt
Wiki Redstone-Welt
Überarbeitete oder neue Varianten dieser Technik existieren bereits in der aktuellen Redstone-Welt.
Hier fehlt noch die Dokumentation dieser Varianten, diese müssen noch nachgetragen werden.

Ein Versionen-Sensor erfasst die Minecraft-Version, die gerade gespielt wird und kann dementsprechend bestimmte Techniken, je nach Version, aktivieren. Die Minecraft-Version kann durch das Abfragen von bestimmten NBT-Daten erfasst werden. So kann man einfach, wenn der Spieler die Welt betritt, diesen überprüfen und schlussfolgern welche Version gerade gespielt wird. Auf Servern kann das besonders interessant werden, wenn eine Server-Welt mit mehreren Versionen betreten werden kann.

Variante 1

Versionen-Sensor (Befehle) Bild 1.1 Versionen-Sensor (Befehle) Bild 1.2

Dieser Sensor erfasst anhand der NBT-Daten die Version, dies erfolgt über EtikettenBefehl 1.1Befehl 1.2Befehl 1.3, welches nur dann gegeben wird, wenn die Version, die geprüft wird, übereinstimmt. Anschließend wird dem Spielern mitgeteilt, in welcher Version sie sich gerade befindenBefehl 1.4Befehl 1.5Befehl 1.6. Falls die Version nicht erkannt wird, bekommt der Spieler eine FehlermeldungBefehl 1.7. Damit diese Nachricht auch nur einmal an die Spieler versendet wird, sorgt ein Etikett dafür, das nach der Benachrichtigung der execute-Befehl ein zweites mal die Spieler nicht mehr findetBefehl 1.8. Wenn man den Sensor ausschaltet, werden den Spielern die Etiketten entferntBefehl 1.9Befehl 1.10Befehl 1.11Befehl 1.12.


Befehlsblöcke mit Befehlen:
execute as @a[distance=..25,tag=!EtiVerSen.1Version1.13,tag=!EtiVerSen.1Nachricht] unless entity @s[nbt=!{DataVersion:1519},nbt=!{DataVersion:1628},nbt=!{DataVersion:1631}] run tag @s add EtiVerSen.1Version1.13
execute as @a[distance=..25,tag=!EtiVerSen.1Version1.14,tag=!EtiVerSen.1Nachricht] unless entity @s[nbt=!{DataVersion:1952},nbt=!{DataVersion:1957},nbt=!{DataVersion:1963},nbt=!{DataVersion:1968},nbt=!{DataVersion:1976}] run tag @s add EtiVerSen.1Version1.14
execute as @a[distance=..25,tag=!EtiVerSen.1Version1.15,tag=!EtiVerSen.1Nachricht] unless entity @s[nbt=!{DataVersion:2225},nbt=!{DataVersion:2227},nbt=!{DataVersion:2230}] run tag @s add EtiVerSen.1Version1.15
tellraw @a[tag=!EtiVerSen.1Nachricht,tag=EtiVerSen.1Version1.13] ["Versionen-Sensor.1:\n",{"text":"Du spielst mit der Vollversion 1.13.x","bold":"true"} ]
tellraw @a[tag=!EtiVerSen.1Nachricht,tag=EtiVerSen.1Version1.14] ["Versionen-Sensor.1:\n",{"text":"Du spielst mit der Vollversion 1.14.x","bold":"true"} ]
tellraw @a[tag=!EtiVerSen.1Nachricht,tag=EtiVerSen.1Version1.15] ["Versionen-Sensor.1:\n",{"text":"Du spielst mit der Vollversion 1.15.x","bold":"true"} ]
tellraw @a[tag=!EtiVerSen.1Nachricht,tag=!EtiVerSen.1Version1.13,tag=!EtiVerSen.1Version1.14,tag=!EtiVerSen.1Version1.15] ["Versionen-Sensor.1:\n",{"text":"Die Version mit der du spielst wurde nicht erkannt","bold":true} ]
tag @a[distance=..25,tag=!EtiVerSen.1Nachricht] add EtiVerSen.1Nachricht
tag @a[tag=EtiVerSen.1Version1.13] remove EtiVerSen.1Version1.13
tag @a[tag=EtiVerSen.1Version1.14] remove EtiVerSen.1Version1.14
tag @a[tag=EtiVerSen.1Version1.15] remove EtiVerSen.1Version1.15
tag @a[tag=EtiVerSen.1Nachricht] remove EtiVerSen.1Nachricht

Variante 2

Versionen-Sensor (Befehle) Bild 2.1 Versionen-Sensor (Befehle) Bild 2.2

Dieser Sensor erfasst mehrere Vollversionen und Entwicklungsversionen, dazu wird beim Einschalten ein Punktestand-Ziel angelegtBefehl 2.1, welches je nach erfassten Version den Spielern einen entsprechenden Wert zuweist. Hierbei wird erst die interne ID der Version abgefragtBefehl 2.2, geprüft, ob es sich um eine Entwicklungsversion handeltBefehl 2.3 und, falls nicht, für die Vollversionen samt Unterversionen der entsprechende Wert den Spielern zugewiesenBefehl 2.4Befehl 2.5Befehl 2.6 und anschließend als Nachricht ausgegebenBefehl 2.7Befehl 2.8. Sollte die Version neuer sein, bekommt der Spieler die entsprechende MeldungBefehl 2.9. Damit die Nachricht nur einmal auftaucht, wird allen Spielern ein Etikett im Anschluss gegebenBefehl 2.10. Damit ist die Prüfung der Version abgeschlossen. Wenn der Sensor wieder ausgeschaltet wird, so wird das Punktestand-Ziel gelöschtBefehl 2.11 (die Punktestände der Spieler werden dadurch ebenfalls gelöscht) und die Etiketten werden entferntBefehl 2.12Befehl 2.13.


Befehlsblöcke mit Befehlen:
scoreboard objectives add PZVerSen.2Ver dummy ["Versionen-Sensor.2: ",{"text":"Version","bold":true}]
execute as @a[distance=..25,tag=!EtiVerSen.2Nachricht] store result score @s PZVerSen.2Ver run data get entity @s DataVersion
execute as @a[tag=!EtiVerSen.2Nachricht,scores={PZVerSen.2Ver=1444..2230}] unless entity @s[scores={PZVerSen.2Ver=1519}] unless entity @s[scores={PZVerSen.2Ver=1628}] unless entity @s[scores={PZVerSen.2Ver=1631}] unless entity @s[scores={PZVerSen.2Ver=1952}] unless entity @s[scores={PZVerSen.2Ver=1957}] unless entity @s[scores={PZVerSen.2Ver=1963}] unless entity @s[scores={PZVerSen.2Ver=1968}] unless entity @s[scores={PZVerSen.2Ver=1976}] unless entity @s[scores={PZVerSen.2Ver=2225}] unless entity @s[scores={PZVerSen.2Ver=2227}] unless entity @s[scores={PZVerSen.2Ver=2230}] run tag @s add EtiVerSen.2Entwicklungsversion
scoreboard players set @a[tag=!EtiVerSen.2Nachricht,scores={PZVerSen.2Ver=1444..1631}] PZVerSen.2Ver 13
scoreboard players set @a[tag=!EtiVerSen.2Nachricht,scores={PZVerSen.2Ver=1901..1976}] PZVerSen.2Ver 14
scoreboard players set @a[tag=!EtiVerSen.2Nachricht,scores={PZVerSen.2Ver=2200..2230}] PZVerSen.2Ver 15
execute as @a[tag=!EtiVerSen.2Nachricht,tag=!EtiVerSen.2Entwicklungsversion,scores={PZVerSen.2Ver=13..}] run tellraw @s ["Versionen-Sensor.2:\n",{"text":"Du spielst mit der Vollversion 1.","bold":true},{"score":{"name":"@s","objective":"PZVerSen.2Ver"},"bold":true},{"text":".x","bold":true} ]
execute as @a[tag=!EtiVerSen.2Nachricht,tag=EtiVerSen.2Entwicklungsversion,scores={PZVerSen.2Ver=13..}] run tellraw @s ["Versionen-Sensor.2:\n",{"text":"Du spielst mit einer Entwicklungsversion der Vollversion 1.","bold":true},{"score":{"name":"@s","objective":"PZVerSen.2Ver"},"bold":true},{"text":".x","bold":true} ]
tellraw @a[tag=!EtiVerSen.2Nachricht,scores={PZVerSen.2Ver=2231..}] ["Versionen-Sensor.2:\n",{"text":"Du spielst mit einer höheren Version als 1.15.x","bold":true} ]
tag @a[distance=..25,tag=!EtiVerSen.2Nachricht,scores={PZVerSen.2Ver=0..}] add EtiVerSen.2Nachricht
scoreboard objectives remove PZVerSen.2Ver
tag @a[tag=EtiVerSen.2Nachricht] remove EtiVerSen.2Nachricht
tag @a[tag=EtiVerSen.2Entwicklungsversion] remove EtiVerSen.2Entwicklungsversion


Disambig color
 
Grid Grasblock
Auch im Minecraft Wiki wird das Thema dieser Technik behandelt:
Versionen#Version-IDs
Advertisement