Zum Hauptinhalt springen

Vault-Integration

Seit Version 7.1.0 unterstützt EliteMobs die Vault-Integration (unter Verwendung von VaultAPI 1.7). Du kannst Vault aktivieren, um die EliteMobs-Wirtschaft mit der Wirtschaft deines Servers zu vereinheitlichen.

Hier ist nun, warum das eine schlechte Idee ist:

EliteMobs hat kein Levelsystem. Das Fortschrittssystem ist daran gebunden, durch das Töten von Elite-Mobs und das Aufleveln von Waffen- und Rüstungs-Skills bessere Gegenstände zu erhalten, um auf höherstufige Beute, höherstufige Mobs, höherstufige Quests sowie höherstufige Arena-Herausforderungen und Dungeons zuzugreifen.

Zusätzlich hat EliteMobs eine sehr empfindliche Balance, wenn es um den Kauf von Amuletten und den Weiterverkauf von Beute geht, die von Elite-Mobs erhalten wurde.

Daher können Spieler, wenn du die Wirtschaft deines Servers mit der EliteMobs-Wirtschaft kombinierst, sich leicht an die Spitze kaufen und dabei möglicherweise die Lernkurve umgehen.

Nun funktioniert das Fortschrittssystem nicht mehr richtig, was zu noch schlimmeren Problemen führt. Hochstufige Elite-Mobs haben verschiedene Fähigkeiten, und Spieler sollen diese Fähigkeiten langsam lernen, indem sie über Dutzende von Stunden gegen sie kämpfen, lernen, wie sie die Fähigkeiten der Elite-Mobs erkennen und wie sie diese Fähigkeiten kontern, sowie lernen, wie sie sich auf den Kampf gegen Elite-Mobs vorbereiten.

Wenn Spieler direkt zum Endgame überspringen, werden sie das Gefühl haben, dass die Kampfschwierigkeit nahezu unmöglich und extrem unfair ist, da sie nicht die Zeit hatten, das Wissen zu entwickeln, das nötig ist, um die EliteMobs durch lange Spielstunden effizient zu töten.

Voraussetzungen

Um die Vault-Integration zu nutzen, musst du Folgendes haben:

  • Vault-Plugin (Version kompatibel mit VaultAPI 1.7+)
  • Ein Wirtschafts-Plugin, das sich bei Vault registriert (EssentialsX, CMI usw.)
  • Beide Plugins ordnungsgemäß konfiguriert und laufend

EliteMobs erkennt Vault automatisch und verwendet es, wenn es in der Konfiguration aktiviert ist.

Konfiguration

Um die Vault-Integration zu aktivieren:

  1. Stelle sicher, dass das Vault-Plugin auf deinem Server installiert ist
  2. Stelle sicher, dass du ein Wirtschafts-Plugin hast, das mit Vault funktioniert (z. B. EssentialsX, CMI usw.)
  3. Öffne EconomySettings.yml im EliteMobs-Plugin-Ordner
  4. Setze useVault: true
  5. Starte den Server neu

Beispielkonfiguration:

# Whether to use Vault for the economy instead of the built-in system.
# NOT RECOMMENDED! See: https://wiki.nightbreak.io/EliteMobs/vault
useVault: false

Funktionsweise

Wenn die Vault-Integration aktiviert ist:

  • Die gesamte EliteMobs-Währung (Elite-Münzen) wird in die Hauptwährung der Wirtschaft deines Servers umgewandelt
  • Spieler verdienen beim Töten von Elite-Mobs deine Wirtschaftswährung anstelle von Elite-Münzen
  • Shop-Transaktionen, Skill-Upgrades und alle anderen EliteMobs-Wirtschaftsfunktionen verwenden die Wirtschaft deines Servers
  • Das EliteMobs-Wirtschaftssystem wird vollständig durch Vault ersetzt

Währungsoperationen:

  • Einzahlungen: Geld wird dem Vault-Guthaben des Spielers hinzugefügt
  • Auszahlungen: Geld wird vom Vault-Guthaben des Spielers entfernt
  • Guthabenprüfungen: Fragt das Vault-Guthaben des Spielers ab
  • Direktes Setzen des Guthabens: AUS Sicherheitsgründen DEAKTIVIERT (verwende dein Wirtschafts-Plugin)

Hinweis: Während die Vault-Integration aktiviert ist, werden alle Währungsoperationen an Vault weitergeleitet. EliteMobs greift nicht stillschweigend auf seine interne Wirtschaft zurück, wenn Vault zur Laufzeit nicht mehr verfügbar ist. Stelle daher sicher, dass dein Wirtschafts-Plugin bei Vault registriert bleibt, solange useVault aktiviert ist.

Sicherheitsfunktionen

Aus Sicherheitsgründen unterstützt EliteMobs NICHT das direkte Setzen des Währungsguthabens eines Spielers über Vault. Jeder Versuch dazu wird blockiert und protokolliert. Verwende bei Bedarf die Befehle deines Wirtschafts-Plugins, um Guthaben direkt zu setzen.

Beispielszenario

Ohne Vault:

  • Spieler tötet einen Elite-Mob der Stufe 50
  • Erhält 100 Elite-Münzen (gespeichert in der EliteMobs-Datenbank)
  • Kann Elite-Münzen nur in EliteMobs-Shops ausgeben

Mit Vault:

  • Spieler tötet einen Elite-Mob der Stufe 50
  • Erhält 100 [deine Wirtschaftswährung] (gespeichert im Vault-/Wirtschafts-Plugin)
  • Kann Geld in EliteMobs-Shops UND überall sonst auf dem Server ausgeben
  • Andere Spieler können Geld senden, um EliteMobs-Dienste zu kaufen
  • Die Wirtschaft ist über alle Plugins hinweg vereinheitlicht

Dies ist der Grund, warum es nicht empfohlen wird: Es zerstört das beabsichtigte Fortschrittssystem, indem es Spielern erlaubt, Währung aus anderen Quellen zu verwenden.

Fehlerbehebung

Wenn die Vault-Integration aktiviert ist, aber nicht funktioniert:

  1. Überprüfe die Serverprotokolle auf: „Vault detected." (in einer EliteMobs-Protokollzeile)

    • Wenn fehlend: Das Vault-Plugin ist nicht installiert oder wird nicht geladen
  2. Überprüfe auf die Warnung: „Vault preference detected. This is not the recommended setting."

    • Dies ist zu erwarten, wenn die Vault-Integration aktiviert ist – es ist eine Erinnerung, kein Fehler
    • Wenn Vault immer noch nicht funktioniert, stelle sicher, dass dein Wirtschafts-Plugin ordnungsgemäß bei Vault registriert ist
  3. Überprüfe auf: „Player tried to check currency when they had no economy entry"

    • Ursache: Das Wirtschafts-Plugin hat kein Spielerkonto erstellt
    • Lösung: Überprüfe die Konfiguration deines Wirtschafts-Plugins
  4. Wenn aktiviert, aber EliteMobs weiterhin Elite-Münzen verwendet:

    • Überprüfe, ob der Konfigurationsschlüssel exakt lautet: useVault: true
    • Starte den Server nach der Konfigurationsänderung neu
    • Überprüfe, ob ein Wirtschafts-Plugin bei Vault registriert ist

Für Entwickler

Wenn du ein Addon oder eine Integration entwickelst:

  • Vault-Status: Prüfe VaultCompatibility.VAULT_ENABLED (statischer Boolean)
  • Wirtschafts-API: Verwende die Methoden von EconomyHandler (nicht direkt VaultCompatibility)
  • Unterstützte Operationen: add, subtract, check (set ist deaktiviert)
  • Währungspräzision: Das interne System verwendet 2 Dezimalstellen
  • Kein Laufzeit-Fallback: Wenn VAULT_ENABLED true ist, delegiert EconomyHandler immer an Vault; es gibt keinen automatischen Wechsel zurück zur internen Wirtschaft

Speicherort des Quellcodes:

  • src/main/java/com/magmaguy/elitemobs/economy/VaultCompatibility.java
  • src/main/java/com/magmaguy/elitemobs/economy/EconomyHandler.java

EliteMobs verwendet VaultAPI 1.7 als reine Compile-Abhängigkeit. Die Vault-Plugin-JAR muss zur Laufzeit auf dem Server vorhanden sein.