summaryrefslogtreecommitdiff
path: root/src/game.cpp
diff options
context:
space:
mode:
authorVincent Glize <vincentglize@hotmail.fr>2017-10-02 22:09:49 +0200
committerLoïc Blot <nerzhul@users.noreply.github.com>2017-10-02 22:09:49 +0200
commit4e19791cde6b203ad853905d8c1481c43004a7ea (patch)
tree9db628a01d6678b453fe7ae2b49c60c38179a29c /src/game.cpp
parentb9fb3cea33f495f0c9c9d7d74ed67af6aab78b04 (diff)
downloadminetest-4e19791cde6b203ad853905d8c1481c43004a7ea.tar.gz
minetest-4e19791cde6b203ad853905d8c1481c43004a7ea.tar.bz2
minetest-4e19791cde6b203ad853905d8c1481c43004a7ea.zip
[CSM] Add callback on open inventory (#5793)
Diffstat (limited to 'src/game.cpp')
-rw-r--r--src/game.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/game.cpp b/src/game.cpp
index 35d0aa9f9..8da789a9e 100644
--- a/src/game.cpp
+++ b/src/game.cpp
@@ -2671,14 +2671,17 @@ void Game::openInventory()
infostream << "the_game: " << "Launching inventory" << std::endl;
PlayerInventoryFormSource *fs_src = new PlayerInventoryFormSource(client);
- TextDest *txt_dst = new TextDestPlayerInventory(client);
-
- create_formspec_menu(&current_formspec, client, &input->joystick, fs_src, txt_dst);
- cur_formname = "";
InventoryLocation inventoryloc;
inventoryloc.setCurrentPlayer();
- current_formspec->setFormSpec(fs_src->getForm(), inventoryloc);
+
+ if (!client->moddingEnabled()
+ || !client->getScript()->on_inventory_open(fs_src->m_client->getInventory(inventoryloc))) {
+ TextDest *txt_dst = new TextDestPlayerInventory(client);
+ create_formspec_menu(&current_formspec, client, &input->joystick, fs_src, txt_dst);
+ cur_formname = "";
+ current_formspec->setFormSpec(fs_src->getForm(), inventoryloc);
+ }
}