Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

CrimsonWarpedcraft/plugin-template

Open more actions menu

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

Morty Proxy This is a proxified and sanitized view of the page, visit original site.