1
0

Minecart: slimmed down SpawnOn by keeping subtype in the payload enum

This commit is contained in:
archshift 2014-07-19 02:55:36 -07:00
parent f86eefa2ae
commit 7c861f98a2
2 changed files with 7 additions and 20 deletions

View File

@ -103,21 +103,7 @@ cMinecart::cMinecart(ePayload a_Payload, double a_X, double a_Y, double a_Z) :
void cMinecart::SpawnOn(cClientHandle & a_ClientHandle) void cMinecart::SpawnOn(cClientHandle & a_ClientHandle)
{ {
char SubType = 0; a_ClientHandle.SendSpawnVehicle(*this, 10, (char)m_Payload); // 10 = Minecarts
switch (m_Payload)
{
case mpNone: SubType = 0; break;
case mpChest: SubType = 1; break;
case mpFurnace: SubType = 2; break;
case mpTNT: SubType = 3; break;
case mpHopper: SubType = 5; break;
default:
{
ASSERT(!"Unknown payload, cannot spawn on client");
return;
}
}
a_ClientHandle.SendSpawnVehicle(*this, 10, SubType); // 10 = Minecarts, SubType = What type of Minecart
a_ClientHandle.SendEntityMetadata(*this); a_ClientHandle.SendEntityMetadata(*this);
} }

View File

@ -23,13 +23,14 @@ class cMinecart :
public: public:
CLASS_PROTODEF(cMinecart); CLASS_PROTODEF(cMinecart);
/** Minecart payload, values correspond to packet subtype */
enum ePayload enum ePayload
{ {
mpNone, // Empty minecart, ridable by player or mobs mpNone = 0, // Empty minecart, ridable by player or mobs
mpChest, // Minecart-with-chest, can store a grid of 3*8 items mpChest = 1, // Minecart-with-chest, can store a grid of 3*8 items
mpFurnace, // Minecart-with-furnace, can be powered mpFurnace = 2, // Minecart-with-furnace, can be powered
mpTNT, // Minecart-with-TNT, can be blown up with activator rail mpTNT = 3, // Minecart-with-TNT, can be blown up with activator rail
mpHopper, // Minecart-with-hopper, can be hopper mpHopper = 5, // Minecart-with-hopper, can be hopper
// TODO: Spawner minecarts, (and possibly any block in a minecart with NBT editing) // TODO: Spawner minecarts, (and possibly any block in a minecart with NBT editing)
} ; } ;