SmartPets
![[IMG]](//proxy.spigotmc.org/d627b9123bfcd95ab4f48090b09d3d16a1cff316/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f76657273696f6e2d322e302d626c75652e737667)
![[IMG]](//proxy.spigotmc.org/ba89e83d9b04a37ae0cda74c6165bb132791655d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6d696e6563726166742d312e31362e352d2d312e32312e31302d677265656e2e737667)
SmartPets is a revolutionary AI-driven pet system for Minecraft servers featuring emotional intelligence, advanced behaviors, dynamic evolution, and automatic database driver downloads. Experience the most sophisticated pet plugin with 12+ intelligent behaviors, 8-stat emotion system, and seamless multi-server compatibility.
Key Features
Advanced AI System
- 12+ Intelligent Behaviors: Follow, Guard, Hunt, Play, Rest, Attack, Flee, Assist, Scout, Patrol, Search Food, Alert
- 8-Stat Emotion System: Hunger, Energy, Affection, Happiness, Trust, Loyalty, Fear, Anger
- Context-Aware Decision Making: Pets consider time, environment, and player interactions
- Dynamic Behavior Switching: Emotions and needs influence pet actions
- Adaptive Personality Archetypes (NEW): Nurturer, Guardian, Explorer, or Playmate profiles bias decisions and dialogue
Rich Gameplay Features
- Experience & Leveling: Pets gain XP through various activities and level up
- Skill System: Unlock new abilities as pets advance (7+ skills available)
- Evolution System: Transform pets into more powerful forms
- Pet Shop: Adopt from 8+ available pet types with different characteristics
- Memories Dashboard: Pin favorite spots, praise/flag known players, tag safe or dangerous zones, and get compass guidance or behavior boosts directly from the UI
- Personality Evolution: Traits shift dynamically based on memories, behavior reinforcement, and owner preferences
- Complete GUI System: Intuitive menus for players and administrators
Technical Excellence
- Automatic Driver Downloads: No manual database setup required
- Multi-Storage Support: YAML (default), SQLite, MySQL with automatic fallback
- Lightweight Distribution: JAR under 2MB, drivers downloaded at runtime
- Universal Compatibility: Paper/Spigot/Folia/Purpur support (1.16.5-1.21.8)
- Professional Integrations: Vault, PlaceholderAPI, DecentHolograms, LuckPerms
- Adaptive Behavior Manager: Personality-weighted modifiers harmonised with reinforcement learning
Requirements
Mandatory
- Minecraft: 1.16.5 - 1.21.10
- Server: Paper, Spigot, Folia, Purpur, or Luminol
- Java: 17 or higher
- Vault: Required dependency for economy features
Optional
- PlaceholderAPI: Custom placeholders for other plugins
- DecentHolograms: Holographic displays for pets
- LuckPerms: Advanced permission management
- Citizens: NPC integration potential
- ModelEngine 4: Attach bespoke 3D models and animate them with SmartPets emotion/trigger hooks
- MythicMobs: Map SmartPets triggers to Mythic skills or apply Mythic mob profiles to pets
Installation
- Download SmartPets-2.0.jar
- Install Vault plugin (required dependency)
- Place SmartPets jar in your plugins/ folder
- Start your server - drivers download automatically
- Configure using `/petadmin reload` after first run
Commands
Player Commands
/pet (Aliases:
/pets,
/smartpet,
/mascota)
Main pet management command with multiple sub-actions:
Code (Text):
/pet - Open main pet menu
/pet help - Show help information
/pet list - List your owned pets
/pet select <name> - Select active pet
/pet rename <name> - Rename your active pet
/pet release - Release your active pet
/pet shop - Open pet adoption shop
/pet evolve - Evolve your active pet
/pet info - Show detailed pet information and personality snapshot (NEW)
/pet personality [ID] - Analyze personality traits and latest adjustments (NEW)
/pet memories - Review social memories, relationships, and events (NEW in v2.0)
/pet memories mark <name> - Pin your current location as a memorable spot (NEW)
Required Permission: `smartpets.command.pet` (default: true)
Admin Commands
/petadmin (Aliases:
/smartpetadmin,
/petsa)
Administrative management commands:
Code (Text):
/petadmin reload - Reload plugin configuration
/petadmin give <player> <type> - Give pet to player
/petadmin reset <player> - Reset player's pet data
/petadmin delete <player> <name> - Delete specific pet
/petadmin debug - Show system debug information
/petadmin debug learning [player] - Inspect learning signals and preferences (NEW in v2.0)
/petadmin debug integrations - Summarise ModelEngine/MythicMobs integration status (NEW)
/petadmin menu - Open admin management GUI
Required Permission: `smartpets.command.admin` (default: op)
Permissions
Hierarchical Permission System
Code (YAML):
# Master permissions
smartpets.* -
All SmartPets features
(Super Admin
)
smartpets.command.* -
All commands
smartpets.pet.* -
All pet-related permissions
smartpets.admin.* -
All admin permissions
smartpets.shop.* -
All shop permissions
# Basic permissions
smartpets.command.pet - Use /pet command (default
: true
)
smartpets.command.pet.memories.mark - Pin locations with /pet memories mark (default
: true
)
smartpets.command.admin - Use /petadmin commands (default
: op
)
smartpets.pet.own - Own pets (default
: true
)
smartpets.pet.evolve - Evolve pets (default
: true
)
smartpets.pet.rename - Rename pets (default
: true
)
# Advanced permissions
smartpets.pet.limit.bypass - Bypass pet ownership limits (default
: op
)
smartpets.pet.limit.2 - Own up to 2 pets
smartpets.pet.limit.3 - Own up to 3 pets
smartpets.pet.limit.5 - Own up to 5 pets
smartpets.pet.limit.10 - Own up to 10 pets
# Pet type restrictions
smartpets.pet.type.WOLF - Acquire Wolf pets (default
: true
)
smartpets.pet.type.FOX - Acquire Fox pets (default
: true
)
smartpets.pet.type.CAT - Acquire Cat pets (default
: true
)
smartpets.pet.type.IRON_GOLEM - Acquire Iron Golem pets (default
: op
)
# Shop permissions
smartpets.shop.use - Access pet shop (default
: true
)
smartpets.shop.buy - Purchase pets (default
: true
)
# Admin permissions
smartpets.admin.reload - Reload configuration (default
: op
)
smartpets.admin.give - Give pets to players (default
: op
)
smartpets.admin.reset - Reset player data (default
: op
)
smartpets.admin.delete - Delete specific pets (default
: op
)
smartpets.admin.debug - View debug information (default
: op
)
smartpets.admin.menu - Access admin GUI (default
: op
)
Configuration
Main Configuration (config.yml)
SmartPets provides extensive configuration with 490+ lines of options.
General Settings (Enhanced in v1.9)
Code (YAML):
general:
storage-type
:
"YAML"
# YAML, SQLITE, MYSQL
max-pets-per-player
: 1
# Default pet limit
debug
: false
# Enable debug logging
metrics
: true
# bStats metrics
language
:
"en"
# Language file to use
communication:
conversation-enabled
: true
# Enable /pet talk conversations
conversation-cooldown
: 30
# Seconds between conversations
interaction-feedback
: true
# Show interaction results
emotion-display-enabled
: true
# Rich visual emotion display
emotion-display-duration
: 10
# Seconds to show emotions
species-responses
: true
# Species-specific responses
Logging Profiles (v2.0)
Code (YAML):
logging:
level
:
"NORMAL"
default-rate-limit-seconds
: 30
categories:
anti-conflict:
enabled
: true
rate-limit-seconds
: 30
entity-spawn:
enabled
: true
rate-limit-seconds
: 20
tasks:
enabled
: false
Fine-tune which subsystems write to console; enabling `general.debug` automatically boosts the level to `DEBUG` while still respecting category toggles.
Memory System (v2.0)
Code (YAML):
memory:
enabled
: true
player-limit
: 64
location-limit
: 128
events-limit
: 50
snapshots-limit
: 200
snapshots:
interval-seconds
: 300
async
: true
Configure how many players, locations, and events each pet remembers and how frequently emotional snapshots are captured. All limits support per-server overrides.
- Drop-click a player memory to praise that ally; Ctrl+Drop flags them as caution cases.
- Drop-click a location memory to mark it as safe; Ctrl+Drop marks it as dangerous.
- Shift/Right-click shortcuts remain available for quick trust boosts and compass guidance.
Personality Evolution & Adaptive Behavior (v2.0)
Code (YAML):
personality:
enabled
: true
evolution:
interval-seconds
: 120
snapshot-max-age-seconds
: 600
trait-decay
: 1
snapshot-weight
: 1.5
behavior-weight
: 2.0
preference-weight
: 1.5
experience-history-limit
: 12
notify-on-change
: true
adaptive-behavior:
enabled
: true
positive-threshold
: 65
negative-threshold
: 35
neutral-dead-zone
: 8
max-positive-boost
: 0.2
max-negative-penalty
: 0.15
archetype-alignment-bonus
: 0.08
feedback:
play-sound
: true
sound
:
"ENTITY_PLAYER_LEVELUP"
sound-volume
: 0.8
sound-pitch
: 1.2
spawn-particles
: true
particle
:
"HEART"
particle-count
: 12
Control evaluation cadence, the size of the personality timeline, the strength of adaptive modifiers, and audiovisual cues triggered when archetypes shift.
Pet Type Configuration
Code (YAML):
pet-types:
enabled-pet-types
:
-
"WOLF"
-
"FOX"
-
"CAT"
-
"PARROT"
-
"SHEEP"
-
"RABBIT"
-
"PIG"
blocked-pet-types
:
-
"IRON_GOLEM"
-
"SLIME"
AI Behavior System (Enhanced in v1.9)
Code (YAML):
behavior:
behavior-task-interval
: 10
emotion-task-interval
: 60
follow-chance
: 0.3
guard-chance
: 0.2
hunt-chance
: 0.15
play-chance
: 0.25
rest-chance
: 0.1
hunt-range
: 16
guard-range
: 8
follow-distance
: 3
interaction-types:
comfort-enabled
: true
praise-enabled
: true
play-enabled
: true
celebration-enabled
: true
search-food:
scan-radius
: 8.0
eat-radius
: 3.0
max-search-time
: 30
scan-interval
: 2
hunger-per-food
: 40
full-hunger-threshold
: 90
Emotion System (Enhanced in v1.9)
Code (YAML):
emotions:
hunger-decay-rate
: 1
energy-decay-rate
: 1
affection-decay-rate
: 1
fear-decay-rate
: 1
anger-decay-rate
: 1
minimum-hunger
: 0
minimum-energy
: 0
minimum-affection
: 0
minimum-happiness
: 0
minimum-trust
: 0
minimum-loyalty
: 0
minimum-fear
: 0
minimum-anger
: 0
neglect-threshold-minutes
: 30
neglect-happiness-penalty
: 5
neglect-trust-penalty
: 3
visual-communication:
enabled
: true
update-interval
: 5
display-duration
: 10
intensity-levels
: 5
combination-display
: true
contextual-expressions
: true
fear-threshold-to-attack
: 50
fear-threshold-to-flee
: 70
happiness-threshold-play
: 60
Experience System
Code (YAML):
experience:
base-exp-requirement
: 100
level-multiplier
: 1.5
max-level
: 50
feeding-exp-gain
: 5
petting-exp-gain
: 3
killing-mob-exp-gain
: 10
defending-player-exp-gain
: 15
following-period-exp-gain
: 2
playing-period-exp-gain
: 4
assisting-player-exp-gain
: 8
successful-hunt-exp-gain
: 12
guarding-area-exp-gain
: 6
scouting-area-exp-gain
: 7
Integration Settings
Code (YAML):
integrations:
luckperms:
enable
: true
decentholograms:
enable
: true
placeholderapi:
enable
: true
modelengine:
enable
: true
auto-fallback
: true
models:
WOLF:
model-id
:
"smartpets:wolf_guardian"
idle-state
:
"idle"
walk-state
:
"walk"
emotion-animations:
HAPPY
:
"tail_wag"
ANGRY
:
"battle_ready"
SCARED
:
"cower"
trigger-animations:
summon
:
"summon_pop"
event.levelup
:
"celebrate"
feedback.feeding_success
:
"eat_treat"
mythicmobs:
enable
: true
profiles:
WOLF:
mob-id
:
"SmartPetsGuardian"
mob-level
: 10.0
apply-to-entity
: true
trigger-skills:
summon
:
"SP_GuardianSpawn"
event.levelup
:
"SP_GuardianCelebrate"
feedback.petting_happy
:
"SP_GuardianPurr"
ModelEngine Animation Bridge
- SmartPets decorates vanilla entities after spawn when ModelEngine 4 is available.
- Configure integrations.modelengine.models per pet type with a model-id, optional idle/walk states, and mappings for both emotions and triggers.
- Emotion keys mirror the PetEmotion enum: HAPPY, SAD, ANGRY, LONELY, HUNGRY, PLAYFUL, PROUD, SCARED, SLEEPY, EXCITED.
- Trigger keys emitted by SmartPets: summon, despawn, event.adopt, event.evolve, event.levelup, event.death, event.remove, feedback.feeding_success, feedback.feeding_full, feedback.petting_happy, feedback.petting_annoyed, feedback.level_up_hint, feedback.evolution_ready, feedback.skill_unlock.
- Set auto-fallback: true to revert to vanilla entities when a model mapping fails or the API is unavailable.
- Run /petadmin debug integrations to confirm runtime detection and mappings.
Sample mapping ties animations to emotions and SmartPets triggers so custom rigs respond to memory and learning changes.
MythicMobs Skill Bridge
- Define profiles in integrations.mythicmobs.profiles to apply MythicMob templates.
- Trigger list matches ModelEngine bridge, keeping animations and abilities synchronized.
- Skill execution is routed through MythicBukkit; failures fall back to vanilla behavior.
- Run /petadmin debug integrations to list configured profiles and wired skills.
Integration Quick Start Checklist
- Enable the bridge: set integrations.modelengine.enable or integrations.mythicmobs.enable to true.
- Map the content:
- ModelEngine → define model-id, emotion-animations, trigger-animations.
- MythicMobs → register mob-id and trigger-skills.
- Reload: run /petadmin reload or restart the server.
- Diagnose: execute /petadmin debug integrations to confirm mappings.
- Monitor: check bStats metrics for modelengine_* and mythicmobs_*.
- Fallbacks: with auto-fallback: true, SmartPets returns to vanilla entities if integration fails.
Database Configuration
Code (YAML):
database:
mysql:
host
:
"localhost"
port
: 3306
database
:
"smartpets"
username
:
"root"
password
:
""
ssl
: false
sqlite:
filename
:
"smartpets.db"
Skills Configuration (skills.yml)
Code (YAML):
skills:
heal:
name
:
"Healing Aura"
description
:
"Regenerates health over time"
unlock-level
: 5
cooldown
: 30
effect-duration
: 10
shield:
name
:
"Protective Shield"
description
:
"Absorbs incoming damage"
unlock-level
: 10
cooldown
: 60
shield-amount
: 4
speed:
name
:
"Swift Movement"
description
:
"Increases movement speed"
unlock-level
: 3
cooldown
: 45
speed-boost
: 2
Pet Shop Configuration (available_pets.yml)
Code (YAML):
available-pets:
wolf_basic:
type
:
"WOLF"
name
:
"Loyal Wolf"
description
:
"A faithful companion"
price
: 1000
permission
:
"smartpets.pet.type.WOLF"
fox_clever:
type
:
"FOX"
name
:
"Clever Fox"
description
:
"An intelligent scout"
price
: 1500
permission
:
"smartpets.pet.type.FOX"
Language Configuration (lang.yml)
SmartPets v1.9 adds 50+ new translation keys for the conversation and interaction systems.
Code (YAML):
commands:
pet:
help
:
"&6SmartPets Help:"
no-pets
:
"&cYou don't have any pets!"
pet-selected
:
"&aSelected pet: &f{pet_name}"
talk-started
:
"&aStarting conversation with {pet_name}..."
stats-header
:
"&6=== Pet Statistics ==="
no-active-pet
:
"&cYou don't have an active pet."
menus:
main:
title
:
"SmartPets Management"
adopt-pet
:
"&aAdopt New Pet"
manage-pets
:
"&eManage Pets"
conversation:
title
:
"Talk to {pet_name}"
current-state
:
"Current State: {emotion_display}"
cooldown-active
:
"&cYou talked to your pet recently. Wait {time} seconds."
feedback:
hunger:
low
:
"&e{pet_name} is getting hungry!"
critical
:
"&c{pet_name} is starving!"
interactions:
comfort:
scared-success
:
"&aYou comfort {pet_name}. They feel safer now."
not-needed
:
"&e{pet_name} doesn't need comfort right now."
praise:
success
:
"&aYou praise {pet_name}. They beam with pride!"
cooldown
:
"&eYou recently praised {pet_name}. Give them time to process."
responses:
wolf:
happy
:
"*wags tail happily and pants contentedly*"
scared
:
"*whines softly and moves closer to you*"
hungry
:
"*looks at you hopefully with puppy eyes*"
cat:
happy
:
"*purrs contentedly and rubs against your legs*"
scared
:
"*flattens ears and crouches low*"
tired
:
"*yawns and stretches gracefully*"
parrot:
happy
:
"*sings melodiously and flaps wings excitedly*"
curious
:
"*tilts head and chirps inquisitively*"
content
:
"*preens feathers and chirps softly*"
AI Behavior System
Behavior Types
1. Follow Behavior
- Description: Pet follows the player maintaining optimal distance
- Triggers: Player movement, high affection
- Configuration: follow-distance, follow-chance
2. Guard Behavior
- Description: Pet protects player from hostile entities
- Triggers: Nearby threats, high loyalty
- Configuration: guard-range, guard-chance
3. Hunt Behavior
- Description: Pet actively seeks and attacks prey
- Triggers: Low hunger, high energy
- Configuration: hunt-range, hunt-chance
4. Play Behavior
- Description: Pet performs playful animations and interactions
- Triggers: High happiness, medium energy
- Configuration: play-chance, play-duration
5. Rest Behavior
- Description: Pet finds safe spots to recover energy
- Triggers: Low energy, high trust
- Configuration: rest-chance, energy-recovery-rate
6. Attack Behavior
- Description: Pet aggressively defends against threats
- Triggers: High anger, player in danger
- Configuration: attack-range, damage-multiplier
7. Flee Behavior
- Description: Pet retreats from dangerous situations
- Triggers: High fear, low health
- Configuration: flee-distance, fear-threshold
8. Assist Behavior
- Description: Pet helps player with various tasks
- Triggers: High loyalty, player activity
- Configuration: assist-range, assist-types
9. Scout Behavior
- Description: Pet explores surroundings and reports findings
- Triggers: High curiosity, new areas
- Configuration: scout-range, report-interval
10. Patrol Behavior
- Description: Pet guards a designated area systematically
- Triggers: Guard mode, territorial instinct
- Configuration: patrol-radius, patrol-speed
11. Search Food Behavior
- Description: Pet looks for food when hungry
- Triggers: High hunger, available food sources
- Configuration: search-range, food-types
12. Alert Behavior
- Description: Pet warns player of potential dangers
- Triggers: Detected threats, high awareness
- Configuration: alert-range, alert-types
Emotion System
Core Emotions
- Hunger (0-100): Drives food-seeking behavior
- Energy (0-100): Affects activity levels and rest needs
- Affection (0-100): Influences loyalty and following
- Happiness (0-100): Affects playfulness and general mood
Social Emotions
- Trust (0-100): Determines willingness to follow commands
- Loyalty (0-100): Influences protective behaviors
- Fear (0-100): Triggers defensive and flee behaviors
- Anger (0-100): Drives aggressive responses
Emotion Interactions
Code (Text):
High Affection + High Trust = Strong Following Behavior
High Hunger + Low Energy = Food Search Priority
High Fear + Low Health = Immediate Flee Response
High Loyalty + Threat Detected = Guard/Attack Mode
API Integration
SmartPets API (Java Example)
Code (Java):
// Get API instance
SmartPetsAPI api
= SmartPets.
getInstance
(
).
getAPI
(
)
;
// Get player's pets
List
<Pet
> pets
= api.
getPlayerPets
(player.
getUniqueId
(
)
)
;
// Get active pet
Pet activePet
= api.
getActivePet
(player.
getUniqueId
(
)
)
;
// Create new pet
Pet newPet
= api.
createPet
(player.
getUniqueId
(
), PetType.
WOLF,
"Buddy"
)
;
// Trigger behavior
api.
triggerBehavior
(pet, BehaviorType.
FOLLOW
)
;
// Update emotions
api.
updateEmotion
(pet, EmotionType.
AFFECTION,
10
)
;
Custom Events
Code (Java):
@EventHandler
public
void onPetAdopt
(PetAdoptEvent event
)
{
Player player
= event.
getPlayer
(
)
;
Pet pet
= event.
getPet
(
)
;
}
@EventHandler
public
void onPetLevelUp
(PetLevelUpEvent event
)
{
Pet pet
= event.
getPet
(
)
;
int newLevel
= event.
getNewLevel
(
)
;
}
@EventHandler
public
void onPetEvolution
(PetEvolutionEvent event
)
{
Pet pet
= event.
getPet
(
)
;
PetEvolutionStage newStage
= event.
getNewStage
(
)
;
}
PlaceholderAPI Placeholders
Code (Text):
%smartpets_active_pet_name%
%smartpets_active_pet_level%
%smartpets_active_pet_type%
%smartpets_active_pet_hunger%
%smartpets_active_pet_energy%
%smartpets_active_pet_affection%
%smartpets_active_pet_happiness%
%smartpets_active_pet_trust%
%smartpets_active_pet_loyalty%
%smartpets_active_pet_fear%
%smartpets_active_pet_anger%
%smartpets_pet_count%
%smartpets_max_pets%
Database System
Storage Options
- YAML Storage: Easy setup, slower for large data.
- SQLite Storage: Fast, embedded, automatic driver download.
- MySQL Storage: High performance, scalable.
Automatic Driver Download
Code (Text):
SQLite: sqlite-jdbc-3.42.0.0.jar
MySQL: mysql-connector-java-8.0.33.jar
Drivers include SHA-256 integrity verification and automatic fallback to YAML if download fails.
Database Schema
Code (SQL):
CREATE
TABLE pets
(
id
VARCHAR
(
36
)
PRIMARY
KEY
,
owner_uuid
VARCHAR
(
36
)
NOT
NULL
,
name
VARCHAR
(
32
)
NOT
NULL
,
TYPE
VARCHAR
(
32
)
NOT
NULL
,
level
INTEGER
DEFAULT
1
,
experience
INTEGER
DEFAULT
0
,
hunger
INTEGER
DEFAULT
100
,
energy
INTEGER
DEFAULT
100
,
affection
INTEGER
DEFAULT
50
,
happiness
INTEGER
DEFAULT
50
,
trust
INTEGER
DEFAULT
50
,
loyalty
INTEGER
DEFAULT
50
,
fear
INTEGER
DEFAULT
0
,
anger
INTEGER
DEFAULT
0
,
created_at
BIGINT
NOT
NULL
,
last_interaction
BIGINT
NOT
NULL
);
Support & Contribution
Quick Start Guide
- Install Vault plugin.
- Add SmartPets JAR to plugins folder.
- Start the server (drivers download automatically).
- Configure settings in config.yml.
- Test with /pet shop to adopt your first pet.
Essential Commands
Code (Text):
/pet
/pet shop
/pet list
/pet stats
/pet memories
/pet talk
/petadmin debug
SmartPets v2.0 – Memory & Intelligence Foundations