aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/MultiEntityMobPart.cpp
blob: dfca1b2fc28d20c15c0323bf1edf07e01a619006 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include "stdafx.h"
#include "BossMob.h"
#include "MultiEntityMob.h"
#include "MultiEntityMobPart.h"

MultiEntityMobPart::MultiEntityMobPart(shared_ptr<MultiEntityMob>parentMob, const wstring &id, float w, float h) : Entity(parentMob->getLevel()), parentMob( parentMob ), id( id )
{
	// 4J Stu - This function call had to be moved here from the Entity ctor to ensure that
	// the derived version of the function is called
	this->defineSynchedData();

	setSize(w, h);
}


void MultiEntityMobPart::defineSynchedData()
{
}

void MultiEntityMobPart::readAdditionalSaveData(CompoundTag *tag)
{
}

void MultiEntityMobPart::addAdditonalSaveData(CompoundTag *tag)
{
}


bool MultiEntityMobPart::isPickable()
{
	return true;
}

bool MultiEntityMobPart::hurt(DamageSource *source, float damage)
{
	return parentMob.lock()->hurt( dynamic_pointer_cast<MultiEntityMobPart>( shared_from_this() ), source, damage);
}

bool MultiEntityMobPart::is(shared_ptr<Entity> other)
{
	return shared_from_this() == other || parentMob.lock() == dynamic_pointer_cast<MultiEntityMob>(other);
}