Skip to content

Developer Documentation

MinePick edited this page Jul 28, 2026 · 13 revisions

This document outlines various developer resources concerning VotifierPlugin.

For developers of vote listeners

Special note for Bukkit developers

VotifierPlugin is API-compatible with Votifier 1.9. VotifierPlugin includes additional APIs on top of those already supplied with Votifier. When you depend on VotifierPlugin, you will depend on Votifier. This preserves backwards compatibility with existing listeners.

If you are not writing a Bukkit listener, you'll depend on VotifierPlugin normally. For BungeeCord, you'll depend on VotifierPlugin, and for Sponge and Velocity you'll depend on votifierplugin.

Developing a vote listener

As VotifierPlugin implements the same API and logic as the original Votifier, you should consult https://github.com/vexsoftware/votifier/wiki/Vote-Listeners-and-VotifierEvent for further details on how to develop a vote listener. The only difference is that VotifierPlugin also supports other platforms such as BungeeCord, Sponge, and Velocity.

Adding VotifierPlugin as a dependency to your build system

ParallelBlock now maintains an independent Maven repository for free use by the community. Builds are automatically published by a CI operated by ParallelBlock.

Maven

You can have your project depend on VotifierPlugin as a dependency through the following code snippets:

<project>
...
    <repositories>
        <repository>
            <id>jitpack</id>
            <url>https://jitpack.io</url>
        </repository>
        ...
    </repositories>
...
    <dependencies>
        <dependency>
            <groupId>com.vexsoftware</groupId>
            <artifactId>votifierplugin-universal</artifactId>
            <version>3.0.0</version>
            <scope>provided</scope>
        </dependency>
        ...
    </dependencies>
...
</project>

Gradle

You can include VotifierPlugin into your gradle project using the following lines:

...
repositories {
    maven {
        url 'https://jitpack.io'
    }
    ...
}
...
dependencies {
    compileOnly "com.vexsoftware:votifierplugin-universal:version"
    ...
}
...

Contributing

VotifierPlugin is an open source GNU GPLv3 licensed project. We accept contributions through pull requests, and will make sure to credit you for your gracious contribution.

Building VotifierPlugin

VotifierPlugin can be built by running the following: ./gradlew build or ./gradlew.bat build on Windows. The resultant universal jar is built and written to universal/build/libs/votifierplugin-{version}.jar.

The build directories can be cleaned instead using the ./gradlew clean (and ./gradlew.bat build) command.

Implementing VotifierPlugin in a server list

VotifierPlugin provides production ready reference implementations for interacting with VotifierPlugin servers.

For protocol documentation, see the Technical QA.

Clone this wiki locally