#pragma once #include "EntityDamageSource.h" class Entity; class Player; class IndirectEntityDamageSource : public EntityDamageSource { private: std::shared_ptr owner; public: // IndirectEntityDamageSource(const std::wstring &msgId, // std::shared_ptr entity, std::shared_ptr owner); IndirectEntityDamageSource(ChatPacket::EChatPacketMessage msgId, ChatPacket::EChatPacketMessage msgWithItemId, std::shared_ptr entity, std::shared_ptr owner); virtual ~IndirectEntityDamageSource() {} virtual std::shared_ptr getDirectEntity(); // 4J Stu - Brought forward from 1.2.3 to fix #46422 virtual std::shared_ptr getEntity(); // 4J Stu - Made return a packet // virtual std::wstring getLocalizedDeathMessage(std::shared_ptr // player); virtual std::shared_ptr getDeathMessagePacket( std::shared_ptr player); virtual DamageSource* copy(); };