From 32b38fb2649fb282b6446c4e544866c0161aa7da Mon Sep 17 00:00:00 2001 From: mohe2015 Date: Sun, 6 Nov 2016 19:30:19 +0100 Subject: Anticheat fastbreak (#3411) Added block hardness checks when breaking blocks. --- src/Items/ItemAxe.h | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 src/Items/ItemAxe.h (limited to 'src/Items/ItemAxe.h') diff --git a/src/Items/ItemAxe.h b/src/Items/ItemAxe.h new file mode 100644 index 000000000..656497199 --- /dev/null +++ b/src/Items/ItemAxe.h @@ -0,0 +1,48 @@ + +#pragma once + +#include "ItemHandler.h" +#include "../World.h" +#include "../Entities/Player.h" + + + + + +class cItemAxeHandler : + public cItemHandler +{ + typedef cItemHandler super; +public: + cItemAxeHandler(int a_ItemType) + : cItemHandler(a_ItemType) + { + } + + + virtual float GetBlockBreakingStrength(BLOCKTYPE a_Block) + { + if (!IsBlockMaterialWood(a_Block) && !IsBlockMaterialPlants(a_Block) && !IsBlockMaterialVine(a_Block)) + { + return super::GetBlockBreakingStrength(a_Block); + } + else + { + switch (m_ItemType) + { + case E_ITEM_WOODEN_AXE: return 2.0f; + case E_ITEM_STONE_AXE: return 4.0f; + case E_ITEM_IRON_AXE: return 6.0f; + case E_ITEM_GOLD_AXE: return 12.0f; + case E_ITEM_DIAMOND_AXE: return 8.0f; + } + } + ASSERT(!"Something is wrong here... Maybe they are axes out of a new material?"); + return 1.0f; + } + +} ; + + + + -- cgit v1.2.3