-
Notifications
You must be signed in to change notification settings - Fork 4
Home
First, let me show some examples for you:
# Stop mob spawning on trees except for spiders.
woodlogs & !mob:spider
# Greatly reduce the chance of spawning Enderman in "The End" dimension.
dim:TheEnd & chance:0.95
# Hostile mobs will not spawn in your wooden house anymore.
material:wood & mobtype:monster
# Peaceful plains. Enjoy!
biome: plains
# Hellish desert. Becareful!
@biometype:SANDY, mob:Ghast, mob:PigZombie, weight:300
# Tag for wood logs.
"woodlogs"
# Tag for the mob spawn position (feet position),
# all integers in the config file should not exceed 9 digits.
"position" ":" range "," range "," range
range = "*" | integer | integer "-" integer
# Tag for the spawn block, damageValue is a range type.
"block" ":" modID ":" blockName [ ":" damageValue ]
# Tag for the material of spawn block.
# For example, "material:WOOD" includes wood logs / planks / stairs, etc.
"material" ":" blockMaterialName
# Tag for mob, mobName is a case insensitive string removing space characters.
# mobClassName is name of Java class file.
# Example: "mob:zombie | mob:EntityCreeper".
"mob" ":" (mobName | mobFullName | mobClassName)
mobFullName = modID "." mobName # (for vanilla mobs, mobFullName is just the mobName)
# Tag for mob type
"mobtype" ":" ("monster" | "animal" | "ambient" | "water")
# Tag for dimension, dimensionID is the integer ID of the dimension.
# dimensionName is a case insensitive string removing space characters.
# Example: "dim:theEnd"
"dim" ":" (dimensionID | dimensionName)
# Tag for random chance (for this rule to be considered).
# probability is a real number from 0.0 to 1.0
"chance" ":" probability
# Tag for biome, biomeID is the integer ID of the biome.
# biomeName is a case insensitive string removing space characters.
# Example: "biome:BirchForestM"
"biome" ":" (biomeID | biomeName)
# Tag for biome type. For example, "biometype:SANDY"
"biometype" ":" biometypeName
# Tag for the moon phase, can be a range number from 0 to 7, or a moon phase name.
"moonphase" ":" (moonPhaseName | range)
moonPhaseName = "fullmoon" | "waninggibbous" | "lastquarter" | "waningcrescent"
| "newmoon" | "waxingcrescent" | "firstquarter" | "waxinggibbous"
# Tag for the game tick in a day, range from 0 to 23999.
"daytime" ":" range
# Tag for the light level, can specify the light type (mixed / sky / block).
"light" ":" range ["," lightType]
lightType = "mixed" | "sky" | "block"
and = "&" | "&&"
or = "|" | "||"
not = "~" | "!"
parentheses = "(" | ")"
If the first character of any rule is "@", the rule will be treated as a spawning entry. The format is:
@tag1, tag2, ..., tagN
You can use "biome", "biometype", "mob", "weight", "count" tags in spawning entry. The format of "biome", "biometype", "mob" have been explained before, the others are:
# The weighted chance of this spawning entry being selected
# The weights of zombies / skeletons / creepers / spiders in vanilla are both 100
"weight" ":" integer
# The size of spawning group. In vanilla it is 4-4
"count" ":" range
If the first character of any rule is "-", the rule will be treated as a whitelist.
For example, if you put "-block:minecraft:log:0" after "woodlogs", then mobs can spawn on oak logs.
woodlogs
-block:minecraft:log:0
The rules are applied line by line, if there is conflict between blacklist and whitelist, the latter rule will override the former rule.
Increase the overall spawn rate (set the extraSpawningTries), then use the black list rule and the "chance" tag to reduce the spawn rate for some mobs.
Check the console or your game log file, search for the log output tagged with "[nmsot]" or "[nmsot/nmsot]". If there is no warning or error, OK, your black list rules are successfully loaded without syntax error.