
NpcPlugin
Create, customize, and manage player-like NPCs with an in-game editor GUI, click actions, and a built-in path system.
If you have any suggestions or encounter any issues, you can use the issue page or via Discord @Eisi05
If you want to make a tutorial video about it, feel free to do so
Supported Versions
Spigot: 1.17.1 - 1.21.11
Paper: 1.21 - 1.21.11
Highlights
- In-game NPC editor
- Toggle edit-mode and configure NPCs directly by interacting with them.
- Edit common properties like name, skin, equipment, glow, visibility, tab-list, pose, and more.
- Click Actions (Left / Right / Both)
- Build action chains that run when players click an NPC.
- Built-in action types include:
Command(run commands; supports@sas player placeholder)Server(send players to a BungeeCord server)Wait(delay before running the next action)Animation(play an animation)Path(make the NPC walk along a saved path)
- Path system
- Create paths using points, visualize them, test them with a temporary NPC, and reuse them in NPC actions.
- Localization + PlaceholderAPI
- Ships with language files (default
en). - PlaceholderAPI is supported (soft-depend): placeholders can be used in plugin messages where applicable.
- Ships with language files (default
API / Developer Documentation
- Spigot: https://github.com/Eisi05/NpcApi-Spigot/wiki
- Paper: https://github.com/Eisi05/NpcApi-Paper/wiki
Permissions
npc.admin- Default: OP
- Grants access to all
/npccommands and the in-game editor.
Guides
Getting Started (Installation + Quick Start)
Installation
- Download the jar and place it into your server’s
plugins/folder. - Start the server once.
- Configure (optional):
plugins/NpcPlugin/config.ymlplugins/NpcPlugin/lang/<language>/*.yml
- Restart or run
/npc reload.
Quick Start
1) Create an NPC
/npc create
2) Enable edit-mode
/npc edit
While edit-mode is enabled:
- Interact with an NPC to open its editor GUI.
If the NPC is not editable, you’ll get a message like This NPC is not editable!.
3) Configure NPC options in the GUI
The GUI lets you change things like:
- Name
- Skin (player name / UUID / local
.pngfile) - “Use Player Skin” (per-player skin)
- Equipment slots
- Visibility / enabled state
- Tab list visibility
- Hide nametag
- Pose
- Skin parts
- Glowing + color
- Look-at-player radius / interval
- Scale
- Teleport to NPC / teleport NPC to you
- Delete NPC
Click Actions
Click Actions (Left / Right / Both)
In the NPC GUI go to Click Action.
You can configure actions separately for:
- Left click
- Right click
- Both (combined)
You can create an action chain by adding multiple actions.
Action editing tips
- Remove an action: middle-click an existing action.
- Add actions quickly: shift-click an action type to append it.
- Reorder / insert: pick up an action type onto your cursor and click a slot.
Common action types
Command
Executes a command.
- Input is requested without leading
/(the plugin stores it as/<command>). - You can use
@sto refer to the clicking player. - There is optional syntax validation.
Example:
warp spawnserver hubmsg @s Welcome!
Server (BungeeCord)
Sends the player to another BungeeCord server.
Example server name:
hub
Wait
Delays the next action.
- L/R click adjusts by
±0.1s - Shift+L/R adjusts by
±1.0s
Path
Makes the NPC walk along a saved path.
- You pick a path name + a speed (0.1–1.0).
- If needed, the plugin can create a short path from the NPC’s current location to the start of the saved path.
Path System Guide
Path System Guide
Paths are shared and stored in:
plugins/NpcPlugin/paths.yml
Create a path from points
-
Add points at your current location:
/npc path point add
Or add at a specific index:
/npc path point add <index>
-
List points:
/npc path point list [page]
-
Visualize / toggle visualization of current points:
/npc path visualize points
-
Create the path:
/npc path create <name> [maxIterations] [allowDiagonalMovement]
After creation you can visualize it:
/npc path visualize <name>
Record a path by walking
-
Start recording:
/npc path record start
-
Walk the route.
-
Stop recording:
/npc path record stop
-
Create the path:
/npc path create <name>
Edit an existing path
/npc path edit <name>
This loads the saved path’s waypoints into the point list so you can remove/add points and re-create it.
List / delete / test paths
/npc path list [page]/npc path delete <name>/npc path test <name> [speed]
Commands
Commands
Core
/npc create/npc copy <uuid>/npc edit(toggle edit-mode)/npc list(opens NPC list GUI)/npc tp <uuid>/npc tphere <uuid>/npc reload/npc version/npc update(checks for a new plugin version)
Config
/npc config reload/npc config debug [true|false]/npc config avoid-command-check [true|false]/npc config look-at-update-interval [ticks]/npc config input-time [seconds]/npc config auto-update [true|false]/npc config placeholder-timer [ticks]/npc config list
Exceptions (startup load failures)
/npc exceptions [page]/npc exceptions show <name>/npc exceptions delete <name>
Paths
All path commands are under:
/npc path ...
Main subcommands:
point add [index] [location] [rotation]point remove [index|location]point list [page]point clearcreate [name] [maxIterations] [allowDiagonalMovement]delete <name>list [page]visualize [name]visualize pointsrecord start|stoptest <name> [speed]edit <name>
Configuration
Configuration (config.yml)
look-at-update-interval:- Time in ticks between “look at player” updates.
avoid-command-check:- If
true, commands added to NPC actions will not be strictly validated.
- If
debug:- Enables extra debug logging.
input-time:- Conversation timeout in seconds (if
< 0, no timeout).
- Conversation timeout in seconds (if
auto-update:- Automatically updates NPCs after option changes.
placeholderTimer:- Time in ticks between placeholder refreshes.
Troubleshooting
Troubleshooting
- “This plugin does not support Paper servers!”
- You are running the Spigot build on a Paper server. Install the Paper build instead.
- Server action does nothing
- Ensure BungeeCord is set up and the server names match your proxy configuration.
- Can’t open the editor GUI
- Make sure you:
- Have
npc.admin - Enabled edit-mode via
/npc edit - The NPC is marked as editable
- Have
- Make sure you:
bStats
Совместимость
Minecraft: Java Edition
Создатели

Eisi05
Владелец