aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/IndirectEntityDamageSource.cpp
diff options
context:
space:
mode:
authorLoki Rautio <lokirautio@gmail.com>2026-03-04 03:56:03 -0600
committerLoki Rautio <lokirautio@gmail.com>2026-03-04 03:56:03 -0600
commit42aec6dac53dffa6afe072560a7e1d4986112538 (patch)
tree0836426857391df1b6a83f6368a183f83ec9b104 /Minecraft.World/IndirectEntityDamageSource.cpp
parentc9d58eeac7c72f0b3038e084667b4d89a6249fce (diff)
parentef9b6fd500dfabd9463267b0dd9e29577eea8a2b (diff)
Merge branch 'main' into pr/win64-world-saves
# Conflicts: # Minecraft.Client/MinecraftServer.cpp # README.md
Diffstat (limited to 'Minecraft.World/IndirectEntityDamageSource.cpp')
-rw-r--r--Minecraft.World/IndirectEntityDamageSource.cpp20
1 files changed, 17 insertions, 3 deletions
diff --git a/Minecraft.World/IndirectEntityDamageSource.cpp b/Minecraft.World/IndirectEntityDamageSource.cpp
index 01c54ed6..c2a67af5 100644
--- a/Minecraft.World/IndirectEntityDamageSource.cpp
+++ b/Minecraft.World/IndirectEntityDamageSource.cpp
@@ -5,7 +5,7 @@
#include "net.minecraft.network.packet.h"
//IndirectEntityDamageSource::IndirectEntityDamageSource(const wstring &msgId, shared_ptr<Entity> entity, shared_ptr<Entity> owner) : EntityDamageSource(msgId, entity)
-IndirectEntityDamageSource::IndirectEntityDamageSource(ChatPacket::EChatPacketMessage msgId, shared_ptr<Entity> entity, shared_ptr<Entity> owner) : EntityDamageSource(msgId, entity)
+IndirectEntityDamageSource::IndirectEntityDamageSource(ChatPacket::EChatPacketMessage msgId, ChatPacket::EChatPacketMessage msgWithItemId, shared_ptr<Entity> entity, shared_ptr<Entity> owner) : EntityDamageSource(msgId, msgWithItemId, entity)
{
this->owner = owner;
}
@@ -27,8 +27,9 @@ shared_ptr<Entity> IndirectEntityDamageSource::getEntity()
// //return I18n.get("death." + msgId, player.name, owner.getAName());
//}
-shared_ptr<ChatPacket> IndirectEntityDamageSource::getDeathMessagePacket(shared_ptr<Player> player)
+shared_ptr<ChatPacket> IndirectEntityDamageSource::getDeathMessagePacket(shared_ptr<LivingEntity> player)
{
+ shared_ptr<ItemInstance> held = entity->instanceof(eTYPE_LIVINGENTITY) ? dynamic_pointer_cast<LivingEntity>(entity)->getCarriedItem() : nullptr;
wstring additional = L"";
int type;
if(owner != NULL)
@@ -44,5 +45,18 @@ shared_ptr<ChatPacket> IndirectEntityDamageSource::getDeathMessagePacket(shared_
{
type = entity->GetType();
}
- return shared_ptr<ChatPacket>( new ChatPacket(player->name, m_msgId, type, additional ) );
+ if(held != NULL && held->hasCustomHoverName() )
+ {
+ return shared_ptr<ChatPacket>( new ChatPacket(player->getNetworkName(), m_msgWithItemId, type, additional, held->getHoverName() ) );
+ }
+ else
+ {
+ return shared_ptr<ChatPacket>( new ChatPacket(player->getNetworkName(), m_msgId, type, additional ) );
+ }
+}
+
+// 4J: Copy function
+DamageSource *IndirectEntityDamageSource::copy()
+{
+ return new IndirectEntityDamageSource(*this);
} \ No newline at end of file