Dragon Survival [Forge]

Dragon Survival [Forge]

685k Downloads

Mod Conflict, Pokecube. Server-Side Crash when the Ender Dragon spawns.

Wilevar opened this issue ยท 12 comments

commented

Love the mod's concept, and am looking forward to it reaching a more finished state. Unfortunately it has a server-only conflict with Pokecube AOI, causing a Ticking World Crash when entering The End, shortly after the ender dragon delivers her first statement.

Through mod removal testing I've confirmed that it's a conflict with Pokecube. Remove either it or Dragon Survival fixes the crash. I'll submit a report to Pokecube as well to let them know.

Crash Report:
https://pastebin.com/sv05aVPV

Forge Version:
forge-1.16.5-36.2.0

Mod Version:
0.0.39

commented

Understood. Having checked my config, I can confirm that I do have those spawn weights set to 0.0. They were spawning from pokemon deaths on a regular basis, likely due to the sheer amount of pokemon murder when training.

Thanks for the attention and the work-around! Looking forward to Dragon Survival getting more features. ^_^

commented

As mentioned in the OP, I only got the crash on a server with that set to true. It doesn't happen in single-player worlds.
If you can't reproduce it on a server, I'll do further mod removal testing to see if it's somehow a complex conflict. That said, changing that one option, removing Dragon Survival, or removing Pokecube, were all ways that would separately fix the crash.

commented

Ok, I managed to trigger the crash and I found that it is caused by magical predators disabled in the config, that is, in the section [common.predator.spawnChances] weight is set to 0. This what causes to add their spawn entry with zero weight, and the crash. Until I fix this, a workaround would be setting the weight to 1 and leave their spawn biome list blank, that is, in section [common.predator.spawnBiomes] set include to [].

commented

Thanks for the warning, we'll see what we can do about that.

commented

Thanks. ^_^
For reference, I'm not using a any server hosting. Just a private server running from a command line batch file. Standard Forge server setup.

commented

Mohist is not hosting, but a server core that allows you to use Forge mods and Bukkit plugins on the same server. If you meant what I wrote on Curseforge.

commented

Ah. Didn't know that. But no, I'm not using any hybrid server software. Just Forge.

commented

Troubleshot this with Thutmose over discord and discovered that the crash has to do with a config option for Pokecube that deactivates vanilla monsters and how Dragon Survival reacts to that with the ender dragon. Link to the other github issue here.

commented

The specific details seem to be somehow related to pokecube removes vanilla spawns if the config is enabled:

https://github.com/Pokecube-Development/Pokecube-Issues-and-Wiki/blob/1.16/src/main/java/pokecube/core/handlers/events/EventsHandler.java#L586

This is currently done by removing the matching spawn entries from the list passed along the WorldEvent.PotentialSpawns event fired by net.minecraftforge.event.ForgeEventFactory.getPotentialSpawns when vanilla is trying to decide what mobs spawn at a site.

It appear that somewhere a spawn entry with something null in weight is added to this list?

commented

What options must be enabled to trigger the crash? I tested the mods with the defaults and it didn't crash.

commented

Pokecube-common.tmol

[Spawning]
....
# Vanilla monsters will not spawn via normal spawning, this does not prevent mob spawners or special spawns. [Default: false]
	deactivateMonsters = false

If set to true, the crash happens.

commented

Ok, I set it true, but it still doesn't crash. Can't reproduce...