← Back to Roadmap

Publishing

15 min

Package, version, and distribute your plugin.

Publishing Your Plugin

Build with Maven

xml
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <configuration>
                <archive>
                    <manifest>
                        <mainClass>${project.groupId}.${project.artifactId}</mainClass>
                    </manifest>
                </archive>
            </configuration>
        </plugin>
    </plugins>
</build>

Build command:

bash
mvn clean package

Versioning

Use Semantic Versioning (SemVer):

  • MAJOR.MINOR.PATCH (e.g., 1.2.3)
  • PATCH: Bug fixes (1.0.0 → 1.0.1)
  • MINOR: New features (1.0.0 → 1.1.0)
  • MAJOR: Breaking changes (1.0.0 → 2.0.0)

Distribution

Your plugin is a single .jar file:

text
target/YourPlugin-1.0.0.jar

Users install by copying to:

text
Hytale/UserData/Mods/

Pre-release Checklist

  • [ ] Test on fresh server
  • [ ] Update version in pom.xml AND manifest.json
  • [ ] Update changelog/README
  • [ ] Remove debug logging
  • [ ] Test with other popular plugins

Documentation

Include a README with:

  • What the plugin does
  • Installation instructions
  • Command list
  • Configuration options
  • Permissions list