Versioned HauntedMC Theme for plugin localization.
nl.hauntedmc.theme:hauntedmc-theme-paletteexposesHauntedMcColorfor direct Adventure use.nl.hauntedmc.theme:hauntedmc-theme-featureframeworkexposesHauntedMcTheme.theme().
The artifacts are published to GitHub Packages. Add the repository to the consuming build (and configure GitHub Packages credentials when required):
<repository>
<id>github</id>
<url>https://maven.pkg.github.com/HauntedMC/Theme</url>
</repository>Use the palette without FeatureFramework:
<dependency>
<groupId>nl.hauntedmc.theme</groupId>
<artifactId>hauntedmc-theme-palette</artifactId>
<version>1.0.0</version>
</dependency>FeatureFramework hosts can depend on the adapter instead; it brings in the palette transitively:
<dependency>
<groupId>nl.hauntedmc.theme</groupId>
<artifactId>hauntedmc-theme-featureframework</artifactId>
<version>1.0.0</version>
</dependency>Register the theme while building a FeatureFramework host:
PaperFeatureHost.builder(plugin, Api.class, features)
.theme(HauntedMcTheme.theme())
.build();Localization can then use persistent colours or scoped effects:
<HauntedMC:Brand>◆ Friends <HauntedMC:Text>No friends are online
For code that builds Adventure components directly:
Component.text("Success", HauntedMcColor.SUCCESS.textColor());| Item | Colour |
|---|---|
Brand |
#A855F7 |
Accent |
#38BDF8 |
Success |
#4ADE80 |
Warning |
#FACC15 |
Error |
#FB7185 |
Muted |
#94A3B8 |
Text |
#E2E8F0 |
Identifiers are resolved case-insensitively by FeatureFramework. Both artifacts are libraries, not server plugins;
applications should include them in their distributable jar. The palette has a provided Adventure API dependency,
which Paper and Velocity already supply.
Run ./mvnw verify for the complete quality gate. Use ./update_version.sh major|minor|patch
from a clean worktree to prepare a local release commit and tag. Publishing uses the github
Maven server configured by the release workflow.
For a coordinated stack release, publish FeatureFramework first, then Theme, DataProvider, DataRegistry, and finally ServerFeatures and ProxyFeatures. This follows the dependency graph and keeps every downstream build resolvable from GitHub Packages.
This project is licensed under the GNU Affero General Public License v3.0.