Enchantment Creator
Descripción general
Enchantment Creator añade encantamientos reales a tu servidor, definidos por completo desde el panel web de TypeWriter. Se registran en el propio registro de encantamientos de Minecraft bajo el espacio de nombres typewriter, por lo que aparecen en los objetos, en los yunques y en la mesa de encantamientos como los vanilla, sin resource pack ni plugin adicional.
Describes el encantamiento en una entrada de definición (nombre, color, objetos compatibles, nivel máximo, costes, ranuras activas) y después le das comportamiento. Hay dos maneras: una definición estándar ejecuta disparadores de TypeWriter mientras el objeto encantado se lleva puesto o en la mano, y una definición personalizada enumera mecánicas, cada una de las cuales reacciona a un evento del juego (ataque, rotura de bloque, disparo de arco, daño por caída...) y ejecuta acciones. La extensión incluye más de 70 entradas de acción listas para usar (robo de vida, minero de vetas, flechas teledirigidas, armadura helada...) que conectas a las mecánicas.
Características
- Encantamientos reales: registrados en el registro de encantamientos del servidor, con nombre en color, nivel máximo, coste en el yunque, peso y costes en la mesa de encantamientos.
- Dos tipos de definición: basada en disparadores (
enchantment_definition) o basada en mecánicas (custom_enchantment_definition). - 16 eventos del juego: ataque, defensa, rotura de bloque, disparo de arco, impacto de proyectil, daño por caída, daño a objetos, equipar armadura, movimiento, agacharse, correr y más.
- Más de 70 efectos listos para usar: acciones de armadura, arco, combate, herramientas y especiales, cada una con sus propios campos.
- Libros encantados: entrega libros desde una acción o desde un comando, con nombre y lore personalizados.
- Integración con el mundo: los libros aparecen en los cofres de botín generados (
treasureChance) y en los intercambios con bibliotecarios (tradeChance). - Mesa de encantamientos y yunque: los encantamientos personalizados pueden ofrecerse en la mesa de encantamientos, limitarse a los objetos compatibles y hacerse mutuamente excluyentes en el yunque.
- Lista negra de vanilla: elimina encantamientos vanilla concretos de la mesa de encantamientos.
- Probabilidad y nivel por mecánica: ejecuta una mecánica solo un porcentaje de las veces, o solo en un nivel de encantamiento.
- Partículas en el cliente: una acción de partículas que solo ve el jugador.
Instalación
- Usa un servidor Paper 1.21 o posterior, con Java 21. La extensión crea los encantamientos a través del registro del servidor, por lo que no funciona en versiones anteriores.
- Asegúrate de que la extensión Basic de TypeWriter está instalada (consulta la documentación de TypeWriter).
- Coloca el JAR de Enchantment Creator en
plugins/Typewriter/extensions/y reinicia el servidor.
No se necesita ningún otro plugin.
Primeros pasos
Crea un encantamiento de espada "Vampiric Strike" que cure a quien la empuña con cada golpe:
- En el panel web de TypeWriter, abre una página de manifiesto y añade una Custom Enchantment Definition.
- Establece
nameenVampiric Strike,displayNameenVampiric Strike,nameColorendark_red,maxLevelen3, y añade los materiales de espada asupportedItems. - Añade una entrada de acción Lifesteal en una página de secuencia y establece
healPercentageen0.2. - De vuelta en la definición, añade una mecánica en
mechanics. EstableceeventenPLAYER_ATTACKy selecciona la entrada Lifesteal enactions. - Añade una acción Give Enchantment Book, selecciona tu definición en
customEnchantmenty establecelevel. Publica. - Activa la acción para obtener el libro, o ejecuta
/enchantcreator give <player> Vampiric_Strike 2tras añadir un Enchantment Command Manifest. Combina el libro con una espada en un yunque y golpea a un mob.
El efecto no escala por sí solo con el nivel del encantamiento. Para que el nivel 3 sea más fuerte, añade varias mecánicas con runOnLevel establecido en 1, 2 y 3, cada una ejecutando una acción con valores distintos. runOnLevel 0 significa todos los niveles.
Cómo funciona
La extensión comprueba a cada jugador conectado cada 5 ticks (un cuarto de segundo) para saber cuáles de tus encantamientos está usando. Solo cuentan la mano principal, la mano secundaria y la armadura, y únicamente los objetos cuyo material esté en supportedItems. Se usa el nivel más alto encontrado. Por tanto, puede pasar un breve retraso entre equipar un objeto y el inicio de sus efectos.
Los dos tipos de definición funcionan de forma distinta:
- Una definición estándar (
enchantment_definition) ejecutaactiveTriggerspara el nivel actual. ConcooldownEnabledactivado, se vuelven a ejecutar cadacooldownmientras el encantamiento está activo; con él desactivado, se ejecutan una vez cuando pasa a estar activo.inactiveTriggersse ejecutan cuando deja de estarlo. Loscriteriadeben cumplirse. - Una definición personalizada (
custom_enchantment_definition) ejecuta sus mecánicas cuando ocurre el evento del juego correspondiente.
Las entradas de acción leen el evento del juego que las ha activado. Una acción solo hace algo cuando se usa en una mecánica con el evento para el que fue escrita (por ejemplo, Vein Miner solo funciona con BLOCK_BREAK).
Eventos de encantamiento
El event de una mecánica es uno de estos:
| Evento | Se dispara cuando |
|---|---|
PLAYER_ATTACK | El jugador golpea directamente a una entidad. |
PLAYER_DEFEND | Una entidad daña al jugador. |
SHIELD_BLOCK | El jugador recibe un golpe mientras bloquea con un escudo. |
BLOCK_BREAK | El jugador rompe un bloque. |
BOW_SHOOT | El jugador dispara un arco o una ballesta. |
PROJECTILE_HIT | Un proyectil disparado por el jugador golpea algo. |
ITEM_CONSUME | El jugador come o bebe. |
PLAYER_DEATH | El jugador muere. |
PLAYER_INTERACT | El jugador hace clic derecho o izquierdo. |
ARMOR_EQUIP | El jugador se equipa o se quita una armadura. |
ITEM_DAMAGE | Un objeto pierde durabilidad. |
FALL_DAMAGE | El jugador recibe daño por caída. |
ENVIRONMENTAL_DAMAGE | El jugador recibe daño que no ha causado una entidad (también se dispara con el daño por caída). |
PLAYER_MOVE | El jugador se mueve a otro bloque (se comprueba cada cuatro ticks). |
SNEAK | El jugador empieza a agacharse. |
SPRINT | El jugador empieza a correr. |
PLAYER_ATTACK se dispara cuando el jugador es quien causa el daño directamente, es decir, en los golpes cuerpo a cuerpo. El daño infligido por una flecha lo inflige la flecha, por lo que no dispara PLAYER_ATTACK en la versión actual. Las acciones de flecha que leen un evento de daño (marcadas más abajo) solo actúan, por tanto, sobre los impactos directos.
Acciones listas para usar
Todas las entradas de acción se usan dentro de una mecánica (actions), o desde cualquier secuencia. Cada una tiene los campos estándar criteria, modifiers y triggers, además de sus propios campos: consulta las páginas de las entradas. La columna de evento indica qué event de la mecánica necesita la acción.
| Grupo | Acciones | Evento |
|---|---|---|
| Combate | Armor Pierce, Beheading, Bleed, Blindness Strike, Cleave, Disarm, Executioner, Freeze Strike, Lifesteal, Lightning Strike, Poison Strike, Silence, Vampiric Aura, Wither Strike | PLAYER_ATTACK |
| Armadura, al recibir un golpe | Deflect, Enlightened Armor, Evasion, Frozen Armor, Molten Armor, Regeneration Aura, Resistance Aura, Thorns Advanced, Toxic Aura, Voodoo Armor, Gearing | PLAYER_DEFEND |
| Armadura, daño | Angel Wings | FALL_DAMAGE |
| Armadura, daño | Implosion Armor, Curse of Vulnerability | cualquier evento de daño (PLAYER_DEFEND, FALL_DAMAGE, ENVIRONMENTAL_DAMAGE) |
| Armadura, equipar | Anti Knockback, Health Boost | ARMOR_EQUIP |
| Armadura, durabilidad | Hardened Armor | ITEM_DAMAGE |
| Arco, disparo | Homing Arrow, Volley Arrow | BOW_SHOOT |
| Arco, impacto | Explosive Arrow, Teleport Arrow | PROJECTILE_HIT |
| Arco, daño | Ender Arrow, Healing Arrow, Lightning Arrow, Piercing Shot, Pull Arrow, Push Arrow, Sniper Arrow, Venom Arrow, Web Arrow, Wither Arrow | PLAYER_ATTACK (solo impactos directos, véase la nota) |
| Herramientas | Area Miner, Auto Smelt, Experience Boost, Haste, Indestructible, Magnet, Oxygenate, Spawners Silk Touch, Telepathy, Timber, Treasure Hunter, Vein Miner | BLOCK_BREAK |
| Herramientas | Bedrock Breaker, Green Thumb, Night Vision | PLAYER_INTERACT |
| Herramientas | Agricultural Harvest | BLOCK_BREAK; cosecha los cultivos maduros alrededor del bloque roto (hasta radius 8) |
| Especiales | Aquatic Speed, Feeder, Lava Walker | PLAYER_MOVE |
| Especiales | Elytra Boost, Launch | PLAYER_INTERACT |
| Especiales | Curse of Sluggishness | PLAYER_ATTACK |
| Especiales | Elytra Shield | ENVIRONMENTAL_DAMAGE |
| Especiales | Soulbound | PLAYER_DEATH |
| Utilidad | Client Particle Effect, Give Enchantment Book | cualquiera |
Comandos
El comando es una entrada Enchantment Command Manifest que creas tú. Su nombre, su permiso y sus mensajes son campos de la entrada; se muestran los valores por defecto.
| Comando | Descripción |
|---|---|
/enchantcreator give <player> <enchant> [level] | Entrega un libro encantado a un jugador conectado. <enchant> es el name o el displayName de la entrada, con guiones bajos en lugar de espacios. El nivel por defecto es 1. |
Permisos
| Permiso | Concede |
|---|---|
enchantcreator.admin | /enchantcreator give (el campo adminPermission de la entrada). |
Entradas
75 entradas, generadas a partir del código fuente de la extensión.
Acciones71
- 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
Comandos1
- Enchantment Command ManifestAdmin command for giving custom enchantment books
Manifiestos3
- Custom Enchantment DefinitionDefines a custom enchantment with modular mechanics
- Enchantment DefinitionDefines a custom enchantment
- Vanilla Enchantment Blacklist DefinitionBlacklist vanilla enchantments from the enchanting table
Resolución de problemas
El efecto no hace nada. La acción debe coincidir con el event de la mecánica (consulta la tabla anterior): una acción que lee un evento de rotura de bloque no hace nada con PLAYER_ATTACK. El objeto debe estar en supportedItems, llevarse en una mano o puesto como armadura, y deben cumplirse los criteria, el chance y el runOnLevel de la mecánica. Una mecánica con runOnLevel 2 solo se ejecuta cuando el nivel más alto es exactamente 2.
El encantamiento no aparece en el juego. Las definiciones se registran cuando arranca la extensión, cuando entra un jugador y cuando se entrega un libro. Busca en la consola Failed to reflectively register o Failed to register enchantments during pre-login, y comprueba que el servidor es Paper 1.21 o posterior.
El libro no se puede aplicar a mi objeto. En el yunque, un libro solo se puede aplicar a los objetos enumerados en supportedItems. Dos encantamientos que figuran en el exclusiveWith del otro no se pueden combinar: se elimina el resultado del yunque. Esta exclusividad solo se aplica en el yunque.
Los jugadores nunca ven mi encantamiento en la mesa de encantamientos. En la mesa, weight se usa como un porcentaje: 1 significa una probabilidad de aproximadamente un 1 % por tirada. Súbelo, o establece treasureChance y tradeChance para repartir libros mediante botín y bibliotecarios. Un weight de 0 desactiva la oferta en la mesa.
/enchantcreator give dice que el encantamiento es desconocido. El nombre se compara con el name o el displayName de la entrada, en minúsculas y con los espacios convertidos en guiones bajos. Usa el nombre exacto de la entrada y publica antes la página.
Sigue apareciendo un encantamiento vanilla. La lista negra solo elimina ofertas de la mesa de encantamientos; no afecta a los yunques, al botín ni a los intercambios. La consola informa Unable to resolve vanilla enchantments for blacklist si un nombre no es válido.