
BubbleVillagers
(formerly VillagerOptimizer) is a powerful performance optimization plugin that helps combat heavy villager lag by allowing players and administrators to optimize their trading halls and villager setups
- Загрузки
- 762
- Подписчики
- 3
- Обновлён
- 5 июня 2026 г.
- Лицензия
- MIT
Опубликован 15 декабря 2025 г.
BubbleVillagers (formerly VillagerOptimizer) is a powerful performance optimization plugin that helps combat heavy villager lag by allowing players and administrators to optimize their trading halls and villager setups.
✨ Features
🚀 Performance Optimization
- AI Toggle System: Remove AI from villagers to reduce server load while maintaining trading functionality
- Smart Optimization: Villagers can still restock trades and level up even when optimized
- Configurable Cooldowns: Prevent spam optimization with customizable cooldowns
- Radius Commands: Optimize or unoptimize multiple villagers at once in a specified radius
🎮 Multiple Optimization Methods
- Nametag Optimization: Use nametags on villagers to optimize them
- Block Interaction: Right-click villagers with specific blocks (configurable)
- Workstation Method: Interact with villager workstations for optimization
- Command-Based: Use commands to optimize villagers in bulk
🌍 Cross-Version Support
- Minecraft 1.16 - 1.21.x: Full compatibility across modern Minecraft versions
- Folia Ready: Fully compatible with Folia's regionized multithreading
- Paper Optimized: Built specifically for Paper and its forks
📊 Additional Features
- Multi-Language Support: English, German, Italian, Korean, Russian, Chinese
- Adventure API: Modern text formatting with MiniMessage support
- bStats Integration: Optional anonymous usage statistics
- Trade Restocking: Configurable automatic trade restocking
- Permission System: Granular permission control for all features
📋 Requirements
- Minecraft Version: 1.16.5 or higher (optimized for 1.21.x)
- Server Software: Paper, Folia, or compatible forks
- Java Version: Java 17 or higher
🔧 Installation
- Download the latest version from Spigot or Modrinth
- Place the
BubbleVillagers-X.X.X.jarfile in your server'spluginsfolder - Restart your server or use a plugin manager to load it
- Configure the plugin in
plugins/BubbleVillagers/config.yml - Reload with
/bubblevillagers reloador restart the server
📝 Commands
| Command | Description | Permission | Aliases |
|---|---|---|---|
/villageroptimizer [reload|version|disable] |
Admin commands | bubblevillagers.admin |
/vo, /bv, /bubblevillagers |
/optimizevillagers <radius> |
Optimize villagers in radius | bubblevillagers.optimize |
/optvils, /noai, /bvopt |
/unoptimizevillagers <radius> |
Unoptimize villagers in radius | bubblevillagers.unoptimize |
/unoptvils, /noaiundo, /bvunopt |
Command Examples
/optimizevillagers 50 # Optimize all villagers within 50 blocks
/unoptimizevillagers 30 # Restore AI to villagers within 30 blocks
/bubblevillagers reload # Reload plugin configuration
/bubblevillagers version # Check plugin version
🔐 Permissions
| Permission | Description | Default |
|---|---|---|
bubblevillagers.* |
Access to all features | op |
bubblevillagers.admin |
Admin commands (reload, version, disable) | op |
bubblevillagers.optimize |
Use optimization commands | op |
bubblevillagers.unoptimize |
Use unoptimization commands | op |
Legacy Permissions
The plugin maintains backward compatibility with VillagerOptimizer permissions:
villageroptimizer.adminvillageroptimizer.optimizevillageroptimizer.unoptimize
⚙️ Configuration
The plugin offers extensive configuration options:
# Performance Settings
optimization:
remove-ai: true # Remove AI from optimized villagers
allow-restocking: true # Allow trade restocking when optimized
restock-interval: 1200 # Ticks between restocks (20 = 1 second)
# Cooldown Settings
cooldowns:
optimization-cooldown: 300 # Seconds between optimizations
command-cooldown: 30 # Seconds between command uses
# Method Settings
methods:
nametag-enabled: true # Enable nametag optimization
block-enabled: true # Enable block interaction optimization
workstation-enabled: true # Enable workstation optimization
# Radius Limits
limits:
max-radius: 100 # Maximum radius for commands
# Language
language: en_us # Available: en_us, de_de, it_it, ko_kr, ru_ru, zh_cn
🌐 Supported Languages
- 🇺🇸 English (en_us)
- 🇩🇪 German (de_de)
- 🇮🇹 Italian (it_it)
- 🇰🇷 Korean (ko_kr)
- 🇷🇺 Russian (ru_ru)
- 🇨🇳 Chinese (zh_cn)
🔄 Migration from VillagerOptimizer
BubbleVillagers is fully backward compatible with VillagerOptimizer. Simply:
- Stop your server
- Remove the old VillagerOptimizer JAR
- Add BubbleVillagers JAR
- Start your server
All configurations and data will be automatically migrated.
🐛 Bug Reports & Feature Requests
Found a bug or have a feature request? Please open an ticket on our Discord Server.
📜 License
This project is licensed under the appropriate license - see the LICENSE file for details.
🙏 Credits
- Original Author: xGinko
- Maintainer: Ξthan
💖 Support
If you enjoy this plugin, please consider:
- 📝 Leaving a review on Spigot or Modrinth
- 💰 Supporting the developers
Note: This plugin is designed for performance optimization. Always test on a development server before deploying to production.
Ченджлог
2.1.7Релиз26.1.2 · 5 июня 2026 г.
Changed
- Adventure API — Removed shaded
adventure-platform-bukkit(not needed on Paper/Folia 26.1.2) and switchedadventure-text-minimessage,adventure-text-serializer-ansi, andadventure-text-logger-slf4jfrom shaded toprovidedscope, using Adventure 5.1.0 bundled in the server. This is the correct long-term fix for theNoSuchMethodErrorcrash introduced in v2.1.5. - KyoriUtil — Replaced
BukkitAudiences.sender().sendMessage/sendActionBar()with directAudiencecast (Paper 26.1.2'sCommandSendernatively implementsAudience). - Removed
net.kyorirelocation from the shade plugin since Adventure is no longer shaded.
2.1.6Релиз26.1.2 · 5 июня 2026 г.
Fixed
- Folia 26.1.2 startup crash —
NoSuchMethodError: Services.service(ServiceLoader, Class)caused by Adventure API version mismatch. Revertedadventure-text-minimessage,adventure-text-serializer-ansi, andadventure-text-logger-slf4jfrom5.1.0back to4.26.1to maintain compatibility withadventure-platform-bukkit:4.4.1.
2.1.5Релиз26.1.2 · 17 мая 2026 г.
Updated
- Paper API updated to
26.1.2.build.63-stable(latest stable build) - Adventure API (
adventure-text-minimessage,adventure-text-serializer-ansi,adventure-text-logger-slf4j) updated from4.26.1to5.1.0 - MockBukkit updated from
4.108.0to4.110.0 - Updated
api-versioninplugin.ymlto26.1.2
2.1.4Релиз26.1, 26.1.1, 26.1.2 · 2 мая 2026 г.
[2.1.4] - 2026-05-02
✨ Added
- Stable release for Paper 26.1.2 channel readiness.
🔄 Changed
- Bumped plugin version from
2.1.3-BETAto2.1.4. - Updated Paper API target to stable build
26.1.2.build.53-stable. - Removed beta tag from plugin runtime description in
plugin.yml.
2.1.3-BETAБета26.1, 26.1.1, 26.1.2 · 15 апреля 2026 г.
[2.1.3-BETA] - 2026-04-15
⚠️ BETA RELEASE — Targets Paper 26.1.x.
🐛 Fixed
- Removed XSeries dependency entirely — all XSeries versions (11.x–13.x) fail to parse the Minecraft 26.x version string (
26.1.2-2570-e64b1b2) and crash withExceptionInInitializerErroron plugin enable. - Replaced
XMaterial,XEntityType, andXPotionusages with direct Bukkit API constants (Material.*,EntityType.*,PotionEffectType.*).
2.1.2-BETAБета26.1, 26.1.1, 26.1.2 · 15 апреля 2026 г.
[2.1.2-BETA] - 2026-04-15
⚠️ BETA RELEASE — Targets Paper 26.1.x.
🐛 Fixed
- Updated XSeries from
11.3.0to13.6.0— XSeries 11.x could not parse the new Minecraft 26.x major version number and crashed on plugin enable. Version 13.x handles the new versioning scheme correctly. - Updated shade exclusions in pom:
SkullCacheListenerwas removed in XSeries 12.x andNMSExtrasmoved tocom.cryptomorin.xseries.reflection.minecraft.
2.1.1-BETAБета26.1, 26.1.1, 26.1.2 · 15 апреля 2026 г.
[2.1.1-BETA] - 2026-04-15
⚠️ BETA RELEASE — Targets Paper 26.1.x (Minecraft 26.1 alpha builds).
🐛 Fixed
- Fixed plugin failing to load with
IllegalArgumentException: API version string should be of format "major.minor.patch" or "major.minor"— changedapi-versioninplugin.ymlfrom'26'to'26.1'.
2.1.0-BETAБета26.1, 26.1.1, 26.1.2 · 14 апреля 2026 г.
[2.1.0-BETA] - 2026-04-14
⚠️ BETA RELEASE — Targets Paper 26.1.x (Minecraft 26.1 alpha builds). Back up your worlds before using.
✨ Added
- Beta support for Paper 26.1.x (new Minecraft versioning: 26.1.2.build.5-alpha).
- Plugin description now indicates BETA and target Paper version at runtime.
🔄 Changed
- Updated target Paper API from
1.21.10-R0.1-SNAPSHOTto26.1.2.build.5-alpha(new PaperMC release versioning). - Updated Java source/target from 17 to 25 (required by Minecraft 26.1.x class files).
- Updated
api-versioninplugin.ymlfrom'1.21'to'26'. - Updated Adventure libraries to
4.26.1(matching the Paper 26.x bundled Adventure BOM). - Updated
adventure-platform-bukkitto4.4.1. - Updated
maven-shade-pluginto3.6.2(adds Java 25 class file support). - Updated MockBukkit to
4.108.0(latestmockbukkit-v1.21while awaitingmockbukkit-v26).
🧪 Testing
- Disabled MockBukkit-based tests (
PluginLifecycleTest,AutoOptimizeModesTest,ClearGlowCommandTest) with@Disabledannotations — MockBukkit does not yet support Paper 26.x registry changes. Tests will be re-enabled oncemockbukkit-v26is published.
🔒 Known Limitations (Beta)
- Paper 26.1.x is currently in alpha — use on production servers at your own risk.
- MockBukkit automated tests are pending
mockbukkit-v26support.
Комментарии
Загружаем…