Zum Hauptinhalt springen

Enchantment Creator

Eigene Verzauberungen mit über 70 fertigen Effekten, Büchern, Beute und Handel. Kein zusätzliches Plugin nötig.

Kostenlosv0.11RPG & Progression
BenötigtTypeWriter0.9Paper1.21+Basic extension

Überblick​

Enchantment Creator fügt deinem Server echte Verzauberungen hinzu, die vollständig im TypeWriter-Web-Panel definiert werden. Sie werden im Verzauberungsregister von Minecraft selbst unter dem Namespace typewriter registriert und erscheinen daher wie Vanilla-Verzauberungen auf Items, in Ambossen und am Zaubertisch, ohne Resource Pack und ohne zusätzliches Plugin.

Du beschreibst die Verzauberung in einem Definitions-Entry (Name, Farbe, unterstützte Items, maximale Stufe, Kosten, aktive Slots) und gibst ihr dann ein Verhalten. Dafür gibt es zwei Wege: Eine Standard-Definition führt TypeWriter-Trigger aus, solange das verzauberte Item getragen oder gehalten wird, und eine benutzerdefinierte Definition listet Mechaniken auf, die jeweils auf ein Spielereignis reagieren (Angriff, Blockabbau, Bogenschuss, Fallschaden ...) und Aktionen ausführen. Die Erweiterung liefert mehr als 70 fertige Action-Entries (Lebensraub, Vein Miner, zielsuchende Pfeile, gefrorene Rüstung ...), die du in Mechaniken einsetzt.

Funktionen​

  • Echte Verzauberungen — im Verzauberungsregister des Servers registriert, mit farbigem Namen, maximaler Stufe, Amboss-Kosten, Gewichtung und Zaubertisch-Kosten.
  • Zwei Definitionstypen — Trigger-basiert (enchantment_definition) oder Mechanik-basiert (custom_enchantment_definition).
  • 16 Spielereignisse — Angriff, Verteidigung, Blockabbau, Bogenschuss, Projektiltreffer, Fallschaden, Item-Schaden, Rüstung anlegen, Bewegung, Schleichen, Sprinten und mehr.
  • Über 70 fertige Effekte — Aktionen für Rüstung, Bogen, Kampf, Werkzeuge und Spezielles, jeweils mit eigenen Feldern.
  • Verzauberte Bücher — Bücher mit eigenem Namen und eigener Lore per Aktion oder per Befehl vergeben.
  • Weltintegration — Bücher erscheinen in generierten Loot-Truhen (treasureChance) und in Bibliothekar-Handeln (tradeChance).
  • Zaubertisch und Amboss — Eigene Verzauberungen können am Zaubertisch angeboten, auf unterstützte Items beschränkt und im Amboss gegenseitig ausgeschlossen werden.
  • Vanilla-Blacklist — Entferne ausgewählte Vanilla-Verzauberungen aus dem Zaubertisch.
  • Chance und Stufe pro Mechanik — Führe eine Mechanik nur mit einem bestimmten Prozentsatz der Zeit oder nur bei einer bestimmten Verzauberungsstufe aus.
  • Clientseitige Partikel — eine Partikelaktion, die nur der Spieler sieht.

Installation​

  1. Verwende einen Paper-Server ab Version 1.21 mit Java 21. Die Erweiterung erzeugt Verzauberungen über das Register des Servers und funktioniert daher nicht mit älteren Versionen.
  2. Stelle sicher, dass die Basic-Erweiterung von TypeWriter installiert ist (siehe die TypeWriter-Dokumentation).
  3. Lege die Enchantment-Creator-JAR in plugins/Typewriter/extensions/ ab und starte den Server neu.

Es ist kein weiteres Plugin erforderlich.

Erste Schritte​

Erstelle eine Schwert-Verzauberung „Vampiric Strike“, die den Träger bei jedem Treffer heilt:

  1. Öffne im TypeWriter-Web-Panel eine Manifest-Page und füge eine Custom Enchantment Definition hinzu.
  2. Setze name auf Vampiric Strike, displayName auf Vampiric Strike, nameColor auf dark_red, maxLevel auf 3 und füge die Schwert-Materialien zu supportedItems hinzu.
  3. Füge auf einer Sequence-Page einen Lifesteal-Action-Entry hinzu und setze healPercentage auf 0.2.
  4. Füge zurück in der Definition in mechanics eine Mechanik hinzu. Setze event auf PLAYER_ATTACK und wähle den Lifesteal-Entry in actions.
  5. Füge eine Give Enchantment Book-Aktion hinzu, wähle deine Definition in customEnchantment und setze level. Veröffentliche.
  6. Löse die Aktion aus, um das Buch zu erhalten, oder führe /enchantcreator give <player> Vampiric_Strike 2 aus, nachdem du ein Enchantment Command Manifest hinzugefügt hast. Kombiniere das Buch im Amboss mit einem Schwert und schlage einen Mob.
tipp

Der Effekt skaliert nicht von selbst mit der Verzauberungsstufe. Damit Stufe 3 stärker wirkt, füge mehrere Mechaniken mit runOnLevel auf 1, 2 und 3 hinzu, die jeweils eine Aktion mit anderen Werten ausführen. runOnLevel 0 bedeutet jede Stufe.

Funktionsweise​

Die Erweiterung prüft alle 5 Ticks (eine Viertelsekunde) jeden Online-Spieler, um zu wissen, welche deiner Verzauberungen er verwendet. Es zählen nur Haupthand, Nebenhand und Rüstung, und nur Items, deren Material in supportedItems steht. Die höchste gefundene Stufe wird verwendet. Zwischen dem Anlegen eines Items und dem Beginn seiner Wirkung kann daher eine kurze Verzögerung vergehen.

Die beiden Definitionstypen funktionieren unterschiedlich:

  • Eine Standard-Definition (enchantment_definition) führt activeTriggers für die aktuelle Stufe aus. Bei aktiviertem cooldownEnabled werden sie alle cooldown erneut ausgeführt, solange die Verzauberung aktiv ist; bei deaktiviertem werden sie einmal ausgeführt, wenn sie aktiv wird. inactiveTriggers werden ausgeführt, wenn sie endet. criteria müssen erfüllt sein.
  • Eine benutzerdefinierte Definition (custom_enchantment_definition) führt ihre Mechaniken aus, wenn das passende Spielereignis eintritt.

Action-Entries lesen das Spielereignis, das sie ausgelöst hat. Eine Aktion bewirkt nur etwas, wenn sie in einer Mechanik mit dem Event verwendet wird, für das sie geschrieben wurde (Vein Miner funktioniert zum Beispiel nur bei BLOCK_BREAK).

Verzauberungs-Events​

Das event einer Mechanik ist eines der folgenden:

EventWird ausgelöst, wenn
PLAYER_ATTACKder Spieler eine Entity direkt trifft.
PLAYER_DEFENDder Spieler von einer Entity Schaden erhält.
SHIELD_BLOCKder Spieler getroffen wird, während er mit einem Schild blockt.
BLOCK_BREAKder Spieler einen Block abbaut.
BOW_SHOOTder Spieler mit einem Bogen oder einer Armbrust schießt.
PROJECTILE_HITein vom Spieler abgeschossenes Projektil etwas trifft.
ITEM_CONSUMEder Spieler isst oder trinkt.
PLAYER_DEATHder Spieler stirbt.
PLAYER_INTERACTder Spieler rechts- oder linksklickt.
ARMOR_EQUIPder Spieler Rüstung anlegt oder ablegt.
ITEM_DAMAGEein Item Haltbarkeit verliert.
FALL_DAMAGEder Spieler Fallschaden erleidet.
ENVIRONMENTAL_DAMAGEder Spieler Schaden erleidet, der nicht von einer Entity verursacht wurde (wird auch bei Fallschaden ausgelöst).
PLAYER_MOVEder Spieler sich zu einem anderen Block bewegt (alle vier Ticks geprüft).
SNEAKder Spieler anfängt zu schleichen.
SPRINTder Spieler anfängt zu sprinten.
hinweis

PLAYER_ATTACK wird ausgelöst, wenn der Spieler der direkte Schadensverursacher ist, also bei Nahkampftreffern. Schaden durch einen Pfeil wird vom Pfeil verursacht und löst in der aktuellen Version daher kein PLAYER_ATTACK aus. Die Pfeil-Aktionen, die ein Schadens-Event lesen (unten markiert), wirken deshalb nur bei direkten Treffern.

Fertige Aktionen​

Alle Action-Entries werden innerhalb einer Mechanik (actions) oder aus einer beliebigen Sequence verwendet. Jeder hat die Standardfelder criteria, modifiers und triggers sowie eigene Felder: siehe die Entry-Seiten. Die Spalte Event gibt an, welches event der Mechanik die Aktion benötigt.

GruppeAktionenEvent
KampfArmor Pierce, Beheading, Bleed, Blindness Strike, Cleave, Disarm, Executioner, Freeze Strike, Lifesteal, Lightning Strike, Poison Strike, Silence, Vampiric Aura, Wither StrikePLAYER_ATTACK
Rüstung, bei TrefferDeflect, Enlightened Armor, Evasion, Frozen Armor, Molten Armor, Regeneration Aura, Resistance Aura, Thorns Advanced, Toxic Aura, Voodoo Armor, GearingPLAYER_DEFEND
Rüstung, SchadenAngel WingsFALL_DAMAGE
Rüstung, SchadenImplosion Armor, Curse of Vulnerabilityjedes Schadens-Event (PLAYER_DEFEND, FALL_DAMAGE, ENVIRONMENTAL_DAMAGE)
Rüstung, AnlegenAnti Knockback, Health BoostARMOR_EQUIP
Rüstung, HaltbarkeitHardened ArmorITEM_DAMAGE
Bogen, SchussHoming Arrow, Volley ArrowBOW_SHOOT
Bogen, EinschlagExplosive Arrow, Teleport ArrowPROJECTILE_HIT
Bogen, SchadenEnder Arrow, Healing Arrow, Lightning Arrow, Piercing Shot, Pull Arrow, Push Arrow, Sniper Arrow, Venom Arrow, Web Arrow, Wither ArrowPLAYER_ATTACK (nur direkte Treffer, siehe Hinweis)
WerkzeugeArea Miner, Auto Smelt, Experience Boost, Haste, Indestructible, Magnet, Oxygenate, Spawners Silk Touch, Telepathy, Timber, Treasure Hunter, Vein MinerBLOCK_BREAK
WerkzeugeBedrock Breaker, Green Thumb, Night VisionPLAYER_INTERACT
WerkzeugeAgricultural HarvestBLOCK_BREAK; erntet die reifen Pflanzen um den abgebauten Block (bis zu radius 8)
SpezialAquatic Speed, Feeder, Lava WalkerPLAYER_MOVE
SpezialElytra Boost, LaunchPLAYER_INTERACT
SpezialCurse of SluggishnessPLAYER_ATTACK
SpezialElytra ShieldENVIRONMENTAL_DAMAGE
SpezialSoulboundPLAYER_DEATH
HilfsmittelClient Particle Effect, Give Enchantment Bookbeliebig

Befehle​

Der Befehl ist ein von dir erstellter Enchantment Command Manifest-Entry. Sein Name, seine Berechtigung und seine Nachrichten sind Felder des Entries; angezeigt sind die Standardwerte.

BefehlBeschreibung
/enchantcreator give <player> <enchant> [level]Gibt einem Online-Spieler ein verzaubertes Buch. <enchant> ist der name oder displayName des Entries, mit Unterstrichen statt Leerzeichen. Die Stufe ist standardmäßig 1.

Berechtigungen​

BerechtigungGewährt
enchantcreator.admin/enchantcreator give (das Feld adminPermission des Entries).

Entries​

75 Einträge, aus dem Quellcode der Erweiterung generiert.

Aktionen71
Befehle1
Manifeste3

Fehlerbehebung​

Der Effekt bewirkt nichts. Die Aktion muss zum event der Mechanik passen (siehe Tabelle oben): Eine Aktion, die ein Blockabbau-Event liest, bewirkt bei PLAYER_ATTACK nichts. Das Item muss in supportedItems stehen und in einer Hand gehalten oder als Rüstung getragen werden, und criteria, chance und runOnLevel der Mechanik müssen erfüllt sein. Eine Mechanik mit runOnLevel 2 wird nur ausgeführt, wenn die höchste Stufe genau 2 beträgt.

Die Verzauberung fehlt im Spiel. Definitionen werden beim Start der Erweiterung, beim Beitritt eines Spielers und bei der Vergabe eines Buchs registriert. Suche in der Konsole nach Failed to reflectively register oder Failed to register enchantments during pre-login und stelle sicher, dass der Server Paper 1.21 oder neuer ist.

Das Buch lässt sich nicht auf mein Item anwenden. Im Amboss kann ein Buch nur auf Items angewendet werden, die in supportedItems stehen. Zwei Verzauberungen, die gegenseitig in ihrem exclusiveWith stehen, lassen sich nicht kombinieren: Das Amboss-Ergebnis wird entfernt. Dieser Ausschluss wird nur im Amboss erzwungen.

Spieler sehen meine Verzauberung nie am Zaubertisch. Am Tisch wird weight als Prozentwert verwendet: 1 bedeutet etwa 1 % Chance pro Wurf. Erhöhe den Wert oder setze treasureChance und tradeChance, um Bücher über Loot und Bibliothekare zu verteilen. Ein weight von 0 deaktiviert das Angebot am Tisch.

/enchantcreator give meldet, die Verzauberung sei unbekannt. Der Name wird mit dem name oder displayName des Entries verglichen, in Kleinbuchstaben und mit Unterstrichen statt Leerzeichen. Verwende den exakten Namen aus dem Entry und veröffentliche zuerst die Page.

Eine Vanilla-Verzauberung erscheint weiterhin. Die Blacklist entfernt nur Angebote am Zaubertisch; Ambosse, Loot und Handel sind nicht betroffen. Die Konsole meldet Unable to resolve vanilla enchantments for blacklist, wenn ein Name ungültig ist.