Перейти к содержимому
Mineforgian

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

Paper Spigot Purpur Bukkit Folia License: MIT Java 21+

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 SystemNEW 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 SystemNEW 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 listbanneditems to see all banned items

💾 Multi-Database SupportNEW 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 on for 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 on for 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

  1. Download the plugin JAR file
  2. Stop your Minecraft server
  3. Place Minecraft-Villager-Trade-Manager-11.0.jar in the plugins/ folder
  4. Start your server to generate configuration files
  5. Configure plugins/VillagerTradeManager/config.yml as needed
  6. 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)

Paper Spigot Purpur Bukkit Folia License: MITJava21+

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 UnsupportedOperationException that prevented plugin from loading on Folia 1.21.8
  • Scheduler Compatibility: Replaced raw Bukkit.getScheduler() calls with platform-aware TaskScheduler
  • PerformanceMonitorService: Updated to use TaskScheduler.runAsyncRepeating() instead of runTaskTimerAsynchronously()
  • MigrationCommand: Updated to use TaskScheduler.runSyncRepeating() instead of runTaskTimer()
  • Constructor Updates: Modified service constructors to accept TaskScheduler dependency injection

🔧 Technical Improvements

Dependency Injection

  • TaskScheduler Injection: Services now properly receive TaskScheduler instances 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 listbanneditems to see current banned items (none by default)
  • Use /vt banitem <item> to ban items from trades
  • Consider /vt setprice improvements with better error messages
Configuration Changes
  • No breaking changes for existing configurations
  • New postgresql section 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 listbanneditems to see current banned items (none by default)
  • Use /vt banitem <item> to ban items from trades
  • Consider /vt setprice improvements with better error messages
Configuration Changes
  • No breaking changes for existing configurations
  • New postgresql section 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 instantRestockEnabled boolean 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 settings table.
  • ✅ Automatic loading and saving of instantRestockEnabled.
  • ✅ Fully backward compatible with existing database schema.

3. Enhanced Status Display

  • /villagertrade status now 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 instantrestock subcommand.
  • ✅ Updated usage help text to include new command.
  • ✅ Tab completion for on/off values.
  • ✅ 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

Paper Spigot Purpur Bukkit Folia


🚀 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

  • TaskScheduler Interface
  • FoliaScheduler (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.

Комментарии

Загружаем…