1.0.0
Compatibility
Changes
This initial release focuses on removing all standard social signals that reveal player presence, allowing servers to deliver a silent, immersive and singleplayer-like environment within multiplayer worlds.
Core Functionality
Implemented scoreboard-based nametag suppression.
Every player is automatically added to an internal scoreboard team with NAME_TAG_VISIBILITY set to NEVER.
Ensures nametags remain hidden at all times, even after player reconnects or server reloads.
Message Filtering
Removed all join messages.
Removed all quit messages.
Removed all kick messages.
Optional removal of global death messages via config.yml.
Prevents combat logs, death notifications or PvP kill announcements from exposing player locations or activity.
Advancement Silence
Automatically disables the server-wide announceAdvancements gamerule in all worlds.
Ensures no advancement appears in chat, as they can unintentionally reveal player progression or presence nearby.
Configuration
Added a minimalistic configuration file:
hide-nametags: true hide-join-quit-messages: true hide-death-messages: true auto-disable-advancements: true
All features enabled by default. No additional setup or dependencies required.
Compatibility and Performance
Pure Bukkit/Spigot implementation.
Compatible with Spigot, Paper, Purpur, and all standard forks.
No packet listeners, no player metadata injection, and no reflection used.
Extremely lightweight and stable.
Purpose
This release establishes the foundation of ImmersiveStealth: a server environment where players do not automatically detect each other unless they physically meet in the world or intentionally communicate.
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:gdvjJkco:IpmHFLAg"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:gdvjJkco:IpmHFLAg"
}

