Saltar al contenido principal

Enchantment Creator

Encantamientos personalizados con más de 70 efectos listos para usar, libros, botín e intercambios. No requiere ningún plugin adicional.

Gratuitasv0.11RPG y progresión
RequiereTypeWriter0.9Paper1.21+Basic extension

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​

  1. 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.
  2. Asegúrate de que la extensión Basic de TypeWriter está instalada (consulta la documentación de TypeWriter).
  3. 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:

  1. En el panel web de TypeWriter, abre una página de manifiesto y añade una Custom Enchantment Definition.
  2. Establece name en Vampiric Strike, displayName en Vampiric Strike, nameColor en dark_red, maxLevel en 3, y añade los materiales de espada a supportedItems.
  3. Añade una entrada de acción Lifesteal en una página de secuencia y establece healPercentage en 0.2.
  4. De vuelta en la definición, añade una mecánica en mechanics. Establece event en PLAYER_ATTACK y selecciona la entrada Lifesteal en actions.
  5. Añade una acción Give Enchantment Book, selecciona tu definición en customEnchantment y establece level. Publica.
  6. Activa la acción para obtener el libro, o ejecuta /enchantcreator give <player> Vampiric_Strike 2 tras añadir un Enchantment Command Manifest. Combina el libro con una espada en un yunque y golpea a un mob.
consejo

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) ejecuta activeTriggers para el nivel actual. Con cooldownEnabled activado, se vuelven a ejecutar cada cooldown mientras el encantamiento está activo; con él desactivado, se ejecutan una vez cuando pasa a estar activo. inactiveTriggers se ejecutan cuando deja de estarlo. Los criteria deben 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:

EventoSe dispara cuando
PLAYER_ATTACKEl jugador golpea directamente a una entidad.
PLAYER_DEFENDUna entidad daña al jugador.
SHIELD_BLOCKEl jugador recibe un golpe mientras bloquea con un escudo.
BLOCK_BREAKEl jugador rompe un bloque.
BOW_SHOOTEl jugador dispara un arco o una ballesta.
PROJECTILE_HITUn proyectil disparado por el jugador golpea algo.
ITEM_CONSUMEEl jugador come o bebe.
PLAYER_DEATHEl jugador muere.
PLAYER_INTERACTEl jugador hace clic derecho o izquierdo.
ARMOR_EQUIPEl jugador se equipa o se quita una armadura.
ITEM_DAMAGEUn objeto pierde durabilidad.
FALL_DAMAGEEl jugador recibe daño por caída.
ENVIRONMENTAL_DAMAGEEl jugador recibe daño que no ha causado una entidad (también se dispara con el daño por caída).
PLAYER_MOVEEl jugador se mueve a otro bloque (se comprueba cada cuatro ticks).
SNEAKEl jugador empieza a agacharse.
SPRINTEl jugador empieza a correr.
nota

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.

GrupoAccionesEvento
CombateArmor Pierce, Beheading, Bleed, Blindness Strike, Cleave, Disarm, Executioner, Freeze Strike, Lifesteal, Lightning Strike, Poison Strike, Silence, Vampiric Aura, Wither StrikePLAYER_ATTACK
Armadura, al recibir un golpeDeflect, Enlightened Armor, Evasion, Frozen Armor, Molten Armor, Regeneration Aura, Resistance Aura, Thorns Advanced, Toxic Aura, Voodoo Armor, GearingPLAYER_DEFEND
Armadura, dañoAngel WingsFALL_DAMAGE
Armadura, dañoImplosion Armor, Curse of Vulnerabilitycualquier evento de daño (PLAYER_DEFEND, FALL_DAMAGE, ENVIRONMENTAL_DAMAGE)
Armadura, equiparAnti Knockback, Health BoostARMOR_EQUIP
Armadura, durabilidadHardened ArmorITEM_DAMAGE
Arco, disparoHoming Arrow, Volley ArrowBOW_SHOOT
Arco, impactoExplosive Arrow, Teleport ArrowPROJECTILE_HIT
Arco, dañoEnder Arrow, Healing Arrow, Lightning Arrow, Piercing Shot, Pull Arrow, Push Arrow, Sniper Arrow, Venom Arrow, Web Arrow, Wither ArrowPLAYER_ATTACK (solo impactos directos, véase la nota)
HerramientasArea Miner, Auto Smelt, Experience Boost, Haste, Indestructible, Magnet, Oxygenate, Spawners Silk Touch, Telepathy, Timber, Treasure Hunter, Vein MinerBLOCK_BREAK
HerramientasBedrock Breaker, Green Thumb, Night VisionPLAYER_INTERACT
HerramientasAgricultural HarvestBLOCK_BREAK; cosecha los cultivos maduros alrededor del bloque roto (hasta radius 8)
EspecialesAquatic Speed, Feeder, Lava WalkerPLAYER_MOVE
EspecialesElytra Boost, LaunchPLAYER_INTERACT
EspecialesCurse of SluggishnessPLAYER_ATTACK
EspecialesElytra ShieldENVIRONMENTAL_DAMAGE
EspecialesSoulboundPLAYER_DEATH
UtilidadClient Particle Effect, Give Enchantment Bookcualquiera

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.

ComandoDescripció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​

PermisoConcede
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
Comandos1
Manifiestos3

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.