summaryrefslogtreecommitdiffstats
path: root/src/Blocks/BlockSideways.h
blob: f2c4ce4e679da36ec588e13ddaef2d688b213b38 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

#pragma once

#include "BlockHandler.h"





/** Handler for blocks that have 3 orientations (hay bale, log), specified by the upper 2 bits in meta.
Additionally supports the metadata specifying block sub-type in its lower 2 bits. */
class cBlockSidewaysHandler final :
	public cBlockHandler
{
	using Super = cBlockHandler;

public:

	using Super::Super;

private:

	virtual cItems ConvertToPickups(const NIBBLETYPE a_BlockMeta, const cItem * const a_Tool) const override
	{
		// Reset the orientation part of meta, keep the sub-type part of meta:
		return cItem(m_BlockType, 1, a_BlockMeta & 0x03);
	}
} ;