Fixed rail duplication glitch Fixed fall damage calculation Glass no longer drops glass git-svn-id: http://mc-server.googlecode.com/svn/trunk@1068 0a769ca7-a7f5-676a-18bf-c427514a06d6
		
			
				
	
	
		
			81 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			81 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
 | 
						|
#pragma once
 | 
						|
 | 
						|
#include "BlockHandler.h"
 | 
						|
#include "../MersenneTwister.h"
 | 
						|
#include "../World.h"
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
class cBlockOreHandler :
 | 
						|
	public cBlockHandler
 | 
						|
{
 | 
						|
public:
 | 
						|
	cBlockOreHandler(BLOCKTYPE a_BlockType)
 | 
						|
		: cBlockHandler(a_BlockType)
 | 
						|
	{
 | 
						|
	}
 | 
						|
 | 
						|
	virtual void ConvertToPickups(cItems & a_Pickups, NIBBLETYPE a_BlockMeta) override
 | 
						|
	{
 | 
						|
		short ItemType = m_BlockType;
 | 
						|
		char Count = 1;
 | 
						|
		short Meta = 0;
 | 
						|
		
 | 
						|
		MTRand r1;
 | 
						|
		switch (m_BlockType)
 | 
						|
		{
 | 
						|
			case E_BLOCK_LAPIS_ORE:
 | 
						|
			{
 | 
						|
				ItemType = E_ITEM_DYE;
 | 
						|
				Count = 4 + (char)r1.randInt(4);
 | 
						|
				Meta = 4;
 | 
						|
				break;
 | 
						|
			}
 | 
						|
			case E_BLOCK_REDSTONE_ORE:
 | 
						|
			case E_BLOCK_REDSTONE_ORE_GLOWING:
 | 
						|
			{
 | 
						|
				Count = 4 + (char)r1.randInt(1);
 | 
						|
				break;
 | 
						|
			}
 | 
						|
			default:
 | 
						|
			{
 | 
						|
				Count = 1;
 | 
						|
				break;
 | 
						|
			}
 | 
						|
		}
 | 
						|
 | 
						|
		switch (m_BlockType)
 | 
						|
		{
 | 
						|
			case E_BLOCK_DIAMOND_ORE:
 | 
						|
			{
 | 
						|
				ItemType = E_ITEM_DIAMOND;
 | 
						|
				break;
 | 
						|
			}
 | 
						|
			case E_BLOCK_REDSTONE_ORE:
 | 
						|
			case E_BLOCK_REDSTONE_ORE_GLOWING:
 | 
						|
			{
 | 
						|
				ItemType = E_ITEM_REDSTONE_DUST;
 | 
						|
				break;
 | 
						|
			}
 | 
						|
			case E_BLOCK_EMERALD_ORE:
 | 
						|
			{
 | 
						|
				ItemType = E_ITEM_EMERALD;
 | 
						|
				break;
 | 
						|
			}
 | 
						|
			case E_BLOCK_COAL_ORE:
 | 
						|
			{
 | 
						|
				ItemType = E_ITEM_COAL;
 | 
						|
				break;
 | 
						|
			}
 | 
						|
		}
 | 
						|
		a_Pickups.push_back(cItem(ItemType, Count, Meta));
 | 
						|
	}
 | 
						|
} ;
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 |