The Best Resource for Minecraft
The Best Resource for Minecraft

No Mob Spawning on Trees Mod Wiki

A powerful utility mod that allows players to fully control mob spawning logic, preventing spawns on trees and mushrooms by default while offering a robust rule-based system to customize any biome's safety or lethality.

6 sections · 778 words

Overview#

No Mob Spawning on Trees (NMSOT) is a comprehensive mob spawn control utility for Minecraft. While its primary name suggests a simple fix for creepers falling from forest canopies, the mod is actually a deep configuration engine. It allows users to define complex rules for where, when, and how mobs spawn based on block materials, light levels, moon phases, and biome types.

By default, the mod disables hostile mob spawning on all wood logs and mushroom blocks, effectively making forest floors safer and preventing the 'falling creeper' phenomenon. However, through its nmsot.cfg file, it can be transformed into a tool to create hellish deserts, peaceful plains, or dimension-specific spawn logic.

A forest canopy where mobs are prevented from spawning on the logs

Mechanics & Configuration#

The mod operates entirely through the nmsot.cfg configuration file. This file contains a list of blacklistRules that the game evaluates every time a mob attempts to spawn. If a spawn attempt matches a rule in the blacklist, the spawn is canceled.

Global Settings

Beyond specific rules, the mod provides global modifiers to the spawning engine:

Setting Description
extraSpawningTries Increases the number of spawn attempts per tick. Useful for counteracting high blacklist counts.
spawnCapacityMonster Adjusts the maximum number of monsters allowed in the world.
spawnCapacityAnimal Adjusts the maximum number of animals allowed in the world.
spawnCapacityAmbient Adjusts the maximum number of ambient creatures (like bats).
spawnCapacityWater Adjusts the maximum number of water creatures (like squid).

The configuration file showing the syntax for custom rules

Rule Syntax & Tags#

Rules are constructed using specific Tags and Operators. Each line in the blacklistRules section represents a single logic check.

Available Tags

Tag Format Description
woodlogs woodlogs A shortcut tag targeting all blocks categorized as wood logs.
position position:x,y,z Targets specific coordinates. Supports ranges (e.g., 0-64).
block block:modID:name:meta Targets a specific block type and optional damage/metadata value.
material material:name Targets block materials (e.g., WOOD, ROCK, IRON, LEAVES).
mob mob:name Targets specific mobs (e.g., mob:creeper, mob:zombie).
mobtype mobtype:type Targets categories: monster, animal, ambient, or water.
dim dim:ID Targets specific dimensions by ID or Name (e.g., dim:-1 or dim:theEnd).
chance chance:0.0-1.0 Adds a random probability for the rule to trigger (0.95 = 95% chance).
biome biome:ID Targets specific biomes by ID or Name (e.g., biome:plains).
biometype biometype:TYPE Targets Forge biome dictionary types (e.g., SANDY, COLD, DRY).
moonphase moonphase:name Targets specific moon phases (e.g., fullmoon, newmoon).
daytime daytime:0-23999 Targets specific times of the Minecraft day.
light light:range,type Targets light levels. Types: mixed, sky, or block.

Logical Operators

Tags can be combined to create complex conditions:

  • AND: & or && (Both conditions must be true)
  • OR: | or || (Either condition can be true)
  • NOT: ~ or ! (The condition must be false)
  • Parentheses: ( and ) (Used to group logic)

Advanced Rule Prefixes#

NMSOT allows for more than just blacklisting. By using special prefixes at the start of a rule, you can change its behavior.

Whitelisting (- Prefix)

If a rule starts with a minus sign -, it acts as a whitelist. Whitelist rules override previous blacklist rules. This is useful for allowing spawns on specific blocks that would otherwise be blocked by a general material rule.

  • Example: woodlogs followed by -block:minecraft:log:0 will block spawns on all logs except Oak logs.

Adding/Overriding Spawns (@ Prefix)

If a rule starts with @, it is treated as a new spawning entry, allowing you to force mobs to spawn where they normally wouldn't.

  • Format: @tag1, tag2, weight:X, count:min-max
  • Example: @biometype:SANDY, mob:Ghast, weight:300 makes Ghasts spawn in deserts.

A Ghast spawned in a desert biome using the @ prefix rule

Practical Examples#

Use these examples as templates for your own nmsot.cfg file:

  • Safety in Wooden Houses: Prevents monsters from spawning on any wooden material (planks, stairs, etc.). material:wood & mobtype:monster

  • Rare Endermen: Greatly reduces the spawn rate of Endermen in the End dimension. dim:TheEnd & mob:enderman & chance:0.95

  • Selective Tree Spawning: Stops all mobs from spawning on logs except for Spiders. woodlogs & !mob:spider

  • Time-Based Danger: Prevents all monster spawns during the day (ticks 0-12000). daytime:0-12000 & mobtype:monster

  • Moon-Dependent Spawns: Only allows certain mobs to spawn during a full moon. !moonphase:fullmoon & mob:zombie (This blacklists zombies when it is NOT a full moon)

Troubleshooting#

If rules do not seem to be applying, check the following:

  1. Syntax Errors: Check the game log (latest.log) for the tag [nmsot]. It will report any syntax errors or invalid tags found during startup.
  2. Rule Order: Rules are applied line-by-line. Ensure your whitelist rules (-) are placed after the blacklist rules they are intended to override.
  3. Mob Names: Mob names are case-insensitive and should have spaces removed. For modded mobs, use the format modID.mobName or the full Java class name if the short name fails.