Technik Wiki
Registrieren
Advertisement
Gruppe: Grid Kolben
Vorrichtungen

Grid Roter Sand blass mit Mechaniken

Grid Redstone blass mit Redstone
                Hier:
Grid Befehlsblock mit Befehlen
Verfügbar in:
Wiki Redstone-Welt 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[]

Sprachen-Sensor (Befehle) Bild 1.1 Sprachen-Sensor (Befehle) Bild 1.2

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:
execute at @p[tag=!EtiSprS.1Sprache] run summon minecraft:rabbit ~ 0 ~ {Invulnerable:true,NoGravity:true,DeathLootTable:"minecraft:empty",Tags:["EtiSprS.1Alle"]}
execute as @p[tag=!EtiSprS.1Sprache] at @s positioned ~ 0 ~ if entity @e[type=minecraft:rabbit,tag=EtiSprS.1Alle,name="Kaninchen",distance=..1] run tellraw @s ["Sprachen-Sensor.1:\n",{"text":"Diese Welt wird in deutscher Sprache gespielt","bold":true} ]
execute as @p[tag=!EtiSprS.1Sprache] at @s positioned ~ 0 ~ if entity @e[type=minecraft:rabbit,tag=EtiSprS.1Alle,name=!"Kaninchen",distance=..1] run tellraw @s ["Sprachen-Sensor.1:\n",{"text":"Die Sprache konnte leider nicht erkannt werden","color":"red","bold":true} ]
kill @e[tag=EtiSprS.1Alle]
tag @p[tag=!EtiSprS.1Sprache] add EtiSprS.1Sprache


tag @a[tag=EtiSprS.1Sprache] remove EtiSprS.1Sprache

Variante 2[]

Sprachen-Sensor (Befehle) Bild 2.1 Sprachen-Sensor (Befehle) Bild 2.2

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.

Editor Icon 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.

Editor Icon 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.

Editor Icon 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.

Editor Icon 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


Disambig color
 
Grid Grasblock
Auch im Minecraft Wiki wird das Thema dieser Technik behandelt:
Menü/Sprache
Advertisement