Mekanism

Mekanism

111M Downloads

Cannot open or create worlds when Flaxbeard's Steam Power ores are disabled

jjtParadox opened this issue ยท 1 comments

commented

After some testing, I found the following error occurs with Mekanism and Flaxbeard's Steam Power installed. With no configuration modification, worlds open just fine. However, if steam power's ores are disabled in config (fully disabled, not just world gen disabled) this happens and the world fails to open, kicking the user back to the main menu:

[22:20:03] [Server thread/INFO]: Preparing start region for level 0
[22:20:04] [Server thread/INFO] [Mekanism]: VoiceServer: Starting up server...
[22:20:04] [Server thread/ERROR] [FML]: Fatal errors were detected during the transition from SERVER_ABOUT_TO_START to SERVER_STARTING. Loading cannot continue
[22:20:04] [Server thread/ERROR] [FML]: 
    States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored
    UCHIJAAA    mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) 
    UCHIJAAA    FML{7.10.99.99} [Forge Mod Loader] (forge-1.7.10-10.13.4.1448-1.7.10.jar) 
    UCHIJAAA    Forge{10.13.4.1448} [Minecraft Forge] (forge-1.7.10-10.13.4.1448-1.7.10.jar) 
    UCHIJAAA    Steamcraft{0.28.10} [Flaxbeard's Steam Power] (Flaxbeard'sSteamPower-1.7.10-0.28.10.jar) 
    UCHIJAAA    ForgeMultipart{1.1.2.331} [Forge Multipart] (ForgeMultipart-1.7.10-1.1.2.331-universal.jar) 
    UCHIJAAE    Mekanism{8.1.7} [Mekanism] (Mekanism-1.7.10-8.1.7.252.jar) 
    UCHIJAAA    McMultipart{1.1.2.331} [Minecraft Multipart Plugin] (ForgeMultipart-1.7.10-1.1.2.331-universal.jar) 
    UCHIJAAA    ForgeMicroblock{1.1.2.331} [Forge Microblocks] (ForgeMultipart-1.7.10-1.1.2.331-universal.jar) 
[22:20:04] [Server thread/ERROR] [FML]: The following problems were captured during this phase
[22:20:04] [Server thread/ERROR] [FML]: Caught exception from Mekanism
java.lang.NullPointerException
    at net.minecraft.item.ItemStack.func_77960_j(ItemStack.java:217) ~[add.class:?]
    at mekanism.api.util.StackUtils.equalsWildcard(StackUtils.java:62) ~[StackUtils.class:?]
    at mekanism.api.util.StackUtils.equalsWildcardWithNBT(StackUtils.java:67) ~[StackUtils.class:?]
    at mekanism.common.recipe.inputs.ItemStackInput.testEquality(ItemStackInput.java:66) ~[ItemStackInput.class:?]
    at mekanism.common.recipe.inputs.ItemStackInput.testEquality(ItemStackInput.java:8) ~[ItemStackInput.class:?]
    at mekanism.common.recipe.inputs.MachineInput.equals(MachineInput.java:36) ~[MachineInput.class:?]
    at java.util.HashMap.putVal(HashMap.java:634) ~[?:1.8.0_60]
    at java.util.HashMap.put(HashMap.java:611) ~[?:1.8.0_60]
    at mekanism.common.recipe.RecipeHandler$Recipe.put(RecipeHandler.java:581) ~[RecipeHandler$Recipe.class:?]
    at mekanism.common.Mekanism.serverStarting(Mekanism.java:1048) ~[Mekanism.class:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_60]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_60]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_60]
    at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_60]
    at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:532) ~[forge-1.7.10-10.13.4.1448-1.7.10.jar:?]
    at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source) ~[?:?]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_60]
    at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_60]
    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) ~[guava-17.0.jar:?]
    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) ~[guava-17.0.jar:?]
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) ~[guava-17.0.jar:?]
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) ~[guava-17.0.jar:?]
    at com.google.common.eventbus.EventBus.post(EventBus.java:275) ~[guava-17.0.jar:?]
    at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:212) ~[forge-1.7.10-10.13.4.1448-1.7.10.jar:?]
    at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:190) ~[forge-1.7.10-10.13.4.1448-1.7.10.jar:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_60]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_60]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_60]
    at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_60]
    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) ~[guava-17.0.jar:?]
    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) ~[guava-17.0.jar:?]
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) ~[guava-17.0.jar:?]
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) ~[guava-17.0.jar:?]
    at com.google.common.eventbus.EventBus.post(EventBus.java:275) ~[guava-17.0.jar:?]
    at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:119) [LoadController.class:?]
    at cpw.mods.fml.common.Loader.serverStarting(Loader.java:789) [Loader.class:?]
    at cpw.mods.fml.common.FMLCommonHandler.handleServerStarting(FMLCommonHandler.java:278) [FMLCommonHandler.class:?]
    at net.minecraft.server.integrated.IntegratedServer.func_71197_b(IntegratedServer.java:94) [bsx.class:?]
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:387) [MinecraftServer.class:?]
    at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:685) [?:?]
[22:20:04] [Server thread/ERROR] [FML]: A fatal exception occurred during the server starting event
java.lang.NullPointerException
    at net.minecraft.item.ItemStack.func_77960_j(ItemStack.java:217) ~[add.class:?]
    at mekanism.api.util.StackUtils.equalsWildcard(StackUtils.java:62) ~[StackUtils.class:?]
    at mekanism.api.util.StackUtils.equalsWildcardWithNBT(StackUtils.java:67) ~[StackUtils.class:?]
    at mekanism.common.recipe.inputs.ItemStackInput.testEquality(ItemStackInput.java:66) ~[ItemStackInput.class:?]
    at mekanism.common.recipe.inputs.ItemStackInput.testEquality(ItemStackInput.java:8) ~[ItemStackInput.class:?]
    at mekanism.common.recipe.inputs.MachineInput.equals(MachineInput.java:36) ~[MachineInput.class:?]
    at java.util.HashMap.putVal(HashMap.java:634) ~[?:1.8.0_60]
    at java.util.HashMap.put(HashMap.java:611) ~[?:1.8.0_60]
    at mekanism.common.recipe.RecipeHandler$Recipe.put(RecipeHandler.java:581) ~[RecipeHandler$Recipe.class:?]
    at mekanism.common.Mekanism.serverStarting(Mekanism.java:1048) ~[Mekanism.class:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_60]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_60]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_60]
    at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_60]
    at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:532) ~[forge-1.7.10-10.13.4.1448-1.7.10.jar:?]
    at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source) ~[?:?]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_60]
    at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_60]
    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) ~[guava-17.0.jar:?]
    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) ~[guava-17.0.jar:?]
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) ~[guava-17.0.jar:?]
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) ~[guava-17.0.jar:?]
    at com.google.common.eventbus.EventBus.post(EventBus.java:275) ~[guava-17.0.jar:?]
    at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:212) ~[LoadController.class:?]
    at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:190) ~[LoadController.class:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_60]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_60]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_60]
    at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_60]
    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) ~[guava-17.0.jar:?]
    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) ~[guava-17.0.jar:?]
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) ~[guava-17.0.jar:?]
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) ~[guava-17.0.jar:?]
    at com.google.common.eventbus.EventBus.post(EventBus.java:275) ~[guava-17.0.jar:?]
    at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:119) ~[LoadController.class:?]
    at cpw.mods.fml.common.Loader.serverStarting(Loader.java:789) [Loader.class:?]
    at cpw.mods.fml.common.FMLCommonHandler.handleServerStarting(FMLCommonHandler.java:278) [FMLCommonHandler.class:?]
    at net.minecraft.server.integrated.IntegratedServer.func_71197_b(IntegratedServer.java:94) [bsx.class:?]
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:387) [MinecraftServer.class:?]
    at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:685) [?:?]

This is most likely caused by Steam Power "removing" the ores after Mekanism has registered recipes for them, which might be fixed with a != null check.

commented

The way I do things are according to standards- I'd talk to the Steam Power dev about making sure he's not registering recipes for things that don't exist.