|
@@ -176,9 +176,16 @@ void Entity::useItem(int typeId, Item* zItem)
|
|
|
}
|
|
|
else if (zItem && zItem->isPlaceable())
|
|
|
{ // TODO: place item
|
|
|
- cs.lock();
|
|
|
- if (target) target->placeBlock(this, zItem);
|
|
|
- cs.unlock();
|
|
|
+ if (placeBlockCooldown <= 0)
|
|
|
+ {
|
|
|
+ cs.lock();
|
|
|
+ if (target)
|
|
|
+ {
|
|
|
+ target->placeBlock(this, zItem);
|
|
|
+ placeBlockCooldown = 15;
|
|
|
+ }
|
|
|
+ cs.unlock();
|
|
|
+ }
|
|
|
}
|
|
|
else if (!zItem || zItem->isUsable())
|
|
|
{ // use item skill
|
|
@@ -351,6 +358,11 @@ void Entity::prepareTick(const Dimension* zDimension) {}
|
|
|
|
|
|
void Entity::tick(const Dimension* zDimension)
|
|
|
{
|
|
|
+ if (placeBlockCooldown > 0)
|
|
|
+ {
|
|
|
+ placeBlockCooldown--;
|
|
|
+ }
|
|
|
+ placeBlockCooldown--;
|
|
|
if (time.isMeasuring())
|
|
|
{
|
|
|
time.messungEnde();
|