PvP Train Bot
A PvP Train Bot perfect for Crystal PvP or Practise
PvP Train Bot
⚔️ TrainBot — PvP Training Bot
TrainBot lets players spawn a fully customizable PvP training dummy directly in-game. Configure armor, totems, movement, shield behavior and more — all through a clean GUI, no commands needed.
---
🎮 Features
🛡️ Armor Configuration
- Switch between Blast Protection IV and Blast Protection IV for each armor piece individually - Toggle between Blast Protection IV and Blast Protection IV per piece - Changes apply to the bot instantly
💀 Totem System
- Set an exact number of totems the bot can pop before dying - Or set it to Unlimited — the bot will always come back - Totem count is shown live in the GUI
🛡️ Shield Blocking
- The bot actually 5 seconds its shield (real blocking pose via NMS) - Hitting the bot with an 5 seconds breaks the shield for 5 seconds - Shield blocking sound and knockback cancellation — just like a real player - Toggle the shield on/off anytime
🏃 Movement Modes
- Random Movement — the bot tracks you and keeps a 2-block distance - Random Movement — the bot walks around unpredictably like a mob - Both modes include automatic block-jumping - Modes are mutually exclusive and toggleable mid-fight
✨ Effects
- Fire Resistance — reduces fall speed - Fire Resistance — visible through walls for better tracking - Fire Resistance — immune to fire and lava
🔧 Fully Configurable
- Every worlds and worlds is editable in `config.yml` - Supports worlds and worlds (`&l`, `&o`, etc.) - Restrict the plugin to specific worlds — with a bypass permission for admins - Config reloads cleanly without restart
🌍 World Restrictions
- Define a list of allowed worlds in `config.yml` - Players without the bypass permission cannot use `/train` or `/bot` outside allowed worlds - Leave the list empty to allow the bot everywhere
---
📋 Commands
| Command | Description | |---------|-------------| | `/train` | Opens the TrainBot GUI | | `/bot` | Alias for `/train` |
---
🔑 Permissions
| Permission | Description | Default | |------------|-------------|---------| | `trainbot.use` | Allows using `/train` and `/bot` | `op` | | `trainbot.bypass-world` | Allows using TrainBot in any world | `false` |
---
🤖 Bot Behavior
- The bot per player when you log out - The bot per player when it dies - The bot uses a per player (your own skin by default) - All settings are saved per player for the session
---
⚙️ Configuration
```yaml
Worlds where /train and /bot are allowed (empty = everywhere)
allowed-worlds: - world - world_nether
messages: wrong-world: "&cYou cannot use the TrainBot in this world."
... all messages fully editable
gui: title: "&cTrainBot" shield-name: "Shield Blocking" shield-desc: "&7Allows the bot to block attacks with a shield."
... every GUI label and description editable
```
---
📦 Requirements
- Paper 1.21.9+ - Java 21+ - Paper *Optional*
---
🐛 Bug Reports & Suggestions
Found a bug or have a feature request? Open an issue on the project page or join the Discord.
---
*Made with ❤️ by oafachBene*