diff options
Diffstat (limited to 'src/client/game.cpp')
-rw-r--r-- | src/client/game.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/client/game.cpp b/src/client/game.cpp index 10c3a7ceb..4862d3ed9 100644 --- a/src/client/game.cpp +++ b/src/client/game.cpp @@ -2563,7 +2563,7 @@ void Game::handlePointingAtNode(const PointedThing &pointed, bool Game::nodePlacement(const ItemDefinition &selected_def, const ItemStack &selected_item, const v3s16 &nodepos, const v3s16 &neighbourpos, - const PointedThing &pointed, const NodeMetadata *meta) + const PointedThing &pointed, const NodeMetadata *meta, bool force) { std::string prediction = selected_def.node_placement_prediction; const NodeDefManager *nodedef = client->ndef(); @@ -2579,7 +2579,7 @@ bool Game::nodePlacement(const ItemDefinition &selected_def, // formspec in meta if (meta && !meta->getString("formspec").empty() && !input->isRandom() - && !isKeyDown(KeyType::SNEAK)) { + && !isKeyDown(KeyType::SNEAK) && !force) { // on_rightclick callbacks are called anyway if (nodedef_manager->get(map.getNode(nodepos)).rightclickable) client->interact(INTERACT_PLACE, pointed); @@ -2603,7 +2603,7 @@ bool Game::nodePlacement(const ItemDefinition &selected_def, // on_rightclick callback if (prediction.empty() || (nodedef->get(node).rightclickable && - !isKeyDown(KeyType::SNEAK))) { + !isKeyDown(KeyType::SNEAK) && !force)) { // Report to server client->interact(INTERACT_PLACE, pointed); return false; |