aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/NameTagItem.cpp
blob: fc9b80b4ae3a5c0c52c160218ac90edcb8c82acc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "stdafx.h"
#include "net.minecraft.world.entity.h"
#include "NameTagItem.h"

NameTagItem::NameTagItem(int id) : Item(id)
{
}

bool NameTagItem::interactEnemy(shared_ptr<ItemInstance> itemInstance, shared_ptr<Player> player, shared_ptr<LivingEntity> target)
{
	if (!itemInstance->hasCustomHoverName()) return false;

	if ( (target != nullptr) && target->instanceof(eTYPE_MOB) )
	{
		shared_ptr<Mob> mob = dynamic_pointer_cast<Mob>(target);
		mob->setCustomName(itemInstance->getHoverName());
		mob->setPersistenceRequired();
		itemInstance->count--;
		return true;
	}

	return Item::interactEnemy(itemInstance, player, target);
}