Developer
Overview
ML Recycler fires server events at key points. Listen to them from any server script. The files in open/ hold handler stubs that the script does not call, so put your logic in the event handlers below.
Server Event Hooks
Processing
your_script/server.lua
1AddEventHandler('ml_recycler:hook:itemAdded', function(source, data)
2end)
3
4AddEventHandler('ml_recycler:hook:processingComplete', function(data)
5end)
6
7AddEventHandler('ml_recycler:hook:lootCollected', function(source, data)
8end)itemAdded: a player inserts items.dataholdsrecyclerId,recyclerType,slotIndex,itemName,itemCountandstatusprocessingComplete: a slot finishes, with no player source.dataholdsrecyclerId,recyclerType,slotIndex,itemName,itemCountandowner, the owner's license identifierlootCollected: a player collects a slot.dataholdsrecyclerId,recyclerType,slotIndexandloot, a list of{ item, count, rarity }
Maintenance
your_script/server.lua
1AddEventHandler('ml_recycler:hook:refueled', function(source, data)
2end)
3
4AddEventHandler('ml_recycler:hook:repaired', function(source, data)
5end)
6
7AddEventHandler('ml_recycler:hook:malfunction', function(source, data)
8end)refueled:recyclerId,recyclerType,fuelItem,quantity,newFuelrepaired:recyclerId,recyclerType,repairItem,quantity,newDurabilitymalfunction:recyclerId,recyclerType,durability
Upgrades
your_script/server.lua
1AddEventHandler('ml_recycler:hook:upgradeInstalled', function(source, data)
2end)
3
4AddEventHandler('ml_recycler:hook:upgradeRemoved', function(source, data)
5end)
6
7AddEventHandler('ml_recycler:hook:upgradeBroken', function(data)
8end)upgradeInstalled,upgradeRemoved:recyclerId,recyclerType,upgradeKey,upgradesupgradeBroken:recyclerId,recyclerType,upgradeKey. It has no player source and fires when a worn upgrade reaches zero
Placement
your_script/server.lua
1AddEventHandler('ml_recycler:hook:recyclerPlaced', function(source, data)
2end)
3
4AddEventHandler('ml_recycler:hook:recyclerPickedUp', function(source, data)
5end)recyclerPlaced:recyclerId,recyclerType,coords,headingrecyclerPickedUp:recyclerId,recyclerType
Examples
your_script/server.lua
1AddEventHandler('ml_recycler:hook:lootCollected', function(source, data)
2 exports.ml_skills:AddXp('personal', 15, source)
3end)Set rarity = 'legendary' on the outputs you want logged.
your_script/server.lua
1AddEventHandler('ml_recycler:hook:lootCollected', function(source, data)
2 for _, loot in ipairs(data.loot) do
3 if loot.rarity == 'legendary' then
4 Bridge.Log({
5 webhook = 'YOUR_WEBHOOK',
6 title = 'Legendary Drop',
7 description = loot.item .. ' x' .. loot.count,
8 player = source,
9 })
10 end
11 end
12end)