Skip to main content

MythicMobs NPC

The MythicMobs NPC Extension integrates MythicMobs entities into the TypeWriter NPC system, allowing for complex, animated, and interactive characters with full 3D model support.

Features

  • MythicMobs Integration — Use any MythicMob as a persistent NPC with full configuration support.
    • 3D Model Support — Native support for BetterModel and ModelEngine with automatic model visibility management.
    • Audience Groups — Show NPCs to specific player groups using TypeWriter's audience system. Supports PlayerGroup for per-player NPCs.
    • Visibility Control — Fine-grained visibility control per player with automatic handling for joining players.
    • Interactions — Trigger quests and dialogues on NPC interaction with customizable click types.
    • Animations — Control animations, stances, and movement states through ModelEngine/BetterModel API.

Architecture

Model Integration

The extension supports both BetterModel and ModelEngine for 3D model rendering:

BetterModel is the preferred model provider. The extension uses the native EntityTrackerRegistry API for optimal visibility control:

  • Uses registry.spawnIfNotSpawned(player) for showing models
  • Uses registry.remove(player) for hiding models
  • Full support for per-player model visibility

Note: The model must be configured in your MythicMob YAML file. TypeWriter will automatically manage visibility but does not apply models to entities.

Audience Groups

The extension supports TypeWriter's audience system for controlling NPC visibility:

# Using PlayerGroup - each player sees their own NPC instance
group: player_group_entry_id

When using PlayerGroup:

  • Each player has their own dedicated NPC entity
  • NPCs are invisible to players outside their audience
  • Automatic handling for players joining/changing worlds

Entries

Quick Start

  • 1. Trigger Actions — Use action entries to interact with the extension: show_npc, hide_npc. Trigger them from commands, NPCs, events, or other entries. → show_npc → hide_npc

Configuration Options

NPC Definition

OptionDescription
mobTypeThe MythicMob internal name to use
tickingtrue for server-side (real entity), false for client-side (packet-based)
showDisplayNameWhether to show a nametag above the NPC
cancelInteractAnimationDisable the arm swing animation on interaction

NPC Instance

OptionDescription
spawnLocationWhere to spawn the NPC (supports dynamic positions)
groupAudience group for visibility control
activityEntity activity entry for NPC behavior

Dependencies

ExtensionRequiredUsage
QuestExtensionRequiredCore quest engine.
BasicExtensionRequiredCore extension utilities.
EntityExtensionRequiredEntity management framework.
RoadNetworkExtensionRequiredNPC pathfinding and road network.
PlaceholderAPIOptionalFor @Placeholder fields.