aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/MultiTextureTileItem.cpp
blob: 88343275c11dea94028072ce62c4ff5718ce2802 (plain)
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include "stdafx.h"
#include "Tile.h"
#include "MultiTextureTileItem.h"
#include "net.minecraft.world.item.crafting.h"


MultiTextureTileItem::MultiTextureTileItem(int id, Tile *parentTile, int *nameExtensions, int iLength, int anyValueName) : TileItem(id)
{
	this->parentTile = parentTile;
	this->nameExtensions = nameExtensions;
	this->m_iNameExtensionsLength=iLength;

	if(anyValueName != -1)
	{
		m_anyValueName = anyValueName;
	}
	else
	{
		m_anyValueName = nameExtensions[0];
	}

	setMaxDamage(0);
	setStackedByData(true);
}

Icon *MultiTextureTileItem::getIcon(int itemAuxValue) 
{
	return parentTile->getTexture(2, itemAuxValue);
}

int MultiTextureTileItem::getLevelDataForAuxValue(int auxValue) 
{
		return auxValue;
}

unsigned int MultiTextureTileItem::getDescriptionId(int iData)
{
	if (iData < 0 || iData >= m_iNameExtensionsLength) 
	{
		iData = 0;
	}
	return nameExtensions[iData];
}

unsigned int MultiTextureTileItem::getDescriptionId(shared_ptr<ItemInstance> instance) 
{
	int auxValue = instance->getAuxValue();
	if (auxValue == Recipes::ANY_AUX_VALUE || auxValue < 0 || auxValue >= m_iNameExtensionsLength) 
	{
		return m_anyValueName;
	}
	return nameExtensions[auxValue];
}