DropSpensers: Fixed activation when receiving redstone signal. Now only one item is dropspensed.
Fix for FS #378, http://www.mc-server.org/support/index.php?do=details&task_id=378 git-svn-id: http://mc-server.googlecode.com/svn/trunk@1521 0a769ca7-a7f5-676a-18bf-c427514a06d6
This commit is contained in:
@@ -433,20 +433,20 @@ void cRedstoneSimulator::HandleChange(const Vector3i & a_BlockPos)
|
||||
BLOCKTYPE BlockType = m_World.GetBlock(pos);
|
||||
if ((BlockType == E_BLOCK_DISPENSER) || (BlockType == E_BLOCK_DROPPER))
|
||||
{
|
||||
if (IsPowered(pos))
|
||||
class cSetPowerToDropSpenser :
|
||||
public cDropSpenserCallback
|
||||
{
|
||||
class cActivateDropSpenser :
|
||||
public cDropSpenserCallback
|
||||
bool m_IsPowered;
|
||||
public:
|
||||
cSetPowerToDropSpenser(bool a_IsPowered) : m_IsPowered(a_IsPowered) {}
|
||||
|
||||
virtual bool Item(cDropSpenserEntity * a_DropSpenser) override
|
||||
{
|
||||
virtual bool Item(cDropSpenserEntity * a_DropSpenser) override
|
||||
{
|
||||
a_DropSpenser->Activate();
|
||||
return false;
|
||||
}
|
||||
} ;
|
||||
cActivateDropSpenser DrSpAct;
|
||||
m_World.DoWithDropSpenserAt(pos.x, pos.y, pos.z, DrSpAct);
|
||||
}
|
||||
a_DropSpenser->Activate();
|
||||
return false;
|
||||
}
|
||||
} DrSpSP(IsPowered(pos));
|
||||
m_World.DoWithDropSpenserAt(pos.x, pos.y, pos.z, DrSpSP);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user