the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
at master 91 lines 2.5 kB view raw
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};