Skip to content

CrimsonWarpedcraft/plugin-template

Repository files navigation

PaperMC/Spigot Minecraft Server Plugin Template

A template for building PaperMC/Spigot Minecraft server plugins!

Features

Github Actions 🎬

Bots 🤖

  • Probot: Stale
    • Mark issues stale after 30 days
  • Dependabot
    • Update GitHub Actions workflows
    • Update Gradle dependencies

Issue Templates 📋

  • Bug report template
  • Feature request template

Gradle Builds 🏗

  • Shadowed plugin dependencies
  • Checkstyle Google standard style check
  • SpotBugs code analysis

Testing 🧪

Example Plugin Code 🔌

  • /example command via CommandAPI demonstrating subcommands, tab completion, and permissions
  • Example config loading and validation via cw-commons' BukkitConfigManagerBuilder, backed by Jackson and Hibernate Validator
  • Example persistent per-player data storage via cw-commons' BukkitDataStoreBuilder/Repository/PlayerDataManager, demonstrated by /example creepersKilled: CreeperKillListener writes to it on each creeper kill, CreepersKilled reads it back

Config Files 📁

  • Sample plugin.yml with autofill name, version, and main class.
  • Example config.yml
  • Gradle build config
  • Simple .gitignore for common Gradle files

Usage

In order to use this template for yourself, there are a few things that you will need to keep in mind.

Building locally

Thanks to Gradle, building locally is easy no matter what platform you're on. Simply run the following command:

./gradlew build

This build step will also run all checks and tests, making sure your code is clean.

Run ./gradlew test for isolated unit tests or ./gradlew integrationTest for tests that use real cw-commons configuration and storage implementations. Integration-test files are created in JUnit temporary directories and removed automatically.

JARs can be found in build/libs/.

Contributing

See CONTRIBUTING.md.

Releases

Sponsor this project

Used by

Contributors

Languages