Zonen-Markierung (Befehle)

Aus Technik Wiki
Wechseln zu: Navigation, Suche
Gruppe: Grid Klebriger Kolben.png
Anlagen

Grid Roter Sand blass.png mit Mechaniken

Grid Redstone blass.png mit Redstone
                Hier:
Grid Befehlsblock.png mit Befehlen
Verfügbar in:
Wiki Redstone-Welt.png Redstone-Welt
Wiki Redstone-Welt.png
Alle neuen oder überarbeiteten Techniken auf dieser Seite sind noch nicht in der aktuellen Redstone-Welt vorhanden.
In einem der nächsten Updates werden sie dort hinzugefügt werden.

Die Zonen-Markierung ermöglicht das schnelle Erkennen vom Betreten und Verlassen von Zonen durch Benachrichtigung. Die Zonen selbst sind durch Partikel markiert. Die Zonen-Markierungen passen sich an andere angrenzende Zonen an, so werden Grenzen nicht angezeigt, wenn die Zone mit einer anderen überlappt. Ebenfalls lassen sich Zonen bestimmten Gruppen zuordnen, sodass bei Überlappung immer die Zone die zuerst da war gewinnt. Es sind Kugel- und Kubus-Zonen möglich zu platzieren.

Variante 1[Bearbeiten | Quelltext bearbeiten]

Zonen-Markierung (Befehle) Bild 1.1.png Zonen-Markierung (Befehle) Bild 1.2.png Zonen-Markierung (Befehle) Bild 1.3.png

Mit dieser Zonen-Markierung lassen sich Kugel-Zonen platzieren, die beim Betreten und Verlassen Chat-Nachrichten anzeigen. Zonen lassen sich über Rüstungsständer erstellen. Zonen-Grenzen passen sich an umgebende Zonen an, sodass die Grenzen nur angezeigt werden, wenn es keine Überlappungen gibt.

Einschalten
  • Befehl 1.1 Es wird ein Rüstungsständer mit einem Namen und einer Truhe im Kopfslot erzeugt, welcher eine Zone darstellt.
  • Befehl 1.2 Spielern im Umkreis von 15 Blöcken erhalten einen Rüstungsständer, den sie platzieren können um weitere Zonen zu erstellen.
Wiederholen
  • Befehl 1.3 Die Zonen-Rüstungsständer werden jeden Tick um fünf Grad gedreht.
  • Befehl 1.4 Die Partikel werden nur dann in fünf Blöcken Entfernung in Blickrichtung des Zonen-Rüstungsständers erzeugt, wenn sich im doppelten Abstand nicht eine andere Zone dort schon befindet.
  • Befehl 1.5 Von der Position der Zonen-Rüstungsständer wird geprüft ob sich Spieler in einem Umkreis von fünf Blöcken dort befinden, falls das der Fall ist, erhalten sie eine Benachrichtigung.
  • Befehl 1.6 Ebenfalls erhalten diese Spieler auch eine Titel-Nachricht über ihrer Schnellleiste.
  • Befehl 1.7 Damit die Spieler die Nachricht beim Betreten nur einmal erhalten, erhalten sie anschließend eine Etikett, welches dies markiert.
  • Befehl 1.8 Wenn Spieler die eine Zone besucht haben, sich dieser zu weit entfernen und auch keine andere Zone in der Nähe ist, wird ihnen die Benachrichtigung für das Verlassen der Zone angezeigt.
  • Befehl 1.9 Auch hier erhalten sie anschließend noch eine Titel-Nachricht über der Schnellleiste.
  • Befehl 1.10 Damit auch die Benachrichtigung für das Verlassen der Zone nur einmal angezeigt wird, wird das Etikett wieder entfernt.
Ausschalten
  • Befehl 1.11 Das eventuell vorhandene Etikett wird entfernt.
  • Befehl 1.12 Der Rüstungsständer wird aus dem Inventar entfernt.
  • Befehl 1.13 Falls man den Rüstungsständer auf den Boden geworfen hat, wird dieser Drop mit einem Etikett markiert.
  • Befehl 1.14 Alle Objekte mit dem Etikett, werden entfernt.

Befehlsblöcke mit Befehlen:
summon minecraft:armor_stand ~-10 ~ ~ {Small:true,Marker:true,Invisible:true,CustomNameVisible:true,CustomName:'{"text":"Truhen-Zone","color":"red","bold":true}',Tags:["EtiZonMa.1Alle","EtiZonMa.1Zone"],ArmorItems:[{},{},{},{id:"minecraft:chest",Count:1b} ] }
give @a[distance=..15] minecraft:armor_stand{EigZonMa.1Alle:true,display:{Name:'{"text":"Truhen-Zone","color":"red","bold":true}',Lore:['"Platziere den Rüstungsständer"','"um eine Kugel-Zone zu erstellen"']},EntityTag:{Small:true,Marker:true,Invisible:true,CustomNameVisible:true,CustomName:'{"text":"Truhen-Zone","color":"red","bold":true}',Tags:["EtiZonMa.1Alle","EtiZonMa.1Zone"],ArmorItems:[{},{},{},{id:"minecraft:chest",Count:1b} ] } }


execute as @e[type=minecraft:armor_stand,tag=EtiZonMa.1Zone] at @s run teleport @s ~ ~ ~ ~5 0
execute at @e[type=minecraft:armor_stand,tag=EtiZonMa.1Zone] positioned ^ ^ ^6 unless entity @e[distance=..5,type=minecraft:armor_stand,tag=EtiZonMa.1Zone] run particle minecraft:totem_of_undying ^ ^ ^-1 0 0 0 0.1 5 force @a[distance=..25]
execute as @e[type=minecraft:armor_stand,tag=EtiZonMa.1Zone] at @s run tellraw @a[distance=..5,tag=!EtiZonMa.1Nachricht] ["Zonen-Markierung.1:\n",{"text":"Sie betreten [","color":"gray","bold":true},{"entity":"@s","nbt":"CustomName","interpret":true},{"text":"]","color":"gray","bold":true}]
execute as @e[type=minecraft:armor_stand,tag=EtiZonMa.1Zone] at @s run title @a[distance=..5,tag=!EtiZonMa.1Nachricht] actionbar ["",{"text":"Sie betreten [","color":"gray","bold":true},{"entity":"@s","nbt":"CustomName","interpret":true},{"text":"]","color":"gray","bold":true}]
execute at @e[type=minecraft:armor_stand,tag=EtiZonMa.1Zone] run tag @a[distance=..5,tag=!EtiZonMa.1Nachricht] add EtiZonMa.1Nachricht
execute as @a[tag=EtiZonMa.1Nachricht] at @s unless entity @e[distance=..5,type=minecraft:armor_stand,tag=EtiZonMa.1Zone,sort=nearest,limit=1] run tellraw @s ["Zonen-Markierung.1:\n",{"text":"Sie verlassen die Zone","color":"gray","bold":true}]
execute as @a[tag=EtiZonMa.1Nachricht] at @s unless entity @e[distance=..5,type=minecraft:armor_stand,tag=EtiZonMa.1Zone,sort=nearest,limit=1] run title @s actionbar ["",{"text":"Sie verlassen die Zone","color":"gray","bold":true}]
execute as @a[tag=EtiZonMa.1Nachricht] at @s unless entity @e[distance=..5,type=minecraft:armor_stand,tag=EtiZonMa.1Zone,sort=nearest,limit=1] run tag @s remove EtiZonMa.1Nachricht


tag @a[tag=EtiZonMa.1Nachricht] remove EtiZonMa.1Nachricht
clear @a minecraft:armor_stand{EigZonMa.1Alle:true}
tag @e[type=minecraft:item,nbt={Item:{tag:{EigZonMa.1Alle:true} } }] add EtiZonMa.1Alle
kill @e[tag=EtiZonMa.1Alle]

Variante 2[Bearbeiten | Quelltext bearbeiten]

Zonen-Markierung (Befehle) Bild 2.1.png Zonen-Markierung (Befehle) Bild 2.2.png Zonen-Markierung (Befehle) Bild 2.3.png

Mit dieser Zonen-Markierung lassen sich Kubus-Zonen mit Hilfe von Rüstungsständern platzieren. Es wird eine Benachrichtigung angezeigt, wenn man die Zonen betritt oder verlässt. Wenn Zonen überlappen werden an diesen stellen keine Grenzen der Zonen angezeigt.

Einschalten
  • Befehl 2.1 Es wird ein Rüstungsständer erzeugt, der einen sichtbaren Namen besitzt und einen Ofen im Kopfslot besitzt um die Zone kenntlich zu machen.
  • Befehl 2.2 Spielern im Umkreis von 15 Blöcken wird ein Rüstungsständer gegeben, mit dem man Kubus-Zonen selbst platzieren kann.
Wiederholen
  • Befehl 2.3 Zonen-Rüstungsständer werden jeden Tick um 30° gedreht, sodass sie die Partikel an mehreren Stellen ein- und ausgeschaltet werden können.
  • Befehl 2.4 An der Position der Zonen-Rüstungsständer, in ihrer Blickrichtung, werden Partikel nur an den Ecken der Zone angezeigt, wenn sich keine andere Zone in der Nähe befindet. Und das für Pole und Äquator-Richtung[B2.6].
  • Befehl 2.5 An der Position der Zonen-Rüstungsständer, von ihrer Blickrichtung aus, werden Partikel nur in den Himmelsrichtungen angezeigt, wenn sich keine andere Zone dort befindet. Ebenfalls für Pole und Äquator[B2.7].
  • Befehl 2.8 An der Position der Zonen-Rüstungsständer wird geprüft, ob sich Spieler innerhalb des Kubus-Bereich aufhalten. Diese Spieler erhalten eine Benachrichtigung für das Betreten der Zone.
  • Befehl 2.9 Ebenfalls erhalten diese Spieler eine Titel-Nachricht über der Schnellleiste.
  • Befehl 2.10 Damit die Spieler die Nachrichten für das Betreten nur einmal erhalten, wird ihnen ein Etikett gegeben.
  • Befehl 2.11 Wenn Spieler, die die Zone betreten haben um sich herum keine Zone haben, erhalten sie eine Nachricht für das Verlassen der Zone.
  • Befehl 2.12 Auch dann erhalten sie auch eine Titel-Nachricht über der Schnellleiste, für das Verlassen der Zone.
  • Befehl 2.13 Damit die Benachrichtigungen beim Verlassen nur einmal erscheinen, wird das Etikett wieder entfernt.
Ausschalten
  • Befehl 2.14 Das Etikett, das eventuell noch vorhanden ist, wird entfernt.
  • Befehl 2.15 Der Rüstungsständer wird aus dem Inventar entfernt.
  • Befehl 2.16 Falls der Rüstungsständer auf den Boden geworfen wurde, erhält er ein Etikett.
  • Befehl 2.17 Alle Objekte mit dem Etikett, werden entfernt.

Befehlsblöcke mit Befehlen:
summon minecraft:armor_stand ~-10 ~ ~ {Small:true,Marker:true,Invisible:true,CustomNameVisible:true,CustomName:'{"text":"Ofen-Zone","color":"green","bold":true}',Tags:["EtiZonMa.2Alle","EtiZonMa.2Zone"],ArmorItems:[{},{},{},{id:"minecraft:furnace",Count:1b} ],Rotation:[0.0f,0.0f] }
give @a[distance=..15] minecraft:armor_stand{EigZonMa.2Alle:true,display:{Name:'{"text":"Ofen-Zone","color":"green","bold":true}',Lore:['"Platziere den Rüstungsständer"','"um eine Quader-Zone zu erstellen"']},EntityTag:{Small:true,Marker:true,Invisible:true,CustomNameVisible:true,CustomName:'{"text":"Ofen-Zone","color":"green","bold":true}',Tags:["EtiZonMa.2Alle","EtiZonMa.2Zone"],ArmorItems:[{},{},{},{id:"minecraft:furnace",Count:1b}],Rotation:[0.0f,0.0f] } }


execute as @e[type=minecraft:armor_stand,tag=EtiZonMa.2Zone] at @s run teleport @s ~ ~ ~ ~30 0
execute as @e[type=minecraft:armor_stand,tag=EtiZonMa.2Zone,y_rotation=-105..105] unless entity @s[y_rotation=-75..75] at @s positioned ^ ^ ^6 unless entity @e[distance=..5.5,type=minecraft:armor_stand,tag=EtiZonMa.2Zone] run particle minecraft:totem_of_undying ^ ^0.5 ^-0.5 0 0 1 0.1 10 force @a[distance=..25]
execute as @e[type=minecraft:armor_stand,tag=EtiZonMa.2Zone,y_rotation=-135..135] unless entity @s[y_rotation=-45..45] unless entity @s[y_rotation=75..105] unless entity @s[y_rotation=-105..-75] at @s positioned ^ ^ ^7 unless entity @e[distance=..6.5,type=minecraft:armor_stand,tag=EtiZonMa.2Zone] run particle minecraft:totem_of_undying ^ ^0.5 ^-0.5 0 0 1 0.1 10 force @a[distance=..25]
execute as @e[type=minecraft:armor_stand,tag=EtiZonMa.2Zone,y_rotation=165..15] unless entity @s[y_rotation=-165..-15] at @s positioned ^ ^ ^6 unless entity @e[distance=..5.5,type=minecraft:armor_stand,tag=EtiZonMa.2Zone] run particle minecraft:totem_of_undying ^ ^0.5 ^-0.5 1 0 0 0.1 10 force @a[distance=..25]
execute as @e[type=minecraft:armor_stand,tag=EtiZonMa.2Zone,y_rotation=135..45] unless entity @s[y_rotation=-135..-45] unless entity @s[y_rotation=165..-165] unless entity @s[y_rotation=-15..15] at @s positioned ^ ^ ^7 unless entity @e[distance=..6.5,type=minecraft:armor_stand,tag=EtiZonMa.2Zone] run particle minecraft:totem_of_undying ^ ^0.5 ^-0.5 1 0 0 0.1 10 force @a[distance=..25]
execute as @e[type=minecraft:armor_stand,tag=EtiZonMa.2Zone] at @s positioned ~-5 ~ ~-5 run tellraw @a[dx=10,dy=5,dz=10,tag=!EtiZonMa.2Nachricht] ["Zonen-Markierung.2:\n",{"text":"Sie betreten [","color":"gray","bold":true},{"entity":"@s","nbt":"CustomName","interpret":true},{"text":"]","color":"gray","bold":true}]
execute as @e[type=minecraft:armor_stand,tag=EtiZonMa.2Zone] at @s positioned ~-5 ~ ~-5 run title @a[dx=10,dy=5,dz=10,tag=!EtiZonMa.2Nachricht] actionbar ["",{"text":"Sie betreten [","color":"gray","bold":true},{"entity":"@s","nbt":"CustomName","interpret":true},{"text":"]","color":"gray","bold":true}]
execute at @e[type=minecraft:armor_stand,tag=EtiZonMa.2Zone] positioned ~-5 ~ ~-5 run tag @a[dx=10,dy=5,dz=10,tag=!EtiZonMa.2Nachricht] add EtiZonMa.2Nachricht
execute as @a[tag=EtiZonMa.2Nachricht] at @s positioned ~-7 ~-7 ~-7 unless entity @e[dx=12,dy=10,dz=12,type=minecraft:armor_stand,tag=EtiZonMa.2Zone] run tellraw @s ["Zonen-Markierung.2:\n",{"text":"Sie verlassen die Zone","color":"gray","bold":true}]
execute as @a[tag=EtiZonMa.2Nachricht] at @s positioned ~-7 ~-7 ~-7 unless entity @e[dx=12,dy=10,dz=12,type=minecraft:armor_stand,tag=EtiZonMa.2Zone] run title @s actionbar ["",{"text":"Sie verlassen die Zone","color":"gray","bold":true}]
execute as @a[tag=EtiZonMa.2Nachricht] at @s positioned ~-7 ~-7 ~-7 unless entity @e[dx=12,dy=10,dz=12,type=minecraft:armor_stand,tag=EtiZonMa.2Zone] run tag @s remove EtiZonMa.2Nachricht


tag @a[tag=EtiZonMa.2Nachricht] remove EtiZonMa.2Nachricht
clear @a minecraft:armor_stand{EigZonMa.2Alle:true}
tag @e[type=minecraft:item,nbt={Item:{tag:{EigZonMa.2Alle:true} } }] add EtiZonMa.2Alle
kill @e[tag=EtiZonMa.2Alle]

Variante 3[Bearbeiten | Quelltext bearbeiten]

Zonen-Markierung (Befehle) Bild 3.1.png Zonen-Markierung (Befehle) Bild 3.2.png Zonen-Markierung (Befehle) Bild 3.3.png

Mit dieser Zonen-Markierung sind Kugel- und Kubus-Zonen möglich. Man kann die durch einen Rüstungsständer platzierten Zonen, mit gedroppten Blöcken gruppieren. So gehören alle Zonen eines Blockes einer Gruppe an. Überlappen die Zonen, so gewinnt immer die Zone die zuerst da war, während die andere Zone nur die Grenzen bis zur Überlappung anzeigt. Spieler die sich in einem Teil der Überlappung befinden, gehören der Zone an, die als erstes dort war.

Einschalten
  • Befehl 3.1 Auf dem Wiederhol-Befehlsblock befindet sich ein Hebel. Legt man ihn um, wird zuerst der Befehlsblock mit der Start-Funktion zonen-markierung:v3start aktiviert.
Wiederholen
Ausschalten

Befehlsblöcke mit Befehlen:



Variante 3: Start-Funktion
Die Start-Funktion erstellt die Punkte-Ziele und gibt den Spielern den Rüstungsständer für die Kugel- und Kubus-Zonen. Auch erhalten die Spieler drei verschiedene Blöcke, die zur Gruppierung verwenden können. Es wird auch ein Schild aufgestellt, an dem die Zonen-Namen erstellt werden.

Editor Icon.png zonen-markierung:v3start.mcfunction
# Zwei Punkte-Ziele werden erstellt. Das erste speichert die Nummer und das zweite die Rangfolge und ob Spieler das Spiel verlassen.
scoreboard objectives add PZZonMa.3ZonenNr dummy ["Zonen-Markierung.3: ",{"text":"Zonen-Nummer","bold":true}]
scoreboard objectives add PZZonMa.3Rang minecraft.custom:minecraft.leave_game ["Zonen-Markierung.3: ",{"text":"Rang und Spiel verlassen","bold":true}]

# Spielern im Umkreis von 15 Blöcken erhalten zwei Rüstungsständer, wobei der erste für Kugel-Zonen und der zweite für Kubus-Zonen verwendet wird.
give @a[distance=..15] minecraft:armor_stand{EigZonMa.3Alle:true,display:{Name:'{"text":"Kugel-Zone","color":"red","bold":true}',Lore:['"Platziere den Rüstungsständer"','"um eine Kugel-Zone zu erstellen"']},EntityTag:{Small:true,Marker:true,Invisible:true,CustomNameVisible:true,CustomName:'{"text":"-Zone","color":"red","bold":true}',Tags:["EtiZonMa.3Alle","EtiZonMa.3Zone","EtiZonMa.3Kugel","EtiZonMa.3Rangfolge"] } } 16
give @a[distance=..15] minecraft:armor_stand{EigZonMa.3Alle:true,display:{Name:'{"text":"Kubus-Zone","color":"red","bold":true}',Lore:['"Platziere den Rüstungsständer"','"um eine Kubus-Zone zu erstellen"']},EntityTag:{Small:true,Marker:true,Invisible:true,CustomNameVisible:true,CustomName:'{"text":"-Zone","color":"red","bold":true}',Tags:["EtiZonMa.3Alle","EtiZonMa.3Zone","EtiZonMa.3Kubus","EtiZonMa.3Rangfolge"],Rotation:[0.0f,0.0f]} } 16

# Den Spielern werden drei Blöcke ins Inventar gelegt, welche zum Markieren der Zone benutzt werden können.
give @a[distance=..15] minecraft:crafting_table{EigZonMa.3Alle:true,display:{Lore:['"Droppe den Block"','"um die Zone festzulegen"'] } } 16
give @a[distance=..15] minecraft:chest{EigZonMa.3Alle:true,display:{Lore:['"Droppe den Block"','"um die Zone festzulegen"'] } } 16
give @a[distance=..15] minecraft:furnace{EigZonMa.3Alle:true,display:{Lore:['"Droppe den Block"','"um die Zone festzulegen"'] } } 16

# Es wird eine Partikelwolke erzeugt, an deren Position ein Schild aufgestellt wird. Das wird benötigt um den Zonen-Namen direkt übergeben zu können.
summon minecraft:area_effect_cloud ~ ~1 ~ {Duration:-1,Age:-2147483648,WaitTime:-2147483648,Particle:"minecraft:block minecraft:air",Tags:["EtiZonMa.3Alle","EtiZonMa.3Schild"],CustomName:'{"text":"Unbekannt","color":"red","bold":true}'}
execute at @e[tag=EtiZonMa.3Schild] run setblock ~ ~ ~ minecraft:oak_sign[rotation=12] replace

Variante 3: Zyklus-Funktion
Die Zyklus-Funktion vergibt die Rangfolge der Zonen, sie lässt die Markierungs-Funktion aufrufen, sie sorgt dafür das die Benachrichtigungen erscheinen, wenn man die Zonen betritt oder verlässt. Ebenfalls wird durch sie die Drop-Funktion geladen die beim Droppen der Blöcke die Namen der Zonen festlegt.

Editor Icon.png zonen-markierung:v3zyklus.mcfunction
# Wenn eine Zone in form eines Rüstungsständers gerade platziert wurde, wird diesem der nächste Wert zugewiesen und danach das Etikett entfernt.
execute as @e[type=minecraft:armor_stand,tag=EtiZonMa.3Rangfolge] store result score @s PZZonMa.3Rang run scoreboard players add VarZonMa.3Rangfolge PZZonMa.3Rang 1
tag @e[type=minecraft:armor_stand,tag=EtiZonMa.3Rangfolge] remove EtiZonMa.3Rangfolge

# Alle Rüstungsständer die als Zone fungieren, rufen die Markierungs-Funktion an ihrer Position auf.
execute as @e[type=minecraft:armor_stand,tag=EtiZonMa.3Zone] at @s run function zonen-markierung:v3markierung

# Spieler die das Spiel verlassen haben, bekommen das Etikett entfernt, damit sie beim Beitreten innerhalb einer Zone erneut die Nachricht erhalten.
tag @a[tag=EtiZonMa.3Nachricht,scores={PZZonMa.3Rang=1..}] remove EtiZonMa.3Nachricht

# Alle Spieler erhalten zuerst die größte Ganzzahl und anschließend bekommt der Spieler den niedrigsten Wert von zwei oder mehr überlappenden Zonen.
scoreboard players set @a PZZonMa.3Rang 2147483647
execute as @e[type=minecraft:armor_stand,tag=EtiZonMa.3Kugel] at @s run scoreboard players operation @a[distance=..5] PZZonMa.3Rang < @s PZZonMa.3Rang
execute as @e[type=minecraft:armor_stand,tag=EtiZonMa.3Kubus] at @s positioned ~-5 ~ ~-5 run scoreboard players operation @a[dx=10,dy=5,dz=10] PZZonMa.3Rang < @s PZZonMa.3Rang

# Wenn der Spieler innerhalb einer Zone sich befindet, die mit einer anderen Zone überlappt, wird geprüft welche der beiden Zonen zuerst platziert wurde und falls der Spieler nicht die gleiche Nummer besitzt, wird ihm das Etikett für die Nachricht entfernt.
execute as @e[type=minecraft:armor_stand,tag=EtiZonMa.3Zone] at @s at @a[distance=..15,tag=EtiZonMa.3Nachricht] if score @s PZZonMa.3Rang = @p PZZonMa.3Rang unless score @p PZZonMa.3ZonenNr = @s PZZonMa.3ZonenNr run tag @p remove EtiZonMa.3Nachricht
execute as @e[type=minecraft:armor_stand,tag=EtiZonMa.3Zone] at @s at @a[distance=..15] if score @s PZZonMa.3Rang = @p PZZonMa.3Rang run scoreboard players operation @p PZZonMa.3ZonenNr = @s PZZonMa.3ZonenNr

# Von der Position der Zone aus, wird geprüft ob die Spieler noch nicht die Nachricht erhalten haben und einen Wert der kleiner als die größte Ganzzahl besitzen. Und nur wenn die Spieler den gleichen Wert wie die Zone besitzen, erhalten sie von dieser Zone eine Nachricht für das Betreten.
execute as @e[type=minecraft:armor_stand,tag=EtiZonMa.3Zone] at @s at @a[distance=..15,tag=!EtiZonMa.3Nachricht,scores={PZZonMa.3Rang=..2147483646}] if score @s PZZonMa.3Rang = @p PZZonMa.3Rang run tellraw @p ["Zonen-Markierung.3:\n",{"text":"Sie betreten [","color":"gray","bold":true},{"entity":"@s","nbt":"CustomName","interpret":true},{"text":"]","color":"gray","bold":true}]
execute as @e[type=minecraft:armor_stand,tag=EtiZonMa.3Zone] at @s at @a[distance=..15,tag=!EtiZonMa.3Nachricht,scores={PZZonMa.3Rang=..2147483646}] if score @s PZZonMa.3Rang = @p PZZonMa.3Rang run title @p actionbar ["",{"text":"Sie betreten [","color":"gray","bold":true},{"entity":"@s","nbt":"CustomName","interpret":true},{"text":"]","color":"gray","bold":true}]

# Alle Spieler die eine Zone betreten haben (Wert kleiner als größte Ganzzahl) und das Etikett für die Nachricht nicht besitzen, erhalten das Etikett.
tag @a[tag=!EtiZonMa.3Nachricht,scores={PZZonMa.3Rang=..2147483646}] add EtiZonMa.3Nachricht

# Spieler die das Etikett für die Nachricht besitzen und auf keiner Zone mehr sind, erhalten die Nachricht. Anschließend wird das Etikett entfernt.
tellraw @a[tag=EtiZonMa.3Nachricht,scores={PZZonMa.3Rang=2147483647}] ["Zonen-Markierung.3:\n",{"text":"Sie verlassen die Zone","color":"gray","bold":true}]
title @a[tag=EtiZonMa.3Nachricht,scores={PZZonMa.3Rang=2147483647}] actionbar ["",{"text":"Sie verlassen die Zone","color":"gray","bold":true}]
tag @a[tag=EtiZonMa.3Nachricht,scores={PZZonMa.3Rang=2147483647}] remove EtiZonMa.3Nachricht

# Damit beim erneuten Durchlauf das Verlassen des Spiels erkannt werden kann, wird der Wert wieder auf null gesetzt.
scoreboard players set @a[scores={PZZonMa.3Rang=1..}] PZZonMa.3Rang 0

# An der Position der Spieler wird geprüft ob sich in der Nähe Zonen befinden. Wenn das zutrifft, wird von in der Nähe liegenden Drops die Drop-Funktion aufgerufen.
execute at @a as @e[distance=..5,type=minecraft:armor_stand,tag=EtiZonMa.3Zone,tag=!EtiZonMa.3Symbol] at @s if entity @e[distance=..3,type=minecraft:item,sort=nearest,limit=1] run function zonen-markierung:v3drop


Variante 3: Markierungs-Funktion
Die Markierungs-Funktion ermöglicht für Kugel- und Kubus-Zonen, dass diese ihre jeweilige Markierung erhalten und dafür, dass Zonen bei Überlappungen nicht die Grenzen anzeigen. Hierbei spielt auch die Gruppierung und die Rangfolge eine Rolle, ob die Partikel erscheinen oder nicht.

Editor Icon.png zonen-markierung:v3markierung.mcfunction
# Je nach Zonen-Typ wird der Rüstungsständer entsprechend gedreht.
teleport @s[tag=EtiZonMa.3Kugel] ~ ~ ~ ~5 0
teleport @s[tag=EtiZonMa.3Kubus] ~ ~ ~ ~30 0

# Wenn sich in der Nähe der Zone eine andere Zone befindet, sollen keine Partikel erscheinen. Wenn die angrenzende Zone jedoch jünger als die eigene ist und eine andere Nummer besitzt sollen Partikel erscheinen.
execute at @s positioned ^ ^ ^6 if entity @e[distance=..5.5,type=minecraft:armor_stand,tag=EtiZonMa.3Zone] run tag @s add EtiZonMa.3KeinePartikel
execute at @s[tag=EtiZonMa.3Kubus,tag=!EtiZonMa.3KeinePartikel] positioned ^ ^ ^7 if entity @e[distance=..6.5,type=minecraft:armor_stand,tag=EtiZonMa.3Zone] run tag @s add EtiZonMa.3KeinePartikel
execute at @s[tag=EtiZonMa.3KeinePartikel] positioned ^ ^ ^7 unless score @s PZZonMa.3ZonenNr = @e[distance=..6.5,type=minecraft:armor_stand,tag=EtiZonMa.3Zone,sort=nearest,limit=1] PZZonMa.3ZonenNr if score @s PZZonMa.3Rang < @e[distance=..6.5,type=minecraft:armor_stand,tag=EtiZonMa.3Zone,sort=nearest,limit=1] PZZonMa.3Rang run tag @s remove EtiZonMa.3KeinePartikel

# Es erscheinen Partikel, wenn das Etikett nicht vorhanden ist.
execute at @s[tag=EtiZonMa.3Kugel,tag=!EtiZonMa.3KeinePartikel] run particle minecraft:totem_of_undying ^ ^ ^5.5 0 0 0 0.1 5 force @a[distance=..25]

execute at @s[tag=EtiZonMa.3Kubus,tag=!EtiZonMa.3KeinePartikel,y_rotation=-105..105] unless entity @s[y_rotation=-75..75] run particle minecraft:totem_of_undying ^ ^0.5 ^5.5 0 0 1 0.1 10 force @a[distance=..25]
execute at @s[tag=EtiZonMa.3Kubus,tag=!EtiZonMa.3KeinePartikel,y_rotation=-135..135] unless entity @s[y_rotation=-45..45] unless entity @s[y_rotation=75..105] unless entity @s[y_rotation=-105..-75] run particle minecraft:totem_of_undying ^ ^0.5 ^6.5 0 0 1 0.1 10 force @a[distance=..25]

execute at @s[tag=EtiZonMa.3Kubus,tag=!EtiZonMa.3KeinePartikel,y_rotation=165..15] unless entity @s[y_rotation=-165..-15] run particle minecraft:totem_of_undying ^ ^0.5 ^5.5 1 0 0 0.1 10 force @a[distance=..25]
execute at @s[tag=EtiZonMa.3Kubus,tag=!EtiZonMa.3KeinePartikel,y_rotation=135..45] unless entity @s[y_rotation=-135..-45] unless entity @s[y_rotation=165..-165] unless entity @s[y_rotation=-15..15] run particle minecraft:totem_of_undying ^ ^0.5 ^6.5 1 0 0 0.1 10 force @a[distance=..25]

# Das Etikett für keine Partikel wird wieder entfernt.
tag @s[tag=EtiZonMa.3KeinePartikel] remove EtiZonMa.3KeinePartikel


Variante 3: Drop-Funktion
Die Drop-Funktion überträgt den Drop in den Kopf-Slot des Zonen-Rüstungsständer und verbindet den unfertigen Zonen-Namen mit dem Drop-Namen, sodass die Zone ihren endgültigen Namen erhält.

Editor Icon.png zonen-markierung:v3drop.mcfunction
# Dem Drop wird zur besseren Markierung ein Etikett gegeben.
tag @e[distance=..3,type=minecraft:item,sort=nearest,limit=1] add EtiZonMa.3Drop

# Die Drop-Daten werden in den vierten Slot des Rüstungsständers kopiert. Danach erhält er ein Etikett.
data modify entity @s ArmorItems[3] set from entity @e[tag=EtiZonMa.3Drop,sort=nearest,limit=1] Item
execute store result score @s PZZonMa.3ZonenNr run data get entity @e[tag=EtiZonMa.3Drop,sort=nearest,limit=1] Item.id
tag @s add EtiZonMa.3Symbol

# Für das bessere Erkennen wird dem Rüstungsständer ein Etikett gegeben.
tag @s add EtiZonMa.3Name

# Von der Position der Partikelwolke bei der ein Schild steht, werden die Daten des Drops und des Rüstungsständers zusammengefügt und als Text gespeichert.
execute at @e[tag=EtiZonMa.3Schild,sort=nearest,limit=1] run data merge block ~ ~ ~ {Text1:'[{"selector":"@e[tag=EtiZonMa.3Drop,sort=nearest,limit=1]","color":"gold","bold":true},{"entity":"@e[tag=EtiZonMa.3Name,sort=nearest,limit=1]","nbt":"CustomName","interpret":true}]'}

# Der zusammengesetzte Namen im Schild, wird in den Namen des Rüstungsständers gespeichert.
execute at @e[tag=EtiZonMa.3Schild,sort=nearest,limit=1] run data modify entity @s CustomName set from block ~ ~ ~ Text1

# Der Drop wird gelöscht.
kill @e[tag=EtiZonMa.3Drop,sort=nearest,limit=1]

# Das Etikett wird wieder entfernt.
tag @s remove EtiZonMa.3Name


Variante 3: Stopp-Funktion
Die Stopp-Funktion löscht die Punkte-Ziele wieder und löscht die verschiedenen Blöcke und den Rüstungsständer aus dem Inventar und als Drop in der Welt, ebenfalls werden die Zonen-Rüstungsständer gelöscht.

Editor Icon.png zonen-markierung:v3stopp.mcfunction
# Die beiden Punkte-Ziele werden entfernt.
scoreboard objectives remove PZZonMa.3ZonenNr
scoreboard objectives remove PZZonMa.3Rang

# Das Etikett, das eventuell noch vorhanden sien kann, wird entfernt.
tag @a[tag=EtiZonMa.3Nachricht] remove EtiZonMa.3Nachricht

# Die Gegenstände mit der speziellen Eigenschaft werden gelöscht.
clear @a minecraft:armor_stand{EigZonMa.3Alle:true}
clear @a minecraft:crafting_table{EigZonMa.3Alle:true}
clear @a minecraft:chest{EigZonMa.3Alle:true}
clear @a minecraft:furnace{EigZonMa.3Alle:true}

# Das Schild an der Position der Partikelwolke wird entfernt.
execute at @e[tag=EtiZonMa.3Schild] run setblock ~ ~ ~ minecraft:air replace

# Alle Gegenstände die evnetuell vom Spieler auf den Boden geworfen wurden werden mit einem Etikett ausgestattet und alle Objekte mit diesem werden gelöscht.
tag @e[type=minecraft:item,nbt={Item:{tag:{EigZonMa.3Alle:true} } }] add EtiZonMa.3Alle
kill @e[tag=EtiZonMa.3Alle]


Disambig color.svg