Das offizielle Minecraft Wiki twittert hier: Wiki-Twitter  –  Chatte im Wiki-Discord  – Noch keinen Server gefunden? Es gibt einen Wiki-Server
Aktuell: Hilf mit, das Technik Wiki auf 1.13 zu bringen => HIER

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 hatBefehl 1.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 hatBefehl 1.2. Der dritte Befehl setzt den Punktestand wieder zurückBefehl 1.3.

Wenn der Hebel umgelegt wird, so wird das Punktestand-Ziel erstellt Befehl 1.4 und der Spieler erhält eine KarottenruteBefehl 1.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 entferntBefehl 1.6Befehl 1.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 erstelltBefehl 2.1Befehl 2.2 und der Spieler erhält zwei FarbstoffeBefehl 2.3Befehl 2.4. Nun prüft ein Wiederhol-Befehlsblock ob der Rüstungsständer mit dem lila Farbstoff ausgestattet istBefehl 2.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 ausgibtBefehl 2.6. Das gleiche wird auch mit dem grünen Farbstoff getestetBefehl 2.7Befehl 2.8. Anschließend wird der Rüstungsständer von allen Handgegenständen befreitBefehl 2.9. Danach wird noch der Punktestand des Rüstungsständers zurück gesetztBefehl 2.10. Damit der Rüstungsständer immer an der Position des Spielers ist, wird dieser zu diesem teleportiertBefehl 2.11. Wird die Maschine ausgeschaltet, so wird der Rüstungsständer gelöscht, alle Farbstoffe aus dem Inventar entfernt und das Punktestand-Ziel gelöschtBefehl 2.12Befehl 2.13Befehl 2.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 abfragtBefehl 3.1. Dies wird für den rechts-Klick benötigt, dann folgt ein Team, was erstellt wirdBefehl 3.2, der Spieler wird gleich hineingesetztBefehl 3.3 und die Team-Einstellungen folgenBefehl 3.4Befehl 3.5. Das wird benötigt, damit der DorfbewohnerBefehl 3.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-BefehlsblockBefehl 3.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 BefehlBefehl 3.8. Nun wird im Chat das Erfassen des links-Klicks ausgegebenBefehl 3.9 und der Dorfbewohner wieder geheiltBefehl 3.10. Anschließend wird das Etikett, welches der Dorfbewohner erhalten hat, nachdem der Schaden entdeckt wurde, wieder entferntBefehl 3.11. Der rechts-Klick wird erkannt, in dem der Spieler mit dem Dorfbewohner interagieren möchteBefehl 3.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östBefehl 3.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-ZielBefehl 3.14, der DorfbewohnerBefehl 3.15 sowie das Team wieder gelöschtBefehl 3.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