MineTweaker/ModTweaker - A help and suggestions thread.

CyricV

New Member
Jul 29, 2019
20
0
0
Use a * for the output. So its something along the lines of mods.thermal.induction.remove(<*>);

It's worth noting that removal from the Induction Smelter requires the use of a recipe's inputs as opposed to the much more intuitive outputs.

In the case of trying to remove the recipe for Hardened Glass derived from lead ingots I've tried:
mods.thermalexpansion.Smelter.removeRecipe(allObsidianDust * 4, allLeadIngots);
mods.thermalexpansion.Smelter.removeRecipe(allObsidianDust * 4, *);
mods.thermalexpansion.Smelter.removeRecipe(allObsidianDust * 4, <*>);
mods.thermalexpansion.Smelter.removeRecipe(allObsidianDust * 4, [<*>]);
mods.thermalexpansion.Smelter.removeRecipe(*,*);
mods.thermalexpansion.Smelter.removeRecipe(<*>,<*>);
mods.thermalexpansion.Smelter.removeRecipe([<*>],[<*>]);
mods.thermalexpansion.Smelter.removeRecipe(allObsidianDust, leadIngot);
mods.thermalexpansion.Smelter.removeRecipe(<ThermalFoundation:*>,<ThermalFoundation:*>);
Everything I've tried so far returns errors.

This actually worked for removing the recipe derived from lead dust:
mods.thermalexpansion.Smelter.removeRecipe(allObsidianDust * 4, allLeadDust);
Also, thanks for the crazy fast response!
 
Last edited:
  • Like
Reactions: jdog1408

jdog1408

New Member
Jul 29, 2019
958
-11
0
It's worth noting that removal from the Induction Smelter requires the use of a recipe's inputs as opposed to the much more intuitive outputs.

In the case of trying to remove the recipe for Hardened Glass derived from lead ingots I've tried:
mods.thermalexpansion.Smelter.removeRecipe(allObsidianDust * 4, allLeadIngots);
mods.thermalexpansion.Smelter.removeRecipe(allObsidianDust * 4, *);
mods.thermalexpansion.Smelter.removeRecipe(allObsidianDust * 4, <*>);
mods.thermalexpansion.Smelter.removeRecipe(allObsidianDust * 4, [<*>]);
mods.thermalexpansion.Smelter.removeRecipe(*,*);
mods.thermalexpansion.Smelter.removeRecipe(<*>,<*>);
mods.thermalexpansion.Smelter.removeRecipe([<*>],[<*>]);
mods.thermalexpansion.Smelter.removeRecipe(allObsidianDust, leadIngot);
mods.thermalexpansion.Smelter.removeRecipe(<ThermalFoundation:*>,<ThermalFoundation:*>);
Everything I've tried so far returns errors.

This actually worked for removing the recipe derived from lead dust:
mods.thermalexpansion.Smelter.removeRecipe(allObsidianDust * 4, allLeadDust);
Also, thanks for the crazy fast response!
Once I'm home I'll look at it. Try and figure it out. I had the same issue trying to disable most of the TiCon smeltery recipes.
 
  • Like
Reactions: CyricV

CyricV

New Member
Jul 29, 2019
20
0
0
It seems in my haste and sleep deprived state I was mistaking a warning for an error Q____Q Using <*>, <*> does the trick.

The warning was generated by an earlier recipe removal I had written.

Thank you very much for the assistance!

I'm wondering if you can help me with another tidying up issue I've been having. Whenever I use NEI.hide(); my meta tags are ignored. So:

NEI.hide(<ThermalFoundation:material:44>);

will hide every TF material, not just the one with meta tag 44.
 
Last edited:
  • Like
Reactions: jdog1408

jdog1408

New Member
Jul 29, 2019
958
-11
0
It seems in my haste and sleep deprived state I was mistaking a warning for an error Q____Q Using <*>, <*> does the trick.

The warning was generated by an earlier recipe removal I had written.

Thank you very much for the assistance!

I'm wondering if you can help me with another tidying up issue I've been having. Whenever I use NEI.hide(); my meta tags are ignored. So:

NEI.hide(<ThermalFoundation:material:44>);

will hide every TF material, not just the one with meta tag 44.
I'm not 100% sure but I don't think damage value is metadata, but again once I'm home I'll see if I can figure it out. I just started a new Pack(It's called Incompetence, pack code will be INCOMPETENCE, it will probably go up in a few days as a super alpha, mainly cause I need to know what o do with the Ore Gen) but enough of this shameless plug. I just remembered how much I enjoyed doing Minetweaker lol. And actually I just remembered that Thermal Foundation stuff actually does do weird MetaData stuff so maybe that could be the issue.
 
  • Like
Reactions: CyricV

jdog1408

New Member
Jul 29, 2019
958
-11
0
It seems in my haste and sleep deprived state I was mistaking a warning for an error Q____Q Using <*>, <*> does the trick.

The warning was generated by an earlier recipe removal I had written.

Thank you very much for the assistance!

I'm wondering if you can help me with another tidying up issue I've been having. Whenever I use NEI.hide(); my meta tags are ignored. So:

NEI.hide(<ThermalFoundation:material:44>);

will hide every TF material, not just the one with meta tag 44.
*From Minetweaker NEI support page* In 1.6.4, NEI.hide works per item ID. Thus, applying NEI.hide(<item:34>) will hide all items with that name, not only the ones with 34 meta value. This is a NEI API limitation and cannot be fixed.Additionally, in dedicated servers, there is no NEI support and loading of the file will fail. Put your NEI scripts in a separate file and other files will still load fine.

Sorry Bro. If you're using 1.7.10 it may not be fixed yet then.
 
  • Like
Reactions: CyricV

CyricV

New Member
Jul 29, 2019
20
0
0
*From Minetweaker NEI support page* In 1.6.4, NEI.hide works per item ID. Thus, applying NEI.hide(<item:34>) will hide all items with that name, not only the ones with 34 meta value. This is a NEI API limitation and cannot be fixed.Additionally, in dedicated servers, there is no NEI support and loading of the file will fail. Put your NEI scripts in a separate file and other files will still load fine.

Sorry Bro. If you're using 1.7.10 it may not be fixed yet then.

I was wondering about that too, but I'm 1.7.10, not 1.6.4. I think I can get around it by making an NEI profile that hides individual items and then distribute that with the pack

Anyway, I have a more interesting issue that's been trying me this morning. I'm creating Fluid Transposer recipes for Blaze, Blizz, Blitz, and Basalz Powders using liquid redstone and Fire, Water, Air, and Earth essences from Magical Crops. The problem is the recipes are seeing each other as duplicates. Here is the code I'm using:

Code:
var fireEssence                 = <magicalcrops:magicalcrops_FireEssence>;
var waterEssence                = <magicalcrops:magicalcrops_WaterEssence>;
var airEssence                  = <magicalcrops:magicalcrops_AirEssence>;
var earthEssence                = <magicalcrops:magicalcrops_EarthEssence>;

# Blaze Powder
recipes.remove(blazePowder);
mods.thermalexpansion.Transposer.removeFillRecipe(glowstoneDust, <liquid:redstone>);
mods.thermalexpansion.Transposer.addFillRecipe(2000, fireEssence, blazePowder * 2, <liquid:redstone> * 100);

# Blizz Powder
recipes.remove(blizzPowder);
mods.thermalexpansion.Transposer.removeFillRecipe(snowball, <liquid:redstone>);
mods.thermalexpansion.Transposer.addFillRecipe(2000, waterEssence, blizzPowder * 2, <liquid:redstone> * 100);

# Blitz Powder
recipes.remove(blitzPowder);
mods.thermalexpansion.Transposer.removeFillRecipe(sand, <liquid:redstone>);
mods.thermalexpansion.Transposer.addFillRecipe(2000, airEssence, blitzPowder * 2, <liquid:redstone> * 100);

# Basalz Powder
recipes.remove(basalzPowder);
mods.thermalexpansion.Transposer.removeFillRecipe(allObsidianDust, <liquid:redstone>);
mods.thermalexpansion.Transposer.addFillRecipe(2000, earthEssence, basalzPowder * 2, <liquid:redstone> * 100);

[12:24:50] [Server thread/INFO]: CyricV joined the game
[12:24:52] [Client thread/INFO]: [CHAT] WARNING: [ModTweaker2] Duplicate Thermal Expansion Transposer (Fill) Recipe found for <magicalcrops:magicalcrops_WaterEssence> and <liquid:redstone> * 100. Command ignored!
[12:24:52] [Client thread/INFO]: [CHAT] WARNING: [ModTweaker2] Duplicate Thermal Expansion Transposer (Fill) Recipe found for <magicalcrops:magicalcrops_AirEssence> and <liquid:redstone> * 100. Command ignored!
[12:24:52] [Client thread/INFO]: [CHAT] WARNING: [ModTweaker2] Duplicate Thermal Expansion Transposer (Fill) Recipe found for <magicalcrops:magicalcrops_EarthEssence> and <liquid:redstone> * 100. Command ignored!

It seems all the essences I'm using are in an oredict by the name of accioMaterials. When I remove them from the oredict with the following code I get some interesting behaviors.

Code:
accioMaterial.remove(fireEssence);
accioMaterial.remove(waterEssence);
accioMaterial.remove(airEssence);
accioMaterial.remove(earthEssence);

On initial load of Minecraft I receive the same warnings about duplicate recipes, however if I switch at least three of the recipes to take anything not in accioMaterial (tested by using essence seeds because I could just change one word in each of the variable definitions) and reload the scripts it works fine. Then I switch back to the correct recipes using the essences and reload once again they all work.

This leads me to believe it's a load order issue, but I don't know how to enforce it so the ordict entries are removed first other than alphabetical order with file names.

In summary, the Fluid Transposer is seeing several items with different item IDs as the same thing and I don't know why.
 
Last edited:
  • Like
Reactions: jdog1408

CyricV

New Member
Jul 29, 2019
20
0
0
I've done tests on a few more things and it seems mods.thermalexpansion.Transposer.addFillRecipe(); treats anything you add as an input as its oredict entry. I'm not sure if this is a known bug, but are there any work-arounds?
 
  • Like
Reactions: jdog1408

sgbros1

New Member
Jul 29, 2019
952
-6
0
Anyone else get this server shut down with TC Research?

Code:
mods.thaumcraft.Research.setAutoUnlock("ROD_greatwood", true);
mods.thaumcraft.Research.setAutoUnlock("ROD_silverwood", true);
mods.thaumcraft.Research.setAutoUnlock("CAP_gold", true);
mods.thaumcraft.Research.setAutoUnlock("CAP_thaumium", true);
mods.thaumcraft.Research.setAutoUnlock("ROD_greatwood_staff", true);
mods.thaumcraft.Research.setAutoUnlock("ROD_silverwood_staff", true);
mods.thaumcraft.Research.setAutoUnlock("SCEPTRE", true);
mods.thaumcraft.Research.setAutoUnlock("ROD_bone", true);
mods.thaumcraft.Research.setAutoUnlock("ROD_ice", true);
mods.thaumcraft.Research.setAutoUnlock("ROD_reed", true);
mods.thaumcraft.Research.setAutoUnlock("ROD_blaze", true);
mods.thaumcraft.Research.setAutoUnlock("ROD_obsidian", true);
mods.thaumcraft.Research.setAutoUnlock("ROD_quartz", true);
mods.thaumcraft.Research.setAutoUnlock("CAP_copper", true);
mods.thaumcraft.Research.setAutoUnlock("CAP_silver", true);
mods.thaumcraft.Research.setAutoUnlock("CAP_iron", true);
mods.thaumcraft.Research.setAutoUnlock("TALLOW", true);
mods.thaumcraft.Research.setAutoUnlock("NITOR", true);
mods.thaumcraft.Research.setAutoUnlock("ALUMENTUM", true);
mods.thaumcraft.Research.setAutoUnlock("THAUMIUM", true);

mods.thaumcraft.Research.setSecondary("FOCUSSHOCK", false);
mods.thaumcraft.Research.setSecondary("FOCUSFROST", false);

mods.thaumcraft.Research.addSibling("FOCUSFIRE", "FOCUSEXCAVATION");
mods.thaumcraft.Research.setStub("FOCUSEXCAVATION", true);
mods.thaumcraft.Research.addSibling("FOCUSEXCAVATION", "FOCUSTRADE");
mods.thaumcraft.Research.setStub("FOCUSTRADE", true);
mods.thaumcraft.Research.addSibling("FOCUSTRADE", "FOCUSSHOCK");
mods.thaumcraft.Research.setStub("FOCUSSHOCK", true);
mods.thaumcraft.Research.addSibling("FOCUSSHOCK", "FOCUSFROST");
mods.thaumcraft.Research.setStub("FOCUSFROST", true);

Code:
[14:46:29] [Server thread/ERROR] [FML]: There was a critical exception handling a packet on channel thaumcraft
java.lang.NullPointerException
    at cpw.mods.fml.common.network.FMLOutboundHandler$OutboundTarget$4.selectNetworks(FMLOutboundHandler.java:109) ~[FMLOutboundHandler$OutboundTarget$4.class:?]
    at cpw.mods.fml.common.network.FMLOutboundHandler.write(FMLOutboundHandler.java:273) ~[FMLOutboundHandler.class:?]
    at io.netty.channel.DefaultChannelHandlerContext.invokeWrite(DefaultChannelHandlerContext.java:644) ~[DefaultChannelHandlerContext.class:?]
    at io.netty.channel.DefaultChannelHandlerContext.write(DefaultChannelHandlerContext.java:698) ~[DefaultChannelHandlerContext.class:?]
    at io.netty.channel.DefaultChannelHandlerContext.write(DefaultChannelHandlerContext.java:637) ~[DefaultChannelHandlerContext.class:?]
    at io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:115) ~[MessageToMessageEncoder.class:?]
    at io.netty.handler.codec.MessageToMessageCodec.write(MessageToMessageCodec.java:116) ~[MessageToMessageCodec.class:?]
    at io.netty.channel.DefaultChannelHandlerContext.invokeWrite(DefaultChannelHandlerContext.java:644) ~[DefaultChannelHandlerContext.class:?]
    at io.netty.channel.DefaultChannelHandlerContext.write(DefaultChannelHandlerContext.java:698) ~[DefaultChannelHandlerContext.class:?]
    at io.netty.channel.DefaultChannelHandlerContext.writeAndFlush(DefaultChannelHandlerContext.java:688) ~[DefaultChannelHandlerContext.class:?]
    at io.netty.channel.DefaultChannelHandlerContext.writeAndFlush(DefaultChannelHandlerContext.java:717) ~[DefaultChannelHandlerContext.class:?]
    at io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:893) ~[DefaultChannelPipeline.class:?]
    at io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:239) ~[AbstractChannel.class:?]
    at cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper.sendTo(SimpleNetworkWrapper.java:196) ~[SimpleNetworkWrapper.class:?]
    at thaumcraft.common.Thaumcraft.addWarpToPlayer(Thaumcraft.java:318) ~[Thaumcraft.class:?]
    at thaumcraft.common.lib.research.ResearchManager.completeResearch(ResearchManager.java:622) ~[ResearchManager.class:?]
    at thaumcraft.common.lib.events.EventHandlerEntity.playerLoad(EventHandlerEntity.java:158) ~[EventHandlerEntity.class:?]
    at cpw.mods.fml.common.eventhandler.ASMEventHandler_36_EventHandlerEntity_playerLoad_LoadFromFile.invoke(.dynamic) ~[?:?]
    at cpw.mods.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:54) ~[ASMEventHandler.class:?]
    at cpw.mods.fml.common.eventhandler.EventBus.post(EventBus.java:140) ~[EventBus.class:?]
    at net.minecraftforge.event.ForgeEventFactory.firePlayerLoadingEvent(ForgeEventFactory.java:233) ~[ForgeEventFactory.class:?]
    at net.minecraft.server.management.ServerConfigurationManager.func_72380_a(ServerConfigurationManager.java:259) ~[oi.class:?]
    at net.minecraft.server.management.ServerConfigurationManager.initializeConnectionToPlayer(ServerConfigurationManager.java:114) ~[oi.class:?]
    at cpw.mods.fml.common.network.handshake.NetworkDispatcher.completeServerSideConnection(NetworkDispatcher.java:190) ~[NetworkDispatcher.class:?]
    at cpw.mods.fml.common.network.handshake.NetworkDispatcher.completeHandshake(NetworkDispatcher.java:463) ~[NetworkDispatcher.class:?]
    at cpw.mods.fml.common.network.internal.HandshakeCompletionHandler.channelRead0(HandshakeCompletionHandler.java:17) ~[HandshakeCompletionHandler.class:?]
    at cpw.mods.fml.common.network.internal.HandshakeCompletionHandler.channelRead0(HandshakeCompletionHandler.java:11) ~[HandshakeCompletionHandler.class:?]
    at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:98) ~[SimpleChannelInboundHandler.class:?]
    at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) ~[DefaultChannelHandlerContext.class:?]
    at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) ~[DefaultChannelHandlerContext.class:?]
    at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) ~[MessageToMessageDecoder.class:?]
    at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111) ~[MessageToMessageCodec.class:?]
    at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) ~[DefaultChannelHandlerContext.class:?]
    at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) ~[DefaultChannelHandlerContext.class:?]
    at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) ~[DefaultChannelPipeline.class:?]
    at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:169) ~[EmbeddedChannel.class:?]
    at cpw.mods.fml.common.network.internal.FMLProxyPacket.func_148833_a(FMLProxyPacket.java:77) [FMLProxyPacket.class:?]
    at net.minecraft.network.NetworkManager.func_74428_b(NetworkManager.java:212) [ej.class:?]
    at net.minecraft.network.NetworkSystem.func_151269_c(NetworkSystem.java:165) [nc.class:?]
    at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:659) [MinecraftServer.class:?]
    at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:547) [MinecraftServer.class:?]
    at net.minecraft.server.integrated.IntegratedServer.func_71217_p(IntegratedServer.java:111) [bsx.class:?]
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:427) [MinecraftServer.class:?]
    at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:685) [?:?]

Edit: Never mind, just had to shut down and reload Minecraft.
 
Last edited:

jdog1408

New Member
Jul 29, 2019
958
-11
0
I've done tests on a few more things and it seems mods.thermalexpansion.Transposer.addFillRecipe(); treats anything you add as an input as its oredict entry. I'm not sure if this is a known bug, but are there any work-arounds?
Haven't found a work around but this is what I ran into. I mean there should be a way to get the oreDict unlisted first but your recipes don't even use oreDict the use ID's so it has got to be a Thermal thing
 
  • Like
Reactions: CyricV

CyricV

New Member
Jul 29, 2019
20
0
0
Anyone know of a way to rename Mekanism gasses or better yet, add new ones?
You might be able to use setLocalization to do fluid renaming. I'm pretty new to minetweaking so my advice is not always to be trusted. I'll test it out a bit.

Code:
// Set translation but only if language is en_US
game.setLocalization("en_US", "nei.inventory.prev", "Past");

//KEY, TEXT - You will want to use this one most of the time, it overrides no matter the language
game.setLocalization("nei.inventory.next", "Future");
[CODE]

Update: I can't seem to get this to work :C
 
  • Like
Reactions: epidemia78

thephoenixlodge

New Member
Jul 29, 2019
1,388
0
0
It seems in my haste and sleep deprived state I was mistaking a warning for an error Q____Q Using <*>, <*> does the trick.

The warning was generated by an earlier recipe removal I had written.

Thank you very much for the assistance!

I'm wondering if you can help me with another tidying up issue I've been having. Whenever I use NEI.hide(); my meta tags are ignored. So:

NEI.hide(<ThermalFoundation:material:44>);

will hide every TF material, not just the one with meta tag 44.
Use NEI.add() and list every other metadata instead of using NEI.hide() in this instance. As others have said, its an oddity of the NEI API, and you'd encounter the same thing with the scripting in INpure core too.
 

CyricV

New Member
Jul 29, 2019
20
0
0
Use NEI.add() and list every other metadata instead of using NEI.hide() in this instance. As others have said, its an oddity of the NEI API, and you'd encounter the same thing with the scripting in INpure core too.
Do I need to use both in conjunction? Like hide them all first, then re-add them?
 

jdog1408

New Member
Jul 29, 2019
958
-11
0
Anyone know if removing a furnace recipe via minetweaker removes it from the infernal furnace as well? I'll check this later but I feel like it should because that is where it gets its recipes, even with random mods that it doesn't have compatibilities with it still has all furnace recipes. So if I remove a furnace recipe will it remove the infernal furnace as well? I don't want to completely disable it but I can't have people using it to smelt ores either.
 

Xavion

New Member
Jul 29, 2019
1,025
-3
0
Anyone know if removing a furnace recipe via minetweaker removes it from the infernal furnace as well? I'll check this later but I feel like it should because that is where it gets its recipes, even with random mods that it doesn't have compatibilities with it still has all furnace recipes. So if I remove a furnace recipe will it remove the infernal furnace as well? I don't want to completely disable it but I can't have people using it to smelt ores either.
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.