aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/PrimedTnt.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/PrimedTnt.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/PrimedTnt.cpp')
-rw-r--r--Minecraft.World/PrimedTnt.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/Minecraft.World/PrimedTnt.cpp b/Minecraft.World/PrimedTnt.cpp
index 09926d50..79fd760f 100644
--- a/Minecraft.World/PrimedTnt.cpp
+++ b/Minecraft.World/PrimedTnt.cpp
@@ -14,6 +14,8 @@ void PrimedTnt::_init()
blocksBuilding = true;
setSize(0.98f, 0.98f);
heightOffset = bbHeight / 2.0f;
+
+ owner = weak_ptr<LivingEntity>();
}
PrimedTnt::PrimedTnt(Level *level) : Entity( level )
@@ -25,7 +27,7 @@ PrimedTnt::PrimedTnt(Level *level) : Entity( level )
_init();
}
-PrimedTnt::PrimedTnt(Level *level, double x, double y, double z) : Entity( level )
+PrimedTnt::PrimedTnt(Level *level, double x, double y, double z, shared_ptr<LivingEntity> owner) : Entity( level )
{
_init();
@@ -41,6 +43,8 @@ PrimedTnt::PrimedTnt(Level *level, double x, double y, double z) : Entity( level
xo = x;
yo = y;
zo = z;
+
+ this->owner = weak_ptr<LivingEntity>(owner);
}
void PrimedTnt::defineSynchedData()
@@ -95,7 +99,7 @@ void PrimedTnt::tick()
void PrimedTnt::explode()
{
float r = 4.0f;
- level->explode(nullptr, x, y, z, r, true);
+ level->explode(shared_from_this(), x, y, z, r, true);
}
@@ -109,8 +113,12 @@ void PrimedTnt::readAdditionalSaveData(CompoundTag *tag)
life = tag->getByte(L"Fuse");
}
-
float PrimedTnt::getShadowHeightOffs()
{
return 0;
+}
+
+shared_ptr<LivingEntity> PrimedTnt::getOwner()
+{
+ return owner.lock();
} \ No newline at end of file