diff options
Diffstat (limited to 'src/game.cpp')
-rw-r--r-- | src/game.cpp | 13 |
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(¤t_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(¤t_formspec, client, &input->joystick, fs_src, txt_dst); + cur_formname = ""; + current_formspec->setFormSpec(fs_src->getForm(), inventoryloc); + } } |