Sponge: Biome registry forge registries

Created on 19 May 2017  ·  5Comments  ·  Source: SpongePowered/Sponge

This happens with buildcraft installed:

java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.spongepowered.common.registry.util.RegistryModuleLoader.tryAdditionalRegistration(RegistryModuleLoader.java:192)
    at org.spongepowered.common.registry.SpongeGameRegistry.registerAdditionalPhase(SpongeGameRegistry.java:503)
    at org.spongepowered.common.registry.SpongeGameRegistry.registerModulePhase(SpongeGameRegistry.java:497)
    at org.spongepowered.common.registry.SpongeGameRegistry.init(SpongeGameRegistry.java:524)
    at org.spongepowered.mod.SpongeMod.onInitialization(SpongeMod.java:256)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
    at com.google.common.eventbus.EventBus.post(EventBus.java:275)
    at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:252)
    at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:230)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
    at com.google.common.eventbus.EventBus.post(EventBus.java:275)
    at net.minecraftforge.fml.common.LoadController.redirect$onPost$zzd000(LoadController.java:553)
    at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:147)
    at net.minecraftforge.fml.common.Loader.initializeMods(Loader.java:828)
    at net.minecraftforge.fml.server.FMLServerHandler.finishServerLoading(FMLServerHandler.java:109)
    at net.minecraftforge.fml.common.FMLCommonHandler.onServerStarted(FMLCommonHandler.java:333)
    at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:215)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:442)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NullPointerException
    at java.util.concurrent.ConcurrentHashMap.putVal(ConcurrentHashMap.java:1011)
    at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:1006)
    at org.spongepowered.common.registry.type.world.gen.BiomeTypeRegistryModule.registerAdditional(BiomeTypeRegistryModule.java:75)
    ... 37 more
registry

Most helpful comment

When a stack trace says “x more”, the X remaining lines of the stack trace are shared with the last X lines from another section (plus any more “Y more” markers) - with “Caused by”, it's the one right above. In this case, it would be a reflection invocation from RegistryModuleLoader.

All 5 comments

I would really like to see the rest of that stacktrace, it stops just before the only line that matters.

When a stack trace says “x more”, the X remaining lines of the stack trace are shared with the last X lines from another section (plus any more “Y more” markers) - with “Caused by”, it's the one right above. In this case, it would be a reflection invocation from RegistryModuleLoader.

Not fixed yet. This happens with biomesoplenty.

java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.spongepowered.common.registry.util.RegistryModuleLoader.tryAdditionalRegistration(RegistryModuleLoader.java:192)
    at org.spongepowered.common.registry.SpongeGameRegistry.registerAdditionalPhase(SpongeGameRegistry.java:503)
    at org.spongepowered.common.registry.SpongeGameRegistry.registerModulePhase(SpongeGameRegistry.java:497)
    at org.spongepowered.common.registry.SpongeGameRegistry.init(SpongeGameRegistry.java:524)
    at org.spongepowered.mod.SpongeMod.onInitialization(SpongeMod.java:261)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
    at com.google.common.eventbus.EventBus.post(EventBus.java:275)
    at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:252)
    at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:230)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
    at com.google.common.eventbus.EventBus.post(EventBus.java:275)
    at net.minecraftforge.fml.common.LoadController.redirect$onPost$zzd000(LoadController.java:561)
    at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:147)
    at net.minecraftforge.fml.common.Loader.initializeMods(Loader.java:828)
    at net.minecraftforge.fml.server.FMLServerHandler.finishServerLoading(FMLServerHandler.java:109)
    at net.minecraftforge.fml.common.FMLCommonHandler.onServerStarted(FMLCommonHandler.java:333)
    at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:215)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:442)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NullPointerException
    at java.util.concurrent.ConcurrentHashMap.putVal(ConcurrentHashMap.java:1011)
    at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:1006)
    at org.spongepowered.common.registry.type.world.gen.BiomeTypeRegistryModule.registerAdditional(BiomeTypeRegistryModule.java:75)
    ... 37 more

Second trace:

[20:11:22] [Server thread/WARN] [FML]: No types have been added to Biome biomesoplenty:alps_foothills, types have been assigned on a best-effort guess: [COLD, SNOWY, HILLS]
java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.spongepowered.common.registry.util.RegistryModuleLoader.tryAdditionalRegistration(RegistryModuleLoader.java:192)
    at org.spongepowered.common.registry.SpongeGameRegistry.registerAdditionalPhase(SpongeGameRegistry.java:503)
    at org.spongepowered.common.registry.SpongeGameRegistry.registerModulePhase(SpongeGameRegistry.java:497)
    at org.spongepowered.common.registry.SpongeGameRegistry.postInit(SpongeGameRegistry.java:529)
    at org.spongepowered.mod.SpongeMod.onPostInitialization(SpongeMod.java:277)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
    at com.google.common.eventbus.EventBus.post(EventBus.java:275)
    at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:252)
    at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:230)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
    at com.google.common.eventbus.EventBus.post(EventBus.java:275)
    at net.minecraftforge.fml.common.LoadController.redirect$onPost$zzd000(LoadController.java:561)
    at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:147)
    at net.minecraftforge.fml.common.Loader.initializeMods(Loader.java:833)
    at net.minecraftforge.fml.server.FMLServerHandler.finishServerLoading(FMLServerHandler.java:109)
    at net.minecraftforge.fml.common.FMLCommonHandler.onServerStarted(FMLCommonHandler.java:333)
    at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:215)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:442)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NullPointerException
    at java.util.concurrent.ConcurrentHashMap.putVal(ConcurrentHashMap.java:1011)
    at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:1006)
    at org.spongepowered.common.registry.type.world.gen.BiomeTypeRegistryModule.registerAdditional(BiomeTypeRegistryModule.java:75)
    ... 37 more

How sponge handles forge registries? BiomesOPlenty registers all biomes with forge registries, but only 3 biomes can't be registered in sponge. Biome names:
Gravel Beach
White Beach
Alps
BiomeType.getId() returns null for these biomes.
This called only for minecraft biomes:

https://github.com/SpongePowered/SpongeCommon/blob/bleeding/src/main/java/org/spongepowered/common/mixin/core/world/biome/MixinBiome.java#L327

Was this page helpful?
0 / 5 - 0 ratings

Related issues

ImMorpheus picture ImMorpheus  ·  4Comments

XakepSDK picture XakepSDK  ·  3Comments

SjsolisZXA picture SjsolisZXA  ·  3Comments

Rasgnarok picture Rasgnarok  ·  4Comments

TBlueF picture TBlueF  ·  5Comments