the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
1#pragma once
2
3#include "Item.h"
4#include "DefaultDispenseItemBehavior.h"
5
6class ArmorItem : public Item
7{
8public:
9 static const int SLOT_HEAD = 0;
10 static const int SLOT_TORSO = 1;
11 static const int SLOT_LEGS = 2;
12 static const int SLOT_FEET = 3;
13 static const eMinecraftColour DEFAULT_LEATHER_COLOR = eMinecraftColour_Armour_Default_Leather_Colour;
14
15private:
16 static const int healthPerSlot[];
17 static const wstring LEATHER_OVERLAYS[] ;
18
19public:
20 static const wstring TEXTURE_EMPTY_SLOTS[];
21
22private:
23 class ArmorDispenseItemBehavior : public DefaultDispenseItemBehavior
24 {
25 protected:
26 virtual shared_ptr<ItemInstance> execute(BlockSource *source, shared_ptr<ItemInstance> dispensed, eOUTCOME &outcome);
27 };
28
29public:
30 class ArmorMaterial
31 {
32 public:
33 static const int clothArray[];
34 static const int chainArray[];
35 static const int ironArray[];
36 static const int goldArray[];
37 static const int diamondArray[];
38 public:
39 static const ArmorMaterial *CLOTH;
40 static const ArmorMaterial *CHAIN;
41 static const ArmorMaterial *IRON;
42 static const ArmorMaterial *GOLD;
43 static const ArmorMaterial *DIAMOND;
44
45 private:
46 int durabilityMultiplier;
47 int *slotProtections;
48 int enchantmentValue;
49
50 // 4J Stu - Had to make this public but was private
51 // We shouldn't be creating these except the static initialisation
52 public:
53 ArmorMaterial(int durabilityMultiplier, const int slotProtections[], int enchantmentValue);
54 ~ArmorMaterial();
55
56 public:
57 int getHealthForSlot(int slot) const;
58 int getDefenseForSlot(int slot) const;
59 int getEnchantmentValue() const;
60 int getTierItemId() const;
61 };
62
63 const int slot;
64 const int defense;
65 const int modelIndex;
66
67private:
68 const ArmorMaterial *armorType;
69 Icon *overlayIcon;
70 Icon *iconEmpty;
71
72public:
73 ArmorItem(int id, const ArmorMaterial *armorType, int icon, int slot);
74
75
76 virtual int getColor(shared_ptr<ItemInstance> item, int spriteLayer);
77 virtual bool hasMultipleSpriteLayers();
78 virtual int getEnchantmentValue();
79 virtual const ArmorMaterial *getMaterial();
80 virtual bool hasCustomColor(shared_ptr<ItemInstance> item);
81 virtual int getColor(shared_ptr<ItemInstance> item);
82
83 virtual Icon *getLayerIcon(int auxValue, int spriteLayer);
84 virtual void clearColor(shared_ptr<ItemInstance> item);
85 virtual void setColor(shared_ptr<ItemInstance> item, int color);
86
87 virtual bool isValidRepairItem(shared_ptr<ItemInstance> source, shared_ptr<ItemInstance> repairItem);
88 virtual void registerIcons(IconRegister *iconRegister);
89
90 static Icon *getEmptyIcon(int slot);
91};