#include "Item.h" Item::Item(const ItemType* zType, const char* name) : ReferenceCounter(), zType(zType), zBlockType(0), damage(0), maxDamage(0), durability(0), maxDurability(0), eatable(0), placeable(0), equippable(0), solid(1), usable(0), maxStackSize(50), name(name) {} void Item::tick() {} const ItemType* Item::zItemType() const { return zType; } const BlockType* Item::zPlacedBlockType() const { return zBlockType; } float Item::getDamage() const { return damage; } float Item::getDurability() const { return durability; } bool Item::isUsable() const { return usable; } bool Item::isEatable() const { return eatable; } bool Item::isPlaceable() const { return placeable; } bool Item::isEquippable() const { return equippable; } bool Item::isSolid() const { return solid; } float Item::getMaxDurability() const { return maxDurability; } int Item::getMaxStackSize() const { return maxStackSize; } float Item::getMaxDamage() const { return maxDamage; } bool Item::canBeStackedWith(Item* zItem) const { return zType == zItem->zType && damage == 0 && zItem->damage == 0 && durability == maxDurability && zItem->durability == zItem->maxDurability && maxDamage == zItem->maxDamage && eatable == zItem->eatable && placeable == zItem->placeable && equippable == zItem->eatable && solid == zItem->solid && usable == zItem->usable && maxStackSize == zItem->maxStackSize && name.istGleich(zItem->name); } void Item::onPlaced() { damage = maxDamage; durability = 0; } void Item::applyInventoryEffects(Entity* zTarget) {} void Item::removeInventoryEffects(Entity* zTarget) {} void Item::applyEquippedEffects(Entity* zTarget) {} void Item::removeEquippedEffects(Entity* zTarget) {} void Item::applyFoodEffects(Entity* zTarget) {}