Enchantment Creator
Ü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
- 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.
- Stelle sicher, dass die Basic-Erweiterung von TypeWriter installiert ist (siehe die TypeWriter-Dokumentation).
- 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:
- Öffne im TypeWriter-Web-Panel eine Manifest-Page und füge eine Custom Enchantment Definition hinzu.
- Setze
nameaufVampiric Strike,displayNameaufVampiric Strike,nameColoraufdark_red,maxLevelauf3und füge die Schwert-Materialien zusupportedItemshinzu. - Füge auf einer Sequence-Page einen Lifesteal-Action-Entry hinzu und setze
healPercentageauf0.2. - Füge zurück in der Definition in
mechanicseine Mechanik hinzu. SetzeeventaufPLAYER_ATTACKund wähle den Lifesteal-Entry inactions. - Füge eine Give Enchantment Book-Aktion hinzu, wähle deine Definition in
customEnchantmentund setzelevel. Veröffentliche. - Löse die Aktion aus, um das Buch zu erhalten, oder führe
/enchantcreator give <player> Vampiric_Strike 2aus, nachdem du ein Enchantment Command Manifest hinzugefügt hast. Kombiniere das Buch im Amboss mit einem Schwert und schlage einen Mob.
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ührtactiveTriggersfür die aktuelle Stufe aus. Bei aktiviertemcooldownEnabledwerden sie allecooldownerneut ausgeführt, solange die Verzauberung aktiv ist; bei deaktiviertem werden sie einmal ausgeführt, wenn sie aktiv wird.inactiveTriggerswerden ausgeführt, wenn sie endet.criteriamü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:
| Event | Wird ausgelöst, wenn |
|---|---|
PLAYER_ATTACK | der Spieler eine Entity direkt trifft. |
PLAYER_DEFEND | der Spieler von einer Entity Schaden erhält. |
SHIELD_BLOCK | der Spieler getroffen wird, während er mit einem Schild blockt. |
BLOCK_BREAK | der Spieler einen Block abbaut. |
BOW_SHOOT | der Spieler mit einem Bogen oder einer Armbrust schießt. |
PROJECTILE_HIT | ein vom Spieler abgeschossenes Projektil etwas trifft. |
ITEM_CONSUME | der Spieler isst oder trinkt. |
PLAYER_DEATH | der Spieler stirbt. |
PLAYER_INTERACT | der Spieler rechts- oder linksklickt. |
ARMOR_EQUIP | der Spieler Rüstung anlegt oder ablegt. |
ITEM_DAMAGE | ein Item Haltbarkeit verliert. |
FALL_DAMAGE | der Spieler Fallschaden erleidet. |
ENVIRONMENTAL_DAMAGE | der Spieler Schaden erleidet, der nicht von einer Entity verursacht wurde (wird auch bei Fallschaden ausgelöst). |
PLAYER_MOVE | der Spieler sich zu einem anderen Block bewegt (alle vier Ticks geprüft). |
SNEAK | der Spieler anfängt zu schleichen. |
SPRINT | der Spieler anfängt zu sprinten. |
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.
| Gruppe | Aktionen | Event |
|---|---|---|
| Kampf | Armor Pierce, Beheading, Bleed, Blindness Strike, Cleave, Disarm, Executioner, Freeze Strike, Lifesteal, Lightning Strike, Poison Strike, Silence, Vampiric Aura, Wither Strike | PLAYER_ATTACK |
| Rüstung, bei Treffer | Deflect, Enlightened Armor, Evasion, Frozen Armor, Molten Armor, Regeneration Aura, Resistance Aura, Thorns Advanced, Toxic Aura, Voodoo Armor, Gearing | PLAYER_DEFEND |
| Rüstung, Schaden | Angel Wings | FALL_DAMAGE |
| Rüstung, Schaden | Implosion Armor, Curse of Vulnerability | jedes Schadens-Event (PLAYER_DEFEND, FALL_DAMAGE, ENVIRONMENTAL_DAMAGE) |
| Rüstung, Anlegen | Anti Knockback, Health Boost | ARMOR_EQUIP |
| Rüstung, Haltbarkeit | Hardened Armor | ITEM_DAMAGE |
| Bogen, Schuss | Homing Arrow, Volley Arrow | BOW_SHOOT |
| Bogen, Einschlag | Explosive Arrow, Teleport Arrow | PROJECTILE_HIT |
| Bogen, Schaden | Ender Arrow, Healing Arrow, Lightning Arrow, Piercing Shot, Pull Arrow, Push Arrow, Sniper Arrow, Venom Arrow, Web Arrow, Wither Arrow | PLAYER_ATTACK (nur direkte Treffer, siehe Hinweis) |
| Werkzeuge | Area Miner, Auto Smelt, Experience Boost, Haste, Indestructible, Magnet, Oxygenate, Spawners Silk Touch, Telepathy, Timber, Treasure Hunter, Vein Miner | BLOCK_BREAK |
| Werkzeuge | Bedrock Breaker, Green Thumb, Night Vision | PLAYER_INTERACT |
| Werkzeuge | Agricultural Harvest | BLOCK_BREAK; erntet die reifen Pflanzen um den abgebauten Block (bis zu radius 8) |
| Spezial | Aquatic Speed, Feeder, Lava Walker | PLAYER_MOVE |
| Spezial | Elytra Boost, Launch | PLAYER_INTERACT |
| Spezial | Curse of Sluggishness | PLAYER_ATTACK |
| Spezial | Elytra Shield | ENVIRONMENTAL_DAMAGE |
| Spezial | Soulbound | PLAYER_DEATH |
| Hilfsmittel | Client Particle Effect, Give Enchantment Book | beliebig |
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.
| Befehl | Beschreibung |
|---|---|
/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
| Berechtigung | Gewährt |
|---|---|
enchantcreator.admin | /enchantcreator give (das Feld adminPermission des Entries). |
Entries
75 Einträge, aus dem Quellcode der Erweiterung generiert.
Aktionen71
- Agricultural Harvest ActionOptimized action for harvesting crops in an AOE, replanting immediately, and merging drops.
- Angel Wings ActionReduces or completely negates fall damage
- Anti Knockback ActionProvides knockback resistance when equipped
- Aquatic Speed ActionDrastically increases movement speed underwater (Dolphin's Grace)
- Area Miner ActionMines blocks in a 3x3 area based on the block broken
- Armor Pierce ActionIgnores armor calculations during melee combat
- Auto Smelt ActionAutomatically smelts mined blocks and yields slightly more experience
- Bedrock Breaker ActionExtremely rare chance to successfully mine Bedrock when left-clicking it
- Beheading ActionHas a chance to drop the victim's head on kill
- Bleed ActionApplies a bleeding effect over time to the target
- Blindness Strike ActionBlinds the target struck
- Cleave ActionDeals area-of-effect (AoE) damage to enemies around the target
- Client Particle EffectRender a Typewriter-aware client particle effect
- Curse of Sluggishness ActionCurse: Applies Slowness and Weakness to the user when attacking
- Curse of Vulnerability ActionCurse: Multiplies all damage taken by the player
- Deflect ActionChance to deflect incoming projectiles back at the attacker
- Disarm ActionForces the attacked player to drop the item in their main hand
- Elytra Boost ActionGives a periodic boost while gliding with Elytra when right-clicking
- Elytra Shield ActionReduces kinetic damage taken from flying into walls
- Ender Arrow ActionDeals massive bonus true damage to End mobs (Enderman, Shulker, Dragon, Endermite)
- Enlightened Armor ActionHas a chance to heal you when attacked
- Evasion ActionGives a chance to completely dodge and cancel incoming damage
- Executioner ActionHas a chance to instantly kill targets below a certain health threshold
- Experience Boost ActionMined blocks drop extra experience
- Explosive Arrow ActionCauses a projectile to explode on impact without breaking blocks
- Feeder ActionPassively restores food while walking
- Freeze Strike ActionSlows and freezes the target
- Frozen Armor ActionSlows and freezes the attacker when they strike you
- Gearing ActionGrants brief speed when hit
- Give Enchantment BookGive a book with a custom enchantment
- Green Thumb ActionPassively bone-meals nearby crops when right-clicking
- Hardened Armor ActionHas a chance to ignore durability loss
- Haste ActionPassively grants Haste while breaking blocks
- Healing Arrow ActionHeals the target instead of damaging them
- Health Boost ActionGrants extra maximum health when equipped
- Homing Arrow ActionModifies a shot arrow to magnetically track the nearest enemy
- Implosion Armor ActionTriggers a massive shockwave when your health drops critically low
- Indestructible ActionHas a chance to repair the tool instead of taking damage when mining
- Launch ActionLaunches the player forward when right clicking with the item
- Lava Walker ActionFreezes lava under your feet into basalt temporarily
- Lifesteal ActionHeals the player based on the damage dealt
- Lightning Arrow ActionStrikes lightning where the arrow hits
- Lightning Strike ActionStrikes lightning on the hit target
- Magnet ActionSucks nearby items towards the player when mining
- Molten Armor ActionSets the attacker on fire when they strike you
- Night Vision ActionApplies Night Vision when interacting with the tool
- Oxygenate ActionRestores breath while breaking blocks underwater
- Piercing Shot ActionCauses the arrow to act as true damage, ignoring armor
- Poison Strike ActionPoisons the target struck
- Pull Arrow ActionPulls the struck target towards the shooter
- Push Arrow ActionInflicts massive knockback to the struck target
- Regeneration Aura ActionGrants passive regeneration when attacked
- Resistance Aura ActionGrants a defensive buff (resistance) when attacked in combat
- Silence ActionSilences the target, applying severe mining fatigue and weakness to prevent them from fighting back effectively
- Sniper Arrow ActionIncreases damage based on the distance the arrow traveled
- Soulbound ActionKeeps the enchanted item in your inventory upon death
- Spawners Silktouch ActionAllows the player to mine and collect Mob Spawners
- Telepathy ActionPlaces mined blocks and items directly into your inventory
- Teleport Arrow ActionTeleports the shooter to the arrow's impact location
- Thorns Advanced ActionReflects a percentage of incoming melee damage back to the attacker
- Timber ActionChops down an entire tree by breaking its bottom log
- Toxic Aura ActionEmits a toxic cloud, poisoning nearby enemies when you take heavy damage
- Treasure Hunter ActionMining simple blocks like Dirt or Stone has a chance to drop Emeralds
- Vampiric Aura ActionHeals all nearby allies when an enemy is killed
- Vein Miner ActionMines a vein of connected identical ores
- Venom Arrow ActionPoisons the target struck by the arrow
- Volley Arrow ActionShoots additional arrows in a cone shape
- Voodoo Armor ActionHas a chance to apply Weakness to the attacker
- Web Arrow ActionEncases the target in a temporary cobweb
- Wither Arrow ActionApplies wither effect to the target struck by the arrow
- Wither Strike ActionApplies wither effect to the target struck
Befehle1
- Enchantment Command ManifestAdmin command for giving custom enchantment books
Manifeste3
- Custom Enchantment DefinitionDefines a custom enchantment with modular mechanics
- Enchantment DefinitionDefines a custom enchantment
- Vanilla Enchantment Blacklist DefinitionBlacklist vanilla enchantments from the enchanting table
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.