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 |
Der Sprachen-Sensor kann erkennen in welcher Sprache man in einer Einzelspieler-Welt oder auf einem Server spielt. Jedoch nicht individuell für den einzelnen Spieler auf einem Server, denn dazu wird seine Mithilfe benötigt. Die Erfassung der Sprache wird dabei über ein beliebiges Objekt ermöglicht, welches den jeweiligen Objektnamen als normalen Namen trägt. Dadurch kann man abfragen ob beispielsweise das „Kaninchen“ genauso heißt oder ob es „Rabbit“ in der englischen Sprache heißt.
Variante 1[]
Folgende Voraussetzungen werden benötigt: | ||
---|---|---|
|
Folgende Materialien werden benötigt: | |
---|---|
|
Mit diesem Sprachen-Sensor lässt sich feststellen ob die Welt mit deutscher Sprache bespielt wird oder nicht.
- Wiederholen
Wenn der Wiederhol-Befehlsblock eingeschaltet wird, wird anhand eines Kaninchen die deutsche Sprache erkannt oder nicht und dies wird dem Spieler mitgeteilt.
- Befehl 1.1 Wenn ein Spieler auftaucht, der noch nicht erfasst wurde (ein Etikett besitzt), dann wird ein Kaninchen auf der Höhe null relativ zum Spieler erzeugt. Dieses besitzt keine Schwerkraft und kann keinen Schaden erhalten oder Gegenstände droppen.
- Befehl 1.2 Als nächstes wird von diesem Spieler aus geprüft ob das Kaninchen den deutschen Namen besitzt, falls es das tut, wird eine Chat-Nachricht ausgegeben.
- Befehl 1.3 Falls das Kaninchen nicht den deutschen Namen trägt, wird stattdessen eine andere Chat-Nachricht ausgegeben.
- Befehl 1.4 Anschließend wird das Kaninchen getötet.
- Befehl 1.5 Der Spieler erhält noch das Etikett und ist somit erfasst worden.
- Ausschalten
Spieler die erfasst wurden, wird das Etikett entfernt.
- Befehl 1.6 Alle Spieler die erfast wurden, bekommen das Etikett wieder entfernt.
Befehlsblöcke mit Befehlen: |
|
Variante 2[]
Folgende Voraussetzungen werden benötigt: | ||
---|---|---|
|
Folgende Materialien werden benötigt: | |
---|---|
|
Dieser Sprachen-Sensor kann deutsch, englisch, französisch, spanisch oder italienisch erkennen. Falls man eine andere Sprache eingestellt hat, wird eine Fehlermeldung ausgegeben. Diese Variante ist so aufgebaut, dass sie per Kaninchen-Namen die Sprache erfasst. Weitere Sprachen lassen sich einbauen, indem man die Namen-Überprüfung um weitere Nummern erweitert.
- Einschalten
- Befehl 2.1 Wenn der Hebel umgelegt wird, wird die Start-Funktion gestartet.
- Wiederholen
- Befehl 2.2 Beim Einschalten wird auch der Wiederhol-Befehlsblock gestartet, der jeden Tick die Zyklus-Funktion lädt.
- Ausschalten
- Befehl 2.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 2: Start-Funktion
Die Start-Funktion erstellt das Punktestand-Ziel, welches für die IDs der Sprachen verwendet wird.
sprachen-sensor:v2start.mcfunction
|
# Das Punktestand-Ziel für die Sprach-IDs wird erstellt scoreboard objectives add PZSprS.2Sprache dummy ["Sprachen-Sensor.2 ",{"text":"Sprache mit Nummer","bold":true}] |
Variante 2: Zyklus-Funktion
Wenn sich ein noch nicht registrierter Spieler (besitzt noch kein Etikett) in der Welt befindet, wird ein Kaninchen erzeugt, bei dem der Name überprüft wird. Je nach Spracheinstellung besitzt dann das Kaninchen einen Namen in der jeweiligen Sprache. Dem Spieler wird dann passend zum Namen eine Sprach-ID gegeben und erhält eine Nachricht die ihm sagt, welche Sprache er eingestellt hat, falls sie unter den suchenden Sprachen dabei ist, ansonsten erhält er eine Fehlermeldung.
sprachen-sensor:v2zyklus.mcfunction
|
# Spieler die gerade auftauchen lassen auf Ebene null unter sich ein Kaninchen erzeugen und der Wert wird auf null gesetzt execute at @a[tag=!EtiSprS.2Sprache] run summon minecraft:rabbit ~ 0 ~ {Invulnerable:true,NoGravity:true,DeathLootTable:"minecraft:empty",Tags:["EtiSprS.2Alle"]} scoreboard players set @a[tag=!EtiSprS.2Sprache] PZSprS.2Sprache 0 # Bei Spielern die noch nicht erfasst wurden, wird geprüft ob sich auf Ebene null ein Kaninchen aufhält, falls das so ist, wird die Funktion geladen execute as @a[tag=!EtiSprS.2Sprache] at @s positioned ~ 0 ~ if entity @e[distance=..1,type=minecraft:rabbit,tag=EtiSprS.2Alle] run function sprachen-sensor:v2sprache # Je nach erfasster Sprache wird dem Spieler eine Chat-Nachricht ausgegeben. Falls keine Sprache gefunden wurde, besitzt der Spieler den Wert null tellraw @a[tag=!EtiSprS.2Sprache,scores={PZSprS.2Sprache=0..}] ["Sprachen-Sensor.2: "] tellraw @a[tag=!EtiSprS.2Sprache,scores={PZSprS.2Sprache=0}] ["",{"text":"Die Sprache konnte leider nicht erkannt werden","color":"red","bold":true} ] tellraw @a[tag=!EtiSprS.2Sprache,scores={PZSprS.2Sprache=1}] ["",{"text":"Diese Welt wird in deutscher Sprache gespielt","bold":true} ] tellraw @a[tag=!EtiSprS.2Sprache,scores={PZSprS.2Sprache=2}] ["",{"text":"This world is played in English","bold":true} ] tellraw @a[tag=!EtiSprS.2Sprache,scores={PZSprS.2Sprache=3}] ["",{"text":"Ce monde se joue en français","bold":true} ] tellraw @a[tag=!EtiSprS.2Sprache,scores={PZSprS.2Sprache=4}] ["",{"text":"Este mundo se juega en español","bold":true} ] tellraw @a[tag=!EtiSprS.2Sprache,scores={PZSprS.2Sprache=5}] ["",{"text":"Questo mondo è suonato in italiano","bold":true} ] # Anschließend wird das Kaninchen getötet und Spieler erhalten das Etikett kill @e[tag=EtiSprS.2Alle] tag @a[tag=!EtiSprS.2Sprache,scores={PZSprS.2Sprache=0..}] add EtiSprS.2Sprache |
Variante 2: Sprachen-Funktion
Die Sprachen-Funktion prüft anhand des Kaninchennamens welche Sprache eingestellt wurde. Bei weitem wurden nicht Befehle für sämtliche Sprachen eingebaut, aber diese Funktion kann um weitere Sprachen-Test erweitert werden, sodass auch andere Sprachen erkannt werden könnten.
sprachen-sensor:v2sprache.mcfunction
|
# Das Kaninchen hat je nach Sprache in der man spielt einen anderen Namen. Je nach Sprache wird ein bestimmter Wert vergeben execute if entity @e[distance=..1,name="Kaninchen"] run scoreboard players set @s[tag=!EtiSprS.2Sprache] PZSprS.2Sprache 1 execute if entity @e[distance=..1,name="Rabbit"] run scoreboard players set @s[tag=!EtiSprS.2Sprache] PZSprS.2Sprache 2 execute if entity @e[distance=..1,name="Lapin"] run scoreboard players set @s[tag=!EtiSprS.2Sprache] PZSprS.2Sprache 3 execute if entity @e[distance=..1,name="Conejo"] run scoreboard players set @s[tag=!EtiSprS.2Sprache] PZSprS.2Sprache 4 execute if entity @e[distance=..1,name="Coniglio"] run scoreboard players set @s[tag=!EtiSprS.2Sprache] PZSprS.2Sprache 5 |
Variante 2: Stopp-Funktion
Die Stopp-Funktion löscht das Punktestand-Ziel sowie das Etikett das jeder Spieler erhalten hatte.
sprachen-sensor:v2stopp.mcfunction
|
# Das Punktestand-Ziel und die Etiketten der Spieler werden entfernt scoreboard objectives remove PZSprS.2Sprache tag @a[tag=EtiSprS.2Sprache] remove EtiSprS.2Sprache |
|
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;
|
|