Gruppe: Systeme |
mit Mechaniken |
mit Redstone |
Hier: mit Befehlen |
Verfügbar in: Mechanik-Welt |
Ein Hungerpunkte-System kann auf verschiedene Weise realisiert werden. Man kann das zu einseitige Essen von Nahrungsmittel mit Hungereffekten bestrafen oder neue Möglichkeiten einführen um Hungerpunkte aufzufüllen. Ebenfalls ist es auch möglich Getränken einen weiteren Nutzen zu verleihen, sodass Spieler auch auf ihre Flüssigkeitswerte achten müssen. Mit dem Befehl /gamerule naturalRegeneration
lässt sich außerdem die natürliche Regeneration ausschalten.
Variante 1[]
Folgende Voraussetzungen werden benötigt: | ||
---|---|---|
|
Folgende Materialien werden benötigt: | |
---|---|
|
Dieses Hungerpunkte-System gibt Spielern die sich ständig nur einseitig ernähren einen starken Hungereffekt und Lähmung. Spieler müssen auf ihre Nahrungsvielfalt achten und müssen schauen was sie zu sich nehmen.
- Einschalten
Wird der Hebel umgelegt, startet der Befehlsblock und führt die Start-Funktion einmal aus
- Befehl 1.1 Die Funktion hungerpunkte-system:v1start wird aktiviert
- Wiederholen
Mit dem Wiederhol-Befehlsblock führt jeden Tick die Zyklus-Funktion aus
- Befehl 1.2 die Funktion hungerpunkte-system:v1zyklus wird jeden Tick erneut ausgeführt.
- Ausschalten
Sobald der Hebel wieder in Ausgangsstellung zur��ck gelegt wurde, wird die Stopp-Funktion aktiviert
- Befehl 1.3 Die Funktion hungerpunkte-system:v1stopp wird einmal ausgeführt
Befehlsblöcke mit Befehlen: |
|
Variante 1: Start-Funktion
Die Start-Funktion erstellt mehrere Punktestand-Ziele, welche für das prüfen der Essensmenge nötig sind. Der Spieler wird in den Überlebensmodus gesetzt, falls er nicht bereits in diesem Modus war. Er bekommt auch einen starken Hungereffekt, damit er gleich einen guten Appetit besitzt, für die Lebensmittel die er ins Inventar gelegt bekommt. Auch wird eine kleine Anleitung im Chat ausgegeben, damit man weiss was zu tun ist.
hungerpunkte-system:v1start.mcfunction
|
# Punktestand-Ziele werden erstellt scoreboard objectives add PZHungS.1GlEss dummy ["Hungerpunkte-System.1: ",{"text":"Gleiches Essen","bold":true}] scoreboard objectives add PZHungS.1Apfel minecraft.used:minecraft.apple ["Hungerpunkte-System.1: ",{"text":"Apfel essen","bold":true}] scoreboard objectives add PZHungS.1GeSchfl minecraft.used:minecraft.cooked_porkchop ["Hungerpunkte-System.1 :",{"text":"Gebratenes Schweinefleisch essen","bold":true}] scoreboard objectives add PZHungS.1Brot minecraft.used:minecraft.bread ["Hungerpunkte-System.1: ",{"text":"Brot essen","bold":true}] scoreboard objectives add PZHungS.1GeKabj minecraft.used:minecraft.cooked_cod ["Hungerpunkte-System.1: ",{"text":"Gebratener Kabeljau essen","bold":true}] # Der Spieler wird in den Überlebensmodus gesetzt gamemode survival @a[distance=..15,gamemode=!survival] # Der Spieler bekommt den Hunger-Effekt, damit er die Nahrung sofort essen kann effect give @a[distance=..15] minecraft:hunger 6 255 true # Dem Spieler werden verschiedene Nahrungsmittel gegeben, die er essen kann give @a[distance=..15] minecraft:apple{hungerpunkte-system:"v1gegenstand",display:{Lore:['"Iss mich"']} } 64 give @a[distance=..15] minecraft:cooked_porkchop{hungerpunkte-system:"v1gegenstand",display:{Lore:['"Iss mich"']} } 64 give @a[distance=..15] minecraft:bread{hungerpunkte-system:"v1gegenstand",display:{Lore:['"Iss mich"']} } 64 give @a[distance=..15] minecraft:cooked_cod{hungerpunkte-system:"v1gegenstand",display:{Lore:['"Iss mich"']} } 64 # Eine Nachricht mit Anleitung für den Spieler tellraw @a[distance=..15] ["Hungerpunkte-System.1: ",{"text":"Iss verschiedene Nahrungsmittel, damit dein Nahrungshaushalt abwechselungsreich bleibt, isst du dagegen immer nur das gleiche, so schadest du dir nach einiger Zeit selbst.","bold":true}] |
Variante 1: Zyklus-Funktion
Die Zyklus-Funktion testet jeden Tick welche Nahrungsmittel man zu sich genommen hat. Wenn man nur ein Nahrungsmittel ständig ist, wird der Wert für das einseitige Essen von Nahrung immer weiter ansteigen. Hat man dies geschafft, erhält man einen sehr starken Hungereffekt und man kann kaum laufen.
hungerpunkte-system:v1zyklus.mcfunction
|
# Falls der Spieler eine andere bestimmte Nahrung als das letzte Mal isst, erhält er ein Etikett dafür tag @a[scores={PZHungS.1Brot=1}] add EtiHungS.1AnderesEssen tag @a[scores={PZHungS.1Apfel=1}] add EtiHungS.1AnderesEssen tag @a[scores={PZHungS.1GeSchfl=1}] add EtiHungS.1AnderesEssen tag @a[scores={PZHungS.1GeKabj=1}] add EtiHungS.1AnderesEssen # Falls der eine andere Nahrung zu sich genommen hat, wird ihm sein Punktestand für einseitiges Essen um fünf Punkte reduziert scoreboard players remove @a[tag=EtiHungS.1AnderesEssen,scores={PZHungS.1GlEss=6..}] PZHungS.1GlEss 5 # Falls der Spieler abwechselungsreiche Nahrung zu sich nimmt, werden die Punktestände der jeweils anderen Nahrungssorten zurückgesetzt scoreboard players set @a[tag=EtiHungS.1AnderesEssen,scores={PZHungS.1Apfel=2..}] PZHungS.1Apfel 0 scoreboard players set @a[tag=EtiHungS.1AnderesEssen,scores={PZHungS.1Brot=2..}] PZHungS.1Brot 0 scoreboard players set @a[tag=EtiHungS.1AnderesEssen,scores={PZHungS.1GeSchfl=2..}] PZHungS.1GeSchfl 0 scoreboard players set @a[tag=EtiHungS.1AnderesEssen,scores={PZHungS.1GeKabj=2..}] PZHungS.1GeKabj 0 # Die Etiketten für das Essen von anderer Nahrung oder für einseitige Ernährung werden entfernt tag @a[tag=EtiHungS.1AnderesEssen] remove EtiHungS.1AnderesEssen tag @a[tag=EtiHungS.1EinseitigesEssen,scores={PZHungS.1GlEss=..3}] remove EtiHungS.1EinseitigesEssen # Wenn der Spieler eine bestimmte Nahrung das erste mal zu sich nimmt, wird der Punktestand für das gleiche zu Essen um eins erhöht andernfalls wird es jedesmal um zwei erhöht scoreboard players add @a[scores={PZHungS.1Apfel=1}] PZHungS.1GlEss 1 scoreboard players set @a[scores={PZHungS.1Apfel=1}] PZHungS.1Apfel 2 scoreboard players add @a[scores={PZHungS.1Apfel=3..}] PZHungS.1GlEss 2 scoreboard players set @a[scores={PZHungS.1Apfel=3..}] PZHungS.1Apfel 2 scoreboard players add @a[scores={PZHungS.1Brot=1}] PZHungS.1GlEss 1 scoreboard players set @a[scores={PZHungS.1Brot=1}] PZHungS.1Brot 2 scoreboard players add @a[scores={PZHungS.1Brot=3..}] PZHungS.1GlEss 2 scoreboard players set @a[scores={PZHungS.1Brot=3..}] PZHungS.1Brot 2 scoreboard players add @a[scores={PZHungS.1GeSchfl=1}] PZHungS.1GlEss 1 scoreboard players set @a[scores={PZHungS.1GeSchfl=1}] PZHungS.1GeSchfl 2 scoreboard players add @a[scores={PZHungS.1GeSchfl=3..}] PZHungS.1GlEss 2 scoreboard players set @a[scores={PZHungS.1GeSchfl=3..}] PZHungS.1GeSchfl 2 scoreboard players add @a[scores={PZHungS.1GeKabj=1}] PZHungS.1GlEss 1 scoreboard players set @a[scores={PZHungS.1GeKabj=1}] PZHungS.1GeKabj 2 scoreboard players add @a[scores={PZHungS.1GeKabj=3..}] PZHungS.1GlEss 2 scoreboard players set @a[scores={PZHungS.1GeKabj=3..}] PZHungS.1GeKabj 2 # Wenn der Spieler bereits mehrmals das gleiche gegessen hat, erhält er eine Warnung, dass er anfängt zu einseitig zu essen title @a[tag=!EtiHungS.1EinseitigesEssen,scores={PZHungS.1GlEss=10..12}] actionbar ["",{"text":"Du fängst an zu einseitig zu Essen!","color":"dark_red","bold":true}] tag @a[tag=!EtiHungS.1EinseitigesEssen,scores={PZHungS.1GlEss=10..12}] add EtiHungS.1EinseitigesEssen # Wenn der Spieler die maximale Anzahl einer gleichen Nahrung zu sich genommen hat, erhält er wieder eine Warnung, diesmal aber einen Hungereffekt und der Wert bleibt stehen title @a[scores={PZHungS.1GlEss=27..}] actionbar ["",{"text":"Du isst zu einseitig!","color":"dark_purple","bold":true}] effect give @a[scores={PZHungS.1GlEss=27..}] minecraft:hunger 5 255 true scoreboard players remove @a[scores={PZHungS.1GlEss=27..}] PZHungS.1GlEss 1 |
Variante 1: Stopp-Funktion
Die Stopp-Funktion löscht die Punktestand-Ziele wieder und setzt den Spieler wieder in den Kreativmodus. Er wird von allen Statuseffekten befreit und alle Nahrungsmittel die er ins Inventar bekommen hat, werden wieder gelöscht. Falls er davon welche auf den Boden geworfen hat, werden diese ebenfalls gelöscht.
hungerpunkte-system:v1stopp.mcfunction
|
# Punktestand-Ziele werden gelöscht scoreboard objectives remove PZHungS.1GlEss scoreboard objectives remove PZHungS.1Apfel scoreboard objectives remove PZHungS.1GeSchfl scoreboard objectives remove PZHungS.1Brot scoreboard objectives remove PZHungS.1GeKabj # Der Spieler wird in den Kreativmodus gesetzt gamemode creative @a[distance=..15,gamemode=!creative] # Eventuell vorhandene Effekte werden entfernt effect clear @a[distance=..15,nbt={ActiveEffects:[{}]}] # Alle Nahrungsmittel die der Spieler noch nicht gegessen hatte, werden wieder entfernt clear @a minecraft:apple{hungerpunkte-system:"v1gegenstand"} clear @a minecraft:cooked_porkchop{hungerpunkte-system:"v1gegenstand"} clear @a minecraft:bread{hungerpunkte-system:"v1gegenstand"} clear @a minecraft:cooked_cod{hungerpunkte-system:"v1gegenstand"} # Falls Nahrungsmittel auf dem Boden geworfen wurden, werden sie ebenfalls gelöscht kill @e[type=minecraft:item,nbt={Item:{tag:{hungerpunkte-system:"v1gegenstand"} } }] |
Variante 2[]
Folgende Voraussetzungen werden benötigt: | ||
---|---|---|
|
Folgende Materialien werden benötigt: | |
---|---|
|
Dieses Hungerpunkt-System fügt die Möglichkeit einer Trinkpunkte-Leiste hinzu. Man kann alle Getränke trinken um Flüssigkeitspunkte zu erhalten. Alle tausend Ticks verliert man einen Flüssigkeitspunkt und muss so immer wieder auf den Wert schauen, der mit ⇧ Shift angesehen werden kann. Falls man nur noch wenig Flüssigkeitspunkte hat, wird einem über der Schnellzugriffsleiste dies mitgeteilt. Wenn man einen kritischen Wert unterschritten hat, erhält man Hungereffekte und wird, falls man nichts dagegen tut dehydrieren.
- Einschalten
Wird der Hebel umgelegt, startet der Befehlsblock und führt die Start-Funktion einmal aus
- Befehl 2.1 Die Funktion hungerpunkte-system:v2start wird aktiviert
- Wiederholen
Mit dem Wiederhol-Befehlsblock führt jeden Tick die Zyklus-Funktion aus
- Befehl 2.2 die Funktion hungerpunkte-system:v2zyklus wird jeden Tick erneut ausgeführt.
- Ausschalten
Sobald der Hebel wieder in Ausgangsstellung zurück gelegt wurde, wird die Stopp-Funktion aktiviert
- Befehl 2.3 Die Funktion hungerpunkte-system:v2stopp wird einmal ausgeführt
Befehlsblöcke mit Befehlen: |
|
Variante 2: Start-Funktion
Die Start-Funktion erstellt mehrere Punktestand-Ziele für viele Nahrungsmittel mit Wasseranteil. Spieler werden in den Überlebensmodus gesetzt, falls sie es nicht schon sind. Damit die Spieler direkt die Nahrungsmittel trinken oder essen können, erhalten sie einen starken Hungereffekt. Ihr Wasserhaushalt wird auf 80 von maximal 100 gesetzt. Die Spieler erhalten auch viele Getränke und Nahrung mit viel Flüssigkeitsgehalt. Als letztes wird allen Spielern eine Anleitung im Chat angezeigt.
hungerpunkte-system:v2start.mcfunction
|
# Punktestand-Ziele werden erstellt scoreboard objectives add PZHungS.2Zeit minecraft.custom:minecraft.play_one_minute ["Hungerpunkte-System.2: ",{"text":"Spielzeit","bold":true}] scoreboard objectives add PZHungS.2Trinken dummy ["Hungerpunkte-System.2: ",{"text":"Trinken","bold":true}] scoreboard objectives setdisplay list PZHungS.2Trinken scoreboard objectives add PZHungS.2WasFl minecraft.used:minecraft.potion ["Hungerpunkte-System.2: ",{"text":"Wasserflasche trinken","bold":true}] scoreboard objectives add PZHungS.2Milch minecraft.used:minecraft.milk_bucket ["Hungerpunkte-System.2 :",{"text":"Milch trinken","bold":true}] scoreboard objectives add PZHungS.2Ragout minecraft.used:minecraft.rabbit_stew ["Hungerpunkte-System.2: ",{"text":"Kaninchenragout löffeln","bold":true}] scoreboard objectives add PZHungS.2PilzS minecraft.used:minecraft.mushroom_stew ["Hungerpunkte-System.2: ",{"text":"Pilzsuppe löffeln","bold":true}] scoreboard objectives add PZHungS.2Bortsch minecraft.used:minecraft.beetroot_soup ["Hungerpunkte-System.2: ",{"text":"Borschtsch löffeln","bold":true}] scoreboard objectives add PZHungS.2Melone minecraft.used:minecraft.melon_slice ["Hungerpunkte-System.2: ",{"text":"Melonenscheibe essen","bold":true}] # Der Spieler wird in den Überlebensmodus gesetzt gamemode survival @a[distance=..15,gamemode=!survival] # Der Spieler erhält einen Hungereffekt, damit er direkt die Nahrung zu sich nehmen kann effect give @a[distance=..15] minecraft:hunger 6 255 true # Dem Spieler wird direkt eine Trinkbilanz von 80 gegeben, damit er nicht direkt dehydriert aber auch nicht zu viel getrunken hat scoreboard players set @a[distance=..15] PZHungS.2Trinken 80 # Den Spielern werden verschiedene Nahrungsmittel gegeben die den Wasserhaushalt des Spielers erhöhen give @a[distance=..15] minecraft:potion{hungerpunkte-system:"v2gegenstand",display:{Lore:['"Drink mich"']},Potion:"minecraft:water"} 1 give @a[distance=..15] minecraft:milk_bucket{hungerpunkte-system:"v2gegenstand",display:{Lore:['"Drink mich"']} } 1 give @a[distance=..15] minecraft:rabbit_stew{hungerpunkte-system:"v2gegenstand",display:{Lore:['"Drink mich"']} } 1 give @a[distance=..15] minecraft:mushroom_stew{hungerpunkte-system:"v2gegenstand",display:{Lore:['"Drink mich"']} } 1 give @a[distance=..15] minecraft:beetroot_soup{hungerpunkte-system:"v2gegenstand",display:{Lore:['"Drink mich"']} } 1 give @a[distance=..15] minecraft:melon_slice{hungerpunkte-system:"v2gegenstand",display:{Lore:['"Drink mich"']} } 64 # Eine Nachricht mit Anleitung für den Spieler tellraw @a[distance=..15] ["Hungerpunkte-System.2: ",{"text":"Trinke nach Gelegenheit immer etwas, da sich dein Wasserhaushalt nach Zeiten immer verringert. Den Wasserhaushalt kann man sich mit der Shift-Taste oben in der Mitte anzeigen lassen.","bold":true}] |
Variante 2: Zyklus-Funktion
Die Zyklus-Funktion erhöht den Wassergehalt, wenn man Wasserhaltige Nahrung zu sich nimmt. Jedoch sollte man nicht übertreiben, sonst wird es einem schlecht und man wird ganz schwitzig. Umgekehrt, wenn man fast kein Wasser mehr hat, wird einem der Hungereffekt und Langsamkeitseffekt gegeben.
hungerpunkte-system:v2zyklus.mcfunction
|
# Alle 1000 Ticks wird der Wasserhaushalt des Spielers um einen Punkt gesenkt scoreboard players remove @a[scores={PZHungS.2Zeit=100,PZHungS.2Trinken=1..}] PZHungS.2Trinken 1 scoreboard players set @a[scores={PZHungS.2Zeit=1000..}] PZHungS.2Zeit 0 # Wenn der Spieler zu viel Flüssigkeit zu sich genommen hat, erhält er eine Warnung und es entstehen ganz viele Tropfen und die Punkte werden auf 100 abgesenkt title @a[scores={PZHungS.2Trinken=100..101}] actionbar ["",{"text":"Trinke nicht zu viel, du platzt gleich!","color":"dark_blue","bold":true}] scoreboard players remove @a[scores={PZHungS.2Trinken=100..}] PZHungS.2Trinken 1 effect give @a[scores={PZHungS.2Trinken=100..}] minecraft:nausea 1 4 true execute at @a[scores={PZHungS.2Trinken=100..}] run particle minecraft:fishing ~ ~1 ~ 0.2 0.4 0.2 0.01 100 force @a[distance=..25] # Je nach dem was der Spieler an Flüssigkeit zu sich nimmt, wird der Wasserhaushalt entsprechend angehoben scoreboard players add @a[scores={PZHungS.2WasFl=1..}] PZHungS.2Trinken 15 scoreboard players set @a[scores={PZHungS.2WasFl=1..}] PZHungS.2WasFl 0 scoreboard players add @a[scores={PZHungS.2Milch=1..}] PZHungS.2Trinken 45 scoreboard players set @a[scores={PZHungS.2Milch=1..}] PZHungS.2Milch 0 scoreboard players add @a[scores={PZHungS.2Ragout=1..}] PZHungS.2Trinken 5 scoreboard players set @a[scores={PZHungS.2Ragout=1..}] PZHungS.2Ragout 0 scoreboard players add @a[scores={PZHungS.2PilzS=1..}] PZHungS.2Trinken 5 scoreboard players set @a[scores={PZHungS.2PilzS=1..}] PZHungS.2PilzS 0 scoreboard players add @a[scores={PZHungS.2Bortsch=1..}] PZHungS.2Trinken 5 scoreboard players set @a[scores={PZHungS.2Bortsch=1..}] PZHungS.2Bortsch 0 scoreboard players add @a[scores={PZHungS.2Melone=1..}] PZHungS.2Trinken 5 scoreboard players set @a[scores={PZHungS.2Melone=1..}] PZHungS.2Melone 0 # Wenn der Wasserhaushalt nur noch bei der Hälfte liegt, erhält der Spieler eine kurze Warnung und ein Etikett, damit die Warnung nur einmal erscheint title @a[tag=!EtiHungS.2HaelfteWasser,scores={PZHungS.2Trinken=49..51}] actionbar ["",{"text":"Dein Wasserhaushalt liegt aktuell nur noch bei der Hälfte!","color":"dark_red","bold":true}] tag @a[tag=!EtiHungS.2HaelfteWasser,scores={PZHungS.2Trinken=49..51}] add EtiHungS.2HaelfteWasser # Wenn der Spieler eine Warnung mit Etikett erhalten hatte, wird dieses wieder entfernt, falls er sich darüber oder darunter befindet tag @a[tag=EtiHungS.2HaelfteWasser,scores={PZHungS.2Trinken=..48}] remove EtiHungS.2HaelfteWasser tag @a[tag=EtiHungS.2HaelfteWasser,scores={PZHungS.2Trinken=52..}] remove EtiHungS.2HaelfteWasser # Wenn der Spieler fast oder kein Wasser mehr besitzt, erhält er eine permanente Warnung und den Hunger- sowie den Langsamkeitseffekt title @a[scores={PZHungS.2Trinken=0..2}] actionbar ["",{"text":"Trinke was, um nicht zu dehydrieren!","color":"dark_purple","bold":true}] effect give @a[scores={PZHungS.2Trinken=0..2}] minecraft:hunger 5 255 true effect give @a[scores={PZHungS.2Trinken=0..2}] minecraft:slowness 1 4 true |
Variante 2: Stopp-Funktion
Die Stopp-Funktion löscht sämtliche Punktestand-Ziele wieder und setzt den Spieler wieder in den Kreativmodus. Vorhandene Effekte werden entfernt. Ein eventuell vorhandenes Etikett wird entfernt und alle Lebensmittel werden aus dem Inventar entfernt und falls sie auf den Boden geworfen sind auch dort entfernt.
hungerpunkte-system:v2stopp.mcfunction
|
# Punktestand-Ziele werden gelöscht scoreboard objectives remove PZHungS.2Zeit scoreboard objectives remove PZHungS.2Trinken scoreboard objectives remove PZHungS.2WasFl scoreboard objectives remove PZHungS.2Milch scoreboard objectives remove PZHungS.2Ragout scoreboard objectives remove PZHungS.2PilzS scoreboard objectives remove PZHungS.2Bortsch scoreboard objectives remove PZHungS.2Melone # Der Spieler wird in den Kreativmodus gesetzt gamemode creative @a[distance=..15,gamemode=!creative] # Eventuell vorhandene Effekte werden wieder entfernt effect clear @a[distance=..15,nbt={ActiveEffects:[{}]}] # Das Etikett wird entfernt, falls es vorhanden war tag @a[tag=EtiHungS.2HaelfteWasser] remove EtiHungS.2HaelfteWasser # Alle Nahrungsmittel werden wieder entfernt clear @a minecraft:potion{hungerpunkte-system:"v2gegenstand"} clear @a minecraft:milk_bucket{hungerpunkte-system:"v2gegenstand"} clear @a minecraft:rabbit_stew{hungerpunkte-system:"v2gegenstand"} clear @a minecraft:mushroom_stew{hungerpunkte-system:"v2gegenstand"} clear @a minecraft:beetroot_soup{hungerpunkte-system:"v2gegenstand"} clear @a minecraft:melon_slice{hungerpunkte-system:"v2gegenstand"} clear @a[distance=..15] minecraft:bowl clear @a[distance=..15] minecraft:bucket clear @a[distance=..15] minecraft:glass_bottle # Falls die Nahrungsmittel auf den Boden geworfen sind, werden sie ebenfalls entfernt kill @e[distance=..50,type=minecraft:item,nbt={Item:{tag:{hungerpunkte-system:"v2gegenstand"} } }] |
Mausklick-Sensor => Befehle; Zeichen-Eingabe => Befehle; Hungerpunkte-System => Befehle; Lebenspunkte-System => Befehle; Werkzeug-System => Befehle; Steinbruch-System => Befehle; Teleporter => Befehle; Kontrollpunkt-System => Befehle; Wegfindungssystem => Befehle; Befehle-System => Befehle; Passwort-System => Befehle; Wahl-System => Befehle; Kamera-System => Befehle; Sammel-System => Befehle; Zonen-System => Befehle; Auftrag-System => Befehle (erweitert); Gildenschlacht-Minispiel => Befehle; |
|