Aliasdaten

Aus Minecraft Wiki
Wechseln zu: Navigation, Suche

Die Aliasdaten (engl. tags) enthalten alternative ID-Namen. Insbesondere lassen sich damit mehrere ID-Namen zu einer Gruppe zusammenfassen (z. B. alle bunten Wollen zu minecraft:wool), die dann als alternativer ID-Name in Rezeptdaten und Befehlen verwendet werden kann. Natürlich ist es auch möglich, nur einen einzigen ID-Namen mit einem Alias zu versehen, z.B. "hwpp" statt "heavy_weighted_pressure_plate".

Arten[Bearbeiten]

  • Block-Aliasse: Sie werden im Befehl /execute verwendet, um einen Block in der Welt zu prüfen. Beispiel: Der Befehl /execute if block ~ ~-1 ~ #minecraft:wool run say Wolle schreibt "Wolle" in den Chat, wenn sich unter der Befehlsquelle ein Wollblock gleich welcher Farbe befindet. Die Aliasgruppen, zu denen ein Block gehört, sieht man im Debug-Bildschirm, wenn man den Block fokussiert. Spezielle Block-Aliasse:
    • enderman_holdable.json: Diese Blöcke können von einem Enderman aufgenommen werden.
    • impermeable.json: Diese Blöcke tropfen nicht, wenn Wasser darüber ist.
    • logs.json: Diese Blöcke verhindern, dass natürlich generiertes Laub in der Nähe zerfällt.
    • underwater_bonemeals.json: Diese Blöcke werden im Biom warmer Ozean unter Wasser durch Knochenmehl erzeugt.
    • valid_spawn.json: Beim Generieren einer Standard-Welt setzt das Spiel den Welt-Spawnpunkt nur auf diese Blöcke.
  • Gegenstand-Aliasse: Sie werden zum Prüfen von Inventaren und in den Rezeptdaten verwendet. Beispiel: Der Befehl /clear @s #minecraft:wool entfernt sämtliche Wolle aus dem Inventar des nächsten Spielers. In den Rezeptdaten werden Aliasse mit der tag-Eigenschaft anstelle der item-Eigenschaft angesprochen.
  • Funktions-Aliasse: Sie fassen Befehls-Funktionen zusammen. Beispiel: Der Befehl /function #eigener-namensraum:eigener-alias führt nacheinander alle Funktionen aus, die in dieser Aliasgruppe enthalten sind. Spezielle Funktions-Aliasse:
    • minecraft:tick.json: Diese Funktionen werden automatisch mit jedem Tick ausgeführt, d. h. 20 Mal pro Sekunde.
    • minecraft:load.json: Diese Funktionen werden einmal ausgeführt:
      • Beim Laden der Welt im Einzelspieler, erstmalig im Mehrspieler,
      • beim drücken der Tastenkombination F3+T, im Einzelspieler,
      • beim Befehl /reload.

Herkunft[Bearbeiten]

  • minecraft.jar: Die Original-Aliasdaten stehen in minecraft.jar.
    • data: Die Standard-Weltdaten.
      • minecraft: Die Minecraft-Standard-Weltdaten.
        • tags: Die Aliasdaten.
          • blocks: Aliasse für Blöcke.
          • fluids: Aliasse für flüssige Blöcke.
          • functions: Das Originalspiel hat im minecraft-Namenraum keine Funktions-Aliasse. Möchte man jedoch den speziellen Funktions-Alias tick.json oder load.json nutzen, funktionieren diese nur im minecraft-Namensraum (siehe unten).
          • items: Aliasse für Gegenstände.
          • entity_types: Aliasse für Entitäten-Typen.

Änderbarkeit[Bearbeiten]

Die Original-Aliasdaten gehören zu den Standard-Weltdaten und können mit Datenpaketen geändert werden. Der Befehl /datapack disable vanilla deaktiviert die Standard-Weltdaten. Damit kann man keine Original-Aliasse mehr verwenden. Allerdings hat das auch weitere Auswirkungen (siehe hier).

Die Aliasdaten haben den Dateityp .json (JavaScript Object Notation), sind aber ganz normale Textdateien, die mit jedem Texteditor gelesen und verändert werden können.

Aliasdaten ändern[Bearbeiten]

Um Aliasdaten zu ändern, platziert man die entsprechende Datei mit dem richtigen Namen im richtigen Ordner. Das bedeutet, man muss nicht alle Aliasdaten kopieren, sondern nur die, die man verändert hat. Im Minimalfall ist das nur eine einzige Datei. Beispiel:

.minecraft/saves/Name des Weltordners/datapacks/Name des Datenpakets/data/minecraft/tags/items/planks.json

Nach dem nächsten Spielstart oder nach dem Befehl /reload werden die geänderten Aliasdaten angewendet. Im Beispiel ändern sich alle Rezepte, in denen das planks-Alias verwendet wird. Schreibt man in die Datei z. B. "minecraft:stone", können Betten je nach Einstellung (siehe unten) auch oder nur noch aus Wolle mit Stein hergestellt werden. (Beachte, dass für Rezepte die Gegenstand-Aliasse verwendet werden, nicht die Block-Aliasse).

Komplett neue Aliasdaten hinzufügen[Bearbeiten]

Man kann auch beliebige eigene Aliasdaten hinzufügen. Diese hinterlegt man idealerweise in einem eigenen Namensraum, um sie deutlich von den Minecraft-Aliasdaten zu unterscheiden.

.minecraft/saves/Name des Weltordners/datapacks/Name des Datenpakets/data/eigener-namensraum/tags/blocks/eigener-alias.json

.minecraft/saves/Name des Weltordners/datapacks/Name des Datenpakets/data/eigener-namensraum/tags/functions/eigener-alias.json

Nach dem nächsten Spielstart oder nach dem Befehl /reload können die geänderten Aliasdaten verwendet werden. Beispiele:

Befehl /execute at @p if block ~ ~-1 ~ #eigener-namensraum:eigener-alias run setblock ~ ~-1 ~ stone

Dieser Befehl prüft, ob sich unter dem nächsten Spieler ein Block aus der Aliasgruppe befindet und wenn ja, ersetzt er ihn durch einen Stein.

Befehl /function #eigener-namensraum:eigener-alias

Dieser Befehl ruft nacheinander alle Funktionen auf, die in der Aliasgruppe zusammengefasst sind.

tick.json und load.json[Bearbeiten]

Die speziellen Funktions-Aliasse minecraft:tick.json und minecraft:load.json funktionieren nur im minecraft-Namensraum.

Die Befehle in der hinterlegten Funktion werden vom Spawnbereich-Mittelpunkt (siehe Befehl /setworldspawn) aus ausgeführt, wenn die Position nicht durch den Befehl /execute geändert wird.

Beispiel für load.json: In der Funktion .minecraft/saves/Name des Weltordners/datapacks/Name des Datenpakets/data/eigener-namensraum/functions/eigene-funktion.mcfunction steht nur eine Zeile: setblock 0 70 0 stone.

Der Funktions-Alias .minecraft/saves/Name des Weltordners/datapacks/Name des Datenpakets/data/minecraft/tags/functions/load.json sieht so aus:

{
	"replace": false,
	"values": [
		"eigener-namensraum:eigene-funktion"
	]
}

Bei jedem Betreten der Welt im Einzelspielermodus wird die Funktion einmal ausgelöst und setzt an die Position (0,70,0) einen Stein.

Funktionsweise[Bearbeiten]

In bestimmten Befehlen kann man statt eines ID-Namens für Block, Gegenstand oder Funktion einen Alias angeben. Aliasse werden mit einer vorangestellten Raute # von normalen ID-Namen unterschieden. Das Spiel führt den Befehl dann für alle im Alias eingetragenen Blöcke, Gegenstände oder Funktionen aus.

Die Tab-Vorschau bei der Befehlseingabe zeigt die Eingabemöglichkeiten: Wenn die Eingabe von Aliassen möglich ist, werden sie in der Auflistung immer vor den anderen ID-Namen angezeigt.

Datenstruktur[Bearbeiten]

  • Die namenlose Haupteigenschaft.
    • replace: true oder false. Bei true ersetzt der Alias einen bisher geladenen Alias gleichen Namens. Das bedeutet, dass bei der standardmäßigen Datenpaket-Ladereihenfolge "Vanilla + eigenes Datenpaket" ein replace-Alias den Vanilla-Alias gleichen Namens ersetzt. Bei umgekehrter Ladereihenfolge "eigenes Datenpaket + Vanilla" ersetzt ein replace-Alias dagegen nichts, weil es in diesem Beispiel vor dem eigenen Datenpaket kein weiteres Datenpaket gibt; danach wird der Vanilla-Alias dem eigenen Alias gleichen Namens hinzugefügt, weil alle Vanilla-Aliasse die replace-Einstellung false haben.
    • values: Liste von ID-Namen von entweder Blöcken, Gegenständen oder Funktionen. Die Liste darf nicht gemischt sein, ihr Inhalt muss zum Aliastyp passen, der durch den Alias-Ordner festgelegt ist. In jeder Liste ist auch die Angabe von Aliasdaten möglich. Sie werden mit einem vorangestellten # gekennzeichnet, z. B. #minecraft:planks. Ein Alias, der direkt oder über Umwege sich selbst enthält, ist jedoch nicht möglich.

Beispiel[Bearbeiten]

Das Alias planks.json fasst alle Holzbretter zusammen:

{
	"replace": false,
	"values": [
		"minecraft:acacia_planks",
		"minecraft:oak_planks",
		"minecraft:dark_oak_planks",
		"minecraft:jungle_planks",
		"minecraft:birch_planks",
		"minecraft:spruce_planks"
	]
}

Alle-Standard-Vorlagen[Bearbeiten]

Geschichte[Bearbeiten]

Versionsgeschichte der Java Edition
Vollversion 1.13
17w49a
  • Aliasdaten hinzugefügt
  • wool und planks werden als erstes Alias hinzugefügt
17w49b
  • buttons, carpets, doors, flower_pots, logs, saplings, und stone_bricks hinzugefügt
  • Funktions-Aliasse hinzugefügt
  • Speziellen Funktions-Alias tick hinzugefügt, er ersetzt die bisherige Spielregel gameLoopFunction
17w50a
  • Aliasdaten können verschachtelt werden
  • Neue Eigenschaft zur Festlegung, ob Aliasdaten gleichen Namens ersetzt werden sollen
  • wooden_buttons und wooden_doors hinzugefügt
18w01a
  • Speziellen Funktions-Alias load hinzugefügt
  • anvil hinzugefügt
18w02a
  • enderman_holdable hinzugefügt (Blöcke, die ein Enderman aufheben kann)
18w06a
  • banners, wooden_pressure_plates, wooden_slabs, wooden_stairs, und boats hinzugefügt
18w07a
  • slabs, stairs, oak_logs, spruce_logs, birch_logs, jungle_logs, acacia_logs, dark_oak_logs hinzugefügt
  • water_hacked hinzugefügt (Blöcke, die leere Bereiche als Wasser darstellen)
18w07b
  • rails, sand hinzugefügt
  • waterlogged hinzugefügt (Blöcke, die Wasser über sich benötigen, um generiert oder platziert zu werden)
18w09a
  • coral hinzugefügt
  • water_hacked beinhaltet auch Truhen
18w10a
  • coral_plants hinzugefügt
  • waterlogged enthält auch coral_plants
18w10c
  • waterlogged und water_hacked wieder entfernt, stattdessen wird ein neuer Blockzustand verwendet
18w14b
  • live_coral hinzugefügt
18w15a
  • ice hinzugefügt
18w16a
  • valid_spawn, coral_fans, dead_coral_blocks hinzugefügt
  • coral in coral_blocks, live_coral in live_coral_blocks und coral_plants in corals geändert
18w19a
  • leaves, water, lava und fishes hinzugefügt
  • ice beinhaltet auch Brüchiges Eis
1.13-pre8
  • impermeable hinzugefügt
  • coral_fans in corals integriert
  • wall_corals hinzugefügt
  • coral_blocks enthält nur noch die lebenden Korallenblöcke
Vollversion 1.13.1 (18w31a)
  • underwater_bonemeals hinzugefügt
Vollversion 1.14
18w43a
  • Neue Block-Aliasse: bamboo_plantable_on, dirt_like, signs, small_flowers, standing_signs, wall_signs, walls.
  • Block-Aliasse verändert: enderman_holdable,flower_pots,slabs,stairs.
  • Objekt-Aliasse hinzugefügt: skeletons.
  • Neue Gegenstands-Aliasse: music_discs,signs,small_flowers,walls.
  • Gegenstands-Aliasse verändert: slabs,stairs.
18w44a
  • Neues Block- und Gegenstands-Alias: beds.
19w09a
  • Neues Gegenstands-Alias: arrows.
Vollversion 1.14.1 (1.14.1-pre1)
  • Funktions-Aliase werden in der Reihenfolge geladen in der sie aufgelistet sind.
Vollversion 1.15
19w34a
  • Neue Block-Aliasse: bee_growables, beehives, crops, flowers und tall_flowers.
  • Neue Gegenstand-Aliasse: flowers und tall_flowers.
19w36a
  • Neues Objekt-Alias: beehive_inhabitors.
19w41a
  • Block-Alias entfernt: dirt_like.
19w42a
  • Neues Block-Alias: lectern_books.
19w44a
  • Neues Block-Alias: shulker_boxes.
19w45a
  • Neues Objekt-Alias: arrows.
1.15-pre2
  • Neues Block-Alias: portals.
Vollversion 1.16
20w06a
  • Neue Block-Aliasse: crimson_stems, fire, nylium, warped_stems und wart_blocks.
  • Neue Gegenstands-Aliasse: crimson_stems und warped_stems.
20w07a
  • Neue Block-Aliasse: beacon_base_blocks und wither_summon_base_blocks.
  • Neues Gegenstands-Alias: beacon_payment_items.
20w13a
  • Neue Block-Aliasse: logs_that_burn, non_flammable_wood und strider_warm_blocks.
  • Neue Gegenstands-Aliasse: logs_that_burn und non_flammable_wood.
20w16a
  • Neues Gegenstands-Alias: creeper_drop_music_discs.