Exemplo n.º 1
0
 public static void func_22024_func_21238_readOptions() {
   try {
     if (!optionsFile.exists()) {
       func_22022_g21240_saveOptions();
     }
     BufferedReader bufferedreader = new BufferedReader(new FileReader(optionsFile));
     // String s = "";
     /*if (!func_22023_func_21239_checkVersion(bufferedreader.readLine()))
     {
       func_22022_g21240_saveOptions();
     }*/
     String s1;
     int num;
     while ((s1 = bufferedreader.readLine()) != null) {
       String[] as = s1.split(":");
       if (as[0].equals("boosterBlockID")) {
         num = Integer.parseInt(as[1]);
         if (Block.blocksList[num] != null)
           ModLoader.getLogger()
               .fine("Booster block ID (" + num + ") conflicts! This may cause the mod to fail.");
         boosterID = num;
       } else if (as[0].equals("warheadBlockID")) {
         num = Integer.parseInt(as[1]);
         if (Block.blocksList[num] != null)
           ModLoader.getLogger()
               .fine("Warhead block ID (" + num + ") conflicts! This may cause the mod to fail.");
         warheadID = Integer.parseInt(as[1]);
       } else if (as[0].equals("generatorID")) {
         num = Integer.parseInt(as[1]);
         if (Block.blocksList[num] != null)
           ModLoader.getLogger()
               .fine(
                   "Fusion reactor block ID ("
                       + num
                       + ") conflicts! This may cause the mod to fail.");
         generatorID = Integer.parseInt(as[1]);
       } else if (as[0].equals("machineID")) {
         num = Integer.parseInt(as[1]);
         if (Block.blocksList[num] != null)
           ModLoader.getLogger()
               .fine("Machine block ID (" + num + ") conflicts! This may cause the mod to fail.");
         machineID = Integer.parseInt(as[1]);
       } else if (as[0].equals("parachuteItemID")) {
         num = Integer.parseInt(as[1]);
         if (Item.itemsList[num] != null)
           ModLoader.getLogger()
               .fine("Parachute item ID (" + num + ") conflicts! This may cause the mod to fail.");
         parachuteID = Integer.parseInt(as[1]);
       } else if (as[0].equals("boosterItemID")) {
         num = Integer.parseInt(as[1]);
         if (Item.itemsList[num] != null)
           ModLoader.getLogger()
               .fine("Booster item ID (" + num + ") conflicts! This may cause the mod to fail.");
         boosterModuleID = Integer.parseInt(as[1]);
       } else if (as[0].equals("passengerItemID")) {
         num = Integer.parseInt(as[1]);
         if (Item.itemsList[num] != null)
           ModLoader.getLogger()
               .fine(
                   "Passenger module item ID ("
                       + num
                       + ") conflicts! This may cause the mod to fail.");
         passengerModuleID = Integer.parseInt(as[1]);
       } else if (as[0].equals("tntWarheadItemID")) {
         num = Integer.parseInt(as[1]);
         if (Item.itemsList[num] != null)
           ModLoader.getLogger()
               .fine(
                   "TNT warhead item ID (" + num + ") conflicts! This may cause the mod to fail.");
         tntModuleID = Integer.parseInt(as[1]);
       } else if (as[0].equals("incendiaryWarheadItemID")) {
         num = Integer.parseInt(as[1]);
         if (Item.itemsList[num] != null)
           ModLoader.getLogger()
               .fine(
                   "Incendiary warhead item ID ("
                       + num
                       + ") conflicts! This may cause the mod to fail.");
         incendiaryModuleID = Integer.parseInt(as[1]);
       } else if (as[0].equals("nuclearWarheadItemID")) {
         num = Integer.parseInt(as[1]);
         if (Item.itemsList[num] != null)
           ModLoader.getLogger()
               .fine("Nuclear item ID (" + num + ") conflicts! This may cause the mod to fail.");
         nuclearModuleID = Integer.parseInt(as[1]);
       } else if (as[0].equals("rangefinderItemID")) {
         num = Integer.parseInt(as[1]);
         if (Item.itemsList[num] != null)
           ModLoader.getLogger()
               .fine(
                   "Rangefinder item ID (" + num + ") conflicts! This may cause the mod to fail.");
         rangefinderItemID = Integer.parseInt(as[1]);
       } else if (as[0].equals("parachuteArmorID")) {
         num = Integer.parseInt(as[1]);
         if (Item.itemsList[num] != null)
           ModLoader.getLogger()
               .fine(
                   "Parachute armor item ID ("
                       + num
                       + ") conflicts! This may cause the mod to fail.");
         parachuteArmorID = Integer.parseInt(as[1]);
       } else if (as[0].equals("superconductorID")) {
         num = Integer.parseInt(as[1]);
         if (Block.blocksList[num] != null)
           ModLoader.getLogger()
               .fine(
                   "Superconductor block ID ("
                       + num
                       + ") conflicts! This may cause the mod to fail.");
         superconductorID = Integer.parseInt(as[1]);
       } else if (as[0].equals("superconductorUncompressedID")) {
         num = Integer.parseInt(as[1]);
         if (Item.itemsList[num] != null)
           ModLoader.getLogger()
               .fine(
                   "Superconductor item ID ("
                       + num
                       + ") conflicts! This may cause the mod to fail.");
         superconductorUncompressedID = Integer.parseInt(as[1]);
       } else if (as[0].equals("cellDeuteriumID")) {
         num = Integer.parseInt(as[1]);
         if (Item.itemsList[num] != null)
           ModLoader.getLogger()
               .fine("Deuterium item ID (" + num + ") conflicts! This may cause the mod to fail.");
         deuteriumID = Integer.parseInt(as[1]);
       } else if (as[0].equals("copperCoilID")) {
         num = Integer.parseInt(as[1]);
         if (Item.itemsList[num] != null)
           ModLoader.getLogger()
               .fine(
                   "Copper coil item ID (" + num + ") conflicts! This may cause the mod to fail.");
         copperCoilID = Integer.parseInt(as[1]);
       } else if (as[0].equals("copperCoilsID")) {
         num = Integer.parseInt(as[1]);
         if (Item.itemsList[num] != null)
           ModLoader.getLogger()
               .fine(
                   "Copper coils item ID ("
                       + num
                       + ") conflicts! This may cause the mod to fail.");
         copperCoilsID = Integer.parseInt(as[1]);
       } else if (as[0].equals("superCoilID")) {
         num = Integer.parseInt(as[1]);
         if (Item.itemsList[num] != null)
           ModLoader.getLogger()
               .fine(
                   "Superconducting coil item ID ("
                       + num
                       + ") conflicts! This may cause the mod to fail.");
         superCoilID = Integer.parseInt(as[1]);
       } else if (as[0].equals("superCoilsID")) {
         num = Integer.parseInt(as[1]);
         if (Item.itemsList[num] != null)
           ModLoader.getLogger()
               .fine(
                   "Superconducting coils item ID ("
                       + num
                       + ") conflicts! This may cause the mod to fail.");
         superCoilsID = Integer.parseInt(as[1]);
       } else if (as[0].equals("ohmicHeaterID")) {
         num = Integer.parseInt(as[1]);
         if (Item.itemsList[num] != null)
           ModLoader.getLogger()
               .fine(
                   "Ohmic heater item ID ("
                       + num
                       + ") conflicts! This may cause the mod to fail.");
         ohmicHeaterID = Integer.parseInt(as[1]);
       } else if (as[0].equals("rfHeaterID")) {
         num = Integer.parseInt(as[1]);
         if (Item.itemsList[num] != null)
           ModLoader.getLogger()
               .fine("RF heater item ID (" + num + ") conflicts! This may cause the mod to fail.");
         rfHeaterID = Integer.parseInt(as[1]);
       } else if (as[0].equals("neutralHeaterID")) {
         num = Integer.parseInt(as[1]);
         if (Item.itemsList[num] != null)
           ModLoader.getLogger()
               .fine(
                   "Neutral heater item ID ("
                       + num
                       + ") conflicts! This may cause the mod to fail.");
         neutralHeaterID = Integer.parseInt(as[1]);
       } else if (as[0].equals("vacuumID")) {
         num = Integer.parseInt(as[1]);
         if (Item.itemsList[num] != null)
           ModLoader.getLogger()
               .fine("Vacuum item ID (" + num + ") conflicts! This may cause the mod to fail.");
         vacuumID = Integer.parseInt(as[1]);
       } else if (as[0].equals("handPumpID")) {
         num = Integer.parseInt(as[1]);
         if (Item.itemsList[num] != null)
           ModLoader.getLogger()
               .fine("Hand pump item ID (" + num + ") conflicts! This may cause the mod to fail.");
         handPumpID = Integer.parseInt(as[1]);
       } else if (as[0].equals("ionDriveID")) {
         num = Integer.parseInt(as[1]);
         if (Item.itemsList[num] != null)
           ModLoader.getLogger()
               .fine("Ion drive item ID (" + num + ") conflicts! This may cause the mod to fail.");
         ionDriveID = Integer.parseInt(as[1]);
       } else if (as[0].equals("passengerDepletedID")) {
         num = Integer.parseInt(as[1]);
         if (Item.itemsList[num] != null)
           ModLoader.getLogger()
               .fine(
                   "Depleted passenger rocket item ID ("
                       + num
                       + ") conflicts! This may cause the mod to fail.");
         passengerDepletedID = Integer.parseInt(as[1]);
       } else if (as[0].equals("finderID")) {
         num = Integer.parseInt(as[1]);
         if (Item.itemsList[num] != null)
           ModLoader.getLogger()
               .fine(
                   "Autominer finder item ID ("
                       + num
                       + ") conflicts! This may cause the mod to fail.");
         finderID = Integer.parseInt(as[1]);
       } else if (as[0].equals("lithiumID")) {
         num = Integer.parseInt(as[1]);
         if (Item.itemsList[num] != null)
           ModLoader.getLogger()
               .fine("Lithium item ID (" + num + ") conflicts! This may cause the mod to fail.");
         lithiumID = Integer.parseInt(as[1]);
       } else if (as[0].equals("lithiumCellID")) {
         num = Integer.parseInt(as[1]);
         if (Item.itemsList[num] != null)
           ModLoader.getLogger()
               .fine(
                   "Lithium cell item ID ("
                       + num
                       + ") conflicts! This may cause the mod to fail.");
         lithiumCellID = Integer.parseInt(as[1]);
       } else if (as[0].equals("lithium6CellID")) {
         num = Integer.parseInt(as[1]);
         if (Item.itemsList[num] != null)
           ModLoader.getLogger()
               .fine(
                   "Lithium-6 cell item ID ("
                       + num
                       + ") conflicts! This may cause the mod to fail.");
         lithium6CellID = Integer.parseInt(as[1]);
       } else if (as[0].equals("tritiumCellID")) {
         num = Integer.parseInt(as[1]);
         if (Item.itemsList[num] != null)
           ModLoader.getLogger()
               .fine(
                   "Tritium cell item ID ("
                       + num
                       + ") conflicts! This may cause the mod to fail.");
         tritiumCellID = Integer.parseInt(as[1]);
       } else if (as[0].equals("thermoModuleID")) {
         num = Integer.parseInt(as[1]);
         if (Item.itemsList[num] != null)
           ModLoader.getLogger()
               .fine(
                   "Thermonuclear warhead item ID ("
                       + num
                       + ") conflicts! This may cause the mod to fail.");
         thermoModuleID = Integer.parseInt(as[1]);
       }
     }
     bufferedreader.close();
   } catch (Exception exception) {
     System.out.println("Rocket Science: Failed to load options");
     exception.printStackTrace();
   }
 }
Exemplo n.º 2
0
  public static void init() {
    try {
      /*ModLoaderMp.registerNetClientHandlerEntity(MissileBoosterEntity.class, 144);
      ModLoaderMp.registerNetClientHandlerEntity(MissileMinerBoosterEntity.class, 145);
      ModLoaderMp.registerNetClientHandlerEntity(MissilePassengerBoosterEntity.class, 146);
      ModLoaderMp.registerNetClientHandlerEntity(MissilePassengerWarheadEntity.class, 147);
      ModLoaderMp.registerNetClientHandlerEntity(MissileWarheadEntity.class, 148);
      ModLoaderMp.registerNetClientHandlerEntity(ParachuteEntity.class, 149);
      ModLoaderMp.registerNetClientHandlerEntity(RangefinderEntity.class, 150);*/

      missileModelID = ModLoader.getUniqueBlockModelID(instance, true);
      warheadModelID = ModLoader.getUniqueBlockModelID(instance, true);
      machineModelID = ModLoader.getUniqueBlockModelID(instance, true);
      optionsFile = new File(Minecraft.getMinecraftDir(), "/config/RocketScience.cfg");
      func_22024_func_21238_readOptions();

      booster = new MissileBoosterBlock(boosterID, 0).setBlockName("Missile");
      warhead =
          new MissileWarheadBlock(warheadID).setBlockName("If you have this block, it's a glitch.");
      RSmachine = new BlockRSMachine(machineID).setBlockName("RS Machine");
      RSgenerator = new BlockRSGenerator(generatorID).setBlockName("RS Generator");
      superconductor = new BlockSuperconductor(superconductorID).setBlockName("Superconductor");
      parachute = (ItemRS) new ItemRS(parachuteID, 0).setItemName("Parachute");
      passengerModule = (ItemRS) new ItemRS(passengerModuleID, 1).setItemName("Passenger Module");
      boosterModule = (ItemRS) new ItemRS(boosterModuleID, 2).setItemName("Booster Module");
      tntModule = (ItemRS) new ItemRS(tntModuleID, 3).setItemName("TNT Warhead");
      incendiaryModule =
          (ItemRS) new ItemRS(incendiaryModuleID, 4).setItemName("Incendiary Warhead");
      nuclearModule = (ItemRS) new ItemRS(nuclearModuleID, 5).setItemName("Nuclear Warhead");
      rangefinderItem =
          (ItemRS) new RangefinderItem(rangefinderItemID, 6).setItemName("Laser Rangefinder");
      parachuteArmor =
          (ItemArmorRS)
              new ItemArmorRS(
                      parachuteArmorID,
                      7,
                      EnumArmorMaterial.CLOTH,
                      ModLoader.addArmor("parachute"),
                      1,
                      1000)
                  .setItemName("Parachute Pack");
      superconductorUncompressed =
          (ItemRS) new ItemRS(superconductorUncompressedID, 8).setItemName("SuperUncompressed");
      cellDeuterium = (ItemRS) (new ItemRS(deuteriumID, 9)).setItemName("itemCellDeuterium");
      copperCoil = (ItemRS) new ItemRS(copperCoilID, 10).setItemName("CopperCoil");
      copperCoils = (ItemRS) new ItemRS(copperCoilsID, 11).setItemName("CopperCoils");
      superCoil = (ItemRS) new ItemRS(superCoilID, 12).setItemName("SuperCoil");
      superCoils = (ItemRS) new ItemRS(superCoilsID, 13).setItemName("SuperCoils");
      ohmicHeater = (ItemRS) new ItemRS(ohmicHeaterID, 14).setItemName("OhmicHeater");
      neutralHeater = (ItemRS) new ItemRS(neutralHeaterID, 15).setItemName("NeutralHeater");
      rfHeater = (ItemRS) new ItemRS(rfHeaterID, 16).setItemName("RFHeater");
      vacuum = (ItemVacuum) new ItemVacuum(vacuumID, 17).setItemName("Vacuum");
      handPump = (ItemHandPump) new ItemHandPump(handPumpID, 20).setItemName("HandPump");
      ionDrive = (ItemRS) new ItemRS(ionDriveID, 21).setItemName("IonDrive");
      passengerDepleted =
          (ItemPassengerDepleted)
              new ItemPassengerDepleted(passengerDepletedID, 22).setItemName("PassengerDepleted");
      finder = (ItemAutominerFinder) new ItemAutominerFinder(finderID, 23).setItemName("Finder");
      lithium = (ItemRS) new ItemRS(lithiumID, 24).setItemName("Lithium");
      lithiumCell = (ItemRS) new ItemRS(lithiumCellID, 25).setItemName("LithiumCell");
      lithium6Cell = (ItemRS) new ItemRS(lithium6CellID, 26).setItemName("Lithium6Cell");
      tritiumCell = (ItemRS) new ItemRS(tritiumCellID, 27).setItemName("TritiumCell");
      thermoModule = (ItemRS) new ItemRS(thermoModuleID, 5).setItemName("Thermonuclear Warhead");

      ModLoader.registerBlock(booster, MissileItem.class);
      ModLoader.registerBlock(warhead, null);
      ModLoader.registerBlock(superconductor);
      ModLoader.registerBlock(RSmachine, ItemMachineRS.class);
      ModLoader.registerBlock(RSgenerator);
      ModLoader.registerTileEntity(MissileTileEntity.class, "Missile");
      ModLoader.registerTileEntity(TileEntitySuperconductor.class, "Superconductor");
      ModLoader.registerTileEntity(TileEntityIsotope.class, "Isotopic Separator");
      ModLoader.registerTileEntity(TileEntityFusion.class, "Fusion Reactor");
      ModLoader.registerTileEntity(TileEntityAutoMiner.class, "Autominer");
      ModLoader.registerTileEntity(TileEntityDefense.class, "Missile Defense");
      ModLoader.registerTileEntity(TileEntityOffense.class, "Missile Targeting");
      ModLoader.registerTileEntity(TileEntityLaser.class, "Defense Laser");
      ModLoader.registerTileEntity(TileEntityRadar.class, "Radar");
      TileEntityIsotope.initRecipes();

      ModLoader.addName(boosterModule, "Booster Module");
      ModLoader.addName(passengerModule, "Passenger Module");
      ModLoader.addName(parachute, "Parachute");
      ModLoader.addName(booster, "Missile");
      ModLoader.addName(warhead, "If you have this block, it's a glitch.");
      ModLoader.addName(tntModule, "TNT Warhead");
      ModLoader.addName(incendiaryModule, "Incendiary Warhead");
      ModLoader.addName(nuclearModule, "Nuclear Warhead");
      ModLoader.addName(rangefinderItem, "Laser Rangefinder");
      ModLoader.addName(parachuteArmor, "Parachute Pack");
      ModLoader.addName(superconductor, "Superconductor");
      ModLoader.addName(superconductorUncompressed, "Graphene-Gold Lattice");
      ModLoader.addName(cellDeuterium, "Deuterium Cell");
      ModLoader.addName(copperCoil, "Copper Loop");
      ModLoader.addName(copperCoils, "Copper Coils");
      ModLoader.addName(superCoil, "Superconductor Loop");
      ModLoader.addName(superCoils, "Superconducting Coils");
      ModLoader.addName(ohmicHeater, "Ohmic Heating System");
      ModLoader.addName(neutralHeater, "Neutral-Beam Heating System");
      ModLoader.addName(rfHeater, "RF Cyclotron Heating System");
      ModLoader.addName(new ItemStack(booster, 1, 14), "Missile");
      ModLoader.addName(new ItemStack(booster, 1, 15), "Reusable Passenger Rocket (half charge)");
      ModLoader.addName(new ItemStack(booster, 1, 0), "Reusable Passenger Rocket");
      ModLoader.addName(new ItemStack(booster, 1, 4), "Incendiary Missile");
      ModLoader.addName(new ItemStack(booster, 1, 8), "Nuclear Missile");
      ModLoader.addName(new ItemStack(booster, 1, 12), "Passenger Rocket");
      ModLoader.addName(new ItemStack(booster, 1, 13), "Thermonuclear Missile");
      ModLoader.addName(new ItemStack(RSmachine, 1, 0), "Isotopic Separator");
      ModLoader.addName(new ItemStack(RSmachine, 1, 1), "Mobile Auto-Miner");
      ModLoader.addName(new ItemStack(RSmachine, 1, 2), "Missile Defense System");
      ModLoader.addName(new ItemStack(RSmachine, 1, 3), "Missile Targeting System");
      ModLoader.addName(new ItemStack(RSmachine, 1, 4), "Missile Defense Laser");
      ModLoader.addName(new ItemStack(RSmachine, 1, 5), "Radar");
      ModLoader.addName(new ItemStack(RSgenerator, 1, 0), "Fusion Reactor");
      ModLoader.addName(vacuum, "Wet/Dry Vac");
      ModLoader.addName(handPump, "Hand Pump");
      ModLoader.addName(ionDrive, "Ion Drive");
      ModLoader.addName(passengerDepleted, "Discharged Passenger Rocket");
      ModLoader.addName(finder, "Autominer Location Device");
      ModLoader.addName(lithium, "Lithium");
      ModLoader.addName(lithiumCell, "Lithium Cell");
      ModLoader.addName(lithium6Cell, "Lithium-6 Cell");
      ModLoader.addName(tritiumCell, "Tritium Cell");
      ModLoader.addName(thermoModule, "Thermonuclear Warhead");

      ModLoader.addRecipe(
          new ItemStack(boosterModule, 2),
          new Object[] {
            "#X#",
            "#X#",
            "#X#",
            Character.valueOf('#'),
            Ic2Items.refinedIronIngot,
            Character.valueOf('X'),
            Ic2Items.coalfuelCell
          });
      ModLoader.addRecipe(
          new ItemStack(boosterModule, 2),
          new Object[] {
            "#X#",
            "#X#",
            "#X#",
            Character.valueOf('#'),
            Ic2Items.refinedIronIngot,
            Character.valueOf('X'),
            Ic2Items.biofuelCell
          });
      ModLoader.addRecipe(
          new ItemStack(parachute, 1),
          new Object[] {
            "XXX",
            "O O",
            " O ",
            Character.valueOf('X'),
            Item.leather,
            Character.valueOf('O'),
            Item.silk
          });
      ModLoader.addRecipe(
          new ItemStack(parachuteArmor, 1),
          new Object[] {
            "L L",
            "LPL",
            "LLL",
            Character.valueOf('L'),
            Item.leather,
            Character.valueOf('P'),
            parachute
          });
      ModLoader.addRecipe(
          new ItemStack(passengerModule, 1),
          new Object[] {
            "P", "M", Character.valueOf('P'), parachute, Character.valueOf('M'), Item.minecartEmpty
          });
      ModLoader.addRecipe(
          new ItemStack(tntModule, 1),
          new Object[] {
            " I ",
            "ITI",
            Character.valueOf('I'),
            Ic2Items.refinedIronIngot,
            Character.valueOf('T'),
            Block.tnt
          });
      ModLoader.addRecipe(
          new ItemStack(incendiaryModule, 1),
          new Object[] {
            " I ",
            "ITI",
            Character.valueOf('I'),
            Ic2Items.refinedIronIngot,
            Character.valueOf('T'),
            Ic2Items.lavaCell
          });
      ModLoader.addRecipe(
          new ItemStack(nuclearModule, 1),
          new Object[] {
            " I ",
            "ITI",
            Character.valueOf('I'),
            Ic2Items.refinedIronIngot,
            Character.valueOf('T'),
            Ic2Items.nuke
          });
      ModLoader.addRecipe(
          new ItemStack(booster, 1, 12),
          new Object[] {
            "P", "M", Character.valueOf('P'), passengerModule, Character.valueOf('M'), boosterModule
          });
      ModLoader.addRecipe(
          new ItemStack(booster, 1, 8),
          new Object[] {
            "P", "M", Character.valueOf('P'), nuclearModule, Character.valueOf('M'), boosterModule
          });
      ModLoader.addRecipe(
          new ItemStack(booster, 1, 4),
          new Object[] {
            "P",
            "M",
            Character.valueOf('P'),
            incendiaryModule,
            Character.valueOf('M'),
            boosterModule
          });
      ModLoader.addRecipe(
          new ItemStack(booster, 1, 14),
          new Object[] {
            "P", "M", Character.valueOf('P'), tntModule, Character.valueOf('M'), boosterModule
          });
      ModLoader.addRecipe(
          new ItemStack(superconductorUncompressed),
          new Object[] {
            " C ",
            " D ",
            " G ",
            Character.valueOf('C'),
            Ic2Items.carbonPlate,
            Character.valueOf('D'),
            Item.redstone,
            Character.valueOf('G'),
            Item.ingotGold
          });
      ModLoader.addRecipe(
          new ItemStack(RSmachine, 1, 0),
          new Object[] {
            "ICI",
            "RER",
            "IAI",
            Character.valueOf('E'),
            Ic2Items.extractor,
            Character.valueOf('I'),
            Ic2Items.refinedIronIngot,
            Character.valueOf('R'),
            Item.redstone,
            Character.valueOf('A'),
            Ic2Items.advancedMachine,
            Character.valueOf('C'),
            Ic2Items.advancedCircuit
          });
      ModLoader.addRecipe(
          new ItemStack(RSgenerator, 1, 0),
          new Object[] {
            "CCC",
            "CAC",
            "CCC",
            Character.valueOf('C'),
            Ic2Items.reactorChamber,
            Character.valueOf('A'),
            Ic2Items.advancedMachine
          });
      ModLoader.addRecipe(
          new ItemStack(copperCoil, 1),
          new Object[] {"CCC", "C C", "CCC", Character.valueOf('C'), Ic2Items.copperIngot});
      ModLoader.addRecipe(
          new ItemStack(copperCoils, 1),
          new Object[] {"CCC", "C C", "CCC", Character.valueOf('C'), copperCoil});
      ModLoader.addRecipe(
          new ItemStack(superCoil, 1),
          new Object[] {"CCC", "C C", "CCC", Character.valueOf('C'), superconductor});
      ModLoader.addRecipe(
          new ItemStack(superCoils, 1),
          new Object[] {"CCC", "C C", "CCC", Character.valueOf('C'), superCoil});
      ModLoader.addRecipe(
          new ItemStack(ohmicHeater, 1),
          new Object[] {
            "WWW",
            "C W",
            "WWW",
            Character.valueOf('W'),
            Ic2Items.insulatedCopperCableItem,
            Character.valueOf('C'),
            Ic2Items.electronicCircuit
          });
      ModLoader.addRecipe(
          new ItemStack(rfHeater, 1),
          new Object[] {
            "F",
            "A",
            "M",
            Character.valueOf('M'),
            Ic2Items.machine,
            Character.valueOf('A'),
            Ic2Items.advancedCircuit,
            Character.valueOf('F'),
            Ic2Items.frequencyTransmitter
          });
      ModLoader.addRecipe(
          new ItemStack(neutralHeater, 1),
          new Object[] {
            "AMW",
            " I ",
            Character.valueOf('I'),
            Ic2Items.refinedIronIngot,
            Character.valueOf('M'),
            Ic2Items.machine,
            Character.valueOf('A'),
            Ic2Items.advancedCircuit,
            Character.valueOf('W'),
            Ic2Items.insulatedCopperCableItem
          });
      ModLoader.addRecipe(
          new ItemStack(rangefinderItem, 1),
          new Object[] {
            "III",
            "ICD",
            "III",
            Character.valueOf('I'),
            Ic2Items.refinedIronIngot,
            Character.valueOf('C'),
            Ic2Items.electronicCircuit,
            Character.valueOf('D'),
            Item.diamond
          });
      ModLoader.addRecipe(
          new ItemStack(vacuum),
          new Object[] {
            "R",
            "P",
            "B",
            Character.valueOf('R'),
            Ic2Items.rubber,
            Character.valueOf('B'),
            Ic2Items.reBattery,
            Character.valueOf('P'),
            Ic2Items.pump
          });
      ModLoader.addRecipe(
          new ItemStack(handPump),
          new Object[] {
            "RB",
            " C",
            Character.valueOf('C'),
            Ic2Items.cell,
            Character.valueOf('B'),
            Ic2Items.bronzeIngot,
            Character.valueOf('R'),
            Ic2Items.rubber
          });
      ModLoader.addRecipe(
          new ItemStack(ionDrive),
          new Object[] {
            "ACA",
            "ARA",
            "AGA",
            Character.valueOf('A'),
            Ic2Items.advancedAlloy,
            Character.valueOf('C'),
            new ItemStack(Ic2Items.energyCrystal.getItem(), 1, 26),
            Character.valueOf('R'),
            Ic2Items.advancedCircuit,
            Character.valueOf('G'),
            Block.glowStone
          });
      ModLoader.addRecipe(
          new ItemStack(ionDrive),
          new Object[] {
            "ACA",
            "ARA",
            "AGA",
            Character.valueOf('A'),
            Ic2Items.advancedAlloy,
            Character.valueOf('C'),
            new ItemStack(Ic2Items.energyCrystal.getItem(), 1, 27),
            Character.valueOf('R'),
            Ic2Items.advancedCircuit,
            Character.valueOf('G'),
            Block.glowStone
          });
      ModLoader.addRecipe(
          new ItemStack(passengerDepleted, 1, 10001),
          new Object[] {
            "P", "I", Character.valueOf('P'), passengerModule, Character.valueOf('I'), ionDrive
          });
      ModLoader.addRecipe(
          new ItemStack(RSmachine, 1, 1),
          new Object[] {
            "CTC",
            "AMA",
            "I I",
            Character.valueOf('C'),
            Ic2Items.advancedCircuit,
            Character.valueOf('T'),
            Block.chest,
            Character.valueOf('A'),
            Ic2Items.advancedMachine,
            Character.valueOf('M'),
            Ic2Items.miner,
            Character.valueOf('I'),
            ionDrive
          });
      ModLoader.addRecipe(
          new ItemStack(thermoModule),
          new Object[] {
            " T ",
            "DND",
            " T ",
            Character.valueOf('T'),
            tritiumCell,
            Character.valueOf('D'),
            cellDeuterium,
            Character.valueOf('N'),
            nuclearModule
          });
      ModLoader.addRecipe(
          new ItemStack(thermoModule),
          new Object[] {
            " D ",
            "TNT",
            " D ",
            Character.valueOf('T'),
            tritiumCell,
            Character.valueOf('D'),
            cellDeuterium,
            Character.valueOf('N'),
            nuclearModule
          });
      ModLoader.addRecipe(
          new ItemStack(booster, 1, 13),
          new Object[] {
            "P", "M", Character.valueOf('P'), thermoModule, Character.valueOf('M'), boosterModule
          });
      ModLoader.addRecipe(
          new ItemStack(RSmachine, 1, 2),
          new Object[] {
            "GAG",
            "RMR",
            "GCG",
            Character.valueOf('G'),
            Block.thinGlass,
            Character.valueOf('A'),
            Ic2Items.advancedCircuit,
            Character.valueOf('R'),
            Item.redstone,
            Character.valueOf('M'),
            Ic2Items.machine,
            Character.valueOf('C'),
            Ic2Items.electronicCircuit
          });
      ModLoader.addRecipe(
          new ItemStack(RSmachine, 1, 3),
          new Object[] {
            "GCG",
            "RMR",
            "GAG",
            Character.valueOf('G'),
            Block.thinGlass,
            Character.valueOf('A'),
            Ic2Items.advancedCircuit,
            Character.valueOf('R'),
            Item.redstone,
            Character.valueOf('M'),
            Ic2Items.machine,
            Character.valueOf('C'),
            Ic2Items.electronicCircuit
          });
      ModLoader.addRecipe(
          new ItemStack(RSmachine, 1, 4),
          new Object[] {
            " E ",
            "GCG",
            "AMA",
            Character.valueOf('E'),
            new ItemStack(Ic2Items.energyCrystal.getItem(), 1, 26),
            Character.valueOf('G'),
            Item.lightStoneDust,
            Character.valueOf('C'),
            Ic2Items.advancedCircuit,
            Character.valueOf('A'),
            Ic2Items.advancedAlloy,
            Character.valueOf('M'),
            Ic2Items.advancedMachine
          });
      ModLoader.addRecipe(
          new ItemStack(RSmachine, 1, 5),
          new Object[] {
            "IFI",
            " I ",
            " M ",
            Character.valueOf('I'),
            Ic2Items.refinedIronIngot,
            Character.valueOf('F'),
            Ic2Items.frequencyTransmitter,
            Character.valueOf('M'),
            Ic2Items.machine
          });
      ModLoader.addShapelessRecipe(
          StackUtil.copyWithSize(Ic2Items.copperIngot, 64), new Object[] {copperCoils});
      ModLoader.addShapelessRecipe(
          StackUtil.copyWithSize(Ic2Items.copperIngot, 8), new Object[] {copperCoil});
      ModLoader.addShapelessRecipe(new ItemStack(superconductor, 64), new Object[] {superCoils});
      ModLoader.addShapelessRecipe(new ItemStack(superconductor, 8), new Object[] {superCoil});
      ModLoader.addShapelessRecipe(
          new ItemStack(finder, 1),
          new Object[] {Ic2Items.frequencyTransmitter, new ItemStack(Item.dyePowder, 1, 1)});
      ModLoader.addShapelessRecipe(
          new ItemStack(lithiumCell, 1), new Object[] {Ic2Items.cell, lithium});

      ModLoader.registerEntityID(
          MissileBoosterEntity.class, "Missile", ModLoader.getUniqueEntityId());
      ModLoader.registerEntityID(
          MissileWarheadEntity.class, "Warhead", ModLoader.getUniqueEntityId());
      ModLoader.registerEntityID(
          MissilePassengerBoosterEntity.class, "Passenger Missile", ModLoader.getUniqueEntityId());
      ModLoader.registerEntityID(
          MissilePassengerWarheadEntity.class, "Passenger Warhead", ModLoader.getUniqueEntityId());
      ModLoader.registerEntityID(
          RangefinderEntity.class, "Rangefinder", ModLoader.getUniqueEntityId());
      ModLoader.registerEntityID(
          MissileMinerBoosterEntity.class, "Miner", ModLoader.getUniqueEntityId());
      ModLoader.registerEntityID(
          EntityDefenseLaser.class, "Defense Laser", ModLoader.getUniqueEntityId());

      Ic2Recipes.addCompressorRecipe(
          new ItemStack(superconductorUncompressed), new ItemStack(superconductor));
      Ic2Recipes.addExtractorRecipe(new ItemStack(Item.clay), new ItemStack(lithium));

      ModLoader.setInGameHook(instance, true, false);
    } catch (Exception exception) {
      System.out.println("Rocket Science: Failed to initialize");
      exception.printStackTrace();
    }
  }