the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
at main 82 lines 1.8 kB view raw
1#include "stdafx.h" 2#include "net.minecraft.world.entity.ai.attributes.h" 3#include "BaseAttributeMap.h" 4 5BaseAttributeMap::~BaseAttributeMap() 6{ 7 for(AUTO_VAR(it,attributesById.begin()); it != attributesById.end(); ++it) 8 { 9 delete it->second; 10 } 11} 12 13AttributeInstance *BaseAttributeMap::getInstance(Attribute *attribute) 14{ 15 return getInstance(attribute->getId()); 16} 17 18AttributeInstance *BaseAttributeMap::getInstance(eATTRIBUTE_ID id) 19{ 20 AUTO_VAR(it,attributesById.find(id)); 21 if(it != attributesById.end()) 22 { 23 return it->second; 24 } 25 else 26 { 27 return NULL; 28 } 29} 30 31void BaseAttributeMap::getAttributes(vector<AttributeInstance *>& atts) 32{ 33 for(AUTO_VAR(it,attributesById.begin()); it != attributesById.end(); ++it) 34 { 35 atts.push_back(it->second); 36 } 37} 38 39void BaseAttributeMap::onAttributeModified(ModifiableAttributeInstance *attributeInstance) 40{ 41} 42 43void BaseAttributeMap::removeItemModifiers(shared_ptr<ItemInstance> item) 44{ 45 attrAttrModMap *modifiers = item->getAttributeModifiers(); 46 47 for(AUTO_VAR(it, modifiers->begin()); it != modifiers->end(); ++it) 48 { 49 AttributeInstance *attribute = getInstance(it->first); 50 AttributeModifier *modifier = it->second; 51 52 if (attribute != NULL) 53 { 54 attribute->removeModifier(modifier); 55 } 56 57 delete modifier; 58 } 59 60 delete modifiers; 61} 62 63void BaseAttributeMap::addItemModifiers(shared_ptr<ItemInstance> item) 64{ 65 attrAttrModMap *modifiers = item->getAttributeModifiers(); 66 67 for(AUTO_VAR(it, modifiers->begin()); it != modifiers->end(); ++it) 68 { 69 AttributeInstance *attribute = getInstance(it->first); 70 AttributeModifier *modifier = it->second; 71 72 if (attribute != NULL) 73 { 74 attribute->removeModifier(modifier); 75 attribute->addModifier(new AttributeModifier(*modifier)); 76 } 77 78 delete modifier; 79 } 80 81 delete modifiers; 82}