ZombieBuddy is a Java agent-based framework that allows modders to:
Patch game classes at runtime using bytecode manipulation
Expose Java classes to Lua for enhanced modding capabilities
Apply patches declaratively using simple annotations
Load Java code from mods seamlessly
Built on top of ByteBuddy, ZombieBuddy provides a clean, annotation-based API for intercepting and modifying game behavior without requiring access to the game's source code.
Why ZombieBuddy?
Previously, Java mods for Project Zomboid required bundling .class files and manually replacing game files. ZombieBuddy makes this better:
No manual file replacement: Automatically loads and applies patches at runtime
Precise patching: Patch specific methods with surgical precision - multiple mods can patch the same class without conflicts, and game updates are less likely to break your mod
Features
- π― Annotation-based patching: Use @Patch annotations to declare method patches
- π Runtime class transformation: Patch classes that are already loaded using retransformation
- π¦ Automatic patch discovery: Scans for patch classes automatically
- π Lua integration: Expose Java classes and global functions to Lua
- β‘ Advice and Method Delegation: Support for both advice-based and delegation-based patching
- π Verbose logging: Configurable verbosity levels for debugging