diff --git a/src/main/java/codechicken/nei/LayoutManager.java b/src/main/java/codechicken/nei/LayoutManager.java index 33d1e0825..7c229c0e7 100644 --- a/src/main/java/codechicken/nei/LayoutManager.java +++ b/src/main/java/codechicken/nei/LayoutManager.java @@ -4,7 +4,6 @@ import codechicken.nei.KeyManager.IKeyStateTracker; import codechicken.nei.api.API; import codechicken.nei.api.GuiInfo; -import codechicken.nei.api.INEIGuiHandler; import codechicken.nei.api.IRecipeOverlayRenderer; import codechicken.nei.api.ItemInfo; import codechicken.nei.api.LayoutStyle; @@ -16,7 +15,7 @@ import codechicken.nei.guihook.IContainerObjectHandler; import codechicken.nei.guihook.IContainerTooltipHandler; import codechicken.nei.recipe.GuiRecipeTab; -import cpw.mods.fml.common.Loader; +import codechicken.nei.recipe.RecipeCatalysts; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiButton; import net.minecraft.client.gui.inventory.GuiContainer; @@ -63,7 +62,6 @@ import static codechicken.nei.NEIClientUtils.healPlayer; import static codechicken.nei.NEIClientUtils.isValidGamemode; import static codechicken.nei.NEIClientUtils.setHourForward; -import static codechicken.nei.NEIClientUtils.setItemQuantity; import static codechicken.nei.NEIClientUtils.shiftKey; import static codechicken.nei.NEIClientUtils.toggleMagnetMode; import static codechicken.nei.NEIClientUtils.toggleRaining; @@ -360,6 +358,7 @@ public boolean onButtonPress(boolean rightclick) { } else { if (Keyboard.getEventKeyState() && (Keyboard.getEventKey() == Keyboard.KEY_LSHIFT || Keyboard.getEventKey() == Keyboard.KEY_RSHIFT)) { GuiRecipeTab.loadHandlerInfo(); + RecipeCatalysts.loadCatalystInfo(); } getOptionList().openGui(getGuiContainer(), false); } diff --git a/src/main/java/codechicken/nei/NEIClientConfig.java b/src/main/java/codechicken/nei/NEIClientConfig.java index b19ec61db..3d54c9276 100644 --- a/src/main/java/codechicken/nei/NEIClientConfig.java +++ b/src/main/java/codechicken/nei/NEIClientConfig.java @@ -27,8 +27,8 @@ import codechicken.nei.event.NEIConfigsLoadedEvent; import codechicken.nei.recipe.GuiRecipeTab; import codechicken.nei.recipe.IRecipeHandler; +import codechicken.nei.recipe.RecipeCatalysts; import codechicken.nei.recipe.RecipeInfo; -import codechicken.nei.recipe.TemplateRecipeHandler; import codechicken.obfuscator.ObfuscationRun; import com.google.common.base.Objects; import net.minecraft.client.Minecraft; @@ -62,6 +62,7 @@ public class NEIClientConfig { new ConfigFile(new File(configDir, "client.cfg"))); public static ConfigSet world; public static final File handlerFile = new File(configDir, "handlers.csv"); + public static final File catalystFile = new File(configDir, "catalysts.csv"); public static final File serialHandlersFile = new File(configDir, "serialhandlers.cfg"); public static final File heightHackHandlersFile = new File(configDir, "heighthackhandlers.cfg"); public static final File handlerOrderingFile = new File(configDir, "handlerordering.csv"); @@ -84,11 +85,9 @@ public class NEIClientConfig { // Function that extracts the handler ID from a handler, with special logic for // TemplateRecipeHandler: prefer using the overlay ID if it exists. public static final Function HANDLER_ID_FUNCTION = - handler -> handler instanceof TemplateRecipeHandler - ? Objects.firstNonNull( - ((TemplateRecipeHandler) handler).getOverlayIdentifier(), - handler.getHandlerId()) - : handler.getHandlerId(); + handler -> Objects.firstNonNull( + handler.getOverlayIdentifier(), + handler.getHandlerId()); // Comparator that compares handlers using the handlerOrdering map. public static final Comparator HANDLER_COMPARATOR = @@ -202,7 +201,7 @@ public boolean onClick(int button) { API.addOption(new OptionToggleButtonBoubs("inventory.jei_style_tabs", true)); tag.getTag("inventory.jei_style_item_presence_overlay").setComment("Enable/disable JEI Style item presence overlay on ?-hover").getBooleanValue(true); API.addOption(new OptionToggleButton("inventory.jei_style_item_presence_overlay", true)); - tag.getTag("inventory.jei_style_recipe_catalyst").setComment("Enable/disable JEI Style Recipe Catalysts [experimental]").getBooleanValue(false); + tag.getTag("inventory.jei_style_recipe_catalyst").setComment("Enable/disable JEI Style Recipe Catalysts").getBooleanValue(true); API.addOption(new OptionToggleButton("inventory.jei_style_recipe_catalyst", true)); @@ -218,6 +217,17 @@ public boolean onClick(int button) { return true; } }); + + tag.getTag("tools.catalyst_load_from_config").setComment("ADVANCED: Load catalysts from config").getBooleanValue(false); + API.addOption(new OptionToggleButton("tools.catalyst_load_from_config", true) { + @Override + public boolean onClick(int button) { + super.onClick(button); + RecipeCatalysts.loadCatalystInfo(); + return true; + } + }); + setDefaultKeyBindings(); } @@ -338,6 +348,7 @@ public static void bootNEI(World world) { RecipeInfo.load(); LayoutManager.load(); NEIController.load(); + RecipeCatalysts.loadCatalystInfo(); configLoaded = true; @@ -419,6 +430,9 @@ public static boolean isEnabled() { public static boolean loadHandlersFromJar() { return !getBooleanSetting("tools.handler_load_from_config"); } + public static boolean loadCatalystsFromJar() { + return !getBooleanSetting("tools.catalyst_load_from_config"); + } public static void setEnabled(boolean flag) { getSetting("inventory.widgetsenabled").setBooleanValue(flag); diff --git a/src/main/java/codechicken/nei/NEIModContainer.java b/src/main/java/codechicken/nei/NEIModContainer.java index f430d7bee..ce60fa7cc 100644 --- a/src/main/java/codechicken/nei/NEIModContainer.java +++ b/src/main/java/codechicken/nei/NEIModContainer.java @@ -6,13 +6,13 @@ import codechicken.nei.asm.NEICorePlugin; import codechicken.nei.config.IMCHandler; import codechicken.nei.recipe.GuiRecipeTab; +import codechicken.nei.recipe.RecipeCatalysts; import com.google.common.eventbus.EventBus; import com.google.common.eventbus.Subscribe; import cpw.mods.fml.client.FMLFileResourcePack; import cpw.mods.fml.client.FMLFolderResourcePack; import cpw.mods.fml.common.DummyModContainer; import cpw.mods.fml.common.LoadController; -import cpw.mods.fml.common.MetadataCollection; import cpw.mods.fml.common.ModMetadata; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLInterModComms; @@ -107,6 +107,7 @@ public void init(FMLInitializationEvent event) { public void postInit(FMLPostInitializationEvent event) { if (CommonUtils.isClient()) { GuiRecipeTab.loadHandlerInfo(); + RecipeCatalysts.loadCatalystInfo(); ClientHandler.postInit(); } } diff --git a/src/main/java/codechicken/nei/NEIServerUtils.java b/src/main/java/codechicken/nei/NEIServerUtils.java index 4fd3b3022..ea9acddc8 100644 --- a/src/main/java/codechicken/nei/NEIServerUtils.java +++ b/src/main/java/codechicken/nei/NEIServerUtils.java @@ -5,6 +5,8 @@ import codechicken.lib.inventory.InventoryRange; import codechicken.lib.inventory.InventoryUtils; import codechicken.lib.packet.PacketCustom; +import cpw.mods.fml.common.FMLLog; +import cpw.mods.fml.common.registry.GameRegistry; import net.minecraft.command.ICommandSender; import net.minecraft.enchantment.Enchantment; import net.minecraft.entity.player.EntityPlayer; @@ -14,6 +16,9 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompressedStreamTools; +import net.minecraft.nbt.JsonToNBT; +import net.minecraft.nbt.NBTBase; +import net.minecraft.nbt.NBTException; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.server.MinecraftServer; @@ -24,6 +29,7 @@ import net.minecraft.world.WorldServer; import net.minecraft.world.WorldSettings.GameType; import net.minecraftforge.oredict.OreDictionary; +import org.apache.logging.log4j.Level; import java.io.File; import java.io.FileInputStream; @@ -387,6 +393,50 @@ public static void logOnce(Throwable t, Set stackTraces, String message, } } + public static ItemStack getModdedItem(String itemId, String nbtString) { + int meta = -1; + ItemStack itemStack; + + if (!itemId.contains(":")) { + NEIClientConfig.logger.info(String.format("Item ID %s is missing colon", itemId)); + return null; + } + final String[] split = itemId.split(":"); + // ModID:ItemID + String itemLookupId = split[0] + ":" + split[1]; + + if (split.length >= 3) { + int mIdx = -1; + if (split[2].matches("\\d+")) { + mIdx = 2; + } else { + itemLookupId += ":" + split[2]; + if (split.length >= 4) mIdx = 3; + } + if (mIdx != -1) meta = Integer.parseInt(split[mIdx]); + } + + if (meta != -1) { + itemStack = GameRegistry.makeItemStack(itemLookupId, meta, 1, nbtString == null ? "" : nbtString); + } else { + itemStack = GameRegistry.findItemStack(split[0], split[1], 1); + if (nbtString != null && !nbtString.isEmpty()) { + try { + final NBTBase nbttag = JsonToNBT.func_150315_a(nbtString); + if (!(nbttag instanceof NBTTagCompound)) { + NEIClientConfig.logger.info("Unexpected NBT string - multiple values {}", nbtString); + return null; + } + itemStack.setTagCompound((NBTTagCompound) nbttag); + } catch (NBTException e) { + FMLLog.getLogger().log(Level.WARN, "Encountered an exception parsing ItemStack NBT string {}", nbtString, e); + return null; + } + } + } + return itemStack; + } + public static NBTTagCompound readNBT(File file) throws IOException { if(!file.exists()) return null; FileInputStream in = new FileInputStream(file); diff --git a/src/main/java/codechicken/nei/api/API.java b/src/main/java/codechicken/nei/api/API.java index b19fa0164..3ad47db7b 100644 --- a/src/main/java/codechicken/nei/api/API.java +++ b/src/main/java/codechicken/nei/api/API.java @@ -15,6 +15,7 @@ import codechicken.nei.api.ItemFilter.ItemFilterProvider; import codechicken.nei.config.Option; import codechicken.nei.config.OptionKeyBind; +import codechicken.nei.recipe.CatalystInfo; import codechicken.nei.recipe.GuiCraftingRecipe; import codechicken.nei.recipe.GuiUsageRecipe; import codechicken.nei.recipe.ICraftingHandler; @@ -299,45 +300,59 @@ public static void registerStackStringifyHandler(IStackStringifyHandler handler) * Allows players to see what ingredient they need to craft in order to make recipes from a recipe category. * @param stack the ingredient that can craft recipes (like a furnace or crafting table) * @param handler the recipe category handled by the ingredient + * @param priority higher priority comes first, default to 0 */ - public static void addRecipeCatalyst(ItemStack stack, IRecipeHandler handler) { - addRecipeCatalyst(Collections.singletonList(stack), handler); + public static void addRecipeCatalyst(ItemStack stack, IRecipeHandler handler, int priority) { + String handlerID = RecipeCatalysts.getRecipeID(handler); + addRecipeCatalyst(stack, handlerID, priority); } /** - * Adds an association between an ingredient and what it can craft. (i.e. Furnace ItemStack -> Smelting and Fuel Recipes) - * Allows players to see what ingredient they need to craft in order to make recipes from a recipe category. - * @param stacks the ingredients that can craft recipes (like a furnace or crafting table) - * @param handler the recipe category handled by the ingredient + * See {@link API#addRecipeCatalyst(ItemStack, IRecipeHandler, int)} */ - public static void addRecipeCatalyst(List stacks, IRecipeHandler handler) { - String handlerID = handler.getOverlayIdentifier(); - if (handlerID != null) { - addRecipeCatalyst(stacks, handler.getOverlayIdentifier()); - } - else { - NEIClientConfig.logger.warn(String.format("failed to add recipe catalyst, implement IRecipeHandler#getOverlayIdentifier for your handler %s", handler.getClass().getName())); - } + public static void addRecipeCatalyst(ItemStack stack, IRecipeHandler handler) { + addRecipeCatalyst(stack, handler, 0); } /** * Adds an association between an ingredient and what it can craft. (i.e. Furnace ItemStack -> Smelting and Fuel Recipes) * Allows players to see what ingredient they need to craft in order to make recipes from a recipe category. * @param stack the ingredient that can craft recipes (like a furnace or crafting table) - * @param handlerID recipe category identifier (see {@link IRecipeHandler#getOverlayIdentifier()}) + * @param handlerID recipe category identifier (see also {@link RecipeCatalysts#getRecipeID(IRecipeHandler)}) + * @param priority higher priority comes first, default to 0 */ - public static void addRecipeCatalyst(ItemStack stack, String handlerID) { - addRecipeCatalyst(Collections.singletonList(stack), handlerID); + public static void addRecipeCatalyst(ItemStack stack, String handlerID, int priority) { + RecipeCatalysts.addRecipeCatalyst(handlerID, new CatalystInfo(stack, priority)); } /** - * Adds an association between an ingredient and what it can craft. (i.e. Furnace ItemStack -> Smelting and Fuel Recipes) - * Allows players to see what ingredient they need to craft in order to make recipes from a recipe category. - * @param stacks the ingredients that can craft recipes (like a furnace or crafting table) - * @param handlerID recipe category identifier (see {@link IRecipeHandler#getOverlayIdentifier()}) + * See {@link API#addRecipeCatalyst(ItemStack, String, int)} */ + public static void addRecipeCatalyst(ItemStack stack, String handlerID) { + addRecipeCatalyst(stack, handlerID, 0); + } + + public static void removeRecipeCatalyst(ItemStack stack, IRecipeHandler handler) { + String handlerID = RecipeCatalysts.getRecipeID(handler); + removeRecipeCatalyst(stack, handlerID); + } + + public static void removeRecipeCatalyst(ItemStack stack, String handlerID) { + RecipeCatalysts.removeRecipeCatalyst(handlerID, stack); + } + + @Deprecated + public static void addRecipeCatalyst(List stacks, IRecipeHandler handler) { + for (ItemStack stack : stacks) { + addRecipeCatalyst(stack, handler); + } + } + + @Deprecated public static void addRecipeCatalyst(List stacks, String handlerID) { - RecipeCatalysts.addRecipeCatalyst(stacks, handlerID); + for (ItemStack stack : stacks) { + addRecipeCatalyst(stack, handlerID); + } } @Deprecated diff --git a/src/main/java/codechicken/nei/guihook/GuiContainerManager.java b/src/main/java/codechicken/nei/guihook/GuiContainerManager.java index d45fe8aa4..7b0fcf0da 100644 --- a/src/main/java/codechicken/nei/guihook/GuiContainerManager.java +++ b/src/main/java/codechicken/nei/guihook/GuiContainerManager.java @@ -194,7 +194,6 @@ public static void drawItem(int i, int j, ItemStack itemstack, FontRenderer font private static final HashSet stackTraces = new HashSet<>(); public static void drawItem(int i, int j, ItemStack itemstack, FontRenderer fontRenderer, boolean smallAmount) { - GL11.glPushAttrib(GL11.GL_ENABLE_BIT); enable3DRender(); float zLevel = drawItems.zLevel += 100F; try { @@ -230,7 +229,6 @@ public static void drawItem(int i, int j, ItemStack itemstack, FontRenderer font enable2DRender(); drawItems.zLevel = zLevel - 100; - GL11.glPopAttrib(); } //copy from appeng.client.render.AppEngRenderItem diff --git a/src/main/java/codechicken/nei/recipe/CatalystInfo.java b/src/main/java/codechicken/nei/recipe/CatalystInfo.java new file mode 100644 index 000000000..6ccc0adb8 --- /dev/null +++ b/src/main/java/codechicken/nei/recipe/CatalystInfo.java @@ -0,0 +1,21 @@ +package codechicken.nei.recipe; + +import net.minecraft.item.ItemStack; + +public class CatalystInfo { + private final ItemStack stack; + private final int priority; + + public CatalystInfo(ItemStack stack, int priority) { + this.stack = stack; + this.priority = priority; + } + + public ItemStack getStack() { + return stack; + } + + public int getPriority() { + return priority; + } +} diff --git a/src/main/java/codechicken/nei/recipe/CatalystInfoList.java b/src/main/java/codechicken/nei/recipe/CatalystInfoList.java new file mode 100644 index 000000000..9aa97705e --- /dev/null +++ b/src/main/java/codechicken/nei/recipe/CatalystInfoList.java @@ -0,0 +1,70 @@ +package codechicken.nei.recipe; + +import codechicken.nei.NEIClientConfig; +import codechicken.nei.NEIServerUtils; +import com.google.common.collect.ForwardingList; +import net.minecraft.item.ItemStack; + +import javax.annotation.Nonnull; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +// Do not directly extend ArrayList, see Effective Java Item 16 +public class CatalystInfoList extends ForwardingList { + private final String handlerID; + private final List catalystInfoList = new ArrayList<>(); + + public CatalystInfoList(String handlerID) { + this.handlerID = handlerID; + } + + public CatalystInfoList(String handlerID, CatalystInfo catalystInfo) { + this(handlerID); + add(catalystInfo); + } + + @Override + protected List delegate() { + return catalystInfoList; + } + + @Override + public boolean add(@Nonnull CatalystInfo catalystInfo) { + if (contains(catalystInfo)) { + NEIClientConfig.logger.info(String.format("catalyst %s is already registered to handler %s", catalystInfo.getStack().getDisplayName(), handlerID)); + return false; + } + super.add(catalystInfo); + return true; + } + + @Override + public boolean contains(Object object) { + if (object instanceof CatalystInfo) { + ItemStack stack = ((CatalystInfo) object).getStack(); + return contains(stack); + } + return false; + } + + public boolean contains(ItemStack stack) { + return catalystInfoList.stream().anyMatch(c -> NEIServerUtils.areStacksSameType(c.getStack(), stack)); + } + + public boolean remove(ItemStack stack) { + Iterator iter = catalystInfoList.iterator(); + while (iter.hasNext()) { + ItemStack next = iter.next().getStack(); + if (NEIServerUtils.areStacksSameType(next, stack)) { + iter.remove(); + return true; + } + } + return false; + } + + public void sort() { + super.sort((c1, c2) -> c2.getPriority() - c1.getPriority()); + } +} diff --git a/src/main/java/codechicken/nei/recipe/GuiRecipeTab.java b/src/main/java/codechicken/nei/recipe/GuiRecipeTab.java index 4dcf0d272..7f76f71c1 100644 --- a/src/main/java/codechicken/nei/recipe/GuiRecipeTab.java +++ b/src/main/java/codechicken/nei/recipe/GuiRecipeTab.java @@ -64,7 +64,7 @@ public GuiRecipeTab(GuiRecipe guiRecipe, IRecipeHandler handler, int x, int y) { this.handlerName = handler.getHandlerId(); this.guiRecipe = guiRecipe; this.selected = false; - + if(handler instanceof TemplateRecipeHandler) { handlerID = (((TemplateRecipeHandler)handler).getOverlayIdentifier()); } else { @@ -207,7 +207,7 @@ public static void loadHandlerInfo() { } else { File handlerFile = NEIClientConfig.handlerFile; if(!handlerFile.exists()) { - NEIClientConfig.logger.info("Config file doesn't exit, creating"); + NEIClientConfig.logger.info("Config file doesn't exist, creating"); try { assert handlerUrl != null; ReadableByteChannel readableByteChannel = Channels.newChannel(handlerUrl.openStream()); diff --git a/src/main/java/codechicken/nei/recipe/GuiUsageRecipe.java b/src/main/java/codechicken/nei/recipe/GuiUsageRecipe.java index 207baeafb..ddce7e98a 100644 --- a/src/main/java/codechicken/nei/recipe/GuiUsageRecipe.java +++ b/src/main/java/codechicken/nei/recipe/GuiUsageRecipe.java @@ -25,21 +25,14 @@ public static boolean openRecipeGui(String inputId, Object... ingredients) { profiler.start("recipe.concurrent.usage"); try { - handlers = serialUsageHandlers.stream().map(h -> h.getUsageHandler(inputId, ingredients)) + handlers = serialUsageHandlers.stream().map(h -> getUsageOrCatalystHandler(h, inputId, ingredients)) .filter(h -> h.numRecipes() > 0) .collect(Collectors.toCollection(ArrayList::new)); - if (NEIClientConfig.areJEIStyleRecipeCatalystsVisible()) { - handlers.addAll(ItemList.forkJoinPool.submit(() -> usagehandlers.parallelStream() - .map(h -> h.getUsageAndCatalystHandler(inputId, ingredients)) - .filter(h -> h.numRecipes() > 0) - .collect(Collectors.toCollection(ArrayList::new))).get()); - } else { - handlers.addAll(ItemList.forkJoinPool.submit(() -> usagehandlers.parallelStream() - .map(h -> h.getUsageHandler(inputId, ingredients)) - .filter(h -> h.numRecipes() > 0) - .collect(Collectors.toCollection(ArrayList::new))).get()); - } + handlers.addAll(ItemList.forkJoinPool.submit(() -> usagehandlers.parallelStream() + .map(h -> getUsageOrCatalystHandler(h, inputId, ingredients)) + .filter(h -> h.numRecipes() > 0) + .collect(Collectors.toCollection(ArrayList::new))).get()); } catch (InterruptedException | ExecutionException e) { e.printStackTrace(); return false; @@ -76,6 +69,15 @@ public ArrayList getCurrentRecipeHandlers() { return currenthandlers; } + private static IUsageHandler getUsageOrCatalystHandler(IUsageHandler handler, String inputId, Object... ingredients) { + boolean skipCatalyst = NEIClientUtils.controlKey(); + if (NEIClientConfig.areJEIStyleRecipeCatalystsVisible() && !skipCatalyst) { + return handler.getUsageAndCatalystHandler(inputId, ingredients); + } else { + return handler.getUsageHandler(inputId, ingredients); + } + } + public ArrayList currenthandlers; public static ArrayList usagehandlers = new ArrayList<>(); diff --git a/src/main/java/codechicken/nei/recipe/HandlerInfo.java b/src/main/java/codechicken/nei/recipe/HandlerInfo.java index bdc0ce6de..cec67886a 100644 --- a/src/main/java/codechicken/nei/recipe/HandlerInfo.java +++ b/src/main/java/codechicken/nei/recipe/HandlerInfo.java @@ -1,6 +1,7 @@ package codechicken.nei.recipe; import codechicken.nei.NEIClientConfig; +import codechicken.nei.NEIServerUtils; import codechicken.nei.drawable.DrawableBuilder; import codechicken.nei.drawable.DrawableResource; import cpw.mods.fml.common.FMLLog; @@ -53,48 +54,10 @@ public void setHandlerDimensions(int height, int width, int maxRecipesPerPage) { public boolean setItem(String itemId, String nbtString) { if(hasImageOrItem()) return false; - - int meta = -1; - if (!itemId.contains(":")) { - NEIClientConfig.logger.info("Item ID missing colon for handler " + handlerName + " - " + modName); - return false; - } - final String[] split = itemId.split(":"); - // ModID:ItemID - String itemLookupId = split[0] + ":" + split[1]; - - if(split.length >= 3) { - int mIdx = -1; - if (split[2].matches("\\d+")) { - mIdx = 2; - } else { - itemLookupId += ":" + split[2]; - if (split.length >= 4) mIdx = 3; - } - if (mIdx != -1) meta = Integer.parseInt(split[mIdx]); - } - if (meta != -1) { - itemStack = GameRegistry.makeItemStack(itemLookupId, meta, 1, nbtString == null ? "" : nbtString); - } else { - itemStack = GameRegistry.findItemStack(split[0], split[1], 1); - if (nbtString != null && !nbtString.equals("")) { - try { - final NBTBase nbttag = JsonToNBT.func_150315_a(nbtString); - if (!(nbttag instanceof NBTTagCompound)) { - NEIClientConfig.logger.info("Unexpected NBT string - multiple values {}", nbtString); - return false; - } - - itemStack.setTagCompound((NBTTagCompound) nbttag); - } catch (NBTException e) { - FMLLog.getLogger().log(Level.WARN, "Encountered an exception parsing ItemStack NBT string {}", nbtString, e); - return false; - } - } - } + itemStack = NEIServerUtils.getModdedItem(itemId, nbtString); if (itemStack == null) - NEIClientConfig.logger.info("Couldn't find " + modName + " - " + itemLookupId); + NEIClientConfig.logger.info("Couldn't find " + modName + " - " + itemId); else { this.itemId = itemId; this.nbtString = nbtString; diff --git a/src/main/java/codechicken/nei/recipe/RecipeCatalysts.java b/src/main/java/codechicken/nei/recipe/RecipeCatalysts.java index 3d343887b..53919ed40 100644 --- a/src/main/java/codechicken/nei/recipe/RecipeCatalysts.java +++ b/src/main/java/codechicken/nei/recipe/RecipeCatalysts.java @@ -3,8 +3,23 @@ import codechicken.nei.NEIClientConfig; import codechicken.nei.NEIServerUtils; import codechicken.nei.PositionedStack; +import com.google.common.base.Objects; +import cpw.mods.fml.common.Loader; import net.minecraft.item.ItemStack; +import org.apache.commons.csv.CSVFormat; +import org.apache.commons.csv.CSVParser; +import org.apache.commons.csv.CSVRecord; +import java.io.BufferedReader; +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStreamReader; +import java.net.MalformedURLException; +import java.net.URL; +import java.nio.channels.Channels; +import java.nio.channels.FileChannel; +import java.nio.channels.ReadableByteChannel; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; @@ -12,17 +27,24 @@ import java.util.Map; public class RecipeCatalysts { - private static final Map> recipeCatalystMap = new HashMap<>(); + private static final Map catalystsAdderFromAPI = new HashMap<>(); + private static final Map> catalystsRemoverFromAPI = new HashMap<>(); + private static final Map recipeCatalystMap = new HashMap<>(); private static Map> positionedRecipeCatalystMap = new HashMap<>(); + private static final List forceClassNameList = new ArrayList<>(); private static int heightCache; - public static void addRecipeCatalyst(List stacks, String handlerID) { - if (handlerID == null) return; - if (recipeCatalystMap.containsKey(handlerID)) { - recipeCatalystMap.get(handlerID).addAll(stacks); + public static void addRecipeCatalyst(String handlerID, CatalystInfo catalystInfo) { + if (handlerID == null || handlerID.isEmpty() || catalystInfo.getStack() == null) return; + addOrPut(catalystsAdderFromAPI, handlerID, catalystInfo); + } + + public static void removeRecipeCatalyst(String handlerID, ItemStack stack) { + if (handlerID == null || handlerID.isEmpty() || stack == null) return; + if (catalystsRemoverFromAPI.containsKey(handlerID)) { + catalystsRemoverFromAPI.get(handlerID).add(stack); } else { - // use ArrayList initializer to prevent UOE - recipeCatalystMap.put(handlerID, new ArrayList<>(stacks)); + catalystsRemoverFromAPI.put(handlerID, new ArrayList<>(Collections.singletonList(stack))); } } @@ -31,7 +53,7 @@ public static Map> getPositionedRecipeCatalystMap( } public static List getRecipeCatalysts(IRecipeHandler handler) { - return getRecipeCatalysts(handler.getOverlayIdentifier()); + return getRecipeCatalysts(getRecipeID(handler)); } public static List getRecipeCatalysts(String handlerID) { @@ -42,25 +64,28 @@ public static List getRecipeCatalysts(String handlerID) { } public static boolean containsCatalyst(IRecipeHandler handler, ItemStack candidate) { - return containsCatalyst(handler.getOverlayIdentifier(), candidate); + return containsCatalyst(getRecipeID(handler), candidate); } public static boolean containsCatalyst(String handlerID, ItemStack candidate) { - return recipeCatalystMap.getOrDefault(handlerID, Collections.emptyList()).stream() - .anyMatch(s -> NEIServerUtils.areStacksSameType(s, candidate)); + if (recipeCatalystMap.containsKey(handlerID)) { + return recipeCatalystMap.get(handlerID).contains(candidate); + } + return false; } - public static void updatePosition(int availableHeight) { - if (availableHeight == heightCache) return; + public static void updatePosition(int availableHeight, boolean force) { + if (availableHeight == heightCache && !force) return; Map> newMap = new HashMap<>(); - for (Map.Entry> entry : recipeCatalystMap.entrySet()) { - List catalysts = entry.getValue(); + for (Map.Entry entry : recipeCatalystMap.entrySet()) { + CatalystInfoList catalysts = entry.getValue(); + catalysts.sort(); List newStacks = new ArrayList<>(); int rowCount = getRowCount(availableHeight, catalysts.size()); for (int index = 0; index < catalysts.size(); index++) { - ItemStack catalyst = catalysts.get(index); + ItemStack catalyst = catalysts.get(index).getStack(); int column = index / rowCount; int row = index % rowCount; newStacks.add(new PositionedStack(catalyst, -column * GuiRecipeCatalyst.ingredientSize, row * GuiRecipeCatalyst.ingredientSize)); @@ -71,6 +96,10 @@ public static void updatePosition(int availableHeight) { heightCache = availableHeight; } + public static void updatePosition(int availableHeight) { + updatePosition(availableHeight, false); + } + public static int getHeight() { return heightCache; } @@ -85,6 +114,143 @@ public static int getRowCount(int availableHeight, int catalystsSize) { return NEIServerUtils.divideCeil(catalystsSize, columnCount); } + public static void loadCatalystInfo() { + final boolean fromJar = NEIClientConfig.loadCatalystsFromJar(); + NEIClientConfig.logger.info("Loading catalyst info from " + (fromJar ? "JAR" : "Config")); + recipeCatalystMap.clear(); + URL handlerUrl = Thread.currentThread().getContextClassLoader().getResource("assets/nei/csv/catalysts.csv"); + + URL url; + if (fromJar) { + url = handlerUrl; + if (url == null) { + NEIClientConfig.logger.warn("Invalid URL for catalysts csv."); + return; + } + } else { + File catalystFile = NEIClientConfig.catalystFile; + if(!catalystFile.exists()) { + NEIClientConfig.logger.info("Config file doesn't exist, creating"); + try { + assert handlerUrl != null; + ReadableByteChannel readableByteChannel = Channels.newChannel(handlerUrl.openStream()); + FileOutputStream fileOutputStream = new FileOutputStream(catalystFile.getAbsoluteFile()); + FileChannel fileChannel = fileOutputStream.getChannel(); + fileChannel.transferFrom(readableByteChannel, 0, Long.MAX_VALUE); + } catch (IOException e) { + e.printStackTrace(); + return; + } + } + try { + url = NEIClientConfig.catalystFile.toURI().toURL(); + } catch (MalformedURLException e) { + NEIClientConfig.logger.warn("Invalid URL for catalysts csv (via config)."); + e.printStackTrace(); + return; + } + } + try (BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream()))) { + CSVParser csvParser = CSVFormat.EXCEL.withFirstRecordAsHeader().parse(reader); + for (CSVRecord record : csvParser) { + final String handler = record.get("handler"); + final String modId = record.get("modId"); + final boolean requiresMod = Boolean.parseBoolean(record.get("modRequired")); + final String excludedModId = record.get("excludedModId"); + final int priority = intOrDefault(record.get("priority"), 0); + // todo + final String minVersion = record.get("minVersion"); + final String maxVersion = record.get("maxVersion"); + final boolean forceClassName = Boolean.parseBoolean(record.get("forceClassName")); + + if (requiresMod && !Loader.isModLoaded(modId)) continue; + if (excludedModId != null && Loader.isModLoaded(excludedModId)) continue; + + String itemName = record.get("itemName"); + if (itemName == null || itemName.isEmpty()) continue; + ItemStack stack = NEIServerUtils.getModdedItem(itemName, record.get("nbtInfo")); + if (stack == null) { + NEIClientConfig.logger.warn("Couldn't find ItemStack " + itemName); + continue; + } + CatalystInfo catalystInfo = new CatalystInfo(stack, priority); + + String handlerID; + try { + // gently handling copy&paste from handlers.csv + Class clazz = Class.forName(handler); + Object object = clazz.newInstance(); + if (object instanceof IRecipeHandler) { + if (forceClassName) { + forceClassNameList.add(handler); + } + handlerID = getRecipeID((IRecipeHandler) object); + } else { + handlerID = handler; + } + } catch (ClassNotFoundException ignored) { + handlerID = handler; + } catch (InstantiationException ignored) { + NEIClientConfig.logger.warn("failed to create instance for " + handler); + handlerID = handler; + } + + addOrPut(recipeCatalystMap, handlerID, catalystInfo); + } + } catch (Exception e) { + NEIClientConfig.logger.warn("Error parsing CSV"); + e.printStackTrace(); + } + + for (Map.Entry entry : catalystsAdderFromAPI.entrySet()) { + String handlerID = entry.getKey(); + for (CatalystInfo catalyst : entry.getValue()) { + addOrPut(recipeCatalystMap, handlerID, catalyst); + } + } + + for (Map.Entry> entry : catalystsRemoverFromAPI.entrySet()) { + String handlerID = entry.getKey(); + if (recipeCatalystMap.containsKey(handlerID)) { + CatalystInfoList catalysts = recipeCatalystMap.get(handlerID); + entry.getValue().forEach(catalysts::remove); + } + } + + updatePosition(getHeight(), true); + } + + /** + * Basically {@link NEIClientConfig#HANDLER_ID_FUNCTION}. + * Force using {@link IRecipeHandler#getHandlerId()} if specified in catalysts.csv. + * In other words, refuse to share handlerID defined in {@link TemplateRecipeHandler#getOverlayIdentifier()}. + */ + public static String getRecipeID(IRecipeHandler handler) { + if (forceClassNameList.stream().anyMatch(s -> s.equals(handler.getHandlerId()))) { + return handler.getHandlerId(); + } + return Objects.firstNonNull( + handler.getOverlayIdentifier(), + handler.getHandlerId()); + } + + private static void addOrPut(Map map, String handlerID, CatalystInfo catalyst) { + if (map.containsKey(handlerID)) { + map.get(handlerID).add(catalyst); + } else { + map.put(handlerID, new CatalystInfoList(handlerID, catalyst)); + } + } + + private static int intOrDefault(String str, int defaultValue) { + if (str == null || str.equals("")) return defaultValue; + try { + return Integer.parseInt(str); + } catch (NumberFormatException e) { + return defaultValue; + } + } + @Deprecated public static void addRecipeCatalyst(List stacks, Class handler) { } @@ -98,5 +264,4 @@ public static List getRecipeCatalysts(Class handler, ItemStack candidate) { return false; } - } diff --git a/src/main/java/codechicken/nei/recipe/RecipeInfo.java b/src/main/java/codechicken/nei/recipe/RecipeInfo.java index 85a13aef2..3be24411f 100644 --- a/src/main/java/codechicken/nei/recipe/RecipeInfo.java +++ b/src/main/java/codechicken/nei/recipe/RecipeInfo.java @@ -10,9 +10,6 @@ import net.minecraft.client.gui.inventory.GuiCrafting; import net.minecraft.client.gui.inventory.GuiFurnace; import net.minecraft.client.gui.inventory.GuiInventory; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.ItemStack; import java.util.HashMap; @@ -122,11 +119,6 @@ public static void load() API.registerRecipeHandler(new ProfilerRecipeHandler(true)); API.registerUsageHandler(new ProfilerRecipeHandler(false)); - - API.addRecipeCatalyst(new ItemStack(Blocks.crafting_table), "crafting"); - API.addRecipeCatalyst(new ItemStack(Blocks.furnace), new FurnaceRecipeHandler()); - API.addRecipeCatalyst(new ItemStack(Items.brewing_stand), new BrewingRecipeHandler()); - API.addRecipeCatalyst(new ItemStack(Blocks.furnace), new FuelRecipeHandler()); } } diff --git a/src/main/java/codechicken/nei/recipe/TemplateRecipeHandler.java b/src/main/java/codechicken/nei/recipe/TemplateRecipeHandler.java index 82fb93125..86f686258 100644 --- a/src/main/java/codechicken/nei/recipe/TemplateRecipeHandler.java +++ b/src/main/java/codechicken/nei/recipe/TemplateRecipeHandler.java @@ -567,6 +567,7 @@ public IUsageHandler getUsageAndCatalystHandler(String inputId, Object... ingred return handler; } } + NEIClientConfig.logger.info("failed to load catalyst handler, implement `loadTransferRects` for your handler " + handler.getClass().getName()); } } return this.getUsageHandler(inputId, ingredients); diff --git a/src/main/resources/assets/nei/csv/catalysts.csv b/src/main/resources/assets/nei/csv/catalysts.csv new file mode 100644 index 000000000..c946863c7 --- /dev/null +++ b/src/main/resources/assets/nei/csv/catalysts.csv @@ -0,0 +1,1114 @@ +handler,itemName,nbtInfo,modId,modRequired,excludedModId,priority,minVersion,maxVersion,forceClassName,itemNotes +crafting,minecraft:crafting_table,,minecraft,FALSE,,100,,,, +smelting,minecraft:furnace,,minecraft,FALSE,,100,,,, +codechicken.nei.recipe.BrewingRecipeHandler,minecraft:brewing_stand,,minecraft,FALSE,,100,,,, +codechicken.nei.recipe.FuelRecipeHandler,minecraft:furnace,,minecraft,FALSE,,100,,,, +advsolar.client.nei.MTRecipeHandler,AdvancedSolarPanel:BlockMolecularTransformer,,AdvancedSolarPanel,TRUE,,,,,, +crafting,appliedenergistics2:item.ItemMultiPart:360,,appliedenergistics2,TRUE,,,,,, +appeng.integration.modules.NEIHelpers.NEIGrinderRecipeHandler,appliedenergistics2:tile.BlockGrinder,,appliedenergistics2,TRUE,dreamcraft,,,,, +appeng.integration.modules.NEIHelpers.NEIInscriberRecipeHandler,appliedenergistics2:tile.BlockInscriber,,appliedenergistics2,TRUE,,,,,, +fox.spiteful.avaritia.compat.nei.CompressionHandler,Avaritia:Neutronium_Compressor,,Avaritia,TRUE,,,,,, +extreme,Avaritia:Dire_Crafting,,Avaritia,TRUE,,,,,, +extreme,avaritiaddons:ExtremeAutoCrafter,,avaritiaddons,TRUE,,,,,, +WayofTime.alchemicalWizardry.client.nei.NEIAlchemyRecipeHandler,AWWayofTime:blockWritingTable,,AWWayofTime,TRUE,,,,,, +WayofTime.alchemicalWizardry.client.nei.NEIAltarRecipeHandler,AWWayofTime:Altar,,AWWayofTime,TRUE,,,,,, +crafting,BuildCraft|Factory:autoWorkbenchBlock,,BuildCraft|Factory,TRUE,,,,,, +buildcraft.compat.nei.RecipeHandlerRefinery,BuildCraft|Factory:refineryBlock,,BuildCraft|Factory,TRUE,,,,,, +buildcraft.compat.nei.RecipeHandlerAssemblyTable,BuildCraft|Silicon:laserTableBlock,,BuildCraft|Silicon,TRUE,,,,,, +buildcraft.compat.nei.RecipeHandlerIntegrationTable,BuildCraft|Silicon:laserTableBlock:2,,BuildCraft|Silicon,TRUE,,,,,, +team.chisel.compat.nei.RecipeHandlerChisel,chisel:chisel,,chisel,TRUE,,,,,, +team.chisel.compat.nei.RecipeHandlerChisel,chisel:diamondChisel,,chisel,TRUE,,,,,, +team.chisel.compat.nei.RecipeHandlerChisel,chisel:obsidianChisel,,chisel,TRUE,,,,,, +team.chisel.compat.nei.RecipeHandlerChisel,chisel:netherStarChisel,,chisel,TRUE,,,,,, +team.chisel.compat.nei.RecipeHandlerChisel,chisel:autoChisel,,chisel,TRUE,,,,,, +crafting,EnderIO:blockCrafter,,EnderIO,TRUE,,,,,, +crafting,EnderIO:blockInventoryPanel,,EnderIO,TRUE,,,,,, +smelting,EnderIO:blockAlloySmelter,,EnderIO,TRUE,,,,,, +crazypants.enderio.nei.AlloySmelterRecipeHandler,EnderIO:blockAlloySmelter,,EnderIO,TRUE,,,,,, +crazypants.enderio.nei.EnchanterRecipeHandler,EnderIO:blockEnchanter,,EnderIO,TRUE,,,,,, +crazypants.enderio.nei.SagMillRecipeHandler,EnderIO:blockSagMill,,EnderIO,TRUE,,,,,, +crazypants.enderio.nei.SliceAndSpliceRecipeHandler,EnderIO:blockSliceAndSplice,,EnderIO,TRUE,,,,,, +crazypants.enderio.nei.SoulBinderRecipeHandler,EnderIO:blockSoulBinder,,EnderIO,TRUE,,,,,, +crazypants.enderio.nei.VatRecipeHandler,EnderIO:blockVat,,EnderIO,TRUE,,,,,, +com.rwtema.extrautils.nei.EnderConstructorHandler,ExtraUtilities:endConstructor,,ExtraUtilities,TRUE,,,,,, +com.rwtema.extrautils.nei.EnderConstructorHandler,ExtraUtilities:endConstructor:2,,ExtraUtilities,TRUE,,,,,, +crafting,Forestry:factory2:2,,Forestry,TRUE,,10,,,, +forestry.factory.recipes.nei.NEIHandlerBottler,Forestry:factory,,Forestry,TRUE,,,,,, +forestry.factory.recipes.nei.NEIHandlerCarpenter,Forestry:factory:1,,Forestry,TRUE,,,,,, +forestry.factory.recipes.nei.NEIHandlerCentrifuge,Forestry:factory:2,,Forestry,TRUE,,,,,, +forestry.factory.recipes.nei.NEIHandlerFabricator,Forestry:factory2,,Forestry,TRUE,,,,,, +forestry.factory.recipes.nei.NEIHandlerFermenter,Forestry:factory:3,,Forestry,TRUE,,,,,, +forestry.factory.recipes.nei.NEIHandlerMoistener,Forestry:factory:4,,Forestry,TRUE,,,,,, +forestry.factory.recipes.nei.NEIHandlerSqueezer,Forestry:factory:5,,Forestry,TRUE,,,,,, +forestry.factory.recipes.nei.NEIHandlerStill,Forestry:factory:6,,Forestry,TRUE,,,,,, +galaxyspace.core.nei.rocket.RocketT1RecipeHandler,GalacticraftCore:tile.rocketWorkbench,,GalacticraftCore,TRUE,,,,,, +micdoodle8.mods.galacticraft.core.nei.BuggyRecipeHandler,GalacticraftCore:tile.rocketWorkbench,,GalacticraftCore,TRUE,,,,,, +micdoodle8.mods.galacticraft.core.nei.BuggyRecipeHandler,GalacticraftCore:item.schematic:0,,GalacticraftCore,TRUE,,,,,, +micdoodle8.mods.galacticraft.core.nei.CircuitFabricatorRecipeHandler,GalacticraftCore:tile.machine2:4,,GalacticraftCore,TRUE,,,,,, +micdoodle8.mods.galacticraft.core.nei.ElectricIngotCompressorRecipeHandler,GalacticraftCore:tile.machine2,,GalacticraftCore,TRUE,,,,,,not in GTNH +micdoodle8.mods.galacticraft.core.nei.IngotCompressorRecipeHandler,GalacticraftCore:tile.machine:12,,GalacticraftCore,TRUE,,,,,,not in GTNH +micdoodle8.mods.galacticraft.core.nei.RefineryRecipeHandler,GalacticraftCore:tile.refinery,,GalacticraftCore,TRUE,,,,,, +micdoodle8.mods.galacticraft.planets.asteroids.nei.AstroMinerRecipeHandler,GalacticraftCore:tile.rocketWorkbench,,GalacticraftCore,TRUE,,,,,, +micdoodle8.mods.galacticraft.planets.asteroids.nei.AstroMinerRecipeHandler,GalacticraftMars:item.schematic:2,,GalacticraftCore,TRUE,,,,,, +micdoodle8.mods.galacticraft.planets.mars.nei.CargoRocketRecipeHandler,GalacticraftCore:tile.rocketWorkbench,,GalacticraftCore,TRUE,,,,,, +micdoodle8.mods.galacticraft.planets.mars.nei.CargoRocketRecipeHandler,GalacticraftMars:item.schematic:1,,GalacticraftCore,TRUE,,,,,, +micdoodle8.mods.galacticraft.planets.mars.nei.GasLiquefierRecipeHandler,GalacticraftMars:tile.marsMachineT2,,GalacticraftCore,TRUE,,,,,,not in GTNH +micdoodle8.mods.galacticraft.planets.mars.nei.MethaneSynthesizerRecipeHandler,GalacticraftMars:tile.marsMachineT2:4,,GalacticraftCore,TRUE,,,,,,not in GTNH +galaxyspace.core.nei.rocket.RocketT2RecipeHandler,GalacticraftCore:tile.rocketWorkbench,,GalacticraftMars,TRUE,,,,,, +galaxyspace.core.nei.rocket.RocketT2RecipeHandler,GalacticraftCore:item.schematic:1,,GalacticraftMars,TRUE,,,,,, +galaxyspace.core.nei.rocket.RocketT3RecipeHandler,GalacticraftCore:tile.rocketWorkbench,,GalacticraftMars,TRUE,,,,,, +galaxyspace.core.nei.rocket.RocketT3RecipeHandler,GalacticraftMars:item.schematic:0,,GalacticraftMars,TRUE,,,,,, +galaxyspace.core.nei.AssemblyMachineRecipeHandler,GalaxySpace:assemblymachine,,GalaxySpace,TRUE,,,,,,not tested +galaxyspace.core.nei.rocket.RocketT4RecipeHandler,GalacticraftCore:tile.rocketWorkbench,,GalaxySpace,TRUE,,,,,, +galaxyspace.core.nei.rocket.RocketT4RecipeHandler,GalaxySpace:item.SchematicTier4,,GalaxySpace,TRUE,,,,,, +galaxyspace.core.nei.rocket.RocketT5RecipeHandler,GalacticraftCore:tile.rocketWorkbench,,GalaxySpace,TRUE,,,,,, +galaxyspace.core.nei.rocket.RocketT5RecipeHandler,GalaxySpace:item.SchematicTier5,,GalaxySpace,TRUE,,,,,, +galaxyspace.core.nei.rocket.RocketT6RecipeHandler,GalacticraftCore:tile.rocketWorkbench,,GalaxySpace,TRUE,,,,,, +galaxyspace.core.nei.rocket.RocketT6RecipeHandler,GalaxySpace:item.SchematicTier6,,GalaxySpace,TRUE,,,,,, +galaxyspace.core.nei.rocket.RocketT7RecipeHandler,GalacticraftCore:tile.rocketWorkbench,,GalaxySpace,TRUE,,,,,, +galaxyspace.core.nei.rocket.RocketT7RecipeHandler,GalaxySpace:item.SchematicTier7,,GalaxySpace,TRUE,,,,,, +galaxyspace.core.nei.rocket.RocketT8RecipeHandler,GalacticraftCore:tile.rocketWorkbench,,GalaxySpace,TRUE,,,,,, +galaxyspace.core.nei.rocket.RocketT8RecipeHandler,GalaxySpace:item.SchematicTier8,,GalaxySpace,TRUE,,,,,, +net.bdew.gendustry.nei.ExtractorHandler,gendustry:Extractor,,gendustry,TRUE,,,,,, +net.bdew.gendustry.nei.ImprinterHandler,gendustry:Imprinter,,gendustry,TRUE,,,,,, +net.bdew.gendustry.nei.LiquifierHandler,gendustry:Liquifier,,gendustry,TRUE,,,,,, +net.bdew.gendustry.nei.MutagenProducerHandler,gendustry:MutagenProducer,,gendustry,TRUE,,,,,, +net.bdew.gendustry.nei.MutatronHandler,gendustry:Mutatron,,gendustry,TRUE,,,,,, +net.bdew.gendustry.nei.MutatronHandler,gendustry:MutatronAdv,,gendustry,TRUE,,,,,, +net.bdew.gendustry.nei.ReplicatorHandler,gendustry:Replicator,,gendustry,TRUE,,,,,, +net.bdew.gendustry.nei.SamplerHandler,gendustry:Sampler,,gendustry,TRUE,,,,,, +net.bdew.gendustry.nei.TransposerHandler,gendustry:Transposer,,gendustry,TRUE,,,,,, +smelting,IC2:blockMachine:1,,IC2,TRUE,,,,,, +smelting,IC2:blockMachine:2,,IC2,TRUE,,,,,, +smelting,IC2:blockMachine:13,,IC2,TRUE,,,,,, +ic2.neiIntegration.core.recipehandler.BlastFurnaceRecipeHandler,IC2:blockMachine3:1,,IC2,TRUE,,,,,, +ic2.neiIntegration.core.recipehandler.BlockCutterRecipeHandler,IC2:blockMachine3:2,,IC2,TRUE,,,,,, +ic2.neiIntegration.core.recipehandler.CentrifugeRecipeHandler,IC2:blockMachine2:3,,IC2,TRUE,,,,,, +ic2.neiIntegration.core.recipehandler.CompressorRecipeHandler,IC2:blockMachine:5,,IC2,TRUE,,,,,, +ic2.neiIntegration.core.recipehandler.ExtractorRecipeHandler,IC2:blockMachine:4,,IC2,TRUE,,,,,, +ic2.neiIntegration.core.recipehandler.FluidCannerRecipeHandler,IC2:blockMachine:6,,IC2,TRUE,,,,,, +ic2.neiIntegration.core.recipehandler.LatheRecipeHandler,IC2:blockMachine3:8,,IC2,TRUE,,,,,, +ic2.neiIntegration.core.recipehandler.MaceratorRecipeHandler,IC2:blockMachine:3,,IC2,TRUE,,,,,, +metalformer,IC2:blockMachine2:4,,IC2,TRUE,,,,,, +ic2.neiIntegration.core.recipehandler.OreWashingRecipeHandler,IC2:blockMachine2:5,,IC2,TRUE,,,,,TRUE, +ic2.neiIntegration.core.recipehandler.SolidCannerRecipeHandler,IC2:blockMachine2:9,,IC2,TRUE,,,,,, +tonius.neiintegration.mods.harvestcraft.RecipeHandlerApiary,harvestcraft:apiary,,harvestcraft,TRUE,,,,,, +tonius.neiintegration.mods.harvestcraft.RecipeHandlerChurn,harvestcraft:churn,,harvestcraft,TRUE,,,,,, +tonius.neiintegration.mods.harvestcraft.RecipeHandlerOven,harvestcraft:oven,,harvestcraft,TRUE,,,,,, +tonius.neiintegration.mods.harvestcraft.RecipeHandlerPresser,harvestcraft:presser,,harvestcraft,TRUE,,,,,, +tonius.neiintegration.mods.harvestcraft.RecipeHandlerQuern,harvestcraft:quern,,harvestcraft,TRUE,,,,,, +smelting,Railcraft:machine.alpha:3,,Railcraft,TRUE,,,,,, +tonius.neiintegration.mods.railcraft.RecipeHandlerBlastFurnace,Railcraft:machine.alpha:12,,Railcraft,TRUE,,,,,, +tonius.neiintegration.mods.railcraft.RecipeHandlerCokeOven,Railcraft:machine.alpha:7,,Railcraft,TRUE,,,,,, +tonius.neiintegration.mods.railcraft.RecipeHandlerRockCrusher,Railcraft:machine.alpha:15,,Railcraft,TRUE,,,,,, +tonius.neiintegration.mods.railcraft.RecipeHandlerRollingMachineShaped,Railcraft:machine.alpha:8,,Railcraft,TRUE,,,,,, +tonius.neiintegration.mods.railcraft.RecipeHandlerRollingMachineShapeless,Railcraft:machine.alpha:8,,Railcraft,TRUE,,,,,, +lumien.randomthings.Handler.ModCompability.NEI.ImbuingStationRecipeHandler,RandomThings:imbuingStation,,RandomThings,TRUE,,,,,, +com.djgiannuzz.thaumcraftneiplugin.nei.recipehandler.ArcaneShapedRecipeHandler,Thaumcraft:blockTable:15,,Thaumcraft,TRUE,,,,,, +com.djgiannuzz.thaumcraftneiplugin.nei.recipehandler.ArcaneShapelessRecipeHandler,Thaumcraft:blockTable:15,,Thaumcraft,TRUE,,,,,, +com.djgiannuzz.thaumcraftneiplugin.nei.recipehandler.CrucibleRecipeHandler,Thaumcraft:blockMetalDevice,,Thaumcraft,TRUE,,,,,, +com.djgiannuzz.thaumcraftneiplugin.nei.recipehandler.InfusionRecipeHandler,Thaumcraft:blockStoneDevice:2,,Thaumcraft,TRUE,,,,,, +ru.timeconqueror.tcneiadditions.nei.arcaneworkbench.ArcaneCraftingShapedHandler,Thaumcraft:blockTable:15,,Thaumcraft,TRUE,thaumcraftneiplugin,,,,, +crafting,TConstruct:CraftingStation,,TConstruct,TRUE,,,,,, +crafting,TConstruct:CraftingSlab,,TConstruct,TRUE,,,,,, +tconstruct.plugins.nei.RecipeHandlerAlloying,TConstruct:Smeltery,,TConstruct,TRUE,,,,,, +tconstruct.plugins.nei.RecipeHandlerCastingBasin,TConstruct:SearedBlock:2,,TConstruct,TRUE,,,,,, +tconstruct.plugins.nei.RecipeHandlerCastingTable,TConstruct:SearedBlock,,TConstruct,TRUE,,,,,, +tconstruct.plugins.nei.RecipeHandlerDryingRack,TConstruct:Armor.DryingRack,,TConstruct,TRUE,,,,,, +tconstruct.plugins.nei.RecipeHandlerMelting,TConstruct:Smeltery,,TConstruct,TRUE,,,,,, +alkalus.main.nei.NEI_Handler_Cauldron,witchery:cauldron,,WitcheryExtras,TRUE,,,,,, +alkalus.main.nei.NEI_Handler_Distillery,witchery:distilleryidle,,WitcheryExtras,TRUE,,,,,, +alkalus.main.nei.NEI_Handler_Kettle,witchery:kettle,,WitcheryExtras,TRUE,,,,,, +alkalus.main.nei.NEI_Handler_Oven,witchery:witchesovenidle,,WitcheryExtras,TRUE,,,,,, +alkalus.main.nei.NEI_Handler_SpinningWheel,witchery:spinningwheel,,WitcheryExtras,TRUE,,,,,, +com.emoniph.witchery.integration.NEICauldronRecipeHandler,witchery:cauldron,,witchery,TRUE,WitcheryExtras,,,,, +com.emoniph.witchery.integration.NEIDistilleryRecipeHandler,witchery:distilleryidle,,witchery,TRUE,WitcheryExtras,,,,, +com.emoniph.witchery.integration.NEIKettleRecipeHandler,witchery:kettle,,witchery,TRUE,WitcheryExtras,,,,,not working well +com.emoniph.witchery.integration.NEISpinningWheelRecipeHandler,witchery:spinningwheel,,witchery,TRUE,WitcheryExtras,,,,, +com.emoniph.witchery.integration.NEIWitchesOvenRecipeHandler,witchery:witchesovenidle,,witchery,TRUE,WitcheryExtras,,,,,not working well +witchinggadgets.client.nei.NEISpinningWheelHandler,WitchingGadgets:WG_WoodenDevice,,WitchingGadgets,TRUE,,,,,, +gt.recipe.anvil,gregtech:gt.multitileentity:32031,,gregapi_post,TRUE,,,,,,All GT6 catalysts listed below are automatically converted from handlers.csv and untested. Feel free to make changes and submit PRs. +gt.recipe.anvil.bend.big,gregtech:gt.multitileentity:32031,,gregapi_post,TRUE,,,,,, +gt.recipe.anvil.bend.small,gregtech:gt.multitileentity:32031,,gregapi_post,TRUE,,,,,, +gt.recipe.aquaticfarm,gregtech:gt.multitileentity:17131,,gregapi_post,TRUE,,,,,, +gt.recipe.assembler,gregtech:gt.multitileentity:20621,,gregapi_post,TRUE,,,,,, +gt.recipe.autoclave,gregtech:gt.multitileentity:22004,,gregapi_post,TRUE,,,,,, +gt.recipe.bath,gregtech:gt.multitileentity:22002,,gregapi_post,TRUE,,,,,, +gt.recipe.bedrockorelist,gregtech:gt.multitileentity:17999,,gregapi_post,TRUE,,,,,, +gt.recipe.biolab,gregtech:gt.multitileentity:17127,,gregapi_post,TRUE,,,,,, +gt.recipe.boxinator,gregtech:gt.multitileentity:20581,,gregapi_post,TRUE,,,,,, +gt.recipe.bumblelyzer,gregtech:gt.multitileentity:20541,,gregapi_post,TRUE,,,,,, +gt.recipe.bumblequeen,gregtech:gt.multiitem.bumblebee:1,"{""gt.bumble"": {}}",gregapi_post,TRUE,,,,,, +gt.recipe.burnmixer,gregtech:gt.multitileentity:20521,,gregapi_post,TRUE,,,,,, +gt.recipe.byproductlist,minecraft:diamond_ore,,gregapi_post,TRUE,,,,,, +gt.recipe.canner,gregtech:gt.multitileentity:20161,,gregapi_post,TRUE,,,,,, +gt.recipe.catalyticcracking,gregtech:gt.multitileentity:20481,,gregapi_post,TRUE,,,,,, +gt.recipe.centrifuge,gregtech:gt.multitileentity:20081,,gregapi_post,TRUE,,,,,, +gt.recipe.clustermill,gregtech:gt.multitileentity:20141,,gregapi_post,TRUE,,,,,, +gt.recipe.coagulator,gregtech:gt.multitileentity:22000,,gregapi_post,TRUE,,,,,, +gt.recipe.cokeoven,gregtech:gt.multitileentity:17000,,gregapi_post,TRUE,,,,,, +gt.recipe.compressor,gregtech:gt.multitileentity:20101,,gregapi_post,TRUE,,,,,, +gt.recipe.crackingtower,gregtech:gt.multitileentity:17115,,gregapi_post,TRUE,,,,,, +gt.recipe.cruciblealloying,gregtech:gt.multitileentity:1005,,gregapi_post,TRUE,,,,,, +gt.recipe.cruciblesmelting,gregtech:gt.multitileentity:1005,,gregapi_post,TRUE,,,,,, +gt.recipe.crusher,gregtech:gt.multitileentity:20021,,gregapi_post,TRUE,,,,,, +gt.recipe.cryodistillationtower,gregtech:gt.multitileentity:17111,,gregapi_post,TRUE,,,,,, +gt.recipe.cryomixer,gregtech:gt.multitileentity:20571,,gregapi_post,TRUE,,,,,, +gt.recipe.crystallisationcrucible,gregtech:gt.multitileentity:20251,,gregapi_post,TRUE,,,,,, +gt.recipe.cutter,gregtech:gt.multitileentity:20061,,gregapi_post,TRUE,,,,,, +gt.recipe.debarker,gregtech:gt.multitileentity:20551,,gregapi_post,TRUE,,,,,, +gt.recipe.distillationtower,gregtech:gt.multitileentity:20191,,gregapi_post,TRUE,,,,,, +gt.recipe.distillery,gregtech:gt.multitileentity:20191,,gregapi_post,TRUE,,,,,, +gt.recipe.drying,gregtech:gt.multitileentity:20311,,gregapi_post,TRUE,,,,,, +gt.recipe.electrolyzer,gregtech:gt.multitileentity:20091,,gregapi_post,TRUE,,,,,, +gt.recipe.extruder,gregtech:gt.multitileentity:20202,,gregapi_post,TRUE,,,,,, +gt.recipe.fermenter,gregtech:gt.multitileentity:22003,,gregapi_post,TRUE,,,,,, +gt.recipe.fluidsolidifier,gregtech:gt.multitileentity:20611,,gregapi_post,TRUE,,,,,, +gt.recipe.freezer,gregtech:gt.multitileentity:20561,,gregapi_post,TRUE,,,,,, +gt.recipe.fuels.burn,gregtech:gt.multitileentity:1109,,gregapi_post,TRUE,,,,,, +gt.recipe.fuels.engine,gregtech:gt.multitileentity:9147,,gregapi_post,TRUE,,,,,, +gt.recipe.fuels.fluidbed,gregtech:gt.multitileentity:9009,,gregapi_post,TRUE,,,,,, +gt.recipe.fuels.gas,gregtech:gt.multitileentity:1609,,gregapi_post,TRUE,,,,,, +gt.recipe.fuels.plasma,gregtech:gt.multitileentity:17251,,gregapi_post,TRUE,,,,,, +gt.recipe.fuels.turbine,gregtech:gt.multitileentity:17231,,gregapi_post,TRUE,,,,,, +gt.recipe.fusionreactor,gregtech:gt.multitileentity:17198,,gregapi_post,TRUE,,,,,, +gt.recipe.generifier,gregtech:gt.multitileentity:22001,,gregapi_post,TRUE,,,,,, +gt.recipe.heatmixer,gregtech:gt.multitileentity:20506,,gregapi_post,TRUE,,,,,, +gt.recipe.implosioncompressor,gregtech:gt.multitileentity:17110,,gregapi_post,TRUE,,,,,, +gt.recipe.incubator,gregtech:gt.multitileentity:22005,,gregapi_post,TRUE,,,,,, +gt.recipe.injector,gregtech:gt.multitileentity:20261,,gregapi_post,TRUE,,,,,, +gt.recipe.ionizer,gregtech:gt.multitileentity:17315,,gregapi_post,TRUE,,,,,, +gt.recipe.juicer,gregtech:gt.multitileentity:32722,,gregapi_post,TRUE,,,,,, +gt.recipe.laminator,gregtech:gt.multitileentity:20391,,gregapi_post,TRUE,,,,,, +gt.recipe.lasercutter,gregtech:gt.multitileentity:20631,,gregapi_post,TRUE,,,,,, +gt.recipe.laserengraver,gregtech:gt.multitileentity:20321,,gregapi_post,TRUE,,,,,, +gt.recipe.lathe,gregtech:gt.multitileentity:20041,,gregapi_post,TRUE,,,,,, +gt.recipe.lightning,gregtech:gt.multitileentity:20501,,gregapi_post,TRUE,,,,,, +gt.recipe.loom,gregtech:gt.multitileentity:20211,,gregapi_post,TRUE,,,,,, +gt.recipe.magneticseparator,gregtech:gt.multitileentity:20301,,gregapi_post,TRUE,,,,,, +gt.recipe.maskaligner,gregtech:gt.multitileentity:17122,,gregapi_post,TRUE,,,,,, +gt.recipe.massfab,gregtech:gt.multitileentity:20411,,gregapi_post,TRUE,,,,,, +gt.recipe.mixer,gregtech:gt.multitileentity:20181,,gregapi_post,TRUE,,,,,, +gt.recipe.mortar,gregtech:gt.multitileentity:32735,,gregapi_post,TRUE,,,,,, +gt.recipe.nanofab,gregtech:gt.multitileentity:20441,,gregapi_post,TRUE,,,,,, +gt.recipe.oilcleaner,gregtech:gt.multitileentity:17116,,gregapi_post,TRUE,,,,,, +gt.recipe.particlecollider,gregtech:gt.multitileentity:17200,,gregapi_post,TRUE,,,,,, +gt.recipe.plantalyzer,gregtech:gt.multitileentity:20531,,gregapi_post,TRUE,,,,,, +gt.recipe.polarizer,gregtech:gt.multitileentity:20221,,gregapi_post,TRUE,,,,,, +gt.recipe.press,gregtech:gt.multitileentity:20231,,gregapi_post,TRUE,,,,,, +gt.recipe.printer,gregtech:gt.multitileentity:20271,,gregapi_post,TRUE,,,,,, +gt.recipe.replicator,gregtech:gt.multitileentity:20431,,gregapi_post,TRUE,,,,,, +gt.recipe.roaster,gregtech:gt.multitileentity:20171,,gregapi_post,TRUE,,,,,, +gt.recipe.rollbender,gregtech:gt.multitileentity:20121,,gregapi_post,TRUE,,,,,, +gt.recipe.rollformer,gregtech:gt.multitileentity:20131,,gregapi_post,TRUE,,,,,, +gt.recipe.rollingmill,gregtech:gt.multitileentity:20111,,gregapi_post,TRUE,,,,,, +gt.recipe.scannermolecular,gregtech:gt.multitileentity:20423,,gregapi_post,TRUE,,,,,, +gt.recipe.scannervisuals,gregtech:gt.multitileentity:20281,,gregapi_post,TRUE,,,,,, +gt.recipe.sharpener,gregtech:gt.multitileentity:20511,,gregapi_post,TRUE,,,,,, +gt.recipe.shredder,gregtech:gt.multitileentity:20011,,gregapi_post,TRUE,,,,,, +gt.recipe.sifter,gregtech:gt.multitileentity:20051,,gregapi_post,TRUE,,,,,, +gt.recipe.slicer,gregtech:gt.multitileentity:20381,,gregapi_post,TRUE,,,,,, +gt.recipe.sluice,gregtech:gt.multitileentity:20291,,gregapi_post,TRUE,,,,,, +gt.recipe.smelter,gregtech:gt.multitileentity:20241,,gregapi_post,TRUE,,,,,, +gt.recipe.squeezer,gregtech:gt.multitileentity:20071,,gregapi_post,TRUE,,,,,, +gt.recipe.steamcracking,gregtech:gt.multitileentity:20491,,gregapi_post,TRUE,,,,,, +gt.recipe.toolhead,gregtech:gt.meta.toolHeadPickaxe:260,,gregapi_post,TRUE,,,,,, +gt.recipe.unboxinator,gregtech:gt.multitileentity:20591,,gregapi_post,TRUE,,,,,, +gt.recipe.welder,gregtech:gt.multitileentity:20331,,gregapi_post,TRUE,,,,,, +gt.recipe.well,gregtech:gt.multitileentity:17124,,gregapi_post,TRUE,,,,,, +gt.recipe.wiremill,gregtech:gt.multitileentity:20151,,gregapi_post,TRUE,,,,,, +smelting,gregtech:gt.multitileentity:20001,,gregapi_post,TRUE,,,,,, +gt.recipe.trees,minecraft:sapling,,gregapi_post,TRUE,,,,,,GT6 end +crafting,ProjectE:item.pe_philosophers_stone,,ProjectE,TRUE,,,,,, +moze_intel.projecte.integration.NEI.NEIWorldTransmuteHandler,ProjectE:item.pe_philosophers_stone,,ProjectE,TRUE,,,,,, +de.katzenpapst.amunra.nei.recipehandler.ARCircuitFab,GalacticraftCore:tile.machine2:4,,GalacticraftAmunRa,TRUE,,,,,,not tested +de.katzenpapst.amunra.nei.recipehandler.ARNasaWorkbenchShuttle,GalacticraftCore:tile.rocketWorkbench,,GalacticraftAmunRa,TRUE,,,,,,not tested +crafting,Botania:autocraftingHalo,,Botania,TRUE,,,,,, +crafting,Botania:craftingHalo,,Botania,TRUE,,,,,, +crafting,Botania:openCrate:1,,Botania,TRUE,,,,,, +vazkii.botania.client.integration.nei.recipe.RecipeHandlerPetalApothecary,Botania:altar,,Botania,TRUE,,,,,, +vazkii.botania.client.integration.nei.recipe.RecipeHandlerPetalApothecary,Botania:altar:1,,Botania,TRUE,,,,,, +vazkii.botania.client.integration.nei.recipe.RecipeHandlerPetalApothecary,Botania:altar:2,,Botania,TRUE,,,,,, +vazkii.botania.client.integration.nei.recipe.RecipeHandlerPetalApothecary,Botania:altar:3,,Botania,TRUE,,,,,, +vazkii.botania.client.integration.nei.recipe.RecipeHandlerPetalApothecary,Botania:altar:4,,Botania,TRUE,,,,,, +vazkii.botania.client.integration.nei.recipe.RecipeHandlerPetalApothecary,Botania:altar:5,,Botania,TRUE,,,,,, +vazkii.botania.client.integration.nei.recipe.RecipeHandlerPetalApothecary,Botania:altar:6,,Botania,TRUE,,,,,, +vazkii.botania.client.integration.nei.recipe.RecipeHandlerPetalApothecary,Botania:altar:7,,Botania,TRUE,,,,,, +vazkii.botania.client.integration.nei.recipe.RecipeHandlerPetalApothecary,Botania:altar:8,,Botania,TRUE,,,,,, +vazkii.botania.client.integration.nei.recipe.RecipeHandlerRunicAltar,Botania:runeAltar,,Botania,TRUE,,,,,, +vazkii.botania.client.integration.nei.recipe.RecipeHandlerManaPool,Botania:pool,,Botania,TRUE,,,,,, +vazkii.botania.client.integration.nei.recipe.RecipeHandlerManaPool,Botania:pool:2,,Botania,TRUE,,,,,, +vazkii.botania.client.integration.nei.recipe.RecipeHandlerManaPool,Botania:pool:3,,Botania,TRUE,,,,,, +vazkii.botania.client.integration.nei.recipe.RecipeHandlerManaPool,Botania:pool:1,,Botania,TRUE,,,,,, +vazkii.botania.client.integration.nei.recipe.RecipeHandlerElvenTrade,Botania:alfheimPortal,,Botania,TRUE,,,,,, +vazkii.botania.client.integration.nei.recipe.RecipeHandlerBrewery,Botania:brewery,,Botania,TRUE,,,,,, +vazkii.botania.client.integration.nei.recipe.RecipeHandlerPureDaisy,Botania:specialFlower,"{type:puredaisy}",Botania,TRUE,,,,,,"todo: when I look up usage or crafting for flower, other flowers also show up." +net.dries007.tfcnei.recipeHandlers.AnvilRecipeHandler,terrafirmacraftplus:Anvil,,terrafirmacraftplus,TRUE,,,,,,All TFC catalysts listed below are automatically converted from handlers.csv and untested. Feel free to make changes and submit PRs. +net.dries007.tfcnei.recipeHandlers.QuernRecipeHandler,terrafirmacraftplus:item.Quern,,terrafirmacraftplus,TRUE,,,,,, +net.dries007.tfcnei.recipeHandlers.KilnRecipeHandler,,,terrafirmacraftplus,TRUE,,,,,, +net.dries007.tfcnei.recipeHandlers.LoomRecipeHandler,terrafirmacraftplus:Loom,,terrafirmacraftplus,TRUE,,,,,, +net.dries007.tfcnei.recipeHandlers.KnappingRecipeHandler,terrafirmacraftplus:item.LooseRock,,terrafirmacraftplus,TRUE,,,,,, +net.dries007.tfcnei.recipeHandlers.ClothingRecipeHandler,terrafirmacraftplus:item.Bone Needle Thread,,terrafirmacraftplus,TRUE,,,,,, +net.dries007.tfcnei.recipeHandlers.BarrelRecipeHandler,terrafirmacraftplus:Barrel,,terrafirmacraftplus,TRUE,,,,,, +net.dries007.tfcnei.recipeHandlers.AlloyRecipeHandler,terrafirmacraftplus:Crucible,,terrafirmacraftplus,TRUE,,,,,, +net.dries007.tfcnei.recipeHandlers.HeatRecipeHandler,terrafirmacraftplus:Firepit,,terrafirmacraftplus,TRUE,,,,,,TFC end +minechem.nei.DecomposerNEIRecipeHandler,minechem:tile.chemicalDecomposer,,minechem,TRUE,,,,,, +minechem.nei.SynthesisNEIRecipeHandler,minechem:tile.chemicalSynthesizer,,minechem,TRUE,,,,,, +exter.fodc.nei.ODCRecipeHandler,fodc:oreConverter,,fodc,TRUE,,,,,, +exter.fodc.nei.ODCRecipeHandler,fodc:oreConvTable,,fodc,TRUE,,,,,, +exter.fodc.nei.ODCRecipeHandler,fodc:oreAutoconverter,,fodc,TRUE,,,,,, +cofh.thermalexpansion.plugins.nei.handlers.RecipeHandlerCharger,ThermalExpansion:Machine:10,,ThermalExpansion,TRUE,,,,,,this and below are not working well +cofh.thermalexpansion.plugins.nei.handlers.RecipeHandlerCrucible,ThermalExpansion:Machine:4,,ThermalExpansion,TRUE,,,,,, +crafting,ThermalExpansion:Workbench:1,,ThermalExpansion,TRUE,,,,,, +crafting,ThermalExpansion:Workbench:2,,ThermalExpansion,TRUE,,,,,, +crafting,ThermalExpansion:Workbench:3,,ThermalExpansion,TRUE,,,,,, +crafting,ThermalExpansion:Workbench:4,,ThermalExpansion,TRUE,,,,,, +smelting,ThermalExpansion:Machine:0,,ThermalExpansion,TRUE,,,,,, +cofh.thermalexpansion.plugins.nei.handlers.RecipeHandlerInsolator,ThermalExpansion:Machine:11,,ThermalExpansion,TRUE,,,,,, +cofh.thermalexpansion.plugins.nei.handlers.RecipeHandlerPulverizer,ThermalExpansion:Machine:1,,ThermalExpansion,TRUE,,,,,, +cofh.thermalexpansion.plugins.nei.handlers.RecipeHandlerSawmill,ThermalExpansion:Machine:2,,ThermalExpansion,TRUE,,,,,, +cofh.thermalexpansion.plugins.nei.handlers.RecipeHandlerSmelter,ThermalExpansion:Machine:3,,ThermalExpansion,TRUE,,,,,, +cofh.thermalexpansion.plugins.nei.handlers.RecipeHandlerTransposer,ThermalExpansion:Machine:5,,ThermalExpansion,TRUE,,,,,,TE end +crafting,Mekanism:MachineBlock3:5,,Mekanism,TRUE,,,,,, +smelting,Mekanism:MachineBlock:10,,Mekanism,TRUE,,,,,, +smelting,Mekanism:MachineBlock:5,"{recipeType:0}",Mekanism,TRUE,,,,,, +smelting,Mekanism:MachineBlock:6,"{recipeType:0}",Mekanism,TRUE,,,,,, +smelting,Mekanism:MachineBlock:7,"{recipeType:0}",Mekanism,TRUE,,,,,, +mekanism.client.nei.ChemicalCrystallizerRecipeHandler,Mekanism:MachineBlock2:8,,Mekanism,TRUE,,,,,, +mekanism.client.nei.ChemicalDissolutionChamberRecipeHandler,Mekanism:MachineBlock2:6,,Mekanism,TRUE,,,,,, +mekanism.client.nei.ChemicalInfuserRecipeHandler,Mekanism:MachineBlock2:2,,Mekanism,TRUE,,,,,, +mekanism.client.nei.ChemicalInjectionChamberRecipeHandler,Mekanism:MachineBlock2:3,,Mekanism,TRUE,,,,,, +mekanism.client.nei.ChemicalInjectionChamberRecipeHandler,Mekanism:MachineBlock:5,"{recipeType:6}",Mekanism,TRUE,,,,,, +mekanism.client.nei.ChemicalInjectionChamberRecipeHandler,Mekanism:MachineBlock:6,"{recipeType:6}",Mekanism,TRUE,,,,,, +mekanism.client.nei.ChemicalInjectionChamberRecipeHandler,Mekanism:MachineBlock:7,"{recipeType:6}",Mekanism,TRUE,,,,,, +mekanism.client.nei.ChemicalOxidizerRecipeHandler,Mekanism:MachineBlock2:1,,Mekanism,TRUE,,,,,, +mekanism.client.nei.ChemicalWasherRecipeHandler,Mekanism:MachineBlock2:7,,Mekanism,TRUE,,,,,, +mekanism.client.nei.CombinerRecipeHandler,Mekanism:MachineBlock:2,,Mekanism,TRUE,,,,,, +mekanism.client.nei.CombinerRecipeHandler,Mekanism:MachineBlock:5,"{recipeType:4}",Mekanism,TRUE,,,,,, +mekanism.client.nei.CombinerRecipeHandler,Mekanism:MachineBlock:6,"{recipeType:4}",Mekanism,TRUE,,,,,, +mekanism.client.nei.CombinerRecipeHandler,Mekanism:MachineBlock:7,"{recipeType:4}",Mekanism,TRUE,,,,,, +mekanism.client.nei.CrusherRecipeHandler,Mekanism:MachineBlock:3,,Mekanism,TRUE,,,,,, +mekanism.client.nei.CrusherRecipeHandler,Mekanism:MachineBlock:5,"{recipeType:2}",Mekanism,TRUE,,,,,, +mekanism.client.nei.CrusherRecipeHandler,Mekanism:MachineBlock:6,"{recipeType:2}",Mekanism,TRUE,,,,,, +mekanism.client.nei.CrusherRecipeHandler,Mekanism:MachineBlock:7,"{recipeType:2}",Mekanism,TRUE,,,,,, +mekanism.client.nei.EnrichmentChamberRecipeHandler,Mekanism:MachineBlock:0,,Mekanism,TRUE,,,,,, +mekanism.client.nei.EnrichmentChamberRecipeHandler,Mekanism:MachineBlock:5,"{recipeType:1}",Mekanism,TRUE,,,,,, +mekanism.client.nei.EnrichmentChamberRecipeHandler,Mekanism:MachineBlock:6,"{recipeType:1}",Mekanism,TRUE,,,,,, +mekanism.client.nei.EnrichmentChamberRecipeHandler,Mekanism:MachineBlock:7,"{recipeType:1}",Mekanism,TRUE,,,,,, +mekanism.client.nei.MetallurgicInfuserRecipeHandler,Mekanism:MachineBlock:8,,Mekanism,TRUE,,,,,, +mekanism.client.nei.MetallurgicInfuserRecipeHandler,Mekanism:MachineBlock:5,"{recipeType:7}",Mekanism,TRUE,,,,,, +mekanism.client.nei.MetallurgicInfuserRecipeHandler,Mekanism:MachineBlock:6,"{recipeType:7}",Mekanism,TRUE,,,,,, +mekanism.client.nei.MetallurgicInfuserRecipeHandler,Mekanism:MachineBlock:7,"{recipeType:7}",Mekanism,TRUE,,,,,, +mekanism.client.nei.OsmiumCompressorRecipeHandler,Mekanism:MachineBlock:1,,Mekanism,TRUE,,,,,TRUE, +mekanism.client.nei.OsmiumCompressorRecipeHandler,Mekanism:MachineBlock:5,"{recipeType:3}",Mekanism,TRUE,,,,,, +mekanism.client.nei.OsmiumCompressorRecipeHandler,Mekanism:MachineBlock:6,"{recipeType:3}",Mekanism,TRUE,,,,,, +mekanism.client.nei.OsmiumCompressorRecipeHandler,Mekanism:MachineBlock:7,"{recipeType:3}",Mekanism,TRUE,,,,,, +mekanism.client.nei.PRCRecipeHandler,Mekanism:MachineBlock2:10,,Mekanism,TRUE,,,,,, +mekanism.client.nei.PrecisionSawmillRecipeHandler,Mekanism:MachineBlock2:5,,Mekanism,TRUE,,,,,, +mekanism.client.nei.PurificationChamberRecipeHandler,Mekanism:MachineBlock:9,,Mekanism,TRUE,,,,,, +mekanism.client.nei.PurificationChamberRecipeHandler,Mekanism:MachineBlock:5,"{recipeType:5}",Mekanism,TRUE,,,,,, +mekanism.client.nei.PurificationChamberRecipeHandler,Mekanism:MachineBlock:6,"{recipeType:5}",Mekanism,TRUE,,,,,, +mekanism.client.nei.PurificationChamberRecipeHandler,Mekanism:MachineBlock:7,"{recipeType:5}",Mekanism,TRUE,,,,,, +mekanism.client.nei.RotaryCondensentratorRecipeHandler,Mekanism:MachineBlock2:0,,Mekanism,TRUE,,,,,, +mekanism.client.nei.SolarNeutronRecipeHandler,Mekanism:MachineBlock3:1,,Mekanism,TRUE,,,,,, +mekanism.client.nei.ThermalEvaporationRecipeHandler,Mekanism:BasicBlock:14,,Mekanism,TRUE,,,,,, +exnihilo.compatibility.nei.RecipeHandlerHammer,exnihilo:hammer_wood,,exnihilo,TRUE,,,,,, +exnihilo.compatibility.nei.RecipeHandlerHammer,exnihilo:hammer_stone,,exnihilo,TRUE,,,,,, +exnihilo.compatibility.nei.RecipeHandlerHammer,exnihilo:hammer_iron,,exnihilo,TRUE,,,,,, +exnihilo.compatibility.nei.RecipeHandlerHammer,exnihilo:hammer_gold,,exnihilo,TRUE,,,,,, +exnihilo.compatibility.nei.RecipeHandlerHammer,exnihilo:hammer_diamond,,exnihilo,TRUE,,,,,, +exnihilo.compatibility.nei.RecipeHandlerSieve,exnihilo:sifting_table,,exnihilo,TRUE,,,,,, +exnihilo.compatibility.nei.RecipeHandlerSieve,exnihilo:sifting_table:1,,exnihilo,TRUE,,,,,, +exnihilo.compatibility.nei.RecipeHandlerSieve,exnihilo:sifting_table:2,,exnihilo,TRUE,,,,,, +exnihilo.compatibility.nei.RecipeHandlerSieve,exnihilo:sifting_table:3,,exnihilo,TRUE,,,,,, +exnihilo.compatibility.nei.RecipeHandlerSieve,exnihilo:sifting_table:4,,exnihilo,TRUE,,,,,, +exnihilo.compatibility.nei.RecipeHandlerSieve,exnihilo:sifting_table:5,,exnihilo,TRUE,,,,,, +gregtechmod.mistaqur.nei.handlers.AlloySmelterRecipeHandler,gregtech_addon:machine:56,,gregtech_addon,TRUE,,,,,, +gregtechmod.mistaqur.nei.handlers.AssemblerRecipeHandler,gregtech_addon:machine:60,,gregtech_addon,TRUE,,,,,, +gregtechmod.mistaqur.nei.handlers.BenderRecipeHandler,gregtech_addon:machine:59,,gregtech_addon,TRUE,,,,,, +gregtechmod.mistaqur.nei.handlers.BlastRecipeHandler,gregtech_addon:machine:29,,gregtech_addon,TRUE,,,,,, +gregtechmod.mistaqur.nei.handlers.BronzeBlastRecipeHandler,gregtech_addon:machine:136,,gregtech_addon,TRUE,,,,,, +gregtechmod.mistaqur.nei.handlers.CannerRecipeHandler,gregtech_addon:machine:57,,gregtech_addon,TRUE,,,,,, +gregtechmod.mistaqur.nei.handlers.CentrifugeRecipeHandler,gregtech_addon:machine:62,,gregtech_addon,TRUE,,,,,, +gregtechmod.mistaqur.nei.handlers.ChemicalRecipeHandler,gregtech_addon:machine:41,,gregtech_addon,TRUE,,,,,, +gregtechmod.mistaqur.nei.handlers.CutterRecipeHandler,gregtech_addon:machine:113,,gregtech_addon,TRUE,,,,,, +gregtechmod.mistaqur.nei.handlers.DistillationRecipeHandler,gregtech_addon:machine:44,,gregtech_addon,TRUE,,,,,, +gregtechmod.mistaqur.nei.handlers.ElectrolyzerRecipeHandler,gregtech_addon:machine:25,,gregtech_addon,TRUE,,,,,, +gregtechmod.mistaqur.nei.handlers.ExtruderRecipeHandler,gregtech_addon:machine:115,,gregtech_addon,TRUE,,,,,, +gregtechmod.mistaqur.nei.handlers.FusionRecipeHandler,gregtech_addon:machine:80,,gregtech_addon,TRUE,,,,,, +gregtech.thermal_generator,gregtech_addon:machine:35,,gregtech_addon,TRUE,,,,,, +gregtech.diesel_generator,gregtech_addon:machine:33,,gregtech_addon,TRUE,,,,,, +gregtech.gas_turbine,gregtech_addon:machine:34,,gregtech_addon,TRUE,,,,,, +gregtech.gas_turbine,gregtech_addon:machine:108,,gregtech_addon,TRUE,,,,,, +gregtech.semifluid_generator,gregtech_addon:machine:36,,gregtech_addon,TRUE,,,,,, +gregtech.plasma_generator,gregtech_addon:machine:37,,gregtech_addon,TRUE,,,,,, +gregtech.plasma_generator,gregtech_addon:machine:117,,gregtech_addon,TRUE,,,,,, +gregtech.magic_generator,gregtech_addon:machine:42,,gregtech_addon,TRUE,,,,,, +gregtechmod.mistaqur.nei.handlers.GrinderRecipeHandler,gregtech_addon:machine:28,,gregtech_addon,TRUE,,,,,, +gregtechmod.mistaqur.nei.handlers.ImplosionRecipeHandler,gregtech_addon:machine:31,,gregtech_addon,TRUE,,,,,, +gregtechmod.mistaqur.nei.handlers.LatheRecipeHandler,gregtech_addon:machine:111,,gregtech_addon,TRUE,,,,,, +gregtechmod.mistaqur.nei.handlers.SawmillRecipeHandler,gregtech_addon:machine:32,,gregtech_addon,TRUE,,,,,, +gregtechmod.mistaqur.nei.handlers.VacuumFreezerRecipeHandler,gregtech_addon:machine:38,,gregtech_addon,TRUE,,,,,, +gregtechmod.mistaqur.nei.handlers.WiremillRecipeHandler,gregtech_addon:machine:55,,gregtech_addon,TRUE,,,,,, +wanion.biggercraftingtables.nei.BigShapedRecipeHandler,biggercraftingtables:BiggerCraftingTables,,biggercraftingtables,TRUE,,,,,,this and below are not tested +wanion.biggercraftingtables.nei.BigShapedRecipeHandler,biggercraftingtables:AutoBiggerCraftingTables,,biggercraftingtables,TRUE,,,,,, +wanion.biggercraftingtables.nei.BigShapelessRecipeHandler,biggercraftingtables:BiggerCraftingTables,,biggercraftingtables,TRUE,,,,,, +wanion.biggercraftingtables.nei.BigShapelessRecipeHandler,biggercraftingtables:AutoBiggerCraftingTables,,biggercraftingtables,TRUE,,,,,, +wanion.biggercraftingtables.nei.HugeShapedRecipeHandler,biggercraftingtables:BiggerCraftingTables:1,,biggercraftingtables,TRUE,,,,,, +wanion.biggercraftingtables.nei.HugeShapedRecipeHandler,biggercraftingtables:AutoBiggerCraftingTables:1,,biggercraftingtables,TRUE,,,,,, +wanion.biggercraftingtables.nei.HugeShapelessRecipeHandler,biggercraftingtables:BiggerCraftingTables:1,,biggercraftingtables,TRUE,,,,,, +wanion.biggercraftingtables.nei.HugeShapelessRecipeHandler,biggercraftingtables:AutoBiggerCraftingTables:1,,biggercraftingtables,TRUE,,,,,, +crafting,LogisticsPipes:item.PipeBlockRequestTable,,LogisticsPipes,TRUE,,,,,, +crafting,LogisticsPipes:logisticsSolidBlock:3,,LogisticsPipes,TRUE,,,,,, +crafting,LogisticsPipes:logisticsSolidBlock:4,,LogisticsPipes,TRUE,,,,,, +crafting,DraconicEvolution:draconiumChest,,DraconicEvolution,TRUE,,-50,,,, +smelting,DraconicEvolution:draconiumChest,,DraconicEvolution,TRUE,,-50,,,, +crafting,ProjRed|Expansion:projectred.expansion.machine2:11,,ProjRed|Expansion,TRUE,,,,,, +crafting,TwilightForest:tile.TFUncraftingTable,,TwilightForest,TRUE,,,,,, +com.teammetallurgy.metallurgy.nei.CrusherHandler,Metallurgy:crusher,,Metallurgy,TRUE,,,,,, +nc.crafting.nei.MetalFurnaceRecipeHandler,NuclearCraft:furnaceIdle,,NuclearCraft,TRUE,,,,,,not working well +nc.crafting.nei.ElectricFurnaceRecipeHandler,NuclearCraft:electricFurnaceIdle,,NuclearCraft,TRUE,,,,,, +nc.crafting.nei.NuclearFurnaceRecipeHandler,NuclearCraft:nuclearFurnaceIdle,,NuclearCraft,TRUE,,,,,,not working well +nc.crafting.nei.FactoryRecipeHandler,NuclearCraft:factoryIdle,,NuclearCraft,TRUE,,,,,, +nc.crafting.nei.AssemblerRecipeHandler,NuclearCraft:assemblerIdle,,NuclearCraft,TRUE,,,,,, +nc.crafting.nei.SeparatorRecipeHandler,NuclearCraft:separatorIdle,,NuclearCraft,TRUE,,,,,, +nc.crafting.nei.HastenerRecipeHandler,NuclearCraft:hastenerIdle,,NuclearCraft,TRUE,,,,,, +nc.crafting.nei.CollectorRecipeHandler,NuclearCraft:collectorIdle,,NuclearCraft,TRUE,,,,,, +nc.crafting.nei.OxidiserRecipeHandler,NuclearCraft:oxidiserIdle,,NuclearCraft,TRUE,,,,,, +nc.crafting.nei.IoniserRecipeHandler,NuclearCraft:ioniserIdle,,NuclearCraft,TRUE,,,,,, +nc.crafting.nei.IrradiatorRecipeHandler,NuclearCraft:irradiatorIdle,,NuclearCraft,TRUE,,,,,, +nc.crafting.nei.CoolerRecipeHandler,NuclearCraft:coolerIdle,,NuclearCraft,TRUE,,,,,, +nc.crafting.nei.HeliumExtractorRecipeHandler,NuclearCraft:heliumExtractorIdle,,NuclearCraft,TRUE,,,,,, +nc.crafting.nei.RecyclerRecipeHandler,NuclearCraft:recyclerIdle,,NuclearCraft,TRUE,,,,,, +nc.crafting.nei.NuclearWorkspaceRecipeHandler,NuclearCraft:nuclearWorkspace,,NuclearCraft,TRUE,,,,,, +ganymedes01.etfuturum.NEI_EtFuturum_Config$NEI_Recipes_Smoker,etfuturum:smoker,,etfuturum,TRUE,,,,,,not working well +ganymedes01.etfuturum.NEI_EtFuturum_Config$NEI_Recipes_BlastFurnace,etfuturum:blast_furnace,,etfuturum,TRUE,,,,,,not working well +crafting,gregtech:gt.metaitem.01:32744,,gregtech,TRUE,,,,,,"GT5 start: for readability, keep all GTNH-related catalysts below" +gt.recipe.primitiveblastfurnace,gregtech:gt.blockmachines:140,,gregtech,TRUE,,,,,, +gt.recipe.primitiveblastfurnace,gregtech:gt.blockmachines:108,,gregtech,TRUE,,,,,, +smelting,gregtech:gt.blockmachines:103,,gregtech,TRUE,,,,,, +smelting,gregtech:gt.blockmachines:104,,gregtech,TRUE,,,,,, +gt.recipe.macerator,gregtech:gt.blockmachines:106,,gregtech,TRUE,,,,,, +gt.recipe.macerator,gregtech:gt.blockmachines:107,,gregtech,TRUE,,,,,, +gt.recipe.extractor,gregtech:gt.blockmachines:109,,gregtech,TRUE,,,,,, +gt.recipe.extractor,gregtech:gt.blockmachines:110,,gregtech,TRUE,,,,,, +gt.recipe.hammer,gregtech:gt.blockmachines:112,,gregtech,TRUE,,,,,, +gt.recipe.hammer,gregtech:gt.blockmachines:113,,gregtech,TRUE,,,,,, +gt.recipe.compressor,gregtech:gt.blockmachines:115,,gregtech,TRUE,,,,,, +gt.recipe.compressor,gregtech:gt.blockmachines:116,,gregtech,TRUE,,,,,, +gt.recipe.alloysmelter,gregtech:gt.blockmachines:118,,gregtech,TRUE,,,,,, +gt.recipe.alloysmelter,gregtech:gt.blockmachines:119,,gregtech,TRUE,,,,,, +gt.recipe.alloysmelter,gregtech:gt.blockmachines:201,,gregtech,TRUE,,,,,, +gt.recipe.alloysmelter,gregtech:gt.blockmachines:202,,gregtech,TRUE,,,,,, +gt.recipe.alloysmelter,gregtech:gt.blockmachines:203,,gregtech,TRUE,,,,,, +gt.recipe.alloysmelter,gregtech:gt.blockmachines:204,,gregtech,TRUE,,,,,, +gt.recipe.alloysmelter,gregtech:gt.blockmachines:205,,gregtech,TRUE,,,,,, +gt.recipe.assembler,gregtech:gt.blockmachines:211,,gregtech,TRUE,,,,,, +gt.recipe.assembler,gregtech:gt.blockmachines:212,,gregtech,TRUE,,,,,, +gt.recipe.assembler,gregtech:gt.blockmachines:213,,gregtech,TRUE,,,,,, +gt.recipe.assembler,gregtech:gt.blockmachines:214,,gregtech,TRUE,,,,,, +gt.recipe.assembler,gregtech:gt.blockmachines:215,,gregtech,TRUE,,,,,, +gt.recipe.metalbender,gregtech:gt.blockmachines:221,,gregtech,TRUE,,,,,, +gt.recipe.metalbender,gregtech:gt.blockmachines:222,,gregtech,TRUE,,,,,, +gt.recipe.metalbender,gregtech:gt.blockmachines:223,,gregtech,TRUE,,,,,, +gt.recipe.metalbender,gregtech:gt.blockmachines:224,,gregtech,TRUE,,,,,, +gt.recipe.metalbender,gregtech:gt.blockmachines:225,,gregtech,TRUE,,,,,, +gt.recipe.canner,gregtech:gt.blockmachines:231,,gregtech,TRUE,,,,,, +gt.recipe.canner,gregtech:gt.blockmachines:232,,gregtech,TRUE,,,,,, +gt.recipe.canner,gregtech:gt.blockmachines:233,,gregtech,TRUE,,,,,, +gt.recipe.canner,gregtech:gt.blockmachines:234,,gregtech,TRUE,,,,,, +gt.recipe.canner,gregtech:gt.blockmachines:235,,gregtech,TRUE,,,,,, +gt.recipe.compressor,gregtech:gt.blockmachines:241,,gregtech,TRUE,,,,,, +gt.recipe.compressor,gregtech:gt.blockmachines:242,,gregtech,TRUE,,,,,, +gt.recipe.compressor,gregtech:gt.blockmachines:243,,gregtech,TRUE,,,,,, +gt.recipe.compressor,gregtech:gt.blockmachines:244,,gregtech,TRUE,,,,,, +gt.recipe.compressor,gregtech:gt.blockmachines:245,,gregtech,TRUE,,,,,, +gt.recipe.cuttingsaw,gregtech:gt.blockmachines:251,,gregtech,TRUE,,,,,, +gt.recipe.cuttingsaw,gregtech:gt.blockmachines:252,,gregtech,TRUE,,,,,, +gt.recipe.cuttingsaw,gregtech:gt.blockmachines:253,,gregtech,TRUE,,,,,, +gt.recipe.cuttingsaw,gregtech:gt.blockmachines:254,,gregtech,TRUE,,,,,, +gt.recipe.cuttingsaw,gregtech:gt.blockmachines:255,,gregtech,TRUE,,,,,, +smelting,gregtech:gt.blockmachines:261,,gregtech,TRUE,,,,,, +smelting,gregtech:gt.blockmachines:262,,gregtech,TRUE,,,,,, +smelting,gregtech:gt.blockmachines:263,,gregtech,TRUE,,,,,, +smelting,gregtech:gt.blockmachines:264,,gregtech,TRUE,,,,,, +smelting,gregtech:gt.blockmachines:265,,gregtech,TRUE,,,,,, +gt.recipe.extractor,gregtech:gt.blockmachines:271,,gregtech,TRUE,,,,,, +gt.recipe.extractor,gregtech:gt.blockmachines:272,,gregtech,TRUE,,,,,, +gt.recipe.extractor,gregtech:gt.blockmachines:273,,gregtech,TRUE,,,,,, +gt.recipe.extractor,gregtech:gt.blockmachines:274,,gregtech,TRUE,,,,,, +gt.recipe.extractor,gregtech:gt.blockmachines:275,,gregtech,TRUE,,,,,, +gt.recipe.extruder,gregtech:gt.blockmachines:281,,gregtech,TRUE,,,,,, +gt.recipe.extruder,gregtech:gt.blockmachines:282,,gregtech,TRUE,,,,,, +gt.recipe.extruder,gregtech:gt.blockmachines:283,,gregtech,TRUE,,,,,, +gt.recipe.extruder,gregtech:gt.blockmachines:284,,gregtech,TRUE,,,,,, +gt.recipe.extruder,gregtech:gt.blockmachines:285,,gregtech,TRUE,,,,,, +gt.recipe.lathe,gregtech:gt.blockmachines:291,,gregtech,TRUE,,,,,, +gt.recipe.lathe,gregtech:gt.blockmachines:292,,gregtech,TRUE,,,,,, +gt.recipe.lathe,gregtech:gt.blockmachines:293,,gregtech,TRUE,,,,,, +gt.recipe.lathe,gregtech:gt.blockmachines:294,,gregtech,TRUE,,,,,, +gt.recipe.lathe,gregtech:gt.blockmachines:295,,gregtech,TRUE,,,,,, +gt.recipe.macerator,gregtech:gt.blockmachines:301,,gregtech,TRUE,,,,,, +gt.recipe.macerator,gregtech:gt.blockmachines:302,,gregtech,TRUE,,,,,, +gt.recipe.macerator,gregtech:gt.blockmachines:303,,gregtech,TRUE,,,,,, +gt.recipe.macerator,gregtech:gt.blockmachines:304,,gregtech,TRUE,,,,,, +gt.recipe.macerator,gregtech:gt.blockmachines:305,,gregtech,TRUE,,,,,, +smelting,gregtech:gt.blockmachines:311,,gregtech,TRUE,,,,,, +smelting,gregtech:gt.blockmachines:312,,gregtech,TRUE,,,,,, +smelting,gregtech:gt.blockmachines:313,,gregtech,TRUE,,,,,, +smelting,gregtech:gt.blockmachines:314,,gregtech,TRUE,,,,,, +smelting,gregtech:gt.blockmachines:315,,gregtech,TRUE,,,,,, +gt.recipe.printer,gregtech:gt.blockmachines:321,,gregtech,TRUE,,,,,, +gt.recipe.printer,gregtech:gt.blockmachines:322,,gregtech,TRUE,,,,,, +gt.recipe.printer,gregtech:gt.blockmachines:323,,gregtech,TRUE,,,,,, +gt.recipe.printer,gregtech:gt.blockmachines:324,,gregtech,TRUE,,,,,, +gt.recipe.printer,gregtech:gt.blockmachines:325,,gregtech,TRUE,,,,,, +gt.recipe.printer,gregtech:gt.blockmachines:326,,gregtech,TRUE,,,,,, +gt.recipe.printer,gregtech:gt.blockmachines:327,,gregtech,TRUE,,,,,, +gt.recipe.printer,gregtech:gt.blockmachines:328,,gregtech,TRUE,,,,,, +ic2.recycler,gregtech:gt.blockmachines:331,,gregtech,TRUE,,,,,, +ic2.recycler,gregtech:gt.blockmachines:332,,gregtech,TRUE,,,,,, +ic2.recycler,gregtech:gt.blockmachines:333,,gregtech,TRUE,,,,,, +ic2.recycler,gregtech:gt.blockmachines:334,,gregtech,TRUE,,,,,, +ic2.recycler,gregtech:gt.blockmachines:335,,gregtech,TRUE,,,,,, +gt.recipe.scanner,gregtech:gt.blockmachines:341,,gregtech,TRUE,,,,,, +gt.recipe.scanner,gregtech:gt.blockmachines:342,,gregtech,TRUE,,,,,, +gt.recipe.scanner,gregtech:gt.blockmachines:343,,gregtech,TRUE,,,,,, +gt.recipe.scanner,gregtech:gt.blockmachines:344,,gregtech,TRUE,,,,,, +gt.recipe.scanner,gregtech:gt.blockmachines:345,,gregtech,TRUE,,,,,, +gt.recipe.wiremill,gregtech:gt.blockmachines:351,,gregtech,TRUE,,,,,, +gt.recipe.wiremill,gregtech:gt.blockmachines:352,,gregtech,TRUE,,,,,, +gt.recipe.wiremill,gregtech:gt.blockmachines:353,,gregtech,TRUE,,,,,, +gt.recipe.wiremill,gregtech:gt.blockmachines:354,,gregtech,TRUE,,,,,, +gt.recipe.wiremill,gregtech:gt.blockmachines:355,,gregtech,TRUE,,,,,, +gt.recipe.centrifuge,gregtech:gt.blockmachines:361,,gregtech,TRUE,,,,,, +gt.recipe.centrifuge,gregtech:gt.blockmachines:362,,gregtech,TRUE,,,,,, +gt.recipe.centrifuge,gregtech:gt.blockmachines:363,,gregtech,TRUE,,,,,, +gt.recipe.centrifuge,gregtech:gt.blockmachines:364,,gregtech,TRUE,,,,,, +gt.recipe.centrifuge,gregtech:gt.blockmachines:365,,gregtech,TRUE,,,,,, +gt.recipe.electrolyzer,gregtech:gt.blockmachines:371,,gregtech,TRUE,,,,,, +gt.recipe.electrolyzer,gregtech:gt.blockmachines:372,,gregtech,TRUE,,,,,, +gt.recipe.electrolyzer,gregtech:gt.blockmachines:373,,gregtech,TRUE,,,,,, +gt.recipe.electrolyzer,gregtech:gt.blockmachines:374,,gregtech,TRUE,,,,,, +gt.recipe.electrolyzer,gregtech:gt.blockmachines:375,,gregtech,TRUE,,,,,, +gt.recipe.thermalcentrifuge,gregtech:gt.blockmachines:381,,gregtech,TRUE,,,,,, +gt.recipe.thermalcentrifuge,gregtech:gt.blockmachines:382,,gregtech,TRUE,,,,,, +gt.recipe.thermalcentrifuge,gregtech:gt.blockmachines:383,,gregtech,TRUE,,,,,, +gt.recipe.thermalcentrifuge,gregtech:gt.blockmachines:384,,gregtech,TRUE,,,,,, +gt.recipe.thermalcentrifuge,gregtech:gt.blockmachines:385,,gregtech,TRUE,,,,,, +gt.recipe.orewasher,gregtech:gt.blockmachines:391,,gregtech,TRUE,,,,,, +gt.recipe.orewasher,gregtech:gt.blockmachines:392,,gregtech,TRUE,,,,,, +gt.recipe.orewasher,gregtech:gt.blockmachines:393,,gregtech,TRUE,,,,,, +gt.recipe.orewasher,gregtech:gt.blockmachines:394,,gregtech,TRUE,,,,,, +gt.recipe.orewasher,gregtech:gt.blockmachines:395,,gregtech,TRUE,,,,,, +gt.recipe.packager,gregtech:gt.blockmachines:401,,gregtech,TRUE,,,,,, +gt.recipe.packager,gregtech:gt.blockmachines:402,,gregtech,TRUE,,,,,, +gt.recipe.packager,gregtech:gt.blockmachines:403,,gregtech,TRUE,,,,,, +gt.recipe.packager,gregtech:gt.blockmachines:404,,gregtech,TRUE,,,,,, +gt.recipe.packager,gregtech:gt.blockmachines:405,,gregtech,TRUE,,,,,, +gt.recipe.packager,gregtech:gt.blockmachines:406,,gregtech,TRUE,,,,,, +gt.recipe.packager,gregtech:gt.blockmachines:407,,gregtech,TRUE,,,,,, +gt.recipe.packager,gregtech:gt.blockmachines:408,,gregtech,TRUE,,,,,, +gt.recipe.unpackager,gregtech:gt.blockmachines:411,,gregtech,TRUE,,,,,, +gt.recipe.unpackager,gregtech:gt.blockmachines:412,,gregtech,TRUE,,,,,, +gt.recipe.unpackager,gregtech:gt.blockmachines:413,,gregtech,TRUE,,,,,, +gt.recipe.unpackager,gregtech:gt.blockmachines:414,,gregtech,TRUE,,,,,, +gt.recipe.unpackager,gregtech:gt.blockmachines:415,,gregtech,TRUE,,,,,, +gt.recipe.unpackager,gregtech:gt.blockmachines:416,,gregtech,TRUE,,,,,, +gt.recipe.unpackager,gregtech:gt.blockmachines:417,,gregtech,TRUE,,,,,, +gt.recipe.unpackager,gregtech:gt.blockmachines:418,,gregtech,TRUE,,,,,, +gt.recipe.chemicalreactor,gregtech:gt.blockmachines:421,,gregtech,TRUE,,,,,, +gt.recipe.chemicalreactor,gregtech:gt.blockmachines:422,,gregtech,TRUE,,,,,, +gt.recipe.chemicalreactor,gregtech:gt.blockmachines:423,,gregtech,TRUE,,,,,, +gt.recipe.chemicalreactor,gregtech:gt.blockmachines:424,,gregtech,TRUE,,,,,, +gt.recipe.chemicalreactor,gregtech:gt.blockmachines:425,,gregtech,TRUE,,,,,, +gt.recipe.fluidcanner,gregtech:gt.blockmachines:431,,gregtech,TRUE,,,,,, +gt.recipe.fluidcanner,gregtech:gt.blockmachines:432,,gregtech,TRUE,,,,,, +gt.recipe.fluidcanner,gregtech:gt.blockmachines:433,,gregtech,TRUE,,,,,, +gt.recipe.fluidcanner,gregtech:gt.blockmachines:434,,gregtech,TRUE,,,,,, +gt.recipe.fluidcanner,gregtech:gt.blockmachines:435,,gregtech,TRUE,,,,,, +gt.recipe.rockbreaker,gregtech:gt.blockmachines:441,,gregtech,TRUE,,,,,, +gt.recipe.rockbreaker,gregtech:gt.blockmachines:442,,gregtech,TRUE,,,,,, +gt.recipe.rockbreaker,gregtech:gt.blockmachines:443,,gregtech,TRUE,,,,,, +gt.recipe.rockbreaker,gregtech:gt.blockmachines:444,,gregtech,TRUE,,,,,, +gt.recipe.rockbreaker,gregtech:gt.blockmachines:445,,gregtech,TRUE,,,,,, +gt.recipe.massfab,gregtech:gt.blockmachines:461,,gregtech,TRUE,,,,,, +gt.recipe.massfab,gregtech:gt.blockmachines:462,,gregtech,TRUE,,,,,, +gt.recipe.massfab,gregtech:gt.blockmachines:463,,gregtech,TRUE,,,,,, +gt.recipe.massfab,gregtech:gt.blockmachines:464,,gregtech,TRUE,,,,,, +gt.recipe.massfab,gregtech:gt.blockmachines:465,,gregtech,TRUE,,,,,, +gt.recipe.uuamplifier,gregtech:gt.blockmachines:471,,gregtech,TRUE,,,,,, +gt.recipe.uuamplifier,gregtech:gt.blockmachines:472,,gregtech,TRUE,,,,,, +gt.recipe.uuamplifier,gregtech:gt.blockmachines:473,,gregtech,TRUE,,,,,, +gt.recipe.uuamplifier,gregtech:gt.blockmachines:474,,gregtech,TRUE,,,,,, +gt.recipe.uuamplifier,gregtech:gt.blockmachines:475,,gregtech,TRUE,,,,,, +gt.recipe.replicator,gregtech:gt.blockmachines:481,,gregtech,TRUE,,,,,, +gt.recipe.replicator,gregtech:gt.blockmachines:482,,gregtech,TRUE,,,,,, +gt.recipe.replicator,gregtech:gt.blockmachines:483,,gregtech,TRUE,,,,,, +gt.recipe.replicator,gregtech:gt.blockmachines:484,,gregtech,TRUE,,,,,, +gt.recipe.replicator,gregtech:gt.blockmachines:485,,gregtech,TRUE,,,,,, +gt.recipe.brewer,gregtech:gt.blockmachines:491,,gregtech,TRUE,,,,,, +gt.recipe.brewer,gregtech:gt.blockmachines:492,,gregtech,TRUE,,,,,, +gt.recipe.brewer,gregtech:gt.blockmachines:493,,gregtech,TRUE,,,,,, +gt.recipe.brewer,gregtech:gt.blockmachines:494,,gregtech,TRUE,,,,,, +gt.recipe.brewer,gregtech:gt.blockmachines:495,,gregtech,TRUE,,,,,, +gt.recipe.fermenter,gregtech:gt.blockmachines:501,,gregtech,TRUE,,,,,, +gt.recipe.fermenter,gregtech:gt.blockmachines:502,,gregtech,TRUE,,,,,, +gt.recipe.fermenter,gregtech:gt.blockmachines:503,,gregtech,TRUE,,,,,, +gt.recipe.fermenter,gregtech:gt.blockmachines:504,,gregtech,TRUE,,,,,, +gt.recipe.fermenter,gregtech:gt.blockmachines:505,,gregtech,TRUE,,,,,, +gt.recipe.fluidextractor,gregtech:gt.blockmachines:511,,gregtech,TRUE,,,,,, +gt.recipe.fluidextractor,gregtech:gt.blockmachines:512,,gregtech,TRUE,,,,,, +gt.recipe.fluidextractor,gregtech:gt.blockmachines:513,,gregtech,TRUE,,,,,, +gt.recipe.fluidextractor,gregtech:gt.blockmachines:514,,gregtech,TRUE,,,,,, +gt.recipe.fluidextractor,gregtech:gt.blockmachines:515,,gregtech,TRUE,,,,,, +gt.recipe.fluidsolidifier,gregtech:gt.blockmachines:521,,gregtech,TRUE,,,,,, +gt.recipe.fluidsolidifier,gregtech:gt.blockmachines:522,,gregtech,TRUE,,,,,, +gt.recipe.fluidsolidifier,gregtech:gt.blockmachines:523,,gregtech,TRUE,,,,,, +gt.recipe.fluidsolidifier,gregtech:gt.blockmachines:524,,gregtech,TRUE,,,,,, +gt.recipe.fluidsolidifier,gregtech:gt.blockmachines:525,,gregtech,TRUE,,,,,, +gt.recipe.distillery,gregtech:gt.blockmachines:531,,gregtech,TRUE,,,,,, +gt.recipe.distillery,gregtech:gt.blockmachines:532,,gregtech,TRUE,,,,,, +gt.recipe.distillery,gregtech:gt.blockmachines:533,,gregtech,TRUE,,,,,, +gt.recipe.distillery,gregtech:gt.blockmachines:534,,gregtech,TRUE,,,,,, +gt.recipe.distillery,gregtech:gt.blockmachines:535,,gregtech,TRUE,,,,,, +gt.recipe.chemicalbath,gregtech:gt.blockmachines:541,,gregtech,TRUE,,,,,, +gt.recipe.chemicalbath,gregtech:gt.blockmachines:542,,gregtech,TRUE,,,,,, +gt.recipe.chemicalbath,gregtech:gt.blockmachines:543,,gregtech,TRUE,,,,,, +gt.recipe.chemicalbath,gregtech:gt.blockmachines:544,,gregtech,TRUE,,,,,, +gt.recipe.chemicalbath,gregtech:gt.blockmachines:545,,gregtech,TRUE,,,,,, +gt.recipe.polarizer,gregtech:gt.blockmachines:551,,gregtech,TRUE,,,,,, +gt.recipe.polarizer,gregtech:gt.blockmachines:552,,gregtech,TRUE,,,,,, +gt.recipe.polarizer,gregtech:gt.blockmachines:553,,gregtech,TRUE,,,,,, +gt.recipe.polarizer,gregtech:gt.blockmachines:554,,gregtech,TRUE,,,,,, +gt.recipe.polarizer,gregtech:gt.blockmachines:555,,gregtech,TRUE,,,,,, +gt.recipe.electromagneticseparator,gregtech:gt.blockmachines:561,,gregtech,TRUE,,,,,, +gt.recipe.electromagneticseparator,gregtech:gt.blockmachines:562,,gregtech,TRUE,,,,,, +gt.recipe.electromagneticseparator,gregtech:gt.blockmachines:563,,gregtech,TRUE,,,,,, +gt.recipe.electromagneticseparator,gregtech:gt.blockmachines:564,,gregtech,TRUE,,,,,, +gt.recipe.electromagneticseparator,gregtech:gt.blockmachines:565,,gregtech,TRUE,,,,,, +gt.recipe.autoclave,gregtech:gt.blockmachines:571,,gregtech,TRUE,,,,,, +gt.recipe.autoclave,gregtech:gt.blockmachines:572,,gregtech,TRUE,,,,,, +gt.recipe.autoclave,gregtech:gt.blockmachines:573,,gregtech,TRUE,,,,,, +gt.recipe.autoclave,gregtech:gt.blockmachines:574,,gregtech,TRUE,,,,,, +gt.recipe.autoclave,gregtech:gt.blockmachines:575,,gregtech,TRUE,,,,,, +gt.recipe.mixer,gregtech:gt.blockmachines:581,,gregtech,TRUE,,,,,, +gt.recipe.mixer,gregtech:gt.blockmachines:582,,gregtech,TRUE,,,,,, +gt.recipe.mixer,gregtech:gt.blockmachines:583,,gregtech,TRUE,,,,,, +gt.recipe.mixer,gregtech:gt.blockmachines:584,,gregtech,TRUE,,,,,, +gt.recipe.mixer,gregtech:gt.blockmachines:585,,gregtech,TRUE,,,,,, +gt.recipe.laserengraver,gregtech:gt.blockmachines:591,,gregtech,TRUE,,,,,, +gt.recipe.laserengraver,gregtech:gt.blockmachines:592,,gregtech,TRUE,,,,,, +gt.recipe.laserengraver,gregtech:gt.blockmachines:593,,gregtech,TRUE,,,,,, +gt.recipe.laserengraver,gregtech:gt.blockmachines:594,,gregtech,TRUE,,,,,, +gt.recipe.laserengraver,gregtech:gt.blockmachines:595,,gregtech,TRUE,,,,,, +gt.recipe.press,gregtech:gt.blockmachines:601,,gregtech,TRUE,,,,,, +gt.recipe.press,gregtech:gt.blockmachines:602,,gregtech,TRUE,,,,,, +gt.recipe.press,gregtech:gt.blockmachines:603,,gregtech,TRUE,,,,,, +gt.recipe.press,gregtech:gt.blockmachines:604,,gregtech,TRUE,,,,,, +gt.recipe.press,gregtech:gt.blockmachines:605,,gregtech,TRUE,,,,,, +gt.recipe.hammer,gregtech:gt.blockmachines:611,,gregtech,TRUE,,,,,, +gt.recipe.hammer,gregtech:gt.blockmachines:612,,gregtech,TRUE,,,,,, +gt.recipe.hammer,gregtech:gt.blockmachines:613,,gregtech,TRUE,,,,,, +gt.recipe.hammer,gregtech:gt.blockmachines:614,,gregtech,TRUE,,,,,, +gt.recipe.hammer,gregtech:gt.blockmachines:615,,gregtech,TRUE,,,,,, +gt.recipe.fluidheater,gregtech:gt.blockmachines:621,,gregtech,TRUE,,,,,, +gt.recipe.fluidheater,gregtech:gt.blockmachines:622,,gregtech,TRUE,,,,,, +gt.recipe.fluidheater,gregtech:gt.blockmachines:623,,gregtech,TRUE,,,,,, +gt.recipe.fluidheater,gregtech:gt.blockmachines:624,,gregtech,TRUE,,,,,, +gt.recipe.fluidheater,gregtech:gt.blockmachines:625,,gregtech,TRUE,,,,,, +gt.recipe.slicer,gregtech:gt.blockmachines:631,,gregtech,TRUE,,,,,, +gt.recipe.slicer,gregtech:gt.blockmachines:632,,gregtech,TRUE,,,,,, +gt.recipe.slicer,gregtech:gt.blockmachines:633,,gregtech,TRUE,,,,,, +gt.recipe.slicer,gregtech:gt.blockmachines:634,,gregtech,TRUE,,,,,, +gt.recipe.slicer,gregtech:gt.blockmachines:635,,gregtech,TRUE,,,,,, +gt.recipe.sifter,gregtech:gt.blockmachines:641,,gregtech,TRUE,,,,,, +gt.recipe.sifter,gregtech:gt.blockmachines:642,,gregtech,TRUE,,,,,, +gt.recipe.sifter,gregtech:gt.blockmachines:643,,gregtech,TRUE,,,,,, +gt.recipe.sifter,gregtech:gt.blockmachines:644,,gregtech,TRUE,,,,,, +gt.recipe.sifter,gregtech:gt.blockmachines:645,,gregtech,TRUE,,,,,, +gt.recipe.arcfurnace,gregtech:gt.blockmachines:651,,gregtech,TRUE,,,,,, +gt.recipe.arcfurnace,gregtech:gt.blockmachines:652,,gregtech,TRUE,,,,,, +gt.recipe.arcfurnace,gregtech:gt.blockmachines:653,,gregtech,TRUE,,,,,, +gt.recipe.arcfurnace,gregtech:gt.blockmachines:654,,gregtech,TRUE,,,,,, +gt.recipe.arcfurnace,gregtech:gt.blockmachines:655,,gregtech,TRUE,,,,,, +gt.recipe.plasmaarcfurnace,gregtech:gt.blockmachines:661,,gregtech,TRUE,,,,,, +gt.recipe.plasmaarcfurnace,gregtech:gt.blockmachines:662,,gregtech,TRUE,,,,,, +gt.recipe.plasmaarcfurnace,gregtech:gt.blockmachines:663,,gregtech,TRUE,,,,,, +gt.recipe.plasmaarcfurnace,gregtech:gt.blockmachines:664,,gregtech,TRUE,,,,,, +gt.recipe.plasmaarcfurnace,gregtech:gt.blockmachines:665,,gregtech,TRUE,,,,,, +smelting,gregtech:gt.blockmachines:671,,gregtech,TRUE,,,,,, +smelting,gregtech:gt.blockmachines:672,,gregtech,TRUE,,,,,, +smelting,gregtech:gt.blockmachines:673,,gregtech,TRUE,,,,,, +smelting,gregtech:gt.blockmachines:674,,gregtech,TRUE,,,,,, +smelting,gregtech:gt.blockmachines:675,,gregtech,TRUE,,,,,, +gt.recipe.blastfurnace,gregtech:gt.blockmachines:1000,,gregtech,TRUE,,,,,, +gt.recipe.implosioncompressor,gregtech:gt.blockmachines:1001,,gregtech,TRUE,,,,,, +gt.recipe.vacuumfreezer,gregtech:gt.blockmachines:1002,,gregtech,TRUE,,,,,, +smelting,gregtech:gt.blockmachines:1003,,gregtech,TRUE,,,,,, +gt.recipe.dieselgeneratorfuel,gregtech:gt.blockmachines:1110,,gregtech,TRUE,,,,,, +gt.recipe.dieselgeneratorfuel,gregtech:gt.blockmachines:1111,,gregtech,TRUE,,,,,, +gt.recipe.dieselgeneratorfuel,gregtech:gt.blockmachines:1112,,gregtech,TRUE,,,,,, +gt.recipe.gasturbinefuel,gregtech:gt.blockmachines:1115,,gregtech,TRUE,,,,,, +gt.recipe.gasturbinefuel,gregtech:gt.blockmachines:1116,,gregtech,TRUE,,,,,, +gt.recipe.gasturbinefuel,gregtech:gt.blockmachines:1117,,gregtech,TRUE,,,,,, +gt.recipe.fluidnaquadahreactor,gregtech:gt.blockmachines:1190,,gregtech,TRUE,,,,,, +gt.recipe.fluidnaquadahreactor,gregtech:gt.blockmachines:1191,,gregtech,TRUE,,,,,, +gt.recipe.fluidnaquadahreactor,gregtech:gt.blockmachines:1192,,gregtech,TRUE,,,,,, +gt.recipe.fluidnaquadahreactor,gregtech:gt.blockmachines:1188,,gregtech,TRUE,,,,,, +gt.recipe.fluidnaquadahreactor,gregtech:gt.blockmachines:1189,,gregtech,TRUE,,,,,, +gt.recipe.magicfuels,gregtech:gt.blockmachines:1123,,gregtech,TRUE,,,,,, +gt.recipe.magicfuels,gregtech:gt.blockmachines:1124,,gregtech,TRUE,,,,,, +gt.recipe.magicfuels,gregtech:gt.blockmachines:1125,,gregtech,TRUE,,,,,, +gt.recipe.fusionreactor,gregtech:gt.blockmachines:1193,,gregtech,TRUE,,,,,, +gt.recipe.fusionreactor,gregtech:gt.blockmachines:1194,,gregtech,TRUE,,,,,, +gt.recipe.fusionreactor,gregtech:gt.blockmachines:1195,,gregtech,TRUE,,,,,, +gt.recipe.plasmageneratorfuels,gregtech:gt.blockmachines:1196,,gregtech,TRUE,,,,,, +gt.recipe.plasmageneratorfuels,gregtech:gt.blockmachines:1197,,gregtech,TRUE,,,,,, +gt.recipe.plasmageneratorfuels,gregtech:gt.blockmachines:1198,,gregtech,TRUE,,,,,, +gt.recipe.distillationtower,gregtech:gt.blockmachines:1126,,gregtech,TRUE,,,,,, +gt.recipe.gasturbinefuel,gregtech:gt.blockmachines:1151,,gregtech,TRUE,,,,,, +gt.recipe.plasmageneratorfuels,gregtech:gt.blockmachines:1153,,gregtech,TRUE,,-10,,,, +gt.recipe.pyro,gregtech:gt.blockmachines:1159,,gregtech,TRUE,,,,,, +gt.recipe.craker,gregtech:gt.blockmachines:1160,,gregtech,TRUE,,,,,, +gt.recipe.fakeAssemblylineProcess,gregtech:gt.blockmachines:1170,,gregtech,TRUE,,,,,, +gt.recipe.dieselgeneratorfuel,gregtech:gt.blockmachines:1171,,gregtech,TRUE,,-5,,,, +gt.recipe.extremedieselgeneratorfuel,gregtech:gt.blockmachines:2105,,gregtech,TRUE,,,,,, +gt.recipe.circuitassembler,gregtech:gt.blockmachines:1180,,gregtech,TRUE,,,,,, +gt.recipe.circuitassembler,gregtech:gt.blockmachines:1181,,gregtech,TRUE,,,,,, +gt.recipe.circuitassembler,gregtech:gt.blockmachines:1182,,gregtech,TRUE,,,,,, +gt.recipe.circuitassembler,gregtech:gt.blockmachines:1183,,gregtech,TRUE,,,,,, +gt.recipe.circuitassembler,gregtech:gt.blockmachines:1184,,gregtech,TRUE,,,,,, +gt.recipe.circuitassembler,gregtech:gt.blockmachines:1185,,gregtech,TRUE,,,,,, +gt.recipe.circuitassembler,gregtech:gt.blockmachines:1186,,gregtech,TRUE,,,,,, +gt.recipe.circuitassembler,gregtech:gt.blockmachines:1187,,gregtech,TRUE,,,,,, +gt.recipe.largechemicalreactor,gregtech:gt.blockmachines:1169,,gregtech,TRUE,,,,,, +gt.recipe.plasmageneratorfuels,gregtech:gt.blockmachines:10752,,dreamcraft,TRUE,,,,,, +gt.recipe.plasmageneratorfuels,gregtech:gt.blockmachines:10753,,dreamcraft,TRUE,,,,,, +gt.recipe.alloysmelter,gregtech:gt.blockmachines:10760,,dreamcraft,TRUE,,,,,, +gt.recipe.alloysmelter,gregtech:gt.blockmachines:10761,,dreamcraft,TRUE,,,,,, +gt.recipe.alloysmelter,gregtech:gt.blockmachines:10762,,dreamcraft,TRUE,,,,,, +gt.recipe.alloysmelter,gregtech:gt.blockmachines:10763,,dreamcraft,TRUE,,,,,, +gt.recipe.alloysmelter,gregtech:gt.blockmachines:10764,,dreamcraft,TRUE,,,,,, +gt.recipe.alloysmelter,gregtech:gt.blockmachines:10765,,dreamcraft,TRUE,,,,,, +gt.recipe.alloysmelter,gregtech:gt.blockmachines:10766,,dreamcraft,TRUE,,,,,, +gt.recipe.uuamplifier,gregtech:gt.blockmachines:10770,,dreamcraft,TRUE,,,,,, +gt.recipe.uuamplifier,gregtech:gt.blockmachines:10771,,dreamcraft,TRUE,,,,,, +gt.recipe.uuamplifier,gregtech:gt.blockmachines:10772,,dreamcraft,TRUE,,,,,, +gt.recipe.uuamplifier,gregtech:gt.blockmachines:10773,,dreamcraft,TRUE,,,,,, +gt.recipe.uuamplifier,gregtech:gt.blockmachines:10774,,dreamcraft,TRUE,,,,,, +gt.recipe.uuamplifier,gregtech:gt.blockmachines:10775,,dreamcraft,TRUE,,,,,, +gt.recipe.uuamplifier,gregtech:gt.blockmachines:10776,,dreamcraft,TRUE,,,,,, +gt.recipe.assembler,gregtech:gt.blockmachines:10780,,dreamcraft,TRUE,,,,,, +gt.recipe.assembler,gregtech:gt.blockmachines:10781,,dreamcraft,TRUE,,,,,, +gt.recipe.assembler,gregtech:gt.blockmachines:10782,,dreamcraft,TRUE,,,,,, +gt.recipe.assembler,gregtech:gt.blockmachines:10783,,dreamcraft,TRUE,,,,,, +gt.recipe.assembler,gregtech:gt.blockmachines:10784,,dreamcraft,TRUE,,,,,, +gt.recipe.assembler,gregtech:gt.blockmachines:10785,,dreamcraft,TRUE,,,,,, +gt.recipe.assembler,gregtech:gt.blockmachines:10786,,dreamcraft,TRUE,,,,,, +gt.recipe.autoclave,gregtech:gt.blockmachines:10790,,dreamcraft,TRUE,,,,,, +gt.recipe.autoclave,gregtech:gt.blockmachines:10791,,dreamcraft,TRUE,,,,,, +gt.recipe.autoclave,gregtech:gt.blockmachines:10792,,dreamcraft,TRUE,,,,,, +gt.recipe.autoclave,gregtech:gt.blockmachines:10793,,dreamcraft,TRUE,,,,,, +gt.recipe.autoclave,gregtech:gt.blockmachines:10794,,dreamcraft,TRUE,,,,,, +gt.recipe.autoclave,gregtech:gt.blockmachines:10795,,dreamcraft,TRUE,,,,,, +gt.recipe.autoclave,gregtech:gt.blockmachines:10796,,dreamcraft,TRUE,,,,,, +gt.recipe.metalbender,gregtech:gt.blockmachines:10800,,dreamcraft,TRUE,,,,,, +gt.recipe.metalbender,gregtech:gt.blockmachines:10801,,dreamcraft,TRUE,,,,,, +gt.recipe.metalbender,gregtech:gt.blockmachines:10802,,dreamcraft,TRUE,,,,,, +gt.recipe.metalbender,gregtech:gt.blockmachines:10803,,dreamcraft,TRUE,,,,,, +gt.recipe.metalbender,gregtech:gt.blockmachines:10804,,dreamcraft,TRUE,,,,,, +gt.recipe.metalbender,gregtech:gt.blockmachines:10805,,dreamcraft,TRUE,,,,,, +gt.recipe.metalbender,gregtech:gt.blockmachines:10806,,dreamcraft,TRUE,,,,,, +gt.recipe.compressor,gregtech:gt.blockmachines:10810,,dreamcraft,TRUE,,,,,, +gt.recipe.compressor,gregtech:gt.blockmachines:10811,,dreamcraft,TRUE,,,,,, +gt.recipe.compressor,gregtech:gt.blockmachines:10812,,dreamcraft,TRUE,,,,,, +gt.recipe.compressor,gregtech:gt.blockmachines:10813,,dreamcraft,TRUE,,,,,, +gt.recipe.compressor,gregtech:gt.blockmachines:10814,,dreamcraft,TRUE,,,,,, +gt.recipe.compressor,gregtech:gt.blockmachines:10815,,dreamcraft,TRUE,,,,,, +gt.recipe.compressor,gregtech:gt.blockmachines:10816,,dreamcraft,TRUE,,,,,, +gt.recipe.cuttingsaw,gregtech:gt.blockmachines:10820,,dreamcraft,TRUE,,,,,, +gt.recipe.cuttingsaw,gregtech:gt.blockmachines:10821,,dreamcraft,TRUE,,,,,, +gt.recipe.cuttingsaw,gregtech:gt.blockmachines:10822,,dreamcraft,TRUE,,,,,, +gt.recipe.cuttingsaw,gregtech:gt.blockmachines:10823,,dreamcraft,TRUE,,,,,, +gt.recipe.cuttingsaw,gregtech:gt.blockmachines:10824,,dreamcraft,TRUE,,,,,, +gt.recipe.cuttingsaw,gregtech:gt.blockmachines:10825,,dreamcraft,TRUE,,,,,, +gt.recipe.cuttingsaw,gregtech:gt.blockmachines:10826,,dreamcraft,TRUE,,,,,, +gt.recipe.distillery,gregtech:gt.blockmachines:10830,,dreamcraft,TRUE,,,,,, +gt.recipe.distillery,gregtech:gt.blockmachines:10831,,dreamcraft,TRUE,,,,,, +gt.recipe.distillery,gregtech:gt.blockmachines:10832,,dreamcraft,TRUE,,,,,, +gt.recipe.distillery,gregtech:gt.blockmachines:10833,,dreamcraft,TRUE,,,,,, +gt.recipe.distillery,gregtech:gt.blockmachines:10834,,dreamcraft,TRUE,,,,,, +gt.recipe.distillery,gregtech:gt.blockmachines:10835,,dreamcraft,TRUE,,,,,, +gt.recipe.distillery,gregtech:gt.blockmachines:10836,,dreamcraft,TRUE,,,,,, +smelting,gregtech:gt.blockmachines:10840,,dreamcraft,TRUE,,,,,, +smelting,gregtech:gt.blockmachines:10841,,dreamcraft,TRUE,,,,,, +smelting,gregtech:gt.blockmachines:10842,,dreamcraft,TRUE,,,,,, +smelting,gregtech:gt.blockmachines:10843,,dreamcraft,TRUE,,,,,, +smelting,gregtech:gt.blockmachines:10844,,dreamcraft,TRUE,,,,,, +smelting,gregtech:gt.blockmachines:10845,,dreamcraft,TRUE,,,,,, +smelting,gregtech:gt.blockmachines:10846,,dreamcraft,TRUE,,,,,, +gt.recipe.electrolyzer,gregtech:gt.blockmachines:10850,,dreamcraft,TRUE,,,,,, +gt.recipe.electrolyzer,gregtech:gt.blockmachines:10851,,dreamcraft,TRUE,,,,,, +gt.recipe.electrolyzer,gregtech:gt.blockmachines:10852,,dreamcraft,TRUE,,,,,, +gt.recipe.electrolyzer,gregtech:gt.blockmachines:10853,,dreamcraft,TRUE,,,,,, +gt.recipe.electrolyzer,gregtech:gt.blockmachines:10854,,dreamcraft,TRUE,,,,,, +gt.recipe.electrolyzer,gregtech:gt.blockmachines:10855,,dreamcraft,TRUE,,,,,, +gt.recipe.electrolyzer,gregtech:gt.blockmachines:10856,,dreamcraft,TRUE,,,,,, +gt.recipe.electromagneticseparator,gregtech:gt.blockmachines:10860,,dreamcraft,TRUE,,,,,, +gt.recipe.electromagneticseparator,gregtech:gt.blockmachines:10861,,dreamcraft,TRUE,,,,,, +gt.recipe.electromagneticseparator,gregtech:gt.blockmachines:10862,,dreamcraft,TRUE,,,,,, +gt.recipe.electromagneticseparator,gregtech:gt.blockmachines:10863,,dreamcraft,TRUE,,,,,, +gt.recipe.electromagneticseparator,gregtech:gt.blockmachines:10864,,dreamcraft,TRUE,,,,,, +gt.recipe.electromagneticseparator,gregtech:gt.blockmachines:10865,,dreamcraft,TRUE,,,,,, +gt.recipe.electromagneticseparator,gregtech:gt.blockmachines:10866,,dreamcraft,TRUE,,,,,, +gt.recipe.extractor,gregtech:gt.blockmachines:10870,,dreamcraft,TRUE,,,,,, +gt.recipe.extractor,gregtech:gt.blockmachines:10871,,dreamcraft,TRUE,,,,,, +gt.recipe.extractor,gregtech:gt.blockmachines:10872,,dreamcraft,TRUE,,,,,, +gt.recipe.extractor,gregtech:gt.blockmachines:10873,,dreamcraft,TRUE,,,,,, +gt.recipe.extractor,gregtech:gt.blockmachines:10874,,dreamcraft,TRUE,,,,,, +gt.recipe.extractor,gregtech:gt.blockmachines:10875,,dreamcraft,TRUE,,,,,, +gt.recipe.extractor,gregtech:gt.blockmachines:10876,,dreamcraft,TRUE,,,,,, +gt.recipe.extruder,gregtech:gt.blockmachines:10880,,dreamcraft,TRUE,,,,,, +gt.recipe.extruder,gregtech:gt.blockmachines:10881,,dreamcraft,TRUE,,,,,, +gt.recipe.extruder,gregtech:gt.blockmachines:10882,,dreamcraft,TRUE,,,,,, +gt.recipe.extruder,gregtech:gt.blockmachines:10883,,dreamcraft,TRUE,,,,,, +gt.recipe.extruder,gregtech:gt.blockmachines:10884,,dreamcraft,TRUE,,,,,, +gt.recipe.extruder,gregtech:gt.blockmachines:10885,,dreamcraft,TRUE,,,,,, +gt.recipe.extruder,gregtech:gt.blockmachines:10886,,dreamcraft,TRUE,,,,,, +gt.recipe.fluidsolidifier,gregtech:gt.blockmachines:10890,,dreamcraft,TRUE,,,,,, +gt.recipe.fluidsolidifier,gregtech:gt.blockmachines:10891,,dreamcraft,TRUE,,,,,, +gt.recipe.fluidsolidifier,gregtech:gt.blockmachines:10892,,dreamcraft,TRUE,,,,,, +gt.recipe.fluidsolidifier,gregtech:gt.blockmachines:10893,,dreamcraft,TRUE,,,,,, +gt.recipe.fluidsolidifier,gregtech:gt.blockmachines:10894,,dreamcraft,TRUE,,,,,, +gt.recipe.fluidsolidifier,gregtech:gt.blockmachines:10895,,dreamcraft,TRUE,,,,,, +gt.recipe.fluidsolidifier,gregtech:gt.blockmachines:10896,,dreamcraft,TRUE,,,,,, +gt.recipe.press,gregtech:gt.blockmachines:10900,,dreamcraft,TRUE,,,,,, +gt.recipe.press,gregtech:gt.blockmachines:10901,,dreamcraft,TRUE,,,,,, +gt.recipe.press,gregtech:gt.blockmachines:10902,,dreamcraft,TRUE,,,,,, +gt.recipe.press,gregtech:gt.blockmachines:10903,,dreamcraft,TRUE,,,,,, +gt.recipe.press,gregtech:gt.blockmachines:10904,,dreamcraft,TRUE,,,,,, +gt.recipe.press,gregtech:gt.blockmachines:10905,,dreamcraft,TRUE,,,,,, +gt.recipe.press,gregtech:gt.blockmachines:10906,,dreamcraft,TRUE,,,,,, +gt.recipe.hammer,gregtech:gt.blockmachines:10910,,dreamcraft,TRUE,,,,,, +gt.recipe.hammer,gregtech:gt.blockmachines:10911,,dreamcraft,TRUE,,,,,, +gt.recipe.hammer,gregtech:gt.blockmachines:10912,,dreamcraft,TRUE,,,,,, +gt.recipe.hammer,gregtech:gt.blockmachines:10913,,dreamcraft,TRUE,,,,,, +gt.recipe.hammer,gregtech:gt.blockmachines:10914,,dreamcraft,TRUE,,,,,, +gt.recipe.hammer,gregtech:gt.blockmachines:10915,,dreamcraft,TRUE,,,,,, +gt.recipe.hammer,gregtech:gt.blockmachines:10916,,dreamcraft,TRUE,,,,,, +gt.recipe.lathe,gregtech:gt.blockmachines:10920,,dreamcraft,TRUE,,,,,, +gt.recipe.lathe,gregtech:gt.blockmachines:10921,,dreamcraft,TRUE,,,,,, +gt.recipe.lathe,gregtech:gt.blockmachines:10922,,dreamcraft,TRUE,,,,,, +gt.recipe.lathe,gregtech:gt.blockmachines:10923,,dreamcraft,TRUE,,,,,, +gt.recipe.lathe,gregtech:gt.blockmachines:10924,,dreamcraft,TRUE,,,,,, +gt.recipe.lathe,gregtech:gt.blockmachines:10925,,dreamcraft,TRUE,,,,,, +gt.recipe.lathe,gregtech:gt.blockmachines:10926,,dreamcraft,TRUE,,,,,, +gt.recipe.laserengraver,gregtech:gt.blockmachines:10930,,dreamcraft,TRUE,,,,,, +gt.recipe.laserengraver,gregtech:gt.blockmachines:10931,,dreamcraft,TRUE,,,,,, +gt.recipe.laserengraver,gregtech:gt.blockmachines:10932,,dreamcraft,TRUE,,,,,, +gt.recipe.laserengraver,gregtech:gt.blockmachines:10933,,dreamcraft,TRUE,,,,,, +gt.recipe.laserengraver,gregtech:gt.blockmachines:10934,,dreamcraft,TRUE,,,,,, +gt.recipe.laserengraver,gregtech:gt.blockmachines:10935,,dreamcraft,TRUE,,,,,, +gt.recipe.laserengraver,gregtech:gt.blockmachines:10936,,dreamcraft,TRUE,,,,,, +gt.recipe.macerator,gregtech:gt.blockmachines:10940,,dreamcraft,TRUE,,,,,, +gt.recipe.macerator,gregtech:gt.blockmachines:10941,,dreamcraft,TRUE,,,,,, +gt.recipe.macerator,gregtech:gt.blockmachines:10942,,dreamcraft,TRUE,,,,,, +gt.recipe.macerator,gregtech:gt.blockmachines:10943,,dreamcraft,TRUE,,,,,, +gt.recipe.macerator,gregtech:gt.blockmachines:10944,,dreamcraft,TRUE,,,,,, +gt.recipe.macerator,gregtech:gt.blockmachines:10945,,dreamcraft,TRUE,,,,,, +gt.recipe.macerator,gregtech:gt.blockmachines:10946,,dreamcraft,TRUE,,,,,, +gt.recipe.massfab,gregtech:gt.blockmachines:10950,,dreamcraft,TRUE,,,,,, +gt.recipe.massfab,gregtech:gt.blockmachines:10951,,dreamcraft,TRUE,,,,,, +gt.recipe.massfab,gregtech:gt.blockmachines:10952,,dreamcraft,TRUE,,,,,, +gt.recipe.massfab,gregtech:gt.blockmachines:10953,,dreamcraft,TRUE,,,,,, +gt.recipe.massfab,gregtech:gt.blockmachines:10954,,dreamcraft,TRUE,,,,,, +gt.recipe.massfab,gregtech:gt.blockmachines:10955,,dreamcraft,TRUE,,,,,, +gt.recipe.massfab,gregtech:gt.blockmachines:10956,,dreamcraft,TRUE,,,,,, +smelting,gregtech:gt.blockmachines:10960,,dreamcraft,TRUE,,,,,, +smelting,gregtech:gt.blockmachines:10961,,dreamcraft,TRUE,,,,,, +smelting,gregtech:gt.blockmachines:10962,,dreamcraft,TRUE,,,,,, +smelting,gregtech:gt.blockmachines:10963,,dreamcraft,TRUE,,,,,, +smelting,gregtech:gt.blockmachines:10964,,dreamcraft,TRUE,,,,,, +smelting,gregtech:gt.blockmachines:10965,,dreamcraft,TRUE,,,,,, +smelting,gregtech:gt.blockmachines:10966,,dreamcraft,TRUE,,,,,, +gt.recipe.orewasher,gregtech:gt.blockmachines:10970,,dreamcraft,TRUE,,,,,, +gt.recipe.orewasher,gregtech:gt.blockmachines:10971,,dreamcraft,TRUE,,,,,, +gt.recipe.orewasher,gregtech:gt.blockmachines:10972,,dreamcraft,TRUE,,,,,, +gt.recipe.orewasher,gregtech:gt.blockmachines:10973,,dreamcraft,TRUE,,,,,, +gt.recipe.orewasher,gregtech:gt.blockmachines:10974,,dreamcraft,TRUE,,,,,, +gt.recipe.orewasher,gregtech:gt.blockmachines:10975,,dreamcraft,TRUE,,,,,, +gt.recipe.orewasher,gregtech:gt.blockmachines:10976,,dreamcraft,TRUE,,,,,, +gt.recipe.polarizer,gregtech:gt.blockmachines:10980,,dreamcraft,TRUE,,,,,, +gt.recipe.polarizer,gregtech:gt.blockmachines:10981,,dreamcraft,TRUE,,,,,, +gt.recipe.polarizer,gregtech:gt.blockmachines:10982,,dreamcraft,TRUE,,,,,, +gt.recipe.polarizer,gregtech:gt.blockmachines:10983,,dreamcraft,TRUE,,,,,, +gt.recipe.polarizer,gregtech:gt.blockmachines:10984,,dreamcraft,TRUE,,,,,, +gt.recipe.polarizer,gregtech:gt.blockmachines:10985,,dreamcraft,TRUE,,,,,, +gt.recipe.polarizer,gregtech:gt.blockmachines:10986,,dreamcraft,TRUE,,,,,, +ic2.recycler,gregtech:gt.blockmachines:10990,,dreamcraft,TRUE,,,,,, +ic2.recycler,gregtech:gt.blockmachines:10991,,dreamcraft,TRUE,,,,,, +ic2.recycler,gregtech:gt.blockmachines:10992,,dreamcraft,TRUE,,,,,, +ic2.recycler,gregtech:gt.blockmachines:10993,,dreamcraft,TRUE,,,,,, +ic2.recycler,gregtech:gt.blockmachines:10994,,dreamcraft,TRUE,,,,,, +ic2.recycler,gregtech:gt.blockmachines:10995,,dreamcraft,TRUE,,,,,, +ic2.recycler,gregtech:gt.blockmachines:10996,,dreamcraft,TRUE,,,,,, +gt.recipe.replicator,gregtech:gt.blockmachines:11000,,dreamcraft,TRUE,,,,,, +gt.recipe.replicator,gregtech:gt.blockmachines:11001,,dreamcraft,TRUE,,,,,, +gt.recipe.replicator,gregtech:gt.blockmachines:11002,,dreamcraft,TRUE,,,,,, +gt.recipe.replicator,gregtech:gt.blockmachines:11003,,dreamcraft,TRUE,,,,,, +gt.recipe.replicator,gregtech:gt.blockmachines:11004,,dreamcraft,TRUE,,,,,, +gt.recipe.replicator,gregtech:gt.blockmachines:11005,,dreamcraft,TRUE,,,,,, +gt.recipe.replicator,gregtech:gt.blockmachines:11006,,dreamcraft,TRUE,,,,,, +gt.recipe.scanner,gregtech:gt.blockmachines:11010,,dreamcraft,TRUE,,,,,, +gt.recipe.scanner,gregtech:gt.blockmachines:11011,,dreamcraft,TRUE,,,,,, +gt.recipe.scanner,gregtech:gt.blockmachines:11012,,dreamcraft,TRUE,,,,,, +gt.recipe.scanner,gregtech:gt.blockmachines:11013,,dreamcraft,TRUE,,,,,, +gt.recipe.scanner,gregtech:gt.blockmachines:11014,,dreamcraft,TRUE,,,,,, +gt.recipe.scanner,gregtech:gt.blockmachines:11015,,dreamcraft,TRUE,,,,,, +gt.recipe.scanner,gregtech:gt.blockmachines:11016,,dreamcraft,TRUE,,,,,, +gt.recipe.sifter,gregtech:gt.blockmachines:11020,,dreamcraft,TRUE,,,,,, +gt.recipe.sifter,gregtech:gt.blockmachines:11021,,dreamcraft,TRUE,,,,,, +gt.recipe.sifter,gregtech:gt.blockmachines:11022,,dreamcraft,TRUE,,,,,, +gt.recipe.sifter,gregtech:gt.blockmachines:11023,,dreamcraft,TRUE,,,,,, +gt.recipe.sifter,gregtech:gt.blockmachines:11024,,dreamcraft,TRUE,,,,,, +gt.recipe.sifter,gregtech:gt.blockmachines:11025,,dreamcraft,TRUE,,,,,, +gt.recipe.sifter,gregtech:gt.blockmachines:11026,,dreamcraft,TRUE,,,,,, +gt.recipe.slicer,gregtech:gt.blockmachines:11028,,dreamcraft,TRUE,,,,,, +gt.recipe.slicer,gregtech:gt.blockmachines:11029,,dreamcraft,TRUE,,,,,, +gt.recipe.slicer,gregtech:gt.blockmachines:11030,,dreamcraft,TRUE,,,,,, +gt.recipe.slicer,gregtech:gt.blockmachines:11033,,dreamcraft,TRUE,,,,,, +gt.recipe.slicer,gregtech:gt.blockmachines:11034,,dreamcraft,TRUE,,,,,, +gt.recipe.slicer,gregtech:gt.blockmachines:11035,,dreamcraft,TRUE,,,,,, +gt.recipe.slicer,gregtech:gt.blockmachines:11036,,dreamcraft,TRUE,,,,,, +gt.recipe.thermalcentrifuge,gregtech:gt.blockmachines:11040,,dreamcraft,TRUE,,,,,, +gt.recipe.thermalcentrifuge,gregtech:gt.blockmachines:11041,,dreamcraft,TRUE,,,,,, +gt.recipe.thermalcentrifuge,gregtech:gt.blockmachines:11042,,dreamcraft,TRUE,,,,,, +gt.recipe.thermalcentrifuge,gregtech:gt.blockmachines:11043,,dreamcraft,TRUE,,,,,, +gt.recipe.thermalcentrifuge,gregtech:gt.blockmachines:11044,,dreamcraft,TRUE,,,,,, +gt.recipe.thermalcentrifuge,gregtech:gt.blockmachines:11045,,dreamcraft,TRUE,,,,,, +gt.recipe.thermalcentrifuge,gregtech:gt.blockmachines:11046,,dreamcraft,TRUE,,,,,, +gt.recipe.wiremill,gregtech:gt.blockmachines:11050,,dreamcraft,TRUE,,,,,, +gt.recipe.wiremill,gregtech:gt.blockmachines:11051,,dreamcraft,TRUE,,,,,, +gt.recipe.wiremill,gregtech:gt.blockmachines:11052,,dreamcraft,TRUE,,,,,, +gt.recipe.wiremill,gregtech:gt.blockmachines:11053,,dreamcraft,TRUE,,,,,, +gt.recipe.wiremill,gregtech:gt.blockmachines:11054,,dreamcraft,TRUE,,,,,, +gt.recipe.wiremill,gregtech:gt.blockmachines:11055,,dreamcraft,TRUE,,,,,, +gt.recipe.wiremill,gregtech:gt.blockmachines:11056,,dreamcraft,TRUE,,,,,, +gt.recipe.arcfurnace,gregtech:gt.blockmachines:11070,,dreamcraft,TRUE,,,,,, +gt.recipe.arcfurnace,gregtech:gt.blockmachines:11071,,dreamcraft,TRUE,,,,,, +gt.recipe.arcfurnace,gregtech:gt.blockmachines:11072,,dreamcraft,TRUE,,,,,, +gt.recipe.arcfurnace,gregtech:gt.blockmachines:11073,,dreamcraft,TRUE,,,,,, +gt.recipe.arcfurnace,gregtech:gt.blockmachines:11074,,dreamcraft,TRUE,,,,,, +gt.recipe.arcfurnace,gregtech:gt.blockmachines:11075,,dreamcraft,TRUE,,,,,, +gt.recipe.arcfurnace,gregtech:gt.blockmachines:11076,,dreamcraft,TRUE,,,,,, +gt.recipe.centrifuge,gregtech:gt.blockmachines:11080,,dreamcraft,TRUE,,,,,, +gt.recipe.centrifuge,gregtech:gt.blockmachines:11081,,dreamcraft,TRUE,,,,,, +gt.recipe.centrifuge,gregtech:gt.blockmachines:11082,,dreamcraft,TRUE,,,,,, +gt.recipe.centrifuge,gregtech:gt.blockmachines:11083,,dreamcraft,TRUE,,,,,, +gt.recipe.centrifuge,gregtech:gt.blockmachines:11084,,dreamcraft,TRUE,,,,,, +gt.recipe.centrifuge,gregtech:gt.blockmachines:11085,,dreamcraft,TRUE,,,,,, +gt.recipe.centrifuge,gregtech:gt.blockmachines:11086,,dreamcraft,TRUE,,,,,, +gt.recipe.plasmaarcfurnace,gregtech:gt.blockmachines:11090,,dreamcraft,TRUE,,,,,, +gt.recipe.plasmaarcfurnace,gregtech:gt.blockmachines:11091,,dreamcraft,TRUE,,,,,, +gt.recipe.plasmaarcfurnace,gregtech:gt.blockmachines:11092,,dreamcraft,TRUE,,,,,, +gt.recipe.plasmaarcfurnace,gregtech:gt.blockmachines:11093,,dreamcraft,TRUE,,,,,, +gt.recipe.plasmaarcfurnace,gregtech:gt.blockmachines:11094,,dreamcraft,TRUE,,,,,, +gt.recipe.plasmaarcfurnace,gregtech:gt.blockmachines:11095,,dreamcraft,TRUE,,,,,, +gt.recipe.plasmaarcfurnace,gregtech:gt.blockmachines:11096,,dreamcraft,TRUE,,,,,, +gt.recipe.brewer,gregtech:gt.blockmachines:11120,,dreamcraft,TRUE,,,,,, +gt.recipe.brewer,gregtech:gt.blockmachines:11121,,dreamcraft,TRUE,,,,,, +gt.recipe.brewer,gregtech:gt.blockmachines:11122,,dreamcraft,TRUE,,,,,, +gt.recipe.brewer,gregtech:gt.blockmachines:11123,,dreamcraft,TRUE,,,,,, +gt.recipe.brewer,gregtech:gt.blockmachines:11124,,dreamcraft,TRUE,,,,,, +gt.recipe.brewer,gregtech:gt.blockmachines:11125,,dreamcraft,TRUE,,,,,, +gt.recipe.brewer,gregtech:gt.blockmachines:11126,,dreamcraft,TRUE,,,,,, +gt.recipe.canner,gregtech:gt.blockmachines:11130,,dreamcraft,TRUE,,,,,, +gt.recipe.canner,gregtech:gt.blockmachines:11131,,dreamcraft,TRUE,,,,,, +gt.recipe.canner,gregtech:gt.blockmachines:11132,,dreamcraft,TRUE,,,,,, +gt.recipe.canner,gregtech:gt.blockmachines:11133,,dreamcraft,TRUE,,,,,, +gt.recipe.canner,gregtech:gt.blockmachines:11134,,dreamcraft,TRUE,,,,,, +gt.recipe.canner,gregtech:gt.blockmachines:11135,,dreamcraft,TRUE,,,,,, +gt.recipe.canner,gregtech:gt.blockmachines:11136,,dreamcraft,TRUE,,,,,, +gt.recipe.chemicalbath,gregtech:gt.blockmachines:11140,,dreamcraft,TRUE,,,,,, +gt.recipe.chemicalbath,gregtech:gt.blockmachines:11141,,dreamcraft,TRUE,,,,,, +gt.recipe.chemicalbath,gregtech:gt.blockmachines:11142,,dreamcraft,TRUE,,,,,, +gt.recipe.chemicalbath,gregtech:gt.blockmachines:11143,,dreamcraft,TRUE,,,,,, +gt.recipe.chemicalbath,gregtech:gt.blockmachines:11144,,dreamcraft,TRUE,,,,,, +gt.recipe.chemicalbath,gregtech:gt.blockmachines:11145,,dreamcraft,TRUE,,,,,, +gt.recipe.chemicalbath,gregtech:gt.blockmachines:11146,,dreamcraft,TRUE,,,,,, +gt.recipe.chemicalreactor,gregtech:gt.blockmachines:11150,,dreamcraft,TRUE,,,,,, +gt.recipe.chemicalreactor,gregtech:gt.blockmachines:11151,,dreamcraft,TRUE,,,,,, +gt.recipe.chemicalreactor,gregtech:gt.blockmachines:11152,,dreamcraft,TRUE,,,,,, +gt.recipe.chemicalreactor,gregtech:gt.blockmachines:11153,,dreamcraft,TRUE,,,,,, +gt.recipe.chemicalreactor,gregtech:gt.blockmachines:11154,,dreamcraft,TRUE,,,,,, +gt.recipe.chemicalreactor,gregtech:gt.blockmachines:11155,,dreamcraft,TRUE,,,,,, +gt.recipe.chemicalreactor,gregtech:gt.blockmachines:11156,,dreamcraft,TRUE,,,,,, +gt.recipe.fermenter,gregtech:gt.blockmachines:11170,,dreamcraft,TRUE,,,,,, +gt.recipe.fermenter,gregtech:gt.blockmachines:11171,,dreamcraft,TRUE,,,,,, +gt.recipe.fermenter,gregtech:gt.blockmachines:11172,,dreamcraft,TRUE,,,,,, +gt.recipe.fermenter,gregtech:gt.blockmachines:11173,,dreamcraft,TRUE,,,,,, +gt.recipe.fermenter,gregtech:gt.blockmachines:11174,,dreamcraft,TRUE,,,,,, +gt.recipe.fermenter,gregtech:gt.blockmachines:11175,,dreamcraft,TRUE,,,,,, +gt.recipe.fermenter,gregtech:gt.blockmachines:11176,,dreamcraft,TRUE,,,,,, +gt.recipe.fluidcanner,gregtech:gt.blockmachines:11180,,dreamcraft,TRUE,,,,,, +gt.recipe.fluidcanner,gregtech:gt.blockmachines:11181,,dreamcraft,TRUE,,,,,, +gt.recipe.fluidcanner,gregtech:gt.blockmachines:11182,,dreamcraft,TRUE,,,,,, +gt.recipe.fluidcanner,gregtech:gt.blockmachines:11183,,dreamcraft,TRUE,,,,,, +gt.recipe.fluidcanner,gregtech:gt.blockmachines:11184,,dreamcraft,TRUE,,,,,, +gt.recipe.fluidcanner,gregtech:gt.blockmachines:11185,,dreamcraft,TRUE,,,,,, +gt.recipe.fluidcanner,gregtech:gt.blockmachines:11186,,dreamcraft,TRUE,,,,,, +gt.recipe.fluidextractor,gregtech:gt.blockmachines:11190,,dreamcraft,TRUE,,,,,, +gt.recipe.fluidextractor,gregtech:gt.blockmachines:11191,,dreamcraft,TRUE,,,,,, +gt.recipe.fluidextractor,gregtech:gt.blockmachines:11192,,dreamcraft,TRUE,,,,,, +gt.recipe.fluidextractor,gregtech:gt.blockmachines:11193,,dreamcraft,TRUE,,,,,, +gt.recipe.fluidextractor,gregtech:gt.blockmachines:11194,,dreamcraft,TRUE,,,,,, +gt.recipe.fluidextractor,gregtech:gt.blockmachines:11195,,dreamcraft,TRUE,,,,,, +gt.recipe.fluidextractor,gregtech:gt.blockmachines:11196,,dreamcraft,TRUE,,,,,, +gt.recipe.fluidheater,gregtech:gt.blockmachines:11200,,dreamcraft,TRUE,,,,,, +gt.recipe.fluidheater,gregtech:gt.blockmachines:11201,,dreamcraft,TRUE,,,,,, +gt.recipe.fluidheater,gregtech:gt.blockmachines:11202,,dreamcraft,TRUE,,,,,, +gt.recipe.fluidheater,gregtech:gt.blockmachines:11203,,dreamcraft,TRUE,,,,,, +gt.recipe.fluidheater,gregtech:gt.blockmachines:11204,,dreamcraft,TRUE,,,,,, +gt.recipe.fluidheater,gregtech:gt.blockmachines:11205,,dreamcraft,TRUE,,,,,, +gt.recipe.fluidheater,gregtech:gt.blockmachines:11206,,dreamcraft,TRUE,,,,,, +gt.recipe.mixer,gregtech:gt.blockmachines:11210,,dreamcraft,TRUE,,,,,, +gt.recipe.mixer,gregtech:gt.blockmachines:11211,,dreamcraft,TRUE,,,,,, +gt.recipe.mixer,gregtech:gt.blockmachines:11212,,dreamcraft,TRUE,,,,,, +gt.recipe.mixer,gregtech:gt.blockmachines:11213,,dreamcraft,TRUE,,,,,, +gt.recipe.mixer,gregtech:gt.blockmachines:11214,,dreamcraft,TRUE,,,,,, +gt.recipe.mixer,gregtech:gt.blockmachines:11215,,dreamcraft,TRUE,,,,,, +gt.recipe.mixer,gregtech:gt.blockmachines:11216,,dreamcraft,TRUE,,,,,, +gt.recipe.rockbreaker,gregtech:gt.blockmachines:12080,,dreamcraft,TRUE,,,,,, +gt.recipe.rockbreaker,gregtech:gt.blockmachines:12081,,dreamcraft,TRUE,,,,,, +gt.recipe.rockbreaker,gregtech:gt.blockmachines:12082,,dreamcraft,TRUE,,,,,, +gt.recipe.rockbreaker,gregtech:gt.blockmachines:12083,,dreamcraft,TRUE,,,,,, +gt.recipe.rockbreaker,gregtech:gt.blockmachines:12084,,dreamcraft,TRUE,,,,,, +gt.recipe.rockbreaker,gregtech:gt.blockmachines:12085,,dreamcraft,TRUE,,,,,, +gt.recipe.rockbreaker,gregtech:gt.blockmachines:12086,,dreamcraft,TRUE,,,,,, +gt.recipe.circuitassembler,gregtech:gt.blockmachines:12090,,dreamcraft,TRUE,,,,,, +gt.recipe.circuitassembler,gregtech:gt.blockmachines:12091,,dreamcraft,TRUE,,,,,, +gt.recipe.circuitassembler,gregtech:gt.blockmachines:12092,,dreamcraft,TRUE,,,,,, +gt.recipe.circuitassembler,gregtech:gt.blockmachines:12093,,dreamcraft,TRUE,,,,,, +gt.recipe.circuitassembler,gregtech:gt.blockmachines:12094,,dreamcraft,TRUE,,,,,, +gt.recipe.circuitassembler,gregtech:gt.blockmachines:12095,,dreamcraft,TRUE,,,,,, +gt.recipe.circuitassembler,gregtech:gt.blockmachines:12096,,dreamcraft,TRUE,,,,,, +gt.recipe.alloysmelter,gregtech:gt.blockmachines:31023,,miscutils,TRUE,,,,,, +gt.recipe.assembler,gregtech:gt.blockmachines:876,,miscutils,TRUE,,,,,, +gt.recipe.metalbender,gregtech:gt.blockmachines:792,,miscutils,TRUE,,,,,, +gt.recipe.compressor,gregtech:gt.blockmachines:860,,miscutils,TRUE,,,,,, +gt.recipe.cuttingsaw,gregtech:gt.blockmachines:992,,miscutils,TRUE,,,,,, +gt.recipe.extractor,gregtech:gt.blockmachines:860,,miscutils,TRUE,,,,,, +gt.recipe.extruder,gregtech:gt.blockmachines:859,,miscutils,TRUE,,,,,, +gt.recipe.lathe,gregtech:gt.blockmachines:860,,miscutils,TRUE,,,,,, +gt.recipe.macerator,gregtech:gt.blockmachines:31041,,miscutils,TRUE,,,,,, +gt.recipe.macerator,gregtech:gt.blockmachines:797,,miscutils,TRUE,,,,,, +ic2.recycler,gregtech:gt.blockmachines:799,,miscutils,TRUE,,,,,, +gt.recipe.wiremill,gregtech:gt.blockmachines:798,,miscutils,TRUE,,,,,, +gt.recipe.thermalcentrifuge,gregtech:gt.blockmachines:849,,miscutils,TRUE,,,,,, +gt.recipe.orewasher,gregtech:gt.blockmachines:850,,miscutils,TRUE,,,,,, +gt.recipe.packager,gregtech:gt.blockmachines:942,,miscutils,TRUE,,,,,, +gt.recipe.rockbreaker,gregtech:gt.blockmachines:31065,,miscutils,TRUE,,,,,, +gt.recipe.fermenter,gregtech:gt.blockmachines:860,,miscutils,TRUE,,,,,, +gt.recipe.fluidextractor,gregtech:gt.blockmachines:860,,miscutils,TRUE,,,,,, +gt.recipe.fluidsolidifier,gregtech:gt.blockmachines:860,,miscutils,TRUE,,,,,, +gt.recipe.distillationtower,gregtech:gt.blockmachines:31021,,miscutils,TRUE,,,,,, +gt.recipe.chemicalbath,gregtech:gt.blockmachines:850,,miscutils,TRUE,,,,,, +gt.recipe.polarizer,gregtech:gt.blockmachines:860,,miscutils,TRUE,,,,,, +gt.recipe.autoclave,gregtech:gt.blockmachines:860,,miscutils,TRUE,,,,,, +gt.recipe.laserengraver,gregtech:gt.blockmachines:860,,miscutils,TRUE,,,,,, +gt.recipe.press,gregtech:gt.blockmachines:792,,miscutils,TRUE,,,,,, +gt.recipe.slicer,gregtech:gt.blockmachines:992,,miscutils,TRUE,,,,,, +gt.recipe.sifter,gregtech:gt.blockmachines:840,,miscutils,TRUE,,,,,, +gt.recipe.arcfurnace,gregtech:gt.blockmachines:862,,miscutils,TRUE,,,,,, +gt.recipe.plasmaarcfurnace,gregtech:gt.blockmachines:862,,miscutils,TRUE,,,,,, +gt.recipe.blastfurnace,gregtech:gt.blockmachines:963,,miscutils,TRUE,,,,,, +gt.recipe.implosioncompressor,gregtech:gt.blockmachines:964,,miscutils,TRUE,,,,,, +gt.recipe.dieselgeneratorfuel,gregtech:gt.blockmachines:960,,miscutils,TRUE,,10,,,, +gt.recipe.gasturbinefuel,gregtech:gt.blockmachines:961,,miscutils,TRUE,,10,,,, +gtpp.recipe.chemicaldehydrator,gregtech:gt.blockmachines:911,,miscutils,TRUE,,,,,, +gtpp.recipe.chemicaldehydrator,gregtech:gt.blockmachines:912,,miscutils,TRUE,,,,,, +gtpp.recipe.chemicaldehydrator,gregtech:gt.blockmachines:813,,miscutils,TRUE,,,,,, +gtpp.recipe.chemicaldehydrator,gregtech:gt.blockmachines:814,,miscutils,TRUE,,,,,, +gtpp.recipe.chemicaldehydrator,gregtech:gt.blockmachines:815,,miscutils,TRUE,,,,,, +gtpp.recipe.chemicaldehydrator,gregtech:gt.blockmachines:816,,miscutils,TRUE,,,,,, +gtpp.recipe.chemicaldehydrator,gregtech:gt.blockmachines:995,,miscutils,TRUE,,,,,, +gt.recipe.mixer,gregtech:gt.blockmachines:851,,miscutils,TRUE,,,,,, +gt.recipe.mixer,gregtech:gt.blockmachines:852,,miscutils,TRUE,,,,,, +gt.recipe.mixer,gregtech:gt.blockmachines:853,,miscutils,TRUE,,,,,, +gt.recipe.mixer,gregtech:gt.blockmachines:854,,miscutils,TRUE,,,,,, +gt.recipe.mixer,gregtech:gt.blockmachines:855,,miscutils,TRUE,,,,,, +gt.recipe.mixer,gregtech:gt.blockmachines:856,,miscutils,TRUE,,,,,, +gt.recipe.mixer,gregtech:gt.blockmachines:857,,miscutils,TRUE,,,,,, +gt.recipe.mixer,gregtech:gt.blockmachines:858,,miscutils,TRUE,,,,,, +gt.recipe.fusionreactor,gregtech:gt.blockmachines:965,,miscutils,TRUE,,,,,, +gtpp.recipe.alloyblastsmelter,gregtech:gt.blockmachines:810,,miscutils,TRUE,,,,,, +gtpp.recipe.rocketenginefuel,gregtech:gt.blockmachines:793,,miscutils,TRUE,,,,,, +gtpp.recipe.rocketenginefuel,gregtech:gt.blockmachines:794,,miscutils,TRUE,,,,,, +gtpp.recipe.rocketenginefuel,gregtech:gt.blockmachines:795,,miscutils,TRUE,,,,,, +gtpp.recipe.rocketenginefuel,gregtech:gt.blockmachines:996,,miscutils,TRUE,,,,,, +gtpp.recipe.cyclotron,gregtech:gt.blockmachines:828,,miscutils,TRUE,,,,,, +gtpp.recipe.slowfusionreactor,gregtech:gt.blockmachines:31015,,miscutils,TRUE,,,,,,cannot find +gtpp.recipe.RTGgenerators,gregtech:gt.blockmachines:869,,miscutils,TRUE,,,,,, +gtpp.recipe.cokeoven,gregtech:gt.blockmachines:791,,miscutils,TRUE,,,,,, +gtpp.recipe.semifluidgeneratorfuels,gregtech:gt.blockmachines:837,,miscutils,TRUE,,,,,, +gtpp.recipe.semifluidgeneratorfuels,gregtech:gt.blockmachines:838,,miscutils,TRUE,,,,,, +gtpp.recipe.semifluidgeneratorfuels,gregtech:gt.blockmachines:839,,miscutils,TRUE,,,,,, +gtpp.recipe.semifluidgeneratorfuels,gregtech:gt.blockmachines:31026,,miscutils,TRUE,,,,,, +gtpp.recipe.fishpond,gregtech:gt.blockmachines:829,,miscutils,TRUE,,,,,, +gtpp.recipe.multimixer,gregtech:gt.blockmachines:811,,miscutils,TRUE,,,,,, +gtpp.recipe.cryogenicfreezer,gregtech:gt.blockmachines:910,,miscutils,TRUE,,,,,, +gtpp.recipe.fissionfuel,gregtech:gt.blockmachines:835,,miscutils,TRUE,,,,,, +gtpp.recipe.geothermalfuel,gregtech:gt.blockmachines:830,,miscutils,TRUE,,,,,,cannot find recipe +gtpp.recipe.lftr,gregtech:gt.blockmachines:751,,miscutils,TRUE,,,,,, +gtpp.recipe.lftr.2,gregtech:gt.blockmachines:751,,miscutils,TRUE,,,,,, +gtpp.recipe.lftr.sparging,gregtech:gt.blockmachines:31035,,miscutils,TRUE,,,,,,not working well +gtpp.recipe.matterfab2,gregtech:gt.blockmachines:799,,miscutils,TRUE,,,,,, +gtpp.recipe.multicentrifuge,gregtech:gt.blockmachines:790,,miscutils,TRUE,,,,,, +gtpp.recipe.multielectro,gregtech:gt.blockmachines:796,,miscutils,TRUE,,,,,, +gtpp.recipe.simplewasher,gregtech:gt.blockmachines:767,,miscutils,TRUE,,,,,, +gtpp.recipe.simplewasher,gregtech:gt.blockmachines:31017,,miscutils,TRUE,,,,,, +gtpp.recipe.simplewasher,gregtech:gt.blockmachines:31018,,miscutils,TRUE,,,,,, +gtpp.recipe.simplewasher,gregtech:gt.blockmachines:31019,,miscutils,TRUE,,,,,, +gtpp.recipe.simplewasher,gregtech:gt.blockmachines:31020,,miscutils,TRUE,,,,,, +gtpp.recipe.vacfurnace,gregtech:gt.blockmachines:995,,miscutils,TRUE,,,,,, +gtPlusPlus.nei.GT_NEI_FlotationCell,gregtech:gt.blockmachines:31028,,miscutils,TRUE,,,,,, +gtPlusPlus.nei.GT_NEI_FluidReactor,gregtech:gt.blockmachines:998,,miscutils,TRUE,,,,,, +gtPlusPlus.nei.GT_NEI_MillingMachine,gregtech:gt.blockmachines:31027,,miscutils,TRUE,,,,,, +team.chisel.compat.nei.RecipeHandlerChisel,gregtech:gt.blockmachines:31066,,miscutils,TRUE,,,,,, +team.chisel.compat.nei.RecipeHandlerChisel,gregtech:gt.blockmachines:31067,,miscutils,TRUE,,,,,, +team.chisel.compat.nei.RecipeHandlerChisel,gregtech:gt.blockmachines:31068,,miscutils,TRUE,,,,,, +team.chisel.compat.nei.RecipeHandlerChisel,gregtech:gt.blockmachines:31069,,miscutils,TRUE,,,,,, +gt.recipe.blastfurnace,gregtech:gt.blockmachines:12730,,bartworks,TRUE,,,,,, +gt.recipe.vacuumfreezer,gregtech:gt.blockmachines:12731,,bartworks,TRUE,,,,,, +gt.recipe.distillationtower,gregtech:gt.blockmachines:12738,,bartworks,TRUE,,,,,, +bw.fuels.acidgens,gregtech:gt.blockmachines:12793,,bartworks,TRUE,,,,,, +bw.fuels.acidgens,gregtech:gt.blockmachines:12726,,bartworks,TRUE,,,,,, +bw.fuels.acidgens,gregtech:gt.blockmachines:12727,,bartworks,TRUE,,,,,, +bw.fuels.acidgens,gregtech:gt.blockmachines:12728,,bartworks,TRUE,,,,,, +bw.recipe.cal,gregtech:gt.blockmachines:12735,,bartworks,TRUE,,,,,, +bw.recipe.biolab,gregtech:gt.blockmachines:12699,,bartworks,TRUE,,,,,, +bw.recipe.biolab,gregtech:gt.blockmachines:12700,,bartworks,TRUE,,,,,, +bw.recipe.biolab,gregtech:gt.blockmachines:12701,,bartworks,TRUE,,,,,, +bw.recipe.biolab,gregtech:gt.blockmachines:12702,,bartworks,TRUE,,,,,, +bw.recipe.biolab,gregtech:gt.blockmachines:12703,,bartworks,TRUE,,,,,, +bw.recipe.biolab,gregtech:gt.blockmachines:12704,,bartworks,TRUE,,,,,, +bw.recipe.biolab,gregtech:gt.blockmachines:12705,,bartworks,TRUE,,,,,, +bw.recipe.biolab,gregtech:gt.blockmachines:12706,,bartworks,TRUE,,,,,, +bw.recipe.biolab,gregtech:gt.blockmachines:12707,,bartworks,TRUE,,,,,, +bw.recipe.biolab,gregtech:gt.blockmachines:12708,,bartworks,TRUE,,,,,, +bw.recipe.biolab,gregtech:gt.blockmachines:12709,,bartworks,TRUE,,,,,, +bw.recipe.biolab,gregtech:gt.blockmachines:12710,,bartworks,TRUE,,,,,, +bw.recipe.biolab,gregtech:gt.blockmachines:12711,,bartworks,TRUE,,,,,, +bw.recipe.BacteriaVat,gregtech:gt.blockmachines:12712,,bartworks,TRUE,,,,,, +gt.recipe.electricimplosioncompressor,gregtech:gt.blockmachines:12734,,bartworks,TRUE,,,,,, +gt.recipe.dieselgeneratorfuel,gregtech:gt.blockmachines:1113,,GoodGenerator,TRUE,,,,,, +gt.recipe.dieselgeneratorfuel,gregtech:gt.blockmachines:1114,,GoodGenerator,TRUE,,,,,, +gt.recipe.dieselgeneratorfuel,gregtech:gt.blockmachines:32001,,GoodGenerator,TRUE,,-10,,,, +gt.recipe.gasturbinefuel,gregtech:gt.blockmachines:32001,,GoodGenerator,TRUE,,-10,,,, +gg.recipe.naquadah_reactor,gregtech:gt.blockmachines:12732,,GoodGenerator,TRUE,,,,,, +gg.recipe.naquadah_fuel_refine_factory,gregtech:gt.blockmachines:16999,,GoodGenerator,TRUE,,,,,, +gt.recipe.researchStation,gregtech:gt.blockmachines:15331,,tectech,TRUE,,,,,, +gt.recipe.em_scanner,tectech:item.em.definitionScanStorage,,tectech,TRUE,,,,,,no recipe? don't know +gt.recipe.gasturbinefuel,gregtech:gt.blockmachines:13101,,kekztech,TRUE,,,,,, +gt.recipe.gasturbinefuel,gregtech:gt.blockmachines:13102,,kekztech,TRUE,,,,,, \ No newline at end of file diff --git a/src/main/resources/assets/nei/csv/handlers.csv b/src/main/resources/assets/nei/csv/handlers.csv index 7c977034f..3dbf01807 100644 --- a/src/main/resources/assets/nei/csv/handlers.csv +++ b/src/main/resources/assets/nei/csv/handlers.csv @@ -355,7 +355,7 @@ vazkii.botania.client.integration.nei.recipe.RecipeHandlerRunicAltar,Botania,Bot vazkii.botania.client.integration.nei.recipe.RecipeHandlerManaPool,Botania,Botania:pool,,Botania,TRUE,,,90,137,4,,,,,, vazkii.botania.client.integration.nei.recipe.RecipeHandlerElvenTrade,Botania,Botania:alfheimPortal,,Botania,TRUE,,,90,130,4,,,,,, vazkii.botania.client.integration.nei.recipe.RecipeHandlerBrewery,Botania,Botania:brewery,,Botania,TRUE,,,,,4,,,,,, -vazkii.botania.client.integration.nei.recipe.RecipeHandlerPureDaisy,Botania,Botania:specialFlower,"{""type"": ""puredaisy""}",Botania,TRUE,,,,,4,,,,,, +vazkii.botania.client.integration.nei.recipe.RecipeHandlerPureDaisy,Botania,Botania:specialFlower,"{type:puredaisy}",Botania,TRUE,,,,,4,,,,,, vazkii.botania.client.integration.nei.recipe.RecipeHandlerLexicaBotania,Botania,Botania:lexicon,,Botania,TRUE,,,,,,,,,,, com.jaquadro.minecraft.storagedrawers.integration.notenoughitems.UpgradeItemRecipeHandler,Storage Drawers,minecraft:crafting_table,,StorageDrawers,TRUE,,,65,166,5,,,,,, ieArcFurnace,Immersive Engineering,ImmersiveEngineering:graphiteElectrode,,ImmersiveEngineering,TRUE,,,65,166,5,,,,,, @@ -411,6 +411,7 @@ mekanism.client.nei.ChemicalOxidizerRecipeHandler,Mekanism,Mekanism:MachineBlock mekanism.client.nei.ChemicalWasherRecipeHandler,Mekanism,Mekanism:MachineBlock2:7,,Mekanism,TRUE,,,70,,5,,,,,, mekanism.client.nei.CombinerRecipeHandler,Mekanism,Mekanism:MachineBlock:2,,Mekanism,TRUE,,,68,,5,,,,,, mekanism.client.nei.CrusherRecipeHandler,Mekanism,Mekanism:MachineBlock:3,,Mekanism,TRUE,,,68,,5,,,,,, +mekanism.client.nei.EnrichmentChamberRecipeHandler,Mekanism,Mekanism:MachineBlock:0,,Mekanism,TRUE,,,68,,5,,,,,, mekanism.client.nei.MetallurgicInfuserRecipeHandler,Mekanism,Mekanism:MachineBlock:8,,Mekanism,TRUE,,,56,,5,,,,,, mekanism.client.nei.OsmiumCompressorRecipeHandler,Mekanism,Mekanism:MachineBlock:1,,Mekanism,TRUE,,,68,,5,,,,,, mekanism.client.nei.PRCRecipeHandler,Mekanism,Mekanism:MachineBlock2:10,,Mekanism,TRUE,,,68,,5,,,,,, @@ -450,10 +451,17 @@ neresources.nei.NEIEnchantmentHandler,Not Enough Resources,minecraft:anvil,,nere neresources.nei.NEIMobHandler,Not Enough Resources,minecraft:skull:4,,neresources,TRUE,,,130,166,2,,,,,, neresources.nei.NEIOreHandler,Not Enough Resources,minecraft:diamond_ore,,neresources,TRUE,,,65,166,5,,,,,, neresources.nei.NEIPlantHandler,Not Enough Resources,minecraft:wheat,,neresources,TRUE,,,130,166,2,,,,,, -wanion.biggercraftingtables.nei.BigShapedRecipeHandler,Bigger Crafting Tables,minecraft:crafting_table,,biggercraftingtables,TRUE,,,130,,2,,,,,, +wanion.biggercraftingtables.nei.BigShapedRecipeHandler,Bigger Crafting Tables,biggercraftingtables:BiggerCraftingTables,,biggercraftingtables,TRUE,,,130,,2,,,,,, +wanion.biggercraftingtables.nei.BigShapelessRecipeHandler,Bigger Crafting Tables,biggercraftingtables:BiggerCraftingTables,,biggercraftingtables,TRUE,,,130,,2,,,,,, +wanion.biggercraftingtables.nei.HugeShapedRecipeHandler,Bigger Crafting Tables,biggercraftingtables:BiggerCraftingTables:1,,biggercraftingtables,TRUE,,,130,,2,,,,,, +wanion.biggercraftingtables.nei.HugeShapelessRecipeHandler,Bigger Crafting Tables,biggercraftingtables:BiggerCraftingTables:1,,biggercraftingtables,TRUE,,,130,,2,,,,,, net.machinemuse.numina.nei.JSONRecipeHandler,Modular Powersuits,powersuits:tile.tinkerTable,,powersuits,TRUE,,,65,166,5,,,,,, com.teammetallurgy.metallurgy.nei.CrusherHandler,Metallurgy 4,Metallurgy:crusher,,Metallurgy,TRUE,,,65,166,5,,,,,, +nc.crafting.nei.MetalFurnaceRecipeHandler,NuclearCraft,NuclearCraft:furnaceIdle,,NuclearCraft,TRUE,,,65,166,5,,,,,, +nc.crafting.nei.ElectricFurnaceRecipeHandler,NuclearCraft,NuclearCraft:electricFurnaceIdle,,NuclearCraft,TRUE,,,65,166,5,,,,,, nc.crafting.nei.NuclearFurnaceRecipeHandler,NuclearCraft,NuclearCraft:nuclearFurnaceIdle,,NuclearCraft,TRUE,,,65,166,5,,,,,, +nc.crafting.nei.FactoryRecipeHandler,NuclearCraft,NuclearCraft:factoryIdle,,NuclearCraft,TRUE,,,65,166,5,,,,,, +nc.crafting.nei.AssemblerRecipeHandler,NuclearCraft,NuclearCraft:assemblerIdle,,NuclearCraft,TRUE,,,65,166,5,,,,,, nc.crafting.nei.SeparatorRecipeHandler,NuclearCraft,NuclearCraft:separatorIdle,,NuclearCraft,TRUE,,,65,166,5,,,,,, nc.crafting.nei.HastenerRecipeHandler,NuclearCraft,NuclearCraft:hastenerIdle,,NuclearCraft,TRUE,,,65,166,5,,,,,, nc.crafting.nei.CollectorRecipeHandler,NuclearCraft,NuclearCraft:collectorIdle,,NuclearCraft,TRUE,,,65,166,5,,,,,, @@ -465,4 +473,4 @@ nc.crafting.nei.HeliumExtractorRecipeHandler,NuclearCraft,NuclearCraft:heliumExt nc.crafting.nei.RecyclerRecipeHandler,NuclearCraft,NuclearCraft:recyclerIdle,,NuclearCraft,TRUE,,,65,166,5,,,,,, nc.crafting.nei.NuclearWorkspaceRecipeHandler,NuclearCraft,NuclearCraft:nuclearWorkspace,,NuclearCraft,TRUE,,,130,,2,,,,,, ganymedes01.etfuturum.NEI_EtFuturum_Config$NEI_Recipes_Smoker,EtFuturum Requiem,etfuturum:lit_smoker,,etfuturum,TRUE,,,65,166,5,,,,,, -ganymedes01.etfuturum.NEI_EtFuturum_Config$NEI_Recipes_BlastFurnace,EtFuturum Requiem,etfuturum:lit_blast_furnace,,etfuturum,TRUE,,,65,166,5,,,,,, +ganymedes01.etfuturum.NEI_EtFuturum_Config$NEI_Recipes_BlastFurnace,EtFuturum Requiem,etfuturum:lit_blast_furnace,,etfuturum,TRUE,,,65,166,5,,,,,, \ No newline at end of file diff --git a/src/main/resources/assets/nei/lang/en_US.lang b/src/main/resources/assets/nei/lang/en_US.lang index ffbf5f6fa..eb82082bb 100644 --- a/src/main/resources/assets/nei/lang/en_US.lang +++ b/src/main/resources/assets/nei/lang/en_US.lang @@ -120,7 +120,7 @@ nei.options.inventory.jei_style_tabs.false=No [Weirdo] nei.options.inventory.jei_style_item_presence_overlay=JEI Style Item Overlay on ?-Hover nei.options.inventory.jei_style_item_presence_overlay.true=Yes nei.options.inventory.jei_style_item_presence_overlay.false=No -nei.options.inventory.jei_style_recipe_catalyst=JEI Style Recipe Catalysts [experimental] +nei.options.inventory.jei_style_recipe_catalyst=JEI Style Recipe Catalysts nei.options.inventory.jei_style_recipe_catalyst.true=Yes nei.options.inventory.jei_style_recipe_catalyst.false=No nei.options.inventory.saveCurrentRecipeInBookmarksEnabled=Save Current Recipe in Bookmarks @@ -193,6 +193,9 @@ nei.options.tools=Tools nei.options.tools.handler_load_from_config=Load handlers from Config nei.options.tools.handler_load_from_config.true=Config nei.options.tools.handler_load_from_config.false=JAR +nei.options.tools.catalyst_load_from_config=Load catalysts from Config +nei.options.tools.catalyst_load_from_config.true=Config +nei.options.tools.catalyst_load_from_config.false=JAR nei.options.tools.dump=Data Dumps nei.options.tools.dump.dump=Dump nei.options.tools.dump.dumped=%s IDs dumped to %s