Machine recepies won't work

Issue #212 new
Michiel Plaisier created an issue

Incorrect recepies on the wiki for the Isolator, Sequencer, Polymeriser, Inoculator.

Recepies in the wiki http://binnie.mods.wiki/wiki/Lab_Stand are not correct

Can't make the last four machines??

Comments (2)

  1. Schneider

    The code to detect iron, gold and diamond gears (from BuildCraft or any other Mod using oreDict gearIron/gearGold/gearDiamond) seems to be broken. The Recipies end up using an iron ingot instead of the gear. If no mod providing an Iron Gear (e.g. BuildCraft, RailCraft) is installed, some of the machines can't be crafted.

    @TheMrCaveman I assume you don't have BuildCraft or RailCraft installed. Or you didn't use NEI to find a different recipe so you could at least craft the machines using different materials. Am I right? If you install BuildCraft, the Machines should be craft-able. Ironically the recipes then wouldn't be like in the wiki but use iron ingots instead of the gears. (This is a bug and should be fixed in a future release.)

    @binnie567 Please take a look at binnie/genetics/machine/ModuleMachine.java ~67-69 (String ironGear = OreDictionary.getOres...)

    1. You probably don't want to always use gearIron/ingotIron and also use Gold/Diamond.
    2. If the game can't find the gears, you want to use the ingot, and if it does you want to use the gear. But currently it's the other way around. (It looks like you switched the conditional operator which should be condition ? value_if_true : value_if_false.)

    I think the code that currently looks similar to this:

    String ironGear = OreDictionary.getOres("gearIron").isEmpty() ? "gearIron" : "ingotIron";
    String goldGear = OreDictionary.getOres("gearGold").isEmpty() ? "gearIron" : "ingotIron";
    String diamondGear = OreDictionary.getOres("gearDiamond").isEmpty() ? "gearIron" : "ingotIron";
    

    should be changed to something like this:

    String ironGear = OreDictionary.getOres("gearIron").isEmpty() ? "ingotIron" : "gearIron";
    String goldGear = OreDictionary.getOres("gearGold").isEmpty() ? "ingotGold" : "gearGold";
    String diamondGear = OreDictionary.getOres("gearDiamond").isEmpty() ? "gemDiamond" : "gearDiamond";
    
  2. Log in to comment