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 = {
    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

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

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

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