From cacb9a29fd264b73118eba171b0218193ec05263 Mon Sep 17 00:00:00 2001 From: Jean-Patrick Guerrero Date: Mon, 6 Dec 2021 15:16:19 +0100 Subject: [PATCH] Add legacy_inventory setting (disabled by default) --- init.lua | 6 ++++-- settingtypes.txt | 5 ++++- src/common.lua | 2 +- src/gui.lua | 4 +++- src/hud.lua | 10 ++++++---- 5 files changed, 18 insertions(+), 9 deletions(-) diff --git a/init.lua b/init.lua index 90f916b..fb15b6c 100644 --- a/init.lua +++ b/init.lua @@ -9,8 +9,6 @@ end i3 = { modules = {}, MAX_FAVS = 6, - INV_SIZE = 4*9, - HOTBAR_LEN = 9, ITEM_BTN_SIZE = 1.1, DROP_BAG_ON_DIE = true, MIN_FORMSPEC_VERSION = 4, @@ -75,9 +73,13 @@ i3 = { }, progressive_mode = core.settings:get_bool"i3_progressive_mode", + legacy_inventory = core.settings:get_bool"i3_legacy_inventory", item_compression = core.settings:get_bool("i3_item_compression", true), } +i3.HOTBAR_LEN = i3.legacy_inventory and 8 or 9 +i3.INV_SIZE = 4 * i3.HOTBAR_LEN + i3.files.common() i3.files.api(http) i3.files.compress() diff --git a/settingtypes.txt b/settingtypes.txt index 42bc83e..fa5e80d 100644 --- a/settingtypes.txt +++ b/settingtypes.txt @@ -2,4 +2,7 @@ i3_progressive_mode (Learn crafting recipes progressively) bool false # Regroup the items of the same type in the item list. -i3_item_compression (Regroup items of the same type) bool true +i3_item_compression (Regroup items of the same type) bool true + +# Set the inventory size to common chests size (8*4). +i3_legacy_inventory (Legacy inventory size) bool false \ No newline at end of file diff --git a/src/common.lua b/src/common.lua index 43e5262..d053fb3 100644 --- a/src/common.lua +++ b/src/common.lua @@ -539,7 +539,7 @@ local function sort_inventory(player, data) local inv = player:get_inventory() local list = inv:get_list"main" local size = inv:get_size"main" - local start_i = data.ignore_hotbar and 10 or 1 + local start_i = data.ignore_hotbar and (i3.HOTBAR_LEN + 1) or 1 if true_table(data.drop_items) then list = drop_items(player, inv, list, start_i, data.drop_items) diff --git a/src/gui.lua b/src/gui.lua index 7f7a819..891df50 100644 --- a/src/gui.lua +++ b/src/gui.lua @@ -122,7 +122,9 @@ local function get_stack_max(inv, data, is_recipe, rcp) end local function get_inv_slots(fs) - local inv_x, inv_y, size, spacing = 0.22, 6.9, 1, 0.1 + local inv_x = i3.legacy_inventory and 0.75 or 0.22 + local inv_y = 6.9 + local size, spacing = 1, 0.1 fs"style_type[box;colors=#77777710,#77777710,#777,#777]" diff --git a/src/hud.lua b/src/hud.lua index 90f191f..5469460 100644 --- a/src/hud.lua +++ b/src/hud.lua @@ -34,10 +34,12 @@ local function init_hud(player) }, } - core.after(0, function() - player:hud_set_hotbar_itemcount(i3.HOTBAR_LEN) - player:hud_set_hotbar_image"i3_hotbar.png" - end) + if not i3.legacy_inventory then + core.after(0, function() + player:hud_set_hotbar_itemcount(i3.HOTBAR_LEN) + player:hud_set_hotbar_image"i3_hotbar.png" + end) + end end local function show_hud(player, data)