Join our discord
In partnership with NodeCraft Logo NodeCraft

You are not logged in! Create an account or login to contribute! Log in here!

Better Spawner/Config

From Pixelmon Wiki

The Better Spawner Config is a special config located at ./config/pixelmon/BetterSpawnerConfig.json. It is used for more advanced configuration of the Better Spawner's behaviour.

To modify this config, you must have useBetterSpawnerConfig set to true in the Pixelmon Hocon.



The global composite condition is a composite condition that is applied to all SpawnInfo of all types. There are many applications for this, such as creating areas where nothing can spawn, or making particular dimensions only spawn entities during a full moon, to name just two. As an example, the following is how to do both of the above:

"globalCompositeCondition": {
    "conditions": [
            "dimensions": [
	    "dimensions": [
	    "moonPhase": 0
    "anticonditions": [
	    "minX": 50,
	    "maxX": 120,
	    "minZ": 0,
	    "maxZ": 200,
	    "dimensions": [

By default the global composite condition will be a simple restriction such that spawning only occurs in the Overworld.


Better Spawner/Config comes pre-listed with some auto-generated tags that link to existing Pokémon specs. You can use these in your "globalCompositeCondition" or "intervalSeconds" without having to set the tags in each individual Pokémon's JSON. Listed is what is currently provided for this section:

"autoTagSpecs": {
    "shiny": "shiny",
    "gen1": "generation:1",
    "gen2": "generation:2",
    "gen3": "generation:3",
    "gen4": "generation:4",
    "gen5": "generation:5",
    "gen6": "generation:6",
    "gen7": "generation:7",
    "gen8": "generation:8",
    "legendary": "islegendary:true",
    "nonlegendary": "islegendary:false"


The interval seconds are used to guarantee particular kinds of spawns cannot happen too often in a window of time. A SpawnInfo might have the property "interval": "legendary", in which case when it is about to spawn it will stop if another entity with that interval has spawned recently. This property is to specify how long "recently" is. To make legendary Pokémon spawn at least 2 hours apart, the following could be used for the interval seconds property (noting that 7200 seconds is 2 hours):

"intervalSeconds": {
    "legendary": 7200

You can also use this section to create custom intervals for things such as Pokémon flying in the Air. You would create the tag name you want to use, in this case "flying": 500, and then add it into the "intervalSeconds" section as a new entry. You would then add the interval to the individual Pokémon's JSON as such:

"minLevel": 35,
"maxLevel": 55,
"interval": "flying",
"typeID": "pokemon",

The interval restriction affects everything that uses the Better Spawner.


The block categories are a type of category used for several LocationTypes and in the baseBlocks and neededNearbyBlocks properties of SpawnConditions. More on categories can be read here.


The biome categories are a type of category used in the stringBiomes property of SpawnConditions and in world generation in one special case. The "all forests" biome category is the only one strictly necessary as Hidden Grotto world generation checks this category to know where to generate these. More on categories can be read here.

© 2014 - 2020 Pixelmon Mod