Плагины/NPC Plugin
NPC Plugin

NPC Plugin

Customizable NPCs via GUI and API

6.9K
15

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 @s as 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.

API / Developer Documentation

Permissions

  • npc.admin
    • Default: OP
    • Grants access to all /npc commands and the in-game editor.

Guides

Getting Started (Installation + Quick Start)

Installation

  1. Download the jar and place it into your server’s plugins/ folder.
  2. Start the server once.
  3. Configure (optional):
    • plugins/NpcPlugin/config.yml
    • plugins/NpcPlugin/lang/<language>/*.yml
  4. 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 .png file)
  • “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 @s to refer to the clicking player.
  • There is optional syntax validation.

Example:

  • warp spawn
  • server hub
  • msg @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

  1. Add points at your current location:

    • /npc path point add

    Or add at a specific index:

    • /npc path point add <index>
  2. List points:

    • /npc path point list [page]
  3. Visualize / toggle visualization of current points:

    • /npc path visualize points
  4. Create the path:

    • /npc path create <name> [maxIterations] [allowDiagonalMovement]

After creation you can visualize it:

  • /npc path visualize <name>

Record a path by walking

  1. Start recording:

    • /npc path record start
  2. Walk the route.

  3. Stop recording:

    • /npc path record stop
  4. 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 clear
  • create [name] [maxIterations] [allowDiagonalMovement]
  • delete <name>
  • list [page]
  • visualize [name]
  • visualize points
  • record start|stop
  • test <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.
  • debug:
    • Enables extra debug logging.
  • input-time:
    • Conversation timeout in seconds (if < 0, no timeout).
  • 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
bStats

bStats

Совместимость

Minecraft: Java Edition

1.20–1.21.111.18–1.19.41.17.1

Создатели

Eisi05

Eisi05

Владелец

Детали

Лицензия:MIT
Опубликован:3 месяца назад
Обновлён:1 день назад