
MurderCraft
A multiplayer mod inspired by the Murder game mode designed by Squeezie & Thรฉodore Bonnet (itself inspired by Garry's Mod Murder). 2 hidden murderers, 1 detective, innocents trying to survive. 4 rounds, tasks from round 3, role reveal mechanic.
0.5.0-beta.7
Compatibility
Changes
Spawn dispersion & combat polish
This release brings major gameplay improvements: random spread spawns, weapon ammo, anti-griefing protections, and several quality-of-life fixes. The mod is now feature-complete for public beta testing.
๐ฏ Combat & weapons
- Pistols now have 2 bullets each (Squeezie ruleset). Both the Detective's starting pistol AND the hidden pistol that drops mid-round have only 2 shots. Once spent, the pistol becomes a useless click โ make every bullet count.
- Ammo persists across drops and pickups. Fire one bullet, die or get auto-disarmed, and the dropped pistol keeps its remaining 1 bullet for the next innocent who picks it up.
- Ammo displayed in tooltip (hover the pistol) with color coding: green when loaded, red when empty.
- Action bar countdown after each shot: "๐ซ Bullets remaining: X/2"
- Dry-click sound when trying to fire an empty pistol.
๐บ Spawn & arena
- Random spawn at every round start: all participants are teleported to random valid land positions within a configurable radius of the world spawn (
/setworldspawn). Ocean, river, and deep ocean biomes are excluded โ no one spawns in water. - Minimum distance between players: spawns are dispersed so players don't appear next to each other. Distance scales with player count (60 blocks min for 4 players, 30 blocks for 16, 20 blocks for 32+).
- Spawn height + damage immunity: players spawn 25 blocks above ground with full damage immunity for 8 seconds (configurable). Prevents fall damage, instant-kills, and lava deaths during the chaotic round start.
- Action bar countdown for immunity: "๐ก Damage immunity: 5s..." โ expires once with "โ You are no longer invulnerable!"
- Square world border automatically set at session start, centered on the world spawn. Default size 500 blocks across. Original border configuration is saved and restored at session end.
- Survival mode enforced at game start โ all participants are switched to survival mode automatically, ensuring fair play.
๐ก Anti-griefing & polish
- Custom items cannot be dropped manually. Pressing Q or dragging out of inventory returns the knife, pistol, hidden pistol, or mystery token immediately. Prevents accidental loss in lava, off cliffs, etc.
- Death cleanup: all custom items are removed from a dying player's inventory before vanilla drops, so nothing leaks.
- Public build security: debug commands and mob damage are now permanently disabled in public builds, even if a server admin edits the config file to enable them. Console warning logged if config flags are detected and ignored.
๐จ Visual & audio
- Title overlays on screen for role assignment, round start, end-of-round, and task completion.
- Murderer awareness: subtle soul-flame particles appear above other murderers, visible only to fellow murderers โ finally lets the murderer team coordinate without revealing themselves.
- Better gunshot effects: combo of 2 sounds + muzzle flash particles (smoke + flame).
- Better knife effects: trident-hit + wool-break combo with blood splatter particles.
- Role-specific briefing sounds: wither ambient for murderers, bell for detective, toast for innocents.
๐ Important fixes
- Fixed infinite pickup loop where murderers receiving a pistol would spam-drop it.
- Fixed
/murder stopnot actually stopping the game. - Fixed timeout win condition (innocents now correctly win when the timer expires).
- Fixed "no longer invulnerable" message spam on action bar.
- Fixed world border not setting up in debug mode.
๐ Important attribution note
The ruleset implemented in this mod follows the variant designed by Squeezie & Thรฉodore Bonnet (itself inspired by Garry's Mod Murder). The specific rules โ 2 murderers who don't know each other, hidden pistol mid-game, friendly fire = lose your gun, 4 rounds of 15 minutes, tasks from round 3, private role reveal โ match their version, not the original GMod ruleset.
๐ง Configuration
All new behaviors are configurable in the Mod Menu config screen:
- Random spawn enabled, radius, height, immunity duration
- World border enabled, size
- Rounds per session, inter-round delay
- Murderer count, detective count, min/max players
๐ฎ Commands
/murder join Join the lobby
/murder leave Leave the lobby
/murder status Show current game state
/murder task reveal <player> Reveal a role (after winning a task)
/murder start Start the session (OP)
/murder stop Stop the current game (OP)
/murder config show Print current config (OP)
/murder config minPlayers <n> Change min players (OP)
/murder config duration <s> Change round duration (OP)
/murder kick <player> Remove a player (OP)
๐ Known limitations
- Has not yet been tested in real 4+ player multiplayer matches โ bug reports very welcome!
- Uses vanilla Minecraft sounds (custom OGG sounds planned for v1.0)
- No persistent statistics yet (planned)
๐ Bug reports
Please report any issues at https://github.com/Remilulz91/MurderCraft/issues with mod version (0.5.0-beta.7), Minecraft version, and steps to reproduce.
Thanks for testing MurderCraft!
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:KL48QDny:xtJPyJEK"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:KL48QDny:xtJPyJEK"
}
