This is an intuitive and efficient solution to create and maintain Lua mods for Project Zomboid with greater ease. The tool allows for effortless structuring of mods, reducing time and complexity typically associated with mod creation. Key features include the ability to 'Build' and 'Watch' for changes, enhancing workflow and enabling dynamic mod adjustments.
For seamless coding and guidance, we leverage the asledgehammer/Candle and demiurgeQuantified/PZEventDoc libraries, offering intelligent code completion (IntelliSense) for Lua.
Start creating more powerful and versatile mods for Project Zomboid today!
-
Lua - The Lua language server provides various language features for Lua to make development easier and faster. With around half a million installs on Visual Studio Code, it is the most popular extension for Lua language support.
-
ZedScript - A third-party VSCode extension for supporting ZedScript, a scripting format for creating Items, Recipes, etc.
- Git - Require Git to clone repositories.
- NodeJS LTS - Require NodeJS and NPM to use the CLI commands.
Install or update Project Zomboid Studio globally.
npm install -g pzstudio
Create a new project.
You can create a project anywhere on your computer, but DO NOT create it inside your Mods and Workshop directory. The build command will generate the actual mod into the Workshop directory or any output directory you set.
pzstudio new "<project-title>" "<mod-id>"
# ex1: pzstudio add "My Super Cool Mod"
# ex2: pzstudio add "My Super Cool Mod" "my-super-cool-mod"
Displays help information.
pzstudio help "<command>"
The following commands must be executed from within a PZStudio Project directory.
Update PZStudio, Candle and the project.
pzstudio update
Add an other mod to your project.
pzstudio add "<mod-name>" "<mod-id>"
# ex1: pzstudio add "My other mod"
# ex2: pzstudio add "My other mod" "my-other-mod"
Rename a mod from your project.
pzstudio rename "<mod-id>" "<new-mod-id>"
# ex: pzstudio rename "my-mod" "my-super-mod"
Delete a mod from your project.
pzstudio delete "<mod-id>"
# ex: pzstudio delete "my-mod"
Add a translation language.
pzstudio lang "<mod-id>" "<language-code>"
# ex: pzstudio lang "my-mod-1" "en"
Copy a translation language to an other language.
pzstudio lang "<mod-id>" "<from-language-code>" "<to-language-code>"
# ex: pzstudio lang "my-mod-1" "en" "fr"
Set your output directory. Default: "<user-dir>/Zomboid/Workshop/"
pzstudio outdir "<output-dir-path>"
# ex: pzstudio outdir "C:/Users/Konijima/Zomboid/Workshop"
Clean your output directory from the current built project.
pzstudio clean
Build your project and update your output directory with your project.
pzstudio build
Watch for changes and keep your output directory synced.
pzstudio watch
Support this project by fueling me with coffee.