From 4e19791cde6b203ad853905d8c1481c43004a7ea Mon Sep 17 00:00:00 2001 From: Vincent Glize Date: Mon, 2 Oct 2017 22:09:49 +0200 Subject: [CSM] Add callback on open inventory (#5793) --- src/game.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'src/game.cpp') 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); + } } -- cgit v1.2.3