Merge remote-tracking branch 'origin/main' into exp/worldgen

This commit is contained in:
github-actions 2026-05-18 18:14:52 +00:00
commit 91e6341013
2 changed files with 18 additions and 1 deletions

View file

@ -156,7 +156,7 @@ bool Villager::mobInteract(shared_ptr<Player> player)
shared_ptr<ItemInstance> item = player->inventory->getSelected();
bool holdingSpawnEgg = item != nullptr && item->id == Item::spawnEgg_Id;
if (!holdingSpawnEgg && isAlive() && !isTrading() && !isBaby())
if (!player->isSneaking() && !holdingSpawnEgg && isAlive() && !isTrading() && !isBaby())
{
if (!level->isClientSide)
{
@ -776,3 +776,19 @@ wstring Villager::getDisplayName()
};
return app.GetString(name);
}
void Villager::thunderHit(const LightningBolt *lightningBolt)
{
if (level->isClientSide) return;
shared_ptr<Witch> witch = std::make_shared<Witch>(level);
witch->moveTo(x, y, z, yRot, xRot);
if (this->hasCustomName())
witch->setCustomName(this->getCustomName());
if (this->isPersistenceRequired())
witch->setPersistenceRequired();
level->addEntity(witch);
remove();
}

View file

@ -147,4 +147,5 @@ public:
virtual shared_ptr<AgableMob> getBreedOffspring(shared_ptr<AgableMob> target);
virtual bool canBeLeashed();
virtual wstring getDisplayName();
virtual void thunderHit(const LightningBolt *lightningBolt);
};