1.0.3
Compatibility
Changes
Fixed a serious bug where any player could use the admin commands. /peace setvalue, setsecret,
setcooldown, addkill, reset and resetcooldowns had no permission check, so anyone could give
themselves value 10 or the secret path just by typing their own name. They now require OP.
/peace info, /peace top and /peace abilities are open to everyone.
New commands
/peace top— the leaderboard.topranks by value,top killsby kills made this season,top peacefulby peaceful minutes this season. Offline players are included, and if you are not in the top ten it shows your own place underneath./peace abilities— the passives of your current value, the item that triggers your ability and how to use it, and how many peaceful minutes you still need for the next value./peace newseason confirm— ends a season: everyone goes back to value 5 and loses their kills, peaceful minutes, hunt cooldowns and ability cooldowns, including players who are offline, and the secret path becomes unclaimed. The standings are archived topeacesmp/season-<date>.jsonfirst, so a mistimed wipe is recoverable and an end-of-season event has something to read. The wordconfirmis required so it cannot be run by accident. Your/peace setcooldownsetting is kept./peace clearsecret— frees the secret path slot without touching anyone's value. Works even if the holder is offline, which/peace setsecret <player> 0could not do./peace reload— re-reads the config file without restarting the server.
Admin commands work on offline players
Every command that takes a player now accepts an offline name, a UUID, or self, not just someone
who is currently connected. Before this you could not inspect or fix anyone who had logged off, which
is most of your server most of the time. Names of players who have ever joined are tab-completed.
Season records
/peace infonow reports kills made and deaths for the season alongside the kill standing that drives the karma tiers, and both the peaceful minutes toward your next value and your season total.- These records only ever go up. The kill standing still drops when you die — that is what pulls a killer back toward neutral — but the season record of what you did is kept, so the end-of-season numbers are real.
- Fixed
/peace top peaceful, which ranked by the counter that resets every time you gain a value or get hit. It was really showing progress toward the next value, not who had played peacefully.
A config file
config/peacesmp.json is written with defaults on first run: minutes needed for each value, the kill
cooldown, ability cooldowns, durations, radiuses and damage, the secret path odds, and switches for
the value-change titles and the auras. Edit it and run /peace reload — no restart. Missing keys fall
back to defaults, so the file survives updates.
The secret path
- It is much easier to get. The roll now happens every active peaceful minute instead of every 30, so on a 20-25 player server it is usually claimed one to two weeks into a season instead of almost never. There is still only one Ascendant at a time.
- Value 10 players can get it too. They were skipped entirely before, which locked out exactly the players who had reached the top of the peaceful ladder.
- Fixed a bug where killing the same player over and over still rolled for the path, even though those kills award nothing. Only kills that pass the cooldown roll now.
- Fixed a bug where losing your peaceful minutes (getting hit, or gaining a value) also threw away your progress toward the roll.
- Fixed a bug where giving the path to a second player left the first one with it too.
Fixes
- Fixed a bug where the Sky Drop made you immune to fall damage forever if you never landed (boat, cobweb, teleport, portal). It now expires after 15 seconds.
- Fixed a bug where the Virtual Arena affected players in other dimensions who happened to be at the same coordinates, and where its fire ring was drawn in the wrong dimension.
- Fixed a bug where the arena pushed players out at the centre's height, which could put them inside blocks. It now keeps your own height.
- The meteor no longer hurts tamed pets or villagers, and it now respects the server's PvP setting.
- Fixed a bug where killing yourself (your own arrow, your own Sky Drop) counted as a kill and lowered your value.
- Fixed a bug where value 5 was white next to your name but green above the hotbar.
- Fixed a bug where players with the same value could see each other while invisible with the value 10 ability.
- Fixed a bug where the 15 / 10 / 5 / 1 minute kill cooldown messages were skipped if the server lagged past the exact second.
- Fixed a bug where anything you did in your first minute online didn't count for the activity check.
- The value bonuses (hearts and damage) are no longer saved into your player file, so removing the mod no longer leaves players with extra hearts forever. Existing players are migrated automatically when they join, without losing health.
- Players who log out or die no longer leave their Sky Drop or anti-heal state behind on the server.
- Fixed a bug where value 10 players could lose peaceful minutes to a server restart. The minutes were counted correctly, but at value 10 — where there is no next value to work toward — nothing asked the world to save them, so a restart could roll back the last stretch. It hit exactly the players
/peace top peacefulexists to rank. - Fixed a bug where a player who joined and logged straight back out was never written to disk, so they were missing from
/peace topand admin commands could not find them by name until they had actually played. - Fixed a bug where
/peace newseason confirmdid not save the fresh records it creates for everyone online at the moment of the reset.
Presentation
- A title and a sound when your value changes, so a gain or a loss is not just one line of chat.
- The action bar, nametag colour and value suffix are unchanged.
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:nwVERkWN:AEFL3rJJ"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:nwVERkWN:AEFL3rJJ"
}

