#include "../Platform/stdafx.h" #include "../Headers/net.minecraft.world.h" #include "../Headers/net.minecraft.world.item.h" #include "../Headers/net.minecraft.world.level.tile.h" #include "../Headers/net.minecraft.world.inventory.h" #include "../Headers/net.minecraft.world.item.crafting.h" #include "ArmorSlot.h" ArmorSlot::ArmorSlot(int slotNum, std::shared_ptr container, int id, int x, int y) : Slot(container, id, x, y), slotNum(slotNum) {} int ArmorSlot::getMaxStackSize() { return 1; } bool ArmorSlot::mayPlace(std::shared_ptr item) { if (dynamic_cast(item->getItem()) != NULL) { return dynamic_cast(item->getItem())->slot == slotNum; } if (item->getItem()->id == Tile::pumpkin_Id || item->getItem()->id == Item::skull_Id) { return slotNum == 0; } return false; } Icon* ArmorSlot::getNoItemIcon() { return ArmorItem::getEmptyIcon(slotNum); } // // bool ArmorSlot::mayCombine(std::shared_ptr item) //{ // std::shared_ptr thisItemI = getItem(); // if(thisItemI == NULL || item == NULL) return false; // // ArmorItem *thisItem = (ArmorItem *)thisItemI->getItem(); // bool thisIsDyableArmor = thisItem->getMaterial() == //ArmorItem::ArmorMaterial::CLOTH; bool itemIsDye = item->id == //Item::dye_powder_Id; return thisIsDyableArmor && itemIsDye; //} // // std::shared_ptr // ArmorSlot::combine(std::shared_ptr item) //{ // std::shared_ptr craftSlots = //std::shared_ptr( new CraftingContainer(NULL, 2, 2) ); // craftSlots->setItem(0, item); // craftSlots->setItem(1, getItem()); // Armour item needs to go second // std::shared_ptr result = //ArmorDyeRecipe::assembleDyedArmor(craftSlots); craftSlots->setItem(0, //nullptr); craftSlots->setItem(1, nullptr); return result; //}