Voxel Shop beta is live. Expect occasional bugs. Learn more  
TW Extension - MythicMobsNPCS icon

TW Extension - MythicMobsNPCS v5.0

Extension aims to integrate mythic mobs as NPCs in Typewriter.



🧬 MythicMobs NPC


Turn your MythicMobs mobs into TypeWriter NPCs with dialogues, quests and cinematics.


A TypeWriter extension by BTC Studio


You already build mobs, models and skills in MythicMobs, but they stay props: they cannot talk, give quests or act in a cutscene. MythicMobs NPC turns any MythicMobs mob into a TypeWriter NPC that starts dialogues, carries quest markers, appears or vanishes per player and plays in your cinematics.



✨ What it does


You keep designing the mob, its model and its skills in MythicMobs. Then, from the web panel, you place it with an NPC definition (what the NPC is) and an NPC instance (where it stands and who sees it).


By default each player gets their own copy of the NPC, so one player's cinematic or hide action never affects the others. Turn ticking on to get a real server-side mob that walks and fights. Models from BetterModel or ModelEngine are supported.



🎭 NPCs players can talk to



  • Define once, place many times: one definition feeds as many instances as you need, with a shared, per-player or per-group audience.
  • Name tag and quest markers: a floating name, and a marker above the head when the NPC has a dialogue for the player or the target of an objective. The marker texts and colours are TypeWriter snippets you can restyle.
  • Dialogue on click: the interact event starts a dialogue on a right click, a left click or both, filtered by sneaking.
  • Hit event: react when a player hits the NPC or when the NPC hits a player.
  • Show and hide per player: actions reveal an NPC to one player or conceal it, for example once a quest is done.
  • Look-at bound: force the player to look at the NPC, or at the nearest mob of a type, for the length of an interaction.

🎬 Animation and cinematics



  • Play and stop animations: trigger a ModelEngine or BetterModel animation on an NPC from TypeWriter, so it does not depend on the mob's own skills. BetterModel is checked first.
  • Focus camera: keep the camera on an NPC during a cutscene.
  • Bone camera: attach the camera to a bone of the NPC model for your cutscenes.
  • Recorded movement: drive an NPC along a recorded movement tape.
  • Skills in cutscenes: cast a MythicMobs skill at a position of the timeline.
  • Camera bound: a camera bound with a custom focus offset.

🧠 Facts and variables



  • Facts for conditions: know whether the NPC is spawned, whether the player can see it, how far away it is, its health as a percentage, the size of its threat table, and whether an animation is playing.
  • Variables for texts: insert the NPC's health, maximum health, level, power, faction, stance or active animations in any text. A generic variable reads any MythicMobs variable of the NPC.
  • Entity data: override the walking speed, set day and night idle and walk stances, show or hide bones depending on conditions, or replace a bone with a bone of another model.

🎯 Quest objectives



  • Interact with an NPC: the marker becomes a quest marker and a path stream leads the player to the NPC.
  • Loot items: count items looted from MythicMobs mobs.
  • Watch a skill run: count the runs of a MythicMobs skill, or interactions with a mob.
  • Link a skill to a quest: add - typewriterSkill{name=<id>} @Trigger (alias twskill) to a MythicMobs skill and each run counts for the targeted player. A targeter such as @PIR{r=20} reaches the players around the mob.

🧩 Entries


Entries (38)


NPC control



  • mythicmob_npc_definition: define a MythicMob NPC template
  • mythicmob_npc_instance: place an NPC instance in the world
  • mythicmob_npc_show: reveal an NPC for a player
  • mythicmob_npc_hide: conceal an NPC from a player
  • mythicmob_npc_play_animation: play a ModelEngine or BetterModel animation on an NPC
  • mythicmob_npc_stop_animation: stop an animation on an NPC

Cinematics



  • mythicmob_npc_camera_cinematic: camera focus on an NPC during a cutscene
  • mythicmob_npc_bone_camera_cinematic: attach the camera to a bone of the NPC model
  • mythicmob_npc_entity_cinematic: drive an NPC along a recorded movement tape
  • mythicmob_npc_skill_cinematic: trigger a MythicSkill at a position
  • mythicmob_npc_camera_bound: camera bound with a custom focus offset

Events



  • mythicmob_npc_interact: click on an NPC (sneak filter, right or left click)
  • mythicmob_npc_hit: the NPC is hit by a player or hits a player
  • on_mythic_mob_loot: a player loots an item from a MythicMob

Objectives



  • interact_mythicmob_npc_objective: interact with an NPC
  • mythicmob_loot_objective: loot specific items from MythicMobs mobs
  • mythicmob_skill_objective: count the runs of a MythicMobs skill (or interactions with a mob)

Facts



  • mythicmob_npc_animation_playing_fact: is an animation currently playing?
  • mythicmob_npc_distance_fact: distance from the player to the NPC
  • mythicmob_npc_presence_fact: is the NPC spawned?
  • mythicmob_npc_visibility_fact: can the player see the NPC?
  • mythicmob_npc_health_percentage_fact: NPC health as a percentage
  • mythicmob_npc_threat_table_size_fact: size of the NPC threat table

Entity data



  • mythicmob_speed_data: override the walking speed
  • modelengine_stance_data: day and night idle and walk stances, plus other stances
  • mythicmob_npc_bone_visibility: conditional bone visibility on the NPC model
  • mythicmob_npc_attachment: replace a bone with a bone of another model

Interaction bounds



  • mythicmob_npc_look_at_interaction_bound: force the player to look at an NPC
  • mythicmob_look_at_interaction_bound: force the player to look at the nearest mob of a type

Variables



  • mythicmob_npc_health_variable: current health
  • mythicmob_npc_max_health_variable: maximum health
  • mythicmob_npc_health_percentage_variable: health percentage
  • mythicmob_npc_level_variable: MythicMobs level
  • mythicmob_npc_power_variable: MythicMobs power
  • mythicmob_npc_faction_variable: MythicMobs faction
  • mythicmob_npc_stance_variable: current stance
  • mythicmob_npc_active_animations_variable: active animations
  • mythicmob_npc_variable: read any MythicMobs variable of the NPC

🚀 Set up



  • Create your mob in MythicMobs (with its model) and reload MythicMobs. Make sure the TypeWriter Entity, Basic, Quest and Road Network extensions are installed, then drop the jar in plugins/Typewriter/extensions/ and restart.
  • In the web panel, add a MythicMob NPC Definition with the name to display and the mob's internal name as mobType, then a MythicMob NPC Instance with its spawn location.
  • Add a MythicMob NPC Interact Event linked to the definition and put a dialogue in its triggers.
  • Publish and right-click the NPC. To make it a quest target, add an Interact MythicMob NPC Objective.

📋 Requirements



  • TypeWriter 0.9.0-beta-177 or newer, with the Quest and Road Network extensions
  • Paper 1.21.x server
  • MythicMobs (built against 5.6.1) and PacketEvents
  • Optional, for animated models: ModelEngine or BetterModel (3.x API), detected at runtime
  • Optional: Geyser, if Bedrock players must see the bone camera
Sign in
$15.00 USD
Sign in to purchase, save this product to your cart, and keep downloads tied to your account.
Stripe

typewriter

extension

mythicmobs

paper

npc

integration

link