# INSTALLATION

#### 1. Resource Installation

1. Download the latest release
2. Extract to your resources folder
3. Add `ensure janiel-fishing` to your server.cfg
4. Configure config.lua to your preferences

#### 2. Framework-Specific Installation



**QB-Core**

1. Add the following items to `qb-core/shared/items.lua`:
2.

    ```lua
    QBShared.Items = {
        -- Fishing Equipment
        ['fishingrod'] = {
            name = 'fishingrod',
            label = 'Fishing Rod',
            weight = 750,
            type = 'item',
            image = 'fishing-rod.png',
            unique = false,
            useable = true,
            shouldClose = true,
            combinable = nil,
            description = 'A rod for fishing'
        },
        ['fishbait'] = {
            name = 'fishbait',
            label = 'Fish Bait',
            weight = 400,
            type = 'item',
            image = 'bait.png',
            unique = false,
            useable = true,
            shouldClose = true,
            combinable = nil,
            description = 'Bait for fishing'
        },

        -- Regular Fish
        ['cod'] = {
            name = 'cod',
            label = 'Cod',
            weight = 2500,
            type = 'item',
            image = 'fish5.png',
            unique = true,
            useable = true,
            shouldClose = false,
            combinable = nil,
            description = 'A fresh cod fish'
        },
        ['mackerel'] = {
            name = 'mackerel',
            label = 'Mackerel',
            weight = 2500,
            type = 'item',
            image = 'fish6.png',
            unique = true,
            useable = true,
            shouldClose = false,
            combinable = nil,
            description = 'A fresh mackerel'
        },
        ['bass'] = {
            name = 'bass',
            label = 'Bass',
            weight = 1250,
            type = 'item',
            image = 'fish3.png',
            unique = true,
            useable = true,
            shouldClose = false,
            combinable = nil,
            description = 'A fresh bass'
        },
        ['tuna'] = {
            name = 'tuna',
            label = 'Tuna',
            weight = 2500,
            type = 'item',
            image = 'fish1.png',
            unique = true,
            useable = true,
            shouldClose = false,
            combinable = nil,
            description = 'A fresh tuna'
        },
        ['trout'] = {
            name = 'trout',
            label = 'Trout',
            weight = 2500,
            type = 'item',
            image = 'fish4.png',
            unique = true,
            useable = true,
            shouldClose = false,
            combinable = nil,
            description = 'A fresh trout'
        },
        ['salmon'] = {
            name = 'salmon',
            label = 'Salmon',
            weight = 1250,
            type = 'item',
            image = 'fish2.png',
            unique = true,
            useable = true,
            shouldClose = false,
            combinable = nil,
            description = 'A fresh salmon'
        },

        -- Illegal Fish
        ['killerwhale'] = {
            name = 'killerwhale',
            label = 'Killer Whale',
            weight = 15000,
            type = 'item',
            image = 'killer_whale.png',
            unique = true,
            useable = true,
            shouldClose = false,
            combinable = nil,
            description = 'A killer whale... highly illegal'
        },
        ['dolphin'] = {
            name = 'dolphin',
            label = 'Dolphin',
            weight = 5000,
            type = 'item',
            image = 'dolphin.png',
            unique = true,
            useable = true,
            shouldClose = false,
            combinable = nil,
            description = 'A dolphin... definitely illegal'
        },
        ['shark'] = {
            name = 'shark',
            label = 'Shark',
            weight = 5000,
            type = 'item',
            image = 'shark.png',
            unique = true,
            useable = true,
            shouldClose = false,
            combinable = nil,
            description = 'A shark... probably illegal'
        }
    }	
    ```

**ESX**

1. Execute the SQL in your database:
2.

    ```sql
    INSERT INTO `items` (`name`, `label`, `weight`, `rare`, `can_remove`) VALUES
        ('fishingrod', 'Fishing Rod', 750, 0, 1, 1),
        ('fishbait', 'Fish Bait', 400, 0, 1, 1),
        ('cod', 'Cod', 2500, 0, 1, 1),
        ('mackerel', 'Mackerel', 2500, 0, 1, 1),
        ('bass', 'Bass', 1250, 0, 1, 1),
        ('tuna', 'Tuna', 2500, 0, 1, 1),
        ('trout', 'Trout', 2500, 0, 1, 1),
        ('salmon', 'Salmon', 1250, 0, 1, 1),
        ('killerwhale', 'Killer Whale', 15000, 0, 1 ),
        ('dolphin', 'Dolphin', 5000, 0, 1 ),
        ('shark', 'Shark', 5000, 0, 1 );
    ```

OX\_inventory

```lua
return {
    -- Fishing Equipment
    ['fishingrod'] = {
        label = 'Fishing Rod',
        weight = 750,
        stack = false,
        close = true,
        description = 'A rod for fishing',
        client = {
            image = 'fishing-rod.png',
            usetime = 2500,
            export = 'janiel-fishing.useRod'
        }
    },
    ['fishbait'] = {
        label = 'Fish Bait',
        weight = 400,
        stack = true,
        close = true,
        description = 'Bait for fishing',
        client = {
            image = 'bait.png'
        }
    },

    -- Regular Fish
    ['cod'] = {
        label = 'Cod',
        weight = 2500,
        stack = true,
        close = false,
        description = 'A fresh cod fish',
        client = {
            image = 'fish5.png'
        }
    },
    ['mackerel'] = {
        label = 'Mackerel',
        weight = 2500,
        stack = true,
        close = false,
        description = 'A fresh mackerel',
        client = {
            image = 'fish6.png'
        }
    },
    ['bass'] = {
        label = 'Bass',
        weight = 1250,
        stack = true,
        close = false,
        description = 'A fresh bass',
        client = {
            image = 'fish3.png'
        }
    },
    ['tuna'] = {
        label = 'Tuna',
        weight = 2500,
        stack = true,
        close = false,
        description = 'A fresh tuna',
        client = {
            image = 'fish1.png'
        }
    },
    ['trout'] = {
        label = 'Trout',
        weight = 2500,
        stack = true,
        close = false,
        description = 'A fresh trout',
        client = {
            image = 'fish4.png'
        }
    },
    ['salmon'] = {
        label = 'Salmon',
        weight = 1250,
        stack = true,
        close = false,
        description = 'A fresh salmon',
        client = {
            image = 'fish2.png'
        }
    },

    -- Illegal Fish
    ['killerwhale'] = {
        label = 'Killer Whale',
        weight = 15000,
        stack = true,
        close = false,
        description = 'A killer whale... highly illegal',
        client = {
            image = 'killer_whale.png'
        }
    },
    ['dolphin'] = {
        label = 'Dolphin',
        weight = 5000,
        stack = true,
        close = false,
        description = 'A dolphin... definitely illegal',
        client = {
            image = 'dolphin.png'
        }
    },
    ['shark'] = {
        label = 'Shark',
        weight = 5000,
        stack = true,
        close = false,
        description = 'A shark... probably illegal',
        client = {
            image = 'shark.png'
        }
    }
}

```

Detailed configuration options can be found in `config.lua`. Each option is documented with explanatory comments.



#### 3. Images

1. Copy all images from `install/images` to:
   * QB-Core: `qb-inventory/html/images/`
   * ESX: `esx_inventory/html/img/`
   * ox\_inventory: `ox_inventory/web/images/`
