Das offizielle Minecraft Wiki twittert hier: Wiki-Twitter  –  Chatte im Wiki-Discord  – Noch keinen Server gefunden? Es gibt einen Wiki-Server

Maschinen/Mausklick-Sensor (Befehle)

Aus Technik Wiki
Wechseln zu: Navigation, Suche
Gruppe: Grid Trichter.png
Maschinen

Grid Roter Sand blass.png mit Mechaniken

Grid Redstone blass.png mit Redstone
                Hier:
Grid Befehlsblock.png mit Befehlen

Die vorgestellte Technik kann in der Mechanik-Welt angesehen werden.

Ein Mausklick-Sensor ist im Stande rechts- sowie links-Klicks der Maus zu erfassen. Dabei können viele verschiedene Hilfsmittel genutzt werden. Man kann mittels einer Karottenrute abfragen ob man diese rechtsgeklickt hat per Punktestand-Ziel, man kann einen Rüstungsständer jeden Tick zum Spieler teleportieren um abzufragen ob der Spieler einen bestimmten Gegenstand in die Hand gelegt hat. Zudem kann man auch Dorfbewohner zum Spieler teleportieren, dabei kann man erfassen ob er ihn schlägt oder mit ihm handeln will. So kann man einige Mausklick-Sensoren realisieren.

Variante 1[Bearbeiten | Quelltext bearbeiten]

Maschinen Mausklick-Sensor (Befehle) Bild 1.1.png

Der Mausklick-Sensor besteht aus drei Befehlen, wobei diese von einem Wiederhol-Befehlsblock und zwei Ketten-Befehlsblöcken ausgeführt werden. Im Ersten Befehlsblock wird überprüft, ob ein Spieler einen Mindestpunktestand bei dem Punktestand-Ziel hat[B1.1] und gibt ihm einen Goldbarren, wenn das auf ihn zutrifft. Der Zweite Befehl lässt dem Spieler eine Nachricht einblenden, sodass der Spieler bescheid weis, das er eine Aktion erfolgreich ausgeführt hat[B1.2]. Der dritte Befehl setzt den Punktestand wieder zurück[B1.3].

Wenn der Hebel umgelegt wird, so wird das Punktestand-Ziel erstellt [B1.4] und der Spieler erhält eine Karottenrute[B1.5]. Anschließend läuft die Mausklick-Sensor an. Wird nun der Hebel wieder zurück in Ausgangsstellung gelegt, so wird das Punktestand-Ziel, sowie die Karottenrute aus dem Inventar entfernt[B1.6][B1.7].


Befehlsblöcke mit Befehlen:
/scoreboard objectives add Mausklick1 stat.useItem.minecraft.carrot_on_a_stick
/give @p[r=15] minecraft:carrot_on_a_stick


/give @a[score_Mausklick1_min=1] minecraft:gold_ingot
/tellraw @a[score_Mausklick1_min=1] {"text":"Du hast einen Goldbarren erhalten"}
/scoreboard players reset @a[score_Mausklick1_min=1] Mausklick1


/scoreboard objectives remove Mausklick1
/clear @p[r=15] minecraft:carrot_on_a_stick 0 1

Variante 2[Bearbeiten | Quelltext bearbeiten]

Maschinen Mausklick-Sensor (Befehle) Bild 2.1.png

Dieser Mausklick-Sensor arbeitet mit Rüstungsständer. Legt man den Hebel um, so wird zuerst der Rüstungsständer sowie das Punktestand-Ziel erstellt[B2.1][B2.2] und der Spieler erhält zwei Farbstoffe[B2.3][B2.4]. Nun prüft ein Wiederhol-Befehlsblock ob der Rüstungsständer mit dem lila Farbstoff ausgestattet ist[B2.5] und gibt ihm, wenn das zutrifft, den Punktestand von eins. Danach folgt ein Ketten-Befehlsblock der dem nächstgelegenen Spieler um den Rüstungsständer eine Nachricht ausgibt[B2.6]. Das gleiche wird auch mit dem grünen Farbstoff getestet[B2.7][B2.8]. Anschließend wird der Rüstungsständer von allen Handgegenständen befreit[B2.9]. Danach wird noch der Punktestand des Rüstungsständers zurück gesetzt[B2.10]. Damit der Rüstungsständer immer an der Position des Spielers ist, wird dieser zu diesem teleportiert[B2.11]. Wird die Maschine ausgeschaltet, so wird der Rüstungsständer gelöscht, alle Farbstoffe aus dem Inventar entfernt und das Punktestand-Ziel gelöscht[B2.12][B2.13][B2.14].


Befehlsblöcke mit Befehlen:
/summon armor_stand ~ ~4 ~ {CustomName:Mausklick2,Invulnerable:1b,NoBasePlate:1b,NoGravity:1b,ShowArms:1b,Invisible:1b}
/give @p[r=15] minecraft:dye 1 5
/give @p[r=15] minecraft:dye 1 10
/scoreboard objectives add Mausklick2 dummy


/scoreboard players set @e[type=armor_stand,name=Mausklick2] Mausklick2 1 {HandItems:[{id:"minecraft:dye",Damage:5s} ] }
/execute @e[type=armor_stand,name=Mausklick2,score_Mausklick2_min=1,score_Mausklick2=1] ~ ~ ~ /tellraw @p[r=5] {"text":"Du hast mit dem lila Farbstoff geklickt"}
/scoreboard players set @e[type=armor_stand,name=Mausklick2] Mausklick2 2 {HandItems:[{id:"minecraft:dye",Damage:10s} ] }
/execute @e[type=armor_stand,name=Mausklick2,score_Mausklick2_min=2,score_Mausklick2=2] ~ ~ ~ /tellraw @p[r=5] {"text":"Du hast mit dem grünen Farbstoff geklickt"}
/entitydata @e[type=armor_stand,name=Mausklick2,score_Mausklick2_min=1] {HandItems:[{id:""} ] }
/scoreboard players reset @e[type=armor_stand,name=Mausklick2,score_Mausklick2_min=1] Mausklick2
/tp @e[type=armor_stand,name=Mausklick2] @p
/kill @e[type=armor_stand,name=Mausklick2]
/clear @p[r=15] minecraft:dye
/scoreboard objectives remove Mausklick2

Variante 3[Bearbeiten | Quelltext bearbeiten]

Maschinen Mausklick-Sensor (Befehle) Bild 3.1.png

Mit dieser Variante kann man ebenfalls rechts- wie links-Klicks abfragen. Dazu wird grundsätzlich ein Dorfbewohner benutzt, der unsichtbar an der Stelle des Spielers teleportiert wird. Da der Dorfbewohner keine Handelswaren anbietet, passiert gar nichts, wenn man diesen rechtsklickt, jedoch wird dabei der Punktestand des Spielers erhöht und wenn der Spieler mit der linken Maustaste interagiert, fügt er automatisch dem Dorfbewohner Schaden hinzu, was abgefragt wird. Um das zu realisieren, wird zuerst ein Punktestand-Ziel benötigt, welches das Interagieren mit dem Dorfbewohner abfragt[B3.1]. Dies wird für den rechts-Klick benötigt, dann folgt ein Team, was erstellt wird[B3.2], der Spieler wird gleich hineingesetzt[B3.3] und die Team-Einstellungen folgen[B3.4][B3.5]. Das wird benötigt, damit der Dorfbewohner[B3.6], wenn er im Bereich des Spielers ist, nicht diesen dauernd wegschubst. Da aber alle Mitglieder eines Teams auch unsichtbare Team-Mitglieder sehen können, musste das ebenfalls deaktiviert werden. Die Eigentliche Befehlskette, beginnt mit einem Wiederhol-Befehlsblock[B3.7], welcher den Dorfbewohner immer zum Spieler teleportiert. Wenn nun der Dorfbewohner durch den Spieler Schaden erhalten hat, indem er mit der bloßen Hand geschlagen hat, so erkennt das der Befehl[B3.8]. Nun wird im Chat das Erfassen des links-Klicks ausgegeben[B3.9] und der Dorfbewohner wieder geheilt[B3.10]. Anschließend wird das Etikett, welches der Dorfbewohner erhalten hat, nachdem der Schaden entdeckt wurde, wieder entfernt[B3.11]. Der rechts-Klick wird erkannt, in dem der Spieler mit dem Dorfbewohner interagieren möchte[B3.12] und so sein Wert für das Punktestand-Ziel sich um eins erhöht. Anschließend muss der Punktestand wieder zurück gesetzt werden, damit es nur einmal auslöst[B3.13] und nicht erneut wieder. Um alle Datenelemente zu löschen, legt man einfach den Hebel wieder in Ausgangsstellung um, der zum Aktivieren der Befehlskette nötig war. Dann wird das Punktestand-Ziel[B3.14], der Dorfbewohner[B3.15] sowie das Team wieder gelöscht[B3.16].


Befehlsblöcke mit Befehlen:
/scoreboard objectives add PZMaus:3Klick stat.talkedToVillager
/scoreboard teams add TMMaus:3
/scoreboard teams join TMMaus:3 @p[r=25]
/scoreboard teams option TMMaus:3 collisionRule never
/scoreboard teams option TMMaus:3 seeFriendlyInvisibles false
/summon minecraft:villager ~ ~1 ~ {NoAI:1b,Silent:0b,Offers:{Recipes:[]},NoGravity:1b,Rotation:[270f,0f],CustomName:"ObjMaus:3Klick",Tags:["EtiMaus:3Klick"],Team:"TMMaus:3",ActiveEffects:[{Id:14,Amplifier:0,Ambient:0,ShowParticles:0b,Duration:2000000000} ] }


/execute @p[r=25,team=TMMaus:3] ~ ~ ~ /teleport @e[type=minecraft:villager,name=ObjMaus:3Klick,tag=EtiMaus:3Klick,team=TMMaus:3] ~ ~1 ~
/scoreboard players tag @e[type=minecraft:villager,name=ObjMaus:3Klick,tag=!EtiMaus:3Linksklick] add EtiMaus:3Linksklick {Health:19.0f}
/execute @e[type=minecraft:villager,tag=EtiMaus:3Linksklick] ~ ~ ~ /tellraw @p[r=5] ["",{"text":"Mausklick-Sensor:3"},{"text":" Ein Linksklick wurde erkannt"} ]
/entitydata @e[type=minecraft:villager,tag=EtiMaus:3Linksklick] {Health:20.0f}
/scoreboard players tag @e[type=minecraft:villager,tag=EtiMaus:3Linksklick] remove EtiMaus:3Linksklick
/tellraw @p[score_PZMaus:3Klick_min=1] ["",{"text":"Mausklick-Sensor:3"},{"text":" Ein Rechtsklick wurde erkannt"} ]
/scoreboard players reset @a[score_PZMaus:3Klick_min=1] PZMaus:3Klick


/scoreboard objectives remove PZMaus:3Klick
/kill @e[type=minecraft:villager,name=ObjMaus:3Klick]
/scoreboard teams remove TMMaus:3


Disambig color.svg
Promotional Content