Tom's Mod

Tom's Mod

12.5k Downloads

Crash with latest 1.12.2 build

CrankySupertoonArchive opened this issue ยท 3 comments

commented

java.lang.IllegalArgumentException: Invalid circuit id: small
at com.tom.core.TMResource$tomsmod_circuitpanel.parse(TMResource.java:1591)
at net.minecraftforge.common.crafting.CraftingHelper.getIngredient(CraftingHelper.java:202)
at net.minecraftforge.oredict.ShapelessOreRecipe.factory(ShapelessOreRecipe.java:152)
at net.minecraftforge.common.crafting.CraftingHelper.getRecipe(CraftingHelper.java:409)
at net.minecraftforge.common.crafting.CraftingHelper.lambda$loadRecipes$22(CraftingHelper.java:711)
at net.minecraftforge.common.crafting.CraftingHelper.findFiles(CraftingHelper.java:822)
at net.minecraftforge.common.crafting.CraftingHelper.loadRecipes(CraftingHelper.java:668)
at java.util.ArrayList.forEach(Unknown Source)
at net.minecraftforge.common.crafting.CraftingHelper.loadRecipes(CraftingHelper.java:620)
at net.minecraftforge.fml.common.Loader.initializeMods(Loader.java:742)
at net.minecraftforge.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:336)
at net.minecraft.client.Minecraft.func_71384_a(Minecraft.java:534)
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:377)
at net.minecraft.client.main.Main.main(SourceFile:123)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)

commented

Probally reflects this line in circuits.json

"models": [
	{
		"meta": 0,
		"model": "tomsmodcore:small_circuit",
		"raw_model": "tomsmodcore:small_circuit_raw",
		"ua_model": "tomsmodcore:small_circuit_ua",
		"ph_model": "tomsmodcore:small_circuit_ph",
		"name": "small",
		"size": 3
	},
commented
public static class tomsmod_circuitpanel extends ingredient_factory {

	@Override
	public Ingredient parse(JsonContext context, JsonObject json) {
		String id = json.get("id").getAsString();
		Integer ct = ItemCircuit.panelNames.get(id);
		**if(ct == null){
			throw new IllegalArgumentException("Invalid circuit id: " + id);
		}**
		JsonElement phe = json.get("photoactive");
		boolean ph = phe == null ? false : phe.getAsBoolean();
		JsonElement countE = json.get("count");
		int count = countE != null ? countE.getAsInt() : 1;
		return Ingredient.fromStacks(new ItemStack(ph ? CoreInit.circuitPanelP : CoreInit.circuitPanel, count, ct));
	}
}
commented

I think I found the problem, but it only happens when you have an empty config directory. After the first start (and crash), it creates the necessary files to start properly, then it should work fine. The fix will come in the next build.