Mod
VillagerLobotimizer
No reviews yet
A plugin to lobotomize villagers stuck in a trading hall. Perfect for SMPs looking to increase performance without sacrificing gameplay!
Enhances game performance and optimizes resource usage.
Paper is a fork of Spigot that adds its own plugin API on top of the Bukkit API. All Spigot plugins are compatible with paper, not all paper plugins are compatible with Spigot.
Community voices
Reviews
Click once to include, again to exclude, again to clear
No reviews yet. Be the first to review this project!
Get it on
Available Platforms
Compatibility
Supported Environments
About
Project Details
For authors
Embed Badge
If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.
Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.
Identifiers
Platform IDs
About
Description
VillagerLobotimizer
A Minecraft Paper plugin that improves server performance by turning off villagers' AI when they're confined to trading halls.
Features
- Automatically detects when villagers are trapped in trading halls
- Disables AI for trapped villagers to improve server performance
- Maintains villager trading functionality while AI is disabled
- Automatically refreshes villager trades on a configurable schedule with randomization support
- Profession-specific restock sounds and level-up celebrations
- Optimized job site detection for better performance
- Night-time trade refresh functionality
- Allows naming villagers to control their behavior ("nobrain", "alwaysbrain")
- Debug mode for troubleshooting
- Command system for checking villager status and managing the plugin
Commands
/lobotomy info- Shows statistics about lobotomized and active villagers/lobotomy debug- Shows detailed information about the villager you're looking at/lobotomy debug <entity>- Shows detailed information about a specific villager/lobotomy debug toggle- Toggles debug mode/lobotomy wake- Manually restores AI to the villager you're looking at/lobotomy reload- Reloads the configuration and applies changes to all villagers

Note: I do not make any money off this link. It's fully non-monetized.
Configuration
#Configuration version - DO NOT MODIFY MANUALLY
config-version: 4
#List of names that will always keep villagers active (case-insensitive)
always-active-names:
- "alwaysbrain"
#Interval between trapped checks, in ticks, for active villagers
check-interval: 150
#Interval between trapped checks, in ticks, for inactive villagers
inactive-check-interval: 150
#Interval between villager trade restocks, in milliseconds
restock-interval: 540000
#Range (in milliseconds) before restock-interval to start random restock checks. If set to 0, restocking is not randomized. If equal to or greater than restock-interval, restock will always occur.
restock-random-range: 0
#Whether to only lobotomize villagers with jobs
only-lobotomize-villagers-with-professions: false
#Whether to only lobotomize villagers that have been traded at least once
only-lobotomize-villagers-with-experience: false
#Whether to lobotomize villagers in boats/minecarts. Does not apply to villagers riding on non-vehicle entities like horses.
always-lobotomize-villagers-in-vehicles: false
#Whether to make lobotomized villagers silent. When enabled, villagers will be muted when their AI is disabled.
silent-lobotomized-villagers: false
#The sound to play when a villager restocks. Leave empty ("") for default sounds.
#A list of sounds can be found at https://jd.papermc.io/paper/1.21.6/io/papermc/paper/registry/keys/SoundEventKeys.html
#Use the name found in the description column, e.g. "entity.villager.celebrate" for the sound played when a villager restocks.
restock-sound: ""
#The sound played when a villager is leveled up. Leave empty ("") for no sound.
level-up-sound: "entity.villager.celebrate"
#Debug mode. Prints debug messages to the console.
debug: false
#Chunk debug mode. Prints debug messages related to chunks
chunk-debug: false
#To ignore villagers stuck in doors, set this to true.
ignore-villagers-stuck-in-doors: false
#To not lobotomize villagers surrounded by non-solid blocks, set this to true.
ignore-non-solid-blocks: false
#To check if there is a roof above a villager before lobotomizing, set this to true
check-roof: true
#Create teams for debugging purposes. This will create colored teams for inactive and active villagers. We use this to color their glowing effect.
create-debug-teams: false
#Disable the update checker. You can disable this if you don't want to be notified about updates.
disable-update-checker: false
#Disable chunk forced Villager updating. This'll disable changes to blocks in a chunk from triggering Villagers in the chunk to be updated.
disable-chunk-villager-updates: false
#Prevent trading with unlobotomized villagers. When enabled, players can only trade with villagers that have been lobotomized.
prevent-trading-with-unlobotomized-villagers: false
#Persist lobotomized state across chunk unloads. When enabled, villagers that are lobotomized will remain lobotomized when their chunk is unloaded and reloaded.
#This prevents lag spikes from villagers needing to be re-evaluated and re-lobotomized after chunk loads.
persist-lobotomized-state: true
#Enable Sentry error tracking to help developers identify and fix bugs. See "Privacy & Telemetry" section below for details.
enable-sentry: true
Special Villager Names
- Name a villager with "nobrain" to force it to always be lobotomized
- Name a villager with "alwaysbrain" to prevent it from ever being lobotomized (configurable in
always-active-names)
Sound System
The plugin features an enhanced sound system:
- Default restock sounds: When
restock-soundis left empty, villagers will play default sounds when restocking - Customizable sounds: You can override the default sounds by specifying a custom sound in the configuration
- Sound reference: A complete list of available sounds can be found in the Paper API documentation
- Level-up celebrations: Villagers play celebration sounds when they level up their trades
Requirements
- Paper (or its forks) 1.21.6+
- Java Development Kit (JDK) 21 for development
Installation
- Download the latest release from Modrinth or Hangar
- Place the .jar file in your server's plugins folder
- Restart your server or use a plugin manager to load the plugin
- Configure the plugin settings in
plugins/VillagerLobotimizer/config.ymlif needed
Development
Prerequisites
- Java Development Kit (JDK) 21
- Gradle (wrapper included)
Building
-
Clone the repository
git clone https://github.com/mja00/VillagerLobotimizer.git cd VillagerLobotimizer -
Build the plugin
./gradlew buildThe built plugin will be in
build/libs/VillagerLobotimizer-<version>.jar
Running a test server
The project uses the run-paper plugin to easily test changes:
./gradlew runServer
This will download a Paper server for Minecraft 1.21.5 and start it with the plugin installed.
Publishing
The project uses Hangar for publishing:
./gradlew publishPluginPublicationToHangar
This requires the HANGAR_API_KEY environment variable to be set. The plugin will be published as:
- A release version if the current commit is tagged with a version matching the project version
- A snapshot version if there's no matching tag
Support
If you encounter any issues, please report them on GitHub.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Versions
Files
Relations
Project Relations
More like this
Similar Mods
Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.
On ModDex
Community snapshot
By the numbers
Statistics
Want to reach Minecraft players?
We're looking for a server hosting partner to feature here and other parts of the site. Interested? Send us a message!
Get in touchGet it on
Available Platforms
On ModDex
Community snapshot
By the numbers