From ba70a151915bb14ddbe0527d8807508000819df6 Mon Sep 17 00:00:00 2001 From: "lapayo94@gmail.com" Date: Mon, 16 Jul 2012 13:30:33 +0000 Subject: Fixed some small bugs :) git-svn-id: http://mc-server.googlecode.com/svn/trunk@672 0a769ca7-a7f5-676a-18bf-c427514a06d6 --- source/blocks/BlockOre.h | 58 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 source/blocks/BlockOre.h (limited to 'source/blocks/BlockOre.h') diff --git a/source/blocks/BlockOre.h b/source/blocks/BlockOre.h new file mode 100644 index 000000000..d1714f1af --- /dev/null +++ b/source/blocks/BlockOre.h @@ -0,0 +1,58 @@ +#pragma once +#include "Block.h" +#include "../MersenneTwister.h" +#include "../cWorld.h" + +class cBlockOreHandler : public cBlockHandler +{ +public: + cBlockOreHandler(BLOCKTYPE a_BlockID) + : cBlockHandler(a_BlockID) + { + } + + virtual char GetDropCount() override + { + MTRand r1; + switch(m_BlockID) + { + case E_BLOCK_LAPIS_ORE: + return 4 + (char)r1.randInt(4); + case E_BLOCK_REDSTONE_ORE: + case E_BLOCK_REDSTONE_ORE_GLOWING: + return 4 + (char)r1.randInt(1); + default: + return 1; + } + } + + virtual char GetDropMeta(char a_Meta) override + { + switch(m_BlockID) + { + case E_BLOCK_LAPIS_ORE: + return 4; + default: + return 0; + } + } + + virtual int GetDropID() override + { + switch(m_BlockID) + { + case E_BLOCK_DIAMOND_ORE: + return E_ITEM_DIAMOND; + case E_BLOCK_REDSTONE_ORE: + case E_BLOCK_REDSTONE_ORE_GLOWING: + return E_ITEM_REDSTONE_DUST; + case E_BLOCK_EMERALD_ORE: + return E_ITEM_EMERALD; + case E_BLOCK_LAPIS_ORE: + return E_ITEM_DYE; + case E_BLOCK_COAL_ORE: + return E_ITEM_COAL; + } + return m_BlockID; + } +}; \ No newline at end of file -- cgit v1.2.3