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

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 г.

Supports Folia Minecraft Version Java Version

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

  1. Nametag Optimization: Use nametags on villagers to optimize them
  2. Block Interaction: Right-click villagers with specific blocks (configurable)
  3. Workstation Method: Interact with villager workstations for optimization
  4. 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

  1. Download the latest version from Spigot or Modrinth
  2. Place the BubbleVillagers-X.X.X.jar file in your server's plugins folder
  3. Restart your server or use a plugin manager to load it
  4. Configure the plugin in plugins/BubbleVillagers/config.yml
  5. Reload with /bubblevillagers reload or 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.admin
  • villageroptimizer.optimize
  • villageroptimizer.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:

  1. Stop your server
  2. Remove the old VillagerOptimizer JAR
  3. Add BubbleVillagers JAR
  4. 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.

stat1

Ченджлог

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 switched adventure-text-minimessage, adventure-text-serializer-ansi, and adventure-text-logger-slf4j from shaded to provided scope, using Adventure 5.1.0 bundled in the server. This is the correct long-term fix for the NoSuchMethodError crash introduced in v2.1.5.
  • KyoriUtil — Replaced BukkitAudiences.sender().sendMessage/sendActionBar() with direct Audience cast (Paper 26.1.2's CommandSender natively implements Audience).
  • Removed net.kyori relocation from the shade plugin since Adventure is no longer shaded.
2.1.6Релиз26.1.2 · 5 июня 2026 г.

Fixed

  • Folia 26.1.2 startup crashNoSuchMethodError: Services.service(ServiceLoader, Class) caused by Adventure API version mismatch. Reverted adventure-text-minimessage, adventure-text-serializer-ansi, and adventure-text-logger-slf4j from 5.1.0 back to 4.26.1 to maintain compatibility with adventure-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 from 4.26.1 to 5.1.0
  • MockBukkit updated from 4.108.0 to 4.110.0
  • Updated api-version in plugin.yml to 26.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-BETA to 2.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 with ExceptionInInitializerError on plugin enable.
  • Replaced XMaterial, XEntityType, and XPotion usages 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.0 to 13.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: SkullCacheListener was removed in XSeries 12.x and NMSExtras moved to com.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" — changed api-version in plugin.yml from '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-SNAPSHOT to 26.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-version in plugin.yml from '1.21' to '26'.
  • Updated Adventure libraries to 4.26.1 (matching the Paper 26.x bundled Adventure BOM).
  • Updated adventure-platform-bukkit to 4.4.1.
  • Updated maven-shade-plugin to 3.6.2 (adds Java 25 class file support).
  • Updated MockBukkit to 4.108.0 (latest mockbukkit-v1.21 while awaiting mockbukkit-v26).

🧪 Testing

  • Disabled MockBukkit-based tests (PluginLifecycleTest, AutoOptimizeModesTest, ClearGlowCommandTest) with @Disabled annotations — MockBukkit does not yet support Paper 26.x registry changes. Tests will be re-enabled once mockbukkit-v26 is 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-v26 support.

Комментарии

Загружаем…