4jcraft/Minecraft.World/Items/ShearsItem.cpp
2026-03-21 16:39:12 -05:00

37 lines
1.2 KiB
C++

#include "../Platform/stdafx.h"
#include "ShearsItem.h"
#include "../Blocks/Tile.h"
#include "../Headers/net.minecraft.world.entity.h"
ShearsItem::ShearsItem(int itemId) : Item(itemId) {
setMaxStackSize(1);
setMaxDamage(238);
}
bool ShearsItem::mineBlock(std::shared_ptr<ItemInstance> itemInstance,
Level* level, int tile, int x, int y, int z,
std::shared_ptr<LivingEntity> owner) {
if (tile == Tile::leaves_Id || tile == Tile::web_Id ||
tile == Tile::tallgrass_Id || tile == Tile::vine_Id ||
tile == Tile::tripWire_Id) {
itemInstance->hurtAndBreak(1, owner);
return true;
}
return Item::mineBlock(itemInstance, level, tile, x, y, z, owner);
}
bool ShearsItem::canDestroySpecial(Tile* tile) {
return tile->id == Tile::web_Id || tile->id == Tile::redStoneDust_Id ||
tile->id == Tile::tripWire_Id;
}
float ShearsItem::getDestroySpeed(std::shared_ptr<ItemInstance> itemInstance,
Tile* tile) {
if (tile->id == Tile::web_Id || tile->id == Tile::leaves_Id) {
return 15;
}
if (tile->id == Tile::wool_Id) {
return 5;
}
return Item::getDestroySpeed(itemInstance, tile);
}