Diese Seite stammt ursprünglich aus de.minecraft.wiki und wurde von der Quelle abweichend verändert.
|
Gruppe: Anlagen |
mit Mechaniken |
mit Redstone |
Hier: mit Befehlen |
Verfügbar in: Redstone-Welt |
Die Mehrfachauswahl ermöglicht den Spielern die Auswahl von mehreren Schaltflächen. Alle Schaltflächen die durch einen Rechtsklick aktiviert werden bleiben das auch. Um sie zu deaktivieren, muss man sie mit einem Linksklick anpeilen.
Variante 1[]
Folgende Voraussetzungen werden benötigt: | ||
---|---|---|
|
Folgende Materialien werden benötigt: | |
---|---|
|
Mit dieser Mehrfachauswahl lassen sich beliebig viele Schaltflächen erzeugen, die man rechtsklicken kann um sie zu aktivieren. Aktivierte Schaltflächen lassen sich durch einen Linksklick wieder deaktivieren.
- Einschalten
- Befehl 1.1 Wenn der Hebel umgelegt wird, wird die Start-Funktion gestartet.
- Wiederholen
- Befehl 1.2 Beim Einschalten wird auch der Wiederhol-Befehlsblock gestartet, der jeden Tick die Zyklus-Funktion lädt.
- Ausschalten
- Befehl 1.3 Wenn der Hebel wieder in Ausgangsstellung zurück gelegt wird, wird die Stopp-Funktion ausgelöst und schaltet alles wieder ab.
Befehlsblöcke mit Befehlen: |
|
Variante 1: Start-Funktion
Die Start-Funktion erstellt das Punktestand-Ziel für das Erkennen von Rechtsklicken auf Dorfbewohnern und gibt den Spielern die Schaltflächen in die Hand.
mehrfachauswahl:v1start.mcfunction
|
# Das Punktestand-Ziel, für das Erkennen von Rechtsklicks auf Dorfbewohnern, wird erstellt. scoreboard objectives add PZMehrfA.1Klick minecraft.custom:minecraft.talked_to_villager ["Mehrfachauswahl.1: ",{"text":"Klick auf Dorfbewohner","bold":true}] # Den Spielern in einem Umkreis von 25 Metern werden 16 Rüstungsständer ins Inventar gelegt. give @a[distance=..25] minecraft:armor_stand{mehrfachauswahl:"v1gegenstand",display:{Name:'{"text":"Schaltfläche","bold":true}',Lore:['"Platziere den Rüstungsständer"','"um eine Schaltfläche"','"zu erstellen"']},EntityTag:{Small:true,Invisible:true,Tags:["EtiMehrfA.1Alle","EtiMehrfA.1Erstellen"]} } 16 |
Variante 1: Zyklus-Funktion
Die Zyklus-Funktion sorgt dafür, dass Schaltflächen erzeugt werden, wenn sie durch Rüstungsständer aufgerufen werden. Sie sorgt dafür, dass der Rechtsklick wie auch der Linksklick angezeigt wird.
mehrfachauswahl:v1zyklus.mcfunction
|
# Wenn der Erstellen-Rüstungsständer platziert wurde, wird an dessen Stelle ein Rüstungsständer mit Dorfbewohner erzeugt. Der Rüstungsständer besitzt einen Anzeigenamen und der Dorfbewohner besitzt keine KI, ist leise, besitzt keine Gravitation, keine Rezepte und ist unsichtbar. Der Erstellen-Rüstungsständer wird danach gelöscht. execute at @e[type=minecraft:armor_stand,tag=EtiMehrfA.1Erstellen] run summon minecraft:armor_stand ~ ~ ~ {NoGravity:true,Small:true,Invisible:true,Marker:true,CustomNameVisible:true,CustomName:'{"text":"Schaltfläche","bold":true}',Tags:["EtiMehrfA.1Alle","EtiMehrfA.1Auswahl"],ArmorItems:[{},{},{},{id:"minecraft:bell",Count:1b} ],Passengers:[{id:"minecraft:villager",NoAI:true,Silent:true,NoGravity:true,Offers:{Recipes:[]},Tags:["EtiMehrfA.1Alle","EtiMehrfA.1Klicken"],ActiveEffects:[{Id:14b,Amplifier:0b,Ambient:false,ShowParticles:false,Duration:2147483647} ] } ] } kill @e[type=minecraft:armor_stand,tag=EtiMehrfA.1Erstellen] # Die Rüstungsständer schaue immer zum Spieler, wenn dieser näher kommt. execute as @e[type=minecraft:armor_stand,tag=EtiMehrfA.1Auswahl] at @s run teleport @s ~ ~ ~ facing entity @p[distance=..5] eyes # Wenn der Spieler auf einen Dorfbewohner einen Rechtsklick macht, so erhält er einen Wert, woran das erkannt wird und zwei Meter vor ihm wird nach dem Dorfbewohner Ausschau gehalten. Wenn das zutrifft, wird ein Glocken-Geräiusch abgespielt und der Rüstungsständer bekommt ein Etikett und der Spieler die Benachrichtigung. execute as @a[scores={PZMehrfA.1Klick=1..}] at @s positioned ^ ^ ^2 if entity @e[distance=..2,type=minecraft:villager,tag=EtiMehrfA.1Klicken] run playsound minecraft:block.bell.use block @s ~ ~ ~ 5 1 1 execute at @a[scores={PZMehrfA.1Klick=1..}] positioned ^ ^ ^2 run tag @e[distance=..2,type=minecraft:armor_stand,tag=EtiMehrfA.1Auswahl,sort=nearest,limit=1] add EtiMehrfA.1Angeklickt execute as @a[scores={PZMehrfA.1Klick=1..}] at @s positioned ^ ^ ^2 if entity @e[distance=..2,type=minecraft:armor_stand,tag=EtiMehrfA.1Angeklickt,sort=nearest,limit=1] run tellraw @s ["Mehrfachauswahl.1: ",{"text":"Der Schalter wurde aktiviert (Rechtsklick)","bold":true} ] # Die angeklickten Schaltflächen erzeugen weiße Partikel und besitzen den Leuchten-Effekt. execute at @e[type=minecraft:armor_stand,tag=EtiMehrfA.1Angeklickt] run particle minecraft:block minecraft:white_concrete ~ ~1.1 ~ 0 0 0 0.1 1 normal @a[distance=..25] effect give @e[type=minecraft:armor_stand,tag=EtiMehrfA.1Angeklickt] minecraft:glowing 1 1 false # Spieler die Dorfbewohner angeklickt haben, erhalten wieder den Wert null. scoreboard players set @a[scores={PZMehrfA.1Klick=1..}] PZMehrfA.1Klick 0 # Dorfbewohner die mit einem Linksklick Schaden erhalten, werden dadurch erkannt, dass deren Gesundheit nicht mehr maximal ist. Spieler im Umkreis erhalten ein Geröusch sowie eine Benachrichtigung. Effekte werden ebenfalls entfernt sowie das Etikett. Der Dorfbewohner wird anschließend wieder auf maximale Gesundheit gesetzt. execute as @e[type=minecraft:villager,tag=EtiMehrfA.1Klicken] store result score @s PZMehrfA.1Klick run data get entity @s Health 100 execute as @e[type=minecraft:villager,tag=EtiMehrfA.1Klicken,scores={PZMehrfA.1Klick=0..1999}] at @s at @a[distance=..3] positioned ^ ^ ^2 if entity @s[distance=..2] run tellraw @a[distance=..3] ["Mehrfachauswahl.1: ",{"text":"Der Schalter wurde deaktiviert (Linksklick)","bold":true}] execute as @e[type=minecraft:villager,tag=EtiMehrfA.1Klicken,scores={PZMehrfA.1Klick=0..1999}] at @s at @a[distance=..3] positioned ^ ^ ^2 if entity @s[distance=..2] run playsound minecraft:block.anvil.place block @p ~ ~ ~ 10 1 1 execute at @e[type=minecraft:villager,tag=EtiMehrfA.1Klicken,scores={PZMehrfA.1Klick=0..1999}] at @a[distance=..3] positioned ^ ^ ^2 run effect clear @e[distance=..2,type=minecraft:armor_stand,tag=EtiMehrfA.1Angeklickt,sort=nearest,limit=1] execute as @e[type=minecraft:villager,tag=EtiMehrfA.1Klicken,scores={PZMehrfA.1Klick=0..1999}] at @s at @a[distance=..3] positioned ^ ^ ^2 run tag @e[distance=..2,type=minecraft:armor_stand,tag=EtiMehrfA.1Angeklickt,sort=nearest,limit=1] remove EtiMehrfA.1Angeklickt execute as @e[type=minecraft:villager,tag=EtiMehrfA.1Klicken,scores={PZMehrfA.1Klick=0..1999}] run data merge entity @s {Health:20.0f} |
Variante 1: Stopp-Funktion
Die Stopp-Funktion löscht das Punktestand-Ziel sowie die Rüstungsständer und Dorfbewohner wieder.
mehrfachauswahl:v1stopp.mcfunction
|
# Das Punktestand-Ziel wird entfernt. scoreboard objectives remove PZMehrfA.1Klick # Alle Rüstungsständer mit der speziellen Eigenschaft werden aus den Inventaren entfernt. clear @a[distance=..50] minecraft:armor_stand{mehrfachauswahl:"v1gegenstand"} # Alle Rüstungsständer als Objekt in der Welt oder als Drop, werden gelöscht. tag @e[type=minecraft:item,nbt={Item:{tag:{mehrfachauswahl:"v1gegenstand"} } }] add EtiMehrfA.1Alle kill @e[tag=EtiMehrfA.1Alle] |
|
Block-Tauschanlage => Redstone; Block-Transportanlage => Redstone; Block-Speicher => Redstone; Einfachauswahl => Redstone, Befehle; Mehrfachauswahl => Redstone, Befehle; Benutzerschnittstelle => Befehle; Benutzeroberfläche => Befehle; Lichtanlage => Redstone; Leuchtfeueranlage => Redstone; Musikanlage => Redstone; Musikgenerator => Redstone; Musik-Walzenspieler => Redstone; Tür- und Toranlage => Mechanik, Redstone (erweitert), Befehle; Schleusentür => Redstone; Schießanlage => Redstone (erweitert); TNT-Kanone => Redstone (erweitert); Ambossspender => Mechanik, Redstone; Standort-Markierung => Befehle; Zonen-Markierung => Befehle; Sperrzone => Befehle; Käfigzone => Befehle; Objekt-Steuerung => Befehle; Tageszeitwandler und -sensor => Befehle; Wetterwandler und -sensor => Befehle; Parcours-Element => Befehle; Parcours => Befehle; Bestenliste => Befehle; Mannschaftsverteiler => Befehle; Labyrinth- und Irrgartengenerator => Befehle; Konstruktionsgerüst => Befehle;
|
|