✦ FÜR MODDER: DATAPACKS & JSON-SKILLS ✦

„Binde die Realität nach deinen eigenen Vorstellungen.“

Die Stones Mod ist vollständig datengesteuert. Das bedeutet: Du brauchst keine einzige Zeile Java-Code, um völlig neue Runen, passive Effekte oder komplexe Zaubersprüche zu erschaffen. [cite_start]Alles läuft über simple JSON-Dateien [cite: 1918-1919].

[cite_start]Wenn du eine neue Rune erschaffen willst, legst du einfach eine .json-Datei im Pfad data/stones/enchantments/ deines Datapacks ab [cite: 1921-1922].


1. Der Governor (Performance-Schutz)

Bevor du wilde Skripte schreibst, musst du den Governor kennen. [cite_start]Um Server-Crashes (StackOverflows) durch unendliche Kettenreaktionen zu verhindern, besitzt die Mod ein hartes Engine-Cap [cite: 1150-1151].

  • [cite_start]Das Limit liegt bei exakt 150 Trigger-Aktionen pro Tick und pro Spieler[cite: 1151].
  • [cite_start]Erreicht ein Spieler dieses Limit innerhalb einer Zwanzigstelsekunde, würgt die Mod die Aktion leise ab, um den Server zu schützen [cite: 1160-1164].

2. Trigger (Auslöser)

Ein RuneBehavior benötigt immer einen Auslöser. [cite_start]Folgende Trigger werden von der Engine nativ unterstützt [cite: 1181-1185]:

  • ON_ATTACK / ON_HURT / ON_KILL (Kampf-Events)
  • ON_SWING / ON_BLOCK_BREAK (Interaktionen)
  • ON_PROJECTILE_HIT / ON_JUMP (Bewegung & Fernkampf)
  • ON_TICK (Feuert permanent)
  • ON_ACTION_BUTTON (Für Milestone-Runen, die man über das Inventar auf Tasten legt)

3. Die mächtigsten Actions

Unter "actions": [] definierst du, was passieren soll. Hier ist ein Auszug der coolsten Befehle, die dir zur Verfügung stehen:

  • [cite_start]💥 stones:explode: Erzeugt eine Explosion am Spieler (Parameter: radius, fire) [cite: 1822-1823].
  • [cite_start]💨 stones:add_velocity: Schleudert den Spieler in eine Blickrichtung oder Vektor-Position [cite: 1795-1797].
  • 👁️ stones:find_blocks: Ein eingebauter X-Ray-Scanner! [cite_start]Sucht im Radius oder per Raycast nach spezifischen Block-Tags (z.B. Erzen) und speichert die Koordinaten [cite: 1868-1877].
  • [cite_start]⏱️ stones:delay: Führt eingebettete Aktionen erst nach X Ticks verzögert aus[cite: 1780].
  • [cite_start]🔊 stones:play_sound & ✨ stones:spawn_particles: Für das audiovisuelle Feedback [cite: 1837-1842].

✦ Visuelle Magie: Das Combo-System (stones:update_combo)

Willst du, dass dein Skill visuelle Orbs erzeugt, die wie Elektronen um den Spieler kreisen (sogar in der Ego-Perspektive sichtbar)? [cite_start]Nutze diese Action [cite: 890, 894-895, 1780-1787]!

  • Parameter: count (Aktuelle Stacks), max (Maximalanzahl), texture (Dein Orb-Sprite).
  • [cite_start]Feintuning: Du kannst size, radius (Umlaufbahn), speed (Rotationsgeschwindigkeit) und sogar den RGBA-Farbwert (color) exakt definieren [cite: 1780-1787]. Ob langsame Schatten oder rasende Feuerbälle – du hast die Wahl.

✦ Für Hardcore-Modder: Die Reflection-Pipeline (stones:invoke)

Reichen dir die Standard-Actions nicht? [cite_start]Mit stones:invoke kannst du direkt Java-Methoden per Reflection aufrufen [cite: 1798-1808]. [cite_start]Du kannst Vanilla-Code anzapfen, Parameter (args) übergeben, Felder überschreiben (stones:set_field) und die Ergebnisse als Variablen speichern [cite: 1809-1810].