Description
Mob Gater gives players an ability to block specific mob spawning based on advancements. Players can define what advancements are necessary for a mob to spawn, including from spawners.
This is done in the "mob-gater.json" configuration file. Make an entity type id entry per every mob you want to gate, and write a list of advancement ids needed. An example:
{
"arphex:hornet_harbinger" : [
"minecraft:story/smelt_iron",
"minecraft:story/obtain_armor"
],
"arphex:hornet_harbinger_giant" : [
"minecraft:story/smelt_iron",
"minecraft:story/obtain_armor"
],
"born_in_chaos_v1:lifestealer" : [
"minecraft:story/shiny_gear"
],
"born_in_chaos_v1:nightmare_stalker" : [
"minecraft:nether/netherite_armor"
],
"born_in_chaos_v1:scarlet_persecutor" : [
"minecraft:story/shiny_gear"
],
"arphex:spider_obstructer" : [
"minecraft:story/smelt_iron",
"minecraft:story/obtain_armor"
],
"arphex:spider_lunger" : [
"minecraft:nether/netherite_armor"
],
"arphex:spider_moth" : [
"minecraft:nether/netherite_armor",
"minecraft:nether/brew_potion"
]
}
Mob Gater creates 2 files when a server starts in the "mob-gater" directory: "all-advancements.txt", which contains all advancement ids, and "all-entity-types.txt", which contains all entity ids, so you don't have to search them.
It also adds a command "mob-gater-reload" that reparses the configuration file and reloads the rules, so you can make changes while the game is running. It will tell if there are any errors in the file. This command requires permission level 3.
When a player gets all advancements defined in any rule, a toast will appear on the screen that will tell what mob has been unlocked.
Mob Gater allows creating more balanced progression, preventing players from encountering strong mobs before they have a capability to kill them.
Mob Gater works in singleplayer and multiplayer.


