⚡ AtbarNpc
High-Performance Packet-Based NPC Plugin
Lightweight. Blazing-fast. Zero entity overhead.
Native ModelEngine R4 support.
Spigot / Paper 1.20+ | Java 21+ | PacketEvents | ModelEngine R4
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
What is AtbarNpc?
AtbarNpc is a modern, high-performance NPC plugin for Spigot / Paper 1.20+ servers with native ModelEngine support.
Unlike traditional NPC plugins that spawn real entities, AtbarNpc uses packet-based virtual entities — NPCs only exist on the client side, meaning your server TPS stays untouched even with hundreds of NPCs running simultaneously.
Why AtbarNpc?
Most NPC plugins only support player skins. AtbarNpc goes further — it natively supports ModelEngine R4, allowing you to use any custom 3D model as an NPC. Combine that with multi-line holograms, click commands, and zero performance cost — and you get the most versatile NPC solution available.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✨ Features
Three NPC Types — One Plugin
- Player — Classic player-skin NPCs. Set any skin by player name or texture URL.
- Vanilla Mob — Use any vanilla entity as an NPC — Villager, Zombie, Iron Golem, animals, and more.
- ModelEngine Model — The killer feature. Use any custom ModelEngine R4 3D model as an NPC. Dragons, custom mobs, furniture — anything. Combined with holograms and click commands, the possibilities are endless.
All three types support holograms, click commands, glow effects, and look-at-player — they just look different.
Core Features
- Packet-Based — NPCs are purely client-side. Zero TPS impact. No real entities on the server.
- ModelEngine R4 Integration — First-class support for custom 3D models. Turn any .bbmodel into a living NPC.
- Hologram Text — Multi-line floating text via Text Display. Supports MiniMessage (colors, gradients).
- Click Commands — Execute commands on right-click. Supports %player% placeholder.
- View-Distance Tracking — NPCs auto spawn/despawn based on configurable player distance.
- Look-At-Player — Smooth head rotation to face nearby players.
- Glow Effect — Customizable glow colors per NPC.
- Smart Selection — Select NPCs by looking at them or by ID — no UUID memorizing.
- Auto-Save — YAML storage with configurable auto-save intervals.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Performance
Designed from the ground up to be lightweight.
NPC Count | Real Entities (TPS) | AtbarNpc / Packets (TPS)
-----------+-----------------------+---------------------------
100 | 18 - 19 | 20
500 | 12 - 15 | 19 - 20
1000 | 5 - 10 | 18 - 19
How?
- Async distance checks (off main thread)
- View-distance culling (only visible NPCs send packets)
- Batch packet sending (reduced network overhead)
- GameProfile & skin caching
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Commands
Creation
/npc create Create a Player NPC at your location
/npc create <entityType> Create a vanilla mob NPC (VILLAGER, ZOMBIE, etc.)
/npc create model:<id> Create a ModelEngine model NPCSelection & Info
/npc sel Select the NPC you're looking at
/npc sel <id> Select an NPC by ID
/npc list List all NPCs
/npc near [radius] List nearby NPCs (default: 10 blocks)
/npc info View selected NPC info
/npc delete Delete selected NPCPosition
/npc tp Teleport to the selected NPC
/npc movehere Move the NPC to your locationAppearance (types are mutually exclusive)
/npc skin <player|url> Set skin (switches to PLAYER type)
/npc entity <type> Switch to vanilla mob type
/npc model <modelId> Set ModelEngine model (switches to MODEL type)
/npc name <name> Set display name
/npc lookat <true|false> Toggle look-at-player
/npc glow <true|false> [color] Toggle glow effectHologram
/npc hologram add <text> Add a hologram line (MiniMessage supported)
/npc hologram remove <line> Remove a hologram line
/npc hologram set <line> <text> Edit a hologram line
/npc hologram clear Clear all hologram linesClick Commands
/npc addcmd <command> Add a right-click command
/npc removecmd <index> Remove a command by index
/npc listcmd List all commands
/npc clearcmd Clear all commands
Placeholder: %player% → player name━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Permissions
- atbarnpc.admin — Access to all NPC management commands (Default: OP)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Dependencies
- PacketEvents — Required — Packet handling library (Spigot variant)
- ModelEngine R4 — Optional — Enables custom 3D model NPCs
Server: Spigot / Paper 1.20+ | Java: 21+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚙️ Configuration
config.yml
# Tracking
tracking:
distance: 48 # blocks
update-interval: 10 # ticks
# Hologram
hologram:
default-offset: 0.3
model-offset: 0.1
line-spacing: 0.25
# NPC Defaults
npc-defaults:
look-at-player: true
collidable: false
# Performance
performance:
load-delay: 100 # ticks
auto-save:
enabled: true
interval: 300 # seconds
debug: falsenpcs.yml (example)
npcs:
"550e8400-e29b-41d4-a716-446655440000":
display-name: "Shop Keeper"
location:
world: "world"
x: 100.5
y: 64.0
z: -200.5
yaw: 90.0
pitch: 0.0
type: PLAYER
skin-texture: "ewogICJ0aW1lc3RhbXAi..."
skin-signature: "signature..."
hologram:
lines:
- "<gold>Shop Keeper</gold>"
- "<gray>Right-click to open shop</gray>"
offset: 0.3
look-at-player: true
glowing: false
collidable: false
commands:
- "openguishop shop"━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
If you encounter any issues or have feature requests, feel free to post in the discussion tab.
Made by Atbar
Similar projects
Plugin →Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
25MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
Emotecraft
Create your own emotes in Minecraft.
7.5MSueta
Simple Tpa
A simple tpa plugin which sends requests
5.4MSueta
Common Network
Forge and Fabric Unified Networking Solution
3.9MSueta
Set Home
A lightweight plugin for players to set their homes.
3.8MSueta