Links
Tags
Creators
Details
0.1.0
Compatibility
Changes
invertoTimer 0.1.0 — Release Notes
Highlights
0.1.0 focuses on much richer player-facing output, a more consistent configuration format, and better runtime behavior for long-running countdowns (New Year events, server-wide timers, etc.).
New Features
1) MiniMessage + {i18n:key} support in player-visible texts
All texts that are shown to players now support:
{i18n:key}replacement (language file lookup)- MiniMessage formatting (e.g.
<red>,<gold>,<gradient:...>) - Existing placeholders like
{remaining},{id},{target}, etc.
This applies to:
- showcases (actionbar / bossbar / text / title)
- text actions (message / actionbar / title / subtitle)
2) Showcase “after” stage (post-target display)
Actionbar / Bossbar / Title showcases can optionally keep displaying a different message after the countdown hits 0, for a configured duration:
after:
text: "Happy New Year!"
duration: 10m
For title showcases, after.text supports the same title-array format (see below).
3) Unified Title showcase format
Title showcases now use a single title: showcase entry and support both title & subtitle together.
Instead of configuring separate “title” and “subtitle” showcases, you configure one:
title:
text:
- "<gold>New Year</gold>"
- "<gray>{remaining}</gray>"
4) Title timing support (fadeIn/stay/fadeOut)
Title text now supports optional timing parameters (in seconds), matching Title.Times:
text: [title, subtitle, fadeIn, stay, fadeOut]
Missing values fall back to defaults.
5) Bossbar color configuration
Bossbar showcases now support an optional color field:
bossbar:
color: red
Invalid/missing values fall back to a safe default.
6) Regex-based transfer targeting
Transfer action no longer uses all. Instead, it uses a regex pattern:
transferee: ".*"
This matches online player usernames using Java regex matches().
Improvements
1) Runtime refactor: factories + slots + runtime context
The runtime has been restructured into clearer components:
ActionFactory/ShowcaseFactoryfor constructing behaviors from configShowcaseSlotfor interval rate limitingRuntimeContextfor shared access to proxy + filtering + rendering
This makes the project easier to extend and keeps timer logic cleaner.
2) Reload behavior improvements
Reload now properly disposes active runtime objects and avoids leaving stale UI elements behind (e.g. repeated bossbars).
Fixes
- Fixed bossbar duplication issues after reload by ensuring existing bossbars are hidden/cleaned up before rebuilding.
- Reduced countdown jitter by improving how remaining seconds are derived and displayed (especially under scheduler drift).
Configuration Notes (Breaking / Behavior Changes)
transferaction:- Removed
all - Now expects a regex in
transferee
- Removed
- Title showcases:
- Should be configured using
text: [...]array format if you need timings - Subtitle is no longer a separate showcase type; it is part of the title showcase
- Should be configured using
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:wi8i7ZIl:pBngL5Q7"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:wi8i7ZIl:pBngL5Q7"
}

