pzstorm / capsid

Project Zomboid mod development framework for Gradle.
GNU General Public License v3.0
34 stars 9 forks source link

Storm Capsid

Java CI Plugin Portal License Discord

Capsid is a compact mod development environment for Project Zomboid.

It is a Gradle plugin that enables powerful IDE features and improves your modding workflow. It helps automate the process of setting up, assembling and deploying your project.

Capsid

Introduction

Whether you are a creating textures, models, maps or writing code you are working with often large and complex collections of files. These files need to be interpreted, and (in case of mod files) version controlled. Since we are human beings, we are not nearly as good at interpreting and storing raw data as machines are. This is why we need their help through advanced tools such as Git and IDE's. Git helps manage our mod versions, while an IDE provides powerful features to increase efficiency, offer code assistance, and make development more enjoyable.

Capsid serves as an umbrella for these tools, connecting everything you need in one system.

Features

Where do I get it?

Check the latest version on Gradle Plugin Portal and declare the plugin like this:

plugins {
    id 'io.pzstorm.capsid' version '0.4.2' 
}

How to use it

Setup

Project license

It is important to license your project with an appropriate open source license to ensure others have the right to copy, distribute or modify your work without being at risk of take-downs, shake-downs, or litigation.

Learn what happens when you choose not to license your project.

Capsid mod template comes with MIT license for your project to use. Keep in mind that you can choose to license your project under a different license at any point in time. To apply the template license provided in the distribution to your project follow these steps:

Note that you can choose to include your full name or your Github username. It is a matter of preference and legally speaking both should be valid as long as you can prove the identity provided represents you.

Discord integration

If you are a Discord user and want to let the world know that you are working on Project Zomboid mods you can do so with IntelliJ IDEA Discord integration.

Do the following steps to enable Discord integration for your mod project:

Project name and description displayed in Rich Presence will be read from mod.info file so you should run this task after initializing mod. Note that you can rerun the task at any time if you update mod metadata or accidentally delete the configuration file.?

Search scopes

IDEA scopes are sets of files you can search in various contexts. Capsid generates custom search scopes to help you find code usages or references helpful in modding the game:

Learn more about searching everywhere in IntelliJ IDEA.

Changelog

If you are not familiar with what a changelog is I recommend reading keep a changelog.

Capsid uses github-changelog-generator to generate standardized changelogs. Your should generate a changelog after each release, when all issues on project Github repository have been closed with a merge commit.

Before generating a changelog you need to do the following:

Then simply run generateChangelog task to generate project changelog.

Distribution

Before others can download your mod you need to assemble and upload the mod distribution.

Assembling distributions is a process of packaging everything your mod needs to run in production environment in compressed archives. Anything not needed in production environment (such as gradle files) needs to be excluded from distributions.

Capsid handles this for you. Just run assembleDist and a distribution archive matching the current project version will be created in build/distributions directory.

List of tasks

Setup tasks

Zomboid tasks

Mod tasks

Distribution tasks

Discussion

License

This project is licensed under GNU General Public License v3.0.