aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/IndirectEntityDamageSource.cpp
diff options
context:
space:
mode:
authordaoge_cmd <3523206925@qq.com>2026-03-01 12:16:08 +0800
committerdaoge_cmd <3523206925@qq.com>2026-03-01 12:16:08 +0800
commitb691c43c44ff180d10e7d4a9afc83b98551ff586 (patch)
tree3e9849222cbc6ba49f2f1fc6e5fe7179632c7390 /Minecraft.World/IndirectEntityDamageSource.cpp
parentdef8cb415354ac390b7e89052a50605285f1aca9 (diff)
Initial commit
Diffstat (limited to 'Minecraft.World/IndirectEntityDamageSource.cpp')
-rw-r--r--Minecraft.World/IndirectEntityDamageSource.cpp48
1 files changed, 48 insertions, 0 deletions
diff --git a/Minecraft.World/IndirectEntityDamageSource.cpp b/Minecraft.World/IndirectEntityDamageSource.cpp
new file mode 100644
index 00000000..01c54ed6
--- /dev/null
+++ b/Minecraft.World/IndirectEntityDamageSource.cpp
@@ -0,0 +1,48 @@
+#include "stdafx.h"
+#include "net.minecraft.world.entity.player.h"
+#include "net.minecraft.world.entity.h"
+#include "net.minecraft.world.damagesource.h"
+#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)
+{
+ this->owner = owner;
+}
+
+// 4J Stu - Brought forward from 1.2.3 to fix #46422
+shared_ptr<Entity> IndirectEntityDamageSource::getDirectEntity()
+{
+ return entity;
+}
+
+shared_ptr<Entity> IndirectEntityDamageSource::getEntity()
+{
+ return owner;
+}
+
+//wstring IndirectEntityDamageSource::getLocalizedDeathMessage(shared_ptr<Player> player)
+//{
+// return L"death." + msgId + player->name + owner->getAName();
+// //return I18n.get("death." + msgId, player.name, owner.getAName());
+//}
+
+shared_ptr<ChatPacket> IndirectEntityDamageSource::getDeathMessagePacket(shared_ptr<Player> player)
+{
+ wstring additional = L"";
+ int type;
+ if(owner != NULL)
+ {
+ type = owner->GetType();
+ if(type == eTYPE_SERVERPLAYER)
+ {
+ shared_ptr<Player> sourcePlayer = dynamic_pointer_cast<Player>(owner);
+ if(sourcePlayer != NULL) additional = sourcePlayer->name;
+ }
+ }
+ else
+ {
+ type = entity->GetType();
+ }
+ return shared_ptr<ChatPacket>( new ChatPacket(player->name, m_msgId, type, additional ) );
+} \ No newline at end of file