A Minecraft plugin that gives mobs memory, making them remember players and events, creating dynamic and personal gameplay experiences.
- Persistent Memory System - Mobs remember interactions across server restarts
- Configurable Behaviors - Every aspect is customizable in
config.yml - Module/Addon Support - Extend functionality with custom modules
- Performance Optimized - Async processing and configurable limits
Skeletons never forget who attacked them. They will:
- Remember players who damaged them for configurable days
- Actively hunt down remembered players when nearby
- Deal increased damage to their remembered enemies
- Prioritize revenge targets over other players
Wolves remember kindness and return the favor:
- Remember players who fed them (even if not tamed)
- Spontaneously help remembered players in combat
- Can teleport to assist if configured
- Configurable cooldown to prevent exploitation
Endermen learn your mining patterns and steal accordingly:
- Track which blocks players mine frequently
- Steal those specific block types from inventory or world
- Smart targeting based on player behavior
- Fully configurable theft mechanics
- Download the latest release
- Place
MemoryMobs.jarin yourplugins/folder - Restart your server
- Configure in
plugins/MemoryMobs/config.yml
All behaviors are fully configurable in config.yml:
behaviors:
skeleton-revenge:
enabled: true
memory-duration-days: 7
detection-radius: 32.0
remember-chance: 0.8
damage-multiplier: 1.2See the default config.yml for all available options.
| Command | Permission | Description |
|---|---|---|
/memorymobs help |
- | Show help menu |
/memorymobs reload |
memorymobs.reload |
Reload configuration |
/memorymobs stats |
memorymobs.stats |
View statistics |
/memorymobs clear all |
memorymobs.clear |
Clear all memories |
/memorymobs modules |
memorymobs.modules |
List all modules |
/memorymobs modules info <name> |
memorymobs.modules |
View module details |
MemoryMobs supports custom modules/addons to extend functionality!
- Place module JAR files in
plugins/MemoryMobs/modules/ - Restart your server
- Configure in
config.ymlundermodules:section
Want to create your own behaviors? Check out MODULE_DEVELOPMENT.md for a complete guide.
Example module ideas:
- Creepers that flee from players who frequently kill them
- Villagers with trade memory (discounts/price increases)
- Spiders that set web traps for remembered players
- Zombies that remember their killer and seek revenge through other zombies
Check the Modules Wiki for community-created modules (coming soon!)
MemoryMobs/
├── behavior/ # Behavior system
│ ├── BehaviorRegistry
│ ├── MobBehavior (abstract)
│ └── impl/ # Built-in behaviors
├── manager/ # Core managers
│ ├── MemoryManager
│ └── BehaviorProcessor
├── model/ # Data models
│ ├── Memory
│ └── MobMemory
├── storage/ # Persistence layer
│ ├── StorageProvider (interface)
│ └── YamlStorageProvider
├── module/ # Module system
│ ├── Module (interface)
│ ├── ModuleManager
│ └── ModuleLoader
└── command/ # Commands
- Extend
MobBehavior - Implement required methods
- Register in plugin startup or via module
public class MyBehavior extends MobBehavior implements Listener {
@Override
public String getName() {
return "my-behavior";
}
@Override
public boolean isApplicableFor(EntityType type) {
return type == EntityType.ZOMBIE;
}
@Override
public void process(LivingEntity entity) {
// Your behavior logic
}
}See MODULE_DEVELOPMENT.md for detailed guide.
- Async Processing - Behavior processing runs asynchronously
- Smart Cleanup - Expired memories are automatically cleaned
- Configurable Limits - Set max memories per mob
- Distance Checks - Only process mobs near players
- Efficient Storage - Optimized YAML/JSON/SQLite storage
Contributions are welcome!
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
This project is licensed under the MIT License.
Please use the Issues page for:
- Bug reports
- Feature requests
- Module ideas
- Questions
- Minecraft Versions: 1.16+
- Server Software: Spigot, Paper, Purpur
- Java Version: Java 8+
For detailed documentation, visit the Wiki (coming soon!)
If you enjoy this plugin, please:
- ⭐ Star the repository
- 📢 Share with others
- 💬 Join our Discord (coming soon!)
- ☕ Support development (coming soon!)
Made with ❤️ for the Minecraft community