
Minecraft Villager Trade Manager
Complete control over villager trading economics with custom pricing and discount prevention Minecraft Villager Trade Manager is a comprehensive Paper/Spigot plugin that gives server administrators complete control over villager trading economics. Take co
- Загрузки
- 2K
- Подписчики
- 9
- Обновлён
- 30 января 2026 г.
- Лицензия
- MIT
Опубликован 26 сентября 2025 г.
Minecraft Villager Trade Manager V12.0 - Complete Villager Economy Control
Ultimate Minecraft villager trade management plugin - Control every aspect of villager trading economics with advanced features like item banning, custom pricing, and multi-database support.
🎯 Key Features
- AI Assistant: In-game help powered by Groq
🤖 AI-Powered Help System ⭐ NEW in V12
- Interactive AI Assistant:
/vtrade help askquestion "How do I ban diamond items?" - Smart Q&A: Natural language questions about plugin features
- Knowledge Base: Comprehensive built-in help system
- Groq API Integration: Advanced AI responses with plugin context
- Context-Aware: Understands your server's specific configuration
- 24/7 Support: Instant answers without leaving the game
- Plugin Expertise: Specialized knowledge about villager trade mechanics
Example AI Interactions:
/vtrade help askquestion "How do I set up custom prices for armorers?"
/vtrade help askquestion "What items should I ban to prevent economy exploits?"
/vtrade help askquestion "How does the villager leveling system work?"
💰 Universal Trade Pricing
- All 13 Professions Supported: Armorer, Butcher, Cartographer, Cleric, Farmer, Fisherman, Fletcher, Leatherworker, Librarian, Mason, Shepherd, Toolsmith, Weaponsmith
- Per-Trade Customization: Set emerald costs for any specific trade
- Simple Commands:
/vt setprice armorer diamond_leggings 30 - Legacy Support: Maintains backward compatibility
🚫 Item Banning System ⭐ NEW in V11
- Complete Item Control: Ban entire items from all villager trades
- Smart Filtering: Prevents enchanted variants when base item is banned
- Easy Management:
/vt banitem diamond_sword,/vt unbanitem diamond_sword - List Banned Items:
/vt listbanneditemsto see all banned items
💾 Multi-Database Support ⭐ NEW in V11
- SQLite: Local file-based (default, recommended)
- Supabase: Cloud REST API
- PostgreSQL: Direct JDBC connections ⭐ NEW
- Automatic Fallback: SQLite backup if cloud fails
⚡ Advanced Restock System
- Instant Restock:
/vt instantrestock onfor immediate trade refresh - Custom Intervals: Set restock times with
/vt restocktime <minutes> - Daily Limits: Control restocks per day with
/vt restocklimit <count> - Unlimited Mode:
/vt unlimitedrestock onfor no restrictions
🎮 Multi-Platform Compatibility
- Folia: Region-threaded scheduling for optimal performance
- Paper/Purpur: Full API compatibility
- Spigot/Bukkit: Legacy support maintained
- Thread-Safe: All operations are concurrency-safe
📊 Real-Time Monitoring
- Trade Analytics: Track trade statistics and patterns
- Performance Metrics: Monitor plugin performance
- Health Checks: Built-in system monitoring
- Dynamic Detection: Automatically discovers new trades
📦 Installation
Requirements
- Java 17 or higher
- Minecraft Server: Paper, Spigot, Purpur, Bukkit, or Folia
- Minecraft Version: 1.20.x - 1.21.x
Steps
- Download the plugin JAR file
- Stop your Minecraft server
- Place
Minecraft-Villager-Trade-Manager-11.0.jarin theplugins/folder - Start your server to generate configuration files
- Configure
plugins/VillagerTradeManager/config.ymlas needed - Restart server or use
/reload(not recommended for production)
⚙️ Configuration
Basic Configuration
# Enable/disable the plugin
settings:
trade_management_enabled: true
# Database selection
database:
type: "sqlite" # Options: sqlite, supabase, postgresql
# Restock settings
custom_restock_enabled: false
restock_interval_minutes: 30
restock_limit_per_day: 3
unlimited_restock: false
instant_restock_enabled: false
Database Configuration
SQLite (Recommended)
database:
type: "sqlite"
sqlite:
file: "villager_data.db"
Supabase (Cloud REST API)
database:
type: "supabase"
supabase:
url: "https://your-project.supabase.co"
apiKey: "your-anon-key"
serviceKey: "your-service-key"
schema: "public"
PostgreSQL (Direct JDBC) ⭐ NEW in V11
database:
type: "postgresql"
postgresql:
connectionString: "postgresql://user:password@host:5432/database"
🖥️ Commands
Main Commands
| Command | Description | Example |
|---|---|---|
/vt on/off |
Enable/disable trade management | /vt on |
/vt status |
Show current settings and banned items | /vt status |
Trade Pricing
| Command | Description | Example |
|---|---|---|
/vt setprice <profession> <item> <cost> |
Set custom price for any trade | /vt setprice armorer diamond_leggings 30 |
/vt resetprice <profession> <trade> |
Reset trade to default price | /vt resetprice armorer armorer_l4_emerald_13_diamond_boots_1 |
/vt listtrades <profession> |
List all trades for a profession | /vt listtrades armorer |
Item Banning ⭐ NEW in V11
| Command | Description | Example |
|---|---|---|
/vt banitem <item> |
Ban item from all villager trades | /vt banitem diamond_sword |
/vt unbanitem <item> |
Allow item in villager trades | /vt unbanitem diamond_sword |
/vt listbanneditems |
Show all banned items | /vt listbanneditems |
Restock Management
| Command | Description | Example |
|---|---|---|
/vt restock on/off |
Enable custom restock system | /vt restock on |
/vt restocktime <minutes> |
Set restock interval | /vt restocktime 45 |
/vt restocklimit <count> |
Set daily restock limit | /vt restocklimit 5 |
/vt unlimitedrestock on/off |
Toggle unlimited restocks | /vt unlimitedrestock on |
/vt instantrestock on/off |
Enable instant restock | /vt instantrestock on |
Trade Analysis
| Command | Description | Example |
|---|---|---|
/vt analyzetrades |
Show trade statistics | /vt analyzetrades |
/vt inspectvillager |
Analyze nearest villager's trades | /vt inspectvillager |
Advanced Commands
| Command | Description | Example |
|---|---|---|
/vt exporttrades json/yaml |
Export trade configuration | /vt exporttrades json |
/vt tradedetection on/off/status |
Control dynamic trade detection | /vt tradedetection status |
/vt cleardynamictrades |
Clear old dynamic trade data | /vt cleardynamictrades |
💾 Database Options
SQLite (Default - Recommended)
- Local file-based database
- Zero configuration required
- Best performance for most servers
- Automatic backups and maintenance
Supabase (Cloud REST API)
- Cloud-hosted PostgreSQL
- REST API communication
- Multi-server sync capability
- Requires API keys and internet connection
PostgreSQL (Direct JDBC) ⭐ NEW in V11
- Direct database connection using JDBC
- Best performance for cloud databases
- Compatible with Supabase, AWS RDS, Google Cloud SQL
- Requires connection string configuration
🔧 Advanced Features
Item Banning System
Prevent entire items from appearing in villager trades:
# Ban diamond swords (prevents all enchanted variants too)
/vt banitem diamond_sword
# Ban enchanted golden apples
/vt banitem enchanted_golden_apple
# Check what's banned
/vt listbanneditems
# Allow items again
/vt unbanitem diamond_sword
Custom Pricing Examples
# Simple format (recommended)
/vt setprice armorer diamond_leggings 25
/vt setprice librarian protection_4 30
/vt setprice farmer emerald 2
### Database Migration
The plugin automatically handles database schema updates. When you update from older versions, the plugin will:
1. **Detect version differences**
2. **Apply migrations automatically**
3. **Preserve existing data**
4. **Log migration progress**
---
## 🔧 Troubleshooting
### Common Issues
#### Plugin Not Loading
Error: Could not load plugin
**Solution**: Ensure Java 17+ and compatible Minecraft version
#### Database Connection Failed
Failed to establish database connection
**Solutions**:
- Check database credentials
- Verify network connectivity (for cloud databases)
- Plugin automatically falls back to SQLite
#### Commands Not Working
/vt: Unknown command
**Solution**: Check console for permission errors or plugin conflicts
#### High CPU Usage
**Solutions**:
- Reduce `trade_monitor_frequency` in config
- Decrease `villager_scan_radius`
- Enable Folia for better performance
### Debug Mode
Enable debugging in `config.yml`:
```yaml
logging:
debug_database: true
debug_trades: true
debug_restock: true
Performance Tuning
performance:
trade_monitor_frequency: 60 # Ticks between checks
villager_scan_radius: 32 # Blocks to scan
📊 Metrics & Monitoring
Health Checks
- HTTP Endpoint:
http://localhost:8080/health(if enabled) - Automatic Monitoring: System health checks every 30 seconds
- Performance Metrics: CPU, memory, and trade statistics
Prometheus Integration
Enable Prometheus metrics in config.yml:
metrics:
enabled: true
prometheus:
enabled: true
🤝 Support
Getting Help
- Community: Join Discord for support
System Requirements
- RAM: +50MB (depending on trade volume)
- CPU: Minimal overhead
- Storage: ~1MB for SQLite database
- Network: Required for cloud databases only
📈 Version History
V11.0 (Latest)
- ✅ Item Banning System: Ban entire items from villager trades
- ✅ PostgreSQL Support: Direct JDBC connections to databases
- ✅ Enhanced Commands: Improved tab completion and error messages
- ✅ Bug Fixes: Resolved Supabase URL construction and authentication issues
- ✅ Performance: Optimized database operations and memory usage
V10.x
- Universal trade pricing for all professions
- Folia compatibility and region-threaded scheduling
- Advanced restock system with instant restock
- Dynamic trade detection and storage
📜 License
MIT License - Free for personal and commercial use.
🙏 Credits
- Developer: AlanTheDev (Villager Trade Manager Team)
- Contributors: Minecraft server administrators and developers
- Community: SpigotMC, PaperMC, and Minecraft communities
🎮 Ready to master your server's villager economy? Install Villager Trade Manager V11.0 today!
🧱 Technical Notes
- Tested on Minecraft 1.20.x – 1.21.x
- Supported server types: Folia, Paper, Purpur, Spigot, Bukkit
- Async SQLite database persistence for settings and restock data
- Thread-safe and region-threaded scheduling for Folia
- Minimal CPU and memory overhead
🧭 Ideal Use Cases
- Economy-focused servers maintaining fair villager trading systems.
- Fast-paced gameplay or event servers requiring instant trade resets.
- Large-scale Folia servers needing safe, concurrent villager management.
🆕 V11.0 Highlights
- Universal Trade Manipulation: Control pricing for all 13 villager professions
- Per-Trade Customization: Set custom emerald costs for any specific trade
- Comprehensive Trade Registry: Complete mapping of all vanilla Minecraft trades
- Content-Based Identification: Reliable trade identification using item hashing
- Legacy Compatibility: Maintains backward compatibility with enchantment pricing
- Enhanced Command System: Universal commands supporting all professions
- Fixed Compilation Issues: Resolved API compatibility problems with current Minecraft versions
🧾 License
This plugin is open-source and licensed under the MIT License. You are free to use, modify, and distribute with proper credit.
**V12.0 brings universal trade control to Villager Trade Manager —
Ченджлог
12.2Релиз1.21.9, 1.21.10, 1.21.11 · 30 января 2026 г.
Patched Database Connection Leak At
DynamicTradeStorageService.java
- Prevents connection pool exhaustion
Patched AdaptiveCache Executor Leak
Patched Missing Shutdown Calls
Improved Performance
- Optimized findNearestPlayer() with spatial queries
- Reduced complexity from O(n×m) to O(k)
- Added fallback for older API versions
Overall Patched Many Performance Issues
12Релиз1.21.8, 1.21.9, 1.21.10 · 21 ноября 2025 г.
Villager Trade Manager v12 - Advanced Minecraft Villager Economy Control (1.20.x-1.21.x Folia/Paper/Spigot)
Ultimate villager trade plugin: Custom pricing/bans, leveling, stock mgmt, wandering traders, dynamic economy, multi-DB (SQLite/PG/Supabase), AI help, Vault integration. Folia optimized.
🎯 Key Features
- 💰 Custom Trades: Price any trade/profession (
/vtrade setprice armorer diamond_helmet 25) - 🚫 Item Bans: Block OP items (
/vtrade banitem netherite_sword) - 📈 Leveling: XP progression, unlocks (
/vtrade level set) - 📦 Stock/Restock: Limits, auto-refill (
/vtrade stock inspect) - 🐪 Wanderers: Custom trades (
/vtrade wanderer add) - 🗄️ DBs: SQLite/PG/Supabase w/ pooling
- 🤖 AI Help:
/vtrade help ask "setup guide?" - 📊 Metrics: Health/prometheus
Keywords: minecraft villager trade plugin 1.21, custom villager trades paper, folia villager manager, spigot economy plugin.
📋 Commands Summary
| Cmd | Desc |
|---|---|
/vtrade setprice <prof> <item> <cost> |
Custom price |
/vtrade banitem <item> |
Ban item |
/vtrade level/stock [set/inspect] |
Level/stock mgmt |
/vtrade [addprereq/chain] <trade> |
Enhancements |
/vtrade wanderer add <item> |
Trader trades |
/vtrade restock [on/time] |
Restock |
/vtrade help ask <q> |
AI help |
⚙️ Config Highlights
database: sqlite # or postgresql/supabase
level_progression.enabled: true
trade_enhancements.enabled: true
ai_assistant.groq.api_key: "key"
Transform your villager economy today! ⭐ Download v12.
11.1Релиз1.21.8, 1.21.9, 1.21.10 · 6 ноября 2025 г.
Changelog
[11.1.0] - 2025-11-06
🐛 Bug Fixes
Folia Compatibility Fix ⭐ CRITICAL
- Plugin Loading Failure: Fixed
UnsupportedOperationExceptionthat prevented plugin from loading on Folia 1.21.8 - Scheduler Compatibility: Replaced raw
Bukkit.getScheduler()calls with platform-awareTaskScheduler - PerformanceMonitorService: Updated to use
TaskScheduler.runAsyncRepeating()instead ofrunTaskTimerAsynchronously() - MigrationCommand: Updated to use
TaskScheduler.runSyncRepeating()instead ofrunTaskTimer() - Constructor Updates: Modified service constructors to accept
TaskSchedulerdependency injection
🔧 Technical Improvements
Dependency Injection
- TaskScheduler Injection: Services now properly receive
TaskSchedulerinstances instead of accessing raw schedulers - Platform Abstraction: Enhanced use of platform-aware scheduling throughout the codebase
- Code Consistency: Unified scheduler usage patterns across all components
[11.0.0] - 2025-11-06
🎉 Major Features
Item Banning System ⭐ NEW
- Complete Item Control: Ban entire items from appearing in any villager trades
- Smart Filtering: Automatically prevents enchanted variants when base item is banned
- Database Persistence: Banned items stored in database with audit trail
- Commands Added:
/vt banitem <item_type>- Ban items from all villager trades/vt unbanitem <item_type>- Remove item bans/vt listbanneditems- Display all currently banned items
- Examples:
/vt banitem diamond_sword,/vt banitem enchanted_golden_apple
PostgreSQL Database Support ⭐ NEW
- Direct JDBC Connections: Support for PostgreSQL databases beyond Supabase
- Connection String Config: Full PostgreSQL connection string support
- Enhanced Compatibility: Works with Supabase, AWS RDS, Google Cloud SQL, etc.
- Configuration:
database: type: "postgresql" postgresql: connectionString: "postgresql://user:password@host:5432/database"
🔧 Enhancements
Command System Improvements
- Enhanced Tab Completion: Full autocomplete for all commands and parameters
- Better Error Messages: Improved feedback for invalid commands and parameters
- Enchantment Guidance: Special help messages for enchantment-related commands
- Profession Validation: Real-time validation of profession names and trade IDs
Database Architecture
- Multi-Database Support: SQLite, Supabase REST API, PostgreSQL JDBC
- Automatic Fallback: Seamless fallback to SQLite if cloud databases fail
- Connection Management: Improved connection pooling and lifecycle management
- Schema Validation: Enhanced database schema validation and migration
Performance Optimizations
- Memory Usage: Reduced memory footprint for large trade registries
- Database Queries: Optimized query performance and caching
- Async Operations: Improved asynchronous database operations
- Resource Management: Better cleanup and resource disposal
🐛 Bug Fixes
Supabase Integration
- URL Construction: Fixed double
/rest/v1/path construction bug - Authentication: Corrected authorization header usage for service keys
- Connection Status: Fixed
isConnected()method to properly track status - Error Handling: Improved error messages and fallback behavior
Command Processing
- Trade Validation: Fixed validation logic for custom trade pricing
- Parameter Parsing: Improved command argument parsing and validation
- Tab Completion: Fixed tab completion for complex command structures
- Error Feedback: Enhanced error messages for user guidance
Database Operations
- Connection Handling: Fixed connection leak issues in database providers
- Transaction Management: Improved transaction handling and rollback
- Migration System: Enhanced database migration reliability
- Data Integrity: Better validation of database operations
🔒 Security
Database Security
- Connection Encryption: Proper SSL/TLS for database connections
- Credential Handling: Secure storage and transmission of credentials
- Access Control: Improved permission validation
- Audit Trail: Database operation logging for security monitoring
Input Validation
- Command Sanitization: Enhanced input validation for commands
- SQL Injection Prevention: Prepared statements for all database queries
- Path Traversal: Protection against path manipulation attacks
- Resource Limits: Rate limiting and resource usage controls
🏗️ Technical Improvements
Code Architecture
- Database Provider Pattern: Clean abstraction for different database types
- Configuration System: Enhanced configuration parsing and validation
- Error Handling: Comprehensive exception handling and logging
- Code Organization: Better separation of concerns and modularity
Dependencies
- PostgreSQL Driver: Added PostgreSQL JDBC driver support
- HTTP Client: Updated OkHttp for better Supabase communication
- JSON Processing: Enhanced Jackson for complex data structures
- Testing Framework: Improved unit and integration testing
Build System
- Maven Configuration: Updated dependencies and build process
- Plugin Compatibility: Enhanced compatibility with different server platforms
- Resource Management: Better handling of plugin resources
- Deployment: Streamlined build and deployment process
🔄 Migration Guide
From V10.x to V11.0
Database Migration
# V10.x config
database:
type: "sqlite"
# V11.0 config (unchanged for SQLite users)
database:
type: "sqlite"
sqlite:
file: "villager_data.db"
New Commands Available
- Run
/vt listbanneditemsto see current banned items (none by default) - Use
/vt banitem <item>to ban items from trades - Consider
/vt setpriceimprovements with better error messages
Configuration Changes
- No breaking changes for existing configurations
- New
postgresqlsection available for advanced users - Enhanced logging options in
config.yml
📊 Metrics & Monitoring
Health Checks
- HTTP Endpoints: Configurable health check endpoints
- Database Monitoring: Connection pool and query performance metrics
- Memory Tracking: JVM memory usage and garbage collection monitoring
- Trade Statistics: Real-time trade volume and performance analytics
Logging Improvements
- Structured Logging: JSON-formatted logs for better parsing
- Debug Modes: Enhanced debugging options for troubleshooting
- Performance Logs: Query execution time and bottleneck identification
- Error Tracking: Comprehensive error reporting and analysis
[10.x.x] - Previous Versions
See individual release notes for V10.x changes including:
- Universal trade pricing for all professions
- Folia compatibility and region-threaded scheduling
- Advanced restock system with instant restock
- Dynamic trade detection and storage
🤝 Contributing
- Bug Reports: Use GitHub Issues with detailed reproduction steps
- Feature Requests: Describe the use case and expected behavior
- Code Contributions: Follow the existing code style and patterns
- Testing: Ensure all tests pass and add new tests for new features
📞 Support
- Documentation: README.md for complete usage guide
- Issues: GitHub Issues for bug reports and feature requests
- Community: Join our Discord for community support
- Compatibility: Minecraft 1.20.x - 1.21.x, Java 17+
Legend:
- 🎉 Major Features: Significant new functionality
- 🔧 Enhancements: Improvements to existing features
- 🐛 Bug Fixes: Resolved issues and problems
- 📚 Documentation: Documentation and guides
- 🔒 Security: Security-related changes
- 🏗️ Technical: Internal architecture changes
11.0Релиз1.21.8, 1.21.9, 1.21.10 · 6 ноября 2025 г.
Changelog
[11.0.0] - 2025-11-06
🎉 Major Features
Item Banning System ⭐ NEW
- Complete Item Control: Ban entire items from appearing in any villager trades
- Smart Filtering: Automatically prevents enchanted variants when base item is banned
- Database Persistence: Banned items stored in database with audit trail
- Commands Added:
/vt banitem <item_type>- Ban items from all villager trades/vt unbanitem <item_type>- Remove item bans/vt listbanneditems- Display all currently banned items
- Examples:
/vt banitem diamond_sword,/vt banitem enchanted_golden_apple
PostgreSQL Database Support ⭐ NEW
- Direct JDBC Connections: Support for PostgreSQL databases beyond Supabase
- Connection String Config: Full PostgreSQL connection string support
- Enhanced Compatibility: Works with Supabase, AWS RDS, Google Cloud SQL, etc.
- Configuration:
database: type: "postgresql" postgresql: connectionString: "postgresql://user:password@host:5432/database"
🔧 Enhancements
Command System Improvements
- Enhanced Tab Completion: Full autocomplete for all commands and parameters
- Better Error Messages: Improved feedback for invalid commands and parameters
- Enchantment Guidance: Special help messages for enchantment-related commands
- Profession Validation: Real-time validation of profession names and trade IDs
Database Architecture
- Multi-Database Support: SQLite, Supabase REST API, PostgreSQL JDBC
- Automatic Fallback: Seamless fallback to SQLite if cloud databases fail
- Connection Management: Improved connection pooling and lifecycle management
- Schema Validation: Enhanced database schema validation and migration
Performance Optimizations
- Memory Usage: Reduced memory footprint for large trade registries
- Database Queries: Optimized query performance and caching
- Async Operations: Improved asynchronous database operations
- Resource Management: Better cleanup and resource disposal
🐛 Bug Fixes
Supabase Integration
- URL Construction: Fixed double
/rest/v1/path construction bug - Authentication: Corrected authorization header usage for service keys
- Connection Status: Fixed
isConnected()method to properly track status - Error Handling: Improved error messages and fallback behavior
Command Processing
- Trade Validation: Fixed validation logic for custom trade pricing
- Parameter Parsing: Improved command argument parsing and validation
- Tab Completion: Fixed tab completion for complex command structures
- Error Feedback: Enhanced error messages for user guidance
Database Operations
- Connection Handling: Fixed connection leak issues in database providers
- Transaction Management: Improved transaction handling and rollback
- Migration System: Enhanced database migration reliability
- Data Integrity: Better validation of database operations
🔒 Security
Database Security
- Connection Encryption: Proper SSL/TLS for database connections
- Credential Handling: Secure storage and transmission of credentials
- Access Control: Improved permission validation
- Audit Trail: Database operation logging for security monitoring
Input Validation
- Command Sanitization: Enhanced input validation for commands
- SQL Injection Prevention: Prepared statements for all database queries
- Path Traversal: Protection against path manipulation attacks
- Resource Limits: Rate limiting and resource usage controls
🏗️ Technical Improvements
Code Architecture
- Database Provider Pattern: Clean abstraction for different database types
- Configuration System: Enhanced configuration parsing and validation
- Error Handling: Comprehensive exception handling and logging
- Code Organization: Better separation of concerns and modularity
Dependencies
- PostgreSQL Driver: Added PostgreSQL JDBC driver support
- HTTP Client: Updated OkHttp for better Supabase communication
- JSON Processing: Enhanced Jackson for complex data structures
- Testing Framework: Improved unit and integration testing
Build System
- Maven Configuration: Updated dependencies and build process
- Plugin Compatibility: Enhanced compatibility with different server platforms
- Resource Management: Better handling of plugin resources
- Deployment: Streamlined build and deployment process
🔄 Migration Guide
From V10.x to V11.0
Database Migration
# V10.x config
database:
type: "sqlite"
# V11.0 config (unchanged for SQLite users)
database:
type: "sqlite"
sqlite:
file: "villager_data.db"
New Commands Available
- Run
/vt listbanneditemsto see current banned items (none by default) - Use
/vt banitem <item>to ban items from trades - Consider
/vt setpriceimprovements with better error messages
Configuration Changes
- No breaking changes for existing configurations
- New
postgresqlsection available for advanced users - Enhanced logging options in
config.yml
📊 Metrics & Monitoring
Health Checks
- HTTP Endpoints: Configurable health check endpoints
- Database Monitoring: Connection pool and query performance metrics
- Memory Tracking: JVM memory usage and garbage collection monitoring
- Trade Statistics: Real-time trade volume and performance analytics
Logging Improvements
- Structured Logging: JSON-formatted logs for better parsing
- Debug Modes: Enhanced debugging options for troubleshooting
- Performance Logs: Query execution time and bottleneck identification
- Error Tracking: Comprehensive error reporting and analysis
[10.x.x] - Previous Versions
See individual release notes for V10.x changes including:
- Universal trade pricing for all professions
- Folia compatibility and region-threaded scheduling
- Advanced restock system with instant restock
- Dynamic trade detection and storage
🤝 Contributing
- Bug Reports: Use GitHub Issues with detailed reproduction steps
- Feature Requests: Describe the use case and expected behavior
- Code Contributions: Follow the existing code style and patterns
- Testing: Ensure all tests pass and add new tests for new features
📞 Support
- Documentation: README.md for complete usage guide
- Issues: GitHub Issues for bug reports and feature requests
- Community: Join our Discord for community support
- Compatibility: Minecraft 1.20.x - 1.21.x, Java 17+
Legend:
- 🎉 Major Features: Significant new functionality
- 🔧 Enhancements: Improvements to existing features
- 🐛 Bug Fixes: Resolved issues and problems
- 📚 Documentation: Documentation and guides
- 🔒 Security: Security-related changes
- 🏗️ Technical: Internal architecture changes
10.1Релиз1.21.8, 1.21.9, 1.21.10 · 16 октября 2025 г.
Minor Bug Fixes
- Fixed Access global region thread To specific region thread In Folia Compatibility
- Other Minor Bug Fixes
10.0Релиз1.21.8, 1.21.9, 1.21.10 · 15 октября 2025 г.
Minecraft Villager Trade Manager — Version 10.0
“Instant Restock Update”
🚀 Key Features Implemented
1. Instant Restock System
- ✅ Added
instantRestockEnabledboolean flag for instant restocks. - ✅ New command:
/villagertrade instantrestock on/off. - ✅ Villager trades automatically replenish immediately after use.
- ✅ Platform-safe execution: Folia uses region-threaded scheduling; other platforms use synchronous execution.
2. Database Integration
- ✅ Instant restock setting persisted in SQLite
settingstable. - ✅ Automatic loading and saving of
instantRestockEnabled. - ✅ Fully backward compatible with existing database schema.
3. Enhanced Status Display
- ✅
/villagertrade statusnow shows Instant Restock status. - ✅ Clear On/Off indication for administrators.
4. Smart Integration
- ✅ Instant restock takes precedence over interval-based restocks.
- ✅ Normal restock system skips processing while instant restock is enabled.
- ✅ Seamless integration with existing restock features (
restocktime,restocklimit,unlimitedrestock).
5. Command System Updates
- ✅ Added
instantrestocksubcommand. - ✅ Updated usage help text to include new command.
- ✅ Tab completion for
on/offvalues. - ✅ Updated main command usage message to reflect new options.
6. Performance Optimizations
- ✅ Efficient instant restock processing with minimal CPU overhead.
- ✅ Minimal performance impact when feature is disabled.
- ✅ Platform-appropriate scheduling for optimal performance on Folia and legacy servers.
🧩 Compatibility
- Fully compatible with: Folia, Paper, Purpur, Spigot, Bukkit
- Minecraft versions: 1.20.x – 1.21.x
- Java: 17+
⚙️ Migration Notes
- Upgrade from v9.0 is seamless.
- Existing settings, prices, and restock data are preserved.
- No server restart required for migration.
📌 Summary
v10.0 introduces Instant Restock, giving server admins full control to replenish villager trades immediately, while maintaining compatibility, thread safety, and performance across all supported platforms.
9.0Релиз1.21.8, 1.21.9, 1.21.10 · 15 октября 2025 г.
🧾 Minecraft Villager Trade Manager v9.0
The Folia Expansion Update
🚀 Major Features
Folia Native Compatibility
- Full Region-Threaded Support: Native compatibility with Folia’s region-based concurrency model.
- Automatic Platform Detection: Detects Folia, Paper, Purpur, Spigot, and Bukkit automatically.
- Seamless Integration: Works transparently without configuration changes.
- Backward Compatibility: 100% retained functionality on all legacy platforms.
Advanced Scheduler Abstraction
- Unified TaskScheduler Interface: Single abstraction for scheduling tasks across all supported servers.
- FoliaScheduler Implementation: Region-threaded scheduling using Folia’s APIs.
- BukkitSchedulerWrapper: Legacy scheduler for Paper, Spigot, Purpur, and Bukkit.
- Entity & Location Safe: All entity and location operations respect Folia’s thread-safety rules.
Asynchronous Database Operations
- Thread-Safe Database Executor: Dedicated async thread pool for SQLite operations.
- Non-Blocking I/O: Prevents main-thread lag by running all DB tasks asynchronously.
- Configurable Thread Pool: Adjust thread count for optimal performance.
- Graceful Shutdown: Automatic cleanup of async resources.
🛠️ Technical Improvements
Platform Detection Service
- Automatic Recognition: Detects server platform at runtime.
- Adaptive Behavior: Adjusts scheduler and async methods accordingly.
- Detailed Logging: Shows platform information on startup.
- Safe Fallbacks: Gracefully handles missing APIs on unsupported versions.
Thread Safety Enhancements
- Region-Safe Entity Access: All villager actions use Folia-safe execution.
- Concurrent Data Access: Thread-safe operations for restock and trade data.
- Cross-Platform API Safety: Reflection-based compatibility layer.
- Improved Exception Handling: Safe and recoverable async operations.
Performance Optimizations
- Reduced Main Thread Load: All blocking tasks moved to async.
- Efficient Resource Management: Improved thread pooling and connection handling.
- Memory Optimization: Low-overhead caching mechanisms.
- Optimized Scheduling: Best scheduling method automatically selected per platform.
🔄 Compatibility Enhancements
Multi-Platform Support
- ✅ Folia (1.20.x–1.21.x)
- ✅ Paper (1.20.x–1.21.x)
- ✅ Purpur (1.20.x–1.21.x)
- ✅ Spigot (1.20.x–1.21.x)
- ✅ Bukkit (1.20.x–1.21.x)
Version Range
- Minecraft: 1.20.x – 1.21.x
- Java: 17+
API Integration
- Reflection-Based Access: Ensures compatibility across API variants.
- Graceful Fallbacks: Automatically uses the best available scheduler.
- Future-Proof Design: Modular structure ensures easy updates.
📊 System Architecture
Modular Design
- Scheduler Layer: Unified async/sync scheduling.
- Platform Layer: Detection & adaptation services.
- Database Layer: Async persistent storage.
- Business Logic Layer: Core villager trade management.
Resource Management
- Thread Pool Management: Configurable async threads.
- Connection Handling: Automatic open/close cycle for DB connections.
- Memory Optimization: Efficient caching and cleanup.
- Safe Shutdown: Proper termination of all async tasks.
🎯 Feature Preservation
All features from v8.0 are maintained and improved:
- Custom Trade Pricing
- Discount Prevention
- Custom Restock System (intervals, limits, unlimited)
- Command Suite (
/villagertrade setprice,/villagertrade restock, etc.) - SQLite Persistent Data Storage
Enhanced Reliability
- Better error recovery
- Strong data consistency
- Improved async logging
📈 Performance Benefits
Scalability
- Supports servers with 1000+ villagers
- <1% tick usage even under high load
- Fully async database and trade logic
Operational Efficiency
- Fast startup
- No blocking on main thread
- Safe async resource cleanup
🔧 Implementation Details
New Components
TaskSchedulerInterfaceFoliaScheduler(region-threaded scheduler)BukkitSchedulerWrapper(legacy scheduler)PlatformService(detection and adaptation)AsyncDatabaseExecutor(thread-safe DB layer)
Codebase Improvements
- Modularized architecture
- Full backward compatibility
- Comprehensive inline documentation
- Future-ready design
📋 Migration Notes
- Seamless Upgrade: Drop-in replacement, no config changes.
- Data Preservation: Existing settings and prices remain intact.
- Command Compatibility: No breaking command changes.
- Zero Downtime: Upgrade from v8.0 without restart issues.
✅ Summary
Minecraft Villager Trade Manager v9.0 – The Folia Expansion Update
Now supports Folia’s region-threaded architecture while maintaining full compatibility with Paper, Purpur, Spigot, and Bukkit.
Bringing safe async performance, universal scheduling, and next-level stability to villager trade management.
8.0Релиз1.21.8, 1.21.9, 1.21.10 · 13 октября 2025 г.
🔁 New in v8.0 — The Restock Update
⚙️ Custom Restock System
Take command of villager restocking behavior with full flexibility:
/villagertrade restock on/off— Enable or disable the custom restock system./villagertrade restocktime <minutes>— Set the restock interval (default: 30 minutes)./villagertrade restocklimit <count>— Set the daily restock limit (default: 5 restocks/day)./villagertrade unlimitedrestock on/off— Toggle unlimited villager restocks.
✅ Fully compatible with all villager professions and levels.
✅ Automatically resets restock counts daily.
✅ Smart, lightweight system monitored every minute.
🧩 Database Integration
- SQLite-based persistent storage for all settings and restock data.
- Includes two new tables:
settings— Saves custom configuration values.villager_restock_data— Tracks each villager’s individual restock usage.
- Thread-safe operations using
ConcurrentHashMap.
📊 Enhanced Status Display
/villagertrade status now shows:
- Restock system status (enabled/disabled).
- Current restock interval and daily limits.
- Unlimited restock toggle state.
- Price system status and stored price configurations.
Комментарии
Загружаем…