Program: 169687
Project: 169687
Buggy source:
@EventHandler public void preInit(FMLPreInitializationEvent event){
  NetworkRegistry.INSTANCE.registerGuiHandler(this,proxy);
  MinecraftForge.EVENT_BUS.register(this);
  MinecraftForge.EVENT_BUS.register(proxy);
  blockExplosive=ICBMCore.contentRegistry.newBlock(BlockExplosive.class,ItemBlockExplosive.class);
  blockMissileAssembler=ICBMCore.contentRegistry.newBlock(TileMissileAssembler.class);
  itemMissile=ICBMCore.contentRegistry.newItem(ItemMissile.class);
  itemDefuser=ICBMCore.contentRegistry.newItem(ItemDefuser.class);
  itemRadarGun=ICBMCore.contentRegistry.newItem(ItemRadarGun.class);
  itemRemoteDetonator=ICBMCore.contentRegistry.newItem(ItemRemoteDetonator.class);
  itemLaserDesignator=ICBMCore.contentRegistry.newItem(ItemLaserDesignator.class);
  itemRocketLauncher=ICBMCore.contentRegistry.newItem(ItemRocketLauncher.class);
  itemGrenade=ICBMCore.contentRegistry.newItem(ItemGrenade.class);
  itemBombCart=ICBMCore.contentRegistry.newItem(ItemBombCart.class);
  PoisonToxin.INSTANCE=new PoisonToxin(PotionUtility.getNextOptimalPotId(),true,5149489,"String_Node_Str");
  PoisonContagion.INSTANCE=new PoisonContagion(PotionUtility.getNextOptimalPotId(),false,5149489,"String_Node_Str");
  PoisonFrostBite.INSTANCE=new PoisonFrostBite(PotionUtility.getNextOptimalPotId(),false,5149489,"String_Node_Str");
  if (!Loader.isModLoaded("String_Node_Str"))   TabICBM.itemStack=new ItemStack(blockExplosive);
  BlockDispenser.dispenseBehaviorRegistry.putObject(itemGrenade,new IBehaviorDispenseItem(){
    @Override public ItemStack dispense(    IBlockSource blockSource,    ItemStack itemStack){
      World world=blockSource.getWorld();
      if (!world.isRemote) {
        int x=blockSource.getXInt();
        int y=blockSource.getYInt();
        int z=blockSource.getZInt();
        EnumFacing enumFacing=EnumFacing.getFront(blockSource.getBlockMetadata());
        EntityGrenade entity=new EntityGrenade(world,new Vector3(x,y,z),itemStack.getItemDamage());
        entity.setThrowableHeading(enumFacing.getFrontOffsetX(),0.10000000149011612D,enumFacing.getFrontOffsetZ(),0.5F,1.0F);
        world.spawnEntityInWorld(entity);
      }
      itemStack.stackSize--;
      return itemStack;
    }
  }
);
  BlockDispenser.dispenseBehaviorRegistry.putObject(itemBombCart,new IBehaviorDispenseItem(){
    private final BehaviorDefaultDispenseItem defaultItemDispenseBehavior=new BehaviorDefaultDispenseItem();
    @Override public ItemStack dispense(    IBlockSource blockSource,    ItemStack itemStack){
      World world=blockSource.getWorld();
      if (!world.isRemote) {
        int x=blockSource.getXInt();
        int y=blockSource.getYInt();
        int z=blockSource.getZInt();
        EnumFacing var3=EnumFacing.getFront(blockSource.getBlockMetadata());
        double var5=blockSource.getX() + var3.getFrontOffsetX() * 1.125F;
        double var7=blockSource.getY();
        double var9=blockSource.getZ() + var3.getFrontOffsetZ() * 1.125F;
        int var11=blockSource.getXInt() + var3.getFrontOffsetX();
        int var12=blockSource.getYInt();
        int var13=blockSource.getZInt() + var3.getFrontOffsetZ();
        Block block=world.getBlock(var11,var12,var13);
        double var15;
        if (block instanceof BlockRailBase) {
          var15=0.0D;
        }
 else {
          block=world.getBlock(var11,var12 - 1,var13);
          if (block != null && block.isAir(world,var11,var12,var13) || block instanceof BlockRailBase) {
            return this.defaultItemDispenseBehavior.dispense(blockSource,itemStack);
          }
          var15=-1.0D;
        }
        EntityBombCart var22=new EntityBombCart(world,var5,var7 + var15,var9,itemStack.getItemDamage());
        world.spawnEntityInWorld(var22);
        world.playAuxSFX(1000,x,y,z,0);
      }
      itemStack.stackSize--;
      return itemStack;
    }
  }
);
  ForgeChunkManager.setForcedChunkLoadingCallback(this,new LoadingCallback(){
    @Override public void ticketsLoaded(    List<Ticket> tickets,    World world){
      for (      Ticket ticket : tickets) {
        if (ticket.getEntity() instanceof IChunkLoadHandler) {
          ((IChunkLoadHandler)ticket.getEntity()).chunkLoaderInit(ticket);
        }
 else {
          if (ticket.getModData() != null) {
            Vector3 position=new Vector3(ticket.getModData());
            TileEntity tileEntity=position.getTileEntity(ticket.world);
            if (tileEntity instanceof IChunkLoadHandler) {
              ((IChunkLoadHandler)tileEntity).chunkLoaderInit(ticket);
            }
          }
        }
      }
    }
  }
);
  ExplosiveHelper.explosionManager=ExplosiveRegistry.class;
  proxy.preInit();
}

Fixed version (ground truth):
@EventHandler public void preInit(FMLPreInitializationEvent event){
  NetworkRegistry.INSTANCE.registerGuiHandler(this,proxy);
  MinecraftForge.EVENT_BUS.register(this);
  MinecraftForge.EVENT_BUS.register(proxy);
  blockExplosive=ICBMCore.contentRegistry.newBlock(TileExplosive.class);
  blockMissileAssembler=ICBMCore.contentRegistry.newBlock(TileMissileAssembler.class);
  itemMissile=ICBMCore.contentRegistry.newItem(ItemMissile.class);
  itemDefuser=ICBMCore.contentRegistry.newItem(ItemDefuser.class);
  itemRadarGun=ICBMCore.contentRegistry.newItem(ItemRadarGun.class);
  itemRemoteDetonator=ICBMCore.contentRegistry.newItem(ItemRemoteDetonator.class);
  itemLaserDesignator=ICBMCore.contentRegistry.newItem(ItemLaserDesignator.class);
  itemRocketLauncher=ICBMCore.contentRegistry.newItem(ItemRocketLauncher.class);
  itemGrenade=ICBMCore.contentRegistry.newItem(ItemGrenade.class);
  itemBombCart=ICBMCore.contentRegistry.newItem(ItemBombCart.class);
  PoisonToxin.INSTANCE=new PoisonToxin(PotionUtility.getNextOptimalPotId(),true,5149489,"String_Node_Str");
  PoisonContagion.INSTANCE=new PoisonContagion(PotionUtility.getNextOptimalPotId(),false,5149489,"String_Node_Str");
  PoisonFrostBite.INSTANCE=new PoisonFrostBite(PotionUtility.getNextOptimalPotId(),false,5149489,"String_Node_Str");
  if (!Loader.isModLoaded("String_Node_Str"))   TabICBM.itemStack=new ItemStack(blockExplosive);
  BlockDispenser.dispenseBehaviorRegistry.putObject(itemGrenade,new IBehaviorDispenseItem(){
    @Override public ItemStack dispense(    IBlockSource blockSource,    ItemStack itemStack){
      World world=blockSource.getWorld();
      if (!world.isRemote) {
        int x=blockSource.getXInt();
        int y=blockSource.getYInt();
        int z=blockSource.getZInt();
        EnumFacing enumFacing=EnumFacing.getFront(blockSource.getBlockMetadata());
        EntityGrenade entity=new EntityGrenade(world,new Vector3(x,y,z),itemStack.getItemDamage());
        entity.setThrowableHeading(enumFacing.getFrontOffsetX(),0.10000000149011612D,enumFacing.getFrontOffsetZ(),0.5F,1.0F);
        world.spawnEntityInWorld(entity);
      }
      itemStack.stackSize--;
      return itemStack;
    }
  }
);
  BlockDispenser.dispenseBehaviorRegistry.putObject(itemBombCart,new IBehaviorDispenseItem(){
    private final BehaviorDefaultDispenseItem defaultItemDispenseBehavior=new BehaviorDefaultDispenseItem();
    @Override public ItemStack dispense(    IBlockSource blockSource,    ItemStack itemStack){
      World world=blockSource.getWorld();
      if (!world.isRemote) {
        int x=blockSource.getXInt();
        int y=blockSource.getYInt();
        int z=blockSource.getZInt();
        EnumFacing var3=EnumFacing.getFront(blockSource.getBlockMetadata());
        double var5=blockSource.getX() + var3.getFrontOffsetX() * 1.125F;
        double var7=blockSource.getY();
        double var9=blockSource.getZ() + var3.getFrontOffsetZ() * 1.125F;
        int var11=blockSource.getXInt() + var3.getFrontOffsetX();
        int var12=blockSource.getYInt();
        int var13=blockSource.getZInt() + var3.getFrontOffsetZ();
        Block block=world.getBlock(var11,var12,var13);
        double var15;
        if (block instanceof BlockRailBase) {
          var15=0.0D;
        }
 else {
          block=world.getBlock(var11,var12 - 1,var13);
          if (block != null && block.isAir(world,var11,var12,var13) || block instanceof BlockRailBase) {
            return this.defaultItemDispenseBehavior.dispense(blockSource,itemStack);
          }
          var15=-1.0D;
        }
        EntityBombCart var22=new EntityBombCart(world,var5,var7 + var15,var9,itemStack.getItemDamage());
        world.spawnEntityInWorld(var22);
        world.playAuxSFX(1000,x,y,z,0);
      }
      itemStack.stackSize--;
      return itemStack;
    }
  }
);
  ForgeChunkManager.setForcedChunkLoadingCallback(this,new LoadingCallback(){
    @Override public void ticketsLoaded(    List<Ticket> tickets,    World world){
      for (      Ticket ticket : tickets) {
        if (ticket.getEntity() instanceof IChunkLoadHandler) {
          ((IChunkLoadHandler)ticket.getEntity()).chunkLoaderInit(ticket);
        }
 else {
          if (ticket.getModData() != null) {
            Vector3 position=new Vector3(ticket.getModData());
            TileEntity tileEntity=position.getTileEntity(ticket.world);
            if (tileEntity instanceof IChunkLoadHandler) {
              ((IChunkLoadHandler)tileEntity).chunkLoaderInit(ticket);
            }
          }
        }
      }
    }
  }
);
  ExplosiveHelper.explosionManager=ExplosiveRegistry.class;
  proxy.preInit();
}