0.1
Compatibility
Changes
Changelog
All notable changes to WorldPulse are documented in this file.
[0.1.0] - 2026-09-09
Initial release. This version implements the foundational activity-tracking layer that later versions (World State, Dynamic Events, Player Influence) will build on.
Added
- Activity tracking across four independent channels: Mining, Combat, Farming, and Exploration.
- Mining: stone, deepslate, all overworld/nether ore variants, and ancient debris.
- Combat: hostile mobs and raid mobs (zombies, skeletons, creepers, endermen, blazes, pillagers, ravagers, witches, and more).
- Farming: fully grown wheat, carrots, potatoes, and beetroot; pumpkins; melons; and animal breeding.
- Exploration: new chunk discovery, with bonus points for entering the Nether or the End.
- World Pulse system — a 0–100 value per world per statistic, calculated from a rolling time window and recalculated on a configurable interval.
- SQLite-backed history — periodic, asynchronous snapshots of each world's Pulse saved to a local
worldpulse.db. /worldpulse status [world]— displays the current Pulse for a world with a formatted bar and percentage per statistic./worldpulse reload— reloadsconfig.ymlwithout restarting the server.- Permissions:
worldpulse.use(default: everyone),worldpulse.status(default: everyone),worldpulse.admin(default: op). - Per-world, per-statistic configuration — enable or disable WorldPulse entirely per world, or toggle individual statistics (e.g. disable Farming tracking in the Nether).
- Anti-exploit protection for Mining — blocks placed by a player are excluded from Mining Pulse when broken, preventing silk-touch place-and-remine loops from inflating the score.
Technical
- Activity is recorded in memory only; no database writes happen on the event hot path (block break, entity death, etc.), keeping per-event overhead negligible.
- SQLite driver is bundled directly in the plugin jar — no external setup or additional dependencies required.
- Database writes are performed asynchronously and never block the main thread.
Known Limitations (by design, addressed in later versions)
- Pulse is window-based only; there is no smooth decay curve yet (planned for v0.2).
- No World State layer yet — Threat, Stability, Ecology, and Civilization are not implemented (planned for v0.2).
- No dynamic events, GUI, boss bars, or rewards yet (planned for v0.3).
- No per-player statistics, profiles, or achievements yet (planned for v0.4).
- No PlaceholderAPI or DiscordSRV integration yet (planned for v1.0).
Requirements
- Paper (or a Paper fork) — Spigot/CraftBukkit is not supported
- Minecraft 1.21.x
- Java 21+
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:AYYKzcxe:kSs4JL8Y"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:AYYKzcxe:kSs4JL8Y"
}

