summaryrefslogtreecommitdiffstats
path: root/source/Items/ItemLighter.h
diff options
context:
space:
mode:
authormadmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6>2013-06-18 10:24:34 +0200
committermadmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6>2013-06-18 10:24:34 +0200
commit547c34132530a4dba841879595bd0762ef52a22d (patch)
tree8c9f14efe8e313244c0dc7a69e5e1952fc3da384 /source/Items/ItemLighter.h
parentExtended the cloc stats for the entire project (diff)
downloadcuberite-547c34132530a4dba841879595bd0762ef52a22d.tar
cuberite-547c34132530a4dba841879595bd0762ef52a22d.tar.gz
cuberite-547c34132530a4dba841879595bd0762ef52a22d.tar.bz2
cuberite-547c34132530a4dba841879595bd0762ef52a22d.tar.lz
cuberite-547c34132530a4dba841879595bd0762ef52a22d.tar.xz
cuberite-547c34132530a4dba841879595bd0762ef52a22d.tar.zst
cuberite-547c34132530a4dba841879595bd0762ef52a22d.zip
Diffstat (limited to '')
-rw-r--r--source/Items/ItemLighter.h23
1 files changed, 20 insertions, 3 deletions
diff --git a/source/Items/ItemLighter.h b/source/Items/ItemLighter.h
index fe8cd1370..bcea8545f 100644
--- a/source/Items/ItemLighter.h
+++ b/source/Items/ItemLighter.h
@@ -4,6 +4,7 @@
#include "ItemHandler.h"
#include "../World.h"
#include "../Player.h"
+#include "../TNTEntity.h"
@@ -27,9 +28,25 @@ public:
a_Player->UseEquippedItem();
- AddFaceDirection(a_BlockX, a_BlockY, a_BlockZ, a_BlockFace);
-
- a_World->SetBlock(a_BlockX, a_BlockY, a_BlockZ, E_BLOCK_FIRE, 0); //0 -> new fire
+ switch (a_World->GetBlock(a_BlockX, a_BlockY, a_BlockZ))
+ {
+ case E_BLOCK_TNT:
+ {
+ // Activate the TNT:
+ 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);
+ break;
+ }
+ default:
+ {
+ // Light a fire next to the block:
+ AddFaceDirection(a_BlockX, a_BlockY, a_BlockZ, a_BlockFace);
+ a_World->SetBlock(a_BlockX, a_BlockY, a_BlockZ, E_BLOCK_FIRE, 0);
+ break;
+ }
+ }
return false;
}