JJM Modifications
🔧

Configuration

Full reference for every option in config.lua.

All configuration lives in config.lua, which is the only file you need to edit for day-to-day customisation.

Core Settings#

OptionDefaultDescription
Config.TargetSystem'qb-target'Target system to use for interactive zones. Change to 'ox_target' if your server uses ox_target.
Config.TargetDebugfalseWhen true, draws zone boxes in-game to help with placement testing.
Config.InventorySystem'auto'Inventory system. 'auto' detects oxinventory first, then qb-inventory. Override with `'qb-inventory'` or `'oxinventory'`.
Config.JobName'uwucafe'The job name used in the database. Must match the value inserted by uwu_catcafe.sql.

Cafe Location#

OptionDefaultDescription
Config.Cafe.Label'UwU Cat Cafe'Display name used for notifications and the map blip.
Config.Cafe.Coordsvector3(-582.25, -1062.39, 22.34)Centre point of the cafe. Change this to match your MLO.
Config.Cafe.Radius40.0General radius around the cafe used for effects like the alarm audio.

Business Hours#

OptionDefaultDescription
Config.BusinessHours.Open9Hour (0–23, server system time) the cafe opens.
Config.BusinessHours.Close21Hour (0–23, server system time) the cafe closes.

The server checks os.date to determine whether the cafe is currently open. Staff cannot clock in outside of business hours. Overnight windows (e.g. open at 22, close at 6) are supported automatically.

Tip

You can adjust hours live using the /uwuhours command without editing config.lua. See the Commands page for details.

Security System#

OptionDefaultDescription
Config.Security.EnabledtrueMaster toggle for the security system.
Config.Security.AlarmCooldown120Seconds that must pass between server-side alarm events.
Config.Security.MinSecondsAlarming30Minimum number of seconds the alarm audio plays on the client.

Config.Security.Zones defines the restricted areas inside the cafe. Each zone has a centre coordinate, a radius, and a description used in notifications:

Config.Security.Zones = {    {        Center      = vector3(-580.0, -1060.0, 22.34),        Radius      = 4.0,        Description = 'Back counter'    },    {        Center      = vector3(-584.0, -1057.5, 22.34),        Radius      = 3.0,        Description = 'Kitchen'    }}

When an unauthorised player enters a zone while the security system is armed, the server triggers an alarm sound for nearby players and places a temporary police blip on the map.

Duty Clock#

OptionDefaultDescription
Config.Duty.ClockInvector3(-591.86, -1054.04, 22.34)Position of the clock-in/out interaction zone.
Config.Duty.ClockInRadius1.5Radius of the clock-in zone.

Map Blip#

OptionDefaultDescription
Config.Blip.EnabledtrueShow or hide the cafe blip on the map.
Config.Blip.Sprite628GTA blip sprite ID (628 = cash register).
Config.Blip.Colour48GTA blip colour index.
Config.Blip.Scale1.0Blip icon size.

Register#

OptionDefaultDescription
Config.Register.Coordsvector3(-583.97, -1061.34, 22.34)Position of the register interaction zone.
Config.Register.Radius2.0Radius of the register zone.
Config.Register.ShopName'uwu_catcafe'Internal shop identifier used by the inventory system.

Config.Register.Prices sets the default sell price for each item at the register:

Config.Register.Prices = {    uwu_milk_tea       = 25,    uwu_cat_cookie     = 20,    uwu_mochi_icecream = 30,    uwu_cat_bento      = 60}

Crafting#

OptionDefaultDescription
Config.Crafting.Benchvector3(-588.12, -1059.71, 22.36)Position of the kitchen crafting bench zone.
Config.Crafting.Radius2.0Radius of the crafting zone.

Config.Crafting.Recipes is the list of craftable items. Each entry defines a key (item name), display label, crafting time in milliseconds, output amount, and an optional list of ingredient requirements:

Config.Crafting.Recipes = {    {        key          = 'uwu_milk_tea',        label        = 'UwU Milk Tea',        time         = 5000,        amount       = 1,        requirements = {            { item = 'water_bottle', amount = 1 },            { item = 'sugar',        amount = 1 },        }    },    -- add more recipes here}

If requirements is an empty table, the item can be crafted with no ingredients. A seasonal recipe (uwu_valentine_cookie) is included and becomes available during the Valentine period defined in Config.Seasons.

NPC Customers#

OptionDefaultDescription
Config.NPCCustomers.EnabledtrueToggles ambient NPC customer spawning.
Config.NPCCustomers.Max4Maximum number of NPC customers spawned at once.

Config.NPCCustomers.Models lists the ped models used for NPC customers, and Config.NPCCustomers.Seats defines the world coordinates where they are placed. Config.NPCCustomerModel provides an extended pool of ped models the system can draw from.

Warehouse#

OptionDefaultDescription
Config.Warehouse.Locationvector3(-600.0, -1100.0, 22.0)World position of the warehouse delivery point. Change to match your server layout.
Config.Warehouse.DeliveryCooldown600Seconds between allowed warehouse deliveries.

Config.Warehouse.DeliveryAmount controls how many units of each item are added to shop stock per delivery:

Seasonal Events#

Config.Seasons defines the date ranges during which seasonal recipes become available. Each entry specifies the month, start day, and end day:

Config.Seasons = {    Valentine = { month = 2,  startDay = 1,  endDay = 20 },    Halloween = { month = 10, startDay = 1,  endDay = 31 },    Christmas = { month = 12, startDay = 1,  endDay = 31 }}

Dates are checked against the server's system clock. Outside of these windows, seasonal recipes do not appear in the crafting menu.