4jcraft/Minecraft.World/Entities/Mobs/MultiEntityMobPart.cpp
2026-03-21 16:29:02 -05:00

34 lines
1.1 KiB
C++

#include "../../Platform/stdafx.h"
#include "BossMob.h"
#include "MultiEntityMob.h"
#include "MultiEntityMobPart.h"
MultiEntityMobPart::MultiEntityMobPart(
std::shared_ptr<MultiEntityMob> parentMob, const std::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(
std::dynamic_pointer_cast<MultiEntityMobPart>(shared_from_this()),
source, damage);
}
bool MultiEntityMobPart::is(std::shared_ptr<Entity> other) {
return shared_from_this() == other ||
parentMob.lock() == std::dynamic_pointer_cast<MultiEntityMob>(other);
}