summaryrefslogtreecommitdiffstats
path: root/src/BlockEntities/DispenserEntity.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/BlockEntities/DispenserEntity.h')
-rw-r--r--src/BlockEntities/DispenserEntity.h30
1 files changed, 25 insertions, 5 deletions
diff --git a/src/BlockEntities/DispenserEntity.h b/src/BlockEntities/DispenserEntity.h
index bb4178079..5a2afca30 100644
--- a/src/BlockEntities/DispenserEntity.h
+++ b/src/BlockEntities/DispenserEntity.h
@@ -11,22 +11,42 @@
class cDispenserEntity :
public cDropSpenserEntity
{
- typedef cDropSpenserEntity Super;
+ // tolua_end
-public:
+ using super = cDropSpenserEntity;
- // tolua_end
+public: // tolua_export
BLOCKENTITY_PROTODEF(cDispenserEntity)
/** Constructor used for normal operation */
- cDispenserEntity(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, int a_BlockX, int a_BlockY, int a_BlockZ, cWorld * a_World);
+ cDispenserEntity(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld * a_World);
// tolua_begin
/** Spawns a projectile of the given kind in front of the dispenser with the specified speed.
+ a_Item is the item from the internal storage from which the projectile originated.
+ Returns the UniqueID of the spawned projectile, or cEntity::INVALID_ID on failure. */
+ UInt32 SpawnProjectileFromDispenser(
+ Vector3i a_BlockPos,
+ cProjectileEntity::eKind a_Kind,
+ const Vector3d & a_Speed,
+ const cItem * a_Item = nullptr
+ );
+
+ /** OBSOLETE, use the Vector3i-based overload instead.
+ Spawns a projectile of the given kind in front of the dispenser with the specified speed.
+ a_Item is the item from the internal storage from which the projectile originated.
Returns the UniqueID of the spawned projectile, or cEntity::INVALID_ID on failure. */
- UInt32 SpawnProjectileFromDispenser(int a_BlockX, int a_BlockY, int a_BlockZ, cProjectileEntity::eKind a_Kind, const Vector3d & a_Speed, const cItem * a_Item = nullptr);
+ UInt32 SpawnProjectileFromDispenser(
+ int a_BlockX, int a_BlockY, int a_BlockZ,
+ cProjectileEntity::eKind a_Kind,
+ const Vector3d & a_Speed,
+ const cItem * a_Item = nullptr
+ )
+ {
+ return SpawnProjectileFromDispenser({a_BlockX, a_BlockY, a_BlockZ}, a_Kind, a_Speed, a_Item);
+ }
/** Returns a unit vector in the cardinal direction of where the dispenser with the specified meta would be facing. */
static Vector3d GetShootVector(NIBBLETYPE a_BlockMeta);