PlayerDummies
Advanced Combat Training Dummies for Your Minecraft Server
THIS PLUGIN DEPENDS ON THE CITIZENS PLUGIN
⚠️ Early Development Notice
PlayerDummies is currently in early development. While fully functional, you may encounter bugs or missing features.
If you encounter bugs: • Open an issue on GitHub • Or join the Discord Server
Your feedback helps improve the plugin <3
Overview
PlayerDummies is a lightweight plugin that adds realistic combat training dummies to your Minecraft server.
Perfect for:
- PvP servers
- Practice arenas
- Damage testing zones
- Combat tutorials
- Minigame lobbies
PlayerDummies creates fully interactive Citizens NPCs that:
- Accurately simulate real player damage (including armor and enchantment reduction)
- Support all weapons, armor tiers, enchantments, and potions
- Provide real-time combat feedback in your action bar
- Never die or get knocked back
Key Features
Realistic Combat Dummies
- Citizens NPCs simulate real player damage behaviour
- Supports all weapons, armor tiers (Leather → Netherite), enchantments, and potions
- Accurate critical hit detection, mace fall-damage bonus, and Strength potion tracking
- Projectile support - arrows, tridents, snowballs and more all register hits
Real-Time Damage Tracking
- Live display in your action bar (or chat, if configured): Damage: 7.5 (3.8 ❤)
- Shows both raw damage dealt and hearts lost after armor/enchantment reduction
- Reflects what you would actually deal to a fully-geared player
Full Customisation via GUI
- Shift + Right-click a dummy to open the Dummy Manager GUI
- Rename your dummy with custom colour codes
- Change the skin to any Minecraft username (Citizens integration)
- Equip any armor set through the dedicated Armor Editor - helmet, chestplate, leggings, boots
- Pick up your dummy directly from the GUI
Persistent & Owner-Protected
- Dummies survive server restarts (saved per-UUID under plugins/PlayerDummies/data/)
- Only the placer can manage their dummy by default (configurable)
- Automatic orientation on placement - dummy faces you
Requirements
Required:
- Minecraft 1.18.2+
- Spigot or Paper
- Java 17+
- Citizens - required, plugin will not load without it
Optional:
- PlaceholderAPI (for placeholder support)
How It Works
For Server Owners
1. Installation
- Place the JAR into your plugins/ folder
- Install Citizens (required)
- Restart your server
- Configure settings in plugins/PlayerDummies/config.yml
2. Configuration
config.yml
# PlayerDummies configuration
#
# This file uses top-level keys for clarity. Each option includes a short
# description above it — change values as needed and reload with
# "/dummies reload".
#######################################################################
# Item / gameplay
#######################################################################
item:
# Material of the item you get when using /dummies give or picking up a dummy.
# Use any valid Bukkit material name (e.g. PLAYER_HEAD, STICK).
material: PLAYER_HEAD
removal:
# Require the player to be sneaking (shift) when right-clicking the NPC to pick it up.
require-sneak: true
notifications:
# Number of decimal places to show for damage values in messages/action bar.
precision: 1
#######################################################################
# NPC / Skin / Name settings
#######################################################################
# Display name shown above dummy NPCs. Supports color codes (&).
# Example: "&ePlayer Dummy" -> yellow name "Player Dummy".
npc-name: "&ePlayer Dummy"
# Whether the NPC's name is visible above their head.
# For Citizens the name appears like a real player nametag.
npc-name-visible: true
# Default Minecraft username / skin identifier used by NPC plugins.
# Leave empty for no specific skin. Works only with Citizens.
# Example: npc-skin: "Notch"
npc-skin: "P3tar_mc"
#######################################################################
# Messaging, debug, permissions
#######################################################################
# If true the plugin will send messages to chat instead of
# the action bar when reporting damages.
use-chat-for-messages: false
# Enable verbose debug logging to console (developer use)
debug: false
# Debug level: 1 = normal debug, 2 = verbose / development-only
# Setting this to 2 will enable extra logs intended for development.
# DO NOT TURN THIS ON UNLESS YOU ARE A DEVELOPER OR HAVE BEEN ASKED TO BY THE AUTHOR, AS IT WILL GENERATE A LOT OF LOGS!
debug-level: 1
# If false, only the owner/placer of a dummy can pick it up.
allow-non-owners-break: false
#######################################################################
# WorldGuard integration
# TEMPORARILY DISABLED - will be reworked in a future update. For now, the plugin ignores WorldGuard flags.
#######################################################################
#worldguard:
# # Enable/disable WorldGuard integration (if WG is installed)
# enabled: true
# # Respect flags when placing dummies (requires WG installed)
# enforce-place: true
# # Respect flags when picking up dummies
# enforce-break: true
# # Respect flags when damaging dummies
# enforce-damage: true
#######################################################################
# Storage / persistence
#######################################################################
# Saved NPCs are stored as YAML files under the plugin data 'data/' folder.
# Each file is named <uuid>.yml and contains position, owner, type and skin.
3. Permissions
All permissions default to op.
- playerdummies.give - Use /dummies give
- playerdummies.reload - Reload the plugin config and messages
- playerdummies.admin - Access admin commands: list, remove, info
For Players
Step 1 - Get a Dummy
- Use /dummies give (requires permission)
- You receive a Player Dummy item (a player head) in your inventory
Step 2 - Place It
- Hold the dummy item and right-click a block
- The dummy spawns on top of the block, automatically facing you
- One dummy item is consumed per placement
Step 3 - Manage via GUI
Shift + Right-click the dummy to open the Dummy Manager:
- ️ Set Display Name - Click, then type a name in chat (supports & colour codes)
- Set Skin - Click, then type a Minecraft username in chat
- ️ Armor Editor - Opens a GUI to equip helmet, chestplate, leggings, and boots
- Pick Up Dummy - Removes the dummy and returns the item to your inventory
- ↩️ Back - Close the menu
Inside the Armor Editor:
- Drag armor pieces into the four armor slots
- Shift-click armor from your inventory to auto-fill the correct slot
- Click Save Armor to apply changes to the dummy
- Closing without saving returns any items you placed back to your inventory
Step 4 - Test Damage
- Attack the dummy normally
- Your action bar shows: Damage: X.X (X.X ❤) - actual damage after the dummy's armor and enchantments
- Test any weapon, enchantment, potion, critical hit, or projectile combination
- The dummy never dies or moves
Commands
/dummies give <player> <amount> - Give dummy items to a player
/dummies reload - Reload config and messages
/dummies list - List all saved dummies (admin)
/dummies remove <uuid> - Force-remove a dummy by its UUID (admin)
/dummies info <uuid> - Show details about a dummy (admin)
Aliases: /dummy and /dummies both work.
Use Cases
⚔PvP Practice Arenas Train against a fully-geared dummy before entering competitive zones.
Damage Testing Labs Optimise builds, enchantments, and potion combos with accurate feedback.
Minigame Lobbies Keep players engaged while waiting for a game to start.
Combat Tutorials Teach new players mechanics in a safe, controlled environment.
API for Developers
An official API is currently in development. Stay tuned for integration features.
Why Choose PlayerDummies?
- ✅ Lightweight & optimized
- ✅ Accurate armor & enchantment damage simulation
- ✅ GUI-based dummy management
- ✅ Built for modern Minecraft
- ✅ Persistent storage
- ✅ Simple and intuitive
Support & Updates
Found a bug? Report it here: GitHub Issue Tracker
Want a feature? Suggest it in the Discord Server
Screenshots

