======  OnHopperPushingItems hook callback function ======
This callback is called whenever a hopper transfers an item from its own internal storage into another block. A plugin may decide to disallow the move by returning true. Note that in such a case, the hook may be called again for the same hopper and block, with different slot numbers.

===== Function signature =====
<code lua>
function OnHopperPushingItems(World, Hopper, SrcSlotNum, DstBlockEntity, DstSlotNum)
</code>
Parameters:
| World | [[API:cWorld|cWorld]] | The world in which the hopper resides |
| Hopper | [[API:cHopperEntity|cHopperEntity]] | The hopper that is pulling the item |
| SrcSlotNum | number | Slot in the hopper that will lose the item |
| DstBlockEntity | [[API:cBlockEntityWithItems|cBlockEntityWithItems]] | The block entity that will receive the item |
| DstSlotNum | number | Slot in DstBlockEntity where the item will be stored |

===== Return values =====
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 hopper will not push the item.

===== Registering the callback =====
To register your plugin to receive a callback through this function, use the hook [[api:plugin:hooks|HOOK_HOPPER_PUSHING_ITEM]]
<code lua>
PluginManager = cPluginManager:GetPluginManager();
PluginManager:AddHook(Plugin, cPluginManager.HOOK_HOPPER_PUSHING_ITEM);
</code>