Jerry is an unofficial fork of TerminatorPlus.
Jerry is maintained by Marcel and is based on the original TerminatorPlus project by HorseNuggets. This fork is not affiliated with the original TerminatorPlus maintainers.
This project is provided for educational, experimental, and personal server testing only. It may be unstable, incomplete, outdated, or incompatible with some Minecraft/Paper versions.
Do not use this plugin on a production server unless you understand the risks. Bugs, crashes, broken bot behavior, server lag, or world disruption may occur.
Original project: https://github.com/HorseNuggets/TerminatorPlus
Jerry is a Bukkit/Paper plugin for creating server-side player bots.
This fork focuses on improving the original in a variety of ways.
- Improved bot movement and pathfinding for more reliable chasing, navigation, and combat positioning
- Added an in-game settings GUI for managing bot behavior more easily
- Added stuck teleport recovery to help bots escape unreachable or trapped positions
- Added dimensional travel support so bots can follow gameplay across dimensions
- Added complete automatic difficulty progression with staged equipment and behavior upgrades
- Added special PvP actions, including crystal PvP, bow combat, ender pearl use, TNT ignition, and fireballs
- Added automatic respawning so bots can continue rejoining combat after death
- Added teleport-to-bot commands for easier testing and management
- Prevented bots from attacking invulnerable players
- Added underwater combat behavior so bots can keep fighting in water
- Java 21
- Paper server
- Minecraft/Paper 1.21.8 recommended for this fork
- Gradle wrapper included
Jerry/
├── Jerry-API/ # Public API module
├── Jerry-Plugin/ # Main plugin implementation
├── buildSrc/ # Shared Gradle build logic
├── docs/ # Documentation files
├── gradle/wrapper/ # Gradle wrapper files
├── src/main/resources/ # Plugin metadata/resources
├── build.gradle.kts # Root Gradle build file
├── settings.gradle.kts # Gradle module settings
├── gradlew # Linux/macOS Gradle wrapper
├── gradlew.bat # Windows Gradle wrapper
└── LICENSE # EPL-2.0 license
Clone the repository:
git clone https://github.com/catches/Jerry.git
cd JerryBuild the plugin:
gradlew.bat build./gradlew buildAfter building, the compiled plugin JAR should be located in:
build/libs/
The generated plugin JAR is named:
Jerry.jar
- Build or download the plugin JAR.
- Stop your Paper server.
- Place the JAR file in your server's
pluginsfolder. - Start the server.
- Watch the console for compatibility warnings or errors.
- Join the server and test the commands.
Example:
server/
└── plugins/
└── Jerry.jar
The plugin registers these command groups:
/jerry
/jer
/bot
/npc
/ai
/botenvironment
/botenv
/bot create <name> [skin] [location]
Creates a single bot.
/bot multi <amount> <name> [skin] [location]
Creates multiple bots at once.
/bot give <item-name>
Gives a specified item to all current bots.
/bot armor <armor-tier>
Gives all bots an armor set.
Available armor tiers:
none
leather
chain
gold
iron
diamond
netherite
/bot info <bot-name>
Shows information about a loaded bot.
/bot tp [bot-name]
Teleports you to a bot and switches you to creative mode.
Aliases:
/bot goto
/bot teleport
/bot visit
/bot stage <stage|auto> [bot-name]
Sets a bot's difficulty progression stage, or returns it to automatic progression with auto.
Aliases:
/bot level
/bot setstage
Examples:
/bot stage 5 Jerry
/bot stage auto Jerry
/bot gui
Opens the bot settings GUI.
Aliases:
/bot menu
/bot controlpanel
/bot settingsgui
/bot count
Lists/counts loaded bots.
Alias:
/bot list
/bot reset
Removes all loaded bots.
/bot settings
Opens the settings GUI when used by a player, or displays settings options when used with arguments.
The settings system includes controls for:
- Goal selection
- Mob targeting
- Player targeting
- Player-list behavior
- Difficulty progression
- Dimension travel
- Automatic respawning
- Special actions
- Stuck teleport recovery
- Region behavior
Difficulty progression automatically upgrades bots as they survive longer and get kills.
Progression is based on a score made from:
alive time + kills
Each kill adds the same amount of progress as roughly 75 seconds of survival time.
You can manually override a bot's stage with:
/bot stage <0-8> [bot-name]
You can return a bot to automatic progression with:
/bot stage auto [bot-name]
| Stage | Unlock Time | Equipment / Behavior |
|---|---|---|
| 0 | 0 seconds | No weapon, no armor |
| 1 | 30 seconds | Wooden axe |
| 2 | 75 seconds | Stone axe, leather armor, Speed I |
| 3 | 120 seconds | Iron sword, chainmail armor, shield, Speed I, Strength I |
| 4 | 180 seconds | Iron axe, iron armor, shield, regeneration, 1 companion dog |
| 5 | 270 seconds | Diamond axe, diamond armor, shield, Speed II, fire resistance, 1 companion dog |
| 6 | 390 seconds | Enchanted diamond sword, enchanted diamond armor, shield, stronger potion effects, 2 companion dogs |
| 7 | 540 seconds | Enchanted netherite axe, enchanted netherite armor, shield, resistance, 2 companion dogs |
| 8 | 720 seconds | Max enchanted netherite sword, max enchanted netherite armor, advanced potion effects, 3 companion dogs |
When enabled, special actions allow bots to use additional PvP-style abilities during combat.
Special actions include:
- Crystal PvP
- Bow and arrow
- Ender pearls
- Light TNT
- Fireballs
The plugin defines the following permissions:
jerry.*
jerry.manage
By default, bot management permissions are intended for server operators.
This project uses:
- Java 21
- Gradle Kotlin DSL
- Paperweight userdev
- Paper API
- Multi-module Gradle layout
Main modules:
Jerry-Plugin
Jerry-API
Plugin main class:
catches.jerry.Jerry
Plugin name:
Jerry
- This fork is experimental.
- Documentation may become outdated.
- Compatibility is version-sensitive.
- Bot behavior may be unstable.
- AI and combat behavior may need testing and tuning.
- Production use is not recommended.
- Some functionality may depend on internal Minecraft/Paper behavior.
This project is licensed under the Eclipse Public License 2.0.
See the LICENSE file for details.