diff options
author | keyboard.osh@gmail.com <keyboard.osh@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2013-04-18 04:42:45 +0200 |
---|---|---|
committer | keyboard.osh@gmail.com <keyboard.osh@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2013-04-18 04:42:45 +0200 |
commit | b75fc5f4e8dc837f069e89541b52144defa2d1b9 (patch) | |
tree | 2e9a05e1ed16da917c5e8651b1bb70100a9db153 /source/Blocks | |
parent | Noise: removed the unused SSE branches and unused interpolation methods. Removed the Noise.inc file. (diff) | |
download | cuberite-b75fc5f4e8dc837f069e89541b52144defa2d1b9.tar cuberite-b75fc5f4e8dc837f069e89541b52144defa2d1b9.tar.gz cuberite-b75fc5f4e8dc837f069e89541b52144defa2d1b9.tar.bz2 cuberite-b75fc5f4e8dc837f069e89541b52144defa2d1b9.tar.lz cuberite-b75fc5f4e8dc837f069e89541b52144defa2d1b9.tar.xz cuberite-b75fc5f4e8dc837f069e89541b52144defa2d1b9.tar.zst cuberite-b75fc5f4e8dc837f069e89541b52144defa2d1b9.zip |
Diffstat (limited to '')
-rw-r--r-- | source/Blocks/BlockHandler.cpp | 2 | ||||
-rw-r--r-- | source/Blocks/BlockTNT.h | 38 |
2 files changed, 40 insertions, 0 deletions
diff --git a/source/Blocks/BlockHandler.cpp b/source/Blocks/BlockHandler.cpp index 51051b7a6..4b7aa6fa2 100644 --- a/source/Blocks/BlockHandler.cpp +++ b/source/Blocks/BlockHandler.cpp @@ -56,6 +56,7 @@ #include "BlockCauldron.h"
#include "BlockBrewingStand.h"
#include "BlockCobWeb.h"
+#include "BlockTNT.h"
@@ -171,6 +172,7 @@ cBlockHandler * cBlockHandler::CreateBlockHandler(BLOCKTYPE a_BlockType) case E_BLOCK_STONE_SLAB: return new cBlockSlabHandler (a_BlockType);
case E_BLOCK_SUGARCANE: return new cBlockSugarcaneHandler (a_BlockType);
case E_BLOCK_TALL_GRASS: return new cBlockTallGrassHandler (a_BlockType);
+ case E_BLOCK_TNT: return new cBlockTNTHandler (a_BlockType);
case E_BLOCK_TORCH: return new cBlockTorchHandler (a_BlockType);
case E_BLOCK_VINES: return new cBlockVineHandler (a_BlockType);
case E_BLOCK_WALLSIGN: return new cBlockSignHandler (a_BlockType);
diff --git a/source/Blocks/BlockTNT.h b/source/Blocks/BlockTNT.h new file mode 100644 index 000000000..d9dcca67b --- /dev/null +++ b/source/Blocks/BlockTNT.h @@ -0,0 +1,38 @@ +
+#pragma once
+
+#include "BlockHandler.h"
+#include "../Player.h"
+#include "../TNTEntity.h"
+
+
+
+
+class cBlockTNTHandler : public cBlockHandler
+{
+public:
+ cBlockTNTHandler(BLOCKTYPE a_BlockType)
+ : cBlockHandler(a_BlockType)
+ {
+ }
+
+ virtual void OnUse(cWorld * a_World, cPlayer *a_Player, int a_BlockX, int a_BlockY, int a_BlockZ, char a_BlockFace, int a_CursorX, int a_CursorY, int a_CursorZ) override
+ {
+ if (a_Player->GetEquippedWeapon().m_ItemType == E_ITEM_FLINT_AND_STEEL)
+ {
+ a_World->BroadcastSoundEffect("random.fuse", a_BlockX * 8, a_BlockY * 8, a_BlockZ * 8, 0.5f, 0.6f);
+ cTNTEntity *TNT = new cTNTEntity(a_BlockX,a_BlockY,a_BlockZ,4); //4 seconds to boom
+ TNT->Initialize(a_World);
+ a_World->SetBlock(a_BlockX,a_BlockY,a_BlockZ, E_BLOCK_AIR, 0);
+ }
+ }
+
+ virtual bool IsUseable() override
+ {
+ return true;
+ }
+};
+
+
+
+
|