Technik Wiki
Tomatocake3 (Diskussion | Beiträge)
K (Fehlerkorrektur)
(Technik-Familie)
 
(3 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
{{Unterseite|gruppe=Anlagen|
 
{{Unterseite|gruppe=Anlagen|
{{Seitenkopf}}
+
{{Seitenkopf|dw=r}}
{{Neue Technik|r|artikel}}
 
 
}}
 
}}
 
'''Benutzeroberflächen''' (engl. [[de.wikipedia:Grafische_Benutzeroberfläche|GUI]]) ermöglichen dem Spieler über anklickbare Gegenstände eine Steuerung von Techniken. Im Spiel wird dies meist über ein {{mcw|Inventar}} gelöst, das Gegenstände an bestimmten Slots angeordnet hat und wenn Gegenstände entfernt werden ist das ein Signal für eine Ausführung von etwas.
 
'''Benutzeroberflächen''' (engl. [[de.wikipedia:Grafische_Benutzeroberfläche|GUI]]) ermöglichen dem Spieler über anklickbare Gegenstände eine Steuerung von Techniken. Im Spiel wird dies meist über ein {{mcw|Inventar}} gelöst, das Gegenstände an bestimmten Slots angeordnet hat und wenn Gegenstände entfernt werden ist das ein Signal für eine Ausführung von etwas.
Zeile 21: Zeile 20:
   
 
Diese Benutzeroberfläche wird durch eine schwebende Güterlore realisiert. Es wird hierbei geprüft ob Gegenstände angeklickt wurden und darauf folgt dann eine Text-Nachricht im Chat. Diese Nachricht könnte auch ein anderes Ereignis sein, das gestartet wird, wenn man einen der Gegenstände anklickt.
 
Diese Benutzeroberfläche wird durch eine schwebende Güterlore realisiert. Es wird hierbei geprüft ob Gegenstände angeklickt wurden und darauf folgt dann eine Text-Nachricht im Chat. Diese Nachricht könnte auch ein anderes Ereignis sein, das gestartet wird, wenn man einen der Gegenstände anklickt.
  +
  +
;Einschalten
  +
*{{bb|1|1}} Auf dem Wiederhol-Befehlsblock befindet sich ein Hebel. Legt man ihn um, wird zuerst der Befehlsblock mit der Start-Funktion {{f|link=v1start}} aktiviert.
  +
  +
;Wiederholen
  +
*{{bb|1|2}} Gleichzeitig wird auch der Wiederhol-Befehlsblock mit der Zyklus-Funktion {{f|link=v1zyklus}} aktiv.
  +
  +
;Ausschalten
  +
*{{bb|1|3}} der Befehlsblock löst die Funktion {{f|link=v1stopp}} aus.
  +
  +
{{Ausklappmenü|offen=1|{{bb}}|
  +
{{bb|1|1|i|4=function benutzeroberflaeche:v1start}}
  +
  +
  +
{{bb|1|2|w|4=function benutzeroberflaeche:v1zyklus}}
  +
  +
  +
{{bb|1|3|i|4=function benutzeroberflaeche:v1stopp}}
  +
}}
   
 
{{fü|1|name=Start}}
 
{{fü|1|name=Start}}
Zeile 34: Zeile 52:
   
 
{{fü|1|name=Zyklus}}
 
{{fü|1|name=Zyklus}}
Die Zyklus-Funktion ließt jeden Tick aus, wie viele Slots in der Güterlore belegt sind, weicht dieser Wert von der Vorgabe ab, so wird die Menü-Funktion aufgerufen.
+
Die Zyklus-Funktion liest jeden Tick aus, wie viele Slots in der Güterlore belegt sind, weicht dieser Wert von der Vorgabe ab, so wird die Menü-Funktion aufgerufen.
   
 
{{f|name=benutzeroberflaeche:v1zyklus|alias=v1zyklus|1=
 
{{f|name=benutzeroberflaeche:v1zyklus|alias=v1zyklus|1=
Zeile 50: Zeile 68:
 
execute as @a[distance=..5,scores={PZBeOFl.1Wert=0}] store success score @s PZBeOFl.1Wert run kill @e[distance=..5,type=minecraft:item,nbt={Item:{tag:{EigBeOFl.1Alle:true} } }]
 
execute as @a[distance=..5,scores={PZBeOFl.1Wert=0}] store success score @s PZBeOFl.1Wert run kill @e[distance=..5,type=minecraft:item,nbt={Item:{tag:{EigBeOFl.1Alle:true} } }]
   
# Alle Spieler die irgendwas angeklickt haben, erhalten eine Nachricht.
+
# Alle Spieler, die irgendwas angeklickt haben, erhalten eine Nachricht.
 
tellraw @a[distance=..5,scores={PZBeOFl.1Wert=1}] ["Benutzeroberfläche.1:"]
 
tellraw @a[distance=..5,scores={PZBeOFl.1Wert=1}] ["Benutzeroberfläche.1:"]
   
Zeile 65: Zeile 83:
   
 
# Damit die Güterlore ihr Menü wieder erhält, werden alle Gegenstände wieder hinzugefügt.
 
# Damit die Güterlore ihr Menü wieder erhält, werden alle Gegenstände wieder hinzugefügt.
data merge entity @s {Items:[{Slot:11b,id:"minecraft:bookshelf",Count:1b,tag:{EigBeOFl.1Alle:true,display:{Name:'{"text":"Bücherregal","color":"dark_aqua","bold":true}'} } },{Slot:12b,id:"minecraft:chest",Count:1b,tag:{EigBeOFl.1Alle:true,display:{Name:'{"text":"Truhe","color":"gold","bold":true}'} } }, {Slot:13b,id:"minecraft:lime_shulker_box",Count:1b,tag:{EigBeOFl.1Alle:true,display:{Name:'{"text":"Shulkerkiste","color":"green","bold":true}'} } }, {Slot:14b,id:"minecraft:red_bed",Count:1b,tag:{EigBeOFl.1Alle:true,display:{Name:'{"text":"Bett","color":"red","bold":true}'} } }, {Slot:15b,id:"minecraft:firework_rocket",Count:1b,tag:{EigBeOFl.1Alle:true,display:{Name:'{"text":"Rakete","color":"dark_purple","bold":true}'} } }]}
+
data merge entity @s {Items:[{Slot:11b,id:"minecraft:bookshelf",Count:1b,tag:{EigBeOFl.1Alle:true,display:{Name:'{"text":"Bücherregal","color":"dark_aqua","bold":true}'} } },{Slot:12b,id:"minecraft:chest",Count:1b,tag:{EigBeOFl.1Alle:true,display:{Name:'{"text":"Truhe","color":"gold","bold":true}'} } },{Slot:13b,id:"minecraft:lime_shulker_box",Count:1b,tag:{EigBeOFl.1Alle:true,display:{Name:'{"text":"Shulkerkiste","color":"green","bold":true}'} } },{Slot:14b,id:"minecraft:red_bed",Count:1b,tag:{EigBeOFl.1Alle:true,display:{Name:'{"text":"Bett","color":"red","bold":true}'} } },{Slot:15b,id:"minecraft:firework_rocket",Count:1b,tag:{EigBeOFl.1Alle:true,display:{Name:'{"text":"Rakete","color":"dark_purple","bold":true}'} } }]}
 
}}
 
}}
 
{{JSON-Datei|name=benutzeroberflaeche:v1menu|type=alias|1=
 
{{JSON-Datei|name=benutzeroberflaeche:v1menu|type=alias|1=
Zeile 80: Zeile 98:
   
 
{{fü|1|name=Stopp}}
 
{{fü|1|name=Stopp}}
Die Stopp-Funktion löscht das Punkte-Ziel wieder und die Gegenstände und die Güterlore werden entfernt.
+
Die Stopp-Funktion löscht das Punkte-Ziel wieder und Gegenstände und die Güterlore werden entfernt.
   
 
{{f|name=benutzeroberflaeche:v1stopp|alias=v1stopp|1=
 
{{f|name=benutzeroberflaeche:v1stopp|alias=v1stopp|1=
Zeile 98: Zeile 116:
   
 
{{Unterseite|
 
{{Unterseite|
  +
{{Technik-Familien|familie=erstellen}}
 
{{Navbox-Technik}}
 
{{Navbox-Technik}}
 
{{Navbox-Technik|Technik}}
 
{{Navbox-Technik|Technik}}

Aktuelle Version vom 3. November 2022, 10:49 Uhr

Gruppe: Grid Klebriger Kolben
Anlagen

Grid Roter Sand blass mit Mechaniken

Grid Redstone blass mit Redstone
                Hier:
Grid Befehlsblock mit Befehlen
Verfügbar in:
Wiki Redstone-Welt Redstone-Welt

Benutzeroberflächen (engl. GUI) ermöglichen dem Spieler über anklickbare Gegenstände eine Steuerung von Techniken. Im Spiel wird dies meist über ein Inventar gelöst, das Gegenstände an bestimmten Slots angeordnet hat und wenn Gegenstände entfernt werden ist das ein Signal für eine Ausführung von etwas.

Variante 1

Benutzeroberfläche (Befehle) Bild 1.1 Benutzeroberfläche (Befehle) Bild 1.2

Diese Benutzeroberfläche wird durch eine schwebende Güterlore realisiert. Es wird hierbei geprüft ob Gegenstände angeklickt wurden und darauf folgt dann eine Text-Nachricht im Chat. Diese Nachricht könnte auch ein anderes Ereignis sein, das gestartet wird, wenn man einen der Gegenstände anklickt.

Einschalten
Wiederholen
Ausschalten

Befehlsblöcke mit Befehlen:



Variante 1: Start-Funktion
Die Start-Funktion erstellt das Punkte-Ziel für das Zählen der Gegenstände und die Güterlore die die Benutzeroberfläche darstellt, wird erstellt.

Editor Icon benutzeroberflaeche:v1start.mcfunction
# Ein Punkte-Ziel für Werte wird erstellt.
scoreboard objectives add PZBeOFl.1Wert dummy ["Benutzeroberfläche.1: ",{"text":"Werte","bold":true}]

# Eine Güterlore, die für die Benutzeroberfläche verwendet wird und die auf einem Rüstungsständer reitet, wird erstellt.
summon minecraft:armor_stand ~ ~1 ~ {NoGravity:true,Small:true,Invisible:true,Marker:true,Tags:["EtiBeOFl.1Alle"],Passengers:[{id:"minecraft:chest_minecart",NoGravity:true,Invulnerable:true,CustomName:'{"text":"Benutzeroberfläche","color":"dark_purple","bold":true}',Tags:["EtiBeOFl.1Alle","EtiBeOFl.1GUI"]},{id:"minecraft:armor_stand",NoGravity:true,Small:true,Invisible:true,Tags:["EtiBeOFl.1Alle"],CustomNameVisible:true,CustomName:'{"text":"Benutzeroberfläche","color":"dark_purple","bold":true}'}]}

Variante 1: Zyklus-Funktion
Die Zyklus-Funktion liest jeden Tick aus, wie viele Slots in der Güterlore belegt sind, weicht dieser Wert von der Vorgabe ab, so wird die Menü-Funktion aufgerufen.

Editor Icon benutzeroberflaeche:v1zyklus.mcfunction
# Die Anzahl der belegten Slots, in der schwebende Güterlore, wird ausgelesen und nur wenn sie nicht übereinstimmt, wird die Funktion geladen.
execute as @e[type=minecraft:chest_minecart,tag=EtiBeOFl.1GUI,sort=nearest,limit=1] store result score @s PZBeOFl.1Wert run data get entity @s Items
execute as @e[type=minecraft:chest_minecart,tag=EtiBeOFl.1GUI,sort=nearest,limit=1] unless entity @s[scores={PZBeOFl.1Wert=11}] at @s run function benutzeroberflaeche:v1menu

Variante 1: Menü-Funktion
Die Menü-Funktion ermittelt zuerst, welcher Spieler die Gegenstände angeklickt hat und sendet danach eine Chat-Nachricht, in der der Gegenstand angegeben wird, der angeklickt wurde. Zuletzt wird die Güterlore wieder auf den Ursprungszustand gesetzt.

Editor Icon benutzeroberflaeche:v1menu.mcfunction
# Spieler die in dem Menü auf einen der Gegenstände geklickt haben, besitzen diese im eigenen Inventar. Genau diese werden aus dem Inventar gelöscht und so erhalten diese Spieler um die Güterlore einen Wert von eins. Falls man stattdessen mit Q den Gegenstand aus der Güterlore geworfen hat, wird der Drop gelöscht und der Spieler erhält ebenfalls den Wert eins, sofern er noch nichts anderes angeklickt hat.
execute as @a[distance=..5] store success score @s PZBeOFl.1Wert run clear @s #benutzeroberflaeche:v1menu{EigBeOFl.1Alle:true}
execute as @a[distance=..5,scores={PZBeOFl.1Wert=0}] store success score @s PZBeOFl.1Wert run kill @e[distance=..5,type=minecraft:item,nbt={Item:{tag:{EigBeOFl.1Alle:true} } }]

# Alle Spieler, die irgendwas angeklickt haben, erhalten eine Nachricht.
tellraw @a[distance=..5,scores={PZBeOFl.1Wert=1}] ["Benutzeroberfläche.1:"]

# Je nach dem welchen Gegenstand angeklickt hat, wird dies erkannt, in dem geprüft ob der Slot noch belegt ist und sich auch genau eine Einheit des Gegenstands dort befindet. In jeden Fall wo das nicht zutrifft, wird den Spielern die etwas angeklickt haben, eine zum Gegenstand passende Nachricht ausgegeben.
execute if entity @s[nbt=!{Items:[{Slot:11b,Count:1b}]}] run tellraw @a[distance=..5,scores={PZBeOFl.1Wert=1}] ["",{"text":"Bücherregal","color":"dark_aqua","bold":true},{"text":" angeklickt","bold":true}]

execute if entity @s[nbt=!{Items:[{Slot:12b,Count:1b}]}] run tellraw @a[distance=..5,scores={PZBeOFl.1Wert=1}] ["",{"text":"Truhe","color":"gold","bold":true},{"text":" angeklickt","bold":true}]

execute if entity @s[nbt=!{Items:[{Slot:13b,Count:1b}]}] run tellraw @a[distance=..5,scores={PZBeOFl.1Wert=1}] ["",{"text":"Shulkerkiste","color":"green","bold":true},{"text":" angeklickt","bold":true}]

execute if entity @s[nbt=!{Items:[{Slot:14b,Count:1b}]}] run tellraw @a[distance=..5,scores={PZBeOFl.1Wert=1}] ["",{"text":"Bett","color":"red","bold":true},{"text":" angeklickt","bold":true}]

execute if entity @s[nbt=!{Items:[{Slot:15b,Count:1b}]}] run tellraw @a[distance=..5,scores={PZBeOFl.1Wert=1}] ["",{"text":"Rakete","color":"dark_purple","bold":true},{"text":" angeklickt","bold":true}]

# Damit die Güterlore ihr Menü wieder erhält, werden alle Gegenstände wieder hinzugefügt.
data merge entity @s {Items:[{Slot:11b,id:"minecraft:bookshelf",Count:1b,tag:{EigBeOFl.1Alle:true,display:{Name:'{"text":"Bücherregal","color":"dark_aqua","bold":true}'} } },{Slot:12b,id:"minecraft:chest",Count:1b,tag:{EigBeOFl.1Alle:true,display:{Name:'{"text":"Truhe","color":"gold","bold":true}'} } },{Slot:13b,id:"minecraft:lime_shulker_box",Count:1b,tag:{EigBeOFl.1Alle:true,display:{Name:'{"text":"Shulkerkiste","color":"green","bold":true}'} } },{Slot:14b,id:"minecraft:red_bed",Count:1b,tag:{EigBeOFl.1Alle:true,display:{Name:'{"text":"Bett","color":"red","bold":true}'} } },{Slot:15b,id:"minecraft:firework_rocket",Count:1b,tag:{EigBeOFl.1Alle:true,display:{Name:'{"text":"Rakete","color":"dark_purple","bold":true}'} } }]}
JSON Icon benutzeroberflaeche:v1menu.json
{
  "values": [
    "minecraft:bookshelf",
    "minecraft:chest",
    "minecraft:lime_shulker_box",
    "minecraft:red_bed",
    "minecraft:firework_rocket"
  ]
}

Variante 1: Stopp-Funktion
Die Stopp-Funktion löscht das Punkte-Ziel wieder und Gegenstände und die Güterlore werden entfernt.

Editor Icon benutzeroberflaeche:v1stopp.mcfunction
# Das Punkte-Ziel wird wieder entfernt.
scoreboard objectives remove PZBeOFl.1Wert

# Falls Spieler einen der Menü-Gegenstände noch besitzen, werden diese entfernt.
clear @a #benutzeroberflaeche:v1menu{EigBeOFl.1Alle:true}

# Damit die Güterlore beim späteren Entfernen nichts droppt, werden alle Gegenstände entfernt.
data remove entity @e[type=minecraft:chest_minecart,tag=EtiBeOFl.1GUI,sort=nearest,limit=1] Items

# Gegenstände als Drop und die Güterlore werden entfernt.
tag @e[type=minecraft:item,nbt={Item:{tag:{EigBeOFl.1Alle:true} } }] add EtiBeOFl.1Alle
kill @e[tag=EtiBeOFl.1Alle]


Disambig color