1
0
Fork 0
forked from Simnation/Main
Main/resources/[tools]/bl_bridge/server/inventory/origen.lua

67 lines
1.8 KiB
Lua
Raw Normal View History

2025-08-04 04:28:47 +02:00
local retreiveExportsData = require 'utils'.retreiveExportsData
local overrideFunction = {}
local origen_inventory = exports.origen_inventory
overrideFunction.methods = retreiveExportsData(origen_inventory, {
addItem = {
originalMethod = 'addItem',
modifier = {
passSource = true,
}
},
removeItem = {
originalMethod = 'removeItem',
modifier = {
passSource = true,
effect = function(originalFun, source, name, count, slot)
return originalFun(source, name, count, nil, slot)
end,
}
},
setMetaData = {
originalMethod = 'setMetadata',
modifier = {
passSource = true,
}
},
canCarryItem = {
originalMethod = 'canCarryItem',
modifier = {
passSource = true,
}
},
getItem = {
originalMethod = 'getItem',
modifier = {
passSource = true,
}
},
items = {
originalMethod = 'getItems',
modifier = {
executeFunc = true,
passSource = true,
}
},
})
function overrideFunction.registerUsableItem(name, cb)
exports.origen_inventory:CreateUseableItem(name, function(source, item)
cb(source, item and item.slot, item and item.info)
end)
end
function overrideFunction.registerInventory(id, data)
local type, name, items in data
if type == 'shop' and origen_inventory.registerShop then
origen_inventory:registerShop(id, {
name = name or 'Shop',
inventory = items or {},
})
elseif type == 'stash' then
local maxWeight, slots in data
origen_inventory:registerStash(id, name or 'Stash', slots or 10, maxWeight or 20000)
end
end
return overrideFunction