private ["_object","_foundIndex","_found","_str","_objects","_lootables","_currentPos","_p3dName","_findStart","_config","_cinderList","_rocksList"];

if ((diag_tickTime - EPOCH_lastMineRocks) >= 2) then {
	EPOCH_lastMineRocks = diag_tickTime;
	if (random 1 < 0.16) then {

		_currentPos = player modelToWorld[0, 5, 0];
		if !(surfaceIsWater _currentPos) then {
			_currentPos = ATLtoASL _currentPos;
		};

		_objects = lineIntersectsWith[eyePos player, _currentPos, player, objNull, true];
		_object = objNull;

		_config = 'CfgEpochClient' call EPOCH_returnConfig;
		_lootables = getArray(_config >> worldname >> "Wrecks");
		_cinderList = getArray(_config >> worldname >> "Cinder");
		_rocksList = getArray(_config >> worldname >> "Rocks");

		_found = false;
		_foundIndex = -1;
		{
			_str = str(_x);
			_findStart = _str find ": ";
			if (_findStart != -1) then{
				_p3dName = _str select[_findStart + 2, 999];
				_found = _p3dName in _rocksList;
				if (_p3dName in _lootables) then{
					_found = true;
					_foundIndex = 1;
				};
				if (_p3dName in _cinderList) then{
					_found = true;
					_foundIndex = 0;
				};
			};
			if (_found)exitWith{_object = _x};
		}foreach _objects;

		if (!isNull _object) then {
			if (alive _object) then {
				EPOCH_mineRocks_PVS = [_object, _foundIndex, player, Epoch_personalToken];
				publicVariableServer "EPOCH_mineRocks_PVS";
			};
		};
	};
};