Code: Select all
stack = player.get_inventory(defines.inventory.inventory_main)[index]
if player.clean_cursor() then
   player.cursor_stack.swap_stack(index)
end
- There is no hand in the inventory, thus the space for the newly selected item is not reserved.
- There is no guarantee the selected item will be returned to the same inventory slot after it is 'dropped'. (Mostly pertinent to manually-sorted inventories.)
- It's far too easy for a mod author to accidentally destroy inventory contents (i.e. by forgetting to check if clean_cursor() actually succeeded.)
Note: I had previously requested a LuaPlayer::set_selected_index. There used to be a LuaPlayer::get_selected_index, but that appears to be gone as of 0.17



 The editor specifically goes out of its way to avoid having the "normal" gameplay and items be polluted by the "editor" version and vice versa.
 The editor specifically goes out of its way to avoid having the "normal" gameplay and items be polluted by the "editor" version and vice versa.
