Links
Tags
Creators
Details
Licensed GPL-3.0-or-later
Published 5 months ago
Updated 5 months ago
All versions
0.3.0
Release
BlueMapPortalMarkers 0.3.05 months ago 91
Compatibility
Minecraft: Java Edition
26.1.x
Platform
Paper
Required content
Any compatible version
Changes
[0.3.0] - 2026-05-31
The first feature release since launch — admin tooling, dimension linking, metrics, and a real CI/test pipeline.
Added
/bmportalsadmin commands (permissionbmportals.admin, default OP) for managing the marker layer live, without a restart or hand-editingportals.json:reload— re-readconfig.ymland apply it on the fly (marker appearance, sweep radius, chunk-scan toggle, debug, linking). Settings that still need a restart (storage.file) are reported.sweep [radius]/sweep me [radius]/sweep <player> [radius]/sweep <x> [y] <z>— force a portal scan. Coordinate sweeps are full-height, so altitude can't cause a miss.stats— total and per-world portal counts.purge [world]— drop stored portals and their markers for one world or all (useful after removing portals with WorldEdit, which doesn't fire a break event).
- Overworld ↔ Nether portal linking: each portal popup shows its predicted
counterpart (vanilla 8:1 rule) and, when a matching portal is already known, a
clickable BlueMap deep-link to it. Configurable via
linking.enabledandlinking.search-tolerance. - Anonymous usage metrics via bStats (
metrics.enabled). - Startup update notifier that checks GitHub Releases and logs a single line
when a newer version exists (
update-check.enabled); runs off-thread and fails silently when offline.
Changed
- Most configuration options are now hot-reloadable with
/bmportals reloadinstead of requiring a server restart (exception:storage.file). - The build now shades and relocates bStats into the plugin jar via the Shadow
plugin;
./gradlew shadowJar(run bybuild) produces the distributable.
Internal
- Added a JUnit 5 test suite covering the core domain logic, including the
portals.jsonv0.1→v0.2 migration path. - Added GitHub Actions CI that builds and tests on every push/PR and publishes
the jar to a GitHub Release on
v*tags.
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:mTKdCrsO:nUTJVwmA"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:mTKdCrsO:nUTJVwmA"
}

