Posted July 31, 201510 yr Hello, I'm trying to add a smelting recipe to the Magma Crucible from TE, with a custom item and a custom fluid. I've been looking for an answer for a few hours now, and I'm pretty sure it has something to do with CoFHLib's helpers, but I just can't find a solution. Much appreciated
July 31, 201510 yr You need to send an IMC message to "ThermalExpansion" by calling FMLInterModComms.sendMessage before the postInit phase or FMLInterModComms.sendRuntimeMessage during the postInit phase. The reason you can use both methods is because TE subscribes to IMCEvent (fired between init and postInit) and also explicitly checks for runtime IMC messages when FMLLoadCompleteEvent fires (after postInit). Some mods only subscribe to IMCEvent , so they won't process runtime messages. As far as I can tell there's no formal documentation of TE's expected IMC format, but you can download a recent dev version and view the IMCHandler class in a decompiler to see how it handles each message. You'll need to use ItemStack#writeToNBT and FluidStack#writeToNBT to write the inputs and outputs to the NBT message you send to TE. Edit: I forgot some words. Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.
August 2, 201510 yr Author Thanks, it worked ! NBTTagCompound concreteRecipe = new NBTTagCompound(); concreteRecipe.setInteger("energy", 300); concreteRecipe.setTag("input", (new ItemStack(concretePowder).writeToNBT(new NBTTagCompound()))); concreteRecipe.setTag("output", (new FluidStack(concreteFluid, 1000).writeToNBT(new NBTTagCompound()))); FMLInterModComms.sendMessage("ThermalExpansion", "CrucibleRecipe", concreteRecipe);
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.