Critical Fixes 1. Fixed Pet Name Not Appearing in Messages
Problem: Pet names were not displaying correctly in various plugin messages and GUIs. Messages showed placeholder text like "arg0" instead of the actual pet name.
Solution: Corrected the translation system to properly replace placeholders with actual pet names.
Impact: All messages now display pet names correctly, improving user experience and message clarity.
2. Fixed Shop Permission Bypass
Problem: Players could access and purchase from the pet shop even without proper permissions, breaking permission-based access control.
Solution: Added proper permission checks for both opening the shop and purchasing pets.
Impact: Server administrators can now properly control shop access using LuckPerms or other permission plugins:
smartpets.shop.use - Required to open the shop
smartpets.shop.buy - Required to purchase pets
3. Fixed Console Spam from Pet Self-Attack Bug
Problem: When pets accidentally targeted their owners (a known bug), error messages flooded the console and player chat every tick, causing server lag and chat spam.
Solution: Implemented a cooldown system that limits warning messages to once every 5 seconds.
Impact: Cleaner console logs and chat, reduced server performance impact from excessive logging, while still alerting administrators to issues.
4. Fixed Pets Invisible After Server Restart
Problem: When players logged back in after a server restart or reconnection, their active pets would not re-appear, requiring manual re-summoning.
Solution: Added automatic pet re-spawning system that activates when players join the server.
Impact: Pets now automatically appear when you log in, maintaining a seamless gameplay experience across server restarts.
✨ Enhancements Multi-line Skill Descriptions
Feature: Skills now support multi-line descriptions in skills.yml for better readability.
Benefit: Create more detailed and visually appealing skill descriptions with proper formatting.
Backward Compatible: Existing single-line descriptions continue to work without changes.
Example Usage:
Code (YAML):
skills:
attack:
name: "&cProtector's Fury" description: -
"&7Allows the pet to engage and attack" -
"&7hostile targets threatening its owner" -
"&7or itself." required-level: 5
type: PASSIVE
Technical Improvements
Improved thread-safety for concurrent operations
Enhanced error handling and validation
Better code documentation for future maintenance
Optimized permission checking system
Upgrade Instructions
Backup your data (always recommended before updates)
Stop your server
Replace the old SmartPets JAR with v1.9.5
Start your server
Verify the new permissions work correctly:
Test smartpets.shop.use permission
Test smartpets.shop.buy permission
Note: Existing configurations are fully compatible. No manual changes required.