Technik Wiki
Registrieren
Advertisement
Gruppe: Grid Ketten-Befehlsblock
Systeme

Grid Roter Sand blass mit Mechaniken

Grid Redstone blass mit Redstone

Grid Befehlsblock mit Befehlen
Verfügbar in:
Wiki Mechanik-Welt Mechanik-Welt
                Hier:
Grid Wiederhol-Befehlsblock mehr Befehle

Das erweiterte Auftrag-System zeigt und verlangt tiefgründigere und anspruchsvollere Aufgaben. Grundsätzlich bietet das Auftrag-System ein eigenes Auftragsgebiet, in dem die Handlung stattfindet. Die Aufgaben werden von Dorfbewohnern vergeben und durch Fortschritte angezeigt.

Die Aufgaben lassen sich allgemein in fünf generellen Aufgaben beschreiben und können sein, dass man eine bestimmte oder unbestimmte Anzahl an Monster besiegen muss um an deren Drops zu kommen. Suchaufgaben, bei denen man nach NPCs, Bauwerke oder Drops suchen soll. Es können auch Dialog-Aufgaben sein, bei dem man zu verschiedenen NPCs gehen muss um eine Handlung aufzuklären. Ebenso könnte es auch eine Beschützeraufgabe geben, bei der man wie ein Söldner für Lohn jemanden oder etwas beschützt. Darüber hinaus könnte man auch Parcours-Rätselaufgaben aufstellen. All diese Aufgaben lassen sich dann durch eine Zeitbegrenzung oder mit begrenzter Anzahl an Versuchen erschweren.

Variante 1[]

Auftrag-System (Befehle, erweitert) Bild 1.1 Auftrag-System (Befehle, erweitert) Bild 1.2 Auftrag-System (Befehle, erweitert) Bild 1.3 Auftrag-System (Befehle, erweitert) Bild 1.4 Auftrag-System (Befehle, erweitert) Bild 1.5 Auftrag-System (Befehle, erweitert) Bild 1.6 Auftrag-System (Befehle, erweitert) Bild 1.7

Dieses Auftrag-System besitzt ein Gebiet mit Strand, einer Höhle, eine Anhöhe, ein kleines Waldgebiet, ein Heißluftballon und ein Haus. Man kann mit Hilfe eines Portals direkt zu diesem Gebiet gelangen und ist man dort angekommen so startet dann die Aufgaben-Reihe. Die Aufgaben werden von mehreren Dorfbewohnern aufgetragen und diese werden über Dialoge und Fortschritte, die man jederzeit, mit der Taste L nachschauen kann, angezeigt. Der erste Auftrag startet damit, dass man einen Dorfbewohner finden muss, für den man Rosensträucher suchen und pflücken soll, die im gesamten Gebiet verteilt sind. Der zweite Auftrag geht dann in Richtung Nahrungsbeschaffung, bei der man den Anbau, das Sähen und das Ernten durchführen muss. Der dritte Auftrag verlangt vom Spieler, dass er Rüstung und Baumaterial für den Eisengolem sammelt, durch das Handeln mit Dorfbewohnern, um schlussendlich gegen Plünderer antreten zu können. Sind die Aufträge erfüllt, kann der Spieler das Gebiet im Kreativ-Modus aus eigenen Ermessen wieder verlassen.

Einschalten

Man legt einfach den Hebel auf dem Wiederhol-Befehlsblock um und die Funktion wird eingeschaltet.

Wiederholen

Mit dem Wiederhol-Befehlsblock wird die Zyklus-Funktion ständig geladen.

Ausschalten

Wenn der Hebel wieder in Ausgangsstellung gelegt wird, aktiviert eine Redstone-Fackel den Befehlsblock, der die Stopp-Funktion aufruft.



Befehlsblöcke mit Befehlen:


Variante 1: Start-Funktion
Die Start-Funktion erstellt fünf Punkte-Ziele um die Aufträge mit Dialogen und Ereignissen zu realisieren. Es werden acht Konstruktionsblöcke aufgestellt, die jweils einen Teil des Gebietes laden. Ein weiterer Konstruktionsblock wird aufgestellt, um das Portal an der Einstiegsstelle zu ermöglichen. Desweiteren wird der Dorfbewohner Ralf erzeugt, der die erste Aufgabe stellen wird, für die beiden anderen Aufträge wird ein Rüstungsständer als Platzhalter bereit gehalten.

Editor Icon auftrag-system:vp1start.mcfunction
# Punkte-Ziele für alles, was mit den Aufträgen zu tun hat, werden erstellt.
scoreboard objectives add PZAufS.p1Reden minecraft.custom:minecraft.talked_to_villager ["Auftrag-System.erweitert.1: ",{"text":"Mit Dorfbewohner sprechen","bold":true}]
scoreboard objectives add PZAufS.p1Handel minecraft.custom:minecraft.traded_with_villager ["Auftrag-System.erweitert.1: ",{"text":"Mit dem Dorfbewohner gehandelt","bold":true}]

scoreboard objectives add PZAufS.p1Auftrag dummy ["Auftrag-System.erweitert.1: ",{"text":"Auftragsnummer","bold":true}]
scoreboard objectives add PZAufS.p1Nachr dummy ["Auftrag-System.erweitert.1: ",{"text":"Nachricht mit Dorfbewohnern","bold":true}]
scoreboard objectives add PZAufS.p1Ausl trigger ["Auftrag-System.erweitert.1: ",{"text":"Auslöser und Sammel-Aufträge","bold":true}]

# Konstruktionsblöcke für das Auftragsgebiet werden platziert und anschließend mit Redstone-Blöcken aktiviert.
setblock ~ ~ ~-50 minecraft:structure_block{mode:"LOAD",ignoreEntities:false,posX:-31,posY:0,posZ:0,name:"auftrag-system:vp1gebiet1"} replace
setblock ~ ~ ~-51 minecraft:structure_block{mode:"LOAD",ignoreEntities:false,posX:-31,posY:0,posZ:-31,name:"auftrag-system:vp1gebiet2"} replace
setblock ~1 ~ ~-51 minecraft:structure_block{mode:"LOAD",ignoreEntities:false,posX:0,posY:0,posZ:-31,name:"auftrag-system:vp1gebiet3"} replace
setblock ~1 ~ ~-50 minecraft:structure_block{mode:"LOAD",ignoreEntities:false,posX:0,posY:0,posZ:0,name:"auftrag-system:vp1gebiet4"} replace
fill ~ ~1 ~-50 ~1 ~1 ~-51 minecraft:redstone_block replace

setblock ~ ~32 ~-50 minecraft:structure_block{mode:"LOAD",ignoreEntities:false,posX:-31,posY:0,posZ:0,name:"auftrag-system:vp1gebiet5"} replace
setblock ~ ~32 ~-51 minecraft:structure_block{mode:"LOAD",ignoreEntities:false,posX:-31,posY:0,posZ:-31,name:"auftrag-system:vp1gebiet6"} replace
setblock ~1 ~32 ~-51 minecraft:structure_block{mode:"LOAD",ignoreEntities:false,posX:0,posY:0,posZ:-31,name:"auftrag-system:vp1gebiet7"} replace
setblock ~1 ~32 ~-50 minecraft:structure_block{mode:"LOAD",ignoreEntities:false,posX:0,posY:0,posZ:0,name:"auftrag-system:vp1gebiet8"} replace
fill ~ ~33 ~-50 ~1 ~33 ~-51 minecraft:redstone_block replace

# Ein Rüstungsständer wird erstellt, an dessen Position ein Teleporter erzeugt wird, um in das Auftragsgebiet zu gelangen.
summon minecraft:armor_stand ~ ~ ~10 {Small:true,Invisible:true,Tags:["EtiAufS.p1Alle","EtiAufS.p1Portal"]}
execute at @e[type=minecraft:armor_stand,tag=EtiAufS.p1Portal] run setblock ~ ~ ~ minecraft:structure_block{mode:"LOAD",posX:-2,posY:0,posZ:-2,name:"auftrag-system:vp1teleporter"} replace
execute at @e[type=minecraft:armor_stand,tag=EtiAufS.p1Portal] run setblock ~1 ~ ~ minecraft:redstone_block replace

# Der Gärtner Ralf wird erzeugt. Für die anderen Aufträge werden Rüstungsständer erstellt. Dort werden weitere Dorfbewohner erzeugt, sobald der Auftrag dazu aktiv wird.
summon minecraft:villager ~22 ~22 ~-46 {Silent:true,Invulnerable:true,CanPickUpLoot:false,PersistenceRequired:true,CustomName:'{"text":"wahr","color":"green","bold":true}',Tags:["EtiAufS.p1Alle","EtiAufS.p1Ralf"],VillagerData:{level:2147483647},Offers:{Recipes:[]},Attributes:[{Name:"generic.knockbackResistance",Base:"1f"},{Name:"generic.movementSpeed",Base:"0f"}],Inventory:[{Slot:0b,id:"minecraft:wooden_hoe",Count:1b},{Slot:1b,id:"minecraft:wooden_hoe",Count:1b},{Slot:2b,id:"minecraft:wooden_hoe",Count:1b},{Slot:3b,id:"minecraft:wooden_hoe",Count:1b},{Slot:4b,id:"minecraft:wooden_hoe",Count:1b},{Slot:5b,id:"minecraft:wooden_hoe",Count:1b},{Slot:6b,id:"minecraft:wooden_hoe",Count:1b}],Passengers:[{id:"minecraft:armor_stand",Small:true,Invisible:true,CustomNameVisible:true,CustomName:'{"text":"Ralf","bold":true}',Tags:["EtiAufS.p1Alle","EtiAufS.p1Name"],Passengers:[{id:"minecraft:armor_stand",Small:true,Invisible:true,CustomNameVisible:true,CustomName:'{"text":"Auftrag!","underlined":true,"color":"green","bold":true}',Tags:["EtiAufS.p1Alle","EtiAufS.p1Auftrag"]}]}]}
execute at @e[type=minecraft:villager,tag=EtiAufS.p1Ralf] align xyz run setblock ~ ~ ~4 minecraft:composter replace

summon minecraft:armor_stand ~20 ~22.5 ~-66 {Small:true,Invisible:true,Tags:["EtiAufS.p1Alle","EtiAufS.p1Auftrag2"]}

summon minecraft:armor_stand ~6 ~14.5 ~-59 {Small:true,Invisible:true,Tags:["EtiAufS.p1Alle","EtiAufS.p1Auftrag3"]}

# Der Chunk wird dauerhaft aktiviert.
forceload add ~ ~


Variante 1: Zyklus-Funktion
Die Zyklus-Funktion ermöglicht das Anzeigen von Aufträgen über Dorfbewohnern und erzeugt Partikel bei diesen. Sie sorgt dafür, dass die Auftrags-Funktionen für die einzelnen Dorfbewohner geladen werden, wenn der Spieler bei diesen ist. Ebenfalls wird der Einstieg über das Portal ermöglicht.

Editor Icon auftrag-system:vp1zyklus.mcfunction
# Je nach dem ob ein Dorfbewohner einen Auftrag vergibt, wird die schwebende Schrift über ihn dazu aktualisiert.
execute at @e[type=minecraft:villager,tag=EtiAufS.p1Alle,name="wahr"] run data merge entity @e[distance=..5,type=minecraft:armor_stand,tag=EtiAufS.p1Auftrag,name=!"Auftrag!",sort=nearest,limit=1] {CustomName:'{"text":"Auftrag!","underlined":true,"color":"green","bold":true}'}
execute at @e[type=minecraft:villager,tag=EtiAufS.p1Alle,name="falsch"] run data merge entity @e[distance=..5,type=minecraft:armor_stand,tag=EtiAufS.p1Auftrag,name=!"Nichts!",sort=nearest,limit=1] {CustomName:'{"text":"Nichts!","underlined":true,"color":"red","bold":true}'}
execute at @e[type=minecraft:villager,tag=EtiAufS.p1Alle,name="undefiniert"] run data merge entity @e[distance=..5,type=minecraft:armor_stand,tag=EtiAufS.p1Auftrag,name=!"Wartet!",sort=nearest,limit=1] {CustomName:'{"text":"Wartet!","underlined":true,"color":"yellow","bold":true}'}

# Partikel beim Portal
execute at @e[type=minecraft:armor_stand,tag=EtiAufS.p1Portal] run particle minecraft:portal ~ ~1 ~ 0 1 0 0.7 35 force @a[distance=..15]

# Dorfbewohner, die Aufträge anbieten, werden mit grünen Partikeln umgeben.
execute at @e[type=minecraft:villager,tag=EtiAufS.p1Alle,name="wahr"] run particle minecraft:happy_villager ~ ~1 ~ 0.2 0.2 0.2 0.1 1 force @p[distance=..10]

# Jedesmal wenn man einen Dorfbewohner anklickt, gibt er Sprechlaute von sich.
execute as @a[scores={PZAufS.p1Reden=1..}] at @e[type=minecraft:villager,tag=EtiAufS.p1Alle] run playsound minecraft:entity.villager.ambient master @s[distance=..3] ~ ~ ~ 1 0.5 1

# Wenn ein Spieler auf den Teleporter geht, wird die Beginn-Funktion aktiviert.
execute at @e[type=minecraft:armor_stand,tag=EtiAufS.p1Portal] as @p[distance=..2] run function auftrag-system:vp1beginn

# Jeder Dorfbewohner der einen Auftrag hat, oder wartet und um ihn ein Spieler ist, wird die Auftrag-Funktion aufrufen.
execute as @e[type=minecraft:villager,tag=EtiAufS.p1Alle,name=!"falsch"] at @s if entity @p[distance=..3] run function auftrag-system:vp1auftrag

# Wenn der Spieler mit einem Dorfbewohner gehandelt hat, erklingt ein fröhliches Dorfbewohner-Geräusch.
execute as @a[scores={PZAufS.p1Handel=1..}] at @e[type=minecraft:villager,tag=EtiAufS.p1Alle] run playsound minecraft:entity.villager.yes master @s[distance=..3] ~ ~ ~ 1 0.5 1
scoreboard players set @a[scores={PZAufS.p1Handel=1..}] PZAufS.p1Handel 0

# Wenn Spieler mit Dorfbewohnern reden, wird deren Wert wieder auf null gesetzt.
scoreboard players set @a[scores={PZAufS.p1Reden=1..}] PZAufS.p1Reden 0

Variante 1: Beginn-Funktion
Die Beginn-Funktion wird geladen, wenn der Spieler auf das Portal zu läuft. Er wird in den Abenteuermodus gesetzt und erhält eine Titel-Nachricht für den Beginn der Aufträge. Er erhält den Fortschritt für den Beginn der Auftragsreihe. Weitere Vorbereitungen und Einstellungen werden dann am Spieler noch vorgenommen.

Editor Icon auftrag-system:vp1beginn.mcfunction
# Der Spieler wird in den Abenteuermodus gesetzt, er erhält eine Titelnachricht und bekommt den Fortschritt.
gamemode adventure @s[gamemode=!adventure]
title @s title ["",{"text":"Eine Suche beginnt..."}]
title @s subtitle ["",{"text":"Finde Ralf den Gärtner","color":"yellow","bold":true}]
effect give @s minecraft:saturation 10 10
clear @s
scoreboard players set @s PZAufS.p1Auftrag 1
advancement grant @s only auftrag-system:vp1auftrag
teleport @s ~15 ~14 ~-50
JSON Icon auftrag-system:vp1auftrag.json
{
	"display":
	{
		"icon":
		{
			"item":"minecraft:emerald_block"
		},
		"title":
		{
			"text":"Mehr Aufträge!",
			"color":"green",
			"bold":true
		},
		"frame":"task",
		"background":"minecraft:textures/block/sandstone.png",
		"description":
		[
			{
				"text":"Die Auftragsbücher werden voller!",
				"color":"gold"
			}
		]
	},
	"criteria":
	{
		"Kriterium":
		{
			"trigger":"minecraft:impossible"
		}
	}
}


Variante 1: Auftrag-Funktion
Die Auftrag-Funktion wird geladen, wenn der Spieler in der Nähe von Dorfbewohnern ist. Die Funktion testet bei jedem Dorfbewohner ob er der entsprechende Auftraggeber ist und ob der Spieler auch zu diesem einen Auftrag hat.

Editor Icon auftrag-system:vp1auftrag.mcfunction
# Auftrag 3
execute if entity @s[tag=EtiAufS.p1Bernd] if entity @p[distance=..3,scores={PZAufS.p1Auftrag=3}] run function auftrag-system:vp1auftrag_3
execute if entity @s[tag=EtiAufS.p1Ralf] if entity @p[distance=..3,scores={PZAufS.p1Auftrag=3}] run function auftrag-system:vp1auftrag_3_ralf
execute if entity @s[tag=EtiAufS.p1Klaus] if entity @p[distance=..3,scores={PZAufS.p1Auftrag=3}] run function auftrag-system:vp1auftrag_3_klaus
execute if entity @s[tag=EtiAufS.p1Martin] if entity @p[distance=..3,scores={PZAufS.p1Auftrag=3}] run function auftrag-system:vp1auftrag_3_martin

# Auftrag 2
execute if entity @s[tag=EtiAufS.p1Klaus] if entity @p[distance=..3,scores={PZAufS.p1Auftrag=2}] run function auftrag-system:vp1auftrag_2
execute if entity @s[tag=EtiAufS.p1Ralf] if entity @p[distance=..3,scores={PZAufS.p1Auftrag=2}] run function auftrag-system:vp1auftrag_2_ralf

# Auftrag 1
execute if entity @s[tag=EtiAufS.p1Ralf] if entity @p[distance=..3,scores={PZAufS.p1Auftrag=1}] run function auftrag-system:vp1auftrag_1


Variante 1: Auftrag-1-Funktion
Die Auftrag-1-Funktion wird aufgerufen, wenn der Spieler den ersten Auftrag erledigen soll. Hierbei spricht der Dorfbewohner Ralf mit dem Spieler und gibt ihm Aufträge für Gartenarbeiten. Wenn er alles erledigt hat, tauscht Ralf die Blumen gegen eine Truhe mit Gegenständen im Handelsmenü. Der Spieler erhält für das Erledigen der Aufträge entsprechend Fortschritte.

Editor Icon auftrag-system:vp1auftrag_1.mcfunction
# Jedesmal wenn der Spieler den Dorfbewohner anklickt, wird sein Nachrichten-Wert um eins erhöht und anschließend bei überschreiten wieder auf eins gesetzt.
scoreboard players add @p[distance=..3,scores={PZAufS.p1Reden=1..}] PZAufS.p1Nachr 1
scoreboard players set @p[distance=..3,scores={PZAufS.p1Reden=1..,PZAufS.p1Nachr=3..}] PZAufS.p1Nachr 1

# Wenn der Spieler die Truhe in sein Inventar gelegt hat, wird der Ralf sein Angebot wieder entfernen und der Spieler erhält einen Fortschritt. Die Auftrag-1-Erledigt-Funktion wird zehn Sekunden verzögert aufgerufen.
tag @p[distance=..3,advancements={auftrag-system:vp1auftrag_1_rosenstrauch=true,auftrag-system:vp1auftrag_1_handel=false},nbt={Inventory:[{tag:{EigAufS.p1Truhe:true} } ] }] add EtiAufS.p1Erledigt
advancement grant @p[distance=..3,tag=EtiAufS.p1Erledigt] only auftrag-system:vp1auftrag_1_handel
execute if entity @p[distance=..3,tag=EtiAufS.p1Erledigt] run schedule function auftrag-system:vp1auftrag_1_erledigt 10s replace
tellraw @p[distance=..3,tag=EtiAufS.p1Erledigt] ["",{"text":"[1/1]","color":"gray"},{"text":" «","color":"gold","bold":true},{"entity":"@e[distance=..2,type=minecraft:armor_stand,tag=EtiAufS.p1Name,sort=nearest,limit=1]","nbt":"CustomName","interpret":true},{"text":"» ","color":"gold","bold":true},{"text":"Sehr gut, jetzt kann ich meinen Garten mit den von dir gesammelten Blumen aufwerten. Hier hast du eine Truhe mit Gegenständen.","color":"gray"} ]
scoreboard players set @p[distance=..3,tag=EtiAufS.p1Erledigt] PZAufS.p1Auftrag 2
scoreboard players set @p[distance=..3,tag=EtiAufS.p1Erledigt] PZAufS.p1Nachr 0
execute if entity @p[distance=..3,tag=EtiAufS.p1Erledigt] run data merge entity @s[name="wahr"] {NoAI:false,CanPickUpLoot:false,CustomName:'{"text":"falsch","color":"red","bold":true}',Offers:{Recipes:[] } }
tag @p[distance=..3,tag=EtiAufS.p1Erledigt] remove EtiAufS.p1Erledigt

# Hat der Spieler die zwölf Rosensträucher gepflückt, so bietet der Ralf in seinem Handelsmenü einen Handel an.
tag @p[distance=..3,advancements={auftrag-system:vp1auftrag_1_rosenstrauch=true,auftrag-system:vp1auftrag_1_handel=false},scores={PZAufS.p1Reden=1..}] add EtiAufS.p1Inventar
tellraw @p[distance=..3,tag=EtiAufS.p1Inventar] ["",{"text":"[1/1]","color":"gray"},{"text":" «","color":"gold","bold":true},{"entity":"@e[distance=..2,type=minecraft:armor_stand,tag=EtiAufS.p1Name,sort=nearest,limit=1]","nbt":"CustomName","interpret":true},{"text":"» ","color":"gold","bold":true},{"text":"Hervoragend! Schau mal in meinem Handelsmenü vorbei, da hab ich was tolles für dich.","color":"yellow"} ]
execute if entity @p[distance=..3,tag=EtiAufS.p1Inventar] run data merge entity @s {NoAI:true,Offers:{Recipes:[{buy:{id:"minecraft:rose_bush",Count:12b},buyB:{id:"minecraft:shears",Count:1b,tag:{Damage:12} },sell:{id:"minecraft:chest",Count:1b,tag:{EigAufS.p1Alle:true,EigAufS.p1Truhe:true,CanPlaceOn:["minecraft:grass_block"],display:{Name:'{"text":"Ackertruhe"}',Lore:['"Die Truhe ist gefüllt"']},BlockEntityTag:{Items:[{Slot:0b,id:"minecraft:wheat_seeds",Count:9b,tag:{EigAufS.p1Alle:true,CanPlaceOn:["minecraft:farmland"] } },{Slot:1b,id:"minecraft:beetroot_seeds",Count:9b,tag:{EigAufS.p1Alle:true,CanPlaceOn:["minecraft:farmland"] } },{Slot:2b,id:"minecraft:iron_hoe",Count:1b,tag:{EigAufS.p1Alle:true,EigAufS.p1Hacke:true,CanDestroy:["minecraft:wheat","minecraft:beetroots","minecraft:grass","minecraft:tall_grass","minecraft:oak_leaves","minecraft:birch_leaves"],CanPlaceOn:["minecraft:dirt","minecraft:grass_block"] } },{Slot:3b,id:"minecraft:bone_meal",Count:64b,tag:{EigAufS.p1Alle:true,CanPlaceOn:["minecraft:wheat","minecraft:beetroots"] } } ] } } },maxUses:1,uses:0} ] } }
tag @p[distance=..3,tag=EtiAufS.p1Inventar] remove EtiAufS.p1Inventar

# Ralf erklärt dem Spieler seinen Auftrag, über mehrere Nachrichten, die mit dem Nachrichten-Wert gesteuert werden.
tag @p[distance=..3,advancements={auftrag-system:vp1auftrag_1_rosenstrauch=false},scores={PZAufS.p1Reden=1..}] add EtiAufS.p1Reden
tellraw @p[distance=..3,tag=EtiAufS.p1Reden,scores={PZAufS.p1Nachr=1}] ["",{"text":"[1/2]","color":"gray"},{"text":" «","color":"gold","bold":true},{"entity":"@e[distance=..2,type=minecraft:armor_stand,tag=EtiAufS.p1Name,sort=nearest,limit=1]","nbt":"CustomName","interpret":true},{"text":"» ","color":"gold","bold":true},{"text":"Hallo Fremder, findest du nicht auch das wir hier einen schönen Garten haben? Wie wäre es wenn du mir hilst? Siehst du dort hinten den wunderschönen Rosenstrauch? Holst du mir ","color":"yellow"},{"text":"[Rosensträucher]","color":"green","hoverEvent":{"action":"show_text","value":{"text":"Hole Ralf 12x Rosenstrauch"} } },{"text":" für meinen Garten.","color":"yellow"} ]
tellraw @p[distance=..3,tag=EtiAufS.p1Reden,scores={PZAufS.p1Nachr=2}] ["",{"text":"[2/2]","color":"gray"},{"text":" «","color":"gold","bold":true},{"entity":"@e[distance=..2,type=minecraft:armor_stand,tag=EtiAufS.p1Name,sort=nearest,limit=1]","nbt":"CustomName","interpret":true},{"text":"» ","color":"gold","bold":true},{"text":"Was stehst du hier denn noch rum? Auf, die Rosensträucher warten darauf von dir gepflügt zu werden.","color":"yellow"} ]
tag @p[distance=..3,tag=EtiAufS.p1Reden] remove EtiAufS.p1Reden

# Wenn der Spieler den Ralf das erste mal anklickt, erhält er den Fortschritt dazu.
tag @p[distance=..3,advancements={auftrag-system:vp1auftrag_1=false},scores={PZAufS.p1Reden=1..}] add EtiAufS.p1Auftrag
advancement grant @p[distance=..3,tag=EtiAufS.p1Auftrag] only auftrag-system:vp1auftrag_1
give @p[distance=..3,tag=EtiAufS.p1Auftrag] minecraft:shears{EigAufS.p1Alle:true,EigAufS.p1Schere:true,CanDestroy:["minecraft:rose_bush"],display:{Lore:['"Pflücke mit der Schere"','"alle Rosensträucher"'] } }
tag @p[distance=..3,tag=EtiAufS.p1Auftrag] remove EtiAufS.p1Auftrag
JSON Icon auftrag-system:vp1auftrag_1.json
{
	"display":
	{
		"icon":
		{
			"item":"minecraft:shears"
		},
		"title":"1. Auftrag!",
		"frame":"task",
		"description":"Finde Ralf den Gärtner und sprich mit ihm."
	},
	"parent":"auftrag-system:vp1auftrag",
	"criteria":
	{
		"Kriterium":
		{
			"trigger":"minecraft:impossible"
		}
	}
}
JSON Icon auftrag-system:vp1auftrag_1_handel.json
{
  "display":
  {
    "icon":
    {
      "item":"minecraft:rose_bush"
    },
    "title":"Rosensträucher",
    "frame":"challenge",
    "description":"Übergib Ralf die Rosensträucher."
  },
  "parent":"auftrag-system:vp1auftrag_1_rosenstrauch",
  "criteria": {
    "Kriterium":
		{
			"trigger":"minecraft:impossible"
		}
  }
}


Variante 1: Auftrag-1-Rosenstrauch-Funktion
Die Auftrag-1-Rosenstrauch-Funktion ist eine Hilftsfunktion, die durch den unsichtbaren Fortschritt aufgerufen wird, wenn der Spieler in seinem Inventar Blumen verschiebt. Die Funktion schaltet abhängig von den Blumen im Inventar entsprechend viele Kriterien frei, sodass man im Fortschritte-Menü genau sehen kann wie viele Blumen man gesammelt hat und wie viele noch fehlen.

Editor Icon auftrag-system:vp1auftrag_1_rosenstrauch.mcfunction
# Die aktuelle Anzahl der Rosensträucher wird ausgelesen und in einen Punktestand gespeichert.
execute store result score @s[advancements={auftrag-system:vp1auftrag_1=true}] PZAufS.p1Ausl run clear @s minecraft:rose_bush 0

# Je nach Anzahl der Rosensträucher werden genauso viele Fortschritts-Kriterien freigeschaltet. Nur bei zwölf wird der Fortschritt vergeben.
advancement grant @s[scores={PZAufS.p1Ausl=1..}] only auftrag-system:vp1auftrag_1_rosenstrauch Kriterium1
advancement grant @s[scores={PZAufS.p1Ausl=2..}] only auftrag-system:vp1auftrag_1_rosenstrauch Kriterium2
advancement grant @s[scores={PZAufS.p1Ausl=3..}] only auftrag-system:vp1auftrag_1_rosenstrauch Kriterium3
advancement grant @s[scores={PZAufS.p1Ausl=4..}] only auftrag-system:vp1auftrag_1_rosenstrauch Kriterium4
advancement grant @s[scores={PZAufS.p1Ausl=5..}] only auftrag-system:vp1auftrag_1_rosenstrauch Kriterium5
advancement grant @s[scores={PZAufS.p1Ausl=6..}] only auftrag-system:vp1auftrag_1_rosenstrauch Kriterium6
advancement grant @s[scores={PZAufS.p1Ausl=7..}] only auftrag-system:vp1auftrag_1_rosenstrauch Kriterium7
advancement grant @s[scores={PZAufS.p1Ausl=8..}] only auftrag-system:vp1auftrag_1_rosenstrauch Kriterium8
advancement grant @s[scores={PZAufS.p1Ausl=9..}] only auftrag-system:vp1auftrag_1_rosenstrauch Kriterium9
advancement grant @s[scores={PZAufS.p1Ausl=10..}] only auftrag-system:vp1auftrag_1_rosenstrauch Kriterium10
advancement grant @s[scores={PZAufS.p1Ausl=11..}] only auftrag-system:vp1auftrag_1_rosenstrauch Kriterium11
advancement grant @s[scores={PZAufS.p1Ausl=12..}] only auftrag-system:vp1auftrag_1_rosenstrauch Kriterium12

# Damit diese Funktion erneut durch den unsichtbaren Fortschritt ausgelöst werden kann, wird er wieder dem Spieler genommen.
advancement revoke @s[scores={PZAufS.p1Ausl=..11}] only auftrag-system:vp1auftrag_1_unsichtbar
JSON Icon auftrag-system:vp1auftrag_1_unsichtbar.json
{
  "rewards": {
    "function": "auftrag-system:vp1auftrag_1_rosenstrauch"
  },
  "parent":"auftrag-system:vp1auftrag_1",
  "criteria": {
    "requirement": {
      "trigger": "minecraft:inventory_changed",
      "conditions": {
        "items": [
          {
            "item": "minecraft:rose_bush"
          }
        ]
      }
    }
  }
}
JSON Icon auftrag-system:vp1auftrag_1_rosenstrauch.json
{
  "display": {
    "icon": {
      "item": "minecraft:rose_bush"
    },
    "title": "Pflücken!",
    "description": "Finde und sammle alle 12 Rosensträucher!",
    "frame": "goal"
  },
  "parent":"auftrag-system:vp1auftrag_1",
  "criteria": {
    "Kriterium1": {
      "trigger": "minecraft:impossible"
    },
    "Kriterium2": {
      "trigger": "minecraft:impossible"
    },
    "Kriterium3": {
      "trigger": "minecraft:impossible"
    },
    "Kriterium4": {
      "trigger": "minecraft:impossible"
    },
    "Kriterium5": {
      "trigger": "minecraft:impossible"
    },
    "Kriterium6": {
      "trigger": "minecraft:impossible"
    },
    "Kriterium7": {
      "trigger": "minecraft:impossible"
    },
    "Kriterium8": {
      "trigger": "minecraft:impossible"
    },
    "Kriterium9": {
      "trigger": "minecraft:impossible"
    },
    "Kriterium10": {
      "trigger": "minecraft:impossible"
    },
    "Kriterium11": {
      "trigger": "minecraft:impossible"
    },
    "Kriterium12": {
      "trigger": "minecraft:impossible"
    }
  }
}


Variante 1: Auftrag-1-Erledigt-Funktion
Die Auftrag-1-Erledigt-Funktion wird verzögert aufgerufen, wenn der Spieler die Aufträge von Ralf erledigt hat. Es wird der Titel für die zweite Auftragsreihe angezeigt und Ralf bekommt durch das Laden des Konstruktionsblocks einen Garten mit den vom Spieler gepflückten Blumen. Ebenfalls wird Klaus in das Gebiet gestellt, da mit ihm die Reise weiter geht.

Editor Icon auftrag-system:vp1auftrag_1_erledigt.mcfunction
# Alle Spieler die den ersten Auftrag komplett erfüllt haben, erhalten eine Titel-Nachricht für den zweiten.
title @a[advancements={auftrag-system:vp1auftrag_1_handel=true}] title ["",{"text":"Die Suche geht weiter..."}]
title @a[advancements={auftrag-system:vp1auftrag_1_handel=true}] subtitle ["",{"text":"Finde Klaus den Schmied","color":"yellow","bold":true}]

# Er erhallen Geräusche und erscheinen Explosionspartikel und danach wird durch einen Konstruktionsblock der neu eingerichtete Garten von Ralf geladen und platziert.
execute at @e[type=minecraft:villager,tag=EtiAufS.p1Ralf] run playsound minecraft:block.barrel.close master @a[distance=..25]
execute at @e[type=minecraft:villager,tag=EtiAufS.p1Ralf] run particle minecraft:explosion_emitter ~ ~ ~ 0 0 0 0 1 force @r[distance=..25]
execute at @e[type=minecraft:villager,tag=EtiAufS.p1Ralf] run setblock ~ ~-1 ~ minecraft:structure_block{mode:"LOAD",posX:-3,posY:0,posZ:-3,name:"auftrag-system:vp1garten"} replace
execute at @e[type=minecraft:villager,tag=EtiAufS.p1Ralf] run setblock ~ ~-1 ~1 minecraft:redstone_block replace

# An der Position des Rüstungsständers für den zweiten Auftrag, erscheint Klaus, der Schmied und ein Schmiedetisch.
execute at @e[type=minecraft:armor_stand,tag=EtiAufS.p1Auftrag2,limit=1] run summon minecraft:villager ~ ~ ~ {Silent:true,Invulnerable:true,CanPickUpLoot:false,PersistenceRequired:true,CustomName:'{"text":"wahr","color":"green","bold":true}',Tags:["EtiAufS.p1Alle","EtiAufS.p1Klaus"],VillagerData:{level:2147483647},Offers:{Recipes:[]},Attributes:[{Name:"generic.movementSpeed",Base:"0f"}],Passengers:[{id:"minecraft:armor_stand",Small:true,Invisible:true,CustomNameVisible:true,CustomName:'{"text":"Klaus","bold":true}',Tags:["EtiAufS.p1Alle","EtiAufS.p1Name"],Passengers:[{id:"minecraft:armor_stand",Small:true,Invisible:true,CustomNameVisible:true,CustomName:'{"text":"Auftrag!","underlined":true,"color":"green","bold":true}',Tags:["EtiAufS.p1Alle","EtiAufS.p1Auftrag"]}]}]}
execute at @e[type=minecraft:armor_stand,tag=EtiAufS.p1Auftrag2,limit=1] align xyz run setblock ~ ~ ~-1 minecraft:smithing_table replace


Variante 1: Auftrag-2-Funktion
Die Auftrag-2-Funktion wird aufgerufen, wenn der Spieler in der Nähe eines Dorfbewohners steht, und selbst den Wert für die zweite Auftragsreihe besitzt. Klaus der Schmied erklärt dem Spieler dass er unter Hunger leide und unbedingt von Ralf was zu Essen braucht. Der Spieler muss das besorgen und er bekomtm für die Erledigten Aufgaben Fortschritte zugestellt.

Editor Icon auftrag-system:vp1auftrag_2.mcfunction
# Beim Reden wird die Anzahl davon hochgezählt und wieder auf eins gesetzt, wenn die alle Nachrichten durch sind.
scoreboard players add @p[distance=..3,scores={PZAufS.p1Reden=1..}] PZAufS.p1Nachr 1
scoreboard players set @p[distance=..3,scores={PZAufS.p1Reden=1..,PZAufS.p1Nachr=6..}] PZAufS.p1Nachr 1

# Wenn der Spieler den Apfel von Klaus im Inventar liegen hat, erhält er den Fortschritt und die Auftrag-2-Erledigt-funktion wird zehnSekunden verzögert aktiviert.
tag @p[distance=..3,advancements={auftrag-system:vp1auftrag_2_ralf_handel=true,auftrag-system:vp1auftrag_2_handel=false},nbt={Inventory:[{tag:{EigAufS.p1Apfel:true} } ] }] add EtiAufS.p1Erledigt
advancement grant @p[distance=..3,tag=EtiAufS.p1Erledigt] only auftrag-system:vp1auftrag_2_handel
execute if entity @p[distance=..3,tag=EtiAufS.p1Erledigt] run schedule function auftrag-system:vp1auftrag_2_erledigt 10s replace
tellraw @p[distance=..3,tag=EtiAufS.p1Erledigt] ["",{"text":"[1/1]","color":"gray"},{"text":" «","color":"gold","bold":true},{"entity":"@e[distance=..2,type=minecraft:armor_stand,tag=EtiAufS.p1Name,sort=nearest,limit=1]","nbt":"CustomName","interpret":true},{"text":"» ","color":"gold","bold":true},{"text":"Exzellent! Jetzt kann ich mit dem schmieden beginnen. Ich werde dir eine Eisenbrustplatte schmieden, das kann aber noch etwas dauern. Am besten gehst du noch unserem Schäfer Bernd zur Hand.","color":"gray"} ]
scoreboard players set @p[distance=..3,tag=EtiAufS.p1Erledigt] PZAufS.p1Nachr 0
scoreboard players set @p[distance=..3,tag=EtiAufS.p1Erledigt] PZAufS.p1Auftrag 3
execute if entity @p[distance=..3,tag=EtiAufS.p1Erledigt] run data merge entity @s[name="wahr"] {NoAI:false,CanPickUpLoot:false,CustomName:'{"text":"falsch","color":"red","bold":true}',Offers:{Recipes:[] } }
execute if entity @p[distance=..3,tag=EtiAufS.p1Erledigt] run data merge entity @e[type=minecraft:villager,tag=EtiAufS.p1Ralf,name=!"falsch",sort=nearest,limit=1] {CustomName:'{"text":"wahr","color":"green","bold":true}'}
tag @p[distance=..3,tag=EtiAufS.p1Erledigt] remove EtiAufS.p1Erledigt

# Sobald der Spieler von Ralf zurück ist, erklärt er ihm wie es weiter geht. Er bietet einen Handel im Handelsmenü an.
tag @p[distance=..3,advancements={auftrag-system:vp1auftrag_2_ralf_handel=true,auftrag-system:vp1auftrag_2_handel=false},scores={PZAufS.p1Reden=1..}] add EtiAufS.p1Inventar
tellraw @p[distance=..3,tag=EtiAufS.p1Inventar] ["",{"text":"[1/1]","color":"gray"},{"text":" «","color":"gold","bold":true},{"entity":"@e[distance=..2,type=minecraft:armor_stand,tag=EtiAufS.p1Name,sort=nearest,limit=1]","nbt":"CustomName","interpret":true},{"text":"» ","color":"gold","bold":true},{"text":"Endlich! Aber keine Sorge, ich wäre nicht verhungert, ich hatte noch einen schönen saftigen Apfel bei mir, aber als Dank gebe ich dir ihn im Handelsmenü für das Brot und die Bete.","color":"yellow"}]
execute if entity @p[distance=..3,tag=EtiAufS.p1Inventar] run data merge entity @s {NoAI:true,CustomName:'{"text":"wahr","color":"green","bold":true}',Offers:{Recipes:[{buy:{id:"minecraft:bread",Count:1b},buyB:{id:"minecraft:beetroot",Count:3b},sell:{id:"minecraft:apple",Count:1b,tag:{EigAufS.p1Alle:true,EigAufS.p1Apfel:true} },maxUses:1,uses:0} ] } }
tag @p[distance=..3,tag=EtiAufS.p1Inventar] remove EtiAufS.p1Inventar

# Klaus erklärt dem Spieler in fünf Nachrichten was passiert ist und wie der Auftrag lautet.
tag @p[distance=..3,advancements={auftrag-system:vp1auftrag_2_nahrung=false,auftrag-system:vp1auftrag_2_ralf_handel=false},scores={PZAufS.p1Reden=1..}] add EtiAufS.p1Reden
tellraw @p[distance=..3,tag=EtiAufS.p1Reden,scores={PZAufS.p1Nachr=1}] ["",{"text":"[1/5]","color":"gray"},{"text":" «","color":"gold","bold":true},{"entity":"@e[distance=..2,type=minecraft:armor_stand,tag=EtiAufS.p1Name,sort=nearest,limit=1]","nbt":"CustomName","interpret":true},{"text":"» ","color":"gold","bold":true},{"text":"Hilfe, unser Dorf ... äh unser Haus ist in Gefahr! Plünderer haben gestern meinen gesamten Nahrungsvorrat bestohlen!","color":"yellow"} ]
tellraw @p[distance=..3,tag=EtiAufS.p1Reden,scores={PZAufS.p1Nachr=2}] ["",{"text":"[2/5]","color":"gray"},{"text":" «","color":"gold","bold":true},{"entity":"@e[distance=..2,type=minecraft:armor_stand,tag=EtiAufS.p1Name,sort=nearest,limit=1]","nbt":"CustomName","interpret":true},{"text":"» ","color":"gold","bold":true},{"text":"Wir können nicht wissen ob sie wieder kommen! Darum müssen wir für eine weitere Plünderung gewappnet sind!","color":"yellow"} ]
tellraw @p[distance=..3,tag=EtiAufS.p1Reden,scores={PZAufS.p1Nachr=3}] ["",{"text":"[3/5]","color":"gray"},{"text":" «","color":"gold","bold":true},{"entity":"@e[distance=..2,type=minecraft:armor_stand,tag=EtiAufS.p1Name,sort=nearest,limit=1]","nbt":"CustomName","interpret":true},{"text":"» ","color":"gold","bold":true},{"text":"Ich könnte Waffen für die Verteidigung produzieren, aber ich habe großen Hunger. Ohne was im Magen kann ich nicht arbeiten.","color":"yellow"} ]
tellraw @p[distance=..3,tag=EtiAufS.p1Reden,scores={PZAufS.p1Nachr=4}] ["",{"text":"[4/5]","color":"gray"},{"text":" «","color":"gold","bold":true},{"entity":"@e[distance=..2,type=minecraft:armor_stand,tag=EtiAufS.p1Name,sort=nearest,limit=1]","nbt":"CustomName","interpret":true},{"text":"» ","color":"gold","bold":true},{"text":"Könntest du ","color":"yellow"},{"text":"[Essen]","color":"green","hoverEvent":{"action":"show_text","value":{"text":"Gib Klaus 1x Brot und 3x rote Bete"} } },{"text":" für mich besorgen? Ralf könnte für uns was anbauen.","color":"yellow"}]
tellraw @p[distance=..3,tag=EtiAufS.p1Reden,scores={PZAufS.p1Nachr=5}] ["",{"text":"[5/5]","color":"gray"},{"text":" «","color":"gold","bold":true},{"entity":"@e[distance=..2,type=minecraft:armor_stand,tag=EtiAufS.p1Name,sort=nearest,limit=1]","nbt":"CustomName","interpret":true},{"text":"» ","color":"gold","bold":true},{"text":"Auf! Besorg mir was zu Essen! Ich sterbe vor Hunger und ich will nicht noch länger warten!","color":"yellow"} ]
tag @p[distance=..3,tag=EtiAufS.p1Reden] remove EtiAufS.p1Reden

# Wenn der Spieler den Klaus das erste mal anspricht, erhält er den Fortschritt dafür.
tag @p[distance=..3,advancements={auftrag-system:vp1auftrag_2=false},scores={PZAufS.p1Reden=1..}] add EtiAufS.p1Auftrag
advancement grant @p[distance=..3,tag=EtiAufS.p1Auftrag] only auftrag-system:vp1auftrag_2
execute if entity @p[distance=..3,tag=EtiAufS.p1Auftrag] run data merge entity @s[name="wahr"] {CustomName:'{"text":"undefiniert","color":"yellow","bold":true}'}
execute if entity @p[distance=..3,tag=EtiAufS.p1Auftrag] run data merge entity @e[type=minecraft:villager,tag=EtiAufS.p1Ralf,name="falsch",sort=nearest,limit=1] {CustomName:'{"text":"wahr","color":"green","bold":true}'}
tag @p[distance=..3,tag=EtiAufS.p1Auftrag] remove EtiAufS.p1Auftrag
JSON Icon auftrag-system:vp1auftrag_2.json
{
	"display":
	{
		"icon":
		{
			"item":"minecraft:anvil"
		},
		"title":"2. Auftrag!",
		"frame":"task",
		"description":"Finde Klaus den Schmied und sprich mit ihm."
	},
	"parent":"auftrag-system:vp1auftrag",
	"criteria":
	{
		"Kriterium":
		{
			"trigger":"minecraft:impossible"
		}
	}
}
JSON Icon auftrag-system:vp1auftrag_2_nahrung.json
{
	"display":
	{
		"icon":
		{
			"item":"minecraft:hay_block"
		},
		"title":"Besorge Klaus Essen!",
		"frame":"task",
		"description":"Finde eine Möglichkeit Klaus Essen zu bringen."
	},
	"parent":"auftrag-system:vp1auftrag_2",
	"criteria":
	{
		"Kriterium":
		{
			"trigger":"minecraft:impossible"
		}
	}
}
JSON Icon auftrag-system:vp1auftrag_2_handel.json
{
	"display":
	{
		"icon":
		{
			"item":"minecraft:beetroot"
		},
		"title":"Handel mit Klaus!",
		"frame":"challenge",
		"description":"Handle mit Klaus um ihm Nahrung zu geben."
	},
	"parent":"auftrag-system:vp1auftrag_2_nahrung",
	"criteria":
	{
		"Kriterium":
		{
			"trigger":"minecraft:impossible"
		}
	}
}


Variante 1: Auftrag-2-Ralf-Funktion
Die auftrag-2-Ralf-Funktion wird von Ralf aufgerufen, wenn der Spieler in seiner Nähe ist. Er verlangt vom Spieler Aussaat und Ernte-Aufgaben und diese muss der Spieler erledigen um Klaus den Schmied zu befrieden.

Editor Icon auftrag-system:vp1auftrag_2_ralf.mcfunction
# Die Nachrichten-Werte werden jedesmal hochgezählt und wieder auf eins gesetzt sofern Ralf nicht weiteres zu sagen hat.
scoreboard players set @p[distance=..3,advancements={auftrag-system:vp1auftrag_2_ralf=false}] PZAufS.p1Nachr 0
scoreboard players add @p[distance=..3,scores={PZAufS.p1Reden=1..}] PZAufS.p1Nachr 1
scoreboard players set @p[distance=..3,advancements={auftrag-system:vp1auftrag_2_ralf_anbau=false},scores={PZAufS.p1Reden=1..,PZAufS.p1Nachr=4..}] PZAufS.p1Nachr 1
scoreboard players set @p[distance=..3,advancements={auftrag-system:vp1auftrag_2_ralf_anbau=true,auftrag-system:vp1auftrag_2_ralf_nahrung=false},scores={PZAufS.p1Reden=1..,PZAufS.p1Nachr=3..}] PZAufS.p1Nachr 1

# Wenn der Spieler die Brote ins Inventar gelegt hat, erhält er zwei Fortschritte und Klaus erwartet ihn wieder.
tag @p[distance=..3,advancements={auftrag-system:vp1auftrag_2_ralf_nahrung=true,auftrag-system:vp1auftrag_2_ralf_handel=false},nbt={Inventory:[{tag:{EigAufS.p1Brot:true} } ] }] add EtiAufS.p1Erledigt
advancement grant @p[distance=..3,tag=EtiAufS.p1Erledigt] only auftrag-system:vp1auftrag_2_ralf_handel
advancement grant @p[distance=..3,tag=EtiAufS.p1Erledigt] only auftrag-system:vp1auftrag_2_nahrung
tellraw @p[distance=..3,tag=EtiAufS.p1Erledigt] ["",{"text":"[1/1]","color":"gray"},{"text":" «","color":"gold","bold":true},{"entity":"@e[distance=..2,type=minecraft:armor_stand,tag=EtiAufS.p1Name,sort=nearest,limit=1]","nbt":"CustomName","interpret":true},{"text":"» ","color":"gold","bold":true},{"text":"Damit sollte Klaus dann keinen Hunger mehr leiden. Natürlich kannst du auch was davon haben, aber Klaus hat Vorang, das verstehst du doch.","color":"gray"} ]
scoreboard players set @p[distance=..3,tag=EtiAufS.p1Erledigt] PZAufS.p1Nachr 0
execute if entity @p[distance=..3,tag=EtiAufS.p1Erledigt] run data merge entity @s[name=!"falsch"] {NoAI:false,CanPickUpLoot:false,CustomName:'{"text":"falsch","color":"red","bold":true}',Offers:{Recipes:[] } }
execute if entity @p[distance=..3,tag=EtiAufS.p1Erledigt] run data merge entity @e[type=minecraft:villager,tag=EtiAufS.p1Klaus,name=!"falsch",sort=nearest,limit=1] {NoAI:false,CustomName:'{"text":"wahr","color":"green","bold":true}',Offers:{Recipes:[] } }
tag @p[distance=..3,tag=EtiAufS.p1Erledigt] remove EtiAufS.p1Erledigt

# Wenn der Spieler alles abgeerntet hat, ermöglicht Ralf einen Handel im Handelsmenü.
tag @p[distance=..3,advancements={auftrag-system:vp1auftrag_2_ralf_nahrung=true,auftrag-system:vp1auftrag_2_ralf_handel=false},scores={PZAufS.p1Reden=1..}] add EtiAufS.p1Inventar
tellraw @p[distance=..3,tag=EtiAufS.p1Inventar] ["",{"text":"[1/1]","color":"gray"},{"text":" «","color":"gold","bold":true},{"entity":"@e[distance=..2,type=minecraft:armor_stand,tag=EtiAufS.p1Name,sort=nearest,limit=1]","nbt":"CustomName","interpret":true},{"text":"» ","color":"gold","bold":true},{"text":"Der Anbau trägt Früchte! Für den Weizen gebe ich dir mein schon fertiges Brot. Aber beachte, ich tausche nur einmal im Handeslmenü mit dir, denn meine Nahrungsreserven sind begrenzt.","color":"yellow"} ]
execute if entity @p[distance=..3,tag=EtiAufS.p1Inventar] run data merge entity @s {NoAI:true,Offers:{Recipes:[{buy:{id:"minecraft:wheat",Count:3b},sell:{id:"minecraft:bread",Count:1b,tag:{EigAufS.p1Alle:true,EigAufS.p1Brot:true} },maxUses:3,uses:0} ] } }
tag @p[distance=..3,tag=EtiAufS.p1Inventar] remove EtiAufS.p1Inventar

# Wenn der Spieler den Anweisungen folgt, aber noch nicht die Ernte eingefahren hat, erklärt Ralf ihm was er machen muss.
tag @p[distance=..3,advancements={auftrag-system:vp1auftrag_2_ralf_anbau=true,auftrag-system:vp1auftrag_2_ralf_nahrung=false},scores={PZAufS.p1Reden=1..}] add EtiAufS.p1Reden
tellraw @p[distance=..3,tag=EtiAufS.p1Reden,scores={PZAufS.p1Nachr=1}] ["",{"text":"[1/2]","color":"gray"},{"text":" «","color":"gold","bold":true},{"entity":"@e[distance=..2,type=minecraft:armor_stand,tag=EtiAufS.p1Name,sort=nearest,limit=1]","nbt":"CustomName","interpret":true},{"text":"» ","color":"gold","bold":true},{"text":"Du willst eine Pause einlegen? Pflanze erstmal die Feldfrüchte ein. Danach kannst du sie mit Knochenmehl düngen, damit sie schneller gedeihen.","color":"yellow"} ]
tellraw @p[distance=..3,tag=EtiAufS.p1Reden,scores={PZAufS.p1Nachr=2}] ["",{"text":"[2/2]","color":"gray"},{"text":" «","color":"gold","bold":true},{"entity":"@e[distance=..2,type=minecraft:armor_stand,tag=EtiAufS.p1Name,sort=nearest,limit=1]","nbt":"CustomName","interpret":true},{"text":"» ","color":"gold","bold":true},{"text":"Keine Müdigkeit vortäuschen, ernte ","color":"yellow"},{"text":"[Weizen und rote Bete]","color":"green","hoverEvent":{"action":"show_text","value":{"text":"Pflanze die Weizensamen und Rote-Bete-Samen"} } },{"text":" in dem du die Hacke benutzt.","color":"yellow"} ]
tag @p[distance=..3,tag=EtiAufS.p1Reden] remove EtiAufS.p1Reden

# Ralf teilt dem Spieler mit, was er alles tun muss, um Klaus Nahrung zu geben.
tag @p[distance=..3,advancements={auftrag-system:vp1auftrag_2_ralf_anbau=false},scores={PZAufS.p1Reden=1..}] add EtiAufS.p1Reden
tellraw @p[distance=..3,tag=EtiAufS.p1Reden,scores={PZAufS.p1Nachr=1}] ["",{"text":"[1/3]","color":"gray"},{"text":" «","color":"gold","bold":true},{"entity":"@e[distance=..2,type=minecraft:armor_stand,tag=EtiAufS.p1Name,sort=nearest,limit=1]","nbt":"CustomName","interpret":true},{"text":"» ","color":"gold","bold":true},{"text":"Klaus schickt dich, dass du ihm Essen besorgen sollst? Und jetzt willst du wissen ob ich das Essen dafür besitze?","color":"yellow"} ]
tellraw @p[distance=..3,tag=EtiAufS.p1Reden,scores={PZAufS.p1Nachr=2}] ["",{"text":"[2/3]","color":"gray"},{"text":" «","color":"gold","bold":true},{"entity":"@e[distance=..2,type=minecraft:armor_stand,tag=EtiAufS.p1Name,sort=nearest,limit=1]","nbt":"CustomName","interpret":true},{"text":"» ","color":"gold","bold":true},{"text":"Hast du noch meine Belohnung von vorhin? Um Feldfrüchte anzubauen, brauchen wir erstmal ein Ackerfeld. Schaffe ein ","color":"yellow"},{"text":"[Ackerfeld]","color":"green","hoverEvent":{"action":"show_text","value":{"text":"Grabe den Garten um Ralf herum um"} } },{"text":" damit wir damit anfangen können.","color":"yellow"} ]
tellraw @p[distance=..3,tag=EtiAufS.p1Reden,scores={PZAufS.p1Nachr=3}] ["",{"text":"[3/3]","color":"gray"},{"text":" «","color":"gold","bold":true},{"entity":"@e[distance=..2,type=minecraft:armor_stand,tag=EtiAufS.p1Name,sort=nearest,limit=1]","nbt":"CustomName","interpret":true},{"text":"» ","color":"gold","bold":true},{"text":"Sag bloß du hast meine Truhe verschlammpt? Dann mach dich geschwind auf und suche danach, ansonsten müssen wir alle verhungern!","color":"yellow"} ]
tag @p[distance=..3,tag=EtiAufS.p1Reden] remove EtiAufS.p1Reden

# Wenn der Spieler von Klaus den Auftrag erhalten hat und Ralf noch nicht gesprochen hat, erhält er den Fortschritt.
tag @p[distance=..3,advancements={auftrag-system:vp1auftrag_2=true,auftrag-system:vp1auftrag_2_ralf=false},scores={PZAufS.p1Reden=1..}] add EtiAufS.p1Auftrag
advancement grant @p[distance=..3,tag=EtiAufS.p1Auftrag] only auftrag-system:vp1auftrag_2_ralf
execute if entity @p[distance=..3,tag=EtiAufS.p1Auftrag] run data merge entity @s[name="wahr"] {CustomName:'{"text":"undefiniert","color":"yellow","bold":true}'}
tag @p[distance=..3,tag=EtiAufS.p1Auftrag] remove EtiAufS.p1Auftrag
JSON Icon auftrag-system:vp1auftrag_2_ralf.json
{
	"display":
	{
		"icon":
		{
			"item":"minecraft:chest"
		},
		"title":"Hungriger Schmied!",
		"frame":"task",
		"description":"Berichte Ralf über den Hunger von Klaus."
	},
	"parent":"auftrag-system:vp1auftrag_2",
	"criteria":
	{
		"Kriterium":
		{
			"trigger":"minecraft:impossible"
		}
	}
}
JSON Icon auftrag-system:vp1auftrag_2_anbau.json
{
	"display":
	{
		"icon":
		{
			"item":"minecraft:farmland"
		},
		"title":"Bestelle eine Acker!",
		"frame":"task",
		"description":"Pflüge den Garten um."
	},
	"parent":"auftrag-system:vp1auftrag_2_ralf",
	"criteria":
	{
		"Kriterium":
		{
      "trigger": "minecraft:enter_block",
      "conditions": {
        "block": "minecraft:farmland"
      }
		}
	}
}
JSON Icon auftrag-system:vp1auftrag_2_ralf_handel.json
{
	"display":
	{
		"icon":
		{
			"item":"minecraft:bread"
		},
		"title":"Weizen-Brot!",
		"frame":"goal",
		"description":"Handle mit Ralf um Brot zu erhalten."
	},
	"parent":"auftrag-system:vp1auftrag_2_ralf_nahrung",
	"criteria":
	{
		"Kriterium":
		{
			"trigger":"minecraft:impossible"
		}
	}
}


Variante 1: Auftrag-2-Ralf-Nahrung-Funktion
Die Auftrag-2-Ralf-Nahrungs-Funktion ist eine Hilfsfunktion die von dem Fortschritt ausgelöst wird, wenn der Spieler Weizen und/ oder rote Bete im Inventar bewegt. Sie zählt die beiden Drops mit Hilfe eines Alias und vergibt Kriterien für den Fortschritt, damit dieser im Fortschritte-Menü angezeigt wird.

Editor Icon auftrag-system:vp1auftrag_2_ralf_nahrung.mcfunction
# Die Anzahl der Weizen- und Rote-Bete-Gegenstände wird durch ein Alias ausgelesen und in den Punktestand gespeichert.
execute store result score @s[advancements={auftrag-system:vp1auftrag_2_ralf=true}] PZAufS.p1Ausl run clear @s #auftrag-system:vp1nahrung 0

# Je nach Anzahl, werden genauso viele Kriterien des Fortschrittes freigeschaltet.
advancement grant @s[scores={PZAufS.p1Ausl=1..}] only auftrag-system:vp1auftrag_2_ralf_nahrung Kriterium1
advancement grant @s[scores={PZAufS.p1Ausl=2..}] only auftrag-system:vp1auftrag_2_ralf_nahrung Kriterium2
advancement grant @s[scores={PZAufS.p1Ausl=3..}] only auftrag-system:vp1auftrag_2_ralf_nahrung Kriterium3
advancement grant @s[scores={PZAufS.p1Ausl=4..}] only auftrag-system:vp1auftrag_2_ralf_nahrung Kriterium4
advancement grant @s[scores={PZAufS.p1Ausl=5..}] only auftrag-system:vp1auftrag_2_ralf_nahrung Kriterium5
advancement grant @s[scores={PZAufS.p1Ausl=6..}] only auftrag-system:vp1auftrag_2_ralf_nahrung Kriterium6
advancement grant @s[scores={PZAufS.p1Ausl=7..}] only auftrag-system:vp1auftrag_2_ralf_nahrung Kriterium7
advancement grant @s[scores={PZAufS.p1Ausl=8..}] only auftrag-system:vp1auftrag_2_ralf_nahrung Kriterium8
advancement grant @s[scores={PZAufS.p1Ausl=9..}] only auftrag-system:vp1auftrag_2_ralf_nahrung Kriterium9
advancement grant @s[scores={PZAufS.p1Ausl=10..}] only auftrag-system:vp1auftrag_2_ralf_nahrung Kriterium10
advancement grant @s[scores={PZAufS.p1Ausl=11..}] only auftrag-system:vp1auftrag_2_ralf_nahrung Kriterium11
advancement grant @s[scores={PZAufS.p1Ausl=12..}] only auftrag-system:vp1auftrag_2_ralf_nahrung Kriterium12

# Damit der unsichtbare Fortschritt erneut auslösen kann, wird er wieder entfernt.
advancement revoke @s[scores={PZAufS.p1Ausl=..11}] only auftrag-system:vp1auftrag_2_ralf_unsichtbar
JSON Icon auftrag-system:vp1auftrag_2_ralf_unsichtbar.json
{
  "rewards": {
    "function": "auftrag-system:vp1auftrag_2_ralf_nahrung"
  },
  "parent":"auftrag-system:vp1auftrag_2_ralf_anbau",
  "criteria": {
      "requirement1": {
        "trigger": "minecraft:inventory_changed",
        "conditions": {
          "items": [
            {
              "item": "minecraft:wheat"
            }
          ]
        }
      },
      "requirement2": {
        "trigger": "minecraft:inventory_changed",
        "conditions": {
          "items": [
            {
              "item": "minecraft:beetroot"
            }
          ]
        }
      }
    },
    "requirements": [
        [
        "requirement1",
        "requirement2"
      ]
    ]
}
JSON Icon auftrag-system:vp1auftrag_2_ralf_nahrung.json
{
  "display": {
    "icon": {
      "item": "minecraft:wheat"
    },
    "title": "Ernten!",
    "description": "Ernte Weizen und rote Bete!",
    "frame": "goal"
  },
  "parent":"auftrag-system:vp1auftrag_2_ralf_anbau",
  "criteria": {
    "Kriterium1": {
      "trigger": "minecraft:impossible"
    },
    "Kriterium2": {
      "trigger": "minecraft:impossible"
    },
    "Kriterium3": {
      "trigger": "minecraft:impossible"
    },
    "Kriterium4": {
      "trigger": "minecraft:impossible"
    },
    "Kriterium5": {
      "trigger": "minecraft:impossible"
    },
    "Kriterium6": {
      "trigger": "minecraft:impossible"
    },
    "Kriterium7": {
      "trigger": "minecraft:impossible"
    },
    "Kriterium8": {
      "trigger": "minecraft:impossible"
    },
    "Kriterium9": {
      "trigger": "minecraft:impossible"
    },
    "Kriterium10": {
      "trigger": "minecraft:impossible"
    },
    "Kriterium11": {
      "trigger": "minecraft:impossible"
    },
    "Kriterium12": {
      "trigger": "minecraft:impossible"
    }
  }
}
JSON Icon auftrag-system:vp1nahrung.json
{
	"values": [
		"minecraft:wheat",
		"minecraft:beetroot"
	]
}


Variante 1: Auftrag-2-Erledigt-Funktion
Die Auftrag-2-Erledigt-Funktion wird verzögert aufgerufen, wenn Klaus seine Nahrung erhalten hat. Der Titel der dritten Aufgaben-Reihe wird angezeigt und durch einen Konstruktionsblock wird ein Mineneingang geladen, damit man zu den neu erzeugten Bergmann Martin gelangen kann. Bernd der Schäfer wird ebenfalls neu erzeugt, mit seinen Schafen.

Editor Icon auftrag-system:vp1auftrag_2_erledigt.mcfunction
# Alle Spieler die den zweiten Auftrag komplett erledigt haben, erhalten die Titel-Nachricht für den dritten Auftrag.
title @a[advancements={auftrag-system:vp1auftrag_2_handel=true}] title ["",{"text":"Schafe und Mine..."}]
title @a[advancements={auftrag-system:vp1auftrag_2_handel=true}] subtitle ["",{"text":"Besorge Wolle und Rüstungen","color":"yellow","bold":true}]

# Es ertönen Geräusche und Explosionspartikel um danach einen Konstruktionsblock zu laden, der einen Mineneingang lädt.
execute at @e[type=minecraft:armor_stand,tag=EtiAufS.p1Auftrag3,limit=1] run playsound minecraft:block.barrel.close master @a[distance=..25]
execute at @e[type=minecraft:armor_stand,tag=EtiAufS.p1Auftrag3,limit=1] run particle minecraft:explosion_emitter ~ ~ ~ 0 0 0 0 1 force @r[distance=..25]
execute at @e[type=minecraft:armor_stand,tag=EtiAufS.p1Auftrag3,limit=1] run setblock ~4 ~-1 ~-2 minecraft:structure_block{mode:"LOAD",posX:-3,posY:0,posZ:-3,name:"auftrag-system:vp1mine"} replace
execute at @e[type=minecraft:armor_stand,tag=EtiAufS.p1Auftrag3,limit=1] run setblock ~4 ~ ~-2 minecraft:redstone_block replace

# An der Position des Rüstungsständers für den dritten Auftrag, wird Martin der Bergmann und Bernd der Schäfer, samt drei Schafen erzeugt.
execute at @e[type=minecraft:armor_stand,tag=EtiAufS.p1Auftrag3,limit=1] run summon minecraft:villager ~4 ~ ~3 {Silent:true,Invulnerable:true,CanPickUpLoot:false,PersistenceRequired:true,CustomName:'{"text":"falsch","color":"red","bold":true}',Tags:["EtiAufS.p1Alle","EtiAufS.p1Martin"],VillagerData:{level:2147483647},Offers:{Recipes:[]},Attributes:[{Name:"generic.movementSpeed",Base:"0f"}],Passengers:[{id:"minecraft:armor_stand",Small:true,Invisible:true,CustomNameVisible:true,CustomName:'{"text":"Martin","bold":true}',Tags:["EtiAufS.p1Alle","EtiAufS.p1Name"],Passengers:[{id:"minecraft:armor_stand",Small:true,Invisible:true,CustomNameVisible:true,CustomName:'{"text":"Nichts!","underlined":true,"color":"red","bold":true}',Tags:["EtiAufS.p1Alle","EtiAufS.p1Auftrag"]}]}]}
execute at @e[type=minecraft:armor_stand,tag=EtiAufS.p1Auftrag3,limit=1] align xyz run setblock ~4 ~ ~5 minecraft:stonecutter replace

execute at @e[type=minecraft:armor_stand,tag=EtiAufS.p1Auftrag3,limit=1] run summon minecraft:villager ~-15 ~ ~ {Silent:true,Invulnerable:true,CanPickUpLoot:false,PersistenceRequired:true,CustomName:'{"text":"wahr","color":"green","bold":true}',Tags:["EtiAufS.p1Alle","EtiAufS.p1Bernd"],VillagerData:{level:2147483647},Offers:{Recipes:[]},Attributes:[{Name:"generic.movementSpeed",Base:"0f"}],Passengers:[{id:"minecraft:armor_stand",Small:true,Invisible:true,CustomNameVisible:true,CustomName:'{"text":"Bernd","bold":true}',Tags:["EtiAufS.p1Alle","EtiAufS.p1Name"],Passengers:[{id:"minecraft:armor_stand",Small:true,Invisible:true,CustomNameVisible:true,CustomName:'{"text":"Auftrag!","underlined":true,"color":"green","bold":true}',Tags:["EtiAufS.p1Alle","EtiAufS.p1Auftrag"]}]}]}

execute at @e[type=minecraft:armor_stand,tag=EtiAufS.p1Auftrag3,limit=1] run summon minecraft:sheep ~-13 ~ ~-2 {CustomNameVisible:true,CustomName:'{"text":"Fluffi","bold":true}',Tags:["EtiAufS.p1Alle","EtiAufS.p1Schaf"]}
execute at @e[type=minecraft:armor_stand,tag=EtiAufS.p1Auftrag3,limit=1] run summon minecraft:sheep ~-15 ~ ~-2 {CustomNameVisible:true,CustomName:'{"text":"Flauschi","bold":true}',Tags:["EtiAufS.p1Alle","EtiAufS.p1Schaf"]}
execute at @e[type=minecraft:armor_stand,tag=EtiAufS.p1Auftrag3,limit=1] run summon minecraft:sheep ~-13 ~ ~ {CustomNameVisible:true,CustomName:'{"text":"Plüschi","bold":true}',Tags:["EtiAufS.p1Alle","EtiAufS.p1Schaf"]}


Variante 1: Auftrag-3-Funktion
Die Auftrag-3-Funktion wird geladen, wenn der Spieler in der Nähe eines Dorfbewohners ist und der Spieler den Wert für den dritten Auftrag hat. Die Funktion wird für Bernd dem Schäfer aufgerufen. Dieser gibt Aufträge für das Geleiten der Schafe und indirekt dass man zu den anderen Dorfbewohnern gehen muss. Wenn der Spieler bei allen war und nun zurück ist, kann der Spieler die Aufgaben-Reihe abschließen in dem er einen Eisengolem platziert und damit die Plünderer beseitigt. Der Spieler erhält dafür Fortschritte und wird am Ende wieder in den Kreativ-Modus gesetzt.

Editor Icon auftrag-system:vp1auftrag_3.mcfunction
# Jedesmal wenn der Spieler mit Bernd redet, wird die nächste Nachricht in Form eines Wertes gespeichert.
scoreboard players add @p[distance=..3,scores={PZAufS.p1Reden=1..}] PZAufS.p1Nachr 1
scoreboard players set @p[distance=..3,scores={PZAufS.p1Reden=1..,PZAufS.p1Nachr=3..}] PZAufS.p1Nachr 1

# Wenn die Plünderer besiegt wurden, hat der Spieler alle Aufträge geschafft.
execute as @p[distance=..3,advancements={auftrag-system:vp1auftrag_3_angriff=true,auftrag-system:vp1auftrag_3_sieg=false}] unless entity @e[type=minecraft:pillager,tag=EtiAufS.p1Angreifer] run tag @s add EtiAufS.p1Sieg
advancement grant @p[distance=..3,tag=EtiAufS.p1Sieg] only auftrag-system:vp1auftrag_3_sieg
gamemode creative @p[distance=..3,tag=EtiAufS.p1Sieg]
title @p[distance=..3,tag=EtiAufS.p1Sieg] title ["",{"text":"Das Abenteuer..","color":"yellow"}]
title @p[distance=..3,tag=EtiAufS.p1Sieg] subtitle ["",{"text":"..ist geschafft!","color":"yellow","bold":true}]
tellraw @p[distance=..3,tag=EtiAufS.p1Sieg] ["",{"text":"[1/1]","color":"gray"},{"text":" «","color":"gold","bold":true},{"entity":"@e[distance=..2,type=minecraft:armor_stand,tag=EtiAufS.p1Name,sort=nearest,limit=1]","nbt":"CustomName","interpret":true},{"text":"» ","color":"gold","bold":true},{"text":"Wir alle stehen zu tiefst in deiner Schuld. Danke für deine Hilfe! Du kannst uns gerne wieder besuchen kommen.","color":"gray"}]
execute if entity @p[distance=..3,tag=EtiAufS.p1Sieg] run data merge entity @s[name=!"wahr"] {CanPickUpLoot:false,CustomName:'{"text":"falsch","color":"red","bold":true}'}
tag @p[distance=..3,tag=EtiAufS.p1Sieg] remove EtiAufS.p1Sieg

# Wenn der Spieler von Bernd auf die Option Bereit geklickt hat, werden drei Plünderer gespawnt.
tag @p[distance=..3,advancements={auftrag-system:vp1auftrag_3_lage=true,auftrag-system:vp1auftrag_3_angriff=false},scores={PZAufS.p1Ausl=-99}] add EtiAufS.p1Angriff
advancement grant @p[distance=..3,tag=EtiAufS.p1Angriff] only auftrag-system:vp1auftrag_3_angriff
scoreboard players set @p[distance=..3,tag=EtiAufS.p1Angriff] PZAufS.p1Ausl 0
execute if entity @p[distance=..3,tag=EtiAufS.p1Angriff] run data merge entity @s[name="wahr"] {CanPickUpLoot:false,CustomName:'{"text":"undefiniert","color":"yellow","bold":true}'}
tellraw @p[distance=..5,tag=EtiAufS.p1Botschaft] ["",{"text":"[1/1]","color":"gray"},{"text":" «","color":"gold","bold":true},{"entity":"@e[distance=..2,type=minecraft:armor_stand,tag=EtiAufS.p1Name,sort=nearest,limit=1]","nbt":"CustomName","interpret":true},{"text":"» ","color":"gold","bold":true},{"text":"Zu den Waffen! Die Plünderer kommen! Hoffentlich hilft uns der Eisengolem.","color":"yellow"}]
execute if entity @p[distance=..3,tag=EtiAufS.p1Angriff] at @e[type=minecraft:armor_stand,tag=EtiAufS.p1Auftrag3,limit=1] run summon minecraft:pillager ~5 ~ ~20 {Tags:["EtiAufS.p1Alle","EtiAufS.p1Angreifer"],DeathLootTable:"minecraft:chests/simple_dungeon",HandItems:[{id:"minecraft:crossbow",Count:1b},{}],HandDropChances:[0.0f,0.0f],ArmorItems:[{id:"minecraft:leather_boots",Count:1b},{id:"minecraft:leather_leggings",Count:1b},{id:"minecraft:leather_chestplate",Count:1b},{id:"minecraft:leather_helmet",Count:1b}]}
execute if entity @p[distance=..3,tag=EtiAufS.p1Angriff] at @e[type=minecraft:armor_stand,tag=EtiAufS.p1Auftrag3,limit=1] run summon minecraft:pillager ~4 ~ ~20 {Tags:["EtiAufS.p1Alle","EtiAufS.p1Angreifer"],DeathLootTable:"minecraft:chests/simple_dungeon",HandItems:[{id:"minecraft:crossbow",Count:1b},{}],HandDropChances:[0.0f,0.0f],ArmorItems:[{id:"minecraft:leather_boots",Count:1b},{id:"minecraft:leather_leggings",Count:1b},{id:"minecraft:leather_chestplate",Count:1b},{id:"minecraft:leather_helmet",Count:1b}]}
execute if entity @p[distance=..3,tag=EtiAufS.p1Angriff] at @e[type=minecraft:armor_stand,tag=EtiAufS.p1Auftrag3,limit=1] run summon minecraft:pillager ~3 ~ ~20 {Tags:["EtiAufS.p1Alle","EtiAufS.p1Angreifer"],DeathLootTable:"minecraft:chests/simple_dungeon",HandItems:[{id:"minecraft:crossbow",Count:1b},{}],HandDropChances:[0.0f,0.0f],ArmorItems:[{id:"minecraft:leather_boots",Count:1b},{id:"minecraft:leather_leggings",Count:1b},{id:"minecraft:leather_chestplate",Count:1b},{id:"minecraft:leather_helmet",Count:1b}]}
tag @p[distance=..3,tag=EtiAufS.p1Angriff] remove EtiAufS.p1Angriff

# Wenn der Spiler darüber informiert wurde, woher die Plünderer kamen, bekommt er von Bernd die Möglichkeit den Angriff zu starten.
tag @p[distance=..3,advancements={auftrag-system:vp1auftrag_3_lage=true,auftrag-system:vp1auftrag_3_angriff=false},scores={PZAufS.p1Reden=1..}] add EtiAufS.p1Lagebericht
scoreboard players enable @p[distance=..5,tag=EtiAufS.p1Lagebericht] PZAufS.p1Ausl
tellraw @p[distance=..5,tag=EtiAufS.p1Lagebericht] ["",{"text":"[1/1]","color":"gray"},{"text":" «","color":"gold","bold":true},{"entity":"@e[distance=..2,type=minecraft:armor_stand,tag=EtiAufS.p1Name,sort=nearest,limit=1]","nbt":"CustomName","interpret":true},{"text":"» ","color":"gold","bold":true},{"text":"Jetzt entscheidet sich alles! Klicke auf Bereit, wenn du soweit bist. Dann werden die Plünderer erscheinen und der Kampf beginnt. ","color":"yellow"},{"text":"\n[BEREIT]","color":"gray","underlined":true,"bold":true,"hoverEvent":{"action":"show_text","value":{"text":"Tippe für Bereit"} },"clickEvent":{"action":"run_command","value":"/trigger PZAufS.p1Ausl set -99"} }]
tag @p[distance=..3,tag=EtiAufS.p1Lagebericht] remove EtiAufS.p1Lagebericht

# Nachdem der Spieler wieder zurück von Klaus und Martin ist, erklärt Bernd woher die Plünderer kamen.
tag @p[distance=..3,advancements={auftrag-system:vp1auftrag_3_martin_bereit=true,auftrag-system:vp1auftrag_3_lage=false},scores={PZAufS.p1Reden=1..}] add EtiAufS.p1Botschaft
advancement grant @p[distance=..3,tag=EtiAufS.p1Botschaft] only auftrag-system:vp1auftrag_3_lage
tellraw @p[distance=..5,tag=EtiAufS.p1Botschaft] ["",{"text":"[1/1]","color":"gray"},{"text":" «","color":"gold","bold":true},{"entity":"@e[distance=..2,type=minecraft:armor_stand,tag=EtiAufS.p1Name,sort=nearest,limit=1]","nbt":"CustomName","interpret":true},{"text":"» ","color":"gold","bold":true},{"text":"So, es wird ernst, du hast alles bei dir? Die ","color":"yellow"},{"text":"[Plünderer]","color":"green","hoverEvent":{"action":"show_text","value":{"text":"Böse Dorfbewohner mit Armbrüsten"} } },{"text":" werden wieder kommen. Sie kamen von der rechten Strandseite, dort wo der Höhleneinang sich befindet her.","color":"yellow"}]
tag @p[distance=..3,tag=EtiAufS.p1Botschaft] remove EtiAufS.p1Botschaft

# Bernd erklärt dem Spieler was er als erstes zu tun hat.
tag @p[distance=..3,advancements={auftrag-system:vp1auftrag_3_schafe=false},scores={PZAufS.p1Reden=1..}] add EtiAufS.p1Reden
tellraw @p[distance=..5,tag=EtiAufS.p1Reden,scores={PZAufS.p1Nachr=1}] ["",{"text":"[1/2]","color":"gray"},{"text":" «","color":"gold","bold":true},{"entity":"@e[distance=..2,type=minecraft:armor_stand,tag=EtiAufS.p1Name,sort=nearest,limit=1]","nbt":"CustomName","interpret":true},{"text":"» ","color":"gold","bold":true},{"text":"Wie gut das jemand vorbei kommt! Kannst du mir helfen die Schafe nach oben, zu Ralf am Haus bringen? Die ","color":"yellow"},{"text":"[Schafe]","color":"green","hoverEvent":{"action":"show_text","value":{"text":"Fluffi, Flauschi und Pflüschi zu Ralf bringen"} } },{"text":" müssen mal geschoren werden.","color":"yellow"}]
tellraw @p[distance=..5,tag=EtiAufS.p1Reden,scores={PZAufS.p1Nachr=2}] ["",{"text":"[2/2]","color":"gray"},{"text":" «","color":"gold","bold":true},{"entity":"@e[distance=..2,type=minecraft:armor_stand,tag=EtiAufS.p1Name,sort=nearest,limit=1]","nbt":"CustomName","interpret":true},{"text":"» ","color":"gold","bold":true},{"text":"Da stehen wir nun und jetzt? Was wartest du, befördere die zwei Schafe nach oben, in dem du mit der Leine alle drei anleinst und mitziehst.","color":"yellow"}]
tag @p[distance=..3,tag=EtiAufS.p1Reden] remove EtiAufS.p1Reden

# Wenn der Spieler das erste mal auf Bernd trifft und ihn rechtsklickt, erhält er den Fortschritt für den dritten Auftrag.
tag @p[distance=..3,advancements={auftrag-system:vp1auftrag_3=false},scores={PZAufS.p1Reden=1..}] add EtiAufS.p1Auftrag
advancement grant @p[distance=..3,tag=EtiAufS.p1Auftrag] only auftrag-system:vp1auftrag_3
give @p[distance=..3,tag=EtiAufS.p1Auftrag] minecraft:lead{EigAufS.p1Alle:true,EigAufS.p1Leine:true,display:{Lore:['"Leine die Schafe damit"','"an um sie mitzunehmen"'] } } 3
execute if entity @p[distance=..3,tag=EtiAufS.p1Auftrag] run data merge entity @s[name="wahr"] {CustomName:'{"text":"undefiniert","color":"yellow","bold":true}'}
execute if entity @p[distance=..3,tag=EtiAufS.p1Auftrag] run data merge entity @e[type=minecraft:villager,tag=EtiAufS.p1Ralf,name="falsch",sort=nearest,limit=1] {CustomName:'{"text":"wahr","color":"green","bold":true}'}
tag @p[distance=..3,tag=EtiAufS.p1Auftrag] remove EtiAufS.p1Auftrag
JSON Icon auftrag-system:vp1auftrag_3.json
{
	"display":
	{
		"icon":
		{
			"item":"minecraft:white_wool"
		},
		"title":"3. Auftrag!",
		"frame":"task",
		"description":"Triff Bernd den Schäfer."
	},
	"parent":"auftrag-system:vp1auftrag",
	"criteria":
	{
		"Kriterium":
		{
			"trigger":"minecraft:impossible"
		}
	}
}
JSON Icon auftrag-system:vp1auftrag_3_lage.json
{
	"display":
	{
		"icon":
		{
			"item":"minecraft:carved_pumpkin"
		},
		"title":"Lagebesprechung",
		"frame":"task",
		"description":"Lauf zu Bernd und entscheide weiter."
	},
	"parent":"auftrag-system:vp1auftrag_3_schafe",
	"criteria":
	{
		"Kriterium":
		{
			"trigger":"minecraft:impossible"
		}
	}
}
JSON Icon auftrag-system:vp1auftrag_3_golem.json
{
	"display":
	{
		"icon":
		{
			"item":"minecraft:shield"
		},
		"title":"Starke Verteidigung!",
		"frame":"goal",
		"description":"Der Eisengolem marschiert!"
	},
	"parent":"auftrag-system:vp1auftrag_3_lage",
  "criteria": {
    "requirement": {
      "trigger": "minecraft:summoned_entity",
      "conditions": {
        "entity": {
          "type": "minecraft:iron_golem"
        }
      }
    }
  }
}
JSON Icon auftrag-system:vp1auftrag_3_angriff.json
{
	"display":
	{
		"icon":
		{
			"item":"minecraft:crossbow"
		},
		"title":"Angriff!",
		"frame":"goal",
		"description":"Die Plünderer kommen!"
	},
	"parent":"auftrag-system:vp1auftrag_3_golem",
	"criteria":
	{
		"Kriterium":
		{
			"trigger":"minecraft:impossible"
		}
	}
}
JSON Icon auftrag-system:vp1auftrag_3_sieg.json
{
	"display":
	{
		"icon":
		{
			"item":"minecraft:firework_rocket"
		},
		"title":"Sieg!",
		"frame":"challenge",
		"description":"Wir haben gesiegt!"
	},
	"parent":"auftrag-system:vp1auftrag_3_angriff",
	"criteria":
	{
		"Kriterium":
		{
			"trigger":"minecraft:impossible"
		}
	}
}


Variante 1: Auftrag-3-Ralf-Funktion
Die Auftrag-3-Ralf-Funktion wird geladen, wenn der Spieler mit den Schafen von Bernd zurück ist und diese nah genug bei ihm gezerrt hat. Der Spieler muss diese scheren und sich dann weiter auf den Weg zu Klaus dem Schmied machen.

Editor Icon auftrag-system:vp1auftrag_3_ralf.mcfunction
# Jedesmal wenn der Spieler mit Ralf redet, wird die Nachricht hochgezählt.
scoreboard players add @p[distance=..3,scores={PZAufS.p1Reden=1..}] PZAufS.p1Nachr 1
scoreboard players set @p[distance=..3,scores={PZAufS.p1Reden=1..,PZAufS.p1Nachr=3..}] PZAufS.p1Nachr 1

# Hat der Spieler die Schafe in der Nähe von Ralf gebracht, erhält er einen Fortschritt.
execute as @p[distance=..3,advancements={auftrag-system:vp1auftrag_3_schafe=false}] at @s if entity @e[distance=..8,type=minecraft:sheep,tag=EtiAufS.p1Schaf,sort=nearest,limit=1] run advancement grant @s only auftrag-system:vp1auftrag_3_schafe

# Hat der Spieler den Handel abgeschlossen, so hat er die Stoffkleidung im Inventar und erhält einen Fortschritt.
tag @p[distance=..3,advancements={auftrag-system:vp1auftrag_3_ralf_schere=true,auftrag-system:vp1auftrag_3_ralf_handel=false},nbt={Inventory:[{tag:{EigAufS.p1Stoff:true} } ] }] add EtiAufS.p1Erledigt
advancement grant @p[distance=..3,tag=EtiAufS.p1Erledigt] only auftrag-system:vp1auftrag_3_ralf_handel
tellraw @p[distance=..3,tag=EtiAufS.p1Erledigt] ["",{"text":"[1/1]","color":"gray"},{"text":" «","color":"gold","bold":true},{"entity":"@e[distance=..2,type=minecraft:armor_stand,tag=EtiAufS.p1Name,sort=nearest,limit=1]","nbt":"CustomName","interpret":true},{"text":"» ","color":"gold","bold":true},{"text":"Nun, lauf dann los zu Klaus, er wartet schon auf dich.","color":"gray"} ]
scoreboard players set @p[distance=..3,tag=EtiAufS.p1Erledigt] PZAufS.p1Nachr 0
execute if entity @p[distance=..3,tag=EtiAufS.p1Erledigt] run data merge entity @s[name=!"falsch"] {NoAI:false,CanPickUpLoot:false,CustomName:'{"text":"falsch","color":"red","bold":true}',Offers:{Recipes:[] } }
execute if entity @p[distance=..3,tag=EtiAufS.p1Erledigt] run data merge entity @e[type=minecraft:villager,tag=EtiAufS.p1Klaus,name="falsch",sort=nearest,limit=1] {NoAI:false,CustomName:'{"text":"wahr","color":"green","bold":true}',Offers:{Recipes:[] } }
tag @p[distance=..3,tag=EtiAufS.p1Erledigt] remove EtiAufS.p1Erledigt

# Hat der Spieler die Schafe geschoren, bietet Ralf einen Handel für eine Stoffkleidung an.
tag @p[distance=..3,advancements={auftrag-system:vp1auftrag_3_ralf_schere=true,auftrag-system:vp1auftrag_3_ralf_handel=false},scores={PZAufS.p1Reden=1..}] add EtiAufS.p1Inventar
tellraw @p[distance=..3,tag=EtiAufS.p1Inventar] ["",{"text":"[1/1]","color":"gray"},{"text":" «","color":"gold","bold":true},{"entity":"@e[distance=..2,type=minecraft:armor_stand,tag=EtiAufS.p1Name,sort=nearest,limit=1]","nbt":"CustomName","interpret":true},{"text":"» ","color":"gold","bold":true},{"text":"Ausgezeichnet, nun kann ich dir hierfür im Handelsmenü die Stoffkleidung geben. Pass gut auf sie auf, auf dem Weg zum Schmied.","color":"yellow"} ]
execute if entity @p[distance=..3,tag=EtiAufS.p1Inventar] run data merge entity @s {NoAI:true,Offers:{Recipes:[{buy:{id:"minecraft:white_wool",Count:3b},sell:{id:"minecraft:leather_chestplate",Count:1b,tag:{EigAufS.p1Alle:true,EigAufS.p1Stoff:true} },maxUses:1,uses:0} ] } }
tag @p[distance=..3,tag=EtiAufS.p1Inventar] remove EtiAufS.p1Inventar

# Wenn der Spieler die Schafe bei Ralf abgeliefert hat, erklärt er was der Spieler nun tun muss.
tag @p[distance=..3,advancements={auftrag-system:vp1auftrag_3_schafe=true,auftrag-system:vp1auftrag_3_ralf_schere=false},scores={PZAufS.p1Reden=1..}] add EtiAufS.p1Reden
tellraw @p[distance=..5,tag=EtiAufS.p1Reden,scores={PZAufS.p1Nachr=1}] ["",{"text":"[1/2]","color":"gray"},{"text":" «","color":"gold","bold":true},{"entity":"@e[distance=..2,type=minecraft:armor_stand,tag=EtiAufS.p1Name,sort=nearest,limit=1]","nbt":"CustomName","interpret":true},{"text":"» ","color":"gold","bold":true},{"text":"Wie ich sehe hast du die Schafe wohlbehütet und mit reichlich Wolle zu mir bringen können. Dann können sie jetzt geschoren werden.","color":"yellow"}]
tellraw @p[distance=..5,tag=EtiAufS.p1Reden,scores={PZAufS.p1Nachr=2}] ["",{"text":"[2/2]","color":"gray"},{"text":" «","color":"gold","bold":true},{"entity":"@e[distance=..2,type=minecraft:armor_stand,tag=EtiAufS.p1Name,sort=nearest,limit=1]","nbt":"CustomName","interpret":true},{"text":"» ","color":"gold","bold":true},{"text":"Damit die Schafe nicht wegrennen kannst du sie an einen der hiesigen Zäune festschnüren. Sobald du die Wolle hast, kann ich dir dafür Stoffkleidung geben. Die benötigt Klaus für die Rüstungsschmiede.","color":"yellow"}]
tag @p[distance=..3,tag=EtiAufS.p1Reden] remove EtiAufS.p1Reden

# Wenn der Spieler die schafe noch nicht bei Ralf abgeliefert hat, verlangt Ralf das noch vom Spieler.
tellraw @p[distance=..3,advancements={auftrag-system:vp1auftrag_3_schafe=false},scores={PZAufS.p1Reden=1..}] ["",{"text":"[1/1]","color":"gray"},{"text":" «","color":"gold","bold":true},{"entity":"@e[distance=..2,type=minecraft:armor_stand,tag=EtiAufS.p1Name,sort=nearest,limit=1]","nbt":"CustomName","interpret":true},{"text":"» ","color":"gold","bold":true},{"text":"Wo sind denn die Schafe? Wolltest du sie nicht vorbeibringen? Du kannst sie zu mir ziehen, in dem du sie mit der Leine hinter dir her zerrst.","color":"yellow"}]

# Wenn der Spieler von Bernd aus die Schafe zu Ralf gebracht hat, erhält er einen Fortschritt dafür.
tag @p[distance=..3,advancements={auftrag-system:vp1auftrag_3_schafe=true,auftrag-system:vp1auftrag_3_ralf=false},scores={PZAufS.p1Reden=1..}] add EtiAufS.p1Auftrag
advancement grant @p[distance=..3,tag=EtiAufS.p1Auftrag] only auftrag-system:vp1auftrag_3_ralf
give @p[distance=..3,tag=EtiAufS.p1Auftrag] minecraft:shears{EigAufS.p1Alle:true,EigAufS.p1Schere:true,display:{Lore:['"Damit lassen sich die"','"Schafe schoren"'] } }
execute if entity @p[distance=..3,tag=EtiAufS.p1Auftrag] run data merge entity @s[name="wahr"] {CustomName:'{"text":"undefiniert","color":"yellow","bold":true}'}
execute if entity @p[distance=..3,tag=EtiAufS.p1Auftrag] run data merge entity @e[type=minecraft:villager,tag=EtiAufS.p1Ralf,name="falsch",sort=nearest,limit=1] {CustomName:'{"text":"wahr","color":"green","bold":true}'}
tag @p[distance=..3,tag=EtiAufS.p1Auftrag] remove EtiAufS.p1Auftrag
JSON Icon auftrag-system:vp1auftrag_3_schafe.json
{
	"display":
	{
		"icon":
		{
			"item":"minecraft:lead"
		},
		"title":"An die Leinen!",
		"frame":"task",
		"description":"Nimm die Schafe mit der Leine mit zu Ralf."
	},
	"parent":"auftrag-system:vp1auftrag_3",
	"criteria":
	{
		"Kriterium":
		{
			"trigger":"minecraft:impossible"
		}
	}
}
JSON Icon auftrag-system:vp1auftrag_3_ralf.json
{
	"display":
	{
		"icon":
		{
			"item":"minecraft:shears"
		},
		"title":"Sprich mit Ralf!",
		"frame":"task",
		"description":"Erhalte von Ralf die Schere."
	},
	"parent":"auftrag-system:vp1auftrag_3_schafe",
	"criteria":
	{
		"Kriterium":
		{
			"trigger":"minecraft:impossible"
		}
	}
}
JSON Icon auftrag-system:vp1auftrag_3_ralf_schere.json
{
  "display":
	{
		"icon":
		{
			"item":"minecraft:shears"
		},
		"title":"Geschoren wird jeder!",
		"frame":"task",
		"description":"Zeig den Schafen was eine ordentliche Rasur ist."
	},
  "parent":"auftrag-system:vp1auftrag_3_ralf",
  "criteria": {
    "requirement": {
      "trigger": "minecraft:inventory_changed",
      "conditions": {
        "items": [
          {
            "item": "minecraft:white_wool"
          }
        ]
      }
    }
  }
}
JSON Icon auftrag-system:vp1auftrag_3_ralf_handel.json
{
	"display":
	{
		"icon":
		{
			"item":"minecraft:leather_chestplate"
		},
		"title":"Stoffrüstung!",
		"frame":"goal",
		"description":"Handle mit Ralf um Stoffkleidung zu erhalten."
	},
	"parent":"auftrag-system:vp1auftrag_3_ralf_schere",
	"criteria":
	{
		"Kriterium":
		{
			"trigger":"minecraft:impossible"
		}
	}
}


Variante 1: Auftrag-3-Klaus-Funktion
Die Auftrag-3-Klaus-Funktion wird geladen, wenn der Spieler von Ralf die Lederjacke bekommen hat. Klaus tauscht diese dann mit einem Eisenbrustpanzer und gibt einen Kürbis für den Eisengolem. Danach soll sich der Spieler zu Martin dem Bergmann auf machen.

Editor Icon auftrag-system:vp1auftrag_3_klaus.mcfunction
# Wenn der Spieler den Eisenbrustpanzer im Inventar liegen hat, ist der Handel abgeschlossen und der Spieler erhält einen Fortschritt.
tag @p[distance=..3,advancements={auftrag-system:vp1auftrag_3_klaus=true,auftrag-system:vp1auftrag_3_klaus_handel=false},nbt={Inventory:[{tag:{EigAufS.p1Eisenpanzer:true} } ] }] add EtiAufS.p1Erledigt
advancement grant @p[distance=..3,tag=EtiAufS.p1Erledigt] only auftrag-system:vp1auftrag_3_klaus_handel
tellraw @p[distance=..3,tag=EtiAufS.p1Erledigt] ["",{"text":"[1/1]","color":"gray"},{"text":" «","color":"gold","bold":true},{"entity":"@e[distance=..2,type=minecraft:armor_stand,tag=EtiAufS.p1Name,sort=nearest,limit=1]","nbt":"CustomName","interpret":true},{"text":"» ","color":"gold","bold":true},{"text":"Mach dich auf den Weg zu Martin dem Bergmann. Er hat die Eisenblöcke abgebaut, damit wir sie für den Eisengolem verwenden können.","color":"gray"} ]
scoreboard players set @p[distance=..3,tag=EtiAufS.p1Erledigt] PZAufS.p1Nachr 0
execute if entity @p[distance=..3,tag=EtiAufS.p1Erledigt] run data merge entity @s[name=!"falsch"] {NoAI:false,CanPickUpLoot:false,CustomName:'{"text":"falsch","color":"red","bold":true}',Offers:{Recipes:[] } }
execute if entity @p[distance=..3,tag=EtiAufS.p1Erledigt] run data merge entity @e[type=minecraft:villager,tag=EtiAufS.p1Martin,name="falsch",sort=nearest,limit=1] {NoAI:false,CustomName:'{"text":"wahr","color":"green","bold":true}',Offers:{Recipes:[] } }
tag @p[distance=..3,tag=EtiAufS.p1Erledigt] remove EtiAufS.p1Erledigt

# Klaus bietet dem Spieler den Handel an, damit dieser den Eisenbrustpanzer erhält.
tag @p[distance=..3,advancements={auftrag-system:vp1auftrag_3_klaus=true,auftrag-system:vp1auftrag_3_klaus_handel=false},scores={PZAufS.p1Reden=1..}] add EtiAufS.p1Inventar
tellraw @p[distance=..3,tag=EtiAufS.p1Inventar] ["",{"text":"[1/1]","color":"gray"},{"text":" «","color":"gold","bold":true},{"entity":"@e[distance=..2,type=minecraft:armor_stand,tag=EtiAufS.p1Name,sort=nearest,limit=1]","nbt":"CustomName","interpret":true},{"text":"» ","color":"gold","bold":true},{"text":"Dann lass uns keine Zeit verschwenden und den Handel durchführen.","color":"yellow"} ]
execute if entity @p[distance=..3,tag=EtiAufS.p1Inventar] run data merge entity @s {NoAI:true,Offers:{Recipes:[{buy:{id:"minecraft:leather_chestplate",Count:3b},sell:{id:"minecraft:iron_chestplate",Count:1b,tag:{EigAufS.p1Alle:true,EigAufS.p1Eisenpanzer:true} },maxUses:1,uses:0} ] } }
tag @p[distance=..3,tag=EtiAufS.p1Inventar] remove EtiAufS.p1Inventar

# Wenn der Spieler von Ralf die Stoffkleidung erhalten hat und das erste mal mit Klaus redet, erhält er den Fortschritt.
tag @p[distance=..3,advancements={auftrag-system:vp1auftrag_3_klaus=false},scores={PZAufS.p1Reden=1..}] add EtiAufS.p1Auftrag
advancement grant @p[distance=..3,tag=EtiAufS.p1Auftrag] only auftrag-system:vp1auftrag_3_klaus
give @p[distance=..3,tag=EtiAufS.p1Auftrag] minecraft:carved_pumpkin{EigAufS.p1Alle:true,CanPlaceOn:["minecraft:iron_block"],display:{Lore:['"Baue damit Eisengolems!"'] } } 1
tellraw @p[distance=..3,tag=EtiAufS.p1Auftrag] ["",{"text":"[1/1]","color":"gray"},{"text":" «","color":"gold","bold":true},{"entity":"@e[distance=..2,type=minecraft:armor_stand,tag=EtiAufS.p1Name,sort=nearest,limit=1]","nbt":"CustomName","interpret":true},{"text":"» ","color":"gold","bold":true},{"text":"Ah, du hast die Stoffkleidung dabei. Ich habe in der Zwischenzeit an einer Eisenprustplatte gearbeitet. Die erhälst du im Handelsmenü dafür. Ebenfalls sollten wir den mächtigen Eisengolem einsetzen, man kann ja nie wissen. Hierfür schonmal den Kürbis.","color":"yellow"} ]
tag @p[distance=..3,tag=EtiAufS.p1Auftrag] remove EtiAufS.p1Auftrag
JSON Icon auftrag-system:vp1auftrag_3_klaus.json
{
	"display":
	{
		"icon":
		{
			"item":"minecraft:leather_chestplate"
		},
		"title":"Stoffrüstung geht wandern!",
		"frame":"task",
		"description":"Nimm die Stoffkleidung mit zu Klaus."
	},
	"parent":"auftrag-system:vp1auftrag_3_schafe",
	"criteria":
	{
		"Kriterium":
		{
			"trigger":"minecraft:impossible"
		}
	}
}
JSON Icon auftrag-system:vp1auftrag_3_klaus_handel.json
{
	"display":
	{
		"icon":
		{
			"item":"minecraft:iron_chestplate"
		},
		"title":"Sprich mit Klaus!",
		"frame":"goal",
		"description":"Übergib ihm die Stoffkleidung."
	},
	"parent":"auftrag-system:vp1auftrag_3_klaus",
	"criteria":
	{
		"Kriterium":
		{
			"trigger":"minecraft:impossible"
		}
	}
}


Variante 1: Auftrag-3-Martin-Funktion
Die Auftrag-3-Martin-Funktion wird geladen, wenn der Spieler von Klaus den Kürbis erhalten hat. Er gibt dem Spieler noch vier Eisenblöcke, damit man damit den Eisengolem beschwören kann. Danach soll wieder zu Bernd dem Schäfer gehen.

Editor Icon auftrag-system:vp1auftrag_3_martin.mcfunction
# Anschließend teilt Martin dem Spieler mit, dass dieser nun zu Bernd laufen soll.
tag @p[distance=..3,advancements={auftrag-system:vp1auftrag_3_martin=true,auftrag-system:vp1auftrag_3_martin_bereit=false},scores={PZAufS.p1Reden=1..}] add EtiAufS.p1Bereit
tellraw @p[distance=..5,tag=EtiAufS.p1Bereit] ["",{"text":"[1/1]","color":"gray"},{"text":" «","color":"gold","bold":true},{"entity":"@e[distance=..2,type=minecraft:armor_stand,tag=EtiAufS.p1Name,sort=nearest,limit=1]","nbt":"CustomName","interpret":true},{"text":"» ","color":"gold","bold":true},{"text":"Dann bist du nun gut gewappnet, gegen die Plünderer vorzugehen, die unsere Nahrungsvoräte geklaut haben. Dann gehe noch zu Bernd dem Schäfer, der kann dir genau erklären wo sie herkamen.","color":"yellow"}]
advancement grant @p[distance=..3,tag=EtiAufS.p1Bereit] only auftrag-system:vp1auftrag_3_martin_bereit
execute if entity @p[distance=..3,tag=EtiAufS.p1Bereit] run data merge entity @s[name=!"falsch"] {NoAI:false,CanPickUpLoot:false,CustomName:'{"text":"falsch","color":"red","bold":true}',Offers:{Recipes:[] } }
execute if entity @p[distance=..3,tag=EtiAufS.p1Bereit] run data merge entity @e[type=minecraft:villager,tag=EtiAufS.p1Bernd,name=!"wahr",sort=nearest,limit=1] {NoAI:false,CustomName:'{"text":"wahr","color":"green","bold":true}',Offers:{Recipes:[] } }
tag @p[distance=..3,tag=EtiAufS.p1Bereit] remove EtiAufS.p1Bereit

# Wenn der Spieler von Klaus aus zu Martin gelaufen ist und das erste mal redet, erhält er den Fortschritt und die Eisenblöcke für den Golem.
tag @p[distance=..3,advancements={auftrag-system:vp1auftrag_3_martin=false},scores={PZAufS.p1Reden=1..}] add EtiAufS.p1Auftrag
advancement grant @p[distance=..3,tag=EtiAufS.p1Auftrag] only auftrag-system:vp1auftrag_3_martin
give @p[distance=..3,tag=EtiAufS.p1Auftrag] minecraft:iron_block{EigAufS.p1Alle:true,CanPlaceOn:["minecraft:stone","minecraft:grass_block","minecraft:podzol","minecraft:coarse_dirt","minecraft:dirt","minecraft:iron_block"],display:{Lore:['"Baue damit Eisengolems!"'] } } 4
tellraw @p[distance=..3,tag=EtiAufS.p1Auftrag] ["",{"text":"[1/1]","color":"gray"},{"text":" «","color":"gold","bold":true},{"entity":"@e[distance=..2,type=minecraft:armor_stand,tag=EtiAufS.p1Name,sort=nearest,limit=1]","nbt":"CustomName","interpret":true},{"text":"» ","color":"gold","bold":true},{"text":"Klaus hat mir schon bescheid gegeben, dass du den Eisengolem aufstellen wirst. Hier habe ich die entsprechenden Eisenblöcke für dich.","color":"yellow"} ]
tag @p[distance=..3,tag=EtiAufS.p1Auftrag] remove EtiAufS.p1Auftrag
JSON Icon auftrag-system:vp1auftrag_3_martin.json
{
	"display":
	{
		"icon":
		{
			"item":"minecraft:iron_ore"
		},
		"title":"Gehe zum Bergmann!",
		"frame":"task",
		"description":"Sprich mit Martin in der Mine."
	},
	"parent":"auftrag-system:vp1auftrag_3_schafe",
	"criteria":
	{
		"Kriterium":
		{
			"trigger":"minecraft:impossible"
		}
	}
}
JSON Icon auftrag-system:vp1auftrag_3_martin_bereit.json
{
	"display":
	{
		"icon":
		{
			"item":"minecraft:iron_block"
		},
		"title":"Rede mit Martin!",
		"frame":"goal",
		"description":"Mach dich bereit und besprich die letzten Vorbereitungen."
	},
	"parent":"auftrag-system:vp1auftrag_3_martin",
	"criteria":
	{
		"Kriterium":
		{
			"trigger":"minecraft:impossible"
		}
	}
}


Variante 1: Stopp-Funktion
Die Stopp-Funktion löscht alle Punkte-Ziele wieder, setzt den Spieler wieder in den Kreativ-Modus, entfernt möglichst alle Auftrags-Gegenstände aus dem Inventar und in der Welt, es werden alle Gebiete und das Portal entfernt und Drops die durch das Entfernen der Gebiete entstanden sind, werden in diesem Bereich ebenfalls entfernt.

Editor Icon auftrag-system:vp1stopp.mcfunction
# Die Punkte-Ziele werden wieder gelöscht.
scoreboard objectives remove PZAufS.p1Reden
scoreboard objectives remove PZAufS.p1Handel

scoreboard objectives remove PZAufS.p1Auftrag
scoreboard objectives remove PZAufS.p1Nachr
scoreboard objectives remove PZAufS.p1Ausl

# Die Spieler in einem Umkreis von 25 Metern werden wieder in den Kreativmodus gesetzt.
gamemode creative @a[distance=..25,gamemode=!creative]

# Alle Gegenstände im Verlauf der Handlung werden wieder gelöscht.
clear @a minecraft:shears{EigAufS.p1Alle:true}
clear @a minecraft:beetroot_seeds{EigAufS.p1Alle:true}
clear @a minecraft:wheat_seeds{EigAufS.p1Alle:true}
clear @a minecraft:iron_hoe{EigAufS.p1Alle:true}
clear @a minecraft:bone_meal{EigAufS.p1Alle:true}
clear @a minecraft:chest{EigAufS.p1Alle:true}
clear @a minecraft:bread{EigAufS.p1Alle:true}
clear @a minecraft:apple{EigAufS.p1Alle:true}
clear @a minecraft:leather_chestplate{EigAufS.p1Alle:true}
clear @a minecraft:iron_chestplate{EigAufS.p1Alle:true}
clear @a minecraft:carved_pumpkin{EigAufS.p1Alle:true}
clear @a minecraft:iron_block{EigAufS.p1Alle:true}

# An der Position des Rüstungsständers, wird die Teleporter-Konstruktion gelöscht.
execute at @e[type=minecraft:armor_stand,tag=EtiAufS.p1Portal] run fill ~-2 ~ ~-2 ~2 ~ ~2 minecraft:air replace

# Alle Objekte für das System werden entfernt.
tag @e[type=minecraft:item,nbt={Item:{tag:{EigAufS.p1Alle:true} } }]
kill @e[tag=EtiAufS.p1Alle]

# Die Auftragsgebiete werden wieder gelöscht.
fill ~ ~ ~-50 ~-32 ~29 ~-18 minecraft:air replace
fill ~1 ~ ~-50 ~33 ~29 ~-18 minecraft:air replace
fill ~1 ~ ~-51 ~33 ~29 ~-83 minecraft:air replace
fill ~ ~ ~-51 ~-32 ~29 ~-83 minecraft:air replace

fill ~ ~29 ~-50 ~-32 ~58 ~-18 minecraft:air replace
fill ~1 ~29 ~-50 ~33 ~58 ~-18 minecraft:air replace
fill ~1 ~29 ~-51 ~33 ~58 ~-83 minecraft:air replace
fill ~ ~29 ~-51 ~-32 ~58 ~-83 minecraft:air replace

#Alle Fortschritte im Verlauf der Handlung werden entfernt.
advancement revoke @a[advancements={auftrag-system:vp1auftrag=true}] from auftrag-system:vp1auftrag

# Drops, Leinenknoten und der Eisengolem werden entfernt.
execute positioned ~-32 ~ ~-83 run kill @e[type=minecraft:item,dx=64,dy=64,dz=64]
execute positioned ~-32 ~ ~-83 run kill @e[type=minecraft:leash_knot,dx=64,dy=64,dz=64]
execute positioned ~-32 ~ ~-83 run kill @e[type=minecraft:iron_golem,dx=64,dy=64,dz=64]

# Der dauerhaft geladene Chunk wird wieder deaktiviert.
forceload remove ~ ~
Advertisement