ModTweaker

ModTweaker

88M Downloads

reload recipes conflicts with Thermal recipe refresh

krakel opened this issue · 8 comments

commented

On my own test for our mod pack, I got problems on relog at the nether. The game was not complete unloaded or I got a exception from cofh.thermalexpansion.util.crafting.SmelterManager.refreshRecipes.
So I can not use scripts for Thermal Expansion.
Is there a plan to change this behavior or a agreement with this mod?

commented

Minetweaker issue.

On Wednesday, July 8, 2015, Uwe Dörl [email protected] wrote:

On my own test for our mod pack, I got problems on relog at the nether.
The game was not complete unloaded or I got a exception from
cofh.thermalexpansion.util.crafting.SmelterManager.refreshRecipes.
So I can not use scripts for Thermal Expansion.
Is there a plan to change this behavior or a agreement with this mod?


Reply to this email directly or view it on GitHub
#175.

commented

ok. I repost this question on minetweaker.

commented

Can you post a crash log?

commented

The only crash I got. On some test the local server was not correct finished without crash. In such case I killed the virtual java machine.
I understand the recipe cache of a mod violate the recipe refresh on dimension reload.

java.lang.NullPointerException
    at cofh.thermalexpansion.util.crafting.SmelterManager.refreshRecipes(SmelterManager.java:204) ~[SmelterManager.class:?]
    at cofh.thermalexpansion.ThermalExpansion.handleIdMapping(ThermalExpansion.java:277) ~[ThermalExpansion.class:?]
    at cofh.thermalexpansion.ThermalExpansion.serverStarting(ThermalExpansion.java:221) ~[ThermalExpansion.class:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_76]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_76]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_76]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.7.0_76]
    at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:532) ~[modpack.jar:?]
    at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) ~[?:?]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_76]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.7.0_76]
    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.7.0_76]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_76]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_76]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.7.0_76]
    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.serverStarted(Loader.java:802) ~[Loader.class:?]
    at cpw.mods.fml.common.FMLCommonHandler.handleServerStarted(FMLCommonHandler.java:283) ~[FMLCommonHandler.class:?]
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:389) [MinecraftServer.class:?]
    at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:685) [?:?]
commented

Looks like the script you are using can't create a recipe properly and a null object gets inserted in the smelter recipe list. When Thermal Expansion refreshes the recipes, it leads to the NullPointerException.
Check your TE Smelter scripts, if all custom recipes you add are functional.

/edit: If a new instance of a TE recipe could not be created, a null object is returned without an error message. This could lead to a NullPointerException, because no further check is implemented when adding the recipe to the TE machines.

Code:
https://github.com/jaredlll08/ModTweaker2/blob/master/src/main/java/modtweaker2/mods/thermalexpansion/ThermalHelper.java#L72-L78

commented

We used simple scrips to correct some recipe for our wanted diffculty.
http://pastebin.com/TkrYFM2X
http://pastebin.com/Bep0itPM

commented

Just read the title, we don't support /mt reload issues.

commented

Should be fixed now. If it isn't, please notify us :)