Diese Seite stammt ursprünglich aus de.minecraft.wiki und wurde von der Quelle abweichend verändert.
|
Gruppe: Vorrichtungen |
mit Mechaniken |
mit Redstone |
Hier: mit Befehlen |
Verfügbar in: Redstone-Welt |
Ein Shiftklick-Sensor erkennt, ob der Spieler die Shift-Taste (Umschalttaste) geklickt oder gehalten hat. Das Klicken der Shift-Taste lässt sich über Statistikdaten, Prädikate oder Fortschritte erfassen.
Variante 1[]
Folgende Voraussetzungen werden benötigt: | ||
---|---|---|
|
Folgende Materialien werden benötigt: | |
---|---|
|
Der Sensor wird aktiv, wenn man einen Stock mit Verzauberungsschimmer in der Schnellleiste ausgewählt hat. Drückt man kurz die Shift-Taste, wird über der Schnellleiste der aktuelle Zustand geändert und angezeigt. Ebenfalls erhält man eine Chat-Nachricht, die das Drücken und loslassen aufzeichnet. Das Testen der Shift-Taste wird über ein Punkte-Ziel ermöglicht, das prüft ob der Spieler sich bückt und nur dann wird sein Wert jeden Tick um eins erhöht.
- Einschalten
- Befehl 1.1 Auf dem Wiederhol-Befehlsblock befindet sich ein Hebel. Legt man ihn um, wird zuerst der Befehlsblock mit der Start-Funktion shiftklick-sensor:v1start aktiviert.
- Wiederholen
- Befehl 1.2 Gleichzeitig wird auch der Wiederhol-Befehlsblock mit der Zyklus-Funktion shiftklick-sensor:v1zyklus aktiv.
- Ausschalten
- Befehl 1.3 der Befehlsblock löst die Funktion shiftklick-sensor:v1stopp aus.
Befehlsblöcke mit Befehlen: |
|
Variante 1: Start-Funktion
Die Start-Funktion gibt dem Spieler einen verzauberten Stock und erstellt das Punkte-Ziel.
shiftklick-sensor:v1start.mcfunction
|
# Das Punkte-Ziel für das Erfassen von Shift-Klicks wird erstellt. scoreboard objectives add PZShklS.1Shift minecraft.custom:minecraft.sneak_time ["Shiftklick-Sensor.1: ",{"text":"Schleich-Zeit","bold":true}] # Den Spielern wird in einem Umkreis von 15 Blöcken ein Stock mit Verzauberungsschimmer gegeben, der verwendet wird um das Messen des Shift-Klicks zu aktivieren, sobald er gehalten wird. give @a[distance=..15] minecraft:stick{EigShklS.1Alle:true,EigShklS.1Sensor:true,Enchantments:[{id:-1}],display:{Name:'{"text":"Shiftklick-Sensor","color":"dark_purple","bold":true}',Lore:['"Wähle den Stock aus"','"um nach dem Shiftklick"','"zu testen."'] } } |
Variante 1: Zyklus-Funktion
Die Zyklus-Funktion prüft, ob der Spieler den Stock ausgewählt hat. Darauf aufbauend wird geprüft ob er sich bückt. Mit Hilfe von Etiketten die entsprechende Zustände speichern wird gemessen, ob der Spieler gerade geklickt oder losgelassen hat und ob er die Taste noch gedrückt hält.
shiftklick-sensor:v1zyklus.mcfunction
|
# Wenn der Spieler den Stock ausgewählt hat, erhält er zur Erkennung ein Etikett. tag @a[nbt={SelectedItem:{tag:{EigShklS.1Sensor:true} } }] add EtiShklS.1Ausgewaehlt # Da Spieler nicht von Anfang einen Wert besitzen wird ihnen der Wert auf null addiert, sodass sie einen besitzen und solche die vorher schon einen Wert besaßen, dieser sich nicht ändert. scoreboard players add @a[tag=EtiShklS.1Ausgewaehlt,tag=!EtiShklS.1Auswahl] PZShklS.1Shift 0 # Spieler die das Etikett besitzen, erhalten eine Schnellleisten-Nachricht, die ausgibt ob man Shift gedrückt hält oder nicht. title @a[tag=EtiShklS.1Ausgewaehlt,scores={PZShklS.1Shift=1..}] actionbar ["",{"text":"Shift halten == ","bold":true},{"text":"wahr","color":"green","bold":true}] title @a[tag=EtiShklS.1Ausgewaehlt,scores={PZShklS.1Shift=0}] actionbar ["",{"text":"Shift halten == ","bold":true},{"text":"falsch","color":"red","bold":true}] # Wenn der Stock nicht mehr ausgewählt wird, wird die Nachricht über der Schnellleiste geleert. title @a[tag=!EtiShklS.1Ausgewaehlt,tag=EtiShklS.1Auswahl] actionbar [""] # Um zu erfassen ob der Spieler gerade den Stock ausgewählt hat oder ihn nicht mehr auswählt, wird ihm ein Etikett entsprechend gegeben oder entfernt. tag @a[tag=EtiShklS.1Ausgewaehlt,tag=!EtiShklS.1Auswahl] add EtiShklS.1Auswahl tag @a[tag=!EtiShklS.1Ausgewaehlt,tag=EtiShklS.1Auswahl] remove EtiShklS.1Auswahl # Wenn der Spieler gerade erst Shift gedrückt oder gerade losgelassen hat, wird ihm eine Chat-Nachricht ausgegeben. tellraw @a[tag=EtiShklS.1Auswahl,tag=!EtiShklS.1Shift,scores={PZShklS.1Shift=1..}] ["Shiftklick-Sensor.1:\n",{"text":"Shiftklick == ","bold":true},{"text":"wahr","color":"green","bold":true}] tellraw @a[tag=EtiShklS.1Auswahl,tag=EtiShklS.1Shift,scores={PZShklS.1Shift=0}] ["Shiftklick-Sensor.1:\n",{"text":"Shiftklick == ","bold":true},{"text":"falsch","color":"red","bold":true}] # Wenn der Spieler Shift klickt oder loslässt wird ihm ein Etikett gegeben oder entfernt. tag @a[tag=EtiShklS.1Auswahl,tag=!EtiShklS.1Shift,scores={PZShklS.1Shift=1..}] add EtiShklS.1Shift tag @a[tag=EtiShklS.1Auswahl,tag=EtiShklS.1Shift,scores={PZShklS.1Shift=0}] remove EtiShklS.1Shift # Der Punkte-Wert der Spieler wird auf null gesetzt, wenn sie Shift geklickt haben. scoreboard players set @a[scores={PZShklS.1Shift=1..}] PZShklS.1Shift 0 # Das Etikett wird wieder entfernt. tag @a[tag=EtiShklS.1Ausgewaehlt] remove EtiShklS.1Ausgewaehlt |
Variante 1: Stopp-Funktion
Die Stopp-Funktion löscht das Punkte-Ziel, die Etiketten und den Stock wieder.
shiftklick-sensor:v1stopp.mcfunction
|
# Das Punkte-Ziel wird wieder entfernt. scoreboard objectives remove PZShklS.1Shift # Das Etikett zur Auswahl des Stockes und für den Shiftklick, werden wieder entfernt, falls sie noch vorhanden waren. tag @a[tag=EtiShklS.1Auswahl] remove EtiShklS.1Auswahl tag @a[tag=EtiShklS.1Shift] remove EtiShklS.1Shift # Der Stock wird aus dem Inventar entfernt. clear @a minecraft:stick{EigShklS.1Alle:true} # Falls der Stock auf dem Boden geworfen wurde, wird der Drop entfernt. kill @e[type=minecraft:item,nbt={Item:{tag:{EigShklS.1Alle:true} } }] |
Variante 2[]
Folgende Voraussetzungen werden benötigt: | ||
---|---|---|
|
Folgende Materialien werden benötigt: | |
---|---|
|
Dieser Sensor erfasst das Shift-Klicken mit Hilfe eines Prädikates. Nimmt man den Stock in die Schnellleiste und drückt dann auf die Shift-Taste, so erhält man über der Schnellleiste die Ausgabe. Im Chat wird der Beginn und das Loslassen der Taste angezeigt.
- Einschalten
- Befehl 2.1 Auf dem Wiederhol-Befehlsblock befindet sich ein Hebel. Legt man ihn um, wird zuerst der Befehlsblock mit der Start-Funktion shiftklick-sensor:v2start aktiviert.
- Wiederholen
- Befehl 2.2 Gleichzeitig wird auch der Wiederhol-Befehlsblock mit der Zyklus-Funktion shiftklick-sensor:v2zyklus aktiv.
- Ausschalten
- Befehl 2.3 der Befehlsblock löst die Funktion shiftklick-sensor:v2stopp aus.
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.
shiftklick-sensor:v2start.mcfunction
|
# Den Spielern wird in einem Umkreis von 15 Blöcken ein Stock mit Verzauberungsschimmer gegeben, der verwendet wird um das Messen des Shift-Klicks zu aktivieren, sobald er gehalten wird. give @a[distance=..15] minecraft:stick{EigShklS.2Alle:true,EigShklS.2Sensor:true,Enchantments:[{id:-1}],display:{Name:'{"text":"Shiftklick-Sensor","color":"dark_purple","bold":true}',Lore:['"Wähle den Stock aus"','"um nach dem Shiftklick"','"zu testen."'] } } |
Variante 2: Zyklus-Funktion
Die Zyklus-Funktion prüft ob der Spieler den Stock ausgewählt hat und die Shift-Taste geklickt hat. Das Drücken der Shift-Taste wird über ein Prädikat erfasst und anschließend wird eine Nachricht über der Schnellleiste und eine weitere im Chat ausgegeben.
shiftklick-sensor:v2zyklus.mcfunction
|
# Wenn der Spieler den Stock ausgewählt hat, erhält er zur Erkennung ein Etikett. tag @a[nbt={SelectedItem:{tag:{EigShklS.2Sensor:true} } }] add EtiShklS.2Ausgewaehlt # Spieler die das Etikett besitzen, erhalten eine Schnellleisten-Nachricht, die ausgibt ob man Shift gedrückt hält oder nicht. title @a[tag=EtiShklS.2Ausgewaehlt,predicate=shiftklick-sensor:v2shift] actionbar ["",{"text":"Shift halten == ","bold":true},{"text":"wahr","color":"green","bold":true}] title @a[tag=EtiShklS.2Ausgewaehlt,predicate=!shiftklick-sensor:v2shift] actionbar ["",{"text":"Shift halten == ","bold":true},{"text":"falsch","color":"red","bold":true}] # Wenn der Stock nicht mehr ausgewählt wird, wird die Nachricht über der Schnellleiste geleert. title @a[tag=!EtiShklS.2Ausgewaehlt,tag=EtiShklS.2Auswahl] actionbar [""] # Um zu erfassen ob der Spieler gerade den Stock ausgewählt hat oder ihn nicht mehr auswählt, wird ihm ein Etikett entsprechend gegeben oder entfernt. tag @a[tag=EtiShklS.2Ausgewaehlt,tag=!EtiShklS.2Auswahl] add EtiShklS.2Auswahl tag @a[tag=!EtiShklS.2Ausgewaehlt,tag=EtiShklS.2Auswahl] remove EtiShklS.2Auswahl # Wenn der Spieler gerade erst Shift gedrückt oder gerade losgelassen hat, wird ihm eine Chat-Nachricht ausgegeben. tellraw @a[tag=EtiShklS.2Auswahl,tag=!EtiShklS.2Shift,predicate=shiftklick-sensor:v2shift] ["Shiftklick-Sensor.2:\n",{"text":"Shiftklick == ","bold":true},{"text":"wahr","color":"green","bold":true}] tellraw @a[tag=EtiShklS.2Auswahl,tag=EtiShklS.2Shift,predicate=!shiftklick-sensor:v2shift] ["Shiftklick-Sensor.2:\n",{"text":"Shiftklick == ","bold":true},{"text":"falsch","color":"red","bold":true}] # Wenn der Spieler Shift klickt oder loslässt wird ihm ein Etikett gegeben oder entfernt. tag @a[tag=EtiShklS.2Auswahl,tag=!EtiShklS.2Shift,predicate=shiftklick-sensor:v2shift] add EtiShklS.2Shift tag @a[tag=EtiShklS.2Auswahl,tag=EtiShklS.2Shift,predicate=!shiftklick-sensor:v2shift] remove EtiShklS.2Shift # Das Etikett wird wieder entfernt. tag @a[tag=EtiShklS.2Ausgewaehlt] remove EtiShklS.2Ausgewaehlt |
shiftklick-sensor:v2shift.json
|
{ "condition": "minecraft:entity_properties", "entity": "this", "predicate": { "flags": { "is_sneaking": true } } } |
Variante 2: Stopp-Funktion
Die Stopp-Funktion löscht den Stock als Drop und als Gegenstand im Inventar wieder. Die Etiketten werden ebenfalls gelöscht.
shiftklick-sensor:v2stopp.mcfunction
|
# Das Etikett zur Auswahl des Stockes und für den Shiftklick, werden wieder entfernt, falls sie noch vorhanden waren. tag @a[tag=EtiShklS.2Auswahl] remove EtiShklS.2Auswahl tag @a[tag=EtiShklS.2Shift] remove EtiShklS.2Shift # Der Stock wird aus dem Inventar entfernt. clear @a minecraft:stick{EigShklS.2Alle:true} # Falls der Stock auf dem Boden geworfen wurde, wird der Drop entfernt. kill @e[type=minecraft:item,nbt={Item:{tag:{EigShklS.2Alle:true} } }] |
Variante 3[]
Folgende Voraussetzungen werden benötigt: | ||
---|---|---|
|
Folgende Materialien werden benötigt: | |
---|---|
|
Dieser Shiftklick-Sensor erfasst das Klicken der Shift-Taste mit Hilfe von Fortschritten. Wenn der Spieler den Stock ausgewählt hat und dabei Shift klickt, erhält er den Fortschritt und das wiederum wird erkannt und dem Spieler wird eine Nachricht über der Schnelleiste ausgegeben und eine weitere im Chat. Hierbei wird im Chat das Drücken und Loslassen erfasst, während über der Schnellleiste der aktuelle Zustand der Shift-Taste angezeigt wird.
- Einschalten
- Befehl 3.1 Auf dem Wiederhol-Befehlsblock befindet sich ein Hebel. Legt man ihn um, wird zuerst der Befehlsblock mit der Start-Funktion shiftklick-sensor:v3start aktiviert.
- Wiederholen
- Befehl 3.2 Gleichzeitig wird auch der Wiederhol-Befehlsblock mit der Zyklus-Funktion shiftklick-sensor:v3zyklus aktiv.
- Ausschalten
- Befehl 3.3 der Befehlsblock löst die Funktion shiftklick-sensor:v3stopp aus.
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.
shiftklick-sensor:v3start.mcfunction
|
# Den Spielern wird in einem Umkreis von 15 Blöcken ein Stock mit Verzauberungsschimmer gegeben, der verwendet wird um das Messen des Shift-Klicks zu aktivieren, sobald er gehalten wird. give @a[distance=..15] minecraft:stick{EigShklS.3Alle:true,EigShklS.3Sensor:true,Enchantments:[{id:-1}],display:{Name:'{"text":"Shiftklick-Sensor","color":"dark_purple","bold":true}',Lore:['"Wähle den Stock aus"','"um nach dem Shiftklick"','"zu testen."'] } } |
Variante 3: Zyklus-Funktion
Die Zyklus-Funktion prüft ob der Spieler den entsprechenden Fortschritt besitzt. Wenn er dabei den Stock ausgewählt hat, erscheint über der Schnellleiste eine Nachricht und im Chat wird eine weitere ausgegeben.
shiftklick-sensor:v3zyklus.mcfunction
|
# Wenn der Spieler den Stock ausgewählt hat, erhält er zur Erkennung ein Etikett. tag @a[nbt={SelectedItem:{tag:{EigShklS.3Sensor:true} } }] add EtiShklS.3Ausgewaehlt # Spieler die das Etikett besitzen, erhalten eine Schnellleisten-Nachricht, die ausgibt ob man Shift gedrückt hält oder nicht. title @a[tag=EtiShklS.3Ausgewaehlt,advancements={shiftklick-sensor:v3shift=true}] actionbar ["",{"text":"Shiftklick == ","bold":true},{"text":"wahr","color":"green","bold":true}] title @a[tag=EtiShklS.3Ausgewaehlt,advancements={shiftklick-sensor:v3shift=false}] actionbar ["",{"text":"Shiftklick == ","bold":true},{"text":"falsch","color":"red","bold":true}] # Wenn der Stock nicht mehr ausgewählt wird, wird die Nachricht über der Schnellleiste geleert. title @a[tag=!EtiShklS.3Ausgewaehlt,tag=EtiShklS.3Auswahl] actionbar [""] # Um zu erfassen ob der Spieler gerade den Stock ausgewählt hat oder ihn nicht mehr auswählt, wird ihm ein Etikett entsprechend gegeben oder entfernt. tag @a[tag=EtiShklS.3Ausgewaehlt,tag=!EtiShklS.3Auswahl] add EtiShklS.3Auswahl tag @a[tag=!EtiShklS.3Ausgewaehlt,tag=EtiShklS.3Auswahl] remove EtiShklS.3Auswahl # Wenn der Spieler gerade erst Shift gedrückt oder gerade losgelassen hat, wird ihm eine Chat-Nachricht ausgegeben. tellraw @a[tag=EtiShklS.3Auswahl,tag=!EtiShklS.3Shift,advancements={shiftklick-sensor:v3shift=true}] ["Shiftklick-Sensor.3:\n",{"text":"Shiftklick == ","bold":true},{"text":"wahr","color":"green","bold":true}] tellraw @a[tag=EtiShklS.3Auswahl,tag=EtiShklS.3Shift,advancements={shiftklick-sensor:v3shift=false}] ["Shiftklick-Sensor.3:\n",{"text":"Shiftklick == ","bold":true},{"text":"falsch","color":"red","bold":true}] # Wenn der Spieler Shift klickt oder loslässt wird ihm ein Etikett gegeben oder entfernt. tag @a[tag=EtiShklS.3Auswahl,tag=!EtiShklS.3Shift,advancements={shiftklick-sensor:v3shift=true}] add EtiShklS.3Shift tag @a[tag=EtiShklS.3Auswahl,tag=EtiShklS.3Shift,advancements={shiftklick-sensor:v3shift=false}] remove EtiShklS.3Shift # Der Fortschritt wird wieder entfernt, damit er nur dann wieder vorhanden ist, wenn man wieder Shift geklickt hat. advancement revoke @a[advancements={shiftklick-sensor:v3shift=true}] only shiftklick-sensor:v3shift # Das Etikett wird wieder entfernt. tag @a[tag=EtiShklS.3Ausgewaehlt] remove EtiShklS.3Ausgewaehlt |
shiftklick-sensor:v3shift.json
|
{ "criteria": { "requirement": { "trigger": "minecraft:tick", "conditions": { "player": [ { "condition": "minecraft:entity_properties", "entity": "this", "predicate": { "flags": { "is_sneaking": true } } } ] } } } } |
Variante 3: Stopp-Funktion
Die Stopp-Funktion löscht den Stock als Drop und als Gegenstand im Inventar wieder.
shiftklick-sensor:v3stopp.mcfunction
|
# Das Etikett zur Auswahl des Stockes und für den Shiftklick, werden wieder entfernt, falls sie noch vorhanden waren. tag @a[tag=EtiShklS.3Auswahl] remove EtiShklS.3Auswahl tag @a[tag=EtiShklS.3Auswahl] remove EtiShklS.3Shift # Der noch eventuell vorhande Fortschritt wird entfernt. advancement revoke @a[advancements={shiftklick-sensor:v3shift=true}] only shiftklick-sensor:v3shift # Der Stock wird aus dem Inventar entfernt. clear @a minecraft:stick{EigShklS.3Alle:true} # Falls der Stock auf dem Boden geworfen wurde, wird der Drop entfernt. kill @e[type=minecraft:item,nbt={Item:{tag:{EigShklS.3Alle:true} } }] |
Kolben-Verlängerung => Redstone (erweitert); Blockupdate-Sensor => Redstone (erweitert); Block-Sensor => Befehle; Drop-Sensor => Befehle; Inventar-Sensor => Redstone, Befehle; Slot-Sensor => Befehle; Mülleimer => Mechanik, Redstone, Befehle; Objekt-Zähler => Befehle; Standort-Sensor => Befehle; Biom-Sensor => Befehle; Dimensions-Sensor => Befehle; Chunk-Sensor => Befehle; Höhlen-Sensor => Befehle; Licht-Sensor => Befehle; Shiftklick-Sensor => Befehle; Bewegungssensor => Befehle (erweitert); Koordinaten-Sensor => Befehle; Blickwinkel-Sensor => Befehle; Sichtweiten-Sensor => Befehle; Entfernungs-Sensor => Befehle; Uhrzeit-Sensor => Befehle; Sprachen-Sensor => Befehle; Versionen-Sensor => Befehle; Spielbeitritt-Sensor => Befehle; Server-Sensor => Befehle; Dropgenerator => Mechanik, Befehle; Kugelgenerator => Befehle;
|
|