Dimensions-Sensor (Befehle)

Aus Technik Wiki
Wechseln zu: Navigation, Suche
Gruppe: Grid Kolben.png
Vorrichtungen

Grid Roter Sand blass.png mit Mechaniken

Grid Redstone blass.png mit Redstone
                Hier:
Grid Befehlsblock.png mit Befehlen
Verfügbar in:
Wiki Redstone-Welt.png Redstone-Welt

Ein Dimensions-Sensor ist in der Lage, die Dimension in dem sich der Spieler befindet, zu erkennen. Je nach Ausführung ist auch das Wechseln der Dimensionen messbar. Mit Hilfe von NBT, Fortschritten oder Prädikaten kann man prüfen ob sich der Spieler in einer bestimmten Dimension befindet.

Variante 1[Bearbeiten | Quelltext bearbeiten]

Dimensions-Sensor (Befehle) Bild 1.1.png

Dieser Dimensions-Sensor erkennt mit Hilfe von NBT, in welcher Dimension sich der Spieler befindet. Nur wenn er dabei einen speziellen Stock ausgewählt hat, bekommt er eine Schnellleisten-Nachricht.

Einschalten
  • Befehl 1.1 Spieler im Umkreis von 15 Blöcken um die Befehlsquelle erhalten einen Stock mit einem Verzauberungsschimmer.
  • Befehl 1.2 Der Chunk wird dauerhaft aktiviert, damit der Dimensionswechsel auch in anderen Dimensionen angezeigt werden kann.
Wiederholen
  • Befehl 1.3 Spieler die den Stock ausgewählt haben, erhalten ein Etikett.
  • Befehl 1.4 Je nach dem in welcher Dimension der Spieler ist, wird in der Schnellleiste die entsprechende Dimension mit Namensraum angezeigt.
  • Befehl 1.5 Damit die Anzeige sofort aufhört, wenn man den Stock nicht mehr ausgewählt hat, wird einmal ein leerer Text angezeigt.
  • Befehl 1.6 Um zu merken, ob der Spieler den Stock gerade erst ausgewählt hat oder gerade nicht mehr ausgewählt hat, wird ein Etikett vergeben und entfernt[B1.7].
  • Befehl 1.8 Das Etikett wird wieder entfernt.
Ausschalten
  • Befehl 1.9 Falls das Etikett noch vorhanden ist, wird es entfernt.
  • Befehl 1.10 Der Stock wird wieder entfernt.
  • Befehl 1.11 Falls der Stock auf den Boden geworfen wurde, wird auch der Drop entfernt.
  • Befehl 1.12 Der dauerhaft geladene Chunk wird deaktiviert.

Befehlsblöcke mit Befehlen:
give @a[distance=..15] minecraft:stick{EigDimS.1Alle:true,EigDimS.1Sensor:true,Enchantments:[{id:-1}],display:{Name:'{"text":"Dimensions-Sensor","color":"dark_purple","bold":true}',Lore:['"Wähle den Stock aus"','"um nach der Dimension"','"zu testen."'] } }


tag @a[nbt={SelectedItem:{tag:{EigDimS.1Sensor:true} } }] add EtiDimS.1Ausgewaehlt
execute as @a[tag=EtiDimS.1Ausgewaehlt] run title @s actionbar ["",{"text":"Dimension == ","color":"gray","bold":true},{"entity":"@s","nbt":"Dimension","color":"gold","bold":true}]
title @a[tag=!EtiDimS.1Ausgewaehlt,tag=EtiDimS.1Auswahl] actionbar [""]
tag @a[tag=EtiDimS.1Ausgewaehlt,tag=!EtiDimS.1Auswahl] add EtiDimS.1Auswahl
tag @a[tag=!EtiDimS.1Ausgewaehlt,tag=EtiDimS.1Auswahl] remove EtiDimS.1Auswahl
tag @a[tag=EtiDimS.1Ausgewaehlt] remove EtiDimS.1Ausgewaehlt


tag @a[tag=EtiDimS.1Auswahl] remove EtiDimS.1Auswahl
clear @a minecraft:stick{EigDimS.1Alle:true}
kill @e[type=minecraft:item,nbt={Item:{tag:{EigDimS.1Alle:true} } }]
forceload remove ~ ~

Variante 2[Bearbeiten | Quelltext bearbeiten]

Dimensions-Sensor (Befehle) Bild 2.1.png

Dieser Dimensions-Sensor erfasst durch mehrere Fortschritte, in welcher Dimension sich der Spieler aufhält. Ebenfalls kann mit diesem Sensor erfasst werden ob der Spieler die Dimension gewechselt hat. Wenn er dabei einen bestimmten Stock in der Schnellleiste ausgewählt hat, erscheint eine Nachricht über der Schnellleiste.

Einschalten
Wiederholen
Ausschalten

Befehlsblöcke mit Befehlen:



Variante 2: Start-Funktion
Die Start-Funktion gibt dem Spieler einen Stock, den er auswählen muss um den Sensor zu aktivieren.

Editor Icon.png dimensions-sensor:v2start.mcfunction
# Spieler im Umkreis von 15 Blöcken um die Befehlsquelle erhalten einen Stock mit einem Verzauberungsschimmer.
give @a[distance=..15] minecraft:stick{EigDimS.2Alle:true,EigDimS.2Sensor:true,Enchantments:[{id:-1}],display:{Name:'{"text":"Dimensions-Sensor","color":"dark_purple","bold":true}',Lore:['"Wähle den Stock aus"','"um nach der Dimension"','"zu testen."'] } }

# Der Chunk wird dauerhaft aktiviert, damit der Dimensionswechsel auch in anderen Dimensionen angezeigt werden kann.
forceload add ~ ~

Variante 2: Zyklus-Funktion
Die Zyklus-Funktion prüft, in welcher Dimension der Spieler ist und gibt dann eine Schnellleisten-Nachricht aus.

Editor Icon.png dimensions-sensor:v2zyklus.mcfunction
# Spieler die den Stock ausgewählt haben, erhalten ein Etikett.
tag @a[nbt={SelectedItem:{tag:{EigDimS.2Sensor:true} } }] add EtiDimS.2Ausgewaehlt

# Je nach dem in welcher Dimension der Spieler ist, wird über der Schnellleiste die entsprechende Dimension angezeigt.
title @a[tag=EtiDimS.2Ausgewaehlt,advancements={dimensions-sensor:v2ende=true}] actionbar ["",{"text":"Dimension == ","color":"gray","bold":true},{"text":"Ende","color":"blue","bold":true}]
title @a[tag=EtiDimS.2Ausgewaehlt,advancements={dimensions-sensor:v2oberwelt=true}] actionbar ["",{"text":"Dimension == ","color":"gray","bold":true},{"text":"Oberwelt","color":"dark_green","bold":true}]
title @a[tag=EtiDimS.2Ausgewaehlt,advancements={dimensions-sensor:v2nether=true}] actionbar ["",{"text":"Dimension == ","color":"gray","bold":true},{"text":"Nether","color":"red","bold":true}]

# Sobald der Spieler den Stock ausgewählt hat, wird einmal die Nachricht ausgegeben, dass es noch keinen Dimensions-Wechsel gab.
tellraw @a[tag=EtiDimS.2Ausgewaehlt,tag=!EtiDimS.2Auswahl,advancements={dimensions-sensor:v2dimension_gewechselt=false}] ["Dimensions-Sensor.2:\n",{"text":"Dimension gewechselt == ","bold":true},{"text":"falsch","color":"red","bold":true}]

# Falls der Spieler den Stock nicht mehr ausgewählt hat, wird einmal eine leere Nachricht ausgegeben, um die Schnellleisten-Nachricht zu leeren.
title @a[tag=!EtiDimS.2Ausgewaehlt,tag=EtiDimS.2Auswahl] actionbar [""]

# Der Spieler bekommt ein Etikett, wenn er den Stock gerade ausgewählt hat und dieses wird erst dann wieder entfernt, wenn er den Stock irgendwann nicht mehr ausgewählt hat.
tag @a[tag=EtiDimS.2Ausgewaehlt,tag=!EtiDimS.2Auswahl] add EtiDimS.2Auswahl
tag @a[tag=!EtiDimS.2Ausgewaehlt,tag=EtiDimS.2Auswahl] remove EtiDimS.2Auswahl

# Falls der Spieler die Dimension wechselt, wird eine Nachricht im Chat angezeigt.
tellraw @a[tag=EtiDimS.2Ausgewaehlt,advancements={dimensions-sensor:v2dimension_gewechselt=true}] ["Dimensions-Sensor.2:\n",{"text":"Dimension gewechselt == ","bold":true},{"text":"wahr","color":"green","bold":true}]

# Alle Fortschritte die man automatisch erhalten hat, wenn man sich in der jeweiligen Dimension aufhält, werden entfernt.
advancement revoke @a[tag=EtiDimS.2Ausgewaehlt,advancements={dimensions-sensor:v2ende=true}] only dimensions-sensor:v2ende
advancement revoke @a[tag=EtiDimS.2Ausgewaehlt,advancements={dimensions-sensor:v2oberwelt=true}] only dimensions-sensor:v2oberwelt
advancement revoke @a[tag=EtiDimS.2Ausgewaehlt,advancements={dimensions-sensor:v2nether=true}] only dimensions-sensor:v2nether
advancement revoke @a[tag=EtiDimS.2Ausgewaehlt,advancements={dimensions-sensor:v2dimension_gewechselt=true}] only dimensions-sensor:v2dimension_gewechselt

# Das Etikett wird wieder entfernt.
tag @a[tag=EtiDimS.2Ausgewaehlt] remove EtiDimS.2Ausgewaehlt
JSON Icon.png dimensions-sensor:v2ende.json
{
  "criteria": {
    "requirement": {
      "trigger": "minecraft:location",
      "conditions": {
        "location": {
          "dimension": "minecraft:the_end"
        }
      }
    }
  }
}
JSON Icon.png dimensions-sensor:v2oberwelt.json
{
  "criteria": {
    "requirement": {
      "trigger": "minecraft:location",
      "conditions": {
        "location": {
          "dimension": "minecraft:overworld"
        }
      }
    }
  }
}
JSON Icon.png dimensions-sensor:v2nether.json
{
  "criteria": {
    "requirement": {
      "trigger": "minecraft:location",
      "conditions": {
        "location": {
          "dimension": "minecraft:the_nether"
        }
      }
    }
  }
}
JSON Icon.png dimensions-sensor:v2dimension_gewechselt.json
{
  "criteria": {
    "requirement": {
      "trigger": "minecraft:changed_dimension"
    }
  }
}

Variante 2: Stopp-Funktion
Die Stopp-Funktion löscht den Stock als Drop und als Gegenstand im Inventar wieder. Ebenfalls werden alle Fortschritte entfernt.

Editor Icon.png dimensions-sensor:v2stopp.mcfunction
# Alle eventuell erhaltenen Fortschritte werden entfernt.
advancement revoke @a[advancements={dimensions-sensor:v2ende=true}] only dimensions-sensor:v2ende
advancement revoke @a[advancements={dimensions-sensor:v2oberwelt=true}] only dimensions-sensor:v2oberwelt
advancement revoke @a[advancements={dimensions-sensor:v2nether=true}] only dimensions-sensor:v2nether
advancement revoke @a[advancements={dimensions-sensor:v2dimension_geaendert=true}] only dimensions-sensor:v2dimension_geaendert

# Ein eventuell vorhandenes Etikett wird entfernt.
tag @a[tag=EtiDimS.2Auswahl] remove EtiDimS.2Auswahl

# Der Stock wird wieder entfernt.
clear @a minecraft:stick{EigDimS.2Alle:true}

# Falls der Stock auf den Boden geworfen wurde, wird auch der Drop entfernt.
kill @e[type=minecraft:item,nbt={Item:{tag:{EigDimS.2Alle:true} } }]

# Der dauerhaft geladene Chunk wird deaktiviert.
forceload remove ~ ~

Variante 3[Bearbeiten | Quelltext bearbeiten]

Dimensions-Sensor (Befehle) Bild 2.1.png

Dieser Dimensions-Sensor erfasst durch mehrere Prädikate, in welcher Dimension sich der Spieler gerade aufhält. Wenn er dabei einen bestimmten Stock in der Schnelleiste ausgewählt hat, erscheint eine Nachricht über der Schnelleiste.

Einschalten
Wiederholen
Ausschalten

Befehlsblöcke mit Befehlen:



Variante 3: Start-Funktion
Die Start-Funktion gibt dem Spieler einen Stock, den er auswählen muss um den Sensor zu aktivieren.

Editor Icon.png dimensions-sensor:v3start.mcfunction
# Spieler im Umkreis von 15 Blöcken um die Befehlsquelle erhalten einen Stock mit einem Verzauberungsschimmer.
give @a[distance=..15] minecraft:stick{EigDimS.3Alle:true,EigDimS.3Sensor:true,Enchantments:[{id:-1}],display:{Name:'{"text":"Dimensions-Sensor","color":"dark_purple","bold":true}',Lore:['"Wähle den Stock aus"','"um nach der Dimension"','"zu testen."'] } }

# Der Chunk wird dauerhaft aktiviert, damit der Dimensionswechsel auch in anderen Dimensionen angezeigt werden kann.
forceload add ~ ~

Variante 3: Zyklus-Funktion
Die Zyklus-Funktion prüft, in welcher Dimension der Spieler ist und gibt dann eine Schnellleisten-Nachricht aus.

Editor Icon.png dimensions-sensor:v3zyklus.mcfunction
# Spieler die den Stock ausgewählt haben, erhalten ein Etikett.
tag @a[nbt={SelectedItem:{tag:{EigDimS.3Sensor:true} } }] add EtiDimS.3Ausgewaehlt

# Je nach dem in welcher Dimension der Spieler ist, wird in der Schnellleiste die entsprechende Dimension angezeigt.
title @a[tag=EtiDimS.3Ausgewaehlt,predicate=dimensions-sensor:v3ende] actionbar ["",{"text":"Dimension == ","color":"gray","bold":true},{"text":"Ende","color":"blue","bold":true}]
title @a[tag=EtiDimS.3Ausgewaehlt,predicate=dimensions-sensor:v3oberwelt] actionbar ["",{"text":"Dimension == ","color":"gray","bold":true},{"text":"Oberwelt","color":"dark_green","bold":true}]
title @a[tag=EtiDimS.3Ausgewaehlt,predicate=dimensions-sensor:v3nether] actionbar ["",{"text":"Dimension == ","color":"gray","bold":true},{"text":"Nether","color":"red","bold":true}]

# Damit die Schnelleiste wieder leer geräumt ist, wenn man den Stock nicht mehr ausgewählt hat, wird ein leerer Text angezeigt.
title @a[tag=!EtiDimS.3Ausgewaehlt,tag=EtiDimS.3Auswahl] actionbar [""]

# Dem Spieler wird ein Etikett vergeben, um zu signalisieren dass der Stock gerade ausgewählt wurde und dieses Etikett wird erst dann wieder entfernt, wenn der Stock nicht mehr ausgewählt wurde.
tag @a[tag=EtiDimS.3Ausgewaehlt,tag=!EtiDimS.3Auswahl] add EtiDimS.3Auswahl
tag @a[tag=!EtiDimS.3Ausgewaehlt,tag=EtiDimS.3Auswahl] remove EtiDimS.3Auswahl

# Das Etikett wird wieder entfernt.
tag @a[tag=EtiDimS.3Ausgewaehlt] remove EtiDimS.3Ausgewaehlt
JSON Icon.png dimensions-sensor:v3ende.json
{
  "condition": "minecraft:location_check",
  "predicate": {
    "dimension": "minecraft:the_end"
  }
}
JSON Icon.png dimensions-sensor:v3oberwelt.json
{
  "condition": "minecraft:location_check",
  "predicate": {
    "dimension": "minecraft:overworld"
  }
}
JSON Icon.png dimensions-sensor:v3nether.json
{
  "condition": "minecraft:location_check",
  "predicate": {
    "dimension": "minecraft:the_nether"
  }
}

Variante 3: Stopp-Funktion
Die Stopp-Funktion löscht den Stock als Drop und als Gegenstand im Inventar wieder.

Editor Icon.png dimensions-sensor:v3stopp.mcfunction
# Das noch vorhandene Etikett wird entfernt.
tag @a[tag=EtiDimS.3Auswahl] remove EtiDimS.3Auswahl

# Der Stock wird wieder entfernt.
clear @a minecraft:stick{EigDimS.3Alle:true}

# Falls der Stock auf den Boden geworfen wurde, wird auch der Drop entfernt.
kill @e[type=minecraft:item,nbt={Item:{tag:{EigDimS.3Alle:true} } }]

# Der dauerhaft geladene Chunk wird deaktiviert.
forceload remove ~ ~


Disambig color.svg
 
Grid Grasblock.png
Auch im Minecraft Wiki wird das Thema dieser Technik behandelt:
Dimension