#include "stdafx.h" #include "net.minecraft.world.entity.animal.h" #include "net.minecraft.world.entity.player.h" #include "net.minecraft.world.entity.ai.goal.h" #include "net.minecraft.world.item.h" #include "CarrotOnAStickItem.h" CarrotOnAStickItem::CarrotOnAStickItem(int id) : Item(id) { setMaxStackSize(1); setMaxDamage(25); } bool CarrotOnAStickItem::isHandEquipped() { return true; } bool CarrotOnAStickItem::isMirroredArt() { return true; } shared_ptr CarrotOnAStickItem::use(shared_ptr itemInstance, Level *level, shared_ptr player) { if (player->isRiding()) { shared_ptr pig = dynamic_pointer_cast(player->riding); if(pig) { if (pig->getControlGoal()->canBoost() && itemInstance->getMaxDamage() - itemInstance->getAuxValue() >= 7) { pig->getControlGoal()->boost(); itemInstance->hurt(7, player); if (itemInstance->count == 0) { shared_ptr replacement = shared_ptr(new ItemInstance(Item::fishingRod)); replacement->setTag(itemInstance->tag); return replacement; } } } } return itemInstance; }