Mod version 1.6.0 and onward now require DarknessLib!

If you've ever played any of the games in the classic Zork trilogy (which was popular around the 80's), you've probably encountered the Grue, silently killing you because you were inside a dark room. Well, now that monster appears in Minecraft, haunting you there!

What this mod does is adding a new mob called "Grue", whom spawns close to a player if they're in an area where the light level is 2 or lower (simply standing still will only make more of them spawn). The Grue is immortal, and deals almost infinite damage (so there's no way to survive it if you get hit). But there is one way to banish it, which is as simple as getting into a place where the light level is higher than 2, in which case the Grue bursts into a plume of smoke, eliminating the threat for now.

This mod was made so that Tedyhere could use it in an adventure map, but that doesn't mean anyone else can't use it and feel the pain and suffering from being killed by these monsters.

If you're wondering about Dynamic Lights, check the page for DarknessLib for a list of supported Dynamic Lights implementations!

Here's a couple of mod showcases of Grue:

By AN7HONY96 (in spanish)

By HelldogMadness (in spanish)


Grue comes with a variety of configuration options to enhance your experience:

Biome Whitelist:
Add biome IDs to this list if you want Grues to spawn here. The list won't be used if it's empty.

Format: modid:name

S:"Biome Whitelist" <


Dimension-specific Configuration:

Values added to this list will allow you to define dimension-specific configurations that override any of the corresponding global ones defined in the other options. Format: dim_id:spawn_timer:use_grace_period:grace_period:wimp_mode:wimp_mode_damage:moon_phases:spawn_at_player:single_grue:min_light:max_light

Every value except dim_id and moon_phases can be substituted with def, which'll set the value to whatever the global config uses. moon_phases can be left blank if you don't wish to set it

Example: '0:60:true:30:true:20:1.0,0.0:def:true:0:2'

S:"Dimension-specific Configuration" <


Dimensional Grace Period:

Toggles whether or not to have a grace period after changing dimension before the Grue timer continues to count down.

B:"Dimensional Grace Period"=false


Display Warning Text:

Toggles whether or not to display the warning text when in dark areas. Client-side only!

B:"Display Warning Text"=true


Dynamic Light Pauses Timer:

Toggles whether or not Dynamic Light pauses the timer, rather than adding to the light level. Pausing is what the old behavior did.

B:"Dynamic Light Pauses Timer"=false


Flying Height:

The height above ground at which a Grue will still spawn (the spawning waits if you're flying above the height). If set to 0, it will act as if you're not flying. Minimum is 0, and maximum is 3.

I:"Flying Height"=2

Grace Period Timer:

Sets the amount of seconds before the Grue timer resumes after changing dimension. Minimum is 1, and maximum is 30. Only used if Grue grace period is enabled!

I:"Grace Period Timer"=5


Grue dimension whitelist:

Toggles the Grue dimension whitelist (used to force the Grues to only spawn in certain dimensions). This can be useful if you want to restrict Grue spawning to specific dimensions.

B:"Grue dimension whitelist"=false


Grue spawn timer:

Change the value to increase the time it takes before a Grue spawns. Minimum is 1 second, and maximum is 60 seconds.

I:"Grue spawn timer"=10


Grue Spawn At Players:

Toggles whether or not the Grue should spawn at the player's location, rather than where the spawn sound was played.

B:"Grues Spawn At Players"=false


Maximum Spawn Light Level:

Maximum light level at which the Grue can spawn. Minimum is 0 and maximum is 15.

I:"Maximum Spawn Light Level"=1


Minimum Spawn Light Level:

Minimum light level at which the Grue can spawn. Minimum is 0 and maximum is 15.

I:"Minimum Spawn Light Level"=0


Moon Phase Spawn List:

If any numbers representing moon phases are added, the Grue will only spawn durning the night at those moon phases. A moon phase is represented as a number between 1.0 and 0.0, in steps of 0.25 (eg. full moon is 1.0, new moon is 0.0, half is 0.5). Only applicable to dimensions with a day-night cycle!

D:"Moon Phase Spawn List" <



One Grue At a Time:

Toggles whether or not the Grue timer pauses when a Grue is within 10 blocks of the player, rather than continuing to count down (even after one has spawned).

B:"One Grue At a Time"=false


Use Biome Blacklist:

Toggles whether or not to use the biome whitelist as a blacklist instead.

B:"Use Biome Blacklist"=false


Use Blacklist:

Toggles whether or not to use the dimension whitelist as a blacklist instead.

B:"Use Blacklist"=false


Warning text in chat:

Toggles whether or not to display the warning text in the chat rather than above the hotbar.

B:"Warning text in chat"=false



Add dimension IDs to this list if you want Grues to spawn here. Only used if Grue dimension whitelist is enabled!

I:Whitelist <


Wimp Mode Damage:

Sets the amount of damage (in half-hearts) the Grue deals when Wimp Mode is enabled. Minimum is 2, and maximum is 100.

S:"Wimp Mode Damage"=6.0


Wimp mode:

Toggles wimp-mode, which reduces the Grue's damage output to 3 hearts (a 6.505213034913026604750013415713e-19th of the default). Another thing this does is the Grue no longer deals armor-piercing damage.

B:"Wimp mode"=false


If you want to override the dimension whitelist so that Grues always spawn in a specific dimension, you can do so with the following code:

FMLInterModComms.sendMessage("grue", "registerDimensionWhitelistOverride", String.valueOf(DIM_ID));

Where DIM_ID is the dimension ID you want to register a whitelist override for.


If you want to override the biome whitelist so that Grues always spawn in a specific biome, you can do so with the following code:

FMLInterModComms.sendMessage("grue", "registerBiomeWhitelistOverride", BIOME_ID);

Where BIOME_ID is the String ID of the biome (in the format modid:name).



If you want to support the development of my mods, considering becoming a patron! You can click on the image below to visit my Patreon page.



Server hosting


I'm sponsored by Aim2Game, and you can use the following codes for discounts on your own server!
ABYSSAL25 - 25% off for life for new customers
ABYSSAL50 - 50% off first month for new customers


You are free to include this mod in a modpack, as long as you credit me and include a link to this page.



I've set up a discord server for my mods (conveniently named "AbyssalCraft"). Click the image below to join!


Any redistribution of this mod (apart from modpacks) is strictly prohibited.
Any download links that aren't associated with Curse or CurseForge might contain malware! Only download it from the official download provider (Curse).