Files
community_bridge/init.lua
T

137 lines
4.5 KiB
Lua
Raw Normal View History

Bridge = {}
2025-01-08 06:33:31 -05:00
function Bridge.RegisterModule(moduleName, moduleTable)
if not moduleTable then
if BridgeSharedConfig.DebugLevel ~= 0 then
print("^6 No moduleTable provided for module: ", moduleName, "^0")
end
return
end
local wrappedModule = {}
2025-02-05 17:42:50 -06:00
if type(moduleTable) == 'function' then
Bridge[moduleName] = wrappedModule
2025-02-24 14:03:48 -06:00
exports(moduleName, moduleTable)
2025-02-05 17:42:50 -06:00
return
end
for functionName, func in pairs(moduleTable) do
wrappedModule[functionName] = func
end
if BridgeSharedConfig.DebugLevel ~= 0 then
print("^2 Registering module:", moduleName, "^0")
end
Bridge[moduleName] = wrappedModule
2025-02-24 14:03:48 -06:00
exports(moduleName, function()
return wrappedModule
end)
2025-02-05 17:42:50 -06:00
--trigger update object event
TriggerEvent("Bridge:Refresh", moduleName, wrappedModule)
2025-01-08 06:33:31 -05:00
end
2025-02-05 17:42:50 -06:00
exports("RegisterModule", Bridge.RegisterModule)
2025-01-08 06:33:31 -05:00
--TODO: Create a way to overide functions or create a new functions for module
2025-02-05 17:42:50 -06:00
function Bridge.RegisterModuleFunction(moduleName, functionName, func)
assert(moduleName and functionName and func, string.format("Bridge.RegisterModuleFunction(%s, %s, %s) - Invalid arguments", moduleName, functionName, func))
Bridge[moduleName] = Bridge[moduleName] or {}
Bridge[moduleName][functionName] = func
--trigger update object event
TriggerEvent("Bridge:Refresh", moduleName, Bridge[moduleName])
end
--Bridge
Bridge.RegisterModule("Framework", Framework)
Bridge.RegisterModule("Inventory", Inventory)
Bridge.RegisterModule("Notify", Notify)
Bridge.RegisterModule("HelpText", HelpText)
Bridge.RegisterModule("Clothing", Clothing)
Bridge.RegisterModule("Language", Language)
Bridge.RegisterModule("Doorlock", Doorlock)
Bridge.RegisterModule("Phone", Phone)
2025-02-05 17:42:50 -06:00
Bridge.RegisterModule("Dispatch", Dispatch)
2025-03-09 05:49:05 -04:00
Bridge.RegisterModule("Shops", Shops)
2025-04-15 07:06:57 -04:00
Bridge.RegisterModule("Housing", Housing)
2025-02-05 17:42:50 -06:00
--lib
2025-02-05 19:45:32 -05:00
Bridge.RegisterModule("Tables", cLib.Tables)
2025-02-05 17:42:50 -06:00
Bridge.RegisterModule("Math", cLib.Math)
Bridge.RegisterModule("Prints", cLib.Prints)
Bridge.RegisterModule("Callback", cLib.Callback)
--new
Bridge.RegisterModule("Require", Require)
Bridge.RegisterModule("Ids", cLib.Ids)
Bridge.RegisterModule("ReboundEntities", cLib.ReboundEntities)
Bridge.RegisterModule("LA", cLib.LA)
Bridge.RegisterModule("Perlin", cLib.Perlin)
Bridge.RegisterModule("Actions", cLib.Actions)
2025-04-23 14:10:19 -05:00
Bridge.RegisterModule("Cache", cLib.Cache)
2025-04-28 09:17:43 -04:00
Bridge.RegisterModule("Skills", Skills)
2025-01-08 10:49:21 -05:00
exports('Bridge', function()
return Bridge
end)
2025-02-05 17:42:50 -06:00
-- ▄▀▀ ██▀ █▀▄ █ █ ██▀ █▀▄
-- ▄█▀ █▄▄ █▀▄ ▀▄▀ █▄▄ █▀▄
if not IsDuplicityVersion() then goto client end
2025-02-05 17:42:50 -06:00
Bridge.RegisterModule("SQL", cLib.SQL)
Bridge.RegisterModule("Logs", cLib.Logs)
2025-03-24 14:09:19 -04:00
Bridge.RegisterModule("ItemsBuilder", cLib.ItemsBuilder)
2025-02-05 17:42:50 -06:00
Bridge.RegisterModule("LootTables", cLib.LootTables)
2025-02-17 12:14:12 -05:00
Bridge.RegisterModule("Version", Version)
2025-04-23 14:10:19 -05:00
Bridge.RegisterModule("ServerEntity", cLib.ServerEntity)
2025-02-05 17:42:50 -06:00
-- ▄▀▀ █ █ ██▀ █▄ █ ▀█▀
-- ▀▄▄ █▄▄ █ █▄▄ █ ▀█ █
if IsDuplicityVersion() then return end
2025-02-05 17:42:50 -06:00
::client::
Bridge.RegisterModule("Fuel", Fuel)
Bridge.RegisterModule("Input", Input)
2025-02-23 20:03:00 -05:00
Bridge.RegisterModule("ProgressBar", ProgressBar)
Bridge.RegisterModule("VehicleKey", VehicleKey)
Bridge.RegisterModule("Weather", Weather)
2025-02-05 17:42:50 -06:00
2025-01-16 01:59:53 -05:00
Bridge.RegisterModule("Target", Target)
Bridge.RegisterModule("Menu", Menu)
2025-02-23 08:42:57 -06:00
Bridge.RegisterModule("Dialogue", Dialogue)
2025-04-03 08:52:47 +01:00
Bridge.RegisterModule("Accessibility", Accessibility) -- new
2025-02-17 12:14:12 -05:00
2025-02-23 08:42:57 -06:00
Bridge.RegisterModule("Utility", cLib.Utility)
Bridge.RegisterModule("Placeable", cLib.Placeable)--new
Bridge.RegisterModule("Gizmo", cLib.Gizmo)
Bridge.RegisterModule("Scaleform", cLib.Scaleform)
Bridge.RegisterModule("Raycast", cLib.Raycast)
Bridge.RegisterModule("PlaceableObject", cLib.PlaceableObject)
2025-03-24 13:20:38 -05:00
Bridge.RegisterModule("Point", cLib.Point)
2025-03-30 21:06:58 -05:00
Bridge.RegisterModule("Object", cLib.Object)
2025-04-19 13:26:20 -05:00
Bridge.RegisterModule("Particle", cLib.Particle)
2025-04-23 14:10:19 -05:00
Bridge.RegisterModule("ClientEntity", cLib.ClientEntity)
Bridge.RegisterModule("ClientEntityActions", cLib.ClientEntityActions)
-- Fill the bridge tables with player data.
2025-01-08 10:49:21 -05:00
function FillBridgeTables()
PlayerLoaded = true
PlayerIdentifier = Framework.GetPlayerIdentifier()
PlayerJobName, PlayerJobLabel, PlayerJobGradeName, PlayerJobGradeLevel = Framework.GetPlayerJob()
end
-- Clean the bridge tables.
function ClearClientSideVariables()
PlayerLoaded = false
PlayerIdentifier = nil
PlayerJobName = nil
PlayerJobLabel = nil
PlayerJobGradeName = nil
PlayerJobGradeLevel = nil
StoredOldClothing = {}
end