On the documented Pixelmon 9.4.1 server, you control legendary spawn attempts through legendary.yml. legendary-spawn-ticks and legendary-spawn-chance regulate the attempt interval and chance, but do not guarantee a spawn. After the restart, check the active setting and then the actual conditions in the game.
Status of this guide: September 25, 2026. We read all files, keys and default values on a fresh test server with The Pixelmon Modpack 9.4.1 (Minecraft 1.21.1, NeoForge 21.1.248, 6 GB RAM). Statements from the official Pixelmon wiki are marked as such.
Where the Spawn Settings Are Located
On first start, Pixelmon 9.4.1 creates a folder config/pixelmon with YAML files. Everything related to spawns is in the subfolder config/pixelmon/spawning:
| File | What it covers |
|---|---|
legendary.yml |
legendary spawns: frequency, chance, despawning, server message |
boss.yml |
boss and mega boss spawns |
wild.yml |
regular wild spawns: amount, distance, interval |
general.yml |
general values such as shiny rate, despawn radius, blocked dimensions |
ultra_space.yml |
settings for the separate Ultra Space dimension (contents not reviewed) |
Note if you read older guides: the Pixelmon wiki still mentions a file spawning.yml in its questions and answers. It no longer exists in 9.4.1. The keys are now in the files above.
Legendary Spawns: legendary.yml
These default values are in config/pixelmon/spawning/legendary.yml after the first start. We took the effect from the comments in the file; the wiki describes it the same way.
| Key | Default | Effect according to the comment in the file |
|---|---|---|
legendary-spawn-ticks |
25000 |
average interval between two spawn attempts in ticks; the actual interval is between 60 and 140 percent of it |
legendary-spawn-chance |
0.3 |
chance that an attempt succeeds (0 to 1) once a suitable location has been found |
spawn-ticks-player-multiplier |
0.01 |
shortens the interval the more players are online (also applies to mega bosses) |
allow-legendary-spawn |
true |
natural legendary spawns on or off |
legendary-despawn-ticks |
6000 |
ticks until a legendary creature disappears again |
display-legendary-global-message |
true |
message to everyone with the biome in which it appeared |
do-legendary-raid-event |
true |
message when a legendary creature appears in a raid den |
In the file, the chance is written as 0.30000001192092896. This is merely the notation of a floating-point number and means 0.3, i.e. 30 percent. The file also contains values for a bell mechanic and for collectible cell items; you do not need them for the spawn rate.
What the Values Mean in Minutes
Minecraft runs at 20 ticks per second. So 25000 ticks are around 20.8 minutes, and 12000 ticks exactly 10 minutes. The console displays this rounded: on our test server, /checkspawns legendary with the default values reported "Time until next spawn attempt: 20 minutes" and "Spawn chance: 30.0%".
Mathematically, with the default values this yields a successful attempt roughly every 70 minutes (20.8 minutes divided by 0.3). This is a theoretical expected value under constant suitable conditions, not an upper limit and not a measurement: according to the wiki, an attempt needs a player as the center point and a location with enough space. If nobody is online or no space is found, nothing appears.
The comment in the file describes the influence of the player count with this formula: interval = legendary-spawn-ticks / (1 + (players − 1) × spawn-ticks-player-multiplier). With the default 0.01 and ten players, that is 25000 / 1.09, so around 22900 ticks or a good 19 minutes. With the default values, the player count therefore shortens the interval only slightly. We did not measure this.
Our Change Test
This is how we proceeded on the test server:
- Stopped the server in the panel.
- In
legendary.yml, setlegendary-spawn-ticksfrom25000to12000andlegendary-spawn-chancefrom0.3to0.5and saved. - Started the server. After about a minute, the line
Done (…)appeared in the console. - Opened the file again: both values were still there. Pixelmon did not overwrite the change on startup.
- Entered
/checkspawns legendaryin the console: "Time until next spawn attempt: 10 minutes." and "Spawn chance: 50.0%". Before, it was 20 minutes and 30 percent.
So the change takes effect after a restart. Whether this actually makes more legendary creatures appear, we could not measure: no real player could join the test server, and without players no legendary attempt takes place. In the console, the command /legendaryspawn, which triggers a legendary spawn attempt, therefore only reported "No one is online!".

Boss Spawns: boss.yml
| Key | Default | Meaning |
|---|---|---|
boss-rate |
256.0 |
rarity of bosses as 1 in x, excluding mega bosses |
ultra-space-boss-modifier |
0.5 |
factor for bosses in Ultra Space |
bosses-always-mega-if-possible |
true |
bosses appear in their mega form if one exists |
boss-spawn-ticks |
10000 |
interval of mega boss attempts in ticks |
boss-spawn-chance |
0.3 |
chance per mega boss attempt |
Values and meaning come from the file on our test server. We did not change them.
Regular Spawn Rate: wild.yml
If you want more or fewer wild Pokémon in the world, you set this in config/pixelmon/spawning/wild.yml. In 9.4.1, the values differ in several places from the table on the wiki's Config page. What matters is what is in your file:
| Key | Default in 9.4.1 | Wiki "Config" page lists |
|---|---|---|
entities-per-player |
30 |
30 |
spawns-per-pass |
5 |
2 |
spawn-frequency |
60.0 (passes per minute) |
60.0 |
minimum-distance-between-spawns |
4.0 |
15.0 |
minimum-distance-from-centre |
18 |
18 |
maximum-distance-from-centre |
120 |
64 |
horizontal-slice-radius |
5 |
10 |
vertical-slice-radius |
25 |
25 |
maximum-spawned-pokemon |
3000 |
3000 |
maximum-spawned-flying-pokemon |
500 |
500 |
maximum-spawned-flying-pokemon-per-player |
15 |
45 |
The wiki's Spawning page, on the other hand, lists the same values as 9.4.1. The last three keys are limits: at most 3000 wild Pokémon in the whole world, of which 500 flying, and 15 flying per player. According to the comment in the file, Pokémon from fishing, commands and legendary spawns do not count.
A note from general.yml: the comment on player-tracking-spawner-spawn-collection-rate (default 2) recommends a higher value on servers because it saves performance. We have not tried this.
Other Places Where Legendaries Appear
Not every legendary Pokémon comes from the file above. According to the wiki, some appear outside this system, for example via shrines. There are separate switches for these:
structures.yml:shrine-encounter-mode, defaultOnce. According to the file, the modes areOnce,OncePerPlayer,OncePerMCDAy(spelled that way),OncePerDayandUnlimited.raids.yml:raid-have-legendaries, defaulttrue. Next to it areden-respawn-time(default100) andden-respawn-chance(default0.75) for the respawning of raid dens.
Which species appears where and how rarely is not in the YAML files but in spawn data inside the mod. According to the wiki, you change it through a datapack with the path data/pixelmon/spawning. That is a topic of its own and not part of this guide.
Checking with /checkspawns and /spawning
We tried these commands in the console on the test server:
| Command | Result in the console |
|---|---|
/spawning |
"Spawner: On." |
/spawning diagnose |
"Better Spawner: Active." and "Spawner count: 12" |
/checkspawns legendary |
time until the next legendary attempt and chance in percent |
/checkspawns without a type |
needs a player, not usable from the console |
The wiki spells the diagnosis as dignostic. That is a typo; in 9.4.1 the argument is diagnose. Who may use /checkspawns in the game is controlled through permission nodes, see Ranks and Permissions with LuckPerms. According to the wiki, a player needs the base node for this plus the node for the respective type.
Which Values Make Sense?
We cannot give a universal recommendation because we have not measured the effect with players. As a guideline:
- Small group of friends: with few players, the interval barely gets shorter. If you want to see legendaries more often, lower
legendary-spawn-ticks, for example to 12000 as in our test. - Preserving rarity: it is better to change one value at a time and observe a few play sessions than to turn both dials sharply.
- Disabling legendaries entirely:
allow-legendary-spawn: false. Shrines and raids have their own switches, see above. - Performance: more wild spawns means more Pokémon in the world. We offer Pixelmon with 6 GB; without players, the test server needed around 1.4 GB. We did not measure under load.
Create a backup before larger changes. If you are coming from an older Pixelmon version, transfer your old values by hand, see Migrating a Pixelmon World to 1.21.1. Whether Pixelmon or Cobblemon suits your group better is covered in Cobblemon vs. Pixelmon. More packs are compared in The Best Minecraft Modpacks for Your Own Server.
FAQ
Where do I set legendary spawns in Pixelmon?
In config/pixelmon/spawning/legendary.yml. A file spawning.yml, as older guides call it, does not exist in 9.4.1.
How often does a legendary appear with the default values? On average, an attempt takes place every 25000 ticks, around 21 minutes, and succeeds with 30 percent. Under constantly suitable conditions, this mathematically gives a long-term expected value of roughly one legendary spawn per 70 minutes. This is not a fixed upper limit or waiting time: short random sequences can turn out more or less frequent. Players must be online and a suitable location must be found. We did not measure this average.
Do I have to restart the server after the change? We changed the file while the server was stopped and then started it. That worked. Whether Pixelmon also picks up changes while running, we did not check.
Does Pixelmon overwrite my changes on startup? Not on our test server. The changed values were still unchanged in the file after the restart.
Why do my values differ from the wiki?
The wiki's Config page is not up to date with 9.4.1 for wild.yml. What matters is the file on your server.
Can I disable legendary spawns entirely?
Yes, with allow-legendary-spawn: false in legendary.yml. Shrines and raids are controlled by their own switches in structures.yml and raids.yml.
Sources and Test Status
Test status: We read files, keys and default values on September 24 and 25, 2026 on our own test server with The Pixelmon Modpack 9.4.1 (NeoForge 21.1.248, Minecraft 1.21.1, 6 GB). On the same server, we changed legendary-spawn-ticks and legendary-spawn-chance and verified the result with /checkspawns legendary. The server was deleted afterwards. In detail:
- Test server: folder
config/pixelmon/spawning, default values fromlegendary.yml,boss.yml,wild.yml,general.yml,structures.ymlandraids.yml, console outputs of/spawning,/spawning diagnose,/checkspawns legendaryand/legendaryspawn, change test 25000/0.3 to 12000/0.5. - Wiki Config: Pixelmon Wiki, Config (keys and default values, matching for
legendary.yml, partly differing forwild.yml). - Wiki Commands: Pixelmon Wiki, Commands (base and type nodes for
/checkspawns). - Wiki Spawning: Pixelmon Wiki, Spawning (legendary spawn logic with the player as center point, shrines, datapack path, note on
spawning.yml). - Not measured: actual spawns in the game (no real player join possible), the effect of
spawn-ticks-player-multiplier, despawn time, shrine modes, boss values, changes towild.yml, performance under load. - Image: our own screenshot from The Pixelmon Modpack without shaders, the Pokémon was placed by command.
Telling Attempt Chance and Observed Spawns Apart
Note the game version, configuration values and the period with players online. For the spawn you want, also check biome, time of day, weather and suitable space according to its conditions. A correct output of /checkspawns legendary confirms the loaded values, not the frequency of Pokémon that actually appeared. First change the interval or chance, then compare over a suitably longer window. An average calculated from ticks and chance is not a maximum waiting time; several attempts can fail in a row. Keep the old values and return to them selectively if the effect is undesirable.