aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/ItemInHandRenderer.h
blob: 0c0ac307b363aa466740e37ac32cd5ac84343d1c (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
#pragma once

class Minecraft;
class ItemInstance;
class Minimap;
class LivingEntity;
class TileRenderer;
class Tesselator;

class ItemInHandRenderer
{
public:
	// 4J - made these public
	static ResourceLocation ENCHANT_GLINT_LOCATION;
    static ResourceLocation MAP_BACKGROUND_LOCATION;
    static ResourceLocation UNDERWATER_LOCATION;

private:
	Minecraft *minecraft;
    shared_ptr<ItemInstance> selectedItem;
    float height;
    float oHeight;
    TileRenderer *tileRenderer;
	static int listItem, listGlint, listTerrain;

public:
	// 4J Stu - Made public so we can use it from ItemFramRenderer
    Minimap *minimap;

public:
	ItemInHandRenderer(Minecraft *mc, bool optimisedMinimap = true); // 4J Added optimisedMinimap param
    void renderItem(shared_ptr<LivingEntity> mob, shared_ptr<ItemInstance> item, int layer, bool setColor = true);	// 4J added setColor parameter
	static void renderItem3D(Tesselator *t, float u0, float v0, float u1, float v1, int width, int height, float depth, bool isGlint, bool isTerrain);	// 4J added isGlint and isTerrain parameter
public:
    void render(float a);
    void renderScreenEffect(float a);
private:
	void renderTex(float a, Icon *slot);
    void renderWater(float a);
    void renderFire(float a);
    int lastSlot;
public:
	void tick();
	void reset();
    void itemPlaced();
    void itemUsed();
};