From b691c43c44ff180d10e7d4a9afc83b98551ff586 Mon Sep 17 00:00:00 2001 From: daoge_cmd <3523206925@qq.com> Date: Sun, 1 Mar 2026 12:16:08 +0800 Subject: Initial commit --- Minecraft.World/Explosion.h | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 Minecraft.World/Explosion.h (limited to 'Minecraft.World/Explosion.h') diff --git a/Minecraft.World/Explosion.h b/Minecraft.World/Explosion.h new file mode 100644 index 00000000..c06960d2 --- /dev/null +++ b/Minecraft.World/Explosion.h @@ -0,0 +1,42 @@ +#pragma once +#include "TilePos.h" +#include "Player.h" + +class Random; +class Level; + +class Explosion +{ +public: + bool fire; + bool destroyBlocks; + +private: + int size; + + Random *random; + Level *level; + +public: + double x, y, z; + shared_ptr source; + float r; + + unordered_set toBlow; + +private: + typedef unordered_map, Vec3 * , PlayerKeyHash, PlayerKeyEq> playerVec3Map; + playerVec3Map hitPlayers; + +public: + Explosion(Level *level, shared_ptr source, double x, double y, double z, float r); + ~Explosion(); + +public: + void explode(); + +public: + void finalizeExplosion(bool generateParticles, vector *toBlowDirect = NULL); // 4J - added toBlow parameter + playerVec3Map *getHitPlayers(); + Vec3 *getHitPlayerKnockback( shared_ptr player ); +}; \ No newline at end of file -- cgit v1.2.3