MineTweaker/ModTweaker - A help and suggestions thread.

jdog1408

New Member
Jul 29, 2019
958
-11
0
Yes that is the case, the infernal furnace is just a fancy furnace, so just uses the normal furnace recipe registry. The bonus outputs are handled separately though, so gold ore will have bonus gold nuggets or whatnot, and that's impossible to disable from what I can see so you'll need to just disable the smelting of ore altogether if you want that.
perfect :) good thing that's how I handled it.
 

CyricV

New Member
Jul 29, 2019
20
0
0
No, use the add instead of the hide. The way add works in this instance is that it'll actually hide every metadata value you don't specify.
Hey sorry to pick this old problem back up but using NEI.add() produces the following Minetweaker error:
Code:
ERROR: __tellura_initialize.zs:68 > No such static member in mods.nei.NEI: add
ERROR: Error executing __tellura_initialize.zs: minetweaker/api/item/IItemStackAny
java.lang.NoClassDefFoundError: minetweaker/api/item/IItemStackAny
    at __tellura_initialize.__script__(__tellura_initialize.zs:68)
    at __ZenMain__.run(__tellura_initialize.zs)
    at minetweaker.runtime.MTTweaker.load(MTTweaker.java:163)
    at minetweaker.MineTweakerImplementationAPI.reload(MineTweakerImplementationAPI.java:651)
    at minetweaker.MineTweakerImplementationAPI$1.execute(MineTweakerImplementationAPI.java:82)
    at minetweaker.MineTweakerImplementationAPI$19.execute(MineTweakerImplementationAPI.java:637)
    at minetweaker.mc1710.server.MCServer$MCCommand.func_71515_b(MCServer.java:124)
    at net.minecraft.command.CommandHandler.func_71556_a(CommandHandler.java:94)
    at net.minecraft.network.NetHandlerPlayServer.func_147361_d(NetHandlerPlayServer.java:739)
    at net.minecraft.network.NetHandlerPlayServer.func_147354_a(NetHandlerPlayServer.java:718)
    at net.minecraft.network.play.client.C01PacketChatMessage.func_148833_a(SourceFile:37)
    at net.minecraft.network.play.client.C01PacketChatMessage.func_148833_a(SourceFile:9)
    at net.minecraft.network.NetworkManager.func_74428_b(NetworkManager.java:212)
    at net.minecraft.network.NetworkSystem.func_151269_c(NetworkSystem.java:165)
    at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:659)
    at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:547)
    at net.minecraft.server.integrated.IntegratedServer.func_71217_p(IntegratedServer.java:111)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:427)
    at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:685)
Caused by: java.lang.ClassNotFoundException: minetweaker.api.item.IItemStackAny
    at java.lang.ClassLoader.findClass(Unknown Source)
    at stanhebben.zenscript.ZenModule$MyClassLoader.findClass(ZenModule.java:350)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 19 more
How do I go about gaining access to this add functionality?

SOLVED: I spent 30 seconds reading documentation, it's actually NEI.addEntry()
Sorry for bugging you about this!
 

thephoenixlodge

New Member
Jul 29, 2019
1,388
0
0
Hey sorry to pick this old problem back up but using NEI.add() produces the following Minetweaker error:
Code:
ERROR: __tellura_initialize.zs:68 > No such static member in mods.nei.NEI: add
ERROR: Error executing __tellura_initialize.zs: minetweaker/api/item/IItemStackAny
java.lang.NoClassDefFoundError: minetweaker/api/item/IItemStackAny
    at __tellura_initialize.__script__(__tellura_initialize.zs:68)
    at __ZenMain__.run(__tellura_initialize.zs)
    at minetweaker.runtime.MTTweaker.load(MTTweaker.java:163)
    at minetweaker.MineTweakerImplementationAPI.reload(MineTweakerImplementationAPI.java:651)
    at minetweaker.MineTweakerImplementationAPI$1.execute(MineTweakerImplementationAPI.java:82)
    at minetweaker.MineTweakerImplementationAPI$19.execute(MineTweakerImplementationAPI.java:637)
    at minetweaker.mc1710.server.MCServer$MCCommand.func_71515_b(MCServer.java:124)
    at net.minecraft.command.CommandHandler.func_71556_a(CommandHandler.java:94)
    at net.minecraft.network.NetHandlerPlayServer.func_147361_d(NetHandlerPlayServer.java:739)
    at net.minecraft.network.NetHandlerPlayServer.func_147354_a(NetHandlerPlayServer.java:718)
    at net.minecraft.network.play.client.C01PacketChatMessage.func_148833_a(SourceFile:37)
    at net.minecraft.network.play.client.C01PacketChatMessage.func_148833_a(SourceFile:9)
    at net.minecraft.network.NetworkManager.func_74428_b(NetworkManager.java:212)
    at net.minecraft.network.NetworkSystem.func_151269_c(NetworkSystem.java:165)
    at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:659)
    at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:547)
    at net.minecraft.server.integrated.IntegratedServer.func_71217_p(IntegratedServer.java:111)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:427)
    at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:685)
Caused by: java.lang.ClassNotFoundException: minetweaker.api.item.IItemStackAny
    at java.lang.ClassLoader.findClass(Unknown Source)
    at stanhebben.zenscript.ZenModule$MyClassLoader.findClass(ZenModule.java:350)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 19 more
How do I go about gaining access to this add functionality?

SOLVED: I spent 30 seconds reading documentation, it's actually NEI.addEntry()
Sorry for bugging you about this!
That's what I get for not double checking the documentation before making that post.
 
  • Like
Reactions: RealKC and CyricV

CyricV

New Member
Jul 29, 2019
20
0
0
OK, I have another fun one, and I'm guessing this one might actually have a solution as it seems like it should be a fairly common problem. I'm trying to write function recipes with the goal of creating a chain of progression for armor. Here is an example of the Leather Helm to Hardened Leather Helm I'm trying to write:
Code:
# Hardened Leather Helm
recipes.remove(hLeatherHelm);
recipes.addShaped(hLeatherHelm.marked("helmOut"), [
    [oreLeather,            oreLeather,                                 oreLeather],
    [oreHardenedLeather,    leatherHelm.anyDamage().marked("helmIn"),   oreHardenedLeather],
    [null,                  null,                                       null]],
    function(output, inputs, crafting) {
        return output.helmOut.withDamage(max(0, inputs.helmIn.damage));
    }
);
The error I receive for this is:
ERROR: minecraft.zs:100 > a method available but none matches the parameters (minetweaker.item.IIngredient, minetweaker.item.IIngredient[][], minetweaker.recipes.IRecipeFunction)
There are probably several things wrong with this code as this is the first time I've tried messing with functional crafting. The example given on the Minetweaker wiki is very narrow, so if anyone has a more complete bit of documentation they know of I would be much obliged!

SOLUTION: This code seems to do the trick:
Code:
# Hardened Leather Helm
recipes.remove(hLeatherHelm);
recipes.addShaped(hLeatherHelm, [
    [oreLeather,            oreLeather,                                 oreLeather],
    [oreHardenedLeather,    leatherHelm.anyDamage().marked("helmIn"),   oreHardenedLeather],
    [null,                  null,                                       null]],
    function(output, inputs, crafting) {
        return output.withDamage(max(0, inputs.helmIn.damage));
    }
);

The output does not need to be specified using .marked() and in fact cannot be. This is what was causing my error. It can just be referred to as output.
 
Last edited:

Golrith

Over-Achiever
Trusted User
Nov 11, 2012
3,834
2,137
248
I'm working on an ore overhaul system, which as a result requires I teach every mod in the pack how to handle all the new blocks and items I've introduced (81 lines of code so far, just for Gold!).
Anyway, having a problem with Immersive Engineering Arc Furnace.

mods.immersiveengineering.ArcFurnace.addRecipe(resIngot*4, resOre0, <ImmersiveEngineering:material:13>, 512, 200);

from wiki:

Parameters marked as red are optional and can be left out

//Arc Furnace
//OutputStack, InputStack, SlagOutput, Time in Ticks, Energy per Tick, AdditiveArray, RecipeTypeString //Either create your own NEI pages with custom strings or use original ones


Keeps erroring with a "null" response.

Any ideas? I have no idea what the "AdditiveArray, RecipeTypeString" is all about, but it states it's optional.
 

RenzosNips

New Member
Jul 29, 2019
199
-1
0
I'm working on an ore overhaul system, which as a result requires I teach every mod in the pack how to handle all the new blocks and items I've introduced (81 lines of code so far, just for Gold!).
Anyway, having a problem with Immersive Engineering Arc Furnace.

mods.immersiveengineering.ArcFurnace.addRecipe(resIngot*4, resOre0, <ImmersiveEngineering:material:13>, 512, 200);

from wiki:

Parameters marked as red are optional and can be left out

//Arc Furnace
//OutputStack, InputStack, SlagOutput, Time in Ticks, Energy per Tick, AdditiveArray, RecipeTypeString //Either create your own NEI pages with custom strings or use original ones


Keeps erroring with a "null" response.

Any ideas? I have no idea what the "AdditiveArray, RecipeTypeString" is all about, but it states it's optional.
Alright, so I tested this, and they definitely are not optional, as I get the same error as you.
I added the recipe from the wiki, and it didn't give me the error.

As for the "optional" arguments, the RecipeTypeString is just a name that you want to show the recipes under. If you view the Arc Furnace's recipes in the machine, it has 3 default tabs. "Arc Furnace", "Arc Furnace Ores", and "Arc Furnace: Recycling". The wiki example adds a new page called "Arc Furnace: Purifying".
AdditiveArray is just an array of items that are "added" to the input to get the output. Ex: coal dust is added to iron to get steel.

You can leave them blank, ("[], ""), and it appears to work fine.
 

Golrith

Over-Achiever
Trusted User
Nov 11, 2012
3,834
2,137
248
Alright, so I tested this, and they definitely are not optional, as I get the same error as you.
I added the recipe from the wiki, and it didn't give me the error.

As for the "optional" arguments, the RecipeTypeString is just a name that you want to show the recipes under. If you view the Arc Furnace's recipes in the machine, it has 3 default tabs. "Arc Furnace", "Arc Furnace Ores", and "Arc Furnace: Recycling". The wiki example adds a new page called "Arc Furnace: Purifying".
AdditiveArray is just an array of items that are "added" to the input to get the output. Ex: coal dust is added to iron to get steel.

You can leave them blank, ("[], ""), and it appears to work fine.
Thanks! I'll give this a go.


Another question. Is it possible to minetweak EnderIO, or is it just all through EIO's JSON files? With the amount of changes I've got, using MT would be much easier :D
 

RenzosNips

New Member
Jul 29, 2019
199
-1
0
Thanks! I'll give this a go.


Another question. Is it possible to minetweak EnderIO, or is it just all through EIO's JSON files? With the amount of changes I've got, using MT would be much easier :D
It looks like EnderIO doesn't support MT, and Modtweaker doesn't add support because they provide config files. I agree it would be easier to use MT though.
 

jdog1408

New Member
Jul 29, 2019
958
-11
0
Thanks! I'll give this a go.


Another question. Is it possible to minetweak EnderIO, or is it just all through EIO's JSON files? With the amount of changes I've got, using MT would be much easier :D
Learning the JSON isn't very difficult I mean you just list the items and values in the correct order so it's not a terrible thing to deal with.
 
  • Like
Reactions: Golrith

CyricV

New Member
Jul 29, 2019
20
0
0
...Another question. Is it possible to minetweak EnderIO, or is it just all through EIO's JSON files? With the amount of changes I've got, using MT would be much easier :D
Feel free to PM me any questions about the Ender IO configs. I've been messing around with them quite a bit and would love to help out!
 
  • Like
Reactions: Golrith

Golrith

Over-Achiever
Trusted User
Nov 11, 2012
3,834
2,137
248
Yeah, I've used the EnderIO configs, just with the MT scripts, I can specify the items/blocks/liquids as variables, then pass them to all the mods easily.
Although, I'm debating that the Alloy Smelter might not be the mod block to use for raw ore in my overhaul, so what the defaults that EnderIO automatically generates may be sufficient.

Thanks all!
 

Golrith

Over-Achiever
Trusted User
Nov 11, 2012
3,834
2,137
248
Alright, so I tested this, and they definitely are not optional, as I get the same error as you.
I added the recipe from the wiki, and it didn't give me the error.

As for the "optional" arguments, the RecipeTypeString is just a name that you want to show the recipes under. If you view the Arc Furnace's recipes in the machine, it has 3 default tabs. "Arc Furnace", "Arc Furnace Ores", and "Arc Furnace: Recycling". The wiki example adds a new page called "Arc Furnace: Purifying".
AdditiveArray is just an array of items that are "added" to the input to get the output. Ex: coal dust is added to iron to get steel.

You can leave them blank, ("[], ""), and it appears to work fine.
Me again, what am I derping up? Not getting any script errors, but nothing is showing in NEI.

mods.immersiveengineering.ArcFurnace.addRecipe(resIngot*4, resOre0, <ImmersiveEngineering:material:13>, 512, 200, [], "Arc Furnace: Ores");
 

RenzosNips

New Member
Jul 29, 2019
199
-1
0
Me again, what am I derping up? Not getting any script errors, but nothing is showing in NEI.

mods.immersiveengineering.ArcFurnace.addRecipe(resIngot*4, resOre0, <ImmersiveEngineering:material:13>, 512, 200, [], "Arc Furnace: Ores");
It only showed up from within the Arc Furnace's GUI for me. I just checked my setup, and it didn't appear in NEI either. Must be something on IE's end.
 
  • Like
Reactions: Golrith

Vagaprime

New Member
Jul 29, 2019
129
0
0
Has anyone found out how to adjust the Mekanism cable, pipes, and tube recipes. I have tried adding zz to the start of the mek jar files but that has not allowed mt to remove the mekanism recipes.
 

Golrith

Over-Achiever
Trusted User
Nov 11, 2012
3,834
2,137
248
It only showed up from within the Arc Furnace's GUI for me. I just checked my setup, and it didn't appear in NEI either. Must be something on IE's end.
Ah, must admit, haven't built a Arc Furnace, just looking purely via NEI.
 

RenzosNips

New Member
Jul 29, 2019
199
-1
0
Has anyone found out how to adjust the Mekanism cable, pipes, and tube recipes. I have tried adding zz to the start of the mek jar files but that has not allowed mt to remove the mekanism recipes.
Works fine for me. You'll have to list your versions of the mods, your modlist, and the part of the script.

Ah, must admit, haven't built a Arc Furnace, just looking purely via NEI.
I was playing around with it before hand, otherwise I wouldn't have, to be honest.
 

Vagaprime

New Member
Jul 29, 2019
129
0
0
here is the modlist. All mods are running their most current version

here is a copy of the minetweaker scripts I am using
recipes.removeShaped(<Mekanism:partTransmitter:16> * 2);
recipes.removeShaped(<Mekanism:partTransmitter> * 8);
recipes.removeShaped(<Mekanism:partTransmitter:17> * 2);
recipes.removeShaped(<Mekanism:partTransmitter:12> * 8);
recipes.removeShaped(<Mekanism:partTransmitter:8> * 8);
recipes.removeShaped(<Mekanism:partTransmitter:4> * 8);
recipes.removeShaped(<Mekanism:BasicBlock:8>);

recipes.addShaped(<Mekanism:partTransmitter:16> * 2, [[<Railcraft:part.plate:1>, <minecraft:iron_bars>, <Railcraft:part.plate:1>]]);
recipes.addShaped(<Mekanism:partTransmitter> * 8, [[<Railcraft:part.plate:1>, <minecraft:redstone>, <Railcraft:part.plate:1>]]);
recipes.addShaped(<Mekanism:partTransmitter:17> * 2, [[<ore:dustRedstone>, <ore:dustRedstone>, <ore:dustRedstone>], [<Railcraft:part.plate:1>, <minecraft:iron_bars>, <Railcraft:part.plate:1>], [<ore:dustRedstone>, <ore:dustRedstone>, <ore:dustRedstone>]]);
recipes.addShaped(<Mekanism:partTransmitter:8> * 8, [[<Railcraft:part.plate:1>, <ore:blockGlassColorless>, <Railcraft:part.plate:1>]]);
recipes.addShaped(<Mekanism:partTransmitter:12> * 8, [[<Railcraft:part.plate:1>, <Mekanism:ControlCircuit>, <Railcraft:part.plate:1>]]);
recipes.addShaped(<Mekanism:partTransmitter:4> * 8, [[<Railcraft:part.plate:1>, <minecraft:bucket>, <Railcraft:part.plate:1>]]);
recipes.addShaped(<Mekanism:BasicBlock:8>, [[null, <Railcraft:part.plate:1>, null], [<Railcraft:part.plate:1>, <ore:gearSilver>, <Railcraft:part.plate:1>], [null, <Railcraft:part.plate:1>, null]]);
 

Golrith

Over-Achiever
Trusted User
Nov 11, 2012
3,834
2,137
248
Small refinement on the Arc Furnace script. To get the recipe in the right page of Arc Furnace recipes, it's just the text after the colon. In the below case, "Ores".

mods.immersiveengineering.ArcFurnace.addRecipe(resIngot*4, resOre0, <ImmersiveEngineering:material:13>, 200, 512, [], "Ores");

Once I reloaded, recipe appeared fine in NEI, and any further tweaks to the recipe changed immediately. Must be some oddity in the NEI handling.
 
  • Like
Reactions: RenzosNips

RenzosNips

New Member
Jul 29, 2019
199
-1
0
here is the modlist. All mods are running their most current version

here is a copy of the minetweaker scripts I am using
Well, from the quick glance I saw of your modlist, Mekanism should be loading after MT once you rename it to something that's alphabetically after MT. (I use "zMekanism")

As for your recipes, I'll be loading up Minecraft shortly, so I can test your script.
EDIT:
Try using "recipes.remove" instead of "recipes.removeShaped". RemoveShaped didn't work for me, but just Remove did.

Small refinement on the Arc Furnace script. To get the recipe in the right page of Arc Furnace recipes, it's just the text after the colon. In the below case, "Ores".

mods.immersiveengineering.ArcFurnace.addRecipe(resIngot*4, resOre0, <ImmersiveEngineering:material:13>, 200, 512, [], "Ores");

Once I reloaded, recipe appeared fine in NEI, and any further tweaks to the recipe changed immediately. Must be some oddity in the NEI handling.
So the "Ores" page must load by default(Along with just "Arc Furnace" and... "Purifying"? I think), and any that you "make" yourself are only view-able in the Arc Furnace? Well that makes that feature decidedly less useful for me. I had a few custom page plans for it.
 
Last edited:

Golrith

Over-Achiever
Trusted User
Nov 11, 2012
3,834
2,137
248
Well, from the quick glance I saw of your modlist, Mekanism should be loading after MT once you rename it to something that's alphabetically after MT. (I use "zMekanism")

As for your recipes, I'll be loading up Minecraft shortly, so I can test your script.

So the "Ores" page must load by default(Along with just "Arc Furnace" and... "Purifying"? I think), and any that you "make" yourself are only view-able in the Arc Furnace? Well that makes that feature decidedly less useful for me. I had a few custom page plans for it.
No, when I loaded my pack again, checked the Arc Furnace, and my MT recipe was appearing in a page called "Arc Furnace: Arc Furnace: Ores". Changed the script and reloaded the scripts, and it did instantly change in NEI to the Ores page.
So, feel free to make additional pages as you see fit, you most likely will need to reload your pack for it to appear. Bit like some of the Thermal Foundation tweaks where they don't always appear until you do a full game reload.
 
  • Like
Reactions: RenzosNips