SmartPets Pro v2.2

Pets That Think, Feel, and Live
Release Date: 2026-06-29 Type: Major Feature Release Priority: HIGH

Summary
A major expansion of pet intelligence and life. Pets now show natural signs of life, react to their environment, express deeper moods, and form a living social ecosystem with other pets. Every new system is independently configurable and Folia/fork compatible (autonomous systems run via the global scheduler and are skipped on Luminol, which has no scheduler support).

New Features
Idle Behaviors

Calm, unoccupied pets now display lifelike micro-behaviors: stretching, looking around, grooming, yawning, tail wagging, chasing particles, sunbathing, and watching their owner. Configurable under behavior.idle.*.

Environmental Awareness
Pets react to their surroundings - species-specific responses to rain and storms, comfort shifts across cold/hot/pleasant biomes, and curiosity toward nearby friendly animals. Configurable under behavior.environment.*.

Complex Emotions
Ten richer emotional states (Nostalgic, Conflicted, Contentment, Pride, Grief, Melancholy, Homesick, Restlessness, Anticipation, Shame) are derived from a pet's existing stats - no new data is stored. Shown in the conversation menu and via the %smartpets_complexemotion% placeholder. Configurable under visual-communication.complex-emotions.*.

Multi-Pet Social Dynamics
Pets that spend time near each other form relationships - friends, packs, or rivals - with morale effects, persisted across restarts.

Cross-Pet Learning
Curious pets can pick up behavioral tendencies from nearby pets, feeding the reinforcement-learning model that shapes future behavior.

Server-Wide Pet Registry
Pets earn reputation from heroic actions (defending and assisting their owner, successful hunts) and can be promoted to "Legendary" status, optionally broadcast to the server.

Area-Based Pet Communities
Groups of pets gathered in the same area form a community with an emergent leader (alpha) and personality-based supporting roles.

Predictive & Proactive Behavior
Pets anticipate near-future needs - hunger, tiredness, the urge to play, and incoming storms - and act ahead of time (seeking the owner, signaling needs, showing eagerness).

Pet Legacy System
When a pet dies it leaves a lasting record; notable pets (high level or legendary) drop a memorial item at the death site.

Seasonal & Event Behavior
Subtle, atmospheric mood shifts based on the real-world season, plus festive Halloween and Christmas windows.

Configuration
New, fully documented sections: behavior.idle., behavior.environment., visual-communication.complex-emotions., and the complete ecosystem. tree. Each system has its own enable toggle and tuning values. Existing configurations continue to work unchanged.

Compatibility
Paper / Spigot / Purpur / Folia. On Luminol (no scheduler support) the autonomous systems are skipped; core pet functionality is unaffected.

Compatibility: Minecraft 1.16.5 - 26.2

Installation
  1. Stop your server
  2. Replace SmartPets-2.2.jar
  3. Start your server
  4. Enjoy the improvements!
No configuration migration needed - everything is backward compatible.
Fixed a bug that caused entities to survive server restarts.

Fixed a double-spawn race condition bug at startup.

Fixed an issue where, when a player disconnected, the entity remained in the world without being cleared. Upon reconnecting, a new entity would spawn without removing the previous one.

Added an orphaned entity cleanup at startup that, upon server startup, searches all worlds for SmartPets-marked entities that are not tracked on the active map and removes them.
Changelog v2.1.1

Fixed:

  • Threading compatibility with Folia and Luminol servers
  • IllegalStateException: Thread failed main thread check errors
  • Repeated errors during pet spawn and behavior evaluation
  • Maven warning about relocated MySQL Connector artifact
  • RuntimeException: Async scheduling not supported on Luminol in AdvancedEmotionDisplayManager ✨ NEW
  • Plugin initialization failure on Luminol ✨ NEW
Changed:
  • Improved Luminol detection in SchedulerCompat
  • Duplicate entity cleanup now skipped on region-threaded servers
  • Added threading protection to all getCustomName() calls
  • Updated MySQL dependency from mysql:mysql-connector-java to com.mysql:mysql-connector-j
  • MySQL Connector version updated from 8.0.33 to 8.4.0
  • Made SchedulerCompat.isLuminol() public for consistent checks ✨ NEW
  • Standardized all Luminol checks across the codebase ✨ NEW
  • AdvancedEmotionDisplayManager now skips cleanup task on Luminol ✨ NEW
Technical:
  • Added SchedulerCompat.usesRegionThreading() method
  • Enhanced error handling for cross-region entity access
  • Graceful fallbacks for threading-related errors
  • Modernized Maven dependencies to use current artifact coordinates
  • Robust scheduler compatibility checks before task creation ✨ NEW
  • Fallback from async to sync schedulers when async not supported ✨ NEW
SmartPets v2.1.0 - Multi-Language Support System
Release Date
: 2026-01-10 Type: Feature Release Priority: MEDIUM

New Features
Multi-Language Support System
Overview
: SmartPets now supports multiple languages with automatic fallback to English.

Key Features:
  • Language Files Folder: New langs/ folder structure for language files
  • Spanish Translation: Complete Spanish translation (~450+ keys) included out of the box
  • Automatic Fallback: If a translation key is missing, automatically uses English
  • Backwards Compatible: Legacy lang.yml file still works for existing installations
  • Hot Reload: Change language without server restart using /petadmin reload
  • Easy Extension: Add new languages by creating langs/<code>.yml files
Configuration:
YAML:
# In config.yml
general:
  language: "es"  # Options: "en" (English), "es" (Spanish)




File Structure
:
YAML:
plugins/SmartPets/
├── config.yml
├── lang.yml (legacy, for backwards compatibility)
└── langs/
    ├── en.yml (English - default/fallback)
    └── es.yml (Spanish - complete translation)




Technical Details
:
  • Thread-safe message caching with ConcurrentHashMap
  • HEX color code support (&#RRGGBB)
  • Placeholder system preserved ({pet_name}, {player}, etc.)
  • Automatic extraction of bundled language files on first run
Improved Reload Command
Overview
: The /petadmin reload command now performs a complete configuration reload.


Bug Fixes


Fixed: Shulker Box Interaction Blocked
Issue
: Players could not interact with Shulker Boxes (open, take items) when SmartPets was installed.

Root Cause: GUI event handlers were using overly broad title matching (contains()) that could accidentally match other inventory types. Additionally, handlers weren't checking the inventory type before canceling events.

Solution:
  1. Added InventoryType.CHEST check to all GUI handlers - Shulker Boxes use SHULKER_BOX type
  2. Changed title matching from contains() to more specific patterns (startsWith(), endsWith(), equals())
  3. Applied fix to all affected GUI classes
Fixed: MySQL Connection Timeout Issues
Issue
: "No operations allowed after connection closed" errors when using MySQL storage, especially after periods of inactivity.

Root Cause:
  1. Connection validation only checked isClosed() but didn't test if connection was actually usable
  2. MySQL server-side timeouts weren't handled properly
  3. No automatic retry mechanism for connection failures
Solution:
  1. Enhanced Connection Validation: Added isConnectionValid() method that tests connections with SELECT 1
  2. Improved MySQL URL: Added robust connection parameters:
    • connectTimeout=60000 & socketTimeout=60000 - Longer timeouts
    • maxReconnects=3 & initialTimeout=2 - Automatic reconnection
    • allowPublicKeyRetrieval=true & serverTimezone=UTC - Compatibility
  3. Automatic Retry Logic: Both executeAsync() and queryAsync() now retry up to 2 times on connection errors
  4. Connection Refresh: Forces new connection creation when stale connections detected

SmartPets v2.0.3 - MySQL Storage Fix​

Release Date: 2026-01-01 Type: Bug Fix Release Priority: HIGH


Bug Fixes​

Critical: MySQL Storage Not Working​

Problem: Users could not use MySQL storage. The plugin showed Invalid storage type 'MYSQL' and fell back to YAML.

Root Causes:
  1. MYSQL was missing from the PetDataHandler.StorageType enum
  2. MySQL driver URL was obsolete (Oracle changed the artifact ID)
  3. PetDataHandler was not integrated with the database storage system
Solution:
  • Added MYSQL to the storage type enum
  • Updated MySQL driver from deprecated mysql-connector-java-8.0.33 to mysql-connector-j-8.4.0
  • Integrated DatabaseManager and DatabasePetStorage into PetDataHandler
  • Added automatic fallback to YAML if database connection fails

Critical: MySQL Foreign Key Constraint Error (errno: 150)​

Problem: Users with MySQL storage in shared databases got the following error:

[SmartPets] Failed to initialize database: Can't create table game_global.pets
(errno: 150 "Foreign key constraint is incorrectly formed")

Root Causes:
  1. Foreign keys in MySQL require exact matching of charset, collation, and column types
  2. When using a shared database with other plugins, the players table might already exist with different charset/collation
  3. MySQL's foreign key validation is stricter than SQLite's
Solution:
  • Removed foreign keys from MySQL tables - Referential integrity is now enforced at application level
  • Added table name prefixes for MySQL: smartpets_players, smartpets_pets, smartpets_pet_stats, smartpets_pet_skills
  • Explicit ENGINE=InnoDB and utf8mb4 charset for maximum compatibility
  • SQLite retains foreign keys as it handles them without issues
Why This Works:
  • Prefixed table names avoid conflicts with other plugins using the same database
  • Removing FK constraints eliminates charset/collation/type mismatches
  • Application-level integrity validation is a common pattern in Minecraft plugins
  • Same data integrity, but works in all MySQL configurations

Migration Notes​

For New Installations​

  • No action required, tables are created with correct structure automatically

For Existing MySQL Users with errno 150​

  1. Stop your server
  2. Option A (Recommended): Drop the failed SmartPets tables:

    DROP TABLE IF EXISTS pet_skills;
    DROP TABLE IF EXISTS pet_stats;
    DROP TABLE IF EXISTS pets;
    DROP TABLE IF EXISTS players;

  3. Replace SmartPets-2.0.1.jar with SmartPets-2.0.3.jar
  4. Start your server (new prefixed tables will be created)

For Existing MySQL Users WITHOUT Errors​

  • Data migration from old table names is NOT automatic
  • If you had working MySQL storage, keep using v2.0.2 OR migrate data manually:

    -- Only if upgrading from working v2.0.1 to v2.0.3
    RENAME TABLE players TO smartpets_players;
    RENAME TABLE pets TO smartpets_pets;
    RENAME TABLE pet_stats TO smartpets_pet_stats;
    RENAME TABLE pet_skills TO smartpets_pet_skills;

Compatibility​

EnvironmentStatus
MySQL 5.7+Fully supported
MySQL 8.0+Fully supported
MariaDB 10.3+Fully supported
Shared databasesFully supported (prefixed tables)
SQLiteUnchanged (full FK support)
YAMLUnchanged

What Changed for End Users​

  • MySQL now works in shared databases without conflicts
  • No configuration changes needed - same storage-type: "MYSQL" setting
  • Data structure unchanged - same columns, just different table names for MySQL
  • SQLite users unaffected - same behavior as before

Upgrade Instructions​

  1. Stop your server
  2. Replace SmartPets-2.0.1.jar with SmartPets-2.0.3.jar
  3. Delete old driver if present: plugins/SmartPets/lib/mysql-connector-java-*.jar
  4. Start your server (new driver downloads automatically)
Note: No configuration changes required. Existing data is preserved.

SmartPets v2.0.1 - Improved Pet Selection & Major Bug Fixes​

Release Date: 2025-01-23 Type: Recommended Update (Critical Fixes) Priority: HIGH


🌟 Key Improvements​

🐾 Smart Pet Selection​

You can now interact with pets using their Name, UUID, or just a Prefix of either!

  • Before: You often had to use the exact random UUID (e.g., /pet select 3e687eaf) or the command would fail.
  • Now: Just type /pet select Fido (or whatever your pet is named). It just works.
  • Bonus: Tab completion now correctly suggests names that are actually valid.

🎨 HEX Colors & Custom Prefixes​

  • HEX Support: Use modern, vibrant colors in all messages! Format: &#RRGGBB (e.g., &#FF5733MyPet).
  • Custom Prefixes: You can finally customize or remove the plugin prefix. Check lang.yml for new options like prefix, prefix.error, etc.

🐛 Bug Fixes​

  • Fixed Pet Selection (Critical): Resolved a critical issue where commands would incorrectly error out (claiming "Pet died" or "Not found") when using pet names.
  • Fixed Message Placeholders: Messages like "Are you sure you want to release {arg0}?" now correctly show the pet name/details instead of the raw variable text.
  • Fixed Console Spam: Debug messages ("Pet is active...", "Loaded emotions...", etc.) are now properly hidden when debug: false is set in config.yml.
  • Fixed Tab Completion: Suggestions in commands like /pet select and /pet release are now accurate.

🔌 Compatibility​

  • Minecraft Versions: 1.16.5 - 1.21.x
  • Software: Spigot, Paper, Purpur, Folia (Experimental)
  • Java: Java 17 or higher required.
  • HEX Colors: Requires Minecraft 1.16+ client and server.

� How to Update​

  1. Stop your server.
  2. Delete the old SmartPets-2.0.jar.
  3. Upload the new SmartPets-2.0.1.jar.
  4. Start your server.
Note: No configuration reset is required. You can optionally check lang.yml to customize the new prefix settings.
SmartPets v2.0 - Memory & Intelligence Revolution

🚀 Major Features

🧠 Persistent Memory & Intelligence Core

  • Social Memory System: Pets record player interactions, trust/fear deltas, and location sentiment (safe vs. danger zones) with LRU limits and scheduled snapshots.
  • Event Timeline: Key moments (battles, celebrations, reinforcing actions) are stored per pet with configurable limits and retention policies.
  • Reinforcement Learning: Positive/negative feedback and owner preferences now bias the BehaviorEngine, visibly altering AI decisions over time.
  • Dynamic Personality Evolution: Archetypes evolve based on memory and learning inputs; /pet personality surfaces traits, history, and latest adjustments.

🖥️ Player & Admin Experience
  • Memories Dashboard: /pet memories UI consolidates social contacts, pinned locations, event log, and direct reinforcement controls.
  • Command Upgrades: /pet personality, /petadmin debug learning, and enhanced /pet info provide immediate insight into behavioral changes.
  • Actionable Admin Debug: New /petadmin debug integrations summarises runtime status of ModelEngine/MythicMobs bridges, mappings, and adapters.

🎨 External Integrations (Optional)
  • ModelEngine 4 Adapter: Attaches custom models, emotion-driven animations, and trigger-based states with automatic fallback to vanilla entities.
  • MythicMobs Adapter: Applies Mythic profiles or triggers configured skills in response to SmartPets events (summon, level-up, feedback signals).
Config-Driven & Safe: Integrations are opt-in, degrade gracefully when dependencies are missing, and expose granular logging categories.

🧰 Configuration & Tooling
config.yml now includes integrations.modelengine.models and integrations.mythicmobs.profiles maps for per-type setup of models, animations, mob IDs, and skill triggers.

Sample configuration (per type):
integrations:
modelengine:
enable: true
auto-fallback: true # Gracefully revert to vanilla entities if something fails
models:
WOLF:
model-id: "smartpets:wolf_guardian" # ModelEngine asset namespace:id
idle-state: "idle" # Looping state when calm
walk-state: "walk" # State while following the owner
emotion-animations:
HAPPY: "tail_wag" # Emotion → animation mapping
ANGRY: "battle_ready"
SCARED: "cower"
trigger-animations:
summon: "summon_pop" # Triggered after SmartPets spawns the pet
event.levelup: "celebrate" # Triggered on level-up
feedback.feeding_success: "eat_treat" # Triggered after positive feeding feedback
mythicmobs:
enable: true
profiles:
WOLF:
mob-id: "SmartPetsGuardian" # MythicMob ID defined in MythicMobs configs
mob-level: 10.0 # Optional level value passed to MythicMobs
apply-to-entity: true # Replace vanilla AI/attributes with Mythic profile
trigger-skills:
summon: "SP_GuardianSpawn" # Activates the custom spawn skill
event.levelup: "SP_GuardianCelebrate" # Celebratory ability on level-up
feedback.petting_happy: "SP_GuardianPurr" # Fired when the owner pets the companion

README features integration quick-start and release verification checklists (diagnostics, bStats monitoring, fallback advice).
All new debug outputs are fully localised via lang.yml, ensuring translation completeness.

📊 Metrics & Monitoring
  • bStats charts added: modelengine_integration_state, modelengine_mapping_density, mythicmobs_integration_state, mythicmobs_profile_density.
  • Logging system refreshed with rate-limited categories (LogCategory.INTEGRATIONS, etc.) to keep production logs actionable.

🛠️ Upgrade Notes
  • No manual migrations required; memory/learning subsystems self-initialise and respect existing storage backends (YAML/SQLite/MySQL).
  • Keep integrations disabled if unused; SmartPets automatically reverts to vanilla behaviour when ModelEngine/MythicMobs are absent.
  • After enabling integrations, run /petadmin reload followed by /petadmin debug integrations to validate configuration before going live.
SmartPets v1.9.6 – Personality & Communication Polish

Highlights
  • Visual feedback feels alive: emotion displays now refresh automatically, show localized context messages, and respect your server’s day/night cycle.
  • Conversations make sense in every language: all contextual strings moved to lang.yml, with proper tab-completion logic tied to in-game time.
  • Pets develop real personalities: interactions now influence trait profiles, archetypes appear in /pet stats, and data persists across reloads.
  • Translations everywhere: physical state indicators, conversation prompts, and feedback messages are fully localizable and emoji-ready.
  • Overall tuning: improved emotion impact calculations, streamlined hunger/rest tips.
Buy a license now
$15.00
EULA
Standard EULA
Use on any projects you own with attribution
Support
Standard
Includes:
Download the resource
Access new updates
Support from the creator
Support duration
Lifetime
Share and earn
Refer this resource and earn a 10% commission.
1,241 Views
2 Purchases
4 Downloads
Jun 2, 2025 Published
Jun 29, 2026 Updated
Not yet rated
883.3 KB File size
Open source
  1. No
DRM-free
  1. Yes
Unobfuscated
  1. Yes
Game mode
  1. Survival & SMP
  1. Skyblock
  1. Towny
Type
  1. Gameplay
Game mode
  1. Survival
  1. Skyblock
  1. Towny
Game mode (legacy)
  1. Survival
  1. Skyblock
  1. Towny
Supported software
  1. Bukkit
  1. Spigot
  1. Paper
  1. Folia
Supported versions
  1. 1.21
  1. 1.20
  1. 1.19
  1. 1.18
  1. 1.17
  1. 1.16
Supported languages
  1. English
Includes DRM
No
Source access (legacy)
Closed source & unobfuscated
Creator
Recommended for you
Protect your storage with ease and secure, powerful, and lightweight
Not yet rated
3 purchases
Smart and configurable AFK management for your server!
Not yet rated
2 purchases
Animate heads, armor stands & entities rotations, body poses, particles, holograms & click actions
Not yet rated
0 purchases
#1 BuiltByBit Plugin ~ Protects your server from crash packet exploits ~ Folia Support
5.00 star(s) 141 ratings
4,220 purchases
Create items, blocks, mobs, emojis, and more with automatic resourcepack generation!
5.00 star(s) 54 ratings
3,208 purchases
Share and earn
Refer this resource and earn a 10% commission.
1,241 Views
2 Purchases
4 Downloads
Jun 2, 2025 Published
Jun 29, 2026 Updated
Not yet rated
883.3 KB File size
Open source
  1. No
DRM-free
  1. Yes
Unobfuscated
  1. Yes
Game mode
  1. Survival & SMP
  1. Skyblock
  1. Towny
Type
  1. Gameplay
Game mode
  1. Survival
  1. Skyblock
  1. Towny
Game mode (legacy)
  1. Survival
  1. Skyblock
  1. Towny
Supported software
  1. Bukkit
  1. Spigot
  1. Paper
  1. Folia
Supported versions
  1. 1.21
  1. 1.20
  1. 1.19
  1. 1.18
  1. 1.17
  1. 1.16
Supported languages
  1. English
Includes DRM
No
Source access (legacy)
Closed source & unobfuscated
Creator
Recommended for you
Protect your storage with ease and secure, powerful, and lightweight
Not yet rated
3 purchases
Smart and configurable AFK management for your server!
Not yet rated
2 purchases
Animate heads, armor stands & entities rotations, body poses, particles, holograms & click actions
Not yet rated
0 purchases
#1 BuiltByBit Plugin ~ Protects your server from crash packet exploits ~ Folia Support
5.00 star(s) 141 ratings
4,220 purchases
Create items, blocks, mobs, emojis, and more with automatic resourcepack generation!
5.00 star(s) 54 ratings
3,208 purchases
Top