Das offizielle Minecraft Wiki twittert hier: Wiki-Twitter  –  Chatte im Wiki-Discord  – Noch keinen Server gefunden? Es gibt einen Wiki-Server

Maschinen/Auftrag-System (Befehle)

Aus Technik Wiki
Wechseln zu: Navigation, Suche
Baustelle.svg
Diese Seite wird gerade von Nethonos neu erstellt oder grundlegend überarbeitet.
Fragen und Vorschläge bitte in die Diskussion. Fortschritt: Grid Redstone-Block.pngGrid Redstone-Block.pngGrid Redstone-Block.pngGrid Redstone-Block.pngGrid Redstone-Block.pngGrid Redstone-Block.pngGrid Redstone-Block blass.pngGrid Redstone-Block blass.pngGrid Redstone-Block blass.pngGrid Redstone-Block blass.png


Gruppe: Grid Trichter.png
Maschinen

Grid Roter Sand blass.png mit Mechaniken

Grid Redstone blass.png mit Redstone
                Hier:
Grid Befehlsblock.png mit Befehlen

Die vorgestellte Technik kann in der Mechanik-Welt angesehen werden.

Das Auftrag-System ist dafür da, dass man beispielsweise mit Dorfbewohner richtig sprechen und interagieren kann. Dabei werden dann Aufgaben vom Dorfbewohner aufgetragen, sprich Suchmissionen. Diese kann man als Spieler erfüllen. Dabei muss der Spieler im Verlauf verschiedene Aufgaben lösen, Abenteuer bestehen, Feinde besiegen, Objekte finden, Schwierigkeiten überwinden und kann dadurch Ruhm und Erfahrung ernten.

Zusätzlich:

  • ¹Für das Erstellen eines Dorfbewohners ohne Shop empfehlen wir den Dorfbewohner Generator.
  • ²Um die Nachrichten besser ändern zu können, empfehlen wir den JSON Creator.

Inhaltsverzeichnis

Variante 1[Bearbeiten | Quelltext bearbeiten]

Roter Sand.png
Diese Technik ist noch nicht in der aktuellen Mechanik-Welt vorhanden.
In einem der nächsten Updates wird sie dort hinzugefügt werden.

Maschinen Auftrag-System (Befehle) Bild 1.1.png Maschinen Auftrag-System (Befehle) Bild 1.2.png Maschinen Auftrag-System (Befehle) Bild 1.3.png

Mit diesem System kann man leicht Aufträge für den Spieler von Dorfbewohnern programmieren. Damit das System laufen kann, müssen zuerst ein paar Punktestand-Ziele erzeugt werdenBefehl 1.1Befehl 1.2Befehl 1.3 und die entsprechenden Dorfbewohner¹ beschworen werdenBefehl 1.4Befehl 1.5. Nun muss noch dafür gesorgt werden, dass man die Dorfbewohner anklicken kannBefehl 1.6Befehl 1.7Befehl 1.8. Dafür werden dann noch Befehle benötigt, die das Anklicken des Dorfbewohners speichern, aufzählen und anschließend zurücksetzenBefehl 1.9Befehl 1.10Befehl 1.11Befehl 1.12Befehl 1.13Befehl 1.14Befehl 1.15. Wenn man die Maschine wieder ausschaltet, werden die Dorfbewohner sowie alle Punktestand-Ziele gelöschtBefehl 1.16Befehl 1.17Befehl 1.18Befehl 1.19Befehl 1.20Befehl 1.21Befehl 1.22. Gleichzeitig werden die Redstone-Blöcke die durch den Ketten-Befehlsblock gesetzt wurdenBefehl 1.23, wieder entferntBefehl 1.24.


Befehlsblöcke mit Befehlen:



Variante 1: Start-Funktion

Editor Icon.png technik_wiki:auftrag-system/v1start.mcfunction
# Punktestand-Ziele werden erstellt
scoreboard objectives add PZAufS.1Reden minecraft.custom:minecraft.talked_to_villager ["Auftrag-System.1: ",{"text":"Mit Dorfbewohner sprechen","bold":true}]
scoreboard objectives add PZAufS.1Handel minecraft.custom:minecraft.traded_with_villager ["Auftrag-System.1: ",{"text":"Mit dem Dorfbewohner gehandelt","bold":true}]
scoreboard objectives add PZAufS.1Nachr dummy ["Auftrag-System.1: ",{"text":"Nachricht mit Dorfbewohnern","bold":true}]
scoreboard objectives add PZAufS.1Auftrag dummy ["Auftrag-System.1: ",{"text":"Auftragsnummer","bold":true}]

# Die Punktestandswerte werden für den Spieler gesetzt
scoreboard players set @a[distance=..25] PZAufS.1Nachr 0
scoreboard players set @a[distance=..25] PZAufS.1Auftrag 1

# Der Spieler wird in den Überlebensmodus gesetzt
gamemode survival @a[distance=..25,gamemode=!survival]

# Die Dorfbewohner werden erschaffen
summon minecraft:villager ~-5 ~ ~ {Silent:true,Invulnerable:true,CanPickUpLoot:false,PersistenceRequired:true,CustomNameVisible:true,CustomName:"{\"text\":\"Jones\"}",Offers:{Recipes:[]},Tags:["EtiAufS.1Aufgabe","EtiAufS.1AuftragVorhanden"],UUIDMost:1,UUIDLeast:1,Profession:1,Career:1,CareerLevel:42,Attributes:[{Name:"generic.knockbackResistance",Base:"1f"},{Name:"generic.movementSpeed",Base:"0f"}]}
summon minecraft:villager ~-10 ~ ~ {Silent:true,Invulnerable:true,CanPickUpLoot:false,PersistenceRequired:true,CustomNameVisible:true,CustomName:"{\"text\":\"Bill\"}",Offers:{Recipes:[]},Tags:["EtiAufS.1Aufgabe"],UUIDMost:2,UUIDLeast:2,Profession:2,Career:1,CareerLevel:42,Attributes:[{Name:"generic.knockbackResistance",Base:"1f"},{Name:"generic.movementSpeed",Base:"0f"}]}


Variante 1: Zyklus-Funktion

Editor Icon.png technik_wiki:auftrag-system/v1zyklus.mcfunction
# Lässt grüne Partikel bei den Dorfbewohnern, die einen Auftrag für den Spieler haben, entstehen
execute at @e[type=minecraft:villager,tag=EtiAufS.1AuftragVorhanden] run particle minecraft:happy_villager ~ ~1 ~ 0.2 0.2 0.2 0.1 1 force @a[distance=..10]

# Auftrag 3
execute as @e[type=minecraft:villager,name=Bill,tag=EtiAufS.1Aufgabe] at @s if entity @a[distance=..3,scores={PZAufS.1Reden=1..,PZAufS.1Auftrag=3}] run function technik_wiki:auftrag-system/v1auftrag_3
execute as @e[type=minecraft:villager,name=Bill,tag=EtiAufS.1Aufgabe] at @s if entity @a[distance=..3,scores={PZAufS.1Handel=1..,PZAufS.1Auftrag=3}] run function technik_wiki:auftrag-system/v1auftrag_3_handel

# Auftrag 2
execute as @e[type=minecraft:villager,name=Jones,tag=EtiAufS.1Aufgabe] at @s if entity @a[distance=..3,scores={PZAufS.1Reden=1..,PZAufS.1Auftrag=2}] run function technik_wiki:auftrag-system/v1auftrag_2
execute as @e[type=minecraft:villager,name=Bill,tag=EtiAufS.1Aufgabe] at @s if entity @a[distance=..3,scores={PZAufS.1Reden=1..,PZAufS.1Auftrag=2}] run function technik_wiki:auftrag-system/v1auftrag_2_bill

# Auftrag 1
execute as @e[type=minecraft:villager,name=Jones,tag=EtiAufS.1Aufgabe] at @s if entity @a[distance=..3,scores={PZAufS.1Reden=1..,PZAufS.1Auftrag=1}] run function technik_wiki:auftrag-system/v1auftrag_1

# Wenn der Spieler mit einem Dorfbewohner geredet hat, wird sein entsprechender Punktestand zurück gesetzt
scoreboard players reset @a[scores={PZAufS.1Reden=1..}] PZAufS.1Reden


Variante 1: Auftrag-1-Funktion
Nun können eigene Aufgaben erstellt werden. Um es euch etwas leichter zu machen, haben wir hier zwei kleine Aufgaben vorbereitet.

Editor Icon.png technik_wiki:auftrag-system/v1auftrag_1.mcfunction
# Wenn der Spieler mit dem Dorfbewohner Jones redet, wird sein Punktestand für die Nachricht eingestellt
scoreboard players add @a[distance=..3,scores={PZAufS.1Reden=1..}] PZAufS.1Nachr 1
scoreboard players set @a[distance=..3,scores={PZAufS.1Reden=1..,PZAufS.1Nachr=3..}] PZAufS.1Nachr 1

# Vom Dorfbewohner Jones wird geprüft ob der Spieler eine Pilzsuppe in der Hand und ob er von Jones schon den Auftrag dafür bekommen hat (Etikett)
execute store success score @s PZAufS.1Nachr run clear @a[distance=..3,tag=EtiAufS.1JonesSuppeHolen,scores={PZAufS.1Reden=1..,PZAufS.1Nachr=1..},nbt={Inventory:[{id:"minecraft:mushroom_stew",tag:{display:{Lore:["Ein Auftragsgegenstand"] } } } ] } ] minecraft:mushroom_stew{display:{Lore:["Ein Auftragsgegenstand"] } } 1

# Nur wenn dem Spieler die Pilzsuppe entfernt werden könnte besitzt Jones für seinen Punktestand eine eins, dann wird dem Spieler die Belohnung gegeben
execute if entity @s[scores={PZAufS.1Nachr=1}] run tellraw @a[distance=..3,tag=EtiAufS.1JonesSuppeHolen,scores={PZAufS.1Reden=1..,PZAufS.1Nachr=1..}] ["",{"text":"[1/1]","color":"gray"},{"text":" «","color":"gold","bold":true},{"selector":"@s"},{"text":"» ","color":"gold","bold":true},{"text":"Endlich meine Suppe, danke.","color":"gray"}]
execute if entity @s[scores={PZAufS.1Nachr=1}] run playsound minecraft:entity.player.levelup master @a[distance=..3,tag=EtiAufS.1JonesSuppeHolen,scores={PZAufS.1Reden=1..,PZAufS.1Nachr=1..}] ~ ~ ~ 1 0.5 1
execute if entity @s[scores={PZAufS.1Nachr=1}] run experience add @a[distance=..3,tag=EtiAufS.1JonesSuppeHolen,scores={PZAufS.1Reden=1..,PZAufS.1Nachr=1..}] 5 points
execute if entity @s[scores={PZAufS.1Nachr=1}] run give @a[distance=..3,tag=EtiAufS.1JonesSuppeHolen,scores={PZAufS.1Reden=1..,PZAufS.1Nachr=1..}] minecraft:emerald 1
execute if entity @s[scores={PZAufS.1Nachr=1}] run scoreboard players set @a[distance=..3,tag=EtiAufS.1JonesSuppeHolen,scores={PZAufS.1Reden=1..,PZAufS.1Nachr=1..}] PZAufS.1Auftrag 2
execute if entity @s[scores={PZAufS.1Nachr=1}] run scoreboard players set @a[distance=..3,tag=EtiAufS.1JonesSuppeHolen,scores={PZAufS.1Reden=1..,PZAufS.1Nachr=1..}] PZAufS.1Nachr 0
execute if entity @s[scores={PZAufS.1Nachr=1}] run tag @a[distance=..3,tag=EtiAufS.1JonesSuppeHolen,scores={PZAufS.1Reden=1..,PZAufS.1Nachr=0}] remove EtiAufS.1JonesSuppeHolen

# Nachrichten von Jones, wenn man in rechtsklickt. Er gibt dem Spieler den Auftrag die Pilzsuppe zu holen
tellraw @a[distance=..3,scores={PZAufS.1Reden=1..,PZAufS.1Nachr=1}] ["",{"text":"[1/2]","color":"gray"},{"text":" «","color":"gold","bold":true},{"selector":"@s"},{"text":"» ","color":"gold","bold":true},{"text":"Ich leide schon seit 3 Tagen an Hunger. Wärst du so nett und holst mir","color":"yellow"},{"text":" [1 Pilzsuppe] ","color":"green","hoverEvent":{"action":"show_text","value":{"text":"Hole Jones 1x Pilzsuppe"} } } ]
tellraw @a[distance=..3,scores={PZAufS.1Reden=1..,PZAufS.1Nachr=2}] ["",{"text":"[2/2]","color":"gray"},{"text":" «","color":"gold","bold":true},{"selector":"@s"},{"text":"» ","color":"gold","bold":true},{"text":"Du bist ja immer noch hier. Los hol mir was zu essen!","color":"yellow"}]

# Der Spieler erhält das entsprechende Etikett, wenn er mit Jones  das erste mal gesprochen hat und somit den Auftrag erfüllen soll
execute if entity @a[distance=..3,tag=!EtiAufS.1JonesSuppeHolen,scores={PZAufS.1Reden=1..,PZAufS.1Nachr=1..}] run setblock ~ ~ ~-5 minecraft:chest[facing=south]{Items:[{Slot:13b,id:"minecraft:mushroom_stew",Count:1b,tag:{display:{Lore:["Ein Auftragsgegenstand"] } } } ] } replace
tag @a[distance=..3,tag=!EtiAufS.1JonesSuppeHolen,scores={PZAufS.1Reden=1..,PZAufS.1Nachr=1..}] add EtiAufS.1JonesSuppeHolen


Variante 1: Auftrag-2-Funktion

Editor Icon.png technik_wiki:auftrag-system/v1auftrag_2.mcfunction
# Wenn der Spieler mit dem Dorfbewohner Jones redet, wird sein Punktestand für die Nachricht eingestellt
scoreboard players add @a[distance=..3,scores={PZAufS.1Reden=1..}] PZAufS.1Nachr 1
scoreboard players set @a[distance=..3,scores={PZAufS.1Reden=1..,PZAufS.1Nachr=4..}] PZAufS.1Nachr 1

# Wenn der Spieler mit Bill gesprochen und damit gefunden hat, dann gibt Jones dem Spieler die Belohnung
tellraw @a[distance=..3,tag=EtiAufS.1BillGefunden,scores={PZAufS.1Reden=1..,PZAufS.1Nachr=1..}] ["",{"text":"[1/1]","color":"gray"},{"text":" «","color":"gold","bold":true},{"selector":"@s"},{"text":"» ","color":"gold","bold":true},{"text":"Danke, dass du nach ihm geschaut hast.","color":"gray"}]
execute if entity @a[distance=..3,tag=EtiAufS.1BillGefunden,scores={PZAufS.1Reden=1..,PZAufS.1Nachr=1..}] run tag @e[type=minecraft:villager,name=Bill,tag=!EtiAufS.1AuftragVorhanden] add EtiAufS.1AuftragVorhanden
execute if entity @a[distance=..3,tag=EtiAufS.1BillGefunden,scores={PZAufS.1Reden=1..,PZAufS.1Nachr=1..}] run tag @s[tag=EtiAufS.1AuftragVorhanden] remove EtiAufS.1AuftragVorhanden
playsound minecraft:entity.player.levelup master @a[distance=..3,tag=EtiAufS.1BillGefunden,scores={PZAufS.1Reden=1..,PZAufS.1Nachr=1..}] ~ ~ ~ 1 0.5 1
experience add @a[distance=..3,tag=EtiAufS.1BillGefunden,scores={PZAufS.1Reden=1..,PZAufS.1Nachr=1..}] 5 points
give @a[distance=..3,tag=EtiAufS.1BillGefunden,scores={PZAufS.1Reden=1..,PZAufS.1Nachr=1..}] minecraft:emerald 1
scoreboard players set @a[distance=..3,tag=EtiAufS.1BillGefunden,scores={PZAufS.1Reden=1..,PZAufS.1Nachr=1..}] PZAufS.1Auftrag 3
scoreboard players set @a[distance=..3,tag=EtiAufS.1BillGefunden,scores={PZAufS.1Reden=1..,PZAufS.1Nachr=1..}] PZAufS.1Nachr 0
tag @a[distance=..3,tag=EtiAufS.1BillGefunden,scores={PZAufS.1Reden=1..,PZAufS.1Nachr=0}] remove EtiAufS.1BillGefunden

# Nachrichten an den Spieler. Jones gibt den Auftrag Bill zu suchen
tellraw @a[distance=..3,scores={PZAufS.1Reden=1..,PZAufS.1Nachr=1}] ["",{"text":"[1/3]","color":"gray"},{"text":" «","color":"gold","bold":true},{"selector":"@s"},{"text":"» ","color":"gold","bold":true},{"text":"Weißt du wo sich mein Freund","color":"yellow"},{"text":" [Bill] ","color":"green","hoverEvent":{"action":"show_text","value":{"text":"Suche Bill"} } },{"text":"befindet?","color":"yellow"} ]
tellraw @a[distance=..3,scores={PZAufS.1Reden=1..,PZAufS.1Nachr=2}] ["",{"text":"[2/3]","color":"gray"},{"text":" «","color":"gold","bold":true},{"selector":"@s"},{"text":"» ","color":"gold","bold":true},{"text":"Ich glaube er spielt schon wieder im Wald, bin mir aber nicht sicher.","color":"yellow","bold":false}]
tellraw @a[distance=..3,scores={PZAufS.1Reden=1..,PZAufS.1Nachr=3}] ["",{"text":"[3/3]","color":"gray"},{"text":" «","color":"gold","bold":true},{"selector":"@s"},{"text":"» ","color":"gold","bold":true},{"text":"Viel mehr Angaben kann ich dir nicht machen, das ist alles was ich weiß.","color":"yellow","bold":false}]

# Wenn der Spieler Jones ansklickt, erhält er den Auftrag Bill zu suchen (Etikett)
execute if entity @a[distance=..3,tag=!EtiAufS.1BillSuchen,tag=!EtiAufS.1BillGefunden,scores={PZAufS.1Reden=1..,PZAufS.1Nachr=1..}] run tag @e[type=minecraft:villager,name=Bill,tag=!EtiAufS.1AuftragVorhanden] add EtiAufS.1AuftragVorhanden
execute if entity @a[distance=..3,tag=!EtiAufS.1BillSuchen,tag=!EtiAufS.1BillGefunden,scores={PZAufS.1Reden=1..,PZAufS.1Nachr=1..}] run tag @s[tag=EtiAufS.1AuftragVorhanden] remove EtiAufS.1AuftragVorhanden
tag @a[distance=..3,tag=!EtiAufS.1BillSuchen,tag=!EtiAufS.1BillGefunden,scores={PZAufS.1Reden=1..,PZAufS.1Nachr=1..}] add EtiAufS.1BillSuchen


Variante 1: Auftrag-2-Bill-Funktion

Editor Icon.png technik_wiki:auftrag-system/v1auftrag_2_bill.mcfunction
# Wenn der Spieler Bill gefunden hat und anspricht, so gibt er die Anweisung, Jones anzusprechen
tellraw @a[distance=..3,tag=EtiAufS.1BillSuchen,scores={PZAufS.1Reden=1..}] ["",{"text":"[1/1]","color":"gray"},{"text":" «","color":"gold","bold":true},{"selector":"@s"},{"text":"» ","color":"gold","bold":true},{"text":"Was? Jones hat dich geschickt um zu wissen wo ich bin? Sag ihm es geht mir gut.","color":"yellow","bold":false}]

# Den jenigen den der Spieler nun ansprechen soll erhält das Etikett und der Spieler erhält das Etikett, dass er Bill gefunden hat
execute if entity @a[distance=..3,tag=EtiAufS.1BillSuchen,tag=!EtiAufS.1BillGefunden,scores={PZAufS.1Reden=1..}] run tag @e[type=minecraft:villager,name=Jones,tag=!EtiAufS.1AuftragVorhanden] add EtiAufS.1AuftragVorhanden
execute if entity @a[distance=..3,tag=EtiAufS.1BillSuchen,tag=!EtiAufS.1BillGefunden,scores={PZAufS.1Reden=1..}] run tag @s[tag=EtiAufS.1AuftragVorhanden] remove EtiAufS.1AuftragVorhanden
tag @a[distance=..3,tag=EtiAufS.1BillSuchen,tag=!EtiAufS.1BillGefunden,scores={PZAufS.1Reden=1..}] add EtiAufS.1BillGefunden
tag @a[distance=..3,tag=EtiAufS.1BillGefunden,scores={PZAufS.1Reden=1..}] remove EtiAufS.1BillSuchen


Variante 1: Auftrag-3-Funktion

Editor Icon.png technik_wiki:auftrag-system/v1auftrag_3.mcfunction
# Wenn der Spieler mit dem Dorfbewohner Bill redet, wird sein Punktestand für die Nachricht eingestellt
scoreboard players add @a[distance=..3,scores={PZAufS.1Reden=1..}] PZAufS.1Nachr 1
scoreboard players set @a[distance=..3,scores={PZAufS.1Reden=1..,PZAufS.1Nachr=4..}] PZAufS.1Nachr 1

# Wenn der Spieler für Bill die sechs Zäune und das Zauntor hergestellt hat, besitzt er diese in seinem Inventar und auch das Etikett, dass er dafür den Auftrag bekommen hat
tag @a[distance=..3,tag=EtiAufS.1BillZaunHerstellen,scores={PZAufS.1Reden=1..},nbt={Inventory:[{id:"minecraft:oak_fence"},{id:"minecraft:oak_fence_gate"}]}] add EtiAufS.1BillZaunHergestellt
execute if entity @a[distance=..3,tag=EtiAufS.1BillZaunHerstellen,tag=EtiAufS.1BillZaunHergestellt,scores={PZAufS.1Reden=1..}] run data merge entity @s {Offers:{Recipes:[{buy:{id:"minecraft:oak_fence",Count:6b},buyB:{id:"minecraft:oak_fence_gate",Count:1b},sell:{id:"minecraft:emerald",Count:1b} } ] } }
tellraw @a[distance=..3,tag=EtiAufS.1BillZaunHergestellt,scores={PZAufS.1Reden=1..}] ["",{"text":"[1/1]","color":"gray"},{"text":" «","color":"gold","bold":true},{"selector":"@s"},{"text":"» ","color":"gold","bold":true},{"text":"Wie ich sehe hast du die Zäune und das Zauntor bei dir, dann handle es mit mir für deine Belohnung","color":"yellow","bold":false}]

# Bill gibt bei einem Rechtsklickt auf ihn drei Nachrichten nacheinander aus, um dem Spieler zu erklären, was er von ihm verlangt
tellraw @a[distance=..3,tag=!EtiAufS.1BillZaunHergestellt,scores={PZAufS.1Reden=1..,PZAufS.1Nachr=1}] ["",{"text":"[1/3]","color":"gray"},{"text":" «","color":"gold","bold":true},{"selector":"@s"},{"text":"» ","color":"gold","bold":true},{"text":"Hey du, du siehst aus, als ob du","color":"yellow"},{"text":" [sechs Zäune und ein Zauntor] ","color":"green","hoverEvent":{"action":"show_text","value":{"text":"Stelle 6x Zäune und 1x Zauntor her"} } },{"text":"herstellen könntest.","color":"yellow"} ]
tellraw @a[distance=..3,tag=!EtiAufS.1BillZaunHergestellt,scores={PZAufS.1Reden=1..,PZAufS.1Nachr=2}] ["",{"text":"[2/3]","color":"gray"},{"text":" «","color":"gold","bold":true},{"selector":"@s"},{"text":"» ","color":"gold","bold":true},{"text":"Ich glaube ich hatte hier irgendwo doch meine Werkbank stehen. Dort in der Nähe befinden sich dann auch die Materialien für das Herstellen.","color":"yellow","bold":false}]
tellraw @a[distance=..3,tag=!EtiAufS.1BillZaunHergestellt,scores={PZAufS.1Reden=1..,PZAufS.1Nachr=3}] ["",{"text":"[3/3]","color":"gray"},{"text":" «","color":"gold","bold":true},{"selector":"@s"},{"text":"» ","color":"gold","bold":true},{"text":"Was stehst du hier so ahnungslos herum? Du bekommst das doch bestimmt hin.","color":"yellow","bold":false}]

# Falls der Spieler Bild das erste angeklickt hat, wird die Werkbank und die Truhe mit dem Material platziert. Der Spieler erhält dann das Etikett für den Auftrag
execute if entity @a[distance=..3,tag=!EtiAufS.1BillZaunHerstellen,scores={PZAufS.1Reden=1..,PZAufS.1Nachr=1..}] run setblock ~ ~ ~-5 minecraft:crafting_table replace
execute if entity @a[distance=..3,tag=!EtiAufS.1BillZaunHerstellen,scores={PZAufS.1Reden=1..,PZAufS.1Nachr=1..}] run setblock ~ ~ ~-6 minecraft:chest[facing=north]{Items:[{Slot:12b,id:"minecraft:oak_planks",Count:10b},{Slot:13b,id:"minecraft:stick",Count:8b}]} replace
tag @a[distance=..3,tag=!EtiAufS.1BillZaunHerstellen,scores={PZAufS.1Reden=1..,PZAufS.1Nachr=1..}] add EtiAufS.1BillZaunHerstellen


Variante 1: Auftrag-3-Handel-Funktion

Editor Icon.png technik_wiki:auftrag-system/v1auftrag_3_handel.mcfunction
# Wenn der Spieler mit Bill den Handel abgeschlossen hat, wird Bill seinen Handel wieder einstellen und dem Spieler seine Belohnung geben
execute if entity @a[distance=..3,tag=EtiAufS.1BillZaunHergestellt,scores={PZAufS.1Handel=1..}] run data merge entity @s {Offers:{Recipes:[] } }
tellraw @a[distance=..3,tag=EtiAufS.1BillZaunHergestellt,scores={PZAufS.1Handel=1..}] ["",{"text":"[1/1]","color":"gray"},{"text":" «","color":"gold","bold":true},{"selector":"@s"},{"text":"» ","color":"gold","bold":true},{"text":"Prima, jetzt kann ich meinen Bereich einzäunen.","color":"gray"}]
execute if entity @a[distance=..3,tag=EtiAufS.1BillZaunHergestellt,scores={PZAufS.1Handel=1..}] run tag @s[tag=EtiAufS.1AuftragVorhanden] remove EtiAufS.1AuftragVorhanden
playsound minecraft:entity.player.levelup master @a[distance=..3,tag=EtiAufS.1BillZaunHergestellt,scores={PZAufS.1Handel=1..}] ~ ~ ~ 1 0.5 1

# Wenn der Spieler dem Dorfbewohner Bill die Auftragsmaterialien gegeben hat, werden die entsprechenden Punktestand-Ziele angepasst
scoreboard players set @a[distance=..3,tag=EtiAufS.1BillZaunHergestellt,scores={PZAufS.1Handel=1..}] PZAufS.1Auftrag 4
scoreboard players set @a[distance=..3,tag=EtiAufS.1BillZaunHergestellt,scores={PZAufS.1Handel=1..}] PZAufS.1Nachr 0
scoreboard players set @a[distance=..3,tag=EtiAufS.1BillZaunHergestellt,scores={PZAufS.1Handel=1..}] PZAufS.1Handel 0

# Die Etiketten für das Herstellen der Auftragsmaterialien werden entfernt
tag @a[distance=..3,tag=EtiAufS.1BillZaunHergestellt,scores={PZAufS.1Nachr=0}] remove EtiAufS.1BillZaunHerstellen
tag @a[distance=..3,tag=EtiAufS.1BillZaunHergestellt,scores={PZAufS.1Nachr=0}] remove EtiAufS.1BillZaunHergestellt


Variante 1: Stopp-Funktion

Editor Icon.png technik_wiki:auftrag-system/v1stopp.mcfunction
# Die Punktestand-Ziele werden entfernt
scoreboard objectives remove PZAufS.1Reden
scoreboard objectives remove PZAufS.1Handel
scoreboard objectives remove PZAufS.1Nachr
scoreboard objectives remove PZAufS.1NachrB

# Der Spieler wird wieder in den Kreativmodus gesetzt
gamemode creative @a[distance=..25,gamemode=!creative]

# Alle Blöcke die im Laufe der Aufträge platziert wurden, werden wieder entfernt
execute at @e[type=minecraft:villager,tag=EtiAufS.1Aufgabe] run fill ~ ~ ~-5 ~ ~ ~-6 minecraft:air

# Alle Dorfbewohner werden entfernt
kill @e[tag=EtiAufS.1Aufgabe]

# Spielern werden Smaragde, Pilzsuppen und Erfahrungspunkte entfernt
clear @a[distance=..25] minecraft:emerald
clear @a[distance=..25] minecraft:mushroom_stew
experience add @a[distance=..25] -15 points

# Alle eventuell noch vorhandenen Etiketten werden entfernt
tag @a[tag=EtiAufS.1JonesSuppeHolen] remove EtiAufS.1JonesSuppeHolen
tag @a[tag=EtiAufS.1BillSuchen] remove EtiAufS.1BillSuchen
tag @a[tag=EtiAufS.1BillGefunden] remove EtiAufS.1BillGefunden
tag @a[tag=EtiAufS.1BillZaunHerstellen] remove EtiAufS.1BillZaunHerstellen
tag @a[tag=EtiAufS.1BillZaunHergestellt] remove EtiAufS.1BillZaunHergestellt