Drwei's PetManager
A powerful and feature-rich pet management plugin for Paper Minecraft servers. This plugin allows players to bind mobs as pets with custom names, colors, behaviors, potion effects, attributes, team sharing, and advanced features.
Quick challenge
How far can you run before the mobs catch you?
Minecraft check
Confirm your run
Complete the quick check to get your code.
Drwei's PetManager
Drwei's PetManager
A powerful and feature-rich pet management plugin for Paper Minecraft servers. This plugin allows players to bind mobs as pets with custom names, colors, behaviors, potion effects, attributes, team sharing, and advanced features like TRUCK collision damage mode and RIDEABLE mode.
Features
Core Features
- Team System: Bind any living entity as your pet with custom name and color - Team System: Support for Minecraft color codes, color names, and hex colors - Team System: follow, stay, attack, guard, wander - Team System: Apply custom potion effects to pets - Team System: Modify pet attributes like health, speed, damage, etc. - Team System: Respawn dead pets with all their data preserved - Team System: Share pets with team members
Advanced Features
- Multi-language Support: Collision damage system when riding pets - Normal mode: Damage based on speed (0-255) - SECKILL mode: Always 255 damage - Multi-language Support: Ride any mob, including flying creatures - WASD controls for movement - Space to jump/fly up - Shift to exit - Flying creatures support vertical movement - Multi-language Support: Apply all positive potion effects and set max health to 2048 - Multi-language Support: Automatic data persistence every 5 minutes - Multi-language Support: Adjust settings without server restart - Multi-language Support: English and Chinese
Installation
1. Download the latest version from the Releases page or this Modrinth page. 2. Place the `DrweiPetManager-<version>.jar` file in your server's `plugins` folder 3. Restart your server 4. Configure the plugin in `plugins/DrweiPetManager/config.yml`
Requirements
- Java Version: 1.21.1 - Java Version: Paper API 1.21.1 or higher - Java Version: 21
Commands
Player Commands
| Command | Description | Permission | |---------|-------------|------------| | `/pet` | Show help message | `petbinder.use` | | `/pet bind <type> <distance> <name> [public] [color]` | Bind a mob as pet | `petbinder.bind` | | `/pet list` | List your pets | `petbinder.list` | | `/pet portal [index]` | Teleport pet to you | `petbinder.portal` | | `/pet rename <index> <name> [color]` | Rename pet | `petbinder.rename` | | `/pet team <create|join|leave|info|addpet> [args]` | Manage pet teams | `petbinder.team` | | `/pet behavior <index> <follow|stay|attack|guard|wander>` | Set pet behavior | `petbinder.behavior` | | `/pet effect <index> <effect|invincible> [duration] [amplifier]` | Apply potion effects | `petbinder.effect` | | `/pet attribute <index> [attribute] [value]` | Modify pet attributes | `petbinder.attribute` | | `/pet unbind [index]` | Release pet | `petbinder.unbind` | | `/pet respawn` | Respawn dead pet | `petbinder.respawn` | | `/pet version` | Show plugin version | `petbinder.use` |
Admin Commands
| Command | Description | Permission | |---------|-------------|------------| | `/pet op list` | List all pets on server | `petbinder.op` | | `/pet op remove <player>` | Remove all pets from player | `petbinder.op` | | `/pet op config <action> [args]` | Dynamic configuration | `petbinder.op` | | `/pet op reload` | Reload configuration | `petbinder.op` | | `/pet op save` | Save pet data manually | `petbinder.op` | | `/pet op load` | Load pet data manually | `petbinder.op` |
Configuration
Basic Configuration
```yaml language: zh # Language: en or zh max-bind-distance: 10 # Maximum binding distance in blocks teleport-with-owner: true # Pets teleport with owner protect-from-all-damage: false # Protect pets from all damage remove-on-quit: false # Remove pets when owner quits ```
Permissions & Limits
```yaml permissions: max-pets-per-player: 0 # 0 = unlimited allowed-commands: bind: true list: true portal: true rename: true team: true behavior: true effect: true attribute: true unbind: true respawn: true allowed-features: truck: true rideable: true invincible: true seckill: true public-pets: true team-system: true blocked-entity-types: [] # Entities that cannot be bound max-truck-damage: 0 # 0 = unlimited ```
Usage Examples
Binding a Pet
``` /pet bind nearest 10 MyPet public &a ```
This binds the nearest mob within 10 blocks as a pet named "MyPet" with green color.
Setting Pet Behavior
``` /pet behavior 1 follow ```
This sets pet #1 to follow mode.
Making Pet Invincible
``` /pet effect 1 invincible ```
This applies all positive potion effects to pet #1.
Enabling TRUCK Mode
``` /pet attribute 1 truck 0.5 false ```
This enables TRUCK mode for pet #1 with minimum speed 0.5 blocks/sec.
Enabling SECKILL Mode
``` /pet attribute 1 truck 0.5 true ```
This enables SECKILL mode (always 255 damage) for pet #1.
Making Pet Rideable
``` /pet attribute 1 rideable ```
This enables rideable mode for pet #1.
Creating a Team
``` /pet team create MyTeam ```
This creates a new team named "MyTeam".
Adding Pet to Team
``` /pet team addpet MyTeam 1 ```
This adds pet #1 to the team "MyTeam".
Data Persistence
The plugin uses dual storage mechanism:
1. File Persistence: Real-time storage in entity NBT data 2. File Persistence: YAML file storage at `plugins/DrweiPetManager/pets.yml`
Auto-save runs every 5 minutes. You can also manually save/load using admin commands.
Building from Source
Prerequisites
- Java 21 - Maven 3.6+
Build Commands
```bash
Clone the repository
git clone https://github.com/herbrine8403/DrweiPetManager.git cd DrweiPetManager
Build the plugin
mvn clean package
The JAR file will be in target/DrweiPetManager-Beta0.1.0.jar
```
Permissions
All permissions use the prefix `petbinder.`:
- `petbinder.use` - Basic usage permission - `petbinder.bind` - Bind pets - `petbinder.list` - List pets - `petbinder.portal` - Teleport pets - `petbinder.rename` - Rename pets - `petbinder.team` - Manage teams - `petbinder.respawn` - Respawn pets - `petbinder.behavior` - Set pet behavior - `petbinder.effect` - Add potion effects - `petbinder.attribute` - Modify attributes - `petbinder.unbind` - Release pets - `petbinder.op` - Admin commands (default: OP only)
Support
- Issues: Report bugs and feature requests on Issues or %%MD1%%
License
This project is licensed under the MIT License - see the LICENSE file for details.
Credits
- Paper API: Drwei - Paper API: Paper API
Changelog
Beta0.1.0
- Initial beta release - Core pet binding and management features - Team system - TRUCK mode with SECKILL support - RIDEABLE mode - Auto-save mechanism - Dynamic configuration - Multi-language support (English/Chinese)