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.
| Version | Minecraft | Loader | Download |
|---|---|---|---|
|
VillagerLobotimizer 1.18.0-snapshot-9f43232 1.18.0-snapshot-9f43232 |
1.21.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.17.1 1.17.1 |
1.21.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.17.1-snapshot-190b446 1.17.1-snapshot-190b446 |
1.21.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.17.0 1.17.0 |
1.21.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.17.0-snapshot-4d2fc16 1.17.0-snapshot-4d2fc16 |
1.21.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.16.2 1.16.2 |
1.21.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.16.2-snapshot-699b580 1.16.2-snapshot-699b580 |
1.21.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.16.1 1.16.1 |
1.21.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.16.1-snapshot-e1c65a8 1.16.1-snapshot-e1c65a8 |
1.21.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.16.0 1.16.0 |
1.21.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.16.0-snapshot-791ea02 1.16.0-snapshot-791ea02 |
1.21.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.15.3 1.15.3 |
1.21.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.15.3-snapshot-7c1f8c2 1.15.3-snapshot-7c1f8c2 |
1.21.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.15.2-snapshot-e4a8a19 1.15.2-snapshot-e4a8a19 |
1.21.11, 26.1, 26.1.1, 26.1.2, 26.2
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.15.2 1.15.2 |
1.21.11, 26.1, 26.1.1, 26.1.2, 26.2
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.15.1 1.15.1 |
1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.15.1-snapshot-92a06b8 1.15.1-snapshot-92a06b8 |
1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.15.0 1.15.0 |
1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.15.0-snapshot-7da589b 1.15.0-snapshot-7da589b |
1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.14.2-snapshot-4333e2a 1.14.2-snapshot-4333e2a |
1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.14.2 1.14.2 |
1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.14.2-snapshot-a9dd0d1 1.14.2-snapshot-a9dd0d1 |
1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.14.2-snapshot-cacd6bc 1.14.2-snapshot-cacd6bc |
1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.14.2-snapshot-d475730 1.14.2-snapshot-d475730 |
1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.14.2-snapshot-a1b8f9c 1.14.2-snapshot-a1b8f9c |
1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.14.1 1.14.1 |
1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.14.1-snapshot-9c47c48 1.14.1-snapshot-9c47c48 |
1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.14.1-snapshot-d24a80a 1.14.1-snapshot-d24a80a |
1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.14.0-snapshot-f1f4285 1.14.0-snapshot-f1f4285 |
1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.14.0 1.14.0 |
1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.13.3-snapshot-f13a5bf 1.13.3-snapshot-f13a5bf |
1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.13.3 1.13.3 |
1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.13.3-snapshot-20f148e 1.13.3-snapshot-20f148e |
1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.13.2 1.13.2 |
1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.13.2-snapshot-fb1f499 1.13.2-snapshot-fb1f499 |
1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.13.0 1.13.0 |
1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.13.0-snapshot-062da55 1.13.0-snapshot-062da55 |
1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.12.1-snapshot-2fb56cf 1.12.1-snapshot-2fb56cf |
1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.12.1-snapshot-b0cc7d4 1.12.1-snapshot-b0cc7d4 |
1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.12.1 1.12.1 |
1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.12.1-snapshot-72667df 1.12.1-snapshot-72667df |
1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.12.0 1.12.0 |
1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.12.0-snapshot-849ab75 1.12.0-snapshot-849ab75 |
1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.11.3-snapshot-f2de46b 1.11.3-snapshot-f2de46b |
1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.11.3 1.11.3 |
1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.11.2-snapshot-e4ef7ad 1.11.2-snapshot-e4ef7ad |
1.21.6, 1.21.7, 1.21.8
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.11.2-snapshot-f443de5 1.11.2-snapshot-f443de5 |
1.21.6, 1.21.7, 1.21.8
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.11.2 1.11.2 |
1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.11.2-snapshot-8cef18c 1.11.2-snapshot-8cef18c |
1.21.6, 1.21.7, 1.21.8
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.11.1-snapshot-6ce9e8f 1.11.1-snapshot-6ce9e8f |
1.21.6, 1.21.7, 1.21.8
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.11.1-snapshot-e31592f 1.11.1-snapshot-e31592f |
1.21.6, 1.21.7, 1.21.8
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.11.1 1.11.1 |
1.21.6, 1.21.7, 1.21.8
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.11.1-snapshot-70d08c6 1.11.1-snapshot-70d08c6 |
1.21.6, 1.21.7, 1.21.8
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.11.0 1.11.0 |
1.21.6, 1.21.7, 1.21.8
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.11.0-snapshot-020afff 1.11.0-snapshot-020afff |
1.21.6, 1.21.7, 1.21.8
|
folia, paper, purpur
|
Download |
|
VillagerLobotimizer 1.10.6 1.10.6 |
1.21.6, 1.21.7, 1.21.8
|
paper, purpur
|
Download |
|
VillagerLobotimizer 1.10.5 1.10.5 |
1.21.6, 1.21.7, 1.21.8
|
paper, purpur
|
Download |
|
VillagerLobotimizer 1.10.5-snapshot-55b336a 1.10.5-snapshot-55b336a |
1.21.6, 1.21.7, 1.21.8
|
paper, purpur
|
Download |
|
VillagerLobotimizer 1.10.4-snapshot-b964b42 1.10.4-snapshot-b964b42 |
1.21.6, 1.21.7, 1.21.8
|
paper, purpur
|
Download |
|
VillagerLobotimizer 1.10.4-snapshot-400bec5 1.10.4-snapshot-400bec5 |
1.21.6, 1.21.7, 1.21.8
|
paper, purpur
|
Download |
|
VillagerLobotimizer 1.10.4 1.10.4 |
1.21.6, 1.21.7, 1.21.8
|
paper, purpur
|
Download |
|
VillagerLobotimizer 1.10.3 1.10.3 |
1.21.6, 1.21.7, 1.21.8
|
paper, purpur
|
Download |
|
VillagerLobotimizer 1.10.3-snapshot-2d1665b 1.10.3-snapshot-2d1665b |
1.21.6, 1.21.7, 1.21.8
|
paper, purpur
|
Download |
|
VillagerLobotimizer 1.10.2 1.10.2 |
1.21.6, 1.21.7, 1.21.8
|
paper, purpur
|
Download |
|
VillagerLobotimizer 1.10.2-snapshot-32ffb2b 1.10.2-snapshot-32ffb2b |
1.21.6, 1.21.7, 1.21.8
|
paper, purpur
|
Download |
|
VillagerLobotimizer 1.10.1-snapshot-25b9071 1.10.1-snapshot-25b9071 |
1.21.6, 1.21.7, 1.21.8
|
paper, purpur
|
Download |
|
VillagerLobotimizer 1.10.1 1.10.1 |
1.21.6, 1.21.7, 1.21.8
|
paper, purpur
|
Download |
|
VillagerLobotomy 1.10.0 1.10.0 |
1.21.6, 1.21.7, 1.21.8
|
paper, purpur
|
Download |
|
VillagerLobotomy 1.9.5 1.9.5 |
1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6
|
paper, purpur
|
Download |
|
VillagerLobotomy 1.9.3 1.9.3 |
1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6
|
paper, purpur
|
Download |
|
VillagerLobotomy 1.9.2 1.9.2 |
1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5
|
paper, purpur
|
Download |
|
VillagerLobotomy 1.9.1 1.9.1 |
1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5
|
paper, purpur
|
Download |
|
VillagerLobotomy 1.9.0 1.9.0 |
1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5
|
paper, purpur
|
Download |
|
VillagerLobotomy 1.8.2 1.8.2 |
1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5
|
paper, purpur
|
Download |
|
VillagerLobotomy 1.8.1 1.8.1 |
1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5
|
paper, purpur
|
Download |
|
VillagerLobotomy 1.8.0 1.8.0 |
1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5
|
paper, purpur
|
Download |
|
VillagerLobotomy 1.6.1 1.6.1 |
1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5
|
paper, purpur
|
Download |
|
VillagerLobotomy 1.6 1.6 |
1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5
|
paper, purpur
|
Download |
|
VillagerLobotomy 1.5 1.5 |
1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5
|
paper, purpur
|
Download |
|
VillagerLobotomy 1.4 1.4 |
1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5
|
paper, purpur
|
Download |
|
VillagerLobotomy 1.3 1.3 |
1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5
|
paper, purpur
|
Download |
|
VillagerLobotomy 1.2 1.2 |
1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5
|
paper, purpur
|
Download |
|
VillagerLobotomy 1.1 1.1 |
1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5
|
paper, purpur
|
Download |