[BUG] Squaremap is crashing servers witrh "Cobblemon Raid Dens" installed
When both mods are installed, the server will crash eventually. it seems Squaremap is preventing Raid Dens creating specific dimensions when they are created. Raid Dens creates a new dimension every time a user enters a raid and somehow squaremap doens't like that. following are responses from the Cobblemon Raid Dens developer:
- "Looks to be an incompatibility with the squaremap"
- "The way it saves its map data is preventing raid dens from removing and creating new raid dimensions"
- "Dimensions are tied to the host's uuid and are dynamically created/removed, hence why squaremap is preventing that cycle from working"
- "It would need to be something like being able to disable the map in certain dimensions by mod or dimension type rather than the dimension id itself"
- "The raid status message is only an issue because of squaremap, once its removed it should be fine. There's nothing I can do about it being there since its there while the raid is still ongoing"
Hopefully you can help us, because we would like to use both mods at the same time.
versions
minecraft 1.21.1 neoforge 21.1.213 cobblemon 1.6.1 create 6.0.8 Raid Dens 0.4.7 Squaremap 1.3.2
Error
[23nov2025 04:12:28.230] [Server thread/ERROR] [cobblemonraiddens/]: Error creating or getting dim: java.lang.IllegalStateException: MapWorld already exists for 'cobblemonraiddens:d7c3d338-18f1-450a-bd7d-6d68dc78daf5' at TRANSFORMER/[email protected]/xyz.jpenilla.squaremap.common.WorldManagerImpl.initWorld(WorldManagerImpl.java:57) ~[squaremap-neoforge-mc1.21.1-1.3.2.jar%23394!/:?] at TRANSFORMER/[email protected]/xyz.jpenilla.squaremap.forge.SquaremapForge.lambda$registerLifecycleListeners$3(SquaremapForge.java:80) ~[squaremap-neoforge-mc1.21.1-1.3.2.jar%23394!/:?] at MC-BOOTSTRAP/net.neoforged.bus/net.neoforged.bus.ConsumerEventHandler.invoke(ConsumerEventHandler.java:27) ~[bus-8.0.5.jar%2362!/:?] at MC-BOOTSTRAP/net.neoforged.bus/net.neoforged.bus.EventBus.post(EventBus.java:360) ~[bus-8.0.5.jar%2362!/:?] at MC-BOOTSTRAP/net.neoforged.bus/net.neoforged.bus.EventBus.post(EventBus.java:328) ~[bus-8.0.5.jar%2362!/:?] at TRANSFORMER/[email protected]+1.21.1/com.necro.raid.dens.neoforge.dimensions.NeoForgeDimensions.createRaidDimension(NeoForgeDimensions.java:24) ~[cobblemonraiddens-neoforge-0.4.7+1.21.1.jar%23295!/:?] at TRANSFORMER/[email protected]+1.21.1/com.necro.raid.dens.neoforge.blocks.block.RaidCrystalBlockNeoForge.createDimension(RaidCrystalBlockNeoForge.java:32) ~[cobblemonraiddens-neoforge-0.4.7+1.21.1.jar%23295!/:?] at TRANSFORMER/[email protected]+1.21.1/com.necro.raid.dens.common.blocks.block.RaidCrystalBlock.getOrCreateDimension(RaidCrystalBlock.java:189) ~[cobblemonraiddens-neoforge-0.4.7+1.21.1.jar%23295!/:?] at TRANSFORMER/[email protected]+1.21.1/com.necro.raid.dens.common.blocks.block.RaidCrystalBlock.startRaid(RaidCrystalBlock.java:160) ~[cobblemonraiddens-neoforge-0.4.7+1.21.1.jar%23295!/:?] at TRANSFORMER/[email protected]+1.21.1/com.necro.raid.dens.common.blocks.block.RaidCrystalBlock.startOrJoinRaid(RaidCrystalBlock.java:115) ~[cobblemonraiddens-neoforge-0.4.7+1.21.1.jar%23295!/:?] at TRANSFORMER/[email protected]+1.21.1/com.necro.raid.dens.common.blocks.block.RaidCrystalBlock.useWithoutItem(RaidCrystalBlock.java:68) ~[cobblemonraiddens-neoforge-0.4.7+1.21.1.jar%23295!/:?] at TRANSFORMER/[email protected]/net.minecraft.world.level.block.state.BlockBehaviour$BlockStateBase.useWithoutItem(BlockBehaviour.java:757) ~[server-1.21.1-20240808.144430-srg.jar%23265!/:?] at TRANSFORMER/[email protected]/net.minecraft.server.level.ServerPlayerGameMode.useItemOn(ServerPlayerGameMode.java:370) ~[server-1.21.1-20240808.144430-srg.jar%23265!/:?] at TRANSFORMER/[email protected]/net.minecraft.server.network.ServerGamePacketListenerImpl.handleUseItemOn(ServerGamePacketListenerImpl.java:1123) ~[server-1.21.1-20240808.144430-srg.jar%23265!/:?] at TRANSFORMER/[email protected]/net.minecraft.network.protocol.game.ServerboundUseItemOnPacket.handle(ServerboundUseItemOnPacket.java:42) ~[server-1.21.1-20240808.144430-srg.jar%23265!/:?] at TRANSFORMER/[email protected]/net.minecraft.network.protocol.game.ServerboundUseItemOnPacket.handle(ServerboundUseItemOnPacket.java:10) ~[server-1.21.1-20240808.144430-srg.jar%23265!/:?] at TRANSFORMER/[email protected]/net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$0(PacketUtils.java:27) ~[server-1.21.1-20240808.144430-srg.jar%23265!/:?] at TRANSFORMER/[email protected]/net.minecraft.server.TickTask.run(TickTask.java:18) ~[server-1.21.1-20240808.144430-srg.jar%23265!/:?] at TRANSFORMER/[email protected]/net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:148) ~[server-1.21.1-20240808.144430-srg.jar%23265!/:?] at TRANSFORMER/[email protected]/net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:23) ~[server-1.21.1-20240808.144430-srg.jar%23265!/:?] at TRANSFORMER/[email protected]/net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:872) ~[server-1.21.1-20240808.144430-srg.jar%23265!/:?] at TRANSFORMER/[email protected]/net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:170) ~[server-1.21.1-20240808.144430-srg.jar%23265!/:?] at TRANSFORMER/[email protected]/net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:122) ~[server-1.21.1-20240808.144430-srg.jar%23265!/:?] at TRANSFORMER/[email protected]/net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:855) ~[server-1.21.1-20240808.144430-srg.jar%23265!/:?] at TRANSFORMER/[email protected]/net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:849) ~[server-1.21.1-20240808.144430-srg.jar%23265!/:?] at TRANSFORMER/[email protected]/net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:132) ~[server-1.21.1-20240808.144430-srg.jar%23265!/:?] at TRANSFORMER/[email protected]/net.minecraft.server.MinecraftServer.managedBlock(MinecraftServer.java:821) ~[server-1.21.1-20240808.144430-srg.jar%23265!/:?] at TRANSFORMER/[email protected]/net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:826) ~[server-1.21.1-20240808.144430-srg.jar%23265!/:?] at TRANSFORMER/[email protected]/net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:712) ~[server-1.21.1-20240808.144430-srg.jar%23265!/:?] at TRANSFORMER/[email protected]/net.minecraft.server.MinecraftServer.lambda$spin$2(MinecraftServer.java:267) ~[server-1.21.1-20240808.144430-srg.jar%23265!/:?] at java.base/java.lang.Thread.run(Thread.java:1583) [?:?] [23nov2025 04:14:33.465] [Server thread/ERROR] [net.neoforged.bus.EventBus/EVENTBUS]: Exception caught during firing event: MapWorld already exists for 'cobblemonraiddens:d7c3d338-18f1-450a-bd7d-6d68dc78daf5' Index: 2 Listeners: 0: net.neoforged.bus.EventListenerFactory$worldLoaded/0x0000023f48f61000@1b22c52c 1: net.neoforged.bus.EventListenerFactory$eventWorldEvent/0x0000023f49d85000@5d454b5e 2: xyz.jpenilla.squaremap.forge.SquaremapForge$$Lambda/0x0000023f4a691ae8@6a85a8a4 3: net.xalcon.torchmaster.TorchmasterNeoforge$$Lambda/0x0000023f49008670@2113ccc6 4: net.p3pp3rf1y.sophisticatedcore.SophisticatedCore$$Lambda/0x0000023f49a90c70@2b9cb1d9 5: net.neoforged.bus.EventListenerFactory$onWorldJoin/0x0000023f49c65800@41d34d1 6: net.neoforged.bus.EventListenerFactory$onWorldLoad/0x0000023f49d64800@5d3dab5b 7: net.fabricmc.fabric.impl.event.lifecycle.LifecycleEventsImpl$$Lambda/0x0000023f49dab3a8@22959bf5 8: net.neoforged.bus.EventListenerFactory$onLoadWorld/0x0000023f49ec4400@503b1e75 9: net.neoforged.bus.EventListenerFactory$worldLoaded/0x0000023f4a07c400@2753a097 10: net.neoforged.bus.EventListenerFactory$loadEvent/0x0000023f4a2c5400@4a85b310 11: net.neoforged.bus.EventListenerFactory$onLoadWorld/0x0000023f4a361000@7ad2be68 java.lang.IllegalStateException: MapWorld already exists for 'cobblemonraiddens:d7c3d338-18f1-450a-bd7d-6d68dc78daf5' at TRANSFORMER/[email protected]/xyz.jpenilla.squaremap.common.WorldManagerImpl.initWorld(WorldManagerImpl.java:57) at TRANSFORMER/[email protected]/xyz.jpenilla.squaremap.forge.SquaremapForge.lambda$registerLifecycleListeners$3(SquaremapForge.java:80) at MC-BOOTSTRAP/net.neoforged.bus/net.neoforged.bus.ConsumerEventHandler.invoke(ConsumerEventHandler.java:27) at MC-BOOTSTRAP/net.neoforged.bus/net.neoforged.bus.EventBus.post(EventBus.java:360) at MC-BOOTSTRAP/net.neoforged.bus/net.neoforged.bus.EventBus.post(EventBus.java:328) at TRANSFORMER/[email protected]+1.21.1/com.necro.raid.dens.neoforge.dimensions.NeoForgeDimensions.createRaidDimension(NeoForgeDimensions.java:24) at TRANSFORMER/[email protected]+1.21.1/com.necro.raid.dens.neoforge.blocks.block.RaidCrystalBlockNeoForge.createDimension(RaidCrystalBlockNeoForge.java:32) at TRANSFORMER/[email protected]+1.21.1/com.necro.raid.dens.common.blocks.block.RaidCrystalBlock.getOrCreateDimension(RaidCrystalBlock.java:189) at TRANSFORMER/[email protected]+1.21.1/com.necro.raid.dens.common.blocks.block.RaidCrystalBlock.startRaid(RaidCrystalBlock.java:160) at TRANSFORMER/[email protected]+1.21.1/com.necro.raid.dens.common.blocks.block.RaidCrystalBlock.startOrJoinRaid(RaidCrystalBlock.java:115) at TRANSFORMER/[email protected]+1.21.1/com.necro.raid.dens.common.blocks.block.RaidCrystalBlock.useWithoutItem(RaidCrystalBlock.java:68) at TRANSFORMER/[email protected]/net.minecraft.world.level.block.state.BlockBehaviour$BlockStateBase.useWithoutItem(BlockBehaviour.java:757) at TRANSFORMER/[email protected]/net.minecraft.server.level.ServerPlayerGameMode.useItemOn(ServerPlayerGameMode.java:370) at TRANSFORMER/[email protected]/net.minecraft.server.network.ServerGamePacketListenerImpl.handleUseItemOn(ServerGamePacketListenerImpl.java:1123) at TRANSFORMER/[email protected]/net.minecraft.network.protocol.game.ServerboundUseItemOnPacket.handle(ServerboundUseItemOnPacket.java:42) at TRANSFORMER/[email protected]/net.minecraft.network.protocol.game.ServerboundUseItemOnPacket.handle(ServerboundUseItemOnPacket.java:10) at TRANSFORMER/[email protected]/net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$0(PacketUtils.java:27) at TRANSFORMER/[email protected]/net.minecraft.server.TickTask.run(TickTask.java:18) at TRANSFORMER/[email protected]/net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:148) at TRANSFORMER/[email protected]/net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:23) at TRANSFORMER/[email protected]/net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:872) at TRANSFORMER/[email protected]/net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:170) at TRANSFORMER/[email protected]/net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:122) at TRANSFORMER/[email protected]/net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:855) at TRANSFORMER/[email protected]/net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:849) at TRANSFORMER/[email protected]/net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:132) at TRANSFORMER/[email protected]/net.minecraft.server.MinecraftServer.managedBlock(MinecraftServer.java:821) at TRANSFORMER/[email protected]/net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:826) at TRANSFORMER/[email protected]/net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:712) at TRANSFORMER/[email protected]/net.minecraft.server.MinecraftServer.lambda$spin$2(MinecraftServer.java:267) at java.base/java.lang.Thread.run(Thread.java:1583)
You can disable the map in the default section and explicitly enable it for the worlds you want mapped. See the per-world config section in the wiki.
While I unfortunately don't have time to support old mc versions, the code for this hasn't changed since 1.21.1:
NeoForge.EVENT_BUS.addListener(EventPriority.HIGH, (LevelEvent.Load event) -> {
if (event.getLevel().isClientSide() && !exportedFluids.getAndSet(true)) {
this.injector.getInstance(ForgeFluidColorExporter.class).export(event.getLevel().registryAccess());
}
if (!(event.getLevel() instanceof ServerLevel serverLevel)) {
return;
}
this.worldManager.initWorld(serverLevel);
});
NeoForge.EVENT_BUS.addListener((LevelEvent.Unload event) -> {
if (!(event.getLevel() instanceof ServerLevel serverLevel)) {
return;
}
this.worldManager.worldUnloaded(serverLevel);
});
squaremap expects that when a world has LevelEvent.Load fired, LevelEvent.Load will not fire again for the same level until after LevelEvent.Unload has fired. Not sure if the issue is with the other mod or Neo itself, but I'm not yet convinced it's on the squaremap side.
While I unfortunately don't have time to support old mc versions, the code for this hasn't changed since 1.21.1
this is maybe something to reconsider especially for version 1.21.1, because 2 of the biggest modpacks around are "Cobblemon" and "Create"and those are running on NeoForge and on this specific minecraft version. so if you want to keep downloads up and also off course revenue from Modrinth this might be one version to keep updated even if it's old code.
squaremap expects that when a world has LevelEvent.Load fired, LevelEvent.Load will not fire again for the same level until after LevelEvent.Unload has fired. Not sure if the issue is with the other mod or Neo itself, but I'm not yet convinced it's on the squaremap side.
Might it be a suggestion that you set it to be default that the basic minecraft maps are sperate in the configfile and the default section is not used in the config when starting the mod for the first time?
Thanx for all the help so far, time to hit up the wiki and solve it this way!