1
0
cuberite-2a/source/FallingBlock.h
madmaxoft@gmail.com 17a2c1b388 Adjusted the protocol framework to support different types of falling block spawning.
In brief, with cProtocol, "say what you want done, not how you want me to do it".
But still 1.4.6 crashes on falling block spawning.

git-svn-id: http://mc-server.googlecode.com/svn/trunk@1104 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-12-26 09:12:00 +00:00

50 lines
806 B
C++

#pragma once
#include "Entity.h"
#include "Defines.h"
class cPlayer;
class cItem;
class cFallingBlock :
public cEntity
{
typedef cEntity super;
public:
CLASS_PROTODEF(cFallingBlock);
cFallingBlock(const Vector3i & a_BlockPosition, BLOCKTYPE a_BlockType);
BLOCKTYPE GetBlockType(void) const { return m_BlockType; }
// cEntity overrides:
virtual void Initialize(cWorld * a_World) override;
virtual void SpawnOn(cClientHandle & a_ClientHandle) override;
virtual void Tick(float a_Dt, MTRand & a_TickRandom) override;
private:
BLOCKTYPE m_BlockType;
Vector3i m_OriginalPosition;
float m_SpeedY;
static bool IsPassable(BLOCKTYPE a_BlockType)
{
return ((a_BlockType == E_BLOCK_AIR) || IsBlockLiquid(a_BlockType));
}
} ;