SpongeForge: Crash at boot with MystCraft: "Could not find a DimensionType registered"
I am currently running
-
SpongeForge version: 1.12.2-2768-7.1.6-RC3616 (newer version are deleting items, see #2702)
-
Forge version: 1.12.2-14.23.5.2836
-
Java version: 1.8
-
Operating System: CentOS
-
Plugins/Mods: SkyFactory4 4.0.2 Plugins (19): Minecraft, Minecraft Coder Pack, SpongeAPI, Sponge, AntiWDL, BetterChunkLoader, Broadcast, CatClearLag, Enjin Minecraft Plugin, GriefPrevention, LuckPerms, MagiBridge, Nucleus, Prism, Server Backup, SkyClaims, Total Economy, WrapperPing, spark Mods (194): Minecraft, Minecraft Coder Pack, Forge Mod Loader, Minecraft Forge, SpongeAPI, Sponge, Advancement Book, Animal Crops, Apotheosis, AppleCore, AppleSkin, Applied Energistics 2, Aroma1997Core, Astral Sorcery, B.A.S.E, BNBGamingLib, Barrels, Drums, Storage & More, Baubles, Bed Patch, BiblioCraft, BnBGamingCore, Bonsai Trees, Bookshelf, Building Gadgets, Caliper, Calm Down Zombie Guy, Carry On, Ceramics, Chargers, ChineseWorkshop, Chisel, Chisels & Bits, Click Machine, CoFH Core, CoFH World, CodeChicken Lib, ComPatchedStorage, CommonCapabilities, Compact Machines 3, CompactStorage, Construct’s Armory, ContentTweaker, Cooking for Blockheads, Corail Tombstone, CraftTweaker JEI Support, CraftTweaker2, Cucumber Library, Culinary Construct, Cyclic, Cyclops Core, Dark Utilities, Deep Mob Learning, Dimension Stages, Elevator Mod, Ender Crop, Ender Utilities, EnderCore, EnderStorage, Extended Crafting, Extra Cells 2, Extra Cells Patch, Farming for Blockheads, FastFurnace, FastWorkbench, Fence Overhaul, FindMe, Flux Networks, FoamFix, FoamFixCore, Forge Microblocks, Forge Multipart CBE, Forgiving Void, Game Stages, Guide-API, Headcrumbs, Horse Power, Hunting Dimension, HydroGel, InControl, Industrial Foregoing, Inspirations, Integrated Dynamics, Integrated Tunnels, IntegratedDynamics-Compat, IntegratedTunnels-Compat, Iron Jetpacks, Item Stages, JourneyMap, Just Enough Items, KleeSlabs, Limitless Structure Blocks, MCMultiPart, MTLib, MalisisCore, MalisisDoors, Mantle, MatterOverdrive: Legacy Edition, McJtyLib, Mekanism, MekanismGenerators, Minecraft Multipart Plugin, Mob Stages, Mod Tweaker, ModPack Basic Tools, ModPack Utilities, More Buckets, More Cauldrons, Morpheus, Mystcraft, Mystical Agradditions, Mystical Agriculture, NuclearCraft, OG Dragon+, OpenComputers, OpenComputers (Core), OpenComputers Xnet Driver, OreExcavation, Parabox, Pickle Tweaks, PigUtils, Pipe Master 2000, Placebo, PortalGun, Practical Logistics 2, Prestige, Primitive Crafting, ProjectE, RFToolsPower, Ranged Pumps, Real Filing Cabinet, RecipeStages, Redstone Flux, Resource Hogs, Rustic, Shadowfacts’ Forgelin, Simple Generators, Simple Inventory sorting, Simple Storage Network, Sky Grid, SkyBonsais, Slab Machines, SlimyBoyos, Smooth Font Core, Snad, SonarCore, SpongeForge, Statues mod, Stuff A Sock In It, Super Sound Muffler, Surge, SwingThroughGrass, Sync, TallGates, TelePastries, Tell Me, Tesla Core Lib, Tesla Core Lib Registries, The Lost Cities, The Twilight Forest, The Weirding Gadget, Thermal Dynamics, Thermal Foundation, Thermal Innovation, Tinkers Tool Leveling, Tinkers’ Complement, Tinkers’ Construct, Tiny Progressions, TogetherForever, Topography, TorchMaster, Translocators, Tree Growing Simulator 2016, Triumph, Twitchcrumbs, Universal Modifiers, Valkyrie Lib, ViesCraft, Waddles, Waila, Waila Stages, Wall-Jump!, What Are We Looking At, Wither Crumbs, World Utils, WorldEdit, XL Food Mod, XNet, YNot, Yoyos, ZenStages, bouncy_creepers, mob_grinding_utils, sky_orchards, uppers
Issue Description Crash at boot when loading MystCraft dimensions. Some warnings are also reported:
[03:57:41] [Server thread/INFO] [Sponge]: Checking for worlds that need to be migrated...
[03:57:41] [Server thread/INFO] [Sponge]: No worlds were found in need of migration.
[03:57:41] [Server thread/ERROR] [Sponge]: World [DIM_MYST10] has no dimension id. Report this to Sponge ASAP.
[03:57:41] [Server thread/ERROR] [Sponge]: World [DIM_MYST3] has no dimension id. Report this to Sponge ASAP.
[03:57:41] [Server thread/ERROR] [Sponge]: World [DIM_MYST6] has no dimension id. Report this to Sponge ASAP.
[03:57:41] [Server thread/ERROR] [Sponge]: World [DIM_MYST4] has no dimension id. Report this to Sponge ASAP.
[03:57:41] [Server thread/ERROR] [Sponge]: World [DIM_MYST8] has no dimension id. Report this to Sponge ASAP.
[03:57:41] [Server thread/ERROR] [Sponge]: World [DIM_MYST5] has no dimension id. Report this to Sponge ASAP.
[03:57:41] [Server thread/ERROR] [Sponge]: World [DIM_MYST9] has no dimension id. Report this to Sponge ASAP.
[03:57:41] [Server thread/INFO] [FML]: Injecting existing registry data into this server instance
...
[03:57:44] [Server thread/ERROR] [net.minecraft.server.MinecraftServer]: Encountered an unexpected exception
java.lang.RuntimeException: derp
at net.minecraft.world.storage.SaveHandler.redirect$onLoadWorldInfo$bdj000(SaveHandler.java:1073) ~[bfb.class:?]
at net.minecraft.world.storage.SaveHandler.func_75757_d(SaveHandler.java:122) ~[bfb.class:?]
at org.spongepowered.common.world.WorldManager.loadAllWorlds(WorldManager.java:709) ~[WorldManager.class:1.12.2-2768-7.1.6-RC3616]
at net.minecraft.server.MinecraftServer.func_71247_a(MinecraftServer.java:3541) ~[MinecraftServer.class:?]
at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:270) ~[nz.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:486) [MinecraftServer.class:?]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_201]
Caused by: java.lang.IllegalArgumentException: Could not find a DimensionType registered for world 'DIM_MYST8' with dim id: 8
at org.spongepowered.common.util.FunctionalUtil.lambda$invalidArgument$0(FunctionalUtil.java:32) ~[FunctionalUtil.class:1.12.2-2768-7.1.6-RC3616]
at java.util.Optional.orElseThrow(Optional.java:290) ~[?:1.8.0_201]
at net.minecraft.world.storage.WorldInfo.readSpongeNbt(WorldInfo.java:1725) ~[bfd.class:?]
at net.minecraft.world.storage.SaveHandler.loadSpongeDatData(SaveHandler.java:624) ~[bfb.class:?]
at net.minecraft.world.storage.SaveHandler.redirect$onLoadWorldInfo$bdj000(SaveHandler.java:1071) ~[bfb.class:?]
... 6 more
https://gist.github.com/LemADEC/e3f16da8a3ba50dbe0a2e9820e4daccd
About this issue
- Original URL
- State: open
- Created 5 years ago
- Comments: 27 (11 by maintainers)
Poking my head in to say I’m open to collaborating on resolving compatibility issues for future release.
To give some context as to what’s being triggered in Nucleus after the original crash:
io.github.nucleuspowered.nucleus.modules.world.listeners.WorldGenListener.lambda$onStart$0(WorldGenListener.java:25) ~[WorldGenListener.class:1.9.3-S7.1]That error you get from Nucleus is indeed Nucleus trying to access a Nucleus data file. When the server starts (or a world is loaded), code is executed to extract the UUID from the world, and ask Nucleus to get its backing data store for it.
Through some questionable decisions I made when creating the original storage system, the line
Sponge.getServer().getWorldProperties(UUID).orElseThrow(() -> new IllegalStateException("world")).getUniqueId()is called. I realise that I’m asking for a UUID out when I have it, but the line is to verify that the world properties exist. The UUID that it calls is from here, the code it calls into extracts itsUUID.So my code is taking the
UUIDfrom the world and then trying to get theWorldPropertiesfrom the Sponge world manager with thisUUID, which returns an empty optional, which my code translates into an exception.Minimal code to execute this will therefore be:
This should work fine, but is what is throwing in this situation. Something has been corrupted and it’s not been registered properly in the Sponge systems.
It doesn’t explain the original bug, but should explain what is going on and why Nucleus seems to be involved (but actually isn’t causing it and so can be ignored).