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 <peterbell10@live.co.uk> * 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 <peterbell10@live.co.uk>
This commit is contained in:
committed by
GitHub
parent
0a1bf06c6f
commit
23bca00831
@@ -6,6 +6,7 @@
|
||||
|
||||
#include "Globals.h"
|
||||
#include "DropSpenserEntity.h"
|
||||
#include "../Bindings/PluginManager.h"
|
||||
#include "../EffectID.h"
|
||||
#include "../Entities/Player.h"
|
||||
#include "../Chunk.h"
|
||||
@@ -80,8 +81,16 @@ void cDropSpenserEntity::DropSpense(cChunk & a_Chunk)
|
||||
|
||||
int RandomSlot = m_World->GetTickRandomNumber(SlotsCnt - 1);
|
||||
|
||||
int SpenseSlot = OccupiedSlots[RandomSlot];
|
||||
|
||||
if (cPluginManager::Get()->CallHookDropSpense(*m_World, *this, SpenseSlot))
|
||||
{
|
||||
// Plugin disagrees with the move
|
||||
return;
|
||||
}
|
||||
|
||||
// DropSpense the item, using the specialized behavior in the subclasses:
|
||||
DropSpenseFromSlot(a_Chunk, OccupiedSlots[RandomSlot]);
|
||||
DropSpenseFromSlot(a_Chunk, SpenseSlot);
|
||||
|
||||
// Broadcast a smoke and click effects:
|
||||
NIBBLETYPE Meta = a_Chunk.GetMeta(GetRelPos());
|
||||
|
||||
@@ -95,7 +95,7 @@ bool cHopperEntity::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk)
|
||||
void cHopperEntity::SendTo(cClientHandle & a_Client)
|
||||
{
|
||||
// The hopper entity doesn't need anything sent to the client when it's created / gets in the viewdistance
|
||||
// All the actual handling is in the cWindow UI code that gets called when the hopper is rclked
|
||||
// All the actual handling is in the cWindow UI code that gets called when the hopper is right-clicked
|
||||
|
||||
UNUSED(a_Client);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user