From b3feddfef372618c8a9d7a0abcaf18cfad866c18 Mon Sep 17 00:00:00 2001 From: daoge <3523206925@qq.com> Date: Tue, 3 Mar 2026 03:04:10 +0800 Subject: feat: TU19 (Dec 2014) Features & Content (#155) * try to resolve merge conflict * feat: TU19 (Dec 2014) Features & Content (#32) * December 2014 files * Working release build * Fix compilation issues * Add sound to Windows64Media * Add DLC content and force Tutorial DLC * Revert "Add DLC content and force Tutorial DLC" This reverts commit 97a43994725008e35fceb984d5549df9c8cea470. * Disable broken light packing * Disable breakpoint during DLC texture map load Allows DLC loading but the DLC textures are still broken * Fix post build not working * ... * fix vs2022 build * fix cmake build --------- Co-authored-by: Loki --- Minecraft.World/CombatEntry.cpp | 71 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 Minecraft.World/CombatEntry.cpp (limited to 'Minecraft.World/CombatEntry.cpp') diff --git a/Minecraft.World/CombatEntry.cpp b/Minecraft.World/CombatEntry.cpp new file mode 100644 index 00000000..903d95bb --- /dev/null +++ b/Minecraft.World/CombatEntry.cpp @@ -0,0 +1,71 @@ +#include "stdafx.h" +#include "net.minecraft.world.damagesource.h" +#include "net.minecraft.world.entity.h" +#include "BasicTypeContainers.h" +#include "CombatEntry.h" + +CombatEntry::CombatEntry(DamageSource *source, int time, float health, float damage, CombatTracker::eLOCATION location, float fallDistance) +{ + this->source = NULL; + if(source != NULL) + { + // 4J: this might actually be a derived damage source so use copy func + this->source = source->copy(); + } + this->time = time; + this->damage = damage; + this->health = health; + this->location = location; + this->fallDistance = fallDistance; +} + +CombatEntry::~CombatEntry() +{ + delete source; +} + +DamageSource *CombatEntry::getSource() +{ + return source; +} + +int CombatEntry::getTime() +{ + return time; +} + +float CombatEntry::getDamage() +{ + return damage; +} + +float CombatEntry::getHealthBeforeDamage() +{ + return health; +} + +float CombatEntry::getHealthAfterDamage() +{ + return health - damage; +} + +bool CombatEntry::isCombatRelated() +{ + return source->getEntity() && source->getEntity()->instanceof(eTYPE_LIVINGENTITY); +} + +CombatTracker::eLOCATION CombatEntry::getLocation() +{ + return location; +} + +wstring CombatEntry::getAttackerName() +{ + return getSource()->getEntity() == NULL ? L"" : getSource()->getEntity()->getNetworkName(); +} + +float CombatEntry::getFallDistance() +{ + if (source == DamageSource::outOfWorld) return Float::MAX_VALUE; + return fallDistance; +} \ No newline at end of file -- cgit v1.2.3