Skip to content
Lain MultipleInstances edited this page Jan 21, 2025 · 27 revisions

About Configuration:

Notes

These are checks: they decide if a mob should be denied from spawning.

Checking_LightLevel & LightLevel & InvertedLightLevelChecking
Checking_Altitude & Altitude & InvertedAltitudeChecking
Checking_BlockLight & BlockLight & InvertedBlockLightChecking
Checking_SkyLight & SkyLight & InvertedSkyLightChecking
Sunny
Raining
Thundering
Day
Night

These are filters: they prevent a mob from checks or disable the rule in a certain condition.

Disabled
Living
Mob
Animal
Tameable
UseMobFilter & mobFilter & InvertedMobFilter
UseDimensionFilter & dimensionFilter & InvertedDimensionFilter
UseBiomeFilter & biomeFilter & InvertedBiomeFilter
UseLunarNameFilter & lunarNameFilter & InvertedLunarNameFilter
MoonPhase
Difficulty
DisabledUnderBloodmoon
DisabledWhenSunny
DisabledWhenRaining
DisabledWhenThundering
DisabledWhenDay
DisabledWhenNight

A rule need at least one check to make a difference.

After 1.20.1-v2b, 1.21.4-v1c, 1.20.1-v2e-fabric, 1.21.4-v1b-fabric and 1.21.4-v1c-neoforge:

Additional filters:

UseLunarNameFilter // Without this, it will NOT use the lunarNameFilter.

InvertedLunarNameFilter // With this, it will do the inverted logic with the LunarName Filtering.

lunarNameFilter // This value is a regex string that will be compiled by the mod and then used to filter out certain lunar events. The mod will try to match the name of the current lunar event during entity spawning. If matched, it will ignore the entity.

After 1.20.1-v2, 1.20.2-v2, 1.20.4-v2, 1.20.1-v2-fabric, 1.20.2-v2-fabric, 1.20.4-v2-fabric, 1.20.2-v2-neoforge and 1.20.4-v2-neoforge:

Additional filtering options:

Difficulty // If this is 0, it will be ignored; If this is between 1 and 4, this rule will only be effective in the corresponding difficulty. (If it's missing or an invalid value is assigned, it will be treated as 0)

Corresponding difficulties:

1 = Peaceful
2 = Easy
3 = Normal
4 = Hard

After 1.16.5-v4 and 1.17.1-v2-fabric:

Additional checks:

Checking_BlockLight // With this, it will check the BlockLight value. If the BlockLight at the spawning position is larger than the value of BlockLight, the spawn will be denied.

Checking_SkyLight // With this, it will check the SkyLight value. If the SkyLight at the spawning position is larger than the value of SkyLight, the spawn will be denied.

InvertedBlockLightChecking // With this, it will do the inverted logic with the BlockLight Checking.

InvertedSkyLightChecking // With this, it will do the inverted logic with the SkyLight Checking.

After 1.16.5-v2:

Additional filters:

UseMobFilter // Without this, it will NOT use the mobFilter.

UseDimensionFilter // Without this, it will NOT use the dimensionFilter.

UseBiomeFilter // Without this, it will NOT use the biomeFilter.

InvertedBiomeFilter // With this, it will do the inverted logic with the Biome Filtering.

biomeFilter // This value is a regex string that will be compiled by the mod and then used to filter out certain biomes. The mod will try to match the biome name of entity spawning. If matched, it will ignore the entity.

After 1.15.2-v2:

Additional checks:

Checking_Altitude // With this, it will check the Altitude value. If the spawning mob's y position is larger than the value of Altitude, it will be denied.

InvertedAltitudeChecking // With this, it will do the inverted logic with the Altitude Checking.

After 1.12.2-v2, 1.13.2-v2 and 1.14.2-v1:

Additional checks:

Sunny // With this, it will check if the world is sunny(not raining/thundering) (per-dimension). If not sunny, the entity will not be able to spawn.

Additional filtering options:

DisabledWhenSunny // If this is true, this rule will not work when the world is sunny(not raining/thundering) (per-dimension).

DisabledWhenRaining // If this is true, this rule will not work when the world is raining (per-dimension).

DisabledWhenThundering // If this is true, this rule will not work when the world is thundering (per-dimension).

DisabledWhenDay // If this is true, this rule will not work when the world is in day time (per-dimension).

DisabledWhenNight // If this is true, this rule will not work when the world is not in day time (per-dimension).

After 1.10.2-v3 and 1.11-v2:

Additional filtering options:

DisabledUnderBloodmoon // If this is true, this rule will be disabled when Bloodmoon is active. (The feature will be auto-disabled if Bloodmoon isn't installed and this will have no effect)

After 1.10.2-v2:

Additional filtering options:

MoonPhase // If this is 0, it will be ignored; If this is between 1 and 8, this rule will only be effective in the corresponding moon phase. (If it's missing or an invalid value is assigned, it will be treated as 0)

Corresponding moon phases (these names are from Minecraft wiki):

1 = Full Moon
2 = Waning Gibbous
3 = Last Quarter
4 = Waning Crescent
5 = New Moon
6 = Waxing Crescent
7 = First Quarter
8 = Waxing Gibbous

After 1.7.x-v6 and 1.8.x-v2:

It's basically same as before, but you can now use multiple json formatted files to build rules that will satisfy your needs.

With additional changes/options:

All flags are now simple true/false switches. And there is a DefaultRule.json file inside the jar, it will be copied to the config directory where it should be when it is a clean install (previous config is not found and rules directory is not found).

Previous config file will still be loaded by the mod, but the mod will not create the config file. It is encouraged to use the new json rule system.

Animal // With this, it will ignore non-animal entities.
Tameable // With this, it will ignore non-tameable entities.
InvertedMobFilter // With this, it will do the inverted logic with the mobFilter.
InvertedDimensionFilter // With this, it will do the inverted logic with the dimensionFilter.
InvertedLightLevelChecking // With this, it will do the inverted logic with the LightLevel Checking.

Before 1.7.x-v6 and 1.8.x-v2:

filteringRules - There are flags to control how things are checked by the mod, it's value is a combination of the following values.

DISABLED = 0 // This means it will do nothing.

LIVING = 1 // With this, it will ignore non-living entities.

MOB = 2 // With this, it will ignore non-hostile entities.

CHECKING_LIGHTLEVEL = 4 // With this, it will check the following LIGHTLEVEL setting. If the light level is larger than the value of LIGHTLEVEL, the entity will not be able to spawn.

RAINING = 8 // With this, it will check if the world is raining (per-dimension). If not raining, the entity will not be able to spawn.

THUNDERING = 16 // With this, it will check if the world is thundering (per-dimension). If not thundering, the entity will not be able to spawn.

DAY = 32 // With this, it will check if it is day time (per-dimension). If not day time, the entity will not be able to spawn. (this is the opposite of NIGHT)

NIGHT = 64 // With this, it will check if it is night time (per-dimension). If not night time, the entity will not be able to spawn. (this is the opposite of DAY)

LIGHTLEVEL - This value is used for further checking described above.

mobFilter - This value is a regex string that will be compiled by the mod and then used to filter out certain mobs. The mod will try to match the name of the entity. If matched, it will ignore the entity.

dimensionFilter - This value is a regex string that will be compiled by the mod and then used to filter out certain dimensions. The mod will try to match the name of the dimension. If matched, it will ignore the dimension. The mod will also try to match the dimension id, it will create a string with dimension id added at the end, example: "DIM0" (DIM0, means overworld, it can be minus). If matched, it will ignore the dimension.