Configuration
This page contains all information you need to configure gfg_mining, if you have any questions feel free to reach out to us on our discord.
Config
Config
Config = {
language = "en",
debug = false,
inventory = "ox_inventory",
target = "ox_target",
targetDistance = 2,
targetWaitTime = 1000,
pickaxe = {
needed = true,
item = "pickaxe",
prop = "prop_tool_pickaxe",
},
skillCheckKeys = {'e'},
}
Language
Language sets which Locale to use, you can find available locales in [gfg_mining/locale/], we will add more as they become available but feel free to add your own.
Language = "en",
Debug
Debug should only used in a development environment
Determines whether to send debug print statements to the client and server when using the script
Debug = false
inventory
Determines wich inventory resource to use.
Currently supported options are:
"ox_inventory"
"qb_inventory"
inventory = "ox_inventory",
target
Determines wich target resource to use.
Currently supported options are"
"ox_target"
"qb_target"
target = "ox_target",
targetDistance
Determines the distance from the rock/refining ped that the target is activated.
targetDistance = 2,
targetWaitTime
1000 is default but if you experience high resource usage you may need to increase this.
Determines how often the client checks for nearby objects to create a target for.
In Milliseconds
targetWaitTime = 1000,
pickaxe
Options related to the pickaxe item/prop when mining
needed
= If 'true' the player needs the pickaxe to start mining.
item
= The item name of the pickaxe in your inventory script.
prop
= Determines the prop to create when mining.pickaxe = { needed = true, item = "pickaxe", prop = "prop_tool_pickaxe", },
Config.RockOptions
Config.RockOptions
This is the configuration section for the options of the mineable rocks.
Config.RockOptions = {
defaultRockDurability = 10000,
rockDurabilityRefreshTime = 5,
onlySetDurabilityIfZero = true,
rockDurabilityRefreshAdd = 1000,
rewards = {
{ label = "Raw Stone", itemName = "rawstone", chance = 90, duration = 5000, rockDurabilityLoss = 500, difficulty = {'easy'}, alwaysReceive = true },
{label = "Raw Iron", itemName = "rawiron", chance = 70, duration = 6000, rockDurabilityLoss = 1000, difficulty = {'medium'}},
{label = "Raw Bauxite", itemName = "rawbauxite", chance = 70, duration = 6000, rockDurabilityLoss = 1000, difficulty = {'medium'}},
{label = "Raw Coal", itemName = "rawcoal", chance = 70, duration = 6000, rockDurabilityLoss = 1000, difficulty = {'medium'}},
{label = "Raw Copper", itemName = "rawcopper", chance = 50, duration = 8000, rockDurabilityLoss = 2000, difficulty = {'easy', 'medium'}},
{label = "Raw Silver", itemName = "rawsilver", chance = 35, duration = 9000, rockDurabilityLoss = 5000, difficulty = {'medium', 'medium'}},
{label = "Raw Gold", itemName = "rawgold", chance = 30, duration = 9000, rockDurabilityLoss = 5000, difficulty = {'medium', 'medium'}},
{label = "Raw Sapphire", itemName = "rawsapphire", chance = 5, duration = 10000, rockDurabilityLoss = 8000, difficulty = {'medium', 'hard'}},
{label = "Raw Emerald", itemName = "rawemerald", chance = 5, duration = 10000, rockDurabilityLoss = 8000, difficulty = {'medium', 'hard'}},
{label = "Raw Ruby", itemName = "rawruby", chance = 5, duration = 10000, rockDurabilityLoss = 8000, difficulty = {'medium', 'hard'}},
{label = "Raw Diamond", itemName = "rawdiamond", chance = 1, duration = 15000, rockDurabilityLoss = 10000, difficulty = {'medium', 'hard', 'hard'}},
},
props = {
"h4_prop_rock_med_01", "h4_prop_rock_med_02",
"h4_prop_rock_med_03", "h4_prop_rock_scree_med_01",
"h4_prop_rock_scree_med_02", "h4_prop_rock_scree_med_03",
"rock_4_cl_2_1", "rock_4_cl_2_2"
},
blips = {
{
coords = vec3(-596.3600, 2089.4424, 131.4127),
sprite = 124,
color = 64,
scale = 0.7,
text = "Mineshaft"
}
},
}
defaultRockDurability
Determines the default rock durability of each rock that doesn't have durability manually set
defaultRockDurability = 10000,
rockDurabilityRefreshTime
Determines how often the rocks add durability to their durability amount (In Minutes)
rockDurabilityRefreshTime = 5,
onlySetDurabilityIfZero
If 'true' only refreshes durability on rocks that have zero durability
onlySetDurabilityIfZero = true,
rockDurabilityRefreshAdd
If you'd like the refresh ability to refresh all rocks to full, set this to an exorbitant amount.
Determines how much durability to add to the rock durability every refresh
rockDurabilityRefreshAdd = 1000,
rewards
At least one rewards item must have the alwaysReceive = true
variable
Table containing the possible rewards the player can get from mining a rock
label
= The label of the item (Used for menu/progress bar).
itemName
= The item name within your inventory script.
chance
= The chance the player will get this item when mining (90 = 90% chance).
duration
= Determines how long it takes to mine this item (In Milliseconds).
rockDurabilityLoss
= Determines how much durability this item removes from the rock when mined.
difficulty
= Determines the difficulty of the skill check for this item, information on how to customize this can be found here: (https://overextended.github.io/docs/ox_lib/Interface/Client/skillcheck/).
alwaysReceive
= Determines if this item is always received when mining a rock regardless of the chance (Optional).rewards = { { label = "Raw Stone", itemName = "rawstone", chance = 90, duration = 5000, rockDurabilityLoss = 500, difficulty = {'easy'}, alwaysReceive = true },
props
Determines the props that may be used when the rocks are created on server start. If you'd like to find more props, we recommend using this: (https://forge.plebmasters.de/objects).
For each rock (Unless it has a rock defined) it chooses a random prop from this list to use.
props = { "h4_prop_rock_med_01", "h4_prop_rock_med_02", "h4_prop_rock_med_03", "h4_prop_rock_scree_med_01", "h4_prop_rock_scree_med_02", "h4_prop_rock_scree_med_03", "rock_4_cl_2_1", "rock_4_cl_2_2" },
blips
List of blips used to mark mining areas (Optional)
coords
= Determines the coordinates of the blip.
sprite
= Determines the sprite of the blip.
color
= Determines the color of the blip.
scale
= Determines the scale of the blip.
text
= Determines the text of the blip.blips = { { coords = vec3(-596.3600, 2089.4424, 131.4127), sprite = 124, color = 64, scale = 0.7, text = "Mineshaft" }
Config.RefiningOptions
Config.RefiningOptions
This is the configuration section for refining
Config.RefiningOptions = { startRefiningTime = 2000, deafultRefiningTime = 60000, deafultRefinedAmount = 1, defaultRefiningPed = { model = "s_m_y_dockwork_01", scenario = "WORLD_HUMAN_CLIPBOARD" }, defaultRefiningBlip = { sprite = 648, color = 64, scale = 0.7, text = 'Refinery' }, refiningLocations = { -- hidden refinery (ONLY FOR DEMONSTRATION) -- Comment this location out for nomral functionality { coords = vec4(1084.5447, -2016.7728, 41.4803, 110.2267), items = { "rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper" }, ped = { model = "s_m_m_dockwork_01", scenario = "WORLD_HUMAN_PARTYING" }, blip = { hide = true, sprite = 621, color = 8, scale = 1.0, text = "Party Refinery" } }, -- normal refinery { coords = vec4(1104.3625, -2011.9668, 30.8764, 26.9737), items = { "rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper" }, }, -- precious metal refinery { coords = vec4(1123.7616, -1997.9230, 35.4394, 126.4648), items = { "rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper" }, blip = {sprite = 618, color = 46, text = 'Precious Metal Refinery'}, }, -- jewel refinery { coords = vec4(1074.0748, -2009.3641, 32.0850, 56.9703), items = { "rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper" }, blip = {sprite = 617, color = 32, text = 'Jewels Refinery'} }, }, refinedItems = { {label = "Refined Stone", itemName = "refinedstone", refinedFromLabel = "Raw Stone", refinedFrom = "rawstone", icon = 'mattress-pillow', refiningTime = 10000, amount = 2, }, {label = "Refined Iron", itemName = "refinediron", refinedFromLabel = "Raw Iron", refinedFrom = "rawiron", icon = 'mattress-pillow'}, {label = "Refined Bauxite", itemName = "refinedbauxite", refinedFromLabel = "Raw Bauxite", refinedFrom = "rawbauxite", icon = 'mattress-pillow'}, {label = "Refined Coal", itemName = "refinedcoal", refinedFromLabel = "Raw Coal", refinedFrom = "rawcoal", icon = 'mattress-pillow'}, {label = "Refined Copper", itemName = "refinedcopper", refinedFromLabel = "Raw Copper", refinedFrom = "rawcopper", icon = 'mattress-pillow'}, {label = "Refined Silver", itemName = "refinedsilver", refinedFromLabel = "Raw Silver", refinedFrom = "rawsilver", icon = 'coins'}, {label = "Refined Gold", itemName = "refinedgold", refinedFromLabel = "Raw Gold", refinedFrom = "rawgold", icon = 'coins'}, {label = "Refined Sapphire", itemName = "refinedsapphire", refinedFromLabel = "Raw Sapphire", refinedFrom = "rawsapphire", icon = 'gem'}, {label = "Refined Emerald", itemName = "refinedemerald", refinedFromLabel = "Raw Emerald", refinedFrom = "rawemerald", icon = 'gem'}, {label = "Refined Ruby", itemName = "refinedruby", refinedFromLabel = "Raw Ruby", refinedFrom = "rawruby", icon = 'gem'}, {label = "Refined Diamond", itemName = "refineddiamond", refinedFromLabel = "Raw Diamond", refinedFrom = "rawdiamond", icon = 'gem'}, } }
startRefiningTime
Determines the time it takes to hand in all items to the refiner (In Milliseconds).
startRefiningTime = 2000,
deafultRefiningTime
Default time it takes for each reward item to be refined if the item doesn't have a time set. (In Milliseconds).
deafultRefiningTime = 60000,
defaultRefinedAmount
Default amount that the player receives for refining an item if the item doesn't have an amount set.
deafultRefinedAmount = 1,
defaultRefiningPed
Default ped options if a refinery doesn't have one set.
model
= Default ped model used if the refining location doesn't have a ped model set.
scenario
= Default scenario the ped will play if the refining location doesn't have a scenario set.defaultRefiningPed = { model = "s_m_y_dockwork_01", scenario = "WORLD_HUMAN_CLIPBOARD" },
defaultRefiningBlip
Default blip data for refineries if they don't have specific blip data set.
sprite
= Default blip sprite used if the location doesn't have one set.
color
= Default blip color used if the location doesn't have one set.
scale
= Default blip scale used if the location doesn't have one set.
text
= Default blip text used if the location doesn't have one set.defaultRefiningBlip = { sprite = 648, color = 64, scale = 0.7, text = 'Refinery' },
refiningLocations
Options marked (Optional) do not need to be used. If they are omitted, the default data set earlier will be used.
The "coords" option must be a vector4 (Includes heading)
The entries in the "items" array must match the "itemName" defined in "Config.RockOptions.rewards"
Determines the locations and data for each refinery.
coords
= Determines the coordinates for the refining ped.
items
= Determines which items can be refined at this location (Optional).
ped
= Determines the ped information for this location (Optional).
model
= Determines the ped model for this location (Optional).
scenario
= Determines the ped scenario for this location (Optional).
blip
= Determines the blip options for this location (Optional)
hide
= Determines of the blip is hidden (Optional).
sprite
= Determines the sprite of the blip (Optional).
color
= Determines the color of the blip (Optional).
scale
= Determines the scale of the blip (Optional).
text
= Determines the text of the blip (Optional).refiningLocations = { { coords = vec4(1084.5447, -2016.7728, 41.4803, 110.2267), items = { "rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper" }, ped = { model = "s_m_m_dockwork_01", scenario = "WORLD_HUMAN_PARTYING" }, blip = { hide = true, sprite = 621, color = 8, scale = 1.0, text = "Party Refinery" } }, },
refinedItems
Options marked (Optional) do not need to be used. If they are omitted, the default data set earlier will be used.
Determines the items that can be refined.
label
= The label of the refined item (For menu purposes).
itemName
= The name of the refined item in your inventory script.
refinedFromLabel
= The label of raw item that the item is refined from.
refinedFrom
= The name of the raw item in your inventory script that the item is refined from.
icon
= The icon that is used in the menu for this item.
refiningTime
= The amount of time it takes for one of this item to be refined (In Milliseconds) (Optional).
amount
= The amount of the refined item this yields (Optional).refinedItems = { { label = "Refined Stone", itemName = "refinedstone", refinedFromLabel = "Raw Stone", refinedFrom = "rawstone", icon = 'mattress-pillow', refiningTime = 10000, amount = 2, }, }
Config.Rocks
Config.Rocks
Options marked (Optional) do not need to be used. If they are omitted, the default data set earlier will be used.
The "coords" option must be a vector3
The "rotation" option uses rotation order "0". More information on rotation orders can be found here (https://docs.fivem.net/natives/?_0xAFBD61CC738D9EB9)
Determines the rocks that can be mined
coords
= Determines the coordinates of the rock.
rotation
= Determines the rotation of the rock (Optional).
rewards
= Determines the rewards this rock can give (Optional).
prop
= Determines the prop this rock uses (Optional).
durability
= Determines the durability of the rock (Optional).Config.Rocks = { { coords = vec3(-613.746704, 2103.998779, 125.559807), rotation = vec3(0.0, 0.0, 180.0), rewards = {"rawstone", "rawiron"}, prop = "prop_test_rocks01", durability = 3000 }, }
Example Config
Config = {
language = "en", -- Language sets which Locale to use, you can find available locales in [gfg_mining/locale/], we will add more as they become available but feel free to add your own.
debug = true, -- Determines whether to send debug print statements to the client and server when using the script (Debug should only used in a development environment)
inventory = "ox_inventory", -- Determines wich inventory resource to use. Currently supported options are: "ox_inventory" & "qb_inventory".
target = "ox_target", -- Determines wich target resource to use. Currently supported options are: "ox_target" & "qb_target".
targetDistance = 2, -- Determines the distance that the target is activated.
targetWaitTime = 1000, -- Determines the amount of time the client checks for nearby ojects to create a target for. (1000 is probably fine but if you experience high resource usage you may need to increase this.)
pickaxe = {
needed = true, -- If 'true' the player needs the pickaxe to start mining.
item = "pickaxe", -- The item name of the pickaxe in your inventory script.
prop = "prop_tool_pickaxe", -- Determines the prop to create when mining.
},
skillCheckKeys = {'e'}, -- Determines the keys used during the skill check, information on how to customize this can be found here (https://overextended.github.io/docs/ox_lib/Interface/Client/skillcheck).
}
Config.RockOptions = {
defaultRockDurability = 10000, -- Determines the default rock durability of each rock that doesnt have durability manualy set
rockDurabilityRefreshTime = 5, -- Determines how often the rocks add durability to their durability amount (In Minutes)
onlySetDurabilityIfZero = true, -- If 'true' only refreshes durability on rocks that have zero durability
rockDurabilityRefreshAdd = 1000, -- Determines how much durability to add tot eh rock durability every refresh
rewards = { -- Table containing the possible rewards the player can get from mining a rock
{
label = "Raw Stone", -- The label of the item
itemName = "rawstone", -- The item name within your inventory script
chance = 90, -- The chance the player will get this item when mining (90 = 90% chance)
duration = 5000, -- Determines how long it takes to mine this item.
rockDurabilityLoss = 500, -- Determines how much durability this item removes from the rock when mined
difficulty = {'easy'}, -- Determines the difficulty of the skill check for this item, information on how to customize this can be found here (https://overextended.github.io/docs/ox_lib/Interface/Client/skillcheck).
alwaysReceive = true -- Determines if this item is always received when mining a rock (Optional)(!!! WARNING !!! at least one item in the rewards must have alwaysReceive set to 'true')
},
{label = "Raw Iron", itemName = "rawiron", chance = 70, duration = 6000, rockDurabilityLoss = 1000, difficulty = {'medium'}},
{label = "Raw Bauxite", itemName = "rawbauxite", chance = 70, duration = 6000, rockDurabilityLoss = 1000, difficulty = {'medium'}},
{label = "Raw Coal", itemName = "rawcoal", chance = 70, duration = 6000, rockDurabilityLoss = 1000, difficulty = {'medium'}},
{label = "Raw Copper", itemName = "rawcopper", chance = 50, duration = 8000, rockDurabilityLoss = 2000, difficulty = {'easy', 'medium'}},
{label = "Raw Silver", itemName = "rawsilver", chance = 35, duration = 9000, rockDurabilityLoss = 5000, difficulty = {'medium', 'medium'}},
{label = "Raw Gold", itemName = "rawgold", chance = 30, duration = 9000, rockDurabilityLoss = 5000, difficulty = {'medium', 'medium'}},
{label = "Raw Sapphire", itemName = "rawsapphire", chance = 5, duration = 10000, rockDurabilityLoss = 8000, difficulty = {'medium', 'hard'}},
{label = "Raw Emerald", itemName = "rawemerald", chance = 5, duration = 10000, rockDurabilityLoss = 8000, difficulty = {'medium', 'hard'}},
{label = "Raw Ruby", itemName = "rawruby", chance = 5, duration = 10000, rockDurabilityLoss = 8000, difficulty = {'medium', 'hard'}},
{label = "Raw Diamond", itemName = "rawdiamond", chance = 1, duration = 15000, rockDurabilityLoss = 10000, difficulty = {'medium', 'hard', 'hard'}},
},
props = { -- Determines the props that may be used when the rocks are created on server start
"h4_prop_rock_med_01", "h4_prop_rock_med_02",
"h4_prop_rock_med_03", "h4_prop_rock_scree_med_01",
"h4_prop_rock_scree_med_02", "h4_prop_rock_scree_med_03",
"rock_4_cl_2_1", "rock_4_cl_2_2"
},
}
Config.RefiningOptions = {
startRefiningTime = 2000, -- Determines the time it takes to hand in all items to the refiner.
deafultRefiningTime = 60000, -- Default time it takes for each reward item to be refined if the item doesnt have a time set.
deafultRefinedAmount = 1, -- Default amount that the player receives for refining an item if the item doesnt have an amount set.
defaultRefiningPed = {
model = "s_m_y_dockwork_01", -- Deafult ped model used if the refining location doesnt have a ped model set
scenario = "WORLD_HUMAN_CLIPBOARD" -- Default scenario the ped will play if the refining location doesnt have a scenario set.
},
defaultRefiningBlip = {
sprite = 648, -- Default blip sprite used if the location doesnt have one set.
color = 64, -- Default blip color used if the location doesnt have one set.
scale = 0.7, -- Default blip scale used if the location doesnt have one set.
text = 'Refinery' -- Default blip text used if the location doesnt have one set.
},
refiningLocations = {
-- hidden refinery (ONLY FOR DEMONSTRATION)
-- Comment this location out for nomral functionality
{
coords = vec4(1084.5447, -2016.7728, 41.4803, 110.2267),-- Determines the coordinates fo the refining ped (!!! WARNING !!! must be a vector4)
items = { -- Determines wich items can be refined at this location (Optional). If ommited, uses all the items in Config.RockOptions.rewards
"rawstone", "rawiron", -- Must be the itemName defined in Config.RockOptions.rewards
"rawbauxite", "rawcoal", "rawcopper"
},
ped = { -- Determines the ped information for this location (Optional)
model = "s_m_m_dockwork_01", -- Determines the ped model for this location
scenario = "WORLD_HUMAN_PARTYING" -- Determines the ped scenario for this location
},
blip = { -- Determines the blip options for this location (Optional)
hide = true, -- Determines of the blip is hidden
sprite = 621, -- Determines the sprite of the blip
color = 8, -- Determines the color of the blip
scale = 1.0, -- Determines the scale of the blip
text = "Party Refinery" -- Determines the text of the blip.
}
},
-- normal refinery
{
coords = vec4(1104.3625, -2011.9668, 30.8764, 26.9737),
items = { "rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper" },
},
-- precious metal refinery
{
coords = vec4(1123.7616, -1997.9230, 35.4394, 126.4648),
items = { "rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper" },
blip = {sprite = 618, color = 46, text = 'Precious Metal Refinery'},
},
-- jewel refinery
{
coords = vec4(1074.0748, -2009.3641, 32.0850, 56.9703),
items = { "rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper" },
blip = {sprite = 617, color = 32, text = 'Jewels Refinery'}
},
},
refinedItems = { -- Determines the items that can be refined.
{
label = "Refined Stone", -- The label of the item (For menu purposes).
itemName = "refinedstone", -- The name of the item in your inventory script.
refinedFromLabel = "Raw Stone", -- The label of item that the item is refined from.
refinedFrom = "rawstone", -- The name of the item in your inventory script that the item is refined from.
icon = 'mattress-pillow', -- The icon that is used in the menu for this item.
refiningTime = 10000, -- The amount of time it takes for one of this item to be refined (In Milliseconds) (Optional)
amount = 2, -- The amount of the refined item this yields. (Optional)
},
{label = "Refined Iron", itemName = "refinediron", refinedFromLabel = "Raw Iron", refinedFrom = "rawiron", icon = 'mattress-pillow'},
{label = "Refined Bauxite", itemName = "refinedbauxite", refinedFromLabel = "Raw Bauxite", refinedFrom = "rawbauxite", icon = 'mattress-pillow'},
{label = "Refined Coal", itemName = "refinedcoal", refinedFromLabel = "Raw Coal", refinedFrom = "rawcoal", icon = 'mattress-pillow'},
{label = "Refined Copper", itemName = "refinedcopper", refinedFromLabel = "Raw Copper", refinedFrom = "rawcopper", icon = 'mattress-pillow'},
{label = "Refined Silver", itemName = "refinedsilver", refinedFromLabel = "Raw Silver", refinedFrom = "rawsilver", icon = 'coins'},
{label = "Refined Gold", itemName = "refinedgold", refinedFromLabel = "Raw Gold", refinedFrom = "rawgold", icon = 'coins'},
{label = "Refined Sapphire", itemName = "refinedsapphire", refinedFromLabel = "Raw Sapphire", refinedFrom = "rawsapphire", icon = 'gem'},
{label = "Refined Emerald", itemName = "refinedemerald", refinedFromLabel = "Raw Emerald", refinedFrom = "rawemerald", icon = 'gem'},
{label = "Refined Ruby", itemName = "refinedruby", refinedFromLabel = "Raw Ruby", refinedFrom = "rawruby", icon = 'gem'},
{label = "Refined Diamond", itemName = "refineddiamond", refinedFromLabel = "Raw Diamond", refinedFrom = "rawdiamond", icon = 'gem'},
}
}
Config.Rocks = { -- Determines the rocks that can be mined
-- Test Rock (ONLY FOR DEMONSTRATION)
-- Comment this rock out for nomral functionality
{
coords = vec3(-613.746704, 2103.998779, 125.559807), -- Determines the coordinates of the rock.
rotation = vec3(0.0, 0.0, 180.0), -- Determines the rotation of the rock (Optional).
rewards = {"rawstone", "rawiron"}, -- Determines the rewards this rock can give (Optional).
-- prop = "prop_test_rocks01", -- Determines the prop this rock uses (Optional).
durability = 3000 -- Determines the durability of the rock (Optional).
},
-- Entrance (Easy)
{coords = vec3(-592.275696, 2080.894287, 130.349731), rewards = {"rawstone"}},
{coords = vec3(-594.399719, 2078.630859, 130.394424), rewards = {"rawstone"}},
{coords = vec3(-590.654724, 2074.891602, 130.332657), rewards = {"rawstone"}},
{coords = vec3(-589.236450, 2069.198975, 130.180725), rewards = {"rawstone"}},
{coords = vec3(-588.573730, 2066.519043, 130.115250), rewards = {"rawstone"}},
{coords = vec3(-587.470764, 2060.281982, 129.762726), rewards = {"rawstone"}},
{coords = vec3(-586.567139, 2053.242432, 129.199509), rewards = {"rawstone"}},
{coords = vec3(-584.802124, 2046.198853, 128.598450), rewards = {"rawstone"}},
{coords = vec3(-583.293823, 2042.785889, 128.277588), rewards = {"rawstone"}},
{coords = vec3(-581.485657, 2039.450317, 127.990494), rewards = {"rawstone"}},
{coords = vec3(-579.805603, 2031.773438, 127.428123), rewards = {"rawstone"}},
{coords = vec3(-575.196838, 2030.480713, 127.187271), rewards = {"rawstone"}},
{coords = vec3(-572.402222, 2022.780640, 126.796333), rewards = {"rawstone"}},
{coords = vec3(-565.319885, 2015.486694, 126.410469), rewards = {"rawstone"}},
{coords = vec3(-556.743774, 2003.468384, 126.143974), rewards = {"rawstone"}},
{coords = vec3(-552.341492, 1995.937012, 126.054718), rewards = {"rawstone"}},
{coords = vec3(-549.336914, 1996.348633, 126.031670), rewards = {"rawstone"}},
{coords = vec3(-546.100220, 1990.892456, 126.029320), rewards = {"rawstone"}},
{coords = vec3(-546.840271, 1985.238892, 126.026169), rewards = {"rawstone"}},
-- Tunnel A (Right)
{coords = vec3(-542.207092, 1978.908447, 126.026352), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-541.471619, 1973.710938, 125.986397), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-543.894409, 1971.153198, 125.991150), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-540.708740, 1966.693115, 125.846161), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-543.369202, 1966.549683, 125.892509), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-539.851074, 1960.107788, 125.666542), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-538.677307, 1952.928345, 125.311035), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-536.499084, 1945.766602, 124.926613), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-539.568970, 1946.136841, 125.017517), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-534.683594, 1937.914673, 124.369843), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-537.564270, 1937.522583, 124.380753), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-533.928833, 1934.112305, 124.104813), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-533.610107, 1930.150879, 123.819298), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-536.390198, 1926.824341, 123.588013), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-533.624756, 1923.381226, 123.312149), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-534.023804, 1919.289307, 123.004623), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-536.552979, 1923.044922, 123.251022), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-534.934021, 1914.303345, 122.687500), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-540.190186, 1909.102905, 122.259659), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-543.729065, 1899.741699, 122.022942), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-549.666260, 1897.770142, 122.034912), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-549.670044, 1894.005127, 121.979408), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-555.638367, 1889.666992, 122.011955), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-561.754395, 1889.354370, 122.034920), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-560.965759, 1886.683838, 122.035042), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-564.280884, 1885.211914, 122.035095), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-564.889832, 1886.162476, 122.035057), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-565.207031, 1886.988525, 122.034973), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
-- Tunnel A (Right) Sub-Tunnel A (Left)
{coords = vec3(-536.385193, 1906.341797, 122.124054), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper", "rawsilver", "rawgold", "rawsapphire", "rawemerald", "rawruby"}},
{coords = vec3(-534.746094, 1905.406860, 122.079491), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper", "rawsilver", "rawgold", "rawsapphire", "rawemerald", "rawruby"}},
{coords = vec3(-533.828308, 1901.749634, 122.071693), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper", "rawsilver", "rawgold", "rawsapphire", "rawemerald", "rawruby"}},
{coords = vec3(-529.753357, 1899.003418, 121.894981), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper", "rawsilver", "rawgold", "rawsapphire", "rawemerald", "rawruby"}},
{coords = vec3(-528.368896, 1901.408569, 121.901901), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper", "rawsilver", "rawgold", "rawsapphire", "rawemerald", "rawruby"}},
{coords = vec3(-524.861023, 1896.406982, 121.595360), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper", "rawsilver", "rawgold", "rawsapphire", "rawemerald", "rawruby"}},
{coords = vec3(-520.966980, 1897.848511, 121.376228), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper", "rawsilver", "rawgold", "rawsapphire", "rawemerald", "rawruby"}},
{coords = vec3(-516.367004, 1893.362061, 121.058174), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper", "rawsilver", "rawgold", "rawsapphire", "rawemerald", "rawruby"}},
{coords = vec3(-515.297424, 1895.993042, 121.028023), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper", "rawsilver", "rawgold", "rawsapphire", "rawemerald", "rawruby"}},
{coords = vec3(-509.195068, 1895.103027, 120.597107), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper", "rawsilver", "rawgold", "rawsapphire", "rawemerald", "rawruby"}},
{coords = vec3(-500.906342, 1892.100464, 119.938255), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper", "rawsilver", "rawgold", "rawsapphire", "rawemerald", "rawruby"}},
{coords = vec3(-500.603241, 1894.875244, 119.905113), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper", "rawsilver", "rawgold", "rawsapphire", "rawemerald", "rawruby"}},
{coords = vec3(-497.279724, 1895.256348, 119.649033), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper", "rawsilver", "rawgold", "rawsapphire", "rawemerald", "rawruby"}},
{coords = vec3(-494.463928, 1892.644409, 119.499466), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper", "rawsilver", "rawgold", "rawsapphire", "rawemerald", "rawruby"}},
{coords = vec3(-485.854675, 1893.381104, 118.993408), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper", "rawsilver", "rawgold", "rawsapphire", "rawemerald", "rawruby"}},
{coords = vec3(-486.082642, 1896.028076, 118.996597), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper", "rawsilver", "rawgold", "rawsapphire", "rawemerald", "rawruby"}},
{coords = vec3(-481.567688, 1896.287109, 118.671555), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper", "rawsilver", "rawgold", "rawsapphire", "rawemerald", "rawruby"}},
{coords = vec3(-481.332001, 1895.447510, 118.656631), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper", "rawsilver", "rawgold", "rawsapphire", "rawemerald", "rawruby"}},
{coords = vec3(-481.233734, 1894.559204, 118.652885), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper", "rawsilver", "rawgold", "rawsapphire", "rawemerald", "rawruby"}},
-- Tunnel B (Left)
{coords = vec3(-537.943359, 1983.404175, 126.026382), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-536.725525, 1980.262085, 126.055756), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-533.003235, 1982.411499, 126.001572), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-527.834045, 1978.612793, 125.877037), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-525.963989, 1981.246582, 125.792587), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-520.714844, 1980.661499, 125.619843), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-517.491089, 1977.773804, 125.523651), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-512.866150, 1980.405273, 125.307236), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-511.746918, 1977.644165, 125.271942), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-508.446655, 1980.632202, 125.181198), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-505.266235, 1980.721680, 125.095222), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-497.830353, 1982.328491, 124.548309), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-496.910339, 1979.520996, 124.535919), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-491.450989, 1985.021118, 123.720940), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-487.553284, 1983.777710, 123.482574), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-483.109680, 1985.207031, 123.176819), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-483.671661, 1988.060425, 123.168320), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-481.156555, 1988.786865, 123.039604), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-476.686829, 1990.285889, 122.863312), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-468.567017, 1990.819092, 122.614136), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-469.677246, 1993.469971, 122.622765), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-463.991638, 1997.804810, 122.572563), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-456.618103, 2000.842285, 122.545273), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-458.410217, 2003.166626, 122.560143), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-453.954163, 2008.447998, 122.571838), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-448.796204, 2009.416260, 122.545525), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-445.812439, 2011.872559, 122.545227), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-446.847839, 2014.708374, 122.554054), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
{coords = vec3(-444.140564, 2016.457886, 122.545525), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper"}},
-- Tunnel B (Left) Sub-Tunnel A (Left)
{coords = vec3(-450.512146, 2014.674072, 122.554131), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper", "rawsilver", "rawgold", "rawsapphire", "rawemerald", "rawruby", "rawdiamond"}},
{coords = vec3(-450.210388, 2018.275879, 122.576324), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper", "rawsilver", "rawgold", "rawsapphire", "rawemerald", "rawruby", "rawdiamond"}},
{coords = vec3(-451.054138, 2023.327515, 122.504265), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper", "rawsilver", "rawgold", "rawsapphire", "rawemerald", "rawruby", "rawdiamond"}},
{coords = vec3(-449.437286, 2029.735596, 122.373390), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper", "rawsilver", "rawgold", "rawsapphire", "rawemerald", "rawruby", "rawdiamond"}},
{coords = vec3(-452.433868, 2029.778320, 122.374184), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper", "rawsilver", "rawgold", "rawsapphire", "rawemerald", "rawruby", "rawdiamond"}},
{coords = vec3(-453.952393, 2035.994019, 122.065659), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper", "rawsilver", "rawgold", "rawsapphire", "rawemerald", "rawruby", "rawdiamond"}},
{coords = vec3(-454.002319, 2044.289673, 121.742661), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper", "rawsilver", "rawgold", "rawsapphire", "rawemerald", "rawruby", "rawdiamond"}},
{coords = vec3(-456.653534, 2043.154907, 121.739914), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper", "rawsilver", "rawgold", "rawsapphire", "rawemerald", "rawruby", "rawdiamond"}},
{coords = vec3(-460.119934, 2049.789307, 121.474762), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper", "rawsilver", "rawgold", "rawsapphire", "rawemerald", "rawruby", "rawdiamond"}},
{coords = vec3(-460.958130, 2051.276367, 121.335655), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper", "rawsilver", "rawgold", "rawsapphire", "rawemerald", "rawruby", "rawdiamond"}},
{coords = vec3(-461.302551, 2057.802002, 120.675011), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper", "rawsilver", "rawgold", "rawsapphire", "rawemerald", "rawruby", "rawdiamond"}},
{coords = vec3(-465.680206, 2060.145264, 120.182014), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper", "rawsilver", "rawgold", "rawsapphire", "rawemerald", "rawruby", "rawdiamond"}},
{coords = vec3(-467.069214, 2063.488281, 119.890762), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper", "rawsilver", "rawgold", "rawsapphire", "rawemerald", "rawruby", "rawdiamond"}},
{coords = vec3(-465.944702, 2068.191162, 119.729332), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper", "rawsilver", "rawgold", "rawsapphire", "rawemerald", "rawruby", "rawdiamond"}},
{coords = vec3(-466.970978, 2071.415283, 119.589584), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper", "rawsilver", "rawgold", "rawsapphire", "rawemerald", "rawruby", "rawdiamond"}},
{coords = vec3(-471.799988, 2077.933350, 119.326653), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper", "rawsilver", "rawgold", "rawsapphire", "rawemerald", "rawruby", "rawdiamond"}},
{coords = vec3(-469.840149, 2082.491943, 119.209816), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper", "rawsilver", "rawgold", "rawsapphire", "rawemerald", "rawruby", "rawdiamond"}},
{coords = vec3(-470.472656, 2086.170654, 119.104805), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper", "rawsilver", "rawgold", "rawsapphire", "rawemerald", "rawruby", "rawdiamond"}},
{coords = vec3(-473.464233, 2086.323486, 119.114975), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper", "rawsilver", "rawgold", "rawsapphire", "rawemerald", "rawruby", "rawdiamond"}},
{coords = vec3(-474.210938, 2089.778564, 119.065201), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper", "rawsilver", "rawgold", "rawsapphire", "rawemerald", "rawruby", "rawdiamond"}},
{coords = vec3(-473.194244, 2090.033936, 119.065163), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper", "rawsilver", "rawgold", "rawsapphire", "rawemerald", "rawruby", "rawdiamond"}},
{coords = vec3(-472.487549, 2090.243652, 119.065041), rewards = {"rawstone", "rawiron", "rawbauxite", "rawcoal", "rawcopper", "rawsilver", "rawgold", "rawsapphire", "rawemerald", "rawruby", "rawdiamond"}},
-- Tunnel B (Left) Sub-Tunnel A (Left) Sub Tunnel B (Right)
{coords = vec3(-455.910950, 2052.202881, 121.301605), rewards = {"rawstone", "rawsilver", "rawgold", "rawsapphire", "rawemerald", "rawruby", "rawdiamond"}},
{coords = vec3(-451.726074, 2054.261719, 121.204506), rewards = {"rawstone", "rawsilver", "rawgold", "rawsapphire", "rawemerald", "rawruby", "rawdiamond"}},
{coords = vec3(-433.385620, 2060.989502, 120.205276), rewards = {"rawstone", "rawsilver", "rawgold", "rawsapphire", "rawemerald", "rawruby", "rawdiamond"}},
{coords = vec3(-428.665771, 2065.072998, 119.640602), rewards = {"rawstone", "rawsilver", "rawgold", "rawsapphire", "rawemerald", "rawruby", "rawdiamond"}},
{coords = vec3(-427.237183, 2065.395508, 119.465134), rewards = {"rawstone", "rawsilver", "rawgold", "rawsapphire", "rawemerald", "rawruby", "rawdiamond"}},
{coords = vec3(-425.956238, 2065.706543, 119.272820), rewards = {"rawstone", "rawsilver", "rawgold", "rawsapphire", "rawemerald", "rawruby", "rawdiamond"}},
{coords = vec3(-422.783386, 2063.506592, 118.942032), rewards = {"rawstone", "rawsilver", "rawgold", "rawsapphire", "rawemerald", "rawruby", "rawdiamond"}},
{coords = vec3(-422.739563, 2064.566895, 118.927132), rewards = {"rawstone", "rawsilver", "rawgold", "rawsapphire", "rawemerald", "rawruby", "rawdiamond"}},
{coords = vec3(-423.116486, 2065.337402, 118.917175), rewards = {"rawstone", "rawsilver", "rawgold", "rawsapphire", "rawemerald", "rawruby", "rawdiamond"}},
}
Last updated