From 23bca008317e125659d4b97f29cf13da81a7aecd Mon Sep 17 00:00:00 2001 From: KrystilizeNevaDies <57762380+KrystilizeNevaDies@users.noreply.github.com> Date: Tue, 22 Sep 2020 01:31:45 +1000 Subject: Implement Dropspenser Hook (#4903) * Implement Dropspenser Hook Implemented a hook for dropspensing. HOOK_DROPSPENSE When plugin callback returns true then dropspense is cancelled * Update src/Bindings/PluginManager.h Co-authored-by: peterbell10 * Create OnDropSpense.lua * Fix indent * Forgot include Forgot to include the plugin manager. Although now im confused why it was working on my end without including the plugin manager * Update plugins.lua with dropspense * fix typos * haha notepad++ go brr Co-authored-by: peterbell10 --- Server/Plugins/APIDump/Hooks/OnDropSpense.lua | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 Server/Plugins/APIDump/Hooks/OnDropSpense.lua (limited to 'Server/Plugins/APIDump/Hooks/OnDropSpense.lua') diff --git a/Server/Plugins/APIDump/Hooks/OnDropSpense.lua b/Server/Plugins/APIDump/Hooks/OnDropSpense.lua new file mode 100644 index 000000000..8a7e93abb --- /dev/null +++ b/Server/Plugins/APIDump/Hooks/OnDropSpense.lua @@ -0,0 +1,26 @@ +return +{ + HOOK_DROPSPENSE = + { + CalledWhen = "A dispenser or dropper is about to dispense/drop an item.", + DefaultFnName = "OnDropSpense", -- also used as pagename + Desc = [[ + This callback is called whenever a {{cDropSpenserEntity|dropspenser}} dropspenses an {{cItem|item}}. A plugin may decide to disallow + the move by returning true. + ]], + Params = + { + { Name = "World", Type = "{{cWorld}}", Notes = "World where the dropspenser resides" }, + { Name = "DropSpenser", Type = "{{cDropSpenserEntity}}", Notes = "The dropspenser that is pulling the item" }, + { Name = "SlotNum", Type = "number", Notes = "The slot of the dropspensed item in the dropspenser's {{cItemGrid|internal storage}}" }, + }, + Returns = [[ + If the function returns false or no value, the next plugin's callback is called. If the function + returns true, no other callback is called for this event and the dropspenser will not dropspense the item. + ]], + }, -- HOOK_DROPSPENSE +} + + + + -- cgit v1.2.3