Description
Part of MCM (Minecraft Comes Military), a set of separate military mods: Aircraft, Devices, Hordes and Air Support. Each one works without the others.
Minecraft 1.21.1 · Fabric · mod id mcm_devices · version 0.1.0
Standalone defence devices. Works on its own with vanilla Minecraft and Fabric API; no other mod is required.
Contents
| Item | What it does |
|---|---|
| Heavy Gate | A 4×4 roll-up gate. The shutter slides up into the head box in 2 seconds. Solid only while closed. |
| Gate Lever | A wall, floor or ceiling lever that opens and closes one linked Heavy Gate. |
| Air Raid Siren | A rising-and-falling siren audible about 128 blocks away. |
| Horde Decoy | A small tracked robot that lures hostile mobs, leads them away from you and self-destructs. |
Heavy Gate and Gate Lever
- Place the gate on the ground: the block you click becomes the second column of the bottom row, and the other 15 cells must be free. Breaking any cell removes the whole gate and drops one item.
- Redstone: a signal on any of the 16 cells opens it; when every cell loses power it closes. Only changes act, so a lever toggle is not overridden afterwards.
- The lever gives no redstone output. It links to the gate stored on the item (sneak + right-click a gate with the lever item to store it), or else to the nearest gate within 16 blocks when placed. Its handle follows the gate's state.
Air Raid Siren — when it sounds
The siren wails in any of these cases:
- Redstone: as long as the siren block is powered.
- Vanilla raid: while a raid is in progress within 96 blocks of the siren (from the moment the raid bar appears, through the waves, until the raid is won, lost or stopped).
- Hostile crowd: when at least 10 hostile mobs are within 24 blocks (horizontally) of the siren. Checked every 2 seconds.
Cases 2 and 3 start an alert of about 45 seconds, renewed while the cause continues, and also set off every loaded siren within 128 blocks. Several sirens in one place are slightly detuned so they do not merge into one tone. All thresholds can be changed or switched off in the config.
Horde Decoy
- Use it on the top or side of a block. It looks up to 4 blocks down for footing and cannot be placed in water or lava.
- It beeps and flashes; hostile mobs within 48 blocks walk to it. Mobs chasing something farther than 6 blocks away drop it.
- When the nearest mob is within 28 blocks it drives away from the player who placed it (climbs 1 block, drops up to 2, avoids fluids, never moves back towards that player).
- After its lead budget (60 s or 160 blocks), when no mobs are around for a while, or when it is stuck, it stops and arms a 15 s fuse while still luring.
- Then it detonates: fire, smoke and sound, no block damage, and damage to hostile mobs only. Players, villagers, traders, tamed animals, anything with an owner and anything a player is riding are never hurt. Mobs killed by the blast give no XP.
Blast radius has three sizes (small 6, medium 10, large 16 blocks), switched with a command and saved per world. Up to 4 decoys run at once. While running it keeps its chunk loaded.
Targets are every Monster (modded hostile mobs included) plus the entity tag #mcm_devices:decoy_targets, minus #mcm_devices:decoy_immune (Ender Dragon, Wither, zombie and skeleton horses by default). If Undead Nights is installed, its horde zombies are zombies and are lured like any other; they are also listed in the tag as optional entries.
Crafting
| Result | Pattern |
|---|---|
| Heavy Gate | I C I / I P I / I C I — I iron ingot, C chain, P piston |
| Gate Lever | _ R _ / I L I — R redstone, L lever, I iron ingot |
| Air Raid Siren | I N I / I R I / _ I _ — I iron ingot, N note block, R redstone |
| Horde Decoy | _ L _ / N T N / I R I — L lightning rod, N note block, T TNT, I iron ingot, R redstone lamp |
All four are also in the creative tab "Minecraft Comes Military: Devices".
Commands
| Command | Effect | Permission |
|---|---|---|
/mcmdevices decoy |
Show the decoy blast radius and fuse | everyone |
/mcmdevices decoy radius small|medium|large|next |
Set the blast radius (saved per world) | decoy.commandPermissionLevel (default 2) |
/mcmdevices reload |
Reload the config | same |
Config config/mcm_devices.json
Created with defaults on first launch; an existing file is never overwritten.
| Key | Default | Meaning |
|---|---|---|
siren.redstone |
true | Wail while powered |
siren.raids |
true | Wail during a vanilla raid within 96 blocks |
siren.hostileCrowd / hostileCount / hostileRadius |
true / 10 / 24 | Wail when this many hostile mobs are this close |
siren.alertRange |
128 | A triggered siren also sets off loaded sirens within this range |
siren.alertTicks |
900 | Length of one alert (20 ticks = 1 s) |
siren.volume |
8 | Carries 16 × volume blocks |
decoy.fuseTicks |
300 | Stop to detonation (0 = at once) |
decoy.radiusSmall/Medium/Large |
6 / 10 / 16 | Blast radius sizes (1–48) |
decoy.defaultRadius |
small | Size used until one is chosen in game |
decoy.damage |
40 | Damage to hostile mobs |
decoy.maxActive |
4 | Decoys running at once |
decoy.lureRadius / lureIntervalTicks / lureSpeed |
48 / 10 / 1.0 | Lure range, interval and walking speed |
decoy.distractTargeted / keepTargetWithin |
true / 6 | Make mobs drop far targets |
decoy.attractAllMonsters |
true | Every Monster is a target (false = tag and extraTargets only) |
decoy.extraTargets / excludedTargets |
[] | Extra or excluded entity ids |
decoy.spareNamedMobs |
false | Do not hurt name-tagged mobs |
decoy.leadAway / leadTriggerDistance |
true / 28 | Drive away when mobs come this close |
decoy.leadMaxTicks / leadMaxDistance |
1200 / 160 | Lead budget |
decoy.waitTicks / sparseCount / sparseTicks |
300 / 1 / 200 | Waiting and stopping when mobs are scarce |
decoy.maxLifetimeTicks |
4800 | Upper limit of one run |
decoy.keepChunksLoaded |
true | Keep the chunk loaded while running |
decoy.messages |
true | Action bar messages to nearby players |
Known limitations
- The decoy only clears a mob's target and asks it to walk over. Brain-driven mobs (piglins, hoglins, zoglins, breezes, the warden…) and mobs with their own movement (slimes, ghasts, phantoms, guardians…) respond weakly or not at all; they still take blast damage.
- If the server stops or the chunk unloads mid-run, the decoy vanishes and the item is not returned.
- A mob farm next to a siren keeps the hostile-crowd alert going; switch
siren.hostileCrowdoff or raisehostileCount.
Credits & licenses
- This mod: all code, block and item models, textures, the decoy model and the siren sound are original work made for this mod
(textures drawn pixel by pixel, the siren tone synthesised), MIT License (
LICENSEin the jar). No third-party textures, models or sounds are included. The decoy item model only names vanilla block textures; other effects use vanilla sounds by id. - Fabric API by FabricMC: Apache-2.0. Required, not included.
- Undead Nights: optional. Its horde zombies are only listed by entity id in the decoy target tag; nothing from it is included.
Community & support
Bug reports, feature requests and build previews live on the Discord:
If you would rather not use Discord, the CurseForge comment thread is read and answered too.






